llvm: fix llvm-config on darwin
With 7.1 llvm-config looks for libLLVM-7.1.dylib, but the shortVersion was still 7 so only 7 and 7.1.0 where aliased before. $ llvm-config --link-shared llvm-config: error: libLLVM-7.1.dylib is missing
This commit is contained in:
parent
0f10b72b5f
commit
807ba5f123
@ -25,9 +25,10 @@ let
|
||||
src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v";
|
||||
polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h";
|
||||
|
||||
# Used when creating a version-suffixed symlink of libLLVM.dylib
|
||||
shortVersion = with stdenv.lib;
|
||||
concatStringsSep "." (take 1 (splitString "." release_version));
|
||||
# Used when creating a versioned symlinks of libLLVM.dylib
|
||||
versionSuffixes = with stdenv.lib;
|
||||
let parts = splitString "." release_version; in
|
||||
imap (i: _: concatStringsSep "." (take i parts)) parts;
|
||||
|
||||
in stdenv.mkDerivation (rec {
|
||||
name = "llvm-${version}";
|
||||
@ -142,8 +143,9 @@ in stdenv.mkDerivation (rec {
|
||||
+ optionalString (stdenv.isDarwin && enableSharedLibraries) ''
|
||||
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
${stdenv.lib.concatMapStringsSep "\n" (v: ''
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${v}.dylib
|
||||
'') versionSuffixes}
|
||||
'';
|
||||
|
||||
doCheck = stdenv.isLinux && (!stdenv.isx86_32);
|
||||
|
Loading…
x
Reference in New Issue
Block a user