llvmPackages/libllvm: move static archives to dev output
Reduces closure size by ~240MiB (down to ~100MiB) for LLVM 13, the others are similar. Having those archives in the lib output makes no sense as they are no runtime dependencies. Removing them alltogether is also not an option because the dynamic libraries offer only the C API while many users of libllvm require the C++ API. Those users must have an dependency on libllvm.dev anyway and will find those files for linking.
This commit is contained in:
parent
832aaff72a
commit
1748887ff2
|
@ -244,6 +244,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -255,6 +255,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -242,6 +242,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -205,6 +205,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -200,6 +200,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -222,6 +222,12 @@ stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
|
||||
'') versionSuffixes}
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -215,6 +215,12 @@ stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
|
||||
'') versionSuffixes}
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -234,6 +234,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
|
||||
'') versionSuffixes}
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -226,6 +226,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -241,6 +241,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
|
@ -200,6 +200,12 @@ in stdenv.mkDerivation (rec {
|
|||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
''
|
||||
+ optionalString enableSharedLibraries ''
|
||||
mkdir -p $dev/lib
|
||||
mv $lib/lib/*.a $dev/lib
|
||||
sed -i -E "s|$lib/lib/(.*)\.a|$dev/lib/\1\.a|" \
|
||||
"$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake"
|
||||
''
|
||||
+ optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue