This thread will collect third-party binaries for LLVM 20.x.
Disclaimer: The binaries listed here are provided by third parties and are not officially endorsed, tested, or verified by the LLVM community. These binaries have not undergone any security checks or quality assurance processes by the LLVM project. Users are strongly advised to exercise caution and perform their own security assessments before using any third-party binaries. The LLVM community assumes no responsibility for any potential issues, including security vulnerabilities, that may arise from the use of these third-party binaries. Use them at your own risk.
After several attempts, configuring CC, CXX and TEST_SUITE_HOST_CC to the built clang-cl.exe allowed me to succeed a few more steps, but it still failed in the end.
E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build>ninja -j 1 -v
[0/2] E:\opt\cmake-3.30\bin\cmake.exe -P E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\CMakeFiles\VerifyGlobs.cmake
[1/7727] C:\Windows\system32\cmd.exe /C "cd /D E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\tools && E:\opt\cmake-3.30\bin\cmake.exe -E copy E:/var/vcs/llvm-test-suite/tools/../HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh && chmod +x E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh"
FAILED: tools/HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh
C:\Windows\system32\cmd.exe /C "cd /D E:\var\vcs\llvm-project-build_20.1.0-20250202\test-suite-build\tools && E:\opt\cmake-3.30\bin\cmake.exe -E copy E:/var/vcs/llvm-test-suite/tools/../HashProgramOutput.sh E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh && chmod +x E:/var/vcs/llvm-project-build_20.1.0-20250202/test-suite-build/tools/HashProgramOutput.sh"
'chmod' is not recognized as an internal or external command,
operable program or batch file.
ninja: build stopped: subcommand failed.
The separate llvm-test-suite generally does not work on Windows, in general. Some individual tests may work, but if trying to build it all, there are large numbers of failures, due to relying on unix specific headers (pthread.h, unistd.h), conflicts between definitions in the test sources vs system headers, etc.
Cleaning it up to make it build and work on Windows would be nice, I’ve looked into it a couple of times, but it’s a quite large amount of work.
clang version 20.1.0 (https://github.com/llvm/llvm-project a69568efe6c4972e71af295c6577b3412dd57c22)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
System configuration file directory: C:/Program Files/clang+llvm-20/cfg/
I unpacked it where the installer normally does as InstalledDir is showing. But system configuration is pointing to a non existent directory. Would that cause issues? I also don’t recall that being the output normally. Edit: it appears you also include libcxx with your binary. Was this considered for the installer as well?
Clang can still function normally even if the system configuration file directory do not exist. This directory is used to provide default compile parameters for the clang. The runtimes and projects enabled by the installer program are not as many as those in my version, I enabled them as many as possible.
How did check-all got this time? Could you send what failed as well? I’m trying to set up my build properly and would like to see what I can expect to fail.