| author | |
| committer | |
| log | 3e7678a761a37adcdd56aecdce87c1247d34f399 |
| tree | 45e7e12a2f153c30a5c79918627e9bd833e8812a |
| parent | 692bd03489bdceac29e2be30bd2a63eb3ad079aa |
| signature |
closes https://codeberg.org/ziglang/zig/issues/305585 files changed, 60 insertions(+), 44 deletions(-)
CMakeLists.txt+3-3| ... | ... | @@ -133,9 +133,9 @@ else() |
| 133 | 133 | set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig") |
| 134 | 134 | endif() |
| 135 | 135 | |
| 136 | find_package(llvm 21) | |
| 137 | find_package(clang 21) | |
| 138 | find_package(lld 21) | |
| 136 | find_package(llvm 22) | |
| 137 | find_package(clang 22) | |
| 138 | find_package(lld 22) | |
| 139 | 139 | |
| 140 | 140 | if(ZIG_STATIC_ZLIB) |
| 141 | 141 | if (MSVC) |
build.zig+14-6| ... | ... | @@ -1207,13 +1207,16 @@ const zig_cpp_sources = [_][]const u8{ |
| 1207 | 1207 | const clang_libs = [_][]const u8{ |
| 1208 | 1208 | "clangFrontendTool", |
| 1209 | 1209 | "clangCodeGen", |
| 1210 | "clangStaticAnalyzerFrontend", | |
| 1211 | "clangStaticAnalyzerCheckers", | |
| 1212 | "clangStaticAnalyzerCore", | |
| 1213 | "clangCrossTU", | |
| 1210 | 1214 | "clangFrontend", |
| 1211 | 1215 | "clangDriver", |
| 1216 | "clangOptions", | |
| 1212 | 1217 | "clangSerialization", |
| 1213 | 1218 | "clangSema", |
| 1214 | "clangStaticAnalyzerFrontend", | |
| 1215 | "clangStaticAnalyzerCheckers", | |
| 1216 | "clangStaticAnalyzerCore", | |
| 1219 | "clangAnalysisLifetimeSafety", | |
| 1217 | 1220 | "clangAnalysis", |
| 1218 | 1221 | "clangASTMatchers", |
| 1219 | 1222 | "clangAST", |
| ... | ... | @@ -1225,8 +1228,9 @@ const clang_libs = [_][]const u8{ |
| 1225 | 1228 | "clangLex", |
| 1226 | 1229 | "clangRewriteFrontend", |
| 1227 | 1230 | "clangRewrite", |
| 1228 | "clangCrossTU", | |
| 1229 | 1231 | "clangIndex", |
| 1232 | "clangFormat", | |
| 1233 | "clangToolingInclusions", | |
| 1230 | 1234 | "clangToolingCore", |
| 1231 | 1235 | "clangExtractAPI", |
| 1232 | 1236 | "clangSupport", |
| ... | ... | @@ -1374,11 +1378,12 @@ const llvm_libs = [_][]const u8{ |
| 1374 | 1378 | "LLVMObjCopy", |
| 1375 | 1379 | "LLVMMCA", |
| 1376 | 1380 | "LLVMMCDisassembler", |
| 1381 | "LLVMDTLTO", | |
| 1377 | 1382 | "LLVMLTO", |
| 1378 | 1383 | "LLVMFrontendOpenACC", |
| 1379 | "LLVMFrontendHLSL", | |
| 1380 | 1384 | "LLVMFrontendDriver", |
| 1381 | 1385 | "LLVMExtensions", |
| 1386 | "LLVMPlugins", | |
| 1382 | 1387 | "LLVMPasses", |
| 1383 | 1388 | "LLVMHipStdPar", |
| 1384 | 1389 | "LLVMCoroutines", |
| ... | ... | @@ -1405,6 +1410,7 @@ const llvm_libs = [_][]const u8{ |
| 1405 | 1410 | "LLVMObjCARCOpts", |
| 1406 | 1411 | "LLVMCodeGenTypes", |
| 1407 | 1412 | "LLVMCGData", |
| 1413 | "LLVMCAS", | |
| 1408 | 1414 | "LLVMIRPrinter", |
| 1409 | 1415 | "LLVMInterfaceStub", |
| 1410 | 1416 | "LLVMFileCheck", |
| ... | ... | @@ -1423,15 +1429,17 @@ const llvm_libs = [_][]const u8{ |
| 1423 | 1429 | "LLVMDebugInfoCodeView", |
| 1424 | 1430 | "LLVMDebugInfoGSYM", |
| 1425 | 1431 | "LLVMDebugInfoDWARF", |
| 1426 | "LLVMDebugInfoDWARFLowLevel", | |
| 1427 | 1432 | "LLVMObject", |
| 1428 | 1433 | "LLVMTextAPI", |
| 1429 | 1434 | "LLVMMCParser", |
| 1430 | 1435 | "LLVMIRReader", |
| 1431 | 1436 | "LLVMAsmParser", |
| 1432 | 1437 | "LLVMMC", |
| 1438 | "LLVMDebugInfoDWARFLowLevel", | |
| 1433 | 1439 | "LLVMBitReader", |
| 1440 | "LLVMFrontendHLSL", | |
| 1434 | 1441 | "LLVMFuzzerCLI", |
| 1442 | "LLVMABI", | |
| 1435 | 1443 | "LLVMCore", |
| 1436 | 1444 | "LLVMRemarks", |
| 1437 | 1445 | "LLVMBitstreamReader", |
cmake/Findclang.cmake+12-8| ... | ... | @@ -17,10 +17,10 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h |
| 17 | 17 | if(${LLVM_LINK_MODE} STREQUAL "shared") |
| 18 | 18 | find_library(CLANG_LIBRARIES |
| 19 | 19 | 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 | |
| 24 | 24 | clang-cpp |
| 25 | 25 | NAMES_PER_DIR |
| 26 | 26 | HINTS "${LLVM_LIBDIRS}" |
| ... | ... | @@ -44,13 +44,16 @@ else() |
| 44 | 44 | |
| 45 | 45 | FIND_AND_ADD_CLANG_LIB(clangFrontendTool) |
| 46 | 46 | 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) | |
| 47 | 51 | FIND_AND_ADD_CLANG_LIB(clangFrontend) |
| 48 | 52 | FIND_AND_ADD_CLANG_LIB(clangDriver) |
| 53 | FIND_AND_ADD_CLANG_LIB(clangOptions) | |
| 49 | 54 | FIND_AND_ADD_CLANG_LIB(clangSerialization) |
| 50 | 55 | 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) | |
| 54 | 57 | FIND_AND_ADD_CLANG_LIB(clangAnalysis) |
| 55 | 58 | FIND_AND_ADD_CLANG_LIB(clangASTMatchers) |
| 56 | 59 | FIND_AND_ADD_CLANG_LIB(clangAST) |
| ... | ... | @@ -62,8 +65,9 @@ else() |
| 62 | 65 | FIND_AND_ADD_CLANG_LIB(clangLex) |
| 63 | 66 | FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend) |
| 64 | 67 | FIND_AND_ADD_CLANG_LIB(clangRewrite) |
| 65 | FIND_AND_ADD_CLANG_LIB(clangCrossTU) | |
| 66 | 68 | FIND_AND_ADD_CLANG_LIB(clangIndex) |
| 69 | FIND_AND_ADD_CLANG_LIB(clangFormat) | |
| 70 | FIND_AND_ADD_CLANG_LIB(clangToolingInclusions) | |
| 67 | 71 | FIND_AND_ADD_CLANG_LIB(clangToolingCore) |
| 68 | 72 | FIND_AND_ADD_CLANG_LIB(clangExtractAPI) |
| 69 | 73 | FIND_AND_ADD_CLANG_LIB(clangSupport) |
cmake/Findlld.cmake+19-19| ... | ... | @@ -9,23 +9,23 @@ |
| 9 | 9 | find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h |
| 10 | 10 | HINTS ${LLVM_INCLUDE_DIRS} |
| 11 | 11 | 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 | |
| 18 | 18 | /mingw64/include) |
| 19 | 19 | |
| 20 | find_library(LLD_LIBRARY NAMES lld-21.0 lld210 lld NAMES_PER_DIR | |
| 20 | find_library(LLD_LIBRARY NAMES lld-22.0 lld220 lld NAMES_PER_DIR | |
| 21 | 21 | HINTS ${LLVM_LIBDIRS} |
| 22 | 22 | 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 | |
| 29 | 29 | ) |
| 30 | 30 | if(EXISTS ${LLD_LIBRARY}) |
| 31 | 31 | set(LLD_LIBRARIES ${LLD_LIBRARY}) |
| ... | ... | @@ -36,12 +36,12 @@ else() |
| 36 | 36 | HINTS ${LLVM_LIBDIRS} |
| 37 | 37 | PATHS |
| 38 | 38 | ${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 | |
| 45 | 45 | /mingw64/lib |
| 46 | 46 | /c/msys64/mingw64/lib |
| 47 | 47 | c:/msys64/mingw64/lib) |
cmake/Findllvm.cmake+12-8| ... | ... | @@ -17,12 +17,12 @@ if(ZIG_USE_LLVM_CONFIG) |
| 17 | 17 | # terminate when the right LLVM version is not found. |
| 18 | 18 | unset(LLVM_CONFIG_EXE CACHE) |
| 19 | 19 | 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 | |
| 21 | 21 | PATHS |
| 22 | 22 | "/mingw64/bin" |
| 23 | 23 | "/c/msys64/mingw64/bin" |
| 24 | 24 | "c:/msys64/mingw64/bin" |
| 25 | "C:/Libraries/llvm-21.0.0/bin") | |
| 25 | "C:/Libraries/llvm-22.0.0/bin") | |
| 26 | 26 | |
| 27 | 27 | if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND") |
| 28 | 28 | if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "") |
| ... | ... | @@ -40,9 +40,9 @@ if(ZIG_USE_LLVM_CONFIG) |
| 40 | 40 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 41 | 41 | |
| 42 | 42 | 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) | |
| 44 | 44 | # 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}") | |
| 46 | 46 | |
| 47 | 47 | # Ignore this directory and try the search again |
| 48 | 48 | list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}") |
| ... | ... | @@ -66,9 +66,9 @@ if(ZIG_USE_LLVM_CONFIG) |
| 66 | 66 | if (LLVM_CONFIG_ERROR) |
| 67 | 67 | # Save the error message, in case this is the last llvm-config we find |
| 68 | 68 | 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") | |
| 70 | 70 | 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") | |
| 72 | 72 | endif() |
| 73 | 73 | |
| 74 | 74 | # Ignore this directory and try the search again |
| ... | ... | @@ -321,11 +321,12 @@ else() |
| 321 | 321 | FIND_AND_ADD_LLVM_LIB(LLVMObjCopy) |
| 322 | 322 | FIND_AND_ADD_LLVM_LIB(LLVMMCA) |
| 323 | 323 | FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler) |
| 324 | FIND_AND_ADD_LLVM_LIB(LLVMDTLTO) | |
| 324 | 325 | FIND_AND_ADD_LLVM_LIB(LLVMLTO) |
| 325 | 326 | FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC) |
| 326 | FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL) | |
| 327 | 327 | FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver) |
| 328 | 328 | FIND_AND_ADD_LLVM_LIB(LLVMExtensions) |
| 329 | FIND_AND_ADD_LLVM_LIB(LLVMPlugins) | |
| 329 | 330 | FIND_AND_ADD_LLVM_LIB(LLVMPasses) |
| 330 | 331 | FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar) |
| 331 | 332 | FIND_AND_ADD_LLVM_LIB(LLVMCoroutines) |
| ... | ... | @@ -352,6 +353,7 @@ else() |
| 352 | 353 | FIND_AND_ADD_LLVM_LIB(LLVMObjCARCOpts) |
| 353 | 354 | FIND_AND_ADD_LLVM_LIB(LLVMCodeGenTypes) |
| 354 | 355 | FIND_AND_ADD_LLVM_LIB(LLVMCGData) |
| 356 | FIND_AND_ADD_LLVM_LIB(LLVMCAS) | |
| 355 | 357 | FIND_AND_ADD_LLVM_LIB(LLVMIRPrinter) |
| 356 | 358 | FIND_AND_ADD_LLVM_LIB(LLVMInterfaceStub) |
| 357 | 359 | FIND_AND_ADD_LLVM_LIB(LLVMFileCheck) |
| ... | ... | @@ -370,15 +372,17 @@ else() |
| 370 | 372 | FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView) |
| 371 | 373 | FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoGSYM) |
| 372 | 374 | FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF) |
| 373 | FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel) | |
| 374 | 375 | FIND_AND_ADD_LLVM_LIB(LLVMObject) |
| 375 | 376 | FIND_AND_ADD_LLVM_LIB(LLVMTextAPI) |
| 376 | 377 | FIND_AND_ADD_LLVM_LIB(LLVMMCParser) |
| 377 | 378 | FIND_AND_ADD_LLVM_LIB(LLVMIRReader) |
| 378 | 379 | FIND_AND_ADD_LLVM_LIB(LLVMAsmParser) |
| 379 | 380 | FIND_AND_ADD_LLVM_LIB(LLVMMC) |
| 381 | FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel) | |
| 380 | 382 | FIND_AND_ADD_LLVM_LIB(LLVMBitReader) |
| 383 | FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL) | |
| 381 | 384 | FIND_AND_ADD_LLVM_LIB(LLVMFuzzerCLI) |
| 385 | FIND_AND_ADD_LLVM_LIB(LLVMABI) | |
| 382 | 386 | FIND_AND_ADD_LLVM_LIB(LLVMCore) |
| 383 | 387 | FIND_AND_ADD_LLVM_LIB(LLVMRemarks) |
| 384 | 388 | FIND_AND_ADD_LLVM_LIB(LLVMBitstreamReader) |