compile: Really disable cross-module inlining and related features.
This is a followup to d87a1ba6b8
.
* guix/build/compile.scm (strip-keyword-arguments): Rename to...
(clear-keyword-arguments): ... this, and set the value associated with
each of KEYWORDS to #f.
(optimizations-for-level): Adjust accordingly.
master
parent
8ef0473969
commit
97a6b4581a
|
@ -37,8 +37,8 @@
|
||||||
;;;
|
;;;
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(define (strip-keyword-arguments keywords args) ;XXX: copied from (guix utils)
|
(define (clear-keyword-arguments keywords args)
|
||||||
"Remove all of the keyword arguments listed in KEYWORDS from ARGS."
|
"Set to #f the value associated with each of the KEYWORDS in ARGS."
|
||||||
(let loop ((args args)
|
(let loop ((args args)
|
||||||
(result '()))
|
(result '()))
|
||||||
(match args
|
(match args
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
(((? keyword? kw) arg . rest)
|
(((? keyword? kw) arg . rest)
|
||||||
(loop rest
|
(loop rest
|
||||||
(if (memq kw keywords)
|
(if (memq kw keywords)
|
||||||
result
|
(cons* #f kw result)
|
||||||
(cons* arg kw result))))
|
(cons* arg kw result))))
|
||||||
((head . tail)
|
((head . tail)
|
||||||
(loop tail (cons head result))))))
|
(loop tail (cons head result))))))
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
;; non-reproducible and more expensive builds, so we turn it off
|
;; non-reproducible and more expensive builds, so we turn it off
|
||||||
;; here:
|
;; here:
|
||||||
;; <https://wingolog.org/archives/2021/05/13/cross-module-inlining-in-guile>.
|
;; <https://wingolog.org/archives/2021/05/13/cross-module-inlining-in-guile>.
|
||||||
(strip-keyword-arguments '(#:inlinable-exports? #:resolve-free-vars?
|
(clear-keyword-arguments '(#:inlinable-exports? #:resolve-free-vars?
|
||||||
#:cross-module-inlining?)
|
#:cross-module-inlining?)
|
||||||
(if (<= level 1)
|
(if (<= level 1)
|
||||||
%lightweight-optimizations
|
%lightweight-optimizations
|
||||||
|
|
Reference in New Issue