nixpkgs/pkgs/development/compilers/llvm/10
sternenseemann c70dca8249 llvmPackages_*.libllvm: make llvm-config and llvm-config equivalent
LLVM's build system creates NATIVE/bin/llvm-config by reexecuting cmake
with entirely new flags. Problematically, the `CMAKE_INSTALL_*` flags
are not inherited, causing llvm-config-native to return wrong
installation paths, e. g. CMAKE_INSTALL_LIBDIR would default to `lib64`
on x86_64-linux. Previously this was masked by outputs.patch which
replaced ActiveLibDir with a string passed in from Nix, however
`--cmakedir` for example would turn out to be wrong always, breaking
cross-compilation of e. g. lld.

Additionally LLVM_ENABLE_RTTI needs to be repassed, as it is used to
determine if RTTI is available. Passing LLVM_LINK_LLVM_DYLIB is crucial
if we are building LLVM non-statically: It influences the --shared-mode
flag (which should indicate that -lLLVM is enough to link all
components) and makes --link-shared work in the first place,
i. e. llvm-config-native believes the built shared libs don't exist
unless we repass this flag.

Passing LLVM_LINK_LLVM_DYLIB=ON, however, makes the native build produce
a full libLLVM.so which is something we don't want, so we introduce a
patch which forces llvm-config to link statically against the LLVM
components it needs.
2022-01-04 11:09:43 +01:00
..
bintools treewide: Try to make a few bootstrapping things more consistent 2021-05-12 00:14:56 +00:00
clang llvmPackages_*.clang: stop passing LLVM_CONFIG_PATH unnecessarily 2022-01-03 16:46:38 +01:00
compiler-rt pkgsStatic.llvmPackages_{{5..13},git}.compiler-rt: drop unused musl patches 2021-10-21 18:42:31 +01:00
libcxx llvmPackages.libcxx: unset _LIBCPP_USE_AVAILABILITY_APPLE 2021-12-18 10:09:25 -05:00
libcxxabi llvmPackages: Fix more inconsistencies 2021-05-12 00:16:11 +00:00
libunwind llvmPackages: Fix more inconsistencies 2021-05-12 00:16:11 +00:00
lld llvmPackages: Fix more inconsistencies 2021-05-12 00:16:11 +00:00
lldb lldb: python into lib & wrap binary 2021-06-09 16:09:29 +01:00
llvm llvmPackages_*.libllvm: make llvm-config and llvm-config equivalent 2022-01-04 11:09:43 +01:00
openmp llvmPackages: Fix more inconsistencies 2021-05-12 00:16:11 +00:00
default.nix lib: make extendDerivation lighter on eval 2021-10-15 16:39:10 +02:00