[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/04: gnu: ld-wrapper: Memoize.
From: |
guix-commits |
Subject: |
02/04: gnu: ld-wrapper: Memoize. |
Date: |
Sat, 12 Oct 2019 09:18:39 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit dab669e07584409d9c9a9dc2afa1c108aa948097
Author: Ludovic Courtès <address@hidden>
Date: Sat Oct 12 15:01:50 2019 +0200
gnu: ld-wrapper: Memoize.
The command:
guix graph -e '(@@ (gnu packages commencement) coreutils-final)'
now shows 93 nodes (992 edges) instead of 176 nodes (1241 edges).
* gnu/packages/commencement.scm (ld-wrapper-boot0): Use 'mlambda'
instead of 'lambda'.
(ld-wrapper-boot3): Likewise.
---
gnu/packages/commencement.scm | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index f234fa0..d113aca 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1942,15 +1942,16 @@ the bootstrap environment."
(delete 'set-TZDIR)))
((#:tests? _ #f) #f))))))
-(define (ld-wrapper-boot0)
- ;; We need this so binaries on Hurd will have libmachuser and libhurduser
- ;; in their RUNPATH, otherwise validate-runpath will fail.
- (make-ld-wrapper "ld-wrapper-boot0"
- #:target boot-triplet
- #:binutils binutils-boot0
- #:guile %bootstrap-guile
- #:bash (car (assoc-ref (%boot0-inputs) "bash"))
- #:guile-for-build %bootstrap-guile))
+(define ld-wrapper-boot0
+ (mlambda ()
+ ;; We need this so binaries on Hurd will have libmachuser and libhurduser
+ ;; in their RUNPATH, otherwise validate-runpath will fail.
+ (make-ld-wrapper "ld-wrapper-boot0"
+ #:target boot-triplet
+ #:binutils binutils-boot0
+ #:guile %bootstrap-guile
+ #:bash (car (assoc-ref (%boot0-inputs) "bash"))
+ #:guile-for-build %bootstrap-guile)))
(define (%boot1-inputs)
;; 2nd stage inputs.
@@ -2238,13 +2239,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker
-Wl,~a/~a \"$@\"~%"
,@(package-arguments zlib)))
(inputs (%boot2-inputs))))
-(define (ld-wrapper-boot3)
- ;; A linker wrapper that uses the bootstrap Guile.
- (make-ld-wrapper "ld-wrapper-boot3"
- #:binutils binutils-final
- #:guile %bootstrap-guile
- #:bash (car (assoc-ref (%boot2-inputs) "bash"))
- #:guile-for-build %bootstrap-guile))
+(define ld-wrapper-boot3
+ (mlambda ()
+ ;; A linker wrapper that uses the bootstrap Guile.
+ (make-ld-wrapper "ld-wrapper-boot3"
+ #:binutils binutils-final
+ #:guile %bootstrap-guile
+ #:bash (car (assoc-ref (%boot2-inputs) "bash"))
+ #:guile-for-build %bootstrap-guile)))
(define gcc-final
;; The final GCC.