summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/gcc-wrapper/gcc-wrapper.sh10
-rw-r--r--pkgs/stdenv/freebsd/prehook.sh5
2 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
index 4db12afb5ce8..7de57afc3f81 100644
--- a/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
+++ b/pkgs/build-support/gcc-wrapper/gcc-wrapper.sh
@@ -116,6 +116,10 @@ fi
 # Call the real `gcc'.  Filter out warnings from stderr about unused
 # `-B' flags, since they confuse some programs.  Deep bash magic to
 # apply grep to stderr (by swapping stdin/stderr twice).
-(@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
-    | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
-exit $?
+if test -z "$NIX_GCC_NEEDS_GREP"; then
+    @gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]}
+else
+    (@gccProg@ ${extraBefore[@]} "${params[@]}" ${extraAfter[@]} 3>&2 2>&1 1>&3- \
+        | (grep -v 'file path prefix' || true); exit ${PIPESTATUS[0]}) 3>&2 2>&1 1>&3-
+    exit $?
+fi    
diff --git a/pkgs/stdenv/freebsd/prehook.sh b/pkgs/stdenv/freebsd/prehook.sh
index 5dcc55fdf077..a82f5d21dfce 100644
--- a/pkgs/stdenv/freebsd/prehook.sh
+++ b/pkgs/stdenv/freebsd/prehook.sh
@@ -1,4 +1,7 @@
 export NIX_ENFORCE_PURITY=
 alias make=gmake
 export MAKE=gmake
-shopt -s expand_aliases
\ No newline at end of file
+shopt -s expand_aliases
+
+# Filter out stupid GCC warnings (in gcc-wrapper).
+export NIX_GCC_NEEDS_GREP=1