mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
parent
558bea2a76
commit
008affa645
5 changed files with 66 additions and 62 deletions
|
|
@ -133,9 +133,9 @@ else()
|
||||||
set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
|
set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(llvm 20)
|
find_package(llvm 21)
|
||||||
find_package(clang 20)
|
find_package(clang 21)
|
||||||
find_package(lld 20)
|
find_package(lld 21)
|
||||||
|
|
||||||
if(ZIG_STATIC_ZLIB)
|
if(ZIG_STATIC_ZLIB)
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|
|
||||||
32
build.zig
32
build.zig
|
|
@ -1176,7 +1176,6 @@ const clang_libs = [_][]const u8{
|
||||||
"clangBasic",
|
"clangBasic",
|
||||||
"clangEdit",
|
"clangEdit",
|
||||||
"clangLex",
|
"clangLex",
|
||||||
"clangARCMigrate",
|
|
||||||
"clangRewriteFrontend",
|
"clangRewriteFrontend",
|
||||||
"clangRewrite",
|
"clangRewrite",
|
||||||
"clangCrossTU",
|
"clangCrossTU",
|
||||||
|
|
@ -1322,30 +1321,31 @@ const llvm_libs = [_][]const u8{
|
||||||
"LLVMOrcTargetProcess",
|
"LLVMOrcTargetProcess",
|
||||||
"LLVMOrcShared",
|
"LLVMOrcShared",
|
||||||
"LLVMDWP",
|
"LLVMDWP",
|
||||||
|
"LLVMDWARFCFIChecker",
|
||||||
"LLVMDebugInfoLogicalView",
|
"LLVMDebugInfoLogicalView",
|
||||||
"LLVMDebugInfoGSYM",
|
|
||||||
"LLVMOption",
|
"LLVMOption",
|
||||||
"LLVMObjectYAML",
|
|
||||||
"LLVMObjCopy",
|
"LLVMObjCopy",
|
||||||
"LLVMMCA",
|
"LLVMMCA",
|
||||||
"LLVMMCDisassembler",
|
"LLVMMCDisassembler",
|
||||||
"LLVMLTO",
|
"LLVMLTO",
|
||||||
"LLVMPasses",
|
|
||||||
"LLVMHipStdPar",
|
|
||||||
"LLVMCFGuard",
|
|
||||||
"LLVMCoroutines",
|
|
||||||
"LLVMipo",
|
|
||||||
"LLVMVectorize",
|
|
||||||
"LLVMSandboxIR",
|
|
||||||
"LLVMLinker",
|
|
||||||
"LLVMInstrumentation",
|
|
||||||
"LLVMFrontendOpenMP",
|
|
||||||
"LLVMFrontendOffloading",
|
|
||||||
"LLVMFrontendOpenACC",
|
"LLVMFrontendOpenACC",
|
||||||
"LLVMFrontendHLSL",
|
"LLVMFrontendHLSL",
|
||||||
"LLVMFrontendDriver",
|
"LLVMFrontendDriver",
|
||||||
"LLVMFrontendAtomic",
|
|
||||||
"LLVMExtensions",
|
"LLVMExtensions",
|
||||||
|
"LLVMPasses",
|
||||||
|
"LLVMHipStdPar",
|
||||||
|
"LLVMCoroutines",
|
||||||
|
"LLVMCFGuard",
|
||||||
|
"LLVMipo",
|
||||||
|
"LLVMInstrumentation",
|
||||||
|
"LLVMVectorize",
|
||||||
|
"LLVMSandboxIR",
|
||||||
|
"LLVMLinker",
|
||||||
|
"LLVMFrontendOpenMP",
|
||||||
|
"LLVMFrontendDirective",
|
||||||
|
"LLVMFrontendAtomic",
|
||||||
|
"LLVMFrontendOffloading",
|
||||||
|
"LLVMObjectYAML",
|
||||||
"LLVMDWARFLinkerParallel",
|
"LLVMDWARFLinkerParallel",
|
||||||
"LLVMDWARFLinkerClassic",
|
"LLVMDWARFLinkerClassic",
|
||||||
"LLVMDWARFLinker",
|
"LLVMDWARFLinker",
|
||||||
|
|
@ -1374,7 +1374,9 @@ const llvm_libs = [_][]const u8{
|
||||||
"LLVMDebugInfoPDB",
|
"LLVMDebugInfoPDB",
|
||||||
"LLVMDebugInfoMSF",
|
"LLVMDebugInfoMSF",
|
||||||
"LLVMDebugInfoCodeView",
|
"LLVMDebugInfoCodeView",
|
||||||
|
"LLVMDebugInfoGSYM",
|
||||||
"LLVMDebugInfoDWARF",
|
"LLVMDebugInfoDWARF",
|
||||||
|
"LLVMDebugInfoDWARFLowLevel",
|
||||||
"LLVMObject",
|
"LLVMObject",
|
||||||
"LLVMTextAPI",
|
"LLVMTextAPI",
|
||||||
"LLVMMCParser",
|
"LLVMMCParser",
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,10 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
|
||||||
if(${LLVM_LINK_MODE} STREQUAL "shared")
|
if(${LLVM_LINK_MODE} STREQUAL "shared")
|
||||||
find_library(CLANG_LIBRARIES
|
find_library(CLANG_LIBRARIES
|
||||||
NAMES
|
NAMES
|
||||||
libclang-cpp.so.20
|
libclang-cpp.so.21
|
||||||
libclang-cpp.so.20.1
|
libclang-cpp.so.21.1
|
||||||
clang-cpp-20.0
|
clang-cpp-21.0
|
||||||
clang-cpp200
|
clang-cpp210
|
||||||
clang-cpp
|
clang-cpp
|
||||||
NAMES_PER_DIR
|
NAMES_PER_DIR
|
||||||
HINTS "${LLVM_LIBDIRS}"
|
HINTS "${LLVM_LIBDIRS}"
|
||||||
|
|
@ -60,7 +60,6 @@ else()
|
||||||
FIND_AND_ADD_CLANG_LIB(clangBasic)
|
FIND_AND_ADD_CLANG_LIB(clangBasic)
|
||||||
FIND_AND_ADD_CLANG_LIB(clangEdit)
|
FIND_AND_ADD_CLANG_LIB(clangEdit)
|
||||||
FIND_AND_ADD_CLANG_LIB(clangLex)
|
FIND_AND_ADD_CLANG_LIB(clangLex)
|
||||||
FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
|
|
||||||
FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
|
FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
|
||||||
FIND_AND_ADD_CLANG_LIB(clangRewrite)
|
FIND_AND_ADD_CLANG_LIB(clangRewrite)
|
||||||
FIND_AND_ADD_CLANG_LIB(clangCrossTU)
|
FIND_AND_ADD_CLANG_LIB(clangCrossTU)
|
||||||
|
|
|
||||||
|
|
@ -9,23 +9,23 @@
|
||||||
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
|
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
|
||||||
HINTS ${LLVM_INCLUDE_DIRS}
|
HINTS ${LLVM_INCLUDE_DIRS}
|
||||||
PATHS
|
PATHS
|
||||||
/usr/lib/llvm-20/include
|
/usr/lib/llvm-21/include
|
||||||
/usr/local/llvm200/include
|
/usr/local/llvm210/include
|
||||||
/usr/local/llvm20/include
|
/usr/local/llvm21/include
|
||||||
/usr/local/opt/lld@20/include
|
/usr/local/opt/lld@21/include
|
||||||
/opt/homebrew/opt/lld@20/include
|
/opt/homebrew/opt/lld@21/include
|
||||||
/home/linuxbrew/.linuxbrew/opt/lld@20/include
|
/home/linuxbrew/.linuxbrew/opt/lld@21/include
|
||||||
/mingw64/include)
|
/mingw64/include)
|
||||||
|
|
||||||
find_library(LLD_LIBRARY NAMES lld-20.0 lld200 lld NAMES_PER_DIR
|
find_library(LLD_LIBRARY NAMES lld-21.0 lld210 lld NAMES_PER_DIR
|
||||||
HINTS ${LLVM_LIBDIRS}
|
HINTS ${LLVM_LIBDIRS}
|
||||||
PATHS
|
PATHS
|
||||||
/usr/lib/llvm-20/lib
|
/usr/lib/llvm-21/lib
|
||||||
/usr/local/llvm200/lib
|
/usr/local/llvm210/lib
|
||||||
/usr/local/llvm20/lib
|
/usr/local/llvm21/lib
|
||||||
/usr/local/opt/lld@20/lib
|
/usr/local/opt/lld@21/lib
|
||||||
/opt/homebrew/opt/lld@20/lib
|
/opt/homebrew/opt/lld@21/lib
|
||||||
/home/linuxbrew/.linuxbrew/opt/lld@20/lib
|
/home/linuxbrew/.linuxbrew/opt/lld@21/lib
|
||||||
)
|
)
|
||||||
if(EXISTS ${LLD_LIBRARY})
|
if(EXISTS ${LLD_LIBRARY})
|
||||||
set(LLD_LIBRARIES ${LLD_LIBRARY})
|
set(LLD_LIBRARIES ${LLD_LIBRARY})
|
||||||
|
|
@ -36,12 +36,12 @@ else()
|
||||||
HINTS ${LLVM_LIBDIRS}
|
HINTS ${LLVM_LIBDIRS}
|
||||||
PATHS
|
PATHS
|
||||||
${LLD_LIBDIRS}
|
${LLD_LIBDIRS}
|
||||||
/usr/lib/llvm-20/lib
|
/usr/lib/llvm-21/lib
|
||||||
/usr/local/llvm200/lib
|
/usr/local/llvm210/lib
|
||||||
/usr/local/llvm20/lib
|
/usr/local/llvm21/lib
|
||||||
/usr/local/opt/lld@20/lib
|
/usr/local/opt/lld@21/lib
|
||||||
/opt/homebrew/opt/lld@20/lib
|
/opt/homebrew/opt/lld@21/lib
|
||||||
/home/linuxbrew/.linuxbrew/opt/lld@20/lib
|
/home/linuxbrew/.linuxbrew/opt/lld@21/lib
|
||||||
/mingw64/lib
|
/mingw64/lib
|
||||||
/c/msys64/mingw64/lib
|
/c/msys64/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.
|
# terminate when the right LLVM version is not found.
|
||||||
unset(LLVM_CONFIG_EXE CACHE)
|
unset(LLVM_CONFIG_EXE CACHE)
|
||||||
find_program(LLVM_CONFIG_EXE
|
find_program(LLVM_CONFIG_EXE
|
||||||
NAMES llvm-config-20 llvm-config-20.0 llvm-config200 llvm-config20 llvm-config NAMES_PER_DIR
|
NAMES llvm-config-21 llvm-config-21.0 llvm-config210 llvm-config21 llvm-config NAMES_PER_DIR
|
||||||
PATHS
|
PATHS
|
||||||
"/mingw64/bin"
|
"/mingw64/bin"
|
||||||
"/c/msys64/mingw64/bin"
|
"/c/msys64/mingw64/bin"
|
||||||
"c:/msys64/mingw64/bin"
|
"c:/msys64/mingw64/bin"
|
||||||
"C:/Libraries/llvm-20.0.0/bin")
|
"C:/Libraries/llvm-21.0.0/bin")
|
||||||
|
|
||||||
if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
|
if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
|
||||||
if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
|
if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
|
||||||
|
|
@ -40,9 +40,9 @@ if(ZIG_USE_LLVM_CONFIG)
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)
|
get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)
|
||||||
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 20 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 21 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 21)
|
if("${LLVM_CONFIG_VERSION}" VERSION_LESS 21 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 22 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 22)
|
||||||
# Save the error message, in case this is the last llvm-config we find
|
# Save the error message, in case this is the last llvm-config we find
|
||||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 20.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
|
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 21.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
|
||||||
|
|
||||||
# Ignore this directory and try the search again
|
# Ignore this directory and try the search again
|
||||||
list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
|
list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
|
||||||
|
|
@ -66,9 +66,9 @@ if(ZIG_USE_LLVM_CONFIG)
|
||||||
if (LLVM_CONFIG_ERROR)
|
if (LLVM_CONFIG_ERROR)
|
||||||
# Save the error message, in case this is the last llvm-config we find
|
# Save the error message, in case this is the last llvm-config we find
|
||||||
if (ZIG_SHARED_LLVM)
|
if (ZIG_SHARED_LLVM)
|
||||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 20.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
|
||||||
else()
|
else()
|
||||||
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 20.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 21.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Ignore this directory and try the search again
|
# Ignore this directory and try the search again
|
||||||
|
|
@ -315,30 +315,31 @@ else()
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMOrcTargetProcess)
|
FIND_AND_ADD_LLVM_LIB(LLVMOrcTargetProcess)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMOrcShared)
|
FIND_AND_ADD_LLVM_LIB(LLVMOrcShared)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDWP)
|
FIND_AND_ADD_LLVM_LIB(LLVMDWP)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMDWARFCFIChecker)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoLogicalView)
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoLogicalView)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoGSYM)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMOption)
|
FIND_AND_ADD_LLVM_LIB(LLVMOption)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMObjectYAML)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMObjCopy)
|
FIND_AND_ADD_LLVM_LIB(LLVMObjCopy)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMMCA)
|
FIND_AND_ADD_LLVM_LIB(LLVMMCA)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
|
FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMLTO)
|
FIND_AND_ADD_LLVM_LIB(LLVMLTO)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMPasses)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)
|
|
||||||
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)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOffloading)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMFrontendAtomic)
|
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
|
FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMPasses)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMipo)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMVectorize)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMSandboxIR)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMLinker)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendDirective)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendAtomic)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOffloading)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMObjectYAML)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
|
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
|
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
|
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
|
||||||
|
|
@ -367,7 +368,9 @@ else()
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoPDB)
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoPDB)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoMSF)
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoMSF)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoCodeView)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoGSYM)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARFLowLevel)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMObject)
|
FIND_AND_ADD_LLVM_LIB(LLVMObject)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
|
FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
|
||||||
FIND_AND_ADD_LLVM_LIB(LLVMMCParser)
|
FIND_AND_ADD_LLVM_LIB(LLVMMCParser)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue