aboutsummaryrefslogtreecommitdiff
path: root/guix/build
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-11-28 00:38:25 +0100
committerMarius Bakke <mbakke@fastmail.com>2019-11-28 00:38:25 +0100
commit0897ad7fac04fc9d814e83eed46e88c7bf9740bc (patch)
tree9bccfdb52de4c468778ceaabe337c0539c302a30 /guix/build
parent6d460e80d1b06fc094374e7ba5c2503f2a897f11 (diff)
parent9943d238e9f07dccae973b641eb7738637ce95fb (diff)
downloadguix-0897ad7fac04fc9d814e83eed46e88c7bf9740bc.tar
guix-0897ad7fac04fc9d814e83eed46e88c7bf9740bc.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'guix/build')
-rw-r--r--guix/build/compile.scm49
-rw-r--r--guix/build/qt-utils.scm4
2 files changed, 30 insertions, 23 deletions
diff --git a/guix/build/compile.scm b/guix/build/compile.scm
index 06ed57c9d7..3781e148ce 100644
--- a/guix/build/compile.scm
+++ b/guix/build/compile.scm
@@ -39,25 +39,32 @@
;;;
;;; Code:
-(define %default-optimizations
- ;; Default optimization options (equivalent to -O2 on Guile 2.2).
- (append (if (defined? 'tree-il-default-optimization-options)
- (tree-il-default-optimization-options) ;Guile 2.2
- (tree-il-optimizations)) ;Guile 3
- (if (defined? 'cps-default-optimization-options)
- (cps-default-optimization-options) ;Guile 2.2
- (cps-optimizations)))) ;Guile 3
-
-(define %lightweight-optimizations
- ;; Lightweight optimizations (like -O0, but with partial evaluation).
- (let loop ((opts %default-optimizations)
- (result '()))
- (match opts
- (() (reverse result))
- ((#:partial-eval? _ rest ...)
- (loop rest `(#t #:partial-eval? ,@result)))
- ((kw _ rest ...)
- (loop rest `(#f ,kw ,@result))))))
+(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
+ (let () ;Guile 2.2
+ (define %default-optimizations
+ ;; Default optimization options (equivalent to -O2 on Guile 2.2).
+ (append (tree-il-default-optimization-options)
+ (cps-default-optimization-options)))
+
+ (define %lightweight-optimizations
+ ;; Lightweight optimizations (like -O0, but with partial evaluation).
+ (let loop ((opts %default-optimizations)
+ (result '()))
+ (match opts
+ (() (reverse result))
+ ((#:partial-eval? _ rest ...)
+ (loop rest `(#t #:partial-eval? ,@result)))
+ ((kw _ rest ...)
+ (loop rest `(#f ,kw ,@result))))))
+
+ (lambda (level)
+ (if (<= level 1)
+ %lightweight-optimizations
+ %default-optimizations)))))
(define (supported-warning-type? type)
"Return true if TYPE, a symbol, denotes a supported warning type."
@@ -80,8 +87,8 @@
(define (optimization-options file)
"Return the default set of optimizations options for FILE."
(if (string-contains file "gnu/packages/")
- %lightweight-optimizations ;build faster
- '()))
+ (optimizations-for-level 1) ;build faster
+ (optimizations-for-level 3)))
(define (scm->go file)
"Strip the \".scm\" suffix from FILE, and append \".go\"."
diff --git a/guix/build/qt-utils.scm b/guix/build/qt-utils.scm
index 48a32674e9..d2486ee86c 100644
--- a/guix/build/qt-utils.scm
+++ b/guix/build/qt-utils.scm
@@ -26,9 +26,9 @@
(if env-val (string-append env-val ":" path) path)))
(let ((qml-path (suffix "QML2_IMPORT_PATH"
- (string-append out "/qml")))
+ (string-append out "/lib/qt5/qml")))
(plugin-path (suffix "QT_PLUGIN_PATH"
- (string-append out "/plugins")))
+ (string-append out "/lib/qt5/plugins")))
(xdg-data-path (suffix "XDG_DATA_DIRS"
(string-append out "/share")))
(xdg-config-path (suffix "XDG_CONFIG_DIRS"