gnu: cross-libc: Return #f if no libc available.

* gnu/packages/cross-base.scm (cross-libc): Return #f if no libc is
available for the given TARGET.

Change-Id: I17d19716373dd5704bb70d805437738fd29bd96b
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Jean-Pierre De Jesus DIAZ 2023-11-28 12:34:44 +01:00 committed by Efraim Flashner
parent 8e61e63515
commit 444a40c75a
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -610,12 +611,15 @@ (define* (cross-libc* target
(xbinutils (cross-binutils target))
(xheaders (cross-kernel-headers target)))
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
and the cross tool chain."
(if (target-mingw? target)
and the cross tool chain. If TARGET doesn't have a standard C library #f is
returned."
(match target
((? target-mingw?)
(let ((machine (substring target 0 (string-index target #\-))))
(make-mingw-w64 machine
#:xgcc xgcc
#:xbinutils xbinutils))
#:xbinutils xbinutils)))
((or (? target-linux?) (? target-hurd?))
(package
(inherit libc)
(name (string-append "glibc-cross-" target))
@ -677,7 +681,8 @@ (define* (cross-libc* target
#:xbinutils xbinutils)))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))
,@(package-native-inputs libc)))))
(else #f)))
;;; Concrete cross tool chains are instantiated like this: