Remove gccStdInc
This reverts d927da8dae1c4ff0c492d41e00835cfd08ff84d7. Having a copy of gcc-wrapper/setup-hook.sh is bad for maintainability - it had already started to diverge. Also, gccStdInc gave a nix-env conflict with the standard gcc. And it wasn't actually used in Nixpkgs. Instead, if you really need to change "-isystem" to "-I", you can now set ccIncludeFlag to "-I".
This commit is contained in:
parent
5a9ac9fed7
commit
6671bb8be4
@ -9,7 +9,6 @@
|
|||||||
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
|
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
|
||||||
, zlib ? null, extraPackages ? []
|
, zlib ? null, extraPackages ? []
|
||||||
, dyld ? null # TODO: should this be a setup-hook on dyld?
|
, dyld ? null # TODO: should this be a setup-hook on dyld?
|
||||||
, setupHook ? ./setup-hook.sh
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
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
|
cat $out/nix-support/setup-hook.tmp >> $out/nix-support/setup-hook
|
||||||
rm $out/nix-support/setup-hook.tmp
|
rm $out/nix-support/setup-hook.tmp
|
||||||
|
|
||||||
|
@ -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++
|
|
@ -2,7 +2,7 @@ export NIX_CC=@out@
|
|||||||
|
|
||||||
addCVars () {
|
addCVars () {
|
||||||
if [ -d $1/include ]; then
|
if [ -d $1/include ]; then
|
||||||
export NIX_CFLAGS_COMPILE+=" -isystem $1/include"
|
export NIX_CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
|
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
|
||||||
|
@ -4511,27 +4511,6 @@ let
|
|||||||
inherit stdenv gcc binutils libc shell name cross;
|
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
|
# prolog
|
||||||
yap = callPackage ../development/compilers/yap { };
|
yap = callPackage ../development/compilers/yap { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user