aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-10-05 23:21:09 +0200
committerLudovic Courtès <ludo@gnu.org>2012-10-05 23:21:09 +0200
commitdb1a15314da4ae1c83877942cef2941ae8fb80cf (patch)
tree865691ac746c155be454a045add94e4988bc4563
parent7da7ae937e69dc7bca77df94a387ed2dc039090f (diff)
downloadpatches-db1a15314da4ae1c83877942cef2941ae8fb80cf.tar
patches-db1a15314da4ae1c83877942cef2941ae8fb80cf.tar.gz
Support build-cores = 0; change `guix-build' to default to 0.
* guix/build/gnu-build-system.scm (%parallel-job-count): New variable. (build, check): Use it instead of $NIX_BUILD_CORES. * guix-build.in (guix-build): Default to 0 for the #:build-cores option.
-rw-r--r--guix-build.in3
-rw-r--r--guix/build/gnu-build-system.scm11
2 files changed, 10 insertions, 4 deletions
diff --git a/guix-build.in b/guix-build.in
index 6440f0a4db..058e13109a 100644
--- a/guix-build.in
+++ b/guix-build.in
@@ -198,8 +198,7 @@ Report bugs to: ~a.~%") "@PACKAGE_BUGREPORT@"))
;; TODO: Add more options.
(set-build-options %store
#:keep-failed? (assoc-ref opts 'keep-failed?)
- #:build-cores (or (assoc-ref opts 'cores)
- (current-processor-count)))
+ #:build-cores (or (assoc-ref opts 'cores) 0))
(if (assoc-ref opts 'derivations-only?)
(format #t "~{~a~%~}" drv)
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 112b34cd4d..2b7d1c180e 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -128,11 +128,18 @@
(string-append srcdir "/configure")
flags))))
+(define %parallel-job-count
+ ;; String to be passed next to GNU Make's `-j' argument.
+ (match (getenv "NIX_BUILD_CORES")
+ (#f "1")
+ ("0" (number->string (current-processor-count)))
+ (x x)))
+
(define* (build #:key (make-flags '()) (parallel-build? #t)
#:allow-other-keys)
(zero? (apply system* "make"
`(,@(if parallel-build?
- `("-j" ,(getenv "NIX_BUILD_CORES"))
+ `("-j" ,%parallel-job-count)
'())
,@make-flags))))
@@ -142,7 +149,7 @@
(if tests?
(zero? (apply system* "make" test-target
`(,@(if parallel-tests?
- `("-j" ,(getenv "NIX_BUILD_CORES"))
+ `("-j" ,%parallel-job-count)
'())
,@make-flags)))
(begin