nixpkgs/pkgs
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
..
applications Merge staging-next into staging 2022-01-04 06:01:41 +00:00
build-support Merge staging-next into staging 2022-01-04 06:01:41 +00:00
common-updater
data Merge remote-tracking branch 'origin/master' into staging-next 2022-01-03 23:21:08 +01:00
desktops Merge staging-next into staging 2022-01-04 06:01:41 +00:00
development llvmPackages_*.libllvm: make llvm-config and llvm-config equivalent 2022-01-04 11:09:43 +01:00
games Merge staging-next into staging 2022-01-04 00:02:40 +00:00
misc Merge staging-next into staging 2022-01-04 06:01:41 +00:00
os-specific Merge staging-next into staging 2022-01-04 00:02:40 +00:00
pkgs-lib
servers Merge staging-next into staging 2022-01-04 00:02:40 +00:00
shells elvish: move test to installCheckPhase 2022-01-04 00:30:56 +11:00
stdenv
test
tools Merge staging-next into staging 2022-01-04 00:02:40 +00:00
top-level Merge staging-next into staging 2022-01-04 06:01:41 +00:00