mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 16:42:09 +00:00
40bc2cc9b6
where we don't use any tools from outside the Nix environment. For this we need the basic POSIX utilities (e.g., GNU coreutils), a shell, GCC, and the binutils. Normal packages just need to include stdenv/stdenv.fix, which on Linux will use the Nixified environment. However, for the tools in the build environment itself we have a bootstrapping problem. Therefore, these depend on the external environment (and include stdenv-linux/stdenv-nativetools). The package `baseenv' provides some generic setup and GCC wrappers used by both fully Nixified and native environments. svn path=/nixpkgs/trunk/; revision=305
40 lines
815 B
Bash
40 lines
815 B
Bash
# Add the directory containing the GCC wrappers to the PATH.
|
|
export PATH=@OUT@/bin
|
|
|
|
# Recursively add all envpkgs to the relevant environment variables.
|
|
addtoenv()
|
|
{
|
|
envpkgs="$envpkgs $1"
|
|
|
|
if test -d $1/bin; then
|
|
export PATH=$1/bin:$PATH
|
|
fi
|
|
|
|
if test -d $1/lib; then
|
|
export NIX_LDFLAGS="-L $1/lib -Wl,-rpath,$1/lib $NIX_LDFLAGS"
|
|
fi
|
|
|
|
if test -d $1/lib/pkgconfig; then
|
|
export PKG_CONFIG_PATH=$1/lib/pkgconfig:$PKG_CONFIG_PATH
|
|
fi
|
|
|
|
if test -f $1/envpkgs; then
|
|
for i in $(cat $1/envpkgs); do
|
|
addtoenv $i
|
|
done
|
|
fi
|
|
}
|
|
|
|
oldenvpkgs=$envpkgs
|
|
envpkgs=
|
|
|
|
for i in $oldenvpkgs; do
|
|
addtoenv $i
|
|
done
|
|
|
|
# Add the output as an rpath.
|
|
export NIX_LDFLAGS="-Wl,-rpath,$out/lib $NIX_LDFLAGS"
|
|
|
|
# Strip debug information by default.
|
|
export NIX_STRIP_DEBUG=1
|