authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-04-25 14:12:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-05-08 19:37:28-07:00
log3ac8d37182504da72e151ac93da26a0f01782f95
tree9584b041e45896551f384b332268a9e739fcd885
parentd9b00ee4ba48717ff6b306a6f9419e7b604ac04b

update CMake files to LLVM 18


5 files changed, 40 insertions(+), 28 deletions(-)

CMakeLists.txt+3-3
...@@ -140,9 +140,9 @@ else()...@@ -140,9 +140,9 @@ else()
140 set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")140 set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
141endif()141endif()
142142
143find_package(llvm 17)143find_package(llvm 18)
144find_package(clang 17)144find_package(clang 18)
145find_package(lld 17)145find_package(lld 18)
146146
147if(ZIG_STATIC_ZLIB)147if(ZIG_STATIC_ZLIB)
148 if (MSVC)148 if (MSVC)
build.zig+6
...@@ -1068,6 +1068,7 @@ const llvm_libs = [_][]const u8{...@@ -1068,6 +1068,7 @@ const llvm_libs = [_][]const u8{
1068 "LLVMXRay",1068 "LLVMXRay",
1069 "LLVMLibDriver",1069 "LLVMLibDriver",
1070 "LLVMDlltoolDriver",1070 "LLVMDlltoolDriver",
1071 "LLVMTextAPIBinaryReader",
1071 "LLVMCoverage",1072 "LLVMCoverage",
1072 "LLVMLineEditor",1073 "LLVMLineEditor",
1073 "LLVMXCoreDisassembler",1074 "LLVMXCoreDisassembler",
...@@ -1169,6 +1170,7 @@ const llvm_libs = [_][]const u8{...@@ -1169,6 +1170,7 @@ const llvm_libs = [_][]const u8{
1169 "LLVMAArch64Desc",1170 "LLVMAArch64Desc",
1170 "LLVMAArch64Utils",1171 "LLVMAArch64Utils",
1171 "LLVMAArch64Info",1172 "LLVMAArch64Info",
1173 "LLVMOrcDebugging",
1172 "LLVMOrcJIT",1174 "LLVMOrcJIT",
1173 "LLVMWindowsDriver",1175 "LLVMWindowsDriver",
1174 "LLVMMCJIT",1176 "LLVMMCJIT",
...@@ -1188,6 +1190,7 @@ const llvm_libs = [_][]const u8{...@@ -1188,6 +1190,7 @@ const llvm_libs = [_][]const u8{
1188 "LLVMMCDisassembler",1190 "LLVMMCDisassembler",
1189 "LLVMLTO",1191 "LLVMLTO",
1190 "LLVMPasses",1192 "LLVMPasses",
1193 "LLVMHipStdPar",
1191 "LLVMCFGuard",1194 "LLVMCFGuard",
1192 "LLVMCoroutines",1195 "LLVMCoroutines",
1193 "LLVMipo",1196 "LLVMipo",
...@@ -1195,10 +1198,13 @@ const llvm_libs = [_][]const u8{...@@ -1195,10 +1198,13 @@ const llvm_libs = [_][]const u8{
1195 "LLVMLinker",1198 "LLVMLinker",
1196 "LLVMInstrumentation",1199 "LLVMInstrumentation",
1197 "LLVMFrontendOpenMP",1200 "LLVMFrontendOpenMP",
1201 "LLVMFrontendOffloading",
1198 "LLVMFrontendOpenACC",1202 "LLVMFrontendOpenACC",
1199 "LLVMFrontendHLSL",1203 "LLVMFrontendHLSL",
1204 "LLVMFrontendDriver",
1200 "LLVMExtensions",1205 "LLVMExtensions",
1201 "LLVMDWARFLinkerParallel",1206 "LLVMDWARFLinkerParallel",
1207 "LLVMDWARFLinkerClassic",
1202 "LLVMDWARFLinker",1208 "LLVMDWARFLinker",
1203 "LLVMGlobalISel",1209 "LLVMGlobalISel",
1204 "LLVMMIRParser",1210 "LLVMMIRParser",
cmake/Findclang.cmake+3-3
...@@ -17,9 +17,9 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h...@@ -17,9 +17,9 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
17if(${LLVM_LINK_MODE} STREQUAL "shared")17if(${LLVM_LINK_MODE} STREQUAL "shared")
18 find_library(CLANG_LIBRARIES18 find_library(CLANG_LIBRARIES
19 NAMES19 NAMES
20 libclang-cpp.so.1720 libclang-cpp.so.18
21 clang-cpp-17.021 clang-cpp-18.0
22 clang-cpp17022 clang-cpp180
23 clang-cpp23 clang-cpp
24 NAMES_PER_DIR24 NAMES_PER_DIR
25 HINTS "${LLVM_LIBDIRS}"25 HINTS "${LLVM_LIBDIRS}"
cmake/Findlld.cmake+16-16
...@@ -9,21 +9,21 @@...@@ -9,21 +9,21 @@
9find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h9find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
10 HINTS ${LLVM_INCLUDE_DIRS}10 HINTS ${LLVM_INCLUDE_DIRS}
11 PATHS11 PATHS
12 /usr/lib/llvm-17/include12 /usr/lib/llvm-18/include
13 /usr/local/llvm170/include13 /usr/local/llvm180/include
14 /usr/local/llvm17/include14 /usr/local/llvm18/include
15 /usr/local/opt/llvm@17/include15 /usr/local/opt/llvm@18/include
16 /opt/homebrew/opt/llvm@17/include16 /opt/homebrew/opt/llvm@18/include
17 /mingw64/include)17 /mingw64/include)
1818
19find_library(LLD_LIBRARY NAMES lld-17.0 lld170 lld NAMES_PER_DIR19find_library(LLD_LIBRARY NAMES lld-18.0 lld180 lld NAMES_PER_DIR
20 HINTS ${LLVM_LIBDIRS}20 HINTS ${LLVM_LIBDIRS}
21 PATHS21 PATHS
22 /usr/lib/llvm-17/lib22 /usr/lib/llvm-18/lib
23 /usr/local/llvm170/lib23 /usr/local/llvm180/lib
24 /usr/local/llvm17/lib24 /usr/local/llvm18/lib
25 /usr/local/opt/llvm@17/lib25 /usr/local/opt/llvm@18/lib
26 /opt/homebrew/opt/llvm@17/lib26 /opt/homebrew/opt/llvm@18/lib
27)27)
28if(EXISTS ${LLD_LIBRARY})28if(EXISTS ${LLD_LIBRARY})
29 set(LLD_LIBRARIES ${LLD_LIBRARY})29 set(LLD_LIBRARIES ${LLD_LIBRARY})
...@@ -34,11 +34,11 @@ else()...@@ -34,11 +34,11 @@ else()
34 HINTS ${LLVM_LIBDIRS}34 HINTS ${LLVM_LIBDIRS}
35 PATHS35 PATHS
36 ${LLD_LIBDIRS}36 ${LLD_LIBDIRS}
37 /usr/lib/llvm-17/lib37 /usr/lib/llvm-18/lib
38 /usr/local/llvm170/lib38 /usr/local/llvm180/lib
39 /usr/local/llvm17/lib39 /usr/local/llvm18/lib
40 /usr/local/opt/llvm@17/lib40 /usr/local/opt/llvm@18/lib
41 /opt/homebrew/opt/llvm@17/lib41 /opt/homebrew/opt/llvm@18/lib
42 /mingw64/lib42 /mingw64/lib
43 /c/msys64/mingw64/lib43 /c/msys64/mingw64/lib
44 c:/msys64/mingw64/lib)44 c:/msys64/mingw64/lib)
cmake/Findllvm.cmake+12-6
...@@ -14,12 +14,12 @@ if(ZIG_USE_LLVM_CONFIG)...@@ -14,12 +14,12 @@ if(ZIG_USE_LLVM_CONFIG)
14 while(1)14 while(1)
15 unset(LLVM_CONFIG_EXE CACHE)15 unset(LLVM_CONFIG_EXE CACHE)
16 find_program(LLVM_CONFIG_EXE16 find_program(LLVM_CONFIG_EXE
17 NAMES llvm-config-17 llvm-config-17.0 llvm-config170 llvm-config17 llvm-config NAMES_PER_DIR17 NAMES llvm-config-18 llvm-config-18.0 llvm-config180 llvm-config18 llvm-config NAMES_PER_DIR
18 PATHS18 PATHS
19 "/mingw64/bin"19 "/mingw64/bin"
20 "/c/msys64/mingw64/bin"20 "/c/msys64/mingw64/bin"
21 "c:/msys64/mingw64/bin"21 "c:/msys64/mingw64/bin"
22 "C:/Libraries/llvm-17.0.0/bin")22 "C:/Libraries/llvm-18.0.0/bin")
2323
24 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")24 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
25 if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")25 if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
...@@ -37,9 +37,9 @@ if(ZIG_USE_LLVM_CONFIG)...@@ -37,9 +37,9 @@ if(ZIG_USE_LLVM_CONFIG)
37 OUTPUT_STRIP_TRAILING_WHITESPACE)37 OUTPUT_STRIP_TRAILING_WHITESPACE)
3838
39 get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)39 get_filename_component(LLVM_CONFIG_DIR "${LLVM_CONFIG_EXE}" DIRECTORY)
40 if("${LLVM_CONFIG_VERSION}" VERSION_LESS 17 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 18 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 18)40 if("${LLVM_CONFIG_VERSION}" VERSION_LESS 18 OR "${LLVM_CONFIG_VERSION}" VERSION_EQUAL 19 OR "${LLVM_CONFIG_VERSION}" VERSION_GREATER 19)
41 # Save the error message, in case this is the last llvm-config we find41 # Save the error message, in case this is the last llvm-config we find
42 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 17.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")42 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "expected LLVM 18.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
4343
44 # Ignore this directory and try the search again44 # Ignore this directory and try the search again
45 list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")45 list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
...@@ -63,9 +63,9 @@ if(ZIG_USE_LLVM_CONFIG)...@@ -63,9 +63,9 @@ if(ZIG_USE_LLVM_CONFIG)
63 if (LLVM_CONFIG_ERROR) 63 if (LLVM_CONFIG_ERROR)
64 # Save the error message, in case this is the last llvm-config we find64 # Save the error message, in case this is the last llvm-config we find
65 if (ZIG_SHARED_LLVM)65 if (ZIG_SHARED_LLVM)
66 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 17.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")66 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 18.x found at ${LLVM_CONFIG_EXE} does not support linking as a shared library")
67 else()67 else()
68 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 17.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")68 list(APPEND LLVM_CONFIG_ERROR_MESSAGES "LLVM 18.x found at ${LLVM_CONFIG_EXE} does not support linking as a static library")
69 endif()69 endif()
7070
71 # Ignore this directory and try the search again71 # Ignore this directory and try the search again
...@@ -195,6 +195,7 @@ else()...@@ -195,6 +195,7 @@ else()
195 FIND_AND_ADD_LLVM_LIB(LLVMXRay)195 FIND_AND_ADD_LLVM_LIB(LLVMXRay)
196 FIND_AND_ADD_LLVM_LIB(LLVMLibDriver)196 FIND_AND_ADD_LLVM_LIB(LLVMLibDriver)
197 FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver)197 FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver)
198 FIND_AND_ADD_LLVM_LIB(LLVMTextAPIBinaryReader)
198 FIND_AND_ADD_LLVM_LIB(LLVMCoverage)199 FIND_AND_ADD_LLVM_LIB(LLVMCoverage)
199 FIND_AND_ADD_LLVM_LIB(LLVMLineEditor)200 FIND_AND_ADD_LLVM_LIB(LLVMLineEditor)
200 FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler)201 FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler)
...@@ -296,6 +297,7 @@ else()...@@ -296,6 +297,7 @@ else()
296 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Desc)297 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Desc)
297 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Utils)298 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Utils)
298 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Info)299 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Info)
300 FIND_AND_ADD_LLVM_LIB(LLVMOrcDebugging)
299 FIND_AND_ADD_LLVM_LIB(LLVMOrcJIT)301 FIND_AND_ADD_LLVM_LIB(LLVMOrcJIT)
300 FIND_AND_ADD_LLVM_LIB(LLVMWindowsDriver)302 FIND_AND_ADD_LLVM_LIB(LLVMWindowsDriver)
301 FIND_AND_ADD_LLVM_LIB(LLVMMCJIT)303 FIND_AND_ADD_LLVM_LIB(LLVMMCJIT)
...@@ -315,6 +317,7 @@ else()...@@ -315,6 +317,7 @@ else()
315 FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)317 FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
316 FIND_AND_ADD_LLVM_LIB(LLVMLTO)318 FIND_AND_ADD_LLVM_LIB(LLVMLTO)
317 FIND_AND_ADD_LLVM_LIB(LLVMPasses)319 FIND_AND_ADD_LLVM_LIB(LLVMPasses)
320 FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
318 FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)321 FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)
319 FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)322 FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
320 FIND_AND_ADD_LLVM_LIB(LLVMipo)323 FIND_AND_ADD_LLVM_LIB(LLVMipo)
...@@ -322,10 +325,13 @@ else()...@@ -322,10 +325,13 @@ else()
322 FIND_AND_ADD_LLVM_LIB(LLVMLinker)325 FIND_AND_ADD_LLVM_LIB(LLVMLinker)
323 FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)326 FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)
324 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP)327 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP)
328 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOffloading)
325 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)329 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
326 FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)330 FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
331 FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
327 FIND_AND_ADD_LLVM_LIB(LLVMExtensions)332 FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
328 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)333 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
334 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
329 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)335 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
330 FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel)336 FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel)
331 FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)337 FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)