update CMake files to LLVM 18

This commit is contained in:
Andrew Kelley 2024-04-25 14:12:55 -07:00
parent d9b00ee4ba
commit 3ac8d37182
5 changed files with 40 additions and 28 deletions

View file

@ -140,9 +140,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 17) find_package(llvm 18)
find_package(clang 17) find_package(clang 18)
find_package(lld 17) find_package(lld 18)
if(ZIG_STATIC_ZLIB) if(ZIG_STATIC_ZLIB)
if (MSVC) if (MSVC)

View file

@ -1068,6 +1068,7 @@ const llvm_libs = [_][]const u8{
"LLVMXRay", "LLVMXRay",
"LLVMLibDriver", "LLVMLibDriver",
"LLVMDlltoolDriver", "LLVMDlltoolDriver",
"LLVMTextAPIBinaryReader",
"LLVMCoverage", "LLVMCoverage",
"LLVMLineEditor", "LLVMLineEditor",
"LLVMXCoreDisassembler", "LLVMXCoreDisassembler",
@ -1169,6 +1170,7 @@ const llvm_libs = [_][]const u8{
"LLVMAArch64Desc", "LLVMAArch64Desc",
"LLVMAArch64Utils", "LLVMAArch64Utils",
"LLVMAArch64Info", "LLVMAArch64Info",
"LLVMOrcDebugging",
"LLVMOrcJIT", "LLVMOrcJIT",
"LLVMWindowsDriver", "LLVMWindowsDriver",
"LLVMMCJIT", "LLVMMCJIT",
@ -1188,6 +1190,7 @@ const llvm_libs = [_][]const u8{
"LLVMMCDisassembler", "LLVMMCDisassembler",
"LLVMLTO", "LLVMLTO",
"LLVMPasses", "LLVMPasses",
"LLVMHipStdPar",
"LLVMCFGuard", "LLVMCFGuard",
"LLVMCoroutines", "LLVMCoroutines",
"LLVMipo", "LLVMipo",
@ -1195,10 +1198,13 @@ const llvm_libs = [_][]const u8{
"LLVMLinker", "LLVMLinker",
"LLVMInstrumentation", "LLVMInstrumentation",
"LLVMFrontendOpenMP", "LLVMFrontendOpenMP",
"LLVMFrontendOffloading",
"LLVMFrontendOpenACC", "LLVMFrontendOpenACC",
"LLVMFrontendHLSL", "LLVMFrontendHLSL",
"LLVMFrontendDriver",
"LLVMExtensions", "LLVMExtensions",
"LLVMDWARFLinkerParallel", "LLVMDWARFLinkerParallel",
"LLVMDWARFLinkerClassic",
"LLVMDWARFLinker", "LLVMDWARFLinker",
"LLVMGlobalISel", "LLVMGlobalISel",
"LLVMMIRParser", "LLVMMIRParser",

View file

@ -17,9 +17,9 @@ 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.17 libclang-cpp.so.18
clang-cpp-17.0 clang-cpp-18.0
clang-cpp170 clang-cpp180
clang-cpp clang-cpp
NAMES_PER_DIR NAMES_PER_DIR
HINTS "${LLVM_LIBDIRS}" HINTS "${LLVM_LIBDIRS}"

View file

@ -9,21 +9,21 @@
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-17/include /usr/lib/llvm-18/include
/usr/local/llvm170/include /usr/local/llvm180/include
/usr/local/llvm17/include /usr/local/llvm18/include
/usr/local/opt/llvm@17/include /usr/local/opt/llvm@18/include
/opt/homebrew/opt/llvm@17/include /opt/homebrew/opt/llvm@18/include
/mingw64/include) /mingw64/include)
find_library(LLD_LIBRARY NAMES lld-17.0 lld170 lld NAMES_PER_DIR find_library(LLD_LIBRARY NAMES lld-18.0 lld180 lld NAMES_PER_DIR
HINTS ${LLVM_LIBDIRS} HINTS ${LLVM_LIBDIRS}
PATHS PATHS
/usr/lib/llvm-17/lib /usr/lib/llvm-18/lib
/usr/local/llvm170/lib /usr/local/llvm180/lib
/usr/local/llvm17/lib /usr/local/llvm18/lib
/usr/local/opt/llvm@17/lib /usr/local/opt/llvm@18/lib
/opt/homebrew/opt/llvm@17/lib /opt/homebrew/opt/llvm@18/lib
) )
if(EXISTS ${LLD_LIBRARY}) if(EXISTS ${LLD_LIBRARY})
set(LLD_LIBRARIES ${LLD_LIBRARY}) set(LLD_LIBRARIES ${LLD_LIBRARY})
@ -34,11 +34,11 @@ else()
HINTS ${LLVM_LIBDIRS} HINTS ${LLVM_LIBDIRS}
PATHS PATHS
${LLD_LIBDIRS} ${LLD_LIBDIRS}
/usr/lib/llvm-17/lib /usr/lib/llvm-18/lib
/usr/local/llvm170/lib /usr/local/llvm180/lib
/usr/local/llvm17/lib /usr/local/llvm18/lib
/usr/local/opt/llvm@17/lib /usr/local/opt/llvm@18/lib
/opt/homebrew/opt/llvm@17/lib /opt/homebrew/opt/llvm@18/lib
/mingw64/lib /mingw64/lib
/c/msys64/mingw64/lib /c/msys64/mingw64/lib
c:/msys64/mingw64/lib) c:/msys64/mingw64/lib)

