From 58246936e4f44c744e08e2386d4c446d18a44b24 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Tue, 31 Dec 2013 21:34:44 -0500 Subject: [PATCH] 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 --- pkgs/top-level/all-packages.nix | 4 +++- pkgs/top-level/platforms.nix | 15 ++++++++++----- pkgs/top-level/release-cross.nix | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5695e11e0fa..020d5b3c8e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index d6408286581..299941790e9 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -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; }; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 3895ee26779..6871567ca8d 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -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. };