mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: glibc: Improve handling of empty .a files.
This partially reverts 3b2de6529b9d77c8a74d431859a3ec334e9603c2, itself
a followup to 25b30622b4
.
* gnu/packages/base.scm (glibc)[arguments]: In ‘move-static-libs’ phase,
remove ‘empty-static-libraries’ variable and rewrite
‘empty-static-library?’ to check file type and size.
* gnu/packages/commencement.scm (make-gcc-toolchain): Remove ‘copy-file’
call to create ‘librt.a’.
Change-Id: I33c6825d5b1e6e790dfff494bac1da07d3389e77
This commit is contained in:
parent
89715460c3
commit
7c575fac52
2 changed files with 7 additions and 21 deletions
|
@ -1020,19 +1020,13 @@ (define-public glibc
|
|||
;; and as such, it is useful to have these ".a" files in
|
||||
;; OUT in addition to STATIC.
|
||||
|
||||
;; XXX: It might be better to determine whether a static
|
||||
;; library is empty by some criterion (such as their file
|
||||
;; size equaling eight bytes) rather than hardcoding them
|
||||
;; by name.
|
||||
|
||||
;; XXX: We forgot librt.a for the current version! In
|
||||
;; the meantime, gcc-toolchain provides it, but remove
|
||||
;; that fix once librt.a is added here.
|
||||
(define empty-static-libraries
|
||||
'("libpthread.a" "libdl.a" "libutil.a" "libanl.a"))
|
||||
(define (empty-static-library? file)
|
||||
(any (lambda (s)
|
||||
(string=? file s)) empty-static-libraries))
|
||||
;; Return true if FILE is an 'ar' archive with nothing
|
||||
;; beyond the header.
|
||||
(let ((file (string-append (assoc-ref outputs "out")
|
||||
"/lib/" file)))
|
||||
(and (ar-file? file)
|
||||
(= (stat:size (stat file)) 8))))
|
||||
|
||||
(define (static-library? file)
|
||||
;; Return true if FILE is a static library. The
|
||||
|
|
|
@ -3583,15 +3583,7 @@ (define* (make-gcc-toolchain gcc
|
|||
"libc-debug")))
|
||||
(union-build (assoc-ref %outputs "static")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-static")))
|
||||
;; XXX Remove once an empty librt.a is added to
|
||||
;; libc:out.
|
||||
(copy-file
|
||||
(string-append (assoc-ref %outputs "out")
|
||||
"/lib/libpthread.a")
|
||||
(string-append (assoc-ref %outputs "out")
|
||||
"/lib/librt.a"))
|
||||
#t))))
|
||||
"libc-static")))))))
|
||||
|
||||
(native-search-paths
|
||||
(append (package-native-search-paths gcc)
|
||||
|
|
Loading…
Reference in a new issue