mirror of
https://github.com/NixOS/nix
synced 2025-06-25 10:41:16 +02:00
docs: update cross compilation section from autotools to meson
fixes https://github.com/NixOS/nix/issues/12934
Update doc/manual/source/development/building.md
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Update doc/manual/source/development/building.md
Co-authored-by: John Ericson <git@JohnEricson.me>
(cherry picked from commit 723f2c7352
)
This commit is contained in:
parent
8f5172d026
commit
f8984c4182
1 changed files with 10 additions and 4 deletions
|
@ -195,19 +195,25 @@ Nix uses a string with the following format to identify the *system type* or *pl
|
||||||
<cpu>-<os>[-<abi>]
|
<cpu>-<os>[-<abi>]
|
||||||
```
|
```
|
||||||
|
|
||||||
It is set when Nix is compiled for the given system, and based on the output of [`config.guess`](https://github.com/nixos/nix/blob/master/config/config.guess) ([upstream](https://git.savannah.gnu.org/cgit/config.git/tree/config.guess)):
|
It is set when Nix is compiled for the given system, and based on the output of Meson's [`host_machine` information](https://mesonbuild.com/Reference-manual_builtin_host_machine.html)>
|
||||||
|
|
||||||
```
|
```
|
||||||
<cpu>-<vendor>-<os>[<version>][-<abi>]
|
<cpu>-<vendor>-<os>[<version>][-<abi>]
|
||||||
```
|
```
|
||||||
|
|
||||||
When Nix is built such that `./configure` is passed any of the `--host`, `--build`, `--target` options, the value is based on the output of [`config.sub`](https://github.com/nixos/nix/blob/master/config/config.sub) ([upstream](https://git.savannah.gnu.org/cgit/config.git/tree/config.sub)):
|
When cross-compiling Nix with Meson for local development, you need to specify a [cross-file](https://mesonbuild.com/Cross-compilation.html) using the `--cross-file` option. Cross-files define the target architecture and toolchain. When cross-compiling Nix with Nix, Nixpkgs takes care of this for you.
|
||||||
|
|
||||||
|
In the nix flake we also have some cross-compilation targets available:
|
||||||
|
|
||||||
```
|
```
|
||||||
<cpu>-<vendor>[-<kernel>]-<os>
|
nix build .#nix-everything-riscv64-unknown-linux-gnu
|
||||||
|
nix build .#nix-everything-armv7l-unknown-linux-gnueabihf
|
||||||
|
nix build .#nix-everything-armv7l-unknown-linux-gnueabihf
|
||||||
|
nix build .#nix-everything-x86_64-unknown-freebsd
|
||||||
|
nix build .#nix-everything-x86_64-w64-mingw32
|
||||||
```
|
```
|
||||||
|
|
||||||
For historic reasons and backward-compatibility, some CPU and OS identifiers are translated from the GNU Autotools naming convention in [`configure.ac`](https://github.com/nixos/nix/blob/master/configure.ac) as follows:
|
For historic reasons and backward-compatibility, some CPU and OS identifiers are translated as follows:
|
||||||
|
|
||||||
| `config.guess` | Nix |
|
| `config.guess` | Nix |
|
||||||
|----------------------------|---------------------|
|
|----------------------------|---------------------|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue