about summary refs log tree commit diff
path: root/pkgs/development/libraries/gettext
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-03-23 12:07:11 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-03-23 12:07:11 -0400
commit1482c3c8d8257d5b33e978c8e1888d69c706130a (patch)
tree37c98e1cedaa6db0215901013fce72cd51f837ed /pkgs/development/libraries/gettext
parent0b7a3308b71d198860104704f3133ac93ce7246e (diff)
gettext: Make setup hook work for cross
Diffstat (limited to 'pkgs/development/libraries/gettext')
-rw-r--r--pkgs/development/libraries/gettext/gettext-setup-hook.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index dabd1e0af936a..074d313e48aab 100644
--- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -9,7 +9,18 @@ addEnvHooks "$hostOffset" gettextDataDirsHook
 # libintl must be listed in load flags on non-Glibc
 # it doesn't hurt to have it in Glibc either though
 gettextLdflags() {
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lintl"
+    # The `depHostOffset` describes how the host platform of the dependencies
+    # are slid relative to the depending package. It is brought into scope of
+    # the environment hook defined as the role of the dependency being applied.
+    case $depHostOffset in
+        -1) local role='BUILD_' ;;
+        0)  local role='' ;;
+        1)  local role='TARGET_' ;;
+        *)  echo "cc-wrapper: Error: Cannot be used with $depHostOffset-offset deps" >2;
+            return 1 ;;
+    esac
+
+    export NIX_${role}LDFLAGS+=" -lintl"
 }
 
 if [ ! -z "@gettextNeedsLdflags@" ]; then