authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-17 05:13:13+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-22 15:31:56+02:00
log3e7678a761a37adcdd56aecdce87c1247d34f399
tree45e7e12a2f153c30a5c79918627e9bd833e8812a
parent692bd03489bdceac29e2be30bd2a63eb3ad079aa
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

cmake: update to LLVM 22

closes https://codeberg.org/ziglang/zig/issues/30558

5 files changed, 60 insertions(+), 44 deletions(-)

CMakeLists.txt+3-3
......@@ -133,9 +133,9 @@ else()
133133 set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
134134endif()
135135
136find_package(llvm 21)
137find_package(clang 21)
138find_package(lld 21)
136find_package(llvm 22)
137find_package(clang 22)
138find_package(lld 22)
139139
140140if(ZIG_STATIC_ZLIB)
141141 if (MSVC)
build.zig+14-6
......@@ -1207,13 +1207,16 @@ const zig_cpp_sources = [_][]const u8{
12071207const clang_libs = [_][]const u8{
12081208 "clangFrontendTool",
12091209 "clangCodeGen",
1210 "clangStaticAnalyzerFrontend",
1211 "clangStaticAnalyzerCheckers",
1212 "clangStaticAnalyzerCore",
1213 "clangCrossTU",
12101214 "clangFrontend",
12111215 "clangDriver",
1216 "clangOptions",
12121217 "clangSerialization",
12131218 "clangSema",
1214 "clangStaticAnalyzerFrontend",
1215 "clangStaticAnalyzerCheckers",
1216 "clangStaticAnalyzerCore",
1219 "clangAnalysisLifetimeSafety",
12171220 "clangAnalysis",
12181221 "clangASTMatchers",
12191222 "clangAST",
......@@ -1225,8 +1228,9 @@ const clang_libs = [_][]const u8{
12251228 "clangLex",
12261229 "clangRewriteFrontend",
12271230 "clangRewrite",
1228 "clangCrossTU",
12291231 "clangIndex",
1232 "clangFormat",
1233 "clangToolingInclusions",
12301234 "clangToolingCore",
12311235 "clangExtractAPI",
12321236 "clangSupport",
......@@ -1374,11 +1378,12 @@ const llvm_libs = [_][]const u8{
13741378 "LLVMObjCopy",
13751379 "LLVMMCA",
13761380 "LLVMMCDisassembler",
1381 "LLVMDTLTO",
13771382 "LLVMLTO",
13781383 "LLVMFrontendOpenACC",
1379 "LLVMFrontendHLSL",
13801384 "LLVMFrontendDriver",
13811385 "LLVMExtensions",
1386 "LLVMPlugins",
13821387 "LLVMPasses",
13831388 "LLVMHipStdPar",
13841389 "LLVMCoroutines",
......@@ -1405,6 +1410,7 @@ const llvm_libs = [_][]const u8{
14051410 "LLVMObjCARCOpts",
14061411 "LLVMCodeGenTypes",
14071412 "LLVMCGData",
1413 "LLVMCAS",
14081414 "LLVMIRPrinter",
14091415 "LLVMInterfaceStub",
14101416 "LLVMFileCheck",
......@@ -1423,15 +1429,17 @@ const llvm_libs = [_][]const u8{
14231429 "LLVMDebugInfoCodeView",
14241430 "LLVMDebugInfoGSYM",
14251431 "LLVMDebugInfoDWARF",
1426 "LLVMDebugInfoDWARFLowLevel",
14271432 "LLVMObject",
14281433 "LLVMTextAPI",
14291434 "LLVMMCParser",
14301435 "LLVMIRReader",
14311436 "LLVMAsmParser",
14321437 "LLVMMC",
1438 "LLVMDebugInfoDWARFLowLevel",
14331439 "LLVMBitReader",
1440 "LLVMFrontendHLSL",
14341441 "LLVMFuzzerCLI",
1442 "LLVMABI",
14351443 "LLVMCore",
14361444 "LLVMRemarks",
14371445 "LLVMBitstreamReader",
cmake/Findclang.cmake+12-8
......@@ -17,10 +17,10 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
1717if(${LLVM_LINK_MODE} STREQUAL "shared")
1818 find_library(CLANG_LIBRARIES
1919 NAMES
20 libclang-cpp.so.21
21 libclang-cpp.so.21.1
22 clang-cpp-21.0
23 clang-cpp210
20 libclang-cpp.so.22
21 libclang-cpp.so.22.1
22 clang-cpp-22.0
23 clang-cpp220
2424 clang-cpp
2525 NAMES_PER_DIR
2626 HINTS "${LLVM_LIBDIRS}"
......@@ -44,13 +44,16 @@ else()
4444
4545 FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
4646 FIND_AND_ADD_CLANG_LIB(clangCodeGen)
47 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
48 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
49 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
50 FIND_AND_ADD_CLANG_LIB(clangCrossTU)
4751 FIND_AND_ADD_CLANG_LIB(clangFrontend)
4852 FIND_AND_ADD_CLANG_LIB(clangDriver)
53 FIND_AND_ADD_CLANG_LIB(clangOptions)
4954 FIND_AND_ADD_CLANG_LIB(clangSerialization)
5055 FIND_AND_ADD_CLANG_LIB(clangSema)
51 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
52 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
53 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
56 FIND_AND_ADD_CLANG_LIB(clangAnalysisLifetimeSafety)
5457 FIND_AND_ADD_CLANG_LIB(clangAnalysis)
5558 FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
5659 FIND_AND_ADD_CLANG_LIB(clangAST)
......@@ -62,8 +65,9 @@ else()
6265 FIND_AND_ADD_CLANG_LIB(clangLex)
6366 FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
6467 FIND_AND_ADD_CLANG_LIB(clangRewrite)
65 FIND_AND_ADD_CLANG_LIB(clangCrossTU)
6668 FIND_AND_ADD_CLANG_LIB(clangIndex)
69 FIND_AND_ADD_CLANG_LIB(clangFormat)
70 FIND_AND_ADD_CLANG_LIB(clangToolingInclusions)
6771 FIND_AND_ADD_CLANG_LIB(clangToolingCore)
6872 FIND_AND_ADD_CLANG_LIB(clangExtractAPI)
6973 FIND_AND_ADD_CLANG_LIB(clangSupport)
cmake/Findlld.cmake+19-19
......@@ -9,23 +9,23 @@
99find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
1010 HINTS ${LLVM_INCLUDE_DIRS}
1111 PATHS
12 /usr/lib/llvm-21/include
13 /usr/local/llvm210/include
14 /usr/local/llvm21/include
15 /usr/local/opt/lld@21/include
16 /opt/homebrew/opt/lld@21/include
17 /home/linuxbrew/.linuxbrew/opt/lld@21/include
12 /usr/lib/llvm-22/include
13 /usr/local/llvm220/include
14 /usr/local/llvm22/include
15 /usr/local/opt/lld@22/include
16 /opt/homebrew/opt/lld@22/include
17 /home/linuxbrew/.linuxbrew/opt/lld@22/include
1818 /mingw64/include)
1919
20find_library(LLD_LIBRARY NAMES lld-21.0 lld210 lld NAMES_PER_DIR
20find_library(LLD_LIBRARY NAMES lld-22.0 lld220 lld NAMES_PER_DIR
2121 HINTS ${LLVM_LIBDIRS}
2222 PATHS
23 /usr/lib/llvm-21/lib
24 /usr/local/llvm210/lib
25 /usr/local/llvm21/lib
26 /usr/local/opt/lld@21/lib
27 /opt/homebrew/opt/lld@21/lib
28 /home/linuxbrew/.linuxbrew/opt/lld@21/lib
23 /usr/lib/llvm-22/lib
24 /usr/local/llvm220/lib
25 /usr/local/llvm22/lib
26 /usr/local/opt/lld@22/lib
27 /opt/homebrew/opt/lld@22/lib
28 /home/linuxbrew/.linuxbrew/opt/lld@22/lib
2929)
3030if(EXISTS ${LLD_LIBRARY})
3131 set(LLD_LIBRARIES ${LLD_LIBRARY})
......@@ -36,12 +36,12 @@ else()
3636 HINTS ${LLVM_LIBDIRS}
3737 PATHS
3838 ${LLD_LIBDIRS}
39 /usr/lib/llvm-21/lib
40 /usr/local/llvm210/lib
41 /usr/local/llvm21/lib
42 /usr/local/opt/lld@21/lib
43 /opt/homebrew/opt/lld@21/lib
44 /home/linuxbrew/.linuxbrew/opt/lld@21/lib
39 /usr/lib/llvm-22/lib
40 /usr/local/llvm220/lib
41 /usr/local/llvm22/lib
42 /usr/local/opt/lld@22/lib
43 /opt/homebrew/opt/lld@22/lib
44 /home/linuxbrew/.linuxbrew/opt/lld@22/lib
4545 /mingw64/lib
4646 /c/msys64/mingw64/lib
4747 c:/msys64/mingw64/lib)
cmake/Findllvm.cmake+12-8
......@@ -17,12 +17,12 @@ if(ZIG_USE_LLVM_CONFIG)
1717 # terminate when the right LLVM version is not found.
1818 unset(LLVM_CONFIG_EXE CACHE)
1919 find_program(LLVM_CONFIG_EXE
20 NAMES llvm-config-21 llvm-config-21.0 llvm-config210 llvm-config21 llvm-config NAMES_PER_DIR
20 NAMES llvm-config-22 llvm-config-22.0 llvm-config220 llvm-config22 llvm-config NAMES_PER_DIR
2121 PATHS
2222 "/mingw64/bin"
2323 "/c/msys64/mingw64/bin"
2424 "c:/msys64/mingw64/bin"
25 "C:/Libraries/llvm-21.0.0/bin")
25 "C:/Libraries/llvm-22.0.0/bin")
2626
2727 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
2828 if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
......@@ -40,9 +40,9 @@ if(ZIG_USE_LLVM_CONFIG)
4040 OUTPUT_STRIP_TRAILING_WHITESPACE)
4141
4242 get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)
43 if("${LLVM_CONFIG_VERSION}" VERSION_LESS 21 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 22 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 22)
43 if("${LLVM_CONFIG_VERSION}" VERSION_LESS 22 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 23 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 23)
4444 # Save the error message, in case this is the last llvm-config we find
45 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 21.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
45 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 22.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
4646
4747 # Ignore this directory and try the search again
4848 list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
......@@ -66,9 +66,9 @@ if(ZIG_USE_LLVM_CONFIG)
6666 if (LLVM_CONFIG_ERROR)
6767 # Save the error message, in case this is the last llvm-config we find
6868 if (ZIG_SHARED_LLVM)
69 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
69 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 22.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
7070 else()
71 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
71 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 22.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
7272 endif()
7373
7474 # Ignore this directory and try the search again
......@@ -321,11 +321,12 @@ else()
321321 FIND_AND_ADD_LLVM_LIB(LLVMObjCopy)
322322 FIND_AND_ADD_LLVM_LIB(LLVMMCA)
323323 FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
324 FIND_AND_ADD_LLVM_LIB(LLVMDTLTO)
324325 FIND_AND_ADD_LLVM_LIB(LLVMLTO)
325326 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
326 FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
327327 FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
328328 FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
329 FIND_AND_ADD_LLVM_LIB(LLVMPlugins)
329330 FIND_AND_ADD_LLVM_LIB(LLVMPasses)
330331 FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
331332 FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
......@@ -352,6 +353,7 @@ else()
352353 FIND_AND_ADD_LLVM_LIB(LLVMObjCARCOpts)
353354 FIND_AND_ADD_LLVM_LIB(LLVMCodeGenTypes)
354355 FIND_AND_ADD_LLVM_LIB(LLVMCGData)
356 FIND_AND_ADD_LLVM_LIB(LLVMCAS)
355357 FIND_AND_ADD_LLVM_LIB(LLVMIRPrinter)
356358 FIND_AND_ADD_LLVM_LIB(LLVMInterfaceStub)
357359 FIND_AND_ADD_LLVM_LIB(LLVMFileCheck)
......@@ -370,15 +372,17 @@ else()
370372 FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
371373 FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoGSYM)
372374 FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
373 FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel)
374375 FIND_AND_ADD_LLVM_LIB(LLVMObject)
375376 FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
376377 FIND_AND_ADD_LLVM_LIB(LLVMMCParser)
377378 FIND_AND_ADD_LLVM_LIB(LLVMIRReader)
378379 FIND_AND_ADD_LLVM_LIB(LLVMAsmParser)
379380 FIND_AND_ADD_LLVM_LIB(LLVMMC)
381 FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel)
380382 FIND_AND_ADD_LLVM_LIB(LLVMBitReader)
383 FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
381384 FIND_AND_ADD_LLVM_LIB(LLVMFuzzerCLI)
385 FIND_AND_ADD_LLVM_LIB(LLVMABI)
382386 FIND_AND_ADD_LLVM_LIB(LLVMCore)
383387 FIND_AND_ADD_LLVM_LIB(LLVMRemarks)
384388 FIND_AND_ADD_LLVM_LIB(LLVMBitstreamReader)