mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-03-08 01:24:49 +01:00
cmake: update to LLVM 22
closes https://codeberg.org/ziglang/zig/issues/30558
This commit is contained in:
parent
0e3c6514a4
commit
87041c8979
5 changed files with 62 additions and 46 deletions
|
|
@ -133,9 +133,9 @@ else()
|
|||
set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
|
||||
endif()
|
||||
|
||||
find_package(llvm 21)
|
||||
find_package(clang 21)
|
||||
find_package(lld 21)
|
||||
find_package(llvm 22)
|
||||
find_package(clang 22)
|
||||
find_package(lld 22)
|
||||
|
||||
if(ZIG_STATIC_ZLIB)
|
||||
if (MSVC)
|
||||
|
|
|
|||
22
build.zig
22
build.zig
|
|
@ -1191,13 +1191,16 @@ const zig_cpp_sources = [_][]const u8{
|
|||
const clang_libs = [_][]const u8{
|
||||
"clangFrontendTool",
|
||||
"clangCodeGen",
|
||||
"clangFrontend",
|
||||
"clangDriver",
|
||||
"clangSerialization",
|
||||
"clangSema",
|
||||
"clangStaticAnalyzerFrontend",
|
||||
"clangStaticAnalyzerCheckers",
|
||||
"clangStaticAnalyzerCore",
|
||||
"clangCrossTU",
|
||||
"clangFrontend",
|
||||
"clangDriver",
|
||||
"clangOptions",
|
||||
"clangSerialization",
|
||||
"clangSema",
|
||||
"clangAnalysisLifetimeSafety",
|
||||
"clangAnalysis",
|
||||
"clangASTMatchers",
|
||||
"clangAST",
|
||||
|
|
@ -1209,8 +1212,9 @@ const clang_libs = [_][]const u8{
|
|||
"clangLex",
|
||||
"clangRewriteFrontend",
|
||||
"clangRewrite",
|
||||
"clangCrossTU",
|
||||
"clangIndex",
|
||||
"clangFormat",
|
||||
"clangToolingInclusions",
|
||||
"clangToolingCore",
|
||||
"clangExtractAPI",
|
||||
"clangSupport",
|
||||
|
|
@ -1358,11 +1362,12 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMObjCopy",
|
||||
"LLVMMCA",
|
||||
"LLVMMCDisassembler",
|
||||
"LLVMDTLTO",
|
||||
"LLVMLTO",
|
||||
"LLVMFrontendOpenACC",
|
||||
"LLVMFrontendHLSL",
|
||||
"LLVMFrontendDriver",
|
||||
"LLVMExtensions",
|
||||
"LLVMPlugins",
|
||||
"LLVMPasses",
|
||||
"LLVMHipStdPar",
|
||||
"LLVMCoroutines",
|
||||
|
|
@ -1389,6 +1394,7 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMObjCARCOpts",
|
||||
"LLVMCodeGenTypes",
|
||||
"LLVMCGData",
|
||||
"LLVMCAS",
|
||||
"LLVMIRPrinter",
|
||||
"LLVMInterfaceStub",
|
||||
"LLVMFileCheck",
|
||||
|
|
@ -1407,15 +1413,17 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMDebugInfoCodeView",
|
||||
"LLVMDebugInfoGSYM",
|
||||
"LLVMDebugInfoDWARF",
|
||||
"LLVMDebugInfoDWARFLowLevel",
|
||||
"LLVMObject",
|
||||
"LLVMTextAPI",
|
||||
"LLVMMCParser",
|
||||
"LLVMIRReader",
|
||||
"LLVMAsmParser",
|
||||
"LLVMMC",
|
||||
"LLVMDebugInfoDWARFLowLevel",
|
||||
"LLVMBitReader",
|
||||
"LLVMFrontendHLSL",
|
||||
"LLVMFuzzerCLI",
|
||||
"LLVMABI",
|
||||
"LLVMCore",
|
||||
"LLVMRemarks",
|
||||
"LLVMBitstreamReader",
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
|
|||
if(${LLVM_LINK_MODE} STREQUAL "shared")
|
||||
find_library(CLANG_LIBRARIES
|
||||
NAMES
|
||||
libclang-cpp.so.21
|
||||
libclang-cpp.so.21.1
|
||||
clang-cpp-21.0
|
||||
clang-cpp210
|
||||
libclang-cpp.so.22
|
||||
libclang-cpp.so.22.1
|
||||
clang-cpp-22.0
|
||||
clang-cpp220
|
||||
clang-cpp
|
||||
NAMES_PER_DIR
|
||||
HINTS "${LLVM_LIBDIRS}"
|
||||
|
|
@ -44,13 +44,16 @@ else()
|
|||
|
||||
FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
|
||||
FIND_AND_ADD_CLANG_LIB(clangCodeGen)
|
||||
FIND_AND_ADD_CLANG_LIB(clangFrontend)
|
||||
FIND_AND_ADD_CLANG_LIB(clangDriver)
|
||||
FIND_AND_ADD_CLANG_LIB(clangSerialization)
|
||||
FIND_AND_ADD_CLANG_LIB(clangSema)
|
||||
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
|
||||
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
|
||||
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
|
||||
FIND_AND_ADD_CLANG_LIB(clangCrossTU)
|
||||
FIND_AND_ADD_CLANG_LIB(clangFrontend)
|
||||
FIND_AND_ADD_CLANG_LIB(clangDriver)
|
||||
FIND_AND_ADD_CLANG_LIB(clangOptions)
|
||||
FIND_AND_ADD_CLANG_LIB(clangSerialization)
|
||||
FIND_AND_ADD_CLANG_LIB(clangSema)
|
||||
FIND_AND_ADD_CLANG_LIB(clangAnalysisLifetimeSafety)
|
||||
FIND_AND_ADD_CLANG_LIB(clangAnalysis)
|
||||
FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
|
||||
FIND_AND_ADD_CLANG_LIB(clangAST)
|
||||
|
|
@ -62,8 +65,9 @@ else()
|
|||
FIND_AND_ADD_CLANG_LIB(clangLex)
|
||||
FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
|
||||
FIND_AND_ADD_CLANG_LIB(clangRewrite)
|
||||
FIND_AND_ADD_CLANG_LIB(clangCrossTU)
|
||||
FIND_AND_ADD_CLANG_LIB(clangIndex)
|
||||
FIND_AND_ADD_CLANG_LIB(clangFormat)
|
||||
FIND_AND_ADD_CLANG_LIB(clangToolingInclusions)
|
||||
FIND_AND_ADD_CLANG_LIB(clangToolingCore)
|
||||
FIND_AND_ADD_CLANG_LIB(clangExtractAPI)
|
||||
FIND_AND_ADD_CLANG_LIB(clangSupport)
|
||||
|
|
|
|||
|
|
@ -9,23 +9,23 @@
|
|||
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
|
||||
HINTS ${LLVM_INCLUDE_DIRS}
|
||||
PATHS
|
||||
/usr/lib/llvm-21/include
|
||||
/usr/local/llvm210/include
|
||||
/usr/local/llvm21/include
|
||||
/usr/local/opt/lld@21/include
|
||||
/opt/homebrew/opt/lld@21/include
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@21/include
|
||||
/usr/lib/llvm-22/include
|
||||
/usr/local/llvm220/include
|
||||
/usr/local/llvm22/include
|
||||
/usr/local/opt/lld@22/include
|
||||
/opt/homebrew/opt/lld@22/include
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@22/include
|
||||
/mingw64/include)
|
||||
|
||||
find_library(LLD_LIBRARY NAMES lld-21.0 lld210 lld NAMES_PER_DIR
|
||||
find_library(LLD_LIBRARY NAMES lld-22.0 lld220 lld NAMES_PER_DIR
|
||||
HINTS ${LLVM_LIBDIRS}
|
||||
PATHS
|
||||
/usr/lib/llvm-21/lib
|
||||
/usr/local/llvm210/lib
|
||||
/usr/local/llvm21/lib
|
||||
/usr/local/opt/lld@21/lib
|
||||
/opt/homebrew/opt/lld@21/lib
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@21/lib
|
||||
/usr/lib/llvm-22/lib
|
||||
/usr/local/llvm220/lib
|
||||
/usr/local/llvm22/lib
|
||||
/usr/local/opt/lld@22/lib
|
||||
/opt/homebrew/opt/lld@22/lib
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@22/lib
|
||||
)
|
||||
if(EXISTS ${LLD_LIBRARY})
|
||||
set(LLD_LIBRARIES ${LLD_LIBRARY})
|
||||
|
|
@ -36,12 +36,12 @@ else()
|
|||
HINTS ${LLVM_LIBDIRS}
|
||||
PATHS
|
||||
${LLD_LIBDIRS}
|
||||
/usr/lib/llvm-21/lib
|
||||
/usr/local/llvm210/lib
|
||||
/usr/local/llvm21/lib
|
||||
/usr/local/opt/lld@21/lib
|
||||
/opt/homebrew/opt/lld@21/lib
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@21/lib
|
||||
/usr/lib/llvm-22/lib
|
||||
/usr/local/llvm220/lib
|
||||
/usr/local/llvm22/lib
|
||||
/usr/local/opt/lld@22/lib
|
||||
/opt/homebrew/opt/lld@22/lib
|
||||
/home/linuxbrew/.linuxbrew/opt/lld@22/lib
|
||||
/mingw64/lib
|
||||
/c/msys64/mingw64/lib
|
||||
c:/msys64/mingw64/lib)
|
||||
|
|
|
|||
|
|
@ -17,12 +17,12 @@ if(ZIG_USE_LLVM_CONFIG)
|
|||
# terminate when the right LLVM version is not found.
|
||||
unset(LLVM_CONFIG_EXE CACHE)
|
||||
find_program(LLVM_CONFIG_EXE
|
||||
NAMES llvm-config-21 llvm-config-21.0 llvm-config210 llvm-config21 llvm-config NAMES_PER_DIR
|
||||
NAMES llvm-config-22 llvm-config-22.0 llvm-config220 llvm-config22 llvm-config NAMES_PER_DIR
|
||||
PATHS
|
||||
"/mingw64/bin"
|
||||
"/c/msys64/mingw64/bin"
|
||||
"c:/msys64/mingw64/bin"
|
||||
"C:/Libraries/llvm-21.0.0/bin")
|
||||
"C:/Libraries/llvm-22.0.0/bin")
|
||||
|
||||
if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
|
||||
if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
|
||||
|
|
@ -40,9 +40,9 @@ if(ZIG_USE_LLVM_CONFIG)
|
|||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)
|
||||
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 21 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 22 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 22)
|
||||
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 22 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 23 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 23)
|
||||
# Save the error message, in case this is the last llvm-config we find
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 21.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 22.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
|
||||
|
||||
# Ignore this directory and try the search again
|
||||
list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
|
||||
|
|
@ -66,9 +66,9 @@ if(ZIG_USE_LLVM_CONFIG)
|
|||
if (LLVM_CONFIG_ERROR)
|
||||
# Save the error message, in case this is the last llvm-config we find
|
||||
if (ZIG_SHARED_LLVM)
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 22.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
||||
else()
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 22.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
||||
endif()
|
||||
|
||||
# Ignore this directory and try the search again
|
||||
|
|
@ -321,11 +321,12 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMObjCopy)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMCA)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDTLTO)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMLTO)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMPlugins)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMPasses)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
|
||||
|
|
@ -352,6 +353,7 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMObjCARCOpts)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCodeGenTypes)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCGData)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCAS)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMIRPrinter)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMInterfaceStub)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFileCheck)
|
||||
|
|
@ -370,15 +372,17 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoGSYM)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMObject)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMCParser)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMIRReader)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMAsmParser)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMC)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMBitReader)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFuzzerCLI)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMABI)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCore)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMRemarks)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMBitstreamReader)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue