expand on the extra-platforms
option
This commit is contained in:
parent
fcadac0a02
commit
0779005f49
|
@ -194,7 +194,7 @@ public:
|
||||||
this, SYSTEM, "system",
|
this, SYSTEM, "system",
|
||||||
R"(
|
R"(
|
||||||
The system type of the current Nix installation.
|
The system type of the current Nix installation.
|
||||||
Nix will only build a given [derivation](@docroot@/language/derivations.md) locally when its `system` attribute equals the value specified here or in [`extra-platforms`](@docroot@/command-ref/conf-file.html#conf-extra-platforms).
|
Nix will only build a given [derivation](@docroot@/language/derivations.md) locally when its `system` attribute equals any of the values specified here or in [`extra-platforms`](#conf-extra-platforms).
|
||||||
|
|
||||||
The default value is set when Nix itself is compiled for the system it will run on.
|
The default value is set when Nix itself is compiled for the system it will run on.
|
||||||
The following system types are widely used, as [Nix is actively supported on these platforms](@docroot@/contributing/hacking.md#platforms):
|
The following system types are widely used, as [Nix is actively supported on these platforms](@docroot@/contributing/hacking.md#platforms):
|
||||||
|
@ -676,18 +676,20 @@ public:
|
||||||
getDefaultExtraPlatforms(),
|
getDefaultExtraPlatforms(),
|
||||||
"extra-platforms",
|
"extra-platforms",
|
||||||
R"(
|
R"(
|
||||||
Platforms other than the native one which this machine is capable of
|
System types of executables that can be run on this machine.
|
||||||
building for. This can be useful for supporting additional
|
|
||||||
architectures on compatible machines: i686-linux can be built on
|
Nix will only build a given [derivation](@docroot@/language/derivations.md) locally when its `system` attribute equals any of the values specified here or in the [`system` option](#conf-system).
|
||||||
x86\_64-linux machines (and the default for this setting reflects
|
|
||||||
this); armv7 is backwards-compatible with armv6 and armv5tel; some
|
Setting this can be useful to build derivations locally on compatible machines:
|
||||||
aarch64 machines can also natively run 32-bit ARM code; and
|
- `i686-linux` executables can be run on `x86_64-linux` machines (set by default)
|
||||||
qemu-user may be used to support non-native platforms (though this
|
- `x86_64-darwin` executables can be run on macOS `aarch64-darwin` with Rosetta 2 (set by default where applicable)
|
||||||
may be slow and buggy). Most values for this are not enabled by
|
- `armv6` and `armv5tel` executables can be run on `armv7`
|
||||||
default because build systems will often misdetect the target
|
- some `aarch64` machines can also natively run 32-bit ARM code
|
||||||
platform and generate incompatible code, so you may wish to
|
- `qemu-user` may be used to support non-native platforms (though this
|
||||||
cross-check the results of using this option against proper
|
may be slow and buggy)
|
||||||
natively-built versions of your derivations.
|
|
||||||
|
Build systems will usually detect the target platform to be the current physical system and therefore produce machine code incompatible with what may be intended in the derivation.
|
||||||
|
You should design your derivation's `builder` accordingly and cross-check the results when using this option against natively-built versions of your derivation.
|
||||||
)", {}, false};
|
)", {}, false};
|
||||||
|
|
||||||
Setting<StringSet> systemFeatures{
|
Setting<StringSet> systemFeatures{
|
||||||
|
|
Loading…
Reference in a new issue