I removed the function-shape of the cross-toolchain related attributes in the all-packages.nix.

That was more complicating than helping.

svn path=/nixpkgs/trunk/; revision=20457
This commit is contained in:
Lluís Batlle i Rossell 2010-03-06 23:36:55 +00:00
parent 329d46cbd6
commit 012e7f196e

View File

@ -183,8 +183,8 @@ let
defaultStdenv = allStdenvs.stdenv // { inherit platform; }; defaultStdenv = allStdenvs.stdenv // { inherit platform; };
stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem) stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross
(gccCrossStageFinal crossSystem); gccCrossStageFinal;
stdenv = stdenv =
if bootStdenv != null then bootStdenv else if bootStdenv != null then bootStdenv else
@ -1949,45 +1949,47 @@ let
profiledCompiler = true; profiledCompiler = true;
})); }));
gcc43_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.3) { gcc43_realCross = makeOverridable (import ../development/compilers/gcc-4.3) {
inherit stdenv fetchurl texinfo gmp mpfr noSysDirs cross; inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
binutilsCross = binutilsCross cross; binutilsCross = binutilsCross;
libcCross = libcCross cross; libcCross = libcCross;
profiledCompiler = false; profiledCompiler = false;
enableMultilib = true; enableMultilib = true;
crossStageStatic = false; crossStageStatic = false;
cross = crossSystem;
}; };
gcc44_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.4) { gcc44_realCross = makeOverridable (import ../development/compilers/gcc-4.4) {
inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs cross inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs
gettext which; gettext which;
binutilsCross = binutilsCross cross; binutilsCross = binutilsCross;
libcCross = libcCross cross; libcCross = libcCross;
profiledCompiler = false; profiledCompiler = false;
enableMultilib = false; enableMultilib = false;
# cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug. # cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug.
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818
enableShared = if (crossSystem.arch == "sparc64") then false else true; enableShared = if (crossSystem.arch == "sparc64") then false else true;
crossStageStatic = false; crossStageStatic = false;
cross = crossSystem;
}; };
gccCrossStageStatic = cross: wrapGCCCross { gccCrossStageStatic = wrapGCCCross {
gcc = forceBuildDrv ((gcc44_realCross cross).override { gcc = forceBuildDrv (gcc44_realCross.override {
crossStageStatic = true; crossStageStatic = true;
langCC = false; langCC = false;
libcCross = null; libcCross = null;
enableShared = true; enableShared = true;
}); });
libc = null; libc = null;
binutils = binutilsCross cross; binutils = binutilsCross;
inherit cross; cross = crossSystem;
}; };
gccCrossStageFinal = cross: wrapGCCCross { gccCrossStageFinal = wrapGCCCross {
gcc = forceBuildDrv (gcc44_realCross cross); gcc = forceBuildDrv gcc44_realCross;
libc = libcCross cross; libc = libcCross;
binutils = binutilsCross cross; binutils = binutilsCross;
inherit cross; cross = crossSystem;
}; };
gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override { gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
@ -2853,9 +2855,10 @@ let
inherit fetchurl stdenv noSysDirs; inherit fetchurl stdenv noSysDirs;
}); });
binutilsCross = cross : forceBuildDrv (import ../development/tools/misc/binutils { binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils {
inherit stdenv fetchurl cross; inherit stdenv fetchurl;
noSysDirs = true; noSysDirs = true;
cross = crossSystem;
}); });
bison = bison23; bison = bison23;
@ -3713,10 +3716,10 @@ let
installLocales = getPkgConfig "glibc" "locales" false; installLocales = getPkgConfig "glibc" "locales" false;
}; };
glibc29Cross = cross: forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) { glibc29Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) {
inherit stdenv fetchurl; inherit stdenv fetchurl;
gccCross = gccCrossStageStatic cross; gccCross = gccCrossStageStatic;
kernelHeaders = linuxHeadersCross cross; kernelHeaders = linuxHeadersCross;
installLocales = getPkgConfig "glibc" "locales" false; installLocales = getPkgConfig "glibc" "locales" false;
}); });
@ -3726,16 +3729,16 @@ let
installLocales = getPkgConfig "glibc" "locales" false; installLocales = getPkgConfig "glibc" "locales" false;
}; };
glibc211Cross = cross : forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) { glibc211Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) {
inherit stdenv fetchurl; inherit stdenv fetchurl;
gccCross = gccCrossStageStatic cross; gccCross = gccCrossStageStatic;
kernelHeaders = linuxHeadersCross cross; kernelHeaders = linuxHeadersCross;
installLocales = getPkgConfig "glibc" "locales" false; installLocales = getPkgConfig "glibc" "locales" false;
}); });
# We can choose: # We can choose:
libcCross = cross: glibc211Cross cross; libcCross = glibc211Cross;
# libcCross = cross: uclibcCross cross; # libcCross = uclibcCross;
eglibc = import ../development/libraries/eglibc { eglibc = import ../development/libraries/eglibc {
inherit fetchsvn stdenv; inherit fetchsvn stdenv;
@ -5869,8 +5872,9 @@ let
linuxHeaders = linuxHeaders_2_6_28; linuxHeaders = linuxHeaders_2_6_28;
linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { linuxHeadersCross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
inherit stdenv fetchurl cross perl; inherit stdenv fetchurl perl;
cross = crossSystem;
}); });
linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix { linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {