about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLinus Heckemann <git@sphalerite.org>2018-03-16T22·50+0000
committerLinus Heckemann <git@sphalerite.org>2018-03-16T22·50+0000
commit637701b6047bff23a7dea4e02bebf94660b8cb4c (patch)
tree3e279d52cefbb86152166a2d17d379d54e7dacc6
parent919c3c20b3ebbf8b83b8de28b612d09270e7a2a6 (diff)
rename build-extra-platforms -> extra-platforms
also document it
-rw-r--r--doc/manual/command-ref/conf-file.xml19
-rw-r--r--src/libstore/globals.hh8
2 files changed, 25 insertions, 2 deletions
diff --git a/doc/manual/command-ref/conf-file.xml b/doc/manual/command-ref/conf-file.xml
index c76640c97e7e..5c21a40a11e9 100644
--- a/doc/manual/command-ref/conf-file.xml
+++ b/doc/manual/command-ref/conf-file.xml
@@ -254,6 +254,25 @@ false</literal>.</para>
   </varlistentry>
 
 
+  <varlistentry><term><literal>extra-platforms</literal></term>
+
+    <listitem><para>Platforms other than the native one which
+    this machine is capable of building for. This can be useful for
+    supporting additional architectures on compatible machines:
+    i686-linux can be built on x86_64-linux machines (and the default
+    for this setting reflects this); armv7 is backwards-compatible with
+    armv6 and armv5tel; some aarch64 machines can also natively run
+    32-bit ARM code; and qemu-user may be used to support non-native
+    platforms (though this may be slow and buggy). Most values for this
+    are not enabled by default because build systems will often
+    misdetect the target platform and generate incompatible code, so you
+    may wish to cross-check the results of using this option against
+    proper natively-built versions of your
+    derivations.</para></listitem>
+
+  </varlistentry>
+
+
   <varlistentry><term><literal>extra-substituters</literal></term>
 
     <listitem><para>Additional binary caches appended to those
diff --git a/src/libstore/globals.hh b/src/libstore/globals.hh
index b382da01e97e..897d53b7b94c 100644
--- a/src/libstore/globals.hh
+++ b/src/libstore/globals.hh
@@ -295,8 +295,12 @@ public:
         "Nix store has a valid signature (that is, one signed using a key "
         "listed in 'trusted-public-keys'."};
 
-    Setting<StringSet> extraPlatforms{this, StringSet{}, "build-extra-platforms",
-        "Additional platforms that can be built on the local system, e.g. using qemu-user."};
+    Setting<StringSet> extraPlatforms{this,
+        SYSTEM == "x86_64-linux" ? StringSet{"i686-linux"} : StringSet{},
+        "extra-platforms",
+        "Additional platforms that can be built on the local system. "
+        "These may be supported natively (e.g. armv7 on some aarch64 CPUs "
+        "or using hacks like qemu-user."};
 
     Setting<Strings> substituters{this,
         nixStore == "/nix/store" ? Strings{"https://cache.nixos.org/"} : Strings(),