From d343a357f1723f0601dd1b7322ab0da577b0ef47 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 18 Aug 2003 17:49:30 +0000 Subject: [PATCH] * Added GCC (C and C++ variant; include libstdc++). svn path=/nixpkgs/trunk/; revision=314 --- pkgs/baseenv/baseenv-build.sh | 6 +++--- pkgs/baseenv/gcc-wrapper.sh | 4 +--- pkgs/gcc/gcc-build.sh | 10 ++++++++++ pkgs/gcc/gcc.fix | 13 +++++++++++++ pkgs/stdenv-linux/setup.sh | 2 ++ pkgs/stdenv-linux/stdenv-build.sh | 8 ++++++++ pkgs/stdenv-linux/stdenv-generic.fix | 2 ++ 7 files changed, 39 insertions(+), 6 deletions(-) create mode 100755 pkgs/gcc/gcc-build.sh create mode 100644 pkgs/gcc/gcc.fix diff --git a/pkgs/baseenv/baseenv-build.sh b/pkgs/baseenv/baseenv-build.sh index 6c30bb2ff8b..0b4c0d0fedc 100755 --- a/pkgs/baseenv/baseenv-build.sh +++ b/pkgs/baseenv/baseenv-build.sh @@ -9,7 +9,7 @@ sed \ -e s^@OUT\@^$out^g \ < $setup > $out/setup || exit 1 -gcc=/usr/bin/gcc +gcc='$NIX_CC' sed \ -e s^@GCC\@^$gcc^g \ @@ -18,10 +18,10 @@ chmod +x $out/bin/gcc || exit 1 ln -s gcc $out/bin/cc -gplusplus=/usr/bin/g++ +gcc='$NIX_CXX' sed \ - -e s^@GCC\@^$gplusplus^g \ + -e s^@GCC\@^$gcc^g \ < $gccwrapper > $out/bin/g++ || exit 1 chmod +x $out/bin/g++ || exit 1 diff --git a/pkgs/baseenv/gcc-wrapper.sh b/pkgs/baseenv/gcc-wrapper.sh index 4e000169019..9ce4167bce4 100644 --- a/pkgs/baseenv/gcc-wrapper.sh +++ b/pkgs/baseenv/gcc-wrapper.sh @@ -2,8 +2,6 @@ IFS= -realgcc=@GCC@ - justcompile=0 for i in $@; do if test "$i" == "-c"; then @@ -34,4 +32,4 @@ if test "$NIX_DEBUG" == "1"; then fi IFS= -exec $realgcc $@ ${extra[@]} +exec @GCC@ $@ ${extra[@]} diff --git a/pkgs/gcc/gcc-build.sh b/pkgs/gcc/gcc-build.sh new file mode 100755 index 00000000000..9e226aac025 --- /dev/null +++ b/pkgs/gcc/gcc-build.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. $stdenv/setup || exit 1 + +tar xvfj $src || exit 1 +mkdir build || exit 1 +cd build || exit 1 +../gcc-*/configure --prefix=$out --enable-languages=c,c++ || exit 1 +make bootstrap || exit 1 +make install || exit 1 diff --git a/pkgs/gcc/gcc.fix b/pkgs/gcc/gcc.fix new file mode 100644 index 00000000000..faa3d88279a --- /dev/null +++ b/pkgs/gcc/gcc.fix @@ -0,0 +1,13 @@ +Package( + [ ("name", "gcc-3.3.1") + + , ("build", Relative("gcc/gcc-build.sh")) + + , ("src", Call(IncludeFix("fetchurl/fetchurl.fix"), + [ ("url", "ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-3.3.1/gcc-3.3.1.tar.bz2") + , ("md5", "1135a104e9fa36fdf7c663598fab5c40") + ])) + + , ("stdenv", IncludeFix("stdenv-linux/stdenv-nativetools.fix")) + ] +) diff --git a/pkgs/stdenv-linux/setup.sh b/pkgs/stdenv-linux/setup.sh index 0bc6af7c6d2..729ceb1592a 100644 --- a/pkgs/stdenv-linux/setup.sh +++ b/pkgs/stdenv-linux/setup.sh @@ -2,5 +2,7 @@ export NIX_CFLAGS="-isystem @GLIBC@/include $NIX_CFLAGS" export NIX_LDFLAGS="-L @GLIBC@/lib -Wl,-dynamic-linker,@GLIBC@/lib/ld-linux.so.2,-rpath,@GLIBC@/lib $NIX_LDFLAGS" +export NIX_CC=@CC@ +export NIX_CXX=@CXX@ export PATH=@PATH@ diff --git a/pkgs/stdenv-linux/stdenv-build.sh b/pkgs/stdenv-linux/stdenv-build.sh index 8b9602fef9b..015355218ce 100755 --- a/pkgs/stdenv-linux/stdenv-build.sh +++ b/pkgs/stdenv-linux/stdenv-build.sh @@ -6,6 +6,9 @@ mkdir $out || exit 1 if test "$nativeTools" == 1; then p='$PATH:/usr/local/bin:/usr/bin:/bin' + + cc=/usr/bin/gcc + cxx=/usr/bin/g++ else p= first=1 @@ -18,12 +21,17 @@ else p=$p$i/bin done p=$p':$PATH' + + cc=$gcc/bin/gcc + cxx=$gcc/bin/g++ fi echo "########## $p" sed \ -e s^@GLIBC\@^$glibc^g \ + -e s^@CC\@^$cc^g \ + -e s^@CXX\@^$cxx^g \ -e s^@BASEENV\@^$baseenv^g \ -e s^@PATH\@^$p^g \ < $setup > $out/setup || exit 1 diff --git a/pkgs/stdenv-linux/stdenv-generic.fix b/pkgs/stdenv-linux/stdenv-generic.fix index e1314f5ac27..a3b05171806 100644 --- a/pkgs/stdenv-linux/stdenv-generic.fix +++ b/pkgs/stdenv-linux/stdenv-generic.fix @@ -20,6 +20,8 @@ Function(["nativeTools"], , IncludeFix("gzip/gzip.fix") , IncludeFix("gnumake/gnumake.fix") ])) + + , ("gcc", If(Var("nativeTools"), "", IncludeFix("gcc/gcc.fix"))) ] ) )