aboutsummaryrefslogtreecommitdiff
path: root/cmake/Findlld.cmake
AgeCommit message (Collapse)Author
2025-08-30build: update to LLVM 21Alex Rønne Petersen
Closes #20966.
2025-04-06Add lld path of linuxbrew installation (#23466)Ziyi Yan
Co-authored-by: Alex Rønne Petersen <alex@alexrp.com>
2025-04-04build: Update to LLVM/Clang 20.Alex Rønne Petersen
2025-04-04Change the lld path on macos homebrewDimitris Dinodimos
Homebrew now provides lld in a separate formula; it was part of llvm formula.
2024-09-19cmake: Update to LLVM 19.Alex Rønne Petersen
Co-authored-by: David Rubin <daviru007@icloud.com>
2024-05-08update CMake files to LLVM 18Andrew Kelley
2023-09-19update cmake files to LLVM 17Andrew Kelley
2023-01-25update cmake files to LLVM 16Andrew Kelley
2022-07-28update to LLVM 15Andrew Kelley
release/15.x 37007475ca1b345b4c5d340e228bcd7a62732d81
2022-07-23CMake: Search more permissively for LLDCody Tapscott
This change relaxes the restriction added in the prior commit that LLD should be alongside LLVM. This also leaves unresolved the issue of making sure the link mode (static or shared) of LLD matches that of LLVM/Clang. That would be an unfortunate restriction, since LLD seems to be provided only as a static lib on some distros.
2022-07-23CMake: Improve usage of `llvm-config`, esp. for consistent linkingCody Tapscott
This commit reworks the LLVM/Clang/LLD discovery process for CMake. The biggest changes are that: 1. We search for LLVM from most preferred directory to least, skipping any `llvm-config` that is the wrong version, or that doesn't support the requested link mode ("static" or "shared"). 2. `ZIG_PREFER_CLANG_CPP_DYLIB` has been renamed to `ZIG_SHARED_LLVM`, to better align with `ZIG_STATIC_LLVM`. 3. We only search for LLVM in the same directory alongside LLVM. 4. LLVM's link mode is forwarded to Clang, so that we can look for the appropriate shared/static libraries. 5. We use `--link-static` when querying `--system-libs` from llvm-config, so that this will include libz and other dependencies for statically linking LLD
2022-07-14CMake: Use NAMES_PER_DIR in all lookupsCody Tapscott
CMake has a surprising default behavior where looking up a library by multiple names gives the name order higher priority than the directory search order. For example, if your system provides "llvm-config-14" and CMAKE_PREFIX_PATH includes "llvm-config", CMake will always end up choosing the system-provided llvm-config-14. This change add NAMES_PER_DIR to request the more sensible behavior: directory search order has higher priority than name order, so CMAKE_PREFIX_PATH always wins over system-provided tools/libraries.
2022-07-01LLD: there are fewer libraries to link against nowAndrew Kelley
2022-07-01Merge remote-tracking branch 'origin/master' into llvm14Andrew Kelley
2022-02-04stage1: Fix missing LLD libraryKazuki Sakamoto
2022-02-03update cmake files to LLVM 14Andrew Kelley
2021-09-15Merge remote-tracking branch 'origin/master' into llvm13Andrew Kelley
Conflicts: * cmake/Findclang.cmake * cmake/Findlld.cmake * cmake/Findllvm.cmake In master branch, more search paths were added to these files with "12" in the path. In this commit I updated them to "13". * src/stage1/codegen.cpp * src/zig_llvm.cpp * src/zig_llvm.h In master branch, ZigLLVMBuildCmpXchg is improved to add `is_single_threaded`. However, the LLVM 13 C API has this already, and in the llvm13 branch, ZigLLVMBuildCmpXchg is deleted in favor of the C API. In this commit I updated stage2 to use the LLVM 13 C API rather than depending on an improved ZigLLVMBuildCmpXchg. Additionally, src/target.zig largestAtomicBits needed to be updated to include the new m68k ISA.
2021-09-08cmake: also check Homebrew install paths when looking for LLVMFnControlOption
- On Intel Macs, the path is /usr/local/opt/llvm@12 - On Silicon Macs, the path is /opt/homebrew/opt/llvm@12 This makes specifying CMAKE_PREFIX_PATH optional for Homebrew LLVM.
2021-08-15cmake: update to LLVM 13 rc1Andrew Kelley
More precisely, aac4fe380d16a957627af2d6e5110ee35ad7e7e7 which is the current tip of release/13.x. Immediately following commits are tracking the same LLVM version.
2021-06-29Remove mention of lldMachO from the projectJakub Konka
including: * finding lldMachO in CMake config * punting `ld64.lld` to LLD linker * providing bindings to LLD linker
2020-12-16Update LLVM version numbers in CMakeJakub Konka
2020-07-24update LLVM 10 version numbers to 11Andrew Kelley
2020-04-07Fix paths to find llvm/clang on DragonFlyMichael Neumann
2020-03-30Create an "LLD_LIBDIRS" var to override lld locBrian Cain
2020-03-25cmake: address new warnings from cmake-3.17Michael Dusan
Match package-name case from CMakeLists.txt . New warning sample: The package name passed to `find_package_handle_standard_args` (LLVM) does not match the name of the calling package (llvm). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern.
2019-10-12Fix lld search pathLemonBoy
2019-10-02llvm 9.0.0 => llvm 10.0.0Andrew Kelley
2019-07-16update to llvm9 trunkAndrew Kelley
2018-12-23Merge remote-tracking branch 'origin/master' into llvm8Andrew Kelley
2018-11-27tier 2 support for freebsdAndrew Kelley
2018-10-20Fix CMake finding LLVM/clang/lld on FreeBSDGreg V
2018-09-19update to llvm 8Andrew Kelley
2018-06-14llvm7: find external liblldWasm and update for newest lld macho APIAndrew Kelley
2017-11-02update to llvm masterAndrew Kelley
2017-08-26update build to look for llvm 5.0Andrew Kelley
2017-06-03add appveyor integration testingAndrew Kelley
2017-04-13build: ignore libLLD.so when it is a broken symlinkAndrew Kelley
closes #318
2017-04-11try harder to find lldAndrew Kelley
2017-03-29fix cmake finding dependencies for ubuntuJosh Wolfe
2017-03-13use lld instead of system linkerAndrew Kelley