View file

@ -14,12 +14,12 @@ if(ZIG_USE_LLVM_CONFIG)
while(1) while(1)
unset(LLVM_CONFIG_EXE CACHE) unset(LLVM_CONFIG_EXE CACHE)
find_program(LLVM_CONFIG_EXE find_program(LLVM_CONFIG_EXE
NAMES llvm-config-17 llvm-config-17.0 llvm-config170 llvm-config17 llvm-config NAMES_PER_DIR NAMES llvm-config-18 llvm-config-18.0 llvm-config180 llvm-config18 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-17.0.0/bin") "C:/Libraries/llvm-18.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 "")
@ -37,9 +37,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 17 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 18 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 18) if("${LLVM_CONFIG_VERSION}" VERSION_LESS 18 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 19 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 19)
# 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 17.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}") list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 18.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}")
@ -63,9 +63,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 17.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library") list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 18.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
else() else()
list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 17.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library") list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 18.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
@ -195,6 +195,7 @@ else()
FIND_AND_ADD_LLVM_LIB(LLVMXRay) FIND_AND_ADD_LLVM_LIB(LLVMXRay)
FIND_AND_ADD_LLVM_LIB(LLVMLibDriver) FIND_AND_ADD_LLVM_LIB(LLVMLibDriver)
FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver) FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver)
FIND_AND_ADD_LLVM_LIB(LLVMTextAPIBinaryReader)
FIND_AND_ADD_LLVM_LIB(LLVMCoverage) FIND_AND_ADD_LLVM_LIB(LLVMCoverage)
FIND_AND_ADD_LLVM_LIB(LLVMLineEditor) FIND_AND_ADD_LLVM_LIB(LLVMLineEditor)
FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler) FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler)
@ -296,6 +297,7 @@ else()
FIND_AND_ADD_LLVM_LIB(LLVMAArch64Desc) FIND_AND_ADD_LLVM_LIB(LLVMAArch64Desc)
FIND_AND_ADD_LLVM_LIB(LLVMAArch64Utils) FIND_AND_ADD_LLVM_LIB(LLVMAArch64Utils)
FIND_AND_ADD_LLVM_LIB(LLVMAArch64Info) FIND_AND_ADD_LLVM_LIB(LLVMAArch64Info)
FIND_AND_ADD_LLVM_LIB(LLVMOrcDebugging)
FIND_AND_ADD_LLVM_LIB(LLVMOrcJIT) FIND_AND_ADD_LLVM_LIB(LLVMOrcJIT)
FIND_AND_ADD_LLVM_LIB(LLVMWindowsDriver) FIND_AND_ADD_LLVM_LIB(LLVMWindowsDriver)
FIND_AND_ADD_LLVM_LIB(LLVMMCJIT) FIND_AND_ADD_LLVM_LIB(LLVMMCJIT)
@ -315,6 +317,7 @@ else()
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(LLVMPasses)
FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
FIND_AND_ADD_LLVM_LIB(LLVMCFGuard) FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)
FIND_AND_ADD_LLVM_LIB(LLVMCoroutines) FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
FIND_AND_ADD_LLVM_LIB(LLVMipo) FIND_AND_ADD_LLVM_LIB(LLVMipo)
@ -322,10 +325,13 @@ else()
FIND_AND_ADD_LLVM_LIB(LLVMLinker) FIND_AND_ADD_LLVM_LIB(LLVMLinker)
FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation) FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)
FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP) 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(LLVMExtensions) FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel) FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker) FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel) FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel)
FIND_AND_ADD_LLVM_LIB(LLVMMIRParser) FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)