The default setup-hook for gcc-wrapper adds include directories with -isystem, which upsets the order -I flags are processed. This adds an alternative setup-hook that only uses -I flags. The build system's ordering of -I flags is then respected. This is important when different packages provide includes with the same name, such as building packages that depend on Qt4 and Qt5.
39 lines
687 B
Bash
39 lines
687 B
Bash
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++
|