platforms.nix: Separate 32-bit and 64-bit PCs

With this, stdenv.platform.kernelArch can be used by the kernel builder
for PC platforms too.

Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
Shea Levy 2013-12-31 21:34:44 -05:00
parent af9db522cf
commit 58246936e4
3 changed files with 14 additions and 7 deletions

View file

@ -84,7 +84,9 @@ let
if system == "armv6l-linux" then platforms.raspberrypi
else if system == "armv5tel-linux" then platforms.sheevaplug
else if system == "mips64el-linux" then platforms.fuloong2f_n32
else platforms.pc;
else if system == "x86_64-linux" then platforms.pc64
else if system == "i686-linux" then platforms.pc32
else platforms.pcBase;
platform = if platform_ != null then platform_
else config.platform or platformAuto;

View file

@ -1,5 +1,5 @@
rec {
pc = {
pcBase = {
name = "pc";
uboot = null;
kernelHeadersBaseConfig = "defconfig";
@ -7,12 +7,17 @@ rec {
# Build whatever possible as a module, if not stated in the extra config.
kernelAutoModules = true;
kernelTarget = "bzImage";
# Currently ignored - it should be set according to 'system' once it is
# not ignored. This is for stdenv-updates.
kernelArch = "i386";
};
pc_simplekernel = pc // {
pc64 = pcBase // { kernelArch = "x86_64"; };
pc32 = pcBase // { kernelArch = "i386"; };
pc32_simplekernel = pc32 // {
kernelAutoModules = false;
};
pc64_simplekernel = pc64 // {
kernelAutoModules = false;
};

View file

@ -192,7 +192,7 @@ let
arch = "i586";
float = "hard";
withTLS = true;
platform = pkgs.platforms.pc;
platform = pkgs.platforms.pc32;
libc = "glibc";
openssl.system = "hurd-x86"; # Nix depends on OpenSSL.
};