gnu-build-system: Improve the configure' and check' phases.

* guix/build/gnu-build-system.scm (configure): Print the final list of
  flags.
  (check): Add `tests?' keyword parameter.
This commit is contained in:
Ludovic Courtès 2012-07-01 17:32:03 +02:00
parent 18a8dad70c
commit a1232d0cb8

View File

@ -57,27 +57,35 @@ (define* (unpack #:key source #:allow-other-keys)
(chdir (first-subdirectory "."))))
(define* (configure #:key outputs (configure-flags '()) #:allow-other-keys)
(let ((prefix (assoc-ref outputs "out"))
(libdir (assoc-ref outputs "lib"))
(includedir (assoc-ref outputs "include")))
(format #t "configure flags: ~s~%" configure-flags)
(zero? (apply system* "./configure"
"--enable-fast-install"
(string-append "--prefix=" prefix)
`(,@(if libdir
(list (string-append "--libdir=" libdir "/lib"))
'())
,@(if includedir
(list (string-append "--includedir="
includedir "/include"))
'())
,@configure-flags)))))
(let* ((prefix (assoc-ref outputs "out"))
(libdir (assoc-ref outputs "lib"))
(includedir (assoc-ref outputs "include"))
(flags `(,(string-append "--prefix=" prefix)
"--enable-fast-install" ; when using Libtool
;; Produce multiple outputs when specific output names
;; are recognized.
,@(if libdir
(list (string-append "--libdir=" libdir "/lib"))
'())
,@(if includedir
(list (string-append "--includedir="
includedir "/include"))
'())
,@configure-flags)))
(format #t "configure flags: ~s~%" flags)
(zero? (apply system* "./configure" flags))))
(define* (build #:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" make-flags)))
(define* (check #:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" "check" make-flags)))
(define* (check #:key (make-flags '()) (tests? #t) (test-target "check")
#:allow-other-keys)
(if tests?
(zero? (apply system* "make" test-target make-flags))
(begin
(format #t "test suite not run~%")
#t)))
(define* (install #:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" "install" make-flags)))