about summary refs log tree commit diff
path: root/pkgs/build-support/bintools-wrapper/setup-hook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/bintools-wrapper/setup-hook.sh')
-rw-r--r--pkgs/build-support/bintools-wrapper/setup-hook.sh9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/build-support/bintools-wrapper/setup-hook.sh b/pkgs/build-support/bintools-wrapper/setup-hook.sh
index 7e9547b96c259..ba09d19b1f269 100644
--- a/pkgs/build-support/bintools-wrapper/setup-hook.sh
+++ b/pkgs/build-support/bintools-wrapper/setup-hook.sh
@@ -1,3 +1,4 @@
+# shellcheck shell=bash
 # Binutils Wrapper hygiene
 #
 # See comments in cc-wrapper's setup hook. This works exactly the same way.
@@ -14,7 +15,9 @@ bintoolsWrapper_addLDVars () {
     getHostRoleEnvHook
 
     if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then
-        export NIX_LDFLAGS${role_post}+=" -L$1/lib64"
+        varName=NIX_LDFLAGS${role_post}
+        eval "$varName=\"${!varName:-} -L$1/lib64\""
+        export "${varName?}"
     fi
 
     if [[ -d "$1/lib" ]]; then
@@ -24,7 +27,9 @@ bintoolsWrapper_addLDVars () {
         # directories and bloats the size of the environment variable space.
         local -a glob=( $1/lib/lib* )
         if [ "${#glob[*]}" -gt 0 ]; then
-            export NIX_LDFLAGS${role_post}+=" -L$1/lib"
+            varName=NIX_LDFLAGS${role_post}
+            eval "$varName=\"${!varName:-} -L$1/lib\""
+            export "${varName?}"
         fi
     fi
 }