diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index f6826c837ca1..8f930eb4dc4f 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -9,7 +9,6 @@ , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell , zlib ? null, extraPackages ? [] , dyld ? null # TODO: should this be a setup-hook on dyld? -, setupHook ? ./setup-hook.sh }: with stdenv.lib; @@ -226,7 +225,7 @@ stdenv.mkDerivation { '' + '' - substituteAll ${setupHook} $out/nix-support/setup-hook.tmp + substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook.tmp cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook rm $out/nix-support/setup-hook.tmp diff --git a/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh b/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh deleted file mode 100644 index 22e778b06904..000000000000 --- a/pkgs/build-support/cc-wrapper/setup-hook-stdinc.sh +++ /dev/null @@ -1,44 +0,0 @@ -# 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++ diff --git a/pkgs/build-support/cc-wrapper/setup-hook.sh b/pkgs/build-support/cc-wrapper/setup-hook.sh index 648afda6ebb9..3d0b2fdfe8ae 100644 --- a/pkgs/build-support/cc-wrapper/setup-hook.sh +++ b/pkgs/build-support/cc-wrapper/setup-hook.sh @@ -2,7 +2,7 @@ export NIX_CC=@out@ addCVars () { if [ -d $1/include ]; then - export NIX_CFLAGS_COMPILE+=" -isystem $1/include" + export NIX_CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include" fi if [ -d $1/lib64 -a ! -L $1/lib64 ]; then diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0711b41d529e..e3f616ad74f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4511,27 +4511,6 @@ let inherit stdenv gcc binutils libc shell name cross; }); - /* Alternative GCC wrapper that uses the standard -I include flag instead of - * -isystem. The -isystem flag can change the search order specified by prior - * -I flags. For KDE 5 packages, we don't want to interfere with the include - * search path order specified by the build system. Some packages depend on - * Qt 4 and Qt 5 simultaneously; because the two Qt versions provide headers - * with the same filenames, we must respect the search order specified by the - * build system so that the Qt 4 components find the Qt 4 headers and the Qt 5 - * components find the Qt 5 headers. - */ - wrapGCCStdInc = glibc: baseGCC: (import ../build-support/cc-wrapper) { - nativeTools = stdenv.cc.nativeTools or false; - nativeLibc = stdenv.cc.nativeLibc or false; - nativePrefix = stdenv.cc.nativePrefix or ""; - cc = baseGCC; - libc = glibc; - inherit stdenv binutils coreutils zlib; - setupHook = ../build-support/cc-wrapper/setup-hook-stdinc.sh; - }; - - gccStdInc = wrapGCCStdInc glibc gcc.cc; - # prolog yap = callPackage ../development/compilers/yap { };