nixpkgs/pkgs/baseenv/setup.sh
Eelco Dolstra 40bc2cc9b6 * Started on working towards the fully Nixified build environment, i.e., one
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
2003-08-18 15:32:13 +00:00

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