diff options
author | Bojan Nikolic <bojan@bnikolic.co.uk> | 2017-11-03 21:36:43 +0000 |
---|---|---|
committer | Bojan Nikolic <bojan@bnikolic.co.uk> | 2017-11-03 21:36:43 +0000 |
commit | 3e9daece1d1ed6919061f965bc9acea5c6f68a3b (patch) | |
tree | 80ededa030427fb60533a8122882ce53c560ecb3 /pkgs/build-support/cc-wrapper | |
parent | 21806cfb8388c0fedeb035fd280e6cb47adb9c8f (diff) | |
download | nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar.gz nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar.bz2 nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar.lz nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar.xz nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.tar.zst nixlib-3e9daece1d1ed6919061f965bc9acea5c6f68a3b.zip |
nixos/cc-wrapper: Fix bug if dynamicLinker not found
If a dynamic linker for target is not found the generated script fails due to unbound variable error (due to "set -u"). Correct by specifying default value with dynamicLinker:- and not generating ldflagsBefore if no linker is found. This problem was found when cross compiling to mingw32 targets
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 489fb02dcb5d..80f794cbdde2 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -286,7 +286,7 @@ stdenv.mkDerivation { *) echo "Multiple dynamic linkers found for platform '${targetPlatform.config}'." >&2;; esac - if [ -n "$dynamicLinker" ]; then + if [ -n "''${dynamicLinker:-}" ]; then echo $dynamicLinker > $out/nix-support/dynamic-linker '' + (if targetPlatform.isDarwin then '' @@ -296,7 +296,9 @@ stdenv.mkDerivation { echo ${libc_lib}/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 fi - local ldflagsBefore=(-dynamic-linker "$dynamicLinker") + if [ -n "''${dynamicLinker:-}" ]; then + local ldflagsBefore=(-dynamic-linker "$dynamicLinker") + fi '') + '' fi |