mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
build: Update to LLVM/Clang 20.
This commit is contained in:
parent
50cb2fa0a2
commit
c712f18d74
5 changed files with 47 additions and 35 deletions
|
|
@ -132,9 +132,9 @@ else()
|
|||
set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
|
||||
endif()
|
||||
|
||||
find_package(llvm 19)
|
||||
find_package(clang 19)
|
||||
find_package(lld 19)
|
||||
find_package(llvm 20)
|
||||
find_package(clang 20)
|
||||
find_package(lld 20)
|
||||
|
||||
if(ZIG_STATIC_ZLIB)
|
||||
if (MSVC)
|
||||
|
|
|
|||
12
build.zig
12
build.zig
|
|
@ -1166,10 +1166,10 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMXRay",
|
||||
"LLVMLibDriver",
|
||||
"LLVMDlltoolDriver",
|
||||
"LLVMTelemetry",
|
||||
"LLVMTextAPIBinaryReader",
|
||||
"LLVMCoverage",
|
||||
"LLVMLineEditor",
|
||||
"LLVMSandboxIR",
|
||||
"LLVMXCoreDisassembler",
|
||||
"LLVMXCoreCodeGen",
|
||||
"LLVMXCoreDesc",
|
||||
|
|
@ -1196,6 +1196,10 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMSystemZCodeGen",
|
||||
"LLVMSystemZDesc",
|
||||
"LLVMSystemZInfo",
|
||||
"LLVMSPIRVCodeGen",
|
||||
"LLVMSPIRVDesc",
|
||||
"LLVMSPIRVInfo",
|
||||
"LLVMSPIRVAnalysis",
|
||||
"LLVMSparcDisassembler",
|
||||
"LLVMSparcAsmParser",
|
||||
"LLVMSparcCodeGen",
|
||||
|
|
@ -1294,6 +1298,7 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMCoroutines",
|
||||
"LLVMipo",
|
||||
"LLVMVectorize",
|
||||
"LLVMSandboxIR",
|
||||
"LLVMLinker",
|
||||
"LLVMInstrumentation",
|
||||
"LLVMFrontendOpenMP",
|
||||
|
|
@ -1301,11 +1306,11 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMFrontendOpenACC",
|
||||
"LLVMFrontendHLSL",
|
||||
"LLVMFrontendDriver",
|
||||
"LLVMFrontendAtomic",
|
||||
"LLVMExtensions",
|
||||
"LLVMDWARFLinkerParallel",
|
||||
"LLVMDWARFLinkerClassic",
|
||||
"LLVMDWARFLinker",
|
||||
"LLVMCodeGenData",
|
||||
"LLVMGlobalISel",
|
||||
"LLVMMIRParser",
|
||||
"LLVMAsmPrinter",
|
||||
|
|
@ -1314,6 +1319,7 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMTarget",
|
||||
"LLVMObjCARCOpts",
|
||||
"LLVMCodeGenTypes",
|
||||
"LLVMCGData",
|
||||
"LLVMIRPrinter",
|
||||
"LLVMInterfaceStub",
|
||||
"LLVMFileCheck",
|
||||
|
|
@ -1329,6 +1335,7 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMDebugInfoBTF",
|
||||
"LLVMDebugInfoPDB",
|
||||
"LLVMDebugInfoMSF",
|
||||
"LLVMDebugInfoCodeView",
|
||||
"LLVMDebugInfoDWARF",
|
||||
"LLVMObject",
|
||||
"LLVMTextAPI",
|
||||
|
|
@ -1336,7 +1343,6 @@ const llvm_libs = [_][]const u8{
|
|||
"LLVMIRReader",
|
||||
"LLVMAsmParser",
|
||||
"LLVMMC",
|
||||
"LLVMDebugInfoCodeView",
|
||||
"LLVMBitReader",
|
||||
"LLVMFuzzerCLI",
|
||||
"LLVMCore",
|
||||
|
|
|
|||
|
|
@ -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.19
|
||||
libclang-cpp.so.19.1
|
||||
clang-cpp-19.0
|
||||
clang-cpp190
|
||||
libclang-cpp.so.20
|
||||
libclang-cpp.so.20.1
|
||||
clang-cpp-20.0
|
||||
clang-cpp200
|
||||
clang-cpp
|
||||
NAMES_PER_DIR
|
||||
HINTS "${LLVM_LIBDIRS}"
|
||||
|
|
|
|||
|
|
@ -9,21 +9,21 @@
|
|||
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
|
||||
HINTS ${LLVM_INCLUDE_DIRS}
|
||||
PATHS
|
||||
/usr/lib/llvm-19/include
|
||||
/usr/local/llvm190/include
|
||||
/usr/local/llvm19/include
|
||||
/usr/local/opt/lld@19/include
|
||||
/opt/homebrew/opt/lld@19/include
|
||||
/usr/lib/llvm-20/include
|
||||
/usr/local/llvm200/include
|
||||
/usr/local/llvm20/include
|
||||
/usr/local/opt/lld@20/include
|
||||
/opt/homebrew/opt/lld@20/include
|
||||
/mingw64/include)
|
||||
|
||||
find_library(LLD_LIBRARY NAMES lld-19.0 lld190 lld NAMES_PER_DIR
|
||||
find_library(LLD_LIBRARY NAMES lld-20.0 lld200 lld NAMES_PER_DIR
|
||||
HINTS ${LLVM_LIBDIRS}
|
||||
PATHS
|
||||
/usr/lib/llvm-19/lib
|
||||
/usr/local/llvm190/lib
|
||||
/usr/local/llvm19/lib
|
||||
/usr/local/opt/lld@19/lib
|
||||
/opt/homebrew/opt/lld@19/lib
|
||||
/usr/lib/llvm-20/lib
|
||||
/usr/local/llvm200/lib
|
||||
/usr/local/llvm20/lib
|
||||
/usr/local/opt/lld@20/lib
|
||||
/opt/homebrew/opt/lld@20/lib
|
||||
)
|
||||
if(EXISTS ${LLD_LIBRARY})
|
||||
set(LLD_LIBRARIES ${LLD_LIBRARY})
|
||||
|
|
@ -34,11 +34,11 @@ else()
|
|||
HINTS ${LLVM_LIBDIRS}
|
||||
PATHS
|
||||
${LLD_LIBDIRS}
|
||||
/usr/lib/llvm-19/lib
|
||||
/usr/local/llvm190/lib
|
||||
/usr/local/llvm19/lib
|
||||
/usr/local/opt/lld@19/lib
|
||||
/opt/homebrew/opt/lld@19/lib
|
||||
/usr/lib/llvm-20/lib
|
||||
/usr/local/llvm200/lib
|
||||
/usr/local/llvm20/lib
|
||||
/usr/local/opt/lld@20/lib
|
||||
/opt/homebrew/opt/lld@20/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-19 llvm-config-19.0 llvm-config190 llvm-config19 llvm-config NAMES_PER_DIR
|
||||
NAMES llvm-config-20 llvm-config-20.0 llvm-config200 llvm-config20 llvm-config NAMES_PER_DIR
|
||||
PATHS
|
||||
"/mingw64/bin"
|
||||
"/c/msys64/mingw64/bin"
|
||||
"c:/msys64/mingw64/bin"
|
||||
"C:/Libraries/llvm-19.0.0/bin")
|
||||
"C:/Libraries/llvm-20.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 19 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 20 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 20)
|
||||
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 20 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 21 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 21)
|
||||
# Save the error message, in case this is the last llvm-config we find
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 19.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 20.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 19.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 20.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
||||
else()
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 19.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 20.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
||||
endif()
|
||||
|
||||
# Ignore this directory and try the search again
|
||||
|
|
@ -197,10 +197,10 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMXRay)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMLibDriver)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMTelemetry)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMTextAPIBinaryReader)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCoverage)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMLineEditor)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSandboxIR)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMXCoreCodeGen)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMXCoreDesc)
|
||||
|
|
@ -227,6 +227,10 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMSystemZCodeGen)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSystemZDesc)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSystemZInfo)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSPIRVCodeGen)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSPIRVDesc)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSPIRVInfo)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSPIRVAnalysis)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSparcDisassembler)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSparcAsmParser)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSparcCodeGen)
|
||||
|
|
@ -325,6 +329,7 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMipo)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMVectorize)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMSandboxIR)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMLinker)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP)
|
||||
|
|
@ -332,11 +337,11 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendAtomic)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCodeGenData)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMAsmPrinter)
|
||||
|
|
@ -345,6 +350,7 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMTarget)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMObjCARCOpts)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCodeGenTypes)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCGData)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMIRPrinter)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMInterfaceStub)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFileCheck)
|
||||
|
|
@ -360,6 +366,7 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoBTF)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoPDB)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoMSF)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMObject)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
|
||||
|
|
@ -367,7 +374,6 @@ else()
|
|||
FIND_AND_ADD_LLVM_LIB(LLVMIRReader)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMAsmParser)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMMC)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMBitReader)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMFuzzerCLI)
|
||||
FIND_AND_ADD_LLVM_LIB(LLVMCore)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue