[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
84/201: gnu: make-ld-wrapper: Add a LINKER argument.
From: |
guix-commits |
Subject: |
84/201: gnu: make-ld-wrapper: Add a LINKER argument. |
Date: |
Mon, 1 Nov 2021 23:18:42 -0400 (EDT) |
apteryx pushed a commit to branch core-updates-frozen-batched-changes
in repository guix.
commit 11db402cf9a482276e0d02e8b95de74c952d0e0e
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Tue Sep 14 10:44:30 2021 -0400
gnu: make-ld-wrapper: Add a LINKER argument.
This allows creating wrappers for other linkers than "ld", such as
"ld.gold".
* gnu/packages/base.scm (make-ld-wrapper): New variable.
[linker]: New argument. Update doc.
<ld>: Use LINKER to derive the linker source.
---
gnu/packages/base.scm | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e14cf9a..41641c7 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -71,6 +72,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (glibc
+ make-ld-wrapper
libiconv-if-needed))
;;; Commentary:
@@ -603,6 +605,7 @@ included.")
(define* (make-ld-wrapper name #:key
(target (const #f))
binutils
+ (linker "ld")
(guile (canonical-package guile-3.0))
(bash (canonical-package bash))
(guile-for-build guile))
@@ -612,7 +615,9 @@ wrapper uses GUILE and BASH.
TARGET must be a one-argument procedure that, given a system type, returns a
cross-compilation target triplet or #f. When the result is not #f, make a
-wrapper for the cross-linker for that target, called 'TARGET-ld'."
+wrapper for the cross-linker for that target, called 'TARGET-ld'. To use a
+different linker than the default \"ld\", such as \"ld.gold\" the linker name
+can be provided via the LINKER argument."
;; Note: #:system->target-triplet is a procedure so that the evaluation of
;; its result can be delayed until the 'arguments' field is evaluated, thus
;; in a context where '%current-system' is accurate.
@@ -637,8 +642,9 @@ wrapper for the cross-linker for that target, called
'TARGET-ld'."
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(ld ,(if target
- `(string-append bin "/" ,target "-ld")
- '(string-append bin "/ld")))
+ `(string-append bin "/" ,target "-"
+ ,linker)
+ `(string-append bin "/" ,linker)))
(go (string-append ld ".go")))
(setvbuf (current-output-port)
@@ -663,11 +669,10 @@ wrapper for the cross-linker for that target, called
'TARGET-ld'."
(string-append (assoc-ref %build-inputs "binutils")
,(if target
(string-append "/bin/"
- target "-ld")
- "/bin/ld"))))
+ target "-" linker)
+ (string-append "/bin/"
linker)))))
(chmod ld #o555)
- (compile-file ld #:output-file go)
- #t)))))
+ (compile-file ld #:output-file go))))))
(synopsis "The linker wrapper")
(description
"The linker wrapper (or @code{ld-wrapper}) wraps the linker to add any
@@ -676,8 +681,6 @@ the store.")
(home-page "https://www.gnu.org/software/guix//")
(license gpl3+)))
-(export make-ld-wrapper)
-
(define-public glibc
;; This is the GNU C Library, used on GNU/Linux and GNU/Hurd. Prior to
;; version 2.28, GNU/Hurd used a different glibc branch.
- 137/201: build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase., (continued)
- 137/201: build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase., guix-commits, 2021/11/01
- 143/201: gnu: elogind: Update to 246.10., guix-commits, 2021/11/01
- 148/201: gnu: jsoncpp: Apply patch to regular package., guix-commits, 2021/11/01
- 154/201: gnu: python-dbusmock: Update to 0.24.0., guix-commits, 2021/11/01
- 161/201: gnu: mesa: Enable support for OpenGL ES 1.1 and 2.0., guix-commits, 2021/11/01
- 177/201: gnu: xorg-server, xorg-server-for-tests: Update to 21.1.0., guix-commits, 2021/11/01
- 188/201: gnu: gnome-online-accounts: Update to 3.43.1., guix-commits, 2021/11/01
- 194/201: gnu: docker-compose: Update to 1.29.2., guix-commits, 2021/11/01
- 73/201: bluez: Update to 5.61., guix-commits, 2021/11/01
- 80/201: gnu: diffutils: Update to 3.8., guix-commits, 2021/11/01
- 84/201: gnu: make-ld-wrapper: Add a LINKER argument.,
guix-commits <=
- 88/201: guix: packages: Fix repacking of plain tarballs., guix-commits, 2021/11/01
- 93/201: gnu: Build all Rust packages using the latest rustc., guix-commits, 2021/11/01
- 108/201: gnu: lsof: Fix indentation., guix-commits, 2021/11/01
- 120/201: gnu: mit-krb5: Absorb 1.19.2 graft., guix-commits, 2021/11/01
- 123/201: gnu: pango: Update to 1.48.10., guix-commits, 2021/11/01
- 129/201: gnu: libsoup: Update to 3.0.1., guix-commits, 2021/11/01
- 138/201: profiles: Add a gdk-pixbuf-loaders-cache-file hook., guix-commits, 2021/11/01
- 156/201: gnu: python-six-bootstrap: Update to 1.16.0., guix-commits, 2021/11/01
- 160/201: gnu: mesa: Replace obsolete vulkan-overlay-layer build option., guix-commits, 2021/11/01
- 192/201: gnu: Add python-dotenv., guix-commits, 2021/11/01