guix: Add target-avr?.

* guix/utils.scm (target-avr?): New procedure.
* tests/utils.scm: Add tests for target-avr? procedure.

Change-Id: Iaa0fa97a2b6bc45d45f907f43157f1548a0ba3fa
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
Jean-Pierre De Jesus DIAZ 2023-11-28 12:34:47 +01:00 committed by Efraim Flashner
parent be5ec2ebb4
commit 520e3d267e
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
2 changed files with 18 additions and 0 deletions

View File

@ -19,6 +19,7 @@
;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -99,6 +100,7 @@
target-arm32?
target-aarch64?
target-arm?
target-avr?
target-ppc32?
target-ppc64le?
target-powerpc?
@ -724,6 +726,10 @@ architecture (x86_64)?"
(%current-system))))
(or (target-arm32? target) (target-aarch64? target)))
(define* (target-avr? #:optional (target (%current-target-system)))
"Is the architecture of TARGET a variant of Microchip's AVR architecture?"
(or (string=? target "avr") (string-prefix? "avr-" target)))
(define* (target-ppc32? #:optional (target (or (%current-target-system)
(%current-system))))
(string-prefix? "powerpc-" target))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -329,6 +330,17 @@ skip these tests."
;; However, it isn't 32-bit.
,(format #f "x86_~a-linux-gnu" (expt 2 109)))))
(test-equal "target-avr?"
'(#t #t #t #f #f)
(map target-avr?
'("avr" "avr-unknown-none"
;; In addition LLVM also uses this form.
"avr-unknown-unknown"
;; The AVR32 architecture also was made by Atmel/Microchip but it
;; does not resemble the AVR family, they aren't compatible in any
;; way.
"avr32" "avr32-unknown-none")))
(test-end)
(false-if-exception (delete-file temp-file))