Commit 9b1d5353 authored by Lluís Batlle i Rossell's avatar Lluís Batlle i Rossell
Browse files

Making the gcc cross-compiler a bit more flexible.

svn path=/nixpkgs/trunk/; revision=20614
parent 71bf4445
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -57,24 +57,34 @@ let version = "4.4.3";

    javaAwtGtk = langJava && gtk != null;

    withCPU = if cross ? cpu then " --with-cpu=${cross.cpu}" else "";
    /* Cross-gcc settings */
    gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
    gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
    gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
    withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
    withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
    withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";

    crossConfigureFlags =
      "--target=${cross.config}" +
      withCPU +
      withArch +
      withCpu +
      withAbi +
      (if crossStageStatic then
        " --disable-libssp --disable-nls" +
        " --without-headers" +
        " --disable-threads " +
        " --disable-libmudflap " +
        " --disable-libgomp " +
        " --disable-shared"
        " --disable-shared" +
        " --disable-decimal-float" # libdecnumber requires libc
        else
        " --with-headers=${libcCross}/include" +
        " --enable-__cxa_atexit" +
        " --enable-long-long" +
        " --enable-threads=posix" +
        " --enable-nls"
        " --enable-nls" +
        " --disable-decimal-float" # No final libdecnumber (it may work only in 386)
        );
    stageNameAddon = if (crossStageStatic) then "-stage-static" else
      "-stage-final";
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,6 @@ let
    arch = "sparc64";
    float = "hard";
    withTLS = true;
    cpu = "ultrasparc";
    libc = "glibc";
    platform = {
        name = "ultrasparc";
@@ -118,6 +117,7 @@ let
        uboot = null;
    };
    openssl.system = "linux64-sparcv9";
    gcc.cpu = "ultrasparc";
  };
in {
  crossUltraSparcLinux = mapTestOnCross crossSystem basic;