anchor.diff:      libunistring.crossDrv = nativePlatforms;
       windows.wxMSW.crossDrv = nativePlatforms;
     };
  -}) // (
   
  -/* Linux on the fuloong */
  -let
  -  crossSystem = {
  -    config = "mips64el-unknown-linux";
  -    bigEndian = false;
  -    arch = "mips";
  -    float = "hard";
  -    withTLS = true;
  -    libc = "glibc";
  -    platform = {
  -      name = "fuloong-minipc";
  -      kernelMajor = "2.6";
  -      kernelBaseConfig = "lemote2f_defconfig";
  -      kernelHeadersBaseConfig = "fuloong2e_defconfig";
  -      uboot = null;
  -      kernelArch = "mips";
  -      kernelAutoModules = false;
  -      kernelTarget = "vmlinux";
  +
  +  /* Linux on the fuloong */
  +  fuloongminipc = let
  +    crossSystem = {
  +      config = "mips64el-unknown-linux";
  +      bigEndian = false;
  +      arch = "mips";
  +      float = "hard";
  +      withTLS = true;
  +      libc = "glibc";
  +      platform = {
  +        name = "fuloong-minipc";
  +        kernelMajor = "2.6";
  +        kernelBaseConfig = "lemote2f_defconfig";
  +        kernelHeadersBaseConfig = "fuloong2e_defconfig";
  +        uboot = null;
  +        kernelArch = "mips";
  +        kernelAutoModules = false;
  +        kernelTarget = "vmlinux";
  +      };
  +      openssl.system = "linux-generic32";
  +      gcc = {
  +        arch = "loongson2f";
  +        abi = "n32";
  +      };
       };
  -    openssl.system = "linux-generic32";
  -    gcc = {
  -      arch = "loongson2f";
  -      abi = "n32";
  -    };
  -  };
  -in {
  -  fuloongminipc = mapTestOnCross crossSystem {
  -
  +  in mapTestOnCross crossSystem {
       coreutils.crossDrv = nativePlatforms;
       ed.crossDrv = nativePlatforms;
       patch.crossDrv = nativePlatforms;
     };
  -}) // (
   
  -/* Linux on Raspberrypi */
  -let
  -  crossSystem = {
  -    config = "armv6l-unknown-linux-gnueabi";
  -    bigEndian = false;
  -    arch = "arm";
  -    float = "hard";
  -    fpu = "vfp";
  -    withTLS = true;
  -    libc = "glibc";
  -    platform = pkgs.platforms.raspberrypi;
  -    openssl.system = "linux-generic32";
  -    gcc = {
  -      arch = "armv6";
  +
  +  /* Linux on Raspberrypi */
  +  rpi = let
  +    crossSystem = {
  +      config = "armv6l-unknown-linux-gnueabi";
  +      bigEndian = false;
  +      arch = "arm";
  +      float = "hard";
         fpu = "vfp";
  -      float = "softfp";
  -      abi = "aapcs-linux";
  +      withTLS = true;
  +      libc = "glibc";
  +      platform = pkgs.platforms.raspberrypi;
  +      openssl.system = "linux-generic32";
  +      gcc = {
  +        arch = "armv6";
  +        fpu = "vfp";
  +        float = "softfp";
  +        abi = "aapcs-linux";
  +      };
       };
  -  };
  -in {
  -  rpi = mapTestOnCross crossSystem {
  +  in mapTestOnCross crossSystem {
       coreutils.crossDrv = nativePlatforms;
       ed.crossDrv = nativePlatforms;
       patch.crossDrv = nativePlatforms;
  
positive.code:     binutils.crossDrv = nativePlatforms;
      mpg123.crossDrv = nativePlatforms;
    };
  }) // (
  
  /* Cross-built bootstrap tools for every supported platform */
  let
    tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; };
    maintainers = [ pkgs.lib.maintainers.dezgeg ];
    mkBootstrapToolsJob = bt: hydraJob' (pkgs.lib.addMetaAttrs { inherit maintainers; } bt.dist);
  in {
    bootstrapTools = pkgs.lib.mapAttrs (name: mkBootstrapToolsJob) tools;
  })
  
negative.code:   basic = basicCrossDrv // basicNativeDrv;
  
  in
  
  {
    /* Test some cross builds to the Sheevaplug */
    crossSheevaplugLinux = let
      crossSystem = {
        config = "armv5tel-unknown-linux-gnueabi";
        bigEndian = false;
        arch = "arm";
        float = "soft";
        withTLS = true;
        platform = pkgs.platforms.sheevaplug;
        libc = "glibc";
        openssl.system = "linux-generic32";
      };
    in mapTestOnCross crossSystem (basic // {
      ubootSheevaplug.crossDrv = nativePlatforms;
    });
  
  
    /* Test some cross builds on 32 bit mingw-w64 */
    crossMingw32 = let
      crossSystem = {
        config = "i686-w64-mingw32";
        arch = "x86"; # Irrelevant
        libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
        platform = {};
      };
    in mapTestOnCross crossSystem {
      coreutils.crossDrv = nativePlatforms;
      boehmgc.crossDrv = nativePlatforms;
      gmp.crossDrv = nativePlatforms;
  