summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@yahoo.com>2017-11-28 16:11:36 -0500
committerGitHub <noreply@github.com>2017-11-28 16:11:36 -0500
commit5efca65f24e7f8edf2becdb240d4795fb11e1924 (patch)
tree03119d299dcfd6e71b4a0859ad18fb55a253f90a /pkgs/build-support
parent8b53b2ec2c7ec4d87b8d27df7fe0c85812e29bf5 (diff)
parent43e113739786ed51de7e829637493a58273cdf02 (diff)
downloadnixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar.gz
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar.bz2
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar.lz
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar.xz
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.tar.zst
nixlib-5efca65f24e7f8edf2becdb240d4795fb11e1924.zip
Merge pull request #28448 from obsidiansystems/cc-wrapper-setup-var
cc-wrapper: Newstyle setup vars
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh26
1 files changed, 16 insertions, 10 deletions
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
index a8f29bd5877d..7822b7f84d00 100644
--- a/pkgs/build-support/cc-wrapper/setup-hook.sh
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -97,10 +97,12 @@ ccWrapper_addCVars () {
 # setup-hook, which `role` tracks.
 if [ -n "${crossConfig:-}" ]; then
     export NIX_CC_WRAPPER_@infixSalt@_TARGET_BUILD=1
-    role="BUILD_"
+    role_pre='BUILD_'
+    role_post='_FOR_BUILD'
 else
     export NIX_CC_WRAPPER_@infixSalt@_TARGET_HOST=1
-    role=""
+    role_pre=''
+    role_post=''
 fi
 
 # Eventually the exact sort of env-hook we create will depend on the role. This
@@ -133,20 +135,24 @@ fi
 
 # Export tool environment variables so various build systems use the right ones.
 
-export NIX_${role}CC=@out@
+export NIX_${role_pre}CC=@out@
 
-export ${role}CC=@named_cc@
-export ${role}CXX=@named_cxx@
+export ${role_pre}CC=@named_cc@
+export ${role_pre}CXX=@named_cxx@
+export CC${role_post}=@named_cc@
+export CXX${role_post}=@named_cxx@
 
-for CMD in \
-    ar as nm objcopy ranlib strip strings size ld windres
+for cmd in \
+    ar as ld nm objcopy objdump readelf ranlib strip strings size windres
 do
     if
-        PATH=$_PATH type -p "@targetPrefix@$CMD" > /dev/null
+        PATH=$_PATH type -p "@targetPrefix@${cmd}" > /dev/null
     then
-        export "${role}$(echo "$CMD" | tr "[:lower:]" "[:upper:]")=@targetPrefix@${CMD}";
+        upper_case="$(echo "$cmd" | tr "[:lower:]" "[:upper:]")"
+        export "${role_pre}${upper_case}=@targetPrefix@${cmd}";
+        export "${upper_case}${role_post}=@targetPrefix@${cmd}";
     fi
 done
 
 # No local scope in sourced file
-unset role
+unset -v role_pre role_post cmd upper_case