---
 pkgs/stdenv/generic/setup.sh |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index a9f4d4d..685c0ec 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -79,9 +79,19 @@ cmd(){
 }
 
 runMake(){
-  cmd make ${makefile:+-f $makefile} "$@"
+  local optout=NO_PARALLEL_BUILD_${curPhase}
+  [ -n "${!optout}" ] || \
+    local j="$makeFlagsParallelBuild"
+  cmd make ${makefile:+-f $makefile} "$@" $j
 }
 
+######################################################################
+# parallel builds: opt-out
+# - in a phase:     set NO_PARALLEL_BUILD_${PHASE_NAME}
+# - for this build: pass NUM_CORES=1 to the builder
+if [ "$NUM_CORES" -gt 1 ]; then
+  makeFlagsParallelBuild="-j $(( $NUM_CORES + 1 )) -l $(( 2 * $NUM_CORES ))"
+fi
 
 ######################################################################
 # Initialisation.
-- 
1.6.6.2

_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to