summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-10-25 11:33:39 +0100
committerVladimír Čunát <vcunat@gmail.com>2015-10-28 10:15:54 +0100
commit55d129609ddbf667e7a93a9fd0638336a348a647 (patch)
tree110ee7461814a43865b8e322918baf64367a0e99 /pkgs/build-support
parentcd7a78d7e421d2623f186ad1bdf9c220e5a055d4 (diff)
downloadnixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar.gz
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar.bz2
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar.lz
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar.xz
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.tar.zst
nixpkgs-55d129609ddbf667e7a93a9fd0638336a348a647.zip
cc-wrapper: correct ccLDFlags with multiple outputs
Note: -B argument seems more like for gcc's main output,
though it's used in a bit strange way here.
(Upstream default is /usr/lib/gcc/ which we don't move.)
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix11
1 files changed, 6 insertions, 5 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index e46b67db2f1..8bb215947b0 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -29,6 +29,7 @@ let
   libc_bin = if nativeLibc then null else libc.bin or libc;
   libc_dev = if nativeLibc then null else libc.dev or libc;
   libc_lib = if nativeLibc then null else libc.out or libc;
+  cc_solib = cc.lib or cc;
   binutils_bin = if nativeTools then null else binutils.bin or binutils;
   # The wrapper scripts use 'cat', so we may need coreutils.
   coreutils_bin = if nativeTools then null else coreutils.bin or coreutils;
@@ -105,14 +106,14 @@ stdenv.mkDerivation {
       # $cc/lib64 (even though it does actually search there...)..
       # This confuses libtool.  So add it to the compiler tool search
       # path explicitly.
-      if [ -e "$cc/lib64" -a ! -L "$cc/lib64" ]; then
-        ccLDFlags+=" -L$cc/lib64"
-        ccCFlags+=" -B$cc/lib64"
+      if [ -e "${cc.out}/lib64" -a ! -L "${cc.out}/lib64" ]; then
+        ccLDFlags+=" -L${cc_solib}/lib64"
+        ccCFlags+=" -B${cc.out}/lib64"
       fi
-      ccLDFlags+=" -L$cc/lib"
+      ccLDFlags+=" -L${cc_solib}/lib"
 
       ${optionalString cc.langVhdl or false ''
-        ccLDFlags+=" -L${zlib}/lib"
+        ccLDFlags+=" -L${zlib.out}/lib"
       ''}
 
       # Find the gcc libraries path (may work only without multilib).