summary refs log tree commit diff
path: root/pkgs/build-support/cc-wrapper/setup-hook.sh
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-04-18 11:00:58 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-04-18 11:22:20 +0200
commitbf414c9d4f892fd4e392a5f42016b57e84402a8b (patch)
tree08c000d609ed8e608ca542fa78360e4217f3fc36 /pkgs/build-support/cc-wrapper/setup-hook.sh
parent29901451700a7382f3f9d5a0a23cd55b187e5585 (diff)
parent9de9669496a05f64ea436c01f9b66c057cd74f90 (diff)
downloadnixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.gz
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.bz2
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.lz
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.xz
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.zst
nixlib-bf414c9d4f892fd4e392a5f42016b57e84402a8b.zip
Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
Diffstat (limited to 'pkgs/build-support/cc-wrapper/setup-hook.sh')
-rw-r--r--pkgs/build-support/cc-wrapper/setup-hook.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh
new file mode 100644
index 000000000000..e8ab44b3d6fb
--- /dev/null
+++ b/pkgs/build-support/cc-wrapper/setup-hook.sh
@@ -0,0 +1,47 @@
+export NIX_CC=@out@
+
+addCVars () {
+    if [ -d $1/include ]; then
+        export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
+    fi
+
+    if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
+        export NIX_LDFLAGS+=" -L$1/lib64"
+    fi
+
+    if [ -d $1/lib ]; then
+        export NIX_LDFLAGS+=" -L$1/lib"
+    fi
+
+    if test -d $1/Library/Frameworks; then
+        export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -F$1/Library/Frameworks"
+    fi
+}
+
+envHooks+=(addCVars)
+
+# Note: these come *after* $out in the PATH (see setup.sh).
+
+if [ -n "@cc@" ]; then
+    addToSearchPath PATH @cc@/bin
+fi
+
+if [ -n "@binutils_bin@" ]; then
+    addToSearchPath PATH @binutils_bin@/bin
+fi
+
+if [ -n "@libc_bin@" ]; then
+    addToSearchPath PATH @libc_bin@/bin
+fi
+
+if [ -n "@coreutils_bin@" ]; then
+    addToSearchPath PATH @coreutils_bin@/bin
+fi
+
+if [ -z "$crossConfig" ]; then
+    export CC=@real_cc@
+    export CXX=@real_cxx@
+else
+    export BUILD_CC=@real_cc@
+    export BUILD_CXX=@real_cxx@
+fi