[libclc] [llvm] [libclc][CMake] Use clang/llvm-ar on Windows (PR #186726)

Romaric Jodin via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 20 07:15:32 PDT 2026


rjodinchr wrote:

I'm not able to compile libclc as a runtime within LLVM on windows anymore (since https://github.com/llvm/llvm-project/pull/185247 I think)

When using MSVC, it tries to use the MSVC compiler which will not work obviously:
```
  -- Performing bootstrapping runtimes build.
  -- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.14393.
  -- The C compiler identification is MSVC 19.42.34435.0
  -- The CXX compiler identification is MSVC 19.42.34435.0
  -- The ASM compiler identification is MSVC
  -- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG
  -- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG - Failed
  -- Performing Test LLVM_USES_LIBSTDCXX
  -- Performing Test LLVM_USES_LIBSTDCXX - Failed
  -- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI
  -- Performing Test LLVM_DEFAULT_TO_GLIBCXX_USE_CXX11_ABI - Failed
  -- Precompiled headers enabled.
  -- Looking for os_signpost_interval_begin
  -- Looking for os_signpost_interval_begin - not found
  -- Looking for flock
  -- Looking for flock - not found
  -- Found Python3: C:/Python312/python.exe (found version "3.12.8") found components: Interpreter
  -- LLVM host triple: x86_64-pc-windows-msvc
  -- LLVM default target triple: x86_64-pc-windows-msvc
  -- Doxygen disabled.
  CMake Error at T:/[src/github/clspv/third_party/llvm/libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake:3](https://cs.corp.google.com/piper///depot/google3/src/github/clspv/third_party/llvm/libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake?l=3) (message):
    The CLC language requires the C compiler (CMAKE_C_COMPILER) to be Clang,
    but CMAKE_C_COMPILER_ID is 'MSVC'.
  Call Stack (most recent call first):
    T:/[src/github/clspv/third_party/llvm/libclc/CMakeLists.txt:13](https://cs.corp.google.com/piper///depot/google3/src/github/clspv/third_party/llvm/libclc/CMakeLists.txt?l=13) (enable_language)
 ```
 
 I've also tried to force using Ninja as the generator. I managed to get it working, but I need to apply a patch on `llvm/runtimes/CMakeLists.txt`: https://github.com/google/clspv/pull/1571/changes/12c4459a546f568ffa3716a8bc95bef641cf9e1b
 I'm not sure whether this is really a fix or just a workaround.

https://github.com/llvm/llvm-project/pull/186726


More information about the cfe-commits mailing list