lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens to be defined together, and that should be an implementation detail. This instead makes `linux-kernel` and `gcc` top level fields in platform configs. They join `rustc` there [all are optional], which was put there and not in `platform` in anticipation of a change like this. `linux-kernel.arch` in particular also becomes `linuxArch`, to match the other `*Arch`es. The next step after is this to combine the *specific* machines from `lib.systems.platforms` with `lib.systems.examples`, keeping just the "multiplatform" ones for defaulting.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{ lib, targetPlatform }:
|
||||
|
||||
let
|
||||
p = targetPlatform.platform.gcc or {}
|
||||
p = targetPlatform.gcc or {}
|
||||
// targetPlatform.parsed.abi;
|
||||
in lib.concatLists [
|
||||
(lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64
|
||||
|
||||
@@ -123,7 +123,7 @@ stdenv.mkDerivation rec {
|
||||
let
|
||||
arch = stdenv.lib.head (stdenv.lib.splitString "-" stdenv.system);
|
||||
march = {
|
||||
x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64";
|
||||
x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64";
|
||||
i686 = "pentium4";
|
||||
aarch64 = "armv8-a";
|
||||
}.${arch}
|
||||
|
||||
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||
let
|
||||
arch = head (splitString "-" stdenv.system);
|
||||
march = {
|
||||
x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64";
|
||||
x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64";
|
||||
i686 = "pentium4";
|
||||
aarch64 = "armv8-a";
|
||||
}.${arch}
|
||||
|
||||
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
|
||||
let
|
||||
arch = head (splitString "-" stdenv.system);
|
||||
march = {
|
||||
x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64";
|
||||
x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64";
|
||||
i686 = "pentium4";
|
||||
aarch64 = "armv8-a";
|
||||
}.${arch}
|
||||
|
||||
Reference in New Issue
Block a user