compile: Let compiler warnings through during the load phase.
Previous warnings and errors such as those raised by (guix records) would not be displayed during the load phase. * guix/build/compile.scm (load-files): Remove 'parameterize' around 'resolve-interface' call. (compile-files)[build]: Move 'with-fluids' for *CURRENT-WARNING-PREFIX* to... <top level>: ... here.
This commit is contained in:
parent
2d04076332
commit
c498aaaf11
@ -97,8 +97,7 @@
|
||||
(report-load file total completed)
|
||||
(format debug-port "~%loading '~a'...~%" file)
|
||||
|
||||
(parameterize ((current-warning-port debug-port))
|
||||
(resolve-interface (file-name->module-name file)))
|
||||
(resolve-interface (file-name->module-name file))
|
||||
|
||||
(loop files (+ 1 completed)))))))
|
||||
|
||||
@ -158,37 +157,38 @@ files are for HOST, a GNU triplet such as \"x86_64-linux-gnu\"."
|
||||
|
||||
;; Exit as soon as something goes wrong.
|
||||
(exit-on-exception
|
||||
(with-fluids ((*current-warning-prefix* ""))
|
||||
(with-target host
|
||||
(lambda ()
|
||||
(let ((relative (relative-file source-directory file)))
|
||||
(compile-file file
|
||||
#:output-file (string-append build-directory "/"
|
||||
(scm->go relative))
|
||||
#:opts (append warning-options
|
||||
(optimization-options relative))))))))
|
||||
(with-target host
|
||||
(lambda ()
|
||||
(let ((relative (relative-file source-directory file)))
|
||||
(compile-file file
|
||||
#:output-file (string-append build-directory "/"
|
||||
(scm->go relative))
|
||||
#:opts (append warning-options
|
||||
(optimization-options relative)))))))
|
||||
(with-mutex progress-lock
|
||||
(set! completed (+ 1 completed))))
|
||||
|
||||
(with-augmented-search-path %load-path source-directory
|
||||
(with-augmented-search-path %load-compiled-path build-directory
|
||||
;; FIXME: To work around <https://bugs.gnu.org/15602>, we first load all
|
||||
;; of FILES.
|
||||
(load-files source-directory files
|
||||
#:report-load report-load
|
||||
#:debug-port debug-port)
|
||||
(with-fluids ((*current-warning-prefix* ""))
|
||||
|
||||
;; Make sure compilation related modules are loaded before starting to
|
||||
;; compile files in parallel.
|
||||
(compile #f)
|
||||
;; FIXME: To work around <https://bugs.gnu.org/15602>, we first load all
|
||||
;; of FILES.
|
||||
(load-files source-directory files
|
||||
#:report-load report-load
|
||||
#:debug-port debug-port)
|
||||
|
||||
;; XXX: Don't use too many workers to work around the insane memory
|
||||
;; requirements of the compiler in Guile 2.2.2:
|
||||
;; <https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html>.
|
||||
(n-par-for-each (min workers 8) build files)
|
||||
;; Make sure compilation related modules are loaded before starting to
|
||||
;; compile files in parallel.
|
||||
(compile #f)
|
||||
|
||||
(unless (zero? total)
|
||||
(report-compilation #f total total)))))
|
||||
;; XXX: Don't use too many workers to work around the insane memory
|
||||
;; requirements of the compiler in Guile 2.2.2:
|
||||
;; <https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html>.
|
||||
(n-par-for-each (min workers 8) build files)
|
||||
|
||||
(unless (zero? total)
|
||||
(report-compilation #f total total))))))
|
||||
|
||||
(eval-when (eval load)
|
||||
(when (and (string=? "2" (major-version))
|
||||
|
Loading…
Reference in New Issue
Block a user