~ruther/guix-local

97a6b4581ae68bfee3c907eb4c5af686052ea45f — Ludovic Courtès 4 years ago 8ef0473
compile: Really disable cross-module inlining and related features.

This is a followup to d87a1ba6b8b2f08ba6898033353d7463355bd146.

* 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.
1 files changed, 4 insertions(+), 4 deletions(-)

M guix/build/compile.scm
M guix/build/compile.scm => guix/build/compile.scm +4 -4
@@ 37,8 37,8 @@
;;;
;;; Code:

(define (strip-keyword-arguments keywords args) ;XXX: copied from (guix utils)
  "Remove all of the keyword arguments listed in KEYWORDS from ARGS."
(define (clear-keyword-arguments keywords args)
  "Set to #f the value associated with each of the KEYWORDS in ARGS."
  (let loop ((args   args)
             (result '()))
    (match args


@@ 47,7 47,7 @@
      (((? keyword? kw) arg . rest)
       (loop rest
             (if (memq kw keywords)
                 result
                 (cons* #f kw result)
                 (cons* arg kw result))))
      ((head . tail)
       (loop tail (cons head result))))))


@@ 82,7 82,7 @@
          ;; non-reproducible and more expensive builds, so we turn it off
          ;; here:
          ;; <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?)
                                   (if (<= level 1)
                                       %lightweight-optimizations