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()
140140 set(ZIG_SYSTEM_LIBCXX "stdc++" CACHE STRING "system libcxx name for build.zig")
141141endif()
142142
143find_package(llvm 17)
144find_package(clang 17)
145find_package(lld 17)
143find_package(llvm 18)
144find_package(clang 18)
145find_package(lld 18)
146146
147147if(ZIG_STATIC_ZLIB)
148148 if (MSVC)
build.zig+6
......@@ -1068,6 +1068,7 @@ const llvm_libs = [_][]const u8{
10681068 "LLVMXRay",
10691069 "LLVMLibDriver",
10701070 "LLVMDlltoolDriver",
1071 "LLVMTextAPIBinaryReader",
10711072 "LLVMCoverage",
10721073 "LLVMLineEditor",
10731074 "LLVMXCoreDisassembler",
......@@ -1169,6 +1170,7 @@ const llvm_libs = [_][]const u8{
11691170 "LLVMAArch64Desc",
11701171 "LLVMAArch64Utils",
11711172 "LLVMAArch64Info",
1173 "LLVMOrcDebugging",
11721174 "LLVMOrcJIT",
11731175 "LLVMWindowsDriver",
11741176 "LLVMMCJIT",
......@@ -1188,6 +1190,7 @@ const llvm_libs = [_][]const u8{
11881190 "LLVMMCDisassembler",
11891191 "LLVMLTO",
11901192 "LLVMPasses",
1193 "LLVMHipStdPar",
11911194 "LLVMCFGuard",
11921195 "LLVMCoroutines",
11931196 "LLVMipo",
......@@ -1195,10 +1198,13 @@ const llvm_libs = [_][]const u8{
11951198 "LLVMLinker",
11961199 "LLVMInstrumentation",
11971200 "LLVMFrontendOpenMP",
1201 "LLVMFrontendOffloading",
11981202 "LLVMFrontendOpenACC",
11991203 "LLVMFrontendHLSL",
1204 "LLVMFrontendDriver",
12001205 "LLVMExtensions",
12011206 "LLVMDWARFLinkerParallel",
1207 "LLVMDWARFLinkerClassic",
12021208 "LLVMDWARFLinker",
12031209 "LLVMGlobalISel",
12041210 "LLVMMIRParser",
cmake/Findclang.cmake+3-3
......@@ -17,9 +17,9 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
1717if(${LLVM_LINK_MODE} STREQUAL "shared")
1818 find_library(CLANG_LIBRARIES
1919 NAMES
20 libclang-cpp.so.17
21 clang-cpp-17.0
22 clang-cpp170
20 libclang-cpp.so.18
21 clang-cpp-18.0
22 clang-cpp180
2323 clang-cpp
2424 NAMES_PER_DIR
2525 HINTS "${LLVM_LIBDIRS}"
cmake/Findlld.cmake+16-16
......@@ -9,21 +9,21 @@
99find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
1010 HINTS ${LLVM_INCLUDE_DIRS}
1111 PATHS
12 /usr/lib/llvm-17/include
13 /usr/local/llvm170/include
14 /usr/local/llvm17/include
15 /usr/local/opt/llvm@17/include
16 /opt/homebrew/opt/llvm@17/include
12 /usr/lib/llvm-18/include
13 /usr/local/llvm180/include
14 /usr/local/llvm18/include
15 /usr/local/opt/llvm@18/include
16 /opt/homebrew/opt/llvm@18/include
1717 /mingw64/include)
1818
19find_library(LLD_LIBRARY NAMES lld-17.0 lld170 lld NAMES_PER_DIR
19find_library(LLD_LIBRARY NAMES lld-18.0 lld180 lld NAMES_PER_DIR
2020 HINTS ${LLVM_LIBDIRS}
2121 PATHS
22 /usr/lib/llvm-17/lib
23 /usr/local/llvm170/lib
24 /usr/local/llvm17/lib
25 /usr/local/opt/llvm@17/lib
26 /opt/homebrew/opt/llvm@17/lib
22 /usr/lib/llvm-18/lib
23 /usr/local/llvm180/lib
24 /usr/local/llvm18/lib
25 /usr/local/opt/llvm@18/lib
26 /opt/homebrew/opt/llvm@18/lib
2727)
2828if(EXISTS ${LLD_LIBRARY})
2929 set(LLD_LIBRARIES ${LLD_LIBRARY})
......@@ -34,11 +34,11 @@ else()
3434 HINTS ${LLVM_LIBDIRS}
3535 PATHS
3636 ${LLD_LIBDIRS}
37 /usr/lib/llvm-17/lib
38 /usr/local/llvm170/lib
39 /usr/local/llvm17/lib
40 /usr/local/opt/llvm@17/lib
41 /opt/homebrew/opt/llvm@17/lib
37 /usr/lib/llvm-18/lib
38 /usr/local/llvm180/lib
39 /usr/local/llvm18/lib
40 /usr/local/opt/llvm@18/lib
41 /opt/homebrew/opt/llvm@18/lib
4242 /mingw64/lib
4343 /c/msys64/mingw64/lib
4444 c:/msys64/mingw64/lib)
cmake/Findllvm.cmake+12-6
......@@ -14,12 +14,12 @@ if(ZIG_USE_LLVM_CONFIG)
1414 while(1)
1515 unset(LLVM_CONFIG_EXE CACHE)
1616 find_program(LLVM_CONFIG_EXE
17 NAMES llvm-config-17 llvm-config-17.0 llvm-config170 llvm-config17 llvm-config NAMES_PER_DIR
17 NAMES llvm-config-18 llvm-config-18.0 llvm-config180 llvm-config18 llvm-config NAMES_PER_DIR
1818 PATHS
1919 "/mingw64/bin"
2020 "/c/msys64/mingw64/bin"
2121 "c:/msys64/mingw64/bin"
22 "C:/Libraries/llvm-17.0.0/bin")
22 "C:/Libraries/llvm-18.0.0/bin")
2323
2424 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
2525 if (NOT LLVM_CONFIG_ERROR_MESSAGES STREQUAL "")
......@@ -37,9 +37,9 @@ if(ZIG_USE_LLVM_CONFIG)
3737 OUTPUT_STRIP_TRAILING_WHITESPACE)
3838
3939 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)
4141 # 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
4444 # Ignore this directory and try the search again
4545 list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
......@@ -63,9 +63,9 @@ if(ZIG_USE_LLVM_CONFIG)
6363 if (LLVM_CONFIG_ERROR)
6464 # Save the error message, in case this is the last llvm-config we find
6565 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")
6767 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")
6969 endif()
7070
7171 # Ignore this directory and try the search again
......@@ -195,6 +195,7 @@ else()
195195 FIND_AND_ADD_LLVM_LIB(LLVMXRay)
196196 FIND_AND_ADD_LLVM_LIB(LLVMLibDriver)
197197 FIND_AND_ADD_LLVM_LIB(LLVMDlltoolDriver)
198 FIND_AND_ADD_LLVM_LIB(LLVMTextAPIBinaryReader)
198199 FIND_AND_ADD_LLVM_LIB(LLVMCoverage)
199200 FIND_AND_ADD_LLVM_LIB(LLVMLineEditor)
200201 FIND_AND_ADD_LLVM_LIB(LLVMXCoreDisassembler)
......@@ -296,6 +297,7 @@ else()
296297 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Desc)
297298 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Utils)
298299 FIND_AND_ADD_LLVM_LIB(LLVMAArch64Info)
300 FIND_AND_ADD_LLVM_LIB(LLVMOrcDebugging)
299301 FIND_AND_ADD_LLVM_LIB(LLVMOrcJIT)
300302 FIND_AND_ADD_LLVM_LIB(LLVMWindowsDriver)
301303 FIND_AND_ADD_LLVM_LIB(LLVMMCJIT)
......@@ -315,6 +317,7 @@ else()
315317 FIND_AND_ADD_LLVM_LIB(LLVMMCDisassembler)
316318 FIND_AND_ADD_LLVM_LIB(LLVMLTO)
317319 FIND_AND_ADD_LLVM_LIB(LLVMPasses)
320 FIND_AND_ADD_LLVM_LIB(LLVMHipStdPar)
318321 FIND_AND_ADD_LLVM_LIB(LLVMCFGuard)
319322 FIND_AND_ADD_LLVM_LIB(LLVMCoroutines)
320323 FIND_AND_ADD_LLVM_LIB(LLVMipo)
......@@ -322,10 +325,13 @@ else()
322325 FIND_AND_ADD_LLVM_LIB(LLVMLinker)
323326 FIND_AND_ADD_LLVM_LIB(LLVMInstrumentation)
324327 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenMP)
328 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOffloading)
325329 FIND_AND_ADD_LLVM_LIB(LLVMFrontendOpenACC)
326330 FIND_AND_ADD_LLVM_LIB(LLVMFrontendHLSL)
331 FIND_AND_ADD_LLVM_LIB(LLVMFrontendDriver)
327332 FIND_AND_ADD_LLVM_LIB(LLVMExtensions)
328333 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerParallel)
334 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinkerClassic)
329335 FIND_AND_ADD_LLVM_LIB(LLVMDWARFLinker)
330336 FIND_AND_ADD_LLVM_LIB(LLVMGlobalISel)
331337 FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)