build-system/meson: Add more cross-compilation targets.

* guix/build-system/meson.scm (make-machine-alist): Add riscv64-linux
option for cpu_family. Add riscv64-linux and powerpc-linux options for
endian.
This commit is contained in:
Efraim Flashner 2022-03-07 22:43:09 +02:00
parent 758d3c99a7
commit 7b2f749862
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -3,6 +3,7 @@
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -58,6 +59,7 @@ (define (make-machine-alist triplet)
(if (target-64bit? triplet)
"ppc64"
"ppc"))
((target-riscv64? triplet) "riscv64")
(#t (error "meson: unknown architecture"))))
(cpu . ,(cond ((target-x86-32? triplet) ; i386, ..., i686
(substring triplet 0 4))
@ -78,6 +80,8 @@ (define (make-machine-alist triplet)
;; At least in Guix. Aarch64 and 32-bit arm
;; have a big-endian mode as well.
((target-arm? triplet) "little")
((target-ppc32? triplet) "big")
((target-riscv64? triplet) "little")
(#t (error "meson: unknown architecture"))))))
(define (make-binaries-alist triplet)