From 0d8014f6fcdf7fbbea93f5bf8fd1750da66d4d2c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Jul 2014 15:53:30 +0200 Subject: [PATCH] Darwin: Search for libraries in $sdk/usr/lib This required adding a new environment variable NIX_LDFLAGS_AFTER that ensures that the -L.../usr/lib flag happens last. --- pkgs/build-support/clang-wrapper/ld-wrapper.sh | 4 ++-- pkgs/build-support/gcc-wrapper/ld-wrapper.sh | 4 ++-- pkgs/stdenv/nix/default.nix | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/clang-wrapper/ld-wrapper.sh b/pkgs/build-support/clang-wrapper/ld-wrapper.sh index ae45c62d460a..105d1670eb6a 100644 --- a/pkgs/build-support/clang-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/clang-wrapper/ld-wrapper.sh @@ -48,8 +48,8 @@ extra=() extraBefore=() if test -z "$NIX_LDFLAGS_SET"; then - extra=(${extra[@]} $NIX_LDFLAGS) - extraBefore=(${extraBefore[@]} $NIX_LDFLAGS_BEFORE) + extra+=($NIX_LDFLAGS $NIX_LDFLAGS_AFTER) + extraBefore+=($NIX_LDFLAGS_BEFORE) fi diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh index ff3f320e0d8e..5b8af068a00c 100644 --- a/pkgs/build-support/gcc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/gcc-wrapper/ld-wrapper.sh @@ -48,8 +48,8 @@ extra=() extraBefore=() if test -z "$NIX_LDFLAGS_SET"; then - extra=(${extra[@]} $NIX_LDFLAGS) - extraBefore=(${extraBefore[@]} $NIX_LDFLAGS_BEFORE) + extra+=($NIX_LDFLAGS $NIX_LDFLAGS_AFTER) + extraBefore+=($NIX_LDFLAGS_BEFORE) fi diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index 84bcea7f643d..ba693443b056 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -17,12 +17,10 @@ import ../generic rec { xargsFlags=" " fi '' + (if stdenv.isDarwin then '' - export NIX_CFLAGS_COMPILE="--sysroot=/var/empty" - if xcodePath=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null); then - NIX_CFLAGS_COMPILE+=" -idirafter $xcodePath/usr/include -F$xcodePath/System/Library/Frameworks" - else - NIX_CFLAGS_COMPILE+=" -idirafter /usr/include -F/System/Library/Frameworks" - fi + export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty" + xcodePath=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null || true) + export NIX_CFLAGS_COMPILE+=" -idirafter $xcodePath/usr/include -F$xcodePath/System/Library/Frameworks" + export NIX_LDFLAGS_AFTER+=" -L$xcodePath/usr/lib" '' else ""); initialPath = (import ../common-path.nix) {pkgs = pkgs;};