mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: linux-libre: Remove cross-libc from CROSS_CPATH.
* gnu/packages/linux.scm (make-linux-libre*)[arguments]: Do not unset CROSS_CPATH completely, instead remove cross-libc from CROSS_CPATH in the same way that libc is removed from CPATH.
This commit is contained in:
parent
4edc4f57bd
commit
191a9a26b5
1 changed files with 20 additions and 17 deletions
|
@ -679,23 +679,26 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
|||
#t))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
|
||||
;; Unset CROSS_CPATH to make sure that cross-libc is not
|
||||
;; found. Otherwise, some of its header would conflict with the
|
||||
;; one from linux (stdint.h and linux/types.h)
|
||||
,@(if (%current-target-system)
|
||||
'((unsetenv "CROSS_CPATH"))
|
||||
'())
|
||||
|
||||
;; On AArch64 (at least), we need to remove glibc headers from CPATH
|
||||
;; (they are still available as "system headers"), so that the kernel
|
||||
;; can override uint64_t. See <https://bugs.gnu.org/37593>.
|
||||
(setenv "CPATH"
|
||||
(string-join
|
||||
(remove (cut string-prefix? (assoc-ref inputs "libc") <>)
|
||||
(string-split (getenv "CPATH") #\:))
|
||||
":"))
|
||||
(format #t "environment variable `CPATH' changed to `~a'~%"
|
||||
(getenv "CPATH"))
|
||||
;; On AArch64 (at least), we need to remove glibc headers from
|
||||
;; CPATH (they are still available as "system headers"), so that
|
||||
;; the kernel can override uint64_t. See
|
||||
;; <https://bugs.gnu.org/37593>. This is also true when
|
||||
;; cross-compiling, except in that case, cross-libc must be
|
||||
;; removed from CROSS_CPATH.
|
||||
(let ((var ,(if (%current-target-system)
|
||||
"CROSS_CPATH"
|
||||
"CPATH"))
|
||||
(libc ,(if (%current-target-system)
|
||||
"cross-libc"
|
||||
"libc")))
|
||||
(setenv var
|
||||
(string-join
|
||||
(remove
|
||||
(cut string-prefix? (assoc-ref inputs libc) <>)
|
||||
(string-split (getenv var) #\:))
|
||||
":"))
|
||||
(format #t "environment variable `~a' changed to `~a'~%"
|
||||
var (getenv var)))
|
||||
|
||||
;; Avoid introducing timestamps
|
||||
(setenv "KCONFIG_NOTIMESTAMP" "1")
|
||||
|
|
Loading…
Reference in a new issue