diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-10-05 23:21:09 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-10-05 23:21:09 +0200 |
commit | db1a15314da4ae1c83877942cef2941ae8fb80cf (patch) | |
tree | 865691ac746c155be454a045add94e4988bc4563 | |
parent | 7da7ae937e69dc7bca77df94a387ed2dc039090f (diff) | |
download | guix-db1a15314da4ae1c83877942cef2941ae8fb80cf.tar.gz guix-db1a15314da4ae1c83877942cef2941ae8fb80cf.zip |
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.in | 3 | ||||
-rw-r--r-- | guix/build/gnu-build-system.scm | 11 |
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 |