build-system/gnu: Add `out-of-source?' keyword parameter.
* guix/build/gnu-build-system.scm (configure): Add an `out-of-source?' keyword parameter; build out-of-source-tree when #t. * guix/build-system/gnu.scm (gnu-build): Add `out-of-source?' keyword parameter. Pass it in BUILDER.master
parent
d36622dc44
commit
22b5d9c9a5
|
@ -46,6 +46,7 @@
|
|||
#:key (outputs '("out")) (configure-flags ''())
|
||||
(make-flags ''())
|
||||
(patches ''()) (patch-flags ''("--batch" "-p1"))
|
||||
(out-of-source? #f)
|
||||
(tests? #t)
|
||||
(parallel-build? #t) (parallel-tests? #t)
|
||||
(patch-shebangs? #t)
|
||||
|
@ -68,6 +69,7 @@ input derivation INPUTS, using the usual procedure of the GNU Build System."
|
|||
#:phases ,phases
|
||||
#:configure-flags ,configure-flags
|
||||
#:make-flags ,make-flags
|
||||
#:out-of-source? ,out-of-source?
|
||||
#:tests? ,tests?
|
||||
#:parallel-build? ,parallel-build?
|
||||
#:parallel-tests? ,parallel-tests?
|
||||
|
|
|
@ -74,7 +74,8 @@
|
|||
(append patch-flags (list p)))))
|
||||
patches))
|
||||
|
||||
(define* (configure #:key outputs (configure-flags '()) #:allow-other-keys)
|
||||
(define* (configure #:key outputs (configure-flags '()) out-of-source?
|
||||
#:allow-other-keys)
|
||||
(let* ((prefix (assoc-ref outputs "out"))
|
||||
(libdir (assoc-ref outputs "lib"))
|
||||
(includedir (assoc-ref outputs "include"))
|
||||
|
@ -90,9 +91,18 @@
|
|||
(list (string-append "--includedir="
|
||||
includedir "/include"))
|
||||
'())
|
||||
,@configure-flags)))
|
||||
,@configure-flags))
|
||||
(srcdir (getcwd)))
|
||||
(format #t "source directory: ~s~%" srcdir)
|
||||
(if out-of-source?
|
||||
(begin
|
||||
(mkdir "../build")
|
||||
(chdir "../build")))
|
||||
(format #t "build directory: ~s~%" (getcwd))
|
||||
(format #t "configure flags: ~s~%" flags)
|
||||
(zero? (apply system* "./configure" flags))))
|
||||
(zero? (apply system*
|
||||
(string-append (if out-of-source? srcdir ".") "/configure")
|
||||
flags))))
|
||||
|
||||
(define* (build #:key (make-flags '()) (parallel-build? #t)
|
||||
#:allow-other-keys)
|
||||
|
|
Reference in New Issue