Author: simons Date: 2010-06-23 14:34:59 +0000 (Wed, 23 Jun 2010) New Revision: 22399
You can view the changes in this commit at: https://svn.nixos.org/viewvc/nix?rev=22399&view=rev Modified: nixpkgs/branches/stdenv-updates/pkgs/stdenv/generic/setup.sh Log: pkgs/stdenv/generic/setup.sh: added support for enableParallelBuilding variable If a build expressions has set "enableParallelBuilding = true", then the generic builder may utilize more than one CPU core to build that particular expression. This feature works out of the box for GNU Make. Expressions that use other build drivers like Boost.Jam or SCons have to specify appropriate flags such as "-j${NIX_BUILD_CORES}" themselves. Changes: Modified: nixpkgs/branches/stdenv-updates/pkgs/stdenv/generic/setup.sh =================================================================== --- nixpkgs/branches/stdenv-updates/pkgs/stdenv/generic/setup.sh 2010-06-23 14:34:47 UTC (rev 22398) +++ nixpkgs/branches/stdenv-updates/pkgs/stdenv/generic/setup.sh 2010-06-23 14:34:59 UTC (rev 22399) @@ -269,6 +269,23 @@ export NIX_INDENT_MAKE=1 +# Normalize the NIX_BUILD_CORES variable. The value might be 0, which +# means that we're supposed to try and auto-detect the number of +# available CPU cores at run-time. + +if test -z "${NIX_BUILD_CORES:-}"; then + NIX_BUILD_CORES="1" +elif test "$NIX_BUILD_CORES" -le 0; then + NIX_BUILD_CORES=$(nproc 2>/dev/null || true) + if expr >/dev/null 2>&1 "$NIX_BUILD_CORES" : "^[0-9][0-9]*$"; then + : + else + NIX_BUILD_CORES="1" + fi +fi +export NIX_BUILD_CORES + + ###################################################################### # Misc. helper functions. @@ -603,6 +620,7 @@ echo "make flags: $makeFlags ${makeflagsarr...@]} $buildFlags ${buildflagsarr...@]}" make ${makefile:+-f $makefile} \ + ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ $makeFlags "${makeflagsarr...@]}" \ $buildFlags "${buildflagsarr...@]}" @@ -615,6 +633,7 @@ echo "check flags: $makeFlags ${makeflagsarr...@]} $checkFlags ${checkflagsarr...@]}" make ${makefile:+-f $makefile} \ + ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ $makeFlags "${makeflagsarr...@]}" \ $checkFlags "${checkflagsarr...@]}" ${checkTarget:-check} _______________________________________________ nix-commits mailing list [email protected] http://mail.cs.uu.nl/mailman/listinfo/nix-commits
