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
28 lines
444 B
Bash
Executable file
28 lines
444 B
Bash
Executable file
#! /bin/sh
|
|
|
|
export PATH=/bin:/usr/bin
|
|
|
|
mkdir $out || exit 1
|
|
mkdir $out/bin || exit 1
|
|
|
|
sed \
|
|
-e s^@OUT\@^$out^g \
|
|
< $setup > $out/setup || exit 1
|
|
|
|
gcc=/usr/bin/gcc
|
|
|
|
sed \
|
|
-e s^@GCC\@^$gcc^g \
|
|
< $gccwrapper > $out/bin/gcc || exit 1
|
|
chmod +x $out/bin/gcc || exit 1
|
|
|
|
ln -s gcc $out/bin/cc
|
|
|
|
gplusplus=/usr/bin/g++
|
|
|
|
sed \
|
|
-e s^@GCC\@^$gplusplus^g \
|
|
< $gccwrapper > $out/bin/g++ || exit 1
|
|
chmod +x $out/bin/g++ || exit 1
|
|
|
|
ln -s g++ $out/bin/c++
|