diff options
Diffstat (limited to 'pkgs/build-support/gcc-wrapper/setup-hook-stdinc.sh')
-rw-r--r-- | pkgs/build-support/gcc-wrapper/setup-hook-stdinc.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/build-support/gcc-wrapper/setup-hook-stdinc.sh b/pkgs/build-support/gcc-wrapper/setup-hook-stdinc.sh new file mode 100644 index 00000000000..22e778b0690 --- /dev/null +++ b/pkgs/build-support/gcc-wrapper/setup-hook-stdinc.sh @@ -0,0 +1,44 @@ +# This is an alternate setup hook for gcc-wrapper that uses the -I flag to +# add include search paths instead of -isystem. We need this for some packages +# because -isystem can change the search order specified by prior -I flags. +# Changing the search order can point gcc to the wrong package's headers. +# The -I flag will never change the order of prior flags. + +export NIX_CC=@out@ + +addCVars () { + if [ -d $1/include ]; then + export NIX_CFLAGS_COMPILE+=" -I $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 +} + +envHooks+=(addCVars) + +# Note: these come *after* $out in the PATH (see setup.sh). + +if [ -n "@gcc@" ]; then + addToSearchPath PATH @gcc@/bin +fi + +if [ -n "@binutils@" ]; then + addToSearchPath PATH @binutils@/bin +fi + +if [ -n "@libc@" ]; then + addToSearchPath PATH @libc@/bin +fi + +if [ -n "@coreutils@" ]; then + addToSearchPath PATH @coreutils@/bin +fi + +export CC=gcc +export CXX=g++ |