From 331a09654eb7e9f6212b7e8469077fa7393e8b11 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 26 Aug 2020 16:01:37 +0200 Subject: gexp: 'compiled-modules' defaults to '-O1'. * guix/gexp.scm (compiled-modules): Add #:optimization-level. [build](optimizations-for-level): New variable. (process-entry): Use it. --- guix/gexp.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 42a5e7f442..7132ca899b 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1507,7 +1507,8 @@ (define* (compiled-modules modules (guile (%guile-for-build)) (module-path %load-path) (extensions '()) - (deprecation-warnings #f)) + (deprecation-warnings #f) + (optimization-level 1)) "Return a derivation that builds a tree containing the `.go' files corresponding to MODULES. All the MODULES are built in a context where they can refer to each other. When TARGET is true, cross-compile MODULES for @@ -1531,6 +1532,13 @@ (define build (system base target) (system base compile)) + (define optimizations-for-level + (or (and=> (false-if-exception + (resolve-interface '(system base optimize))) + (lambda (iface) + (module-ref iface 'optimizations-for-level))) ;Guile 3.0 + (const '()))) + (define (regular? file) (not (member file '("." "..")))) @@ -1551,7 +1559,9 @@ (define (process-entry entry output processed) (compile-file entry #:output-file output #:opts - %auto-compilation-options))) + `(,@%auto-compilation-options + ,@(optimizations-for-level + (ungexp optimization-level)))))) (+ 1 processed)))) -- cgit v1.2.3