From cd518845e2ca008f5a00b38ffa0f1c99f154f6cc Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 5 Aug 2019 21:53:07 -0400 Subject: doc/stdenv: document meson variables --- doc/cross-compilation.xml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'doc/cross-compilation.xml') diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml index b7844da195d..d212706e171 100644 --- a/doc/cross-compilation.xml +++ b/doc/cross-compilation.xml @@ -485,10 +485,10 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os> are specified as lists of derivations given to mkDerivation, as - documented in . In short, - each list of dependencies for "host → target" of "foo → bar" is called - depsFooBar, with exceptions for backwards - compatibility that depsBuildHost is instead called + documented in . In short, each + list of dependencies for "host → target" of "foo → bar" is called + depsFooBar, with exceptions for backwards compatibility + that depsBuildHost is instead called nativeBuildInputs and depsHostTarget is instead called buildInputs. Nixpkgs is now structured so that each depsFooBar is automatically taken from @@ -507,9 +507,8 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os> buildPackages, pkgs, and targetPackages. Those are now redefined as aliases to pkgsBuildHost, pkgsHostTarget, and - pkgsTargetTarget. It is acceptable, even - recommended, to use them for libraries to show that the host platform is - irrelevant. + pkgsTargetTarget. It is acceptable, even recommended, to + use them for libraries to show that the host platform is irrelevant. @@ -581,14 +580,15 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os> pkgsHostTarget refers to the current one, and pkgsTargetTarget refers to the next one. When there is no previous or next stage, they instead refer to the current stage. Note - how all the invariants regarding the mapping between dependency and depending - packages' build host and target platforms are preserved. + how all the invariants regarding the mapping between dependency and + depending packages' build host and target platforms are preserved. pkgsBuildTarget and pkgsHostHost are more complex in that the stage fitting the requirements isn't always a fixed chain of "prevs" and "nexts" away (modulo the "saturating" - self-references at the ends). We just special case each instead. All the primary - edges are implemented is in pkgs/stdenv/booter.nix, - and secondarily aliases in pkgs/top-level/stage.nix. + self-references at the ends). We just special case each instead. All the + primary edges are implemented is in + pkgs/stdenv/booter.nix, and secondarily aliases in + pkgs/top-level/stage.nix. @@ -645,19 +645,19 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os> "infinite recursions" / cycles. When only package sets that don't mention target are used, the package set forms a directed acyclic graph. This means that all cycles that exist are confined to one stage. This means - they are a lot smaller, and easier to follow in the code or a backtrace. It - also means they are present in native and cross builds alike, and so more - likely to be caught by CI and other users. + they are a lot smaller, and easier to follow in the code or a backtrace. + It also means they are present in native and cross builds alike, and so + more likely to be caught by CI and other users. Thirdly, it is because everything target-mentioning only exists to accommodate compilers with lousy build systems that insist on the compiler itself and standard library being built together. Of course that is bad - because bigger derivations means longer rebuilds. It is also problematic because - it tends to make the standard libraries less like other libraries than - they could be, complicating code and build systems alike. Because of the - other problems, and because of these innate disadvantages, compilers ought - to be packaged another way where possible. + because bigger derivations means longer rebuilds. It is also problematic + because it tends to make the standard libraries less like other libraries + than they could be, complicating code and build systems alike. Because of + the other problems, and because of these innate disadvantages, compilers + ought to be packaged another way where possible. -- cgit v1.2.3