summaryrefslogtreecommitdiff
path: root/guix/utils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/utils.scm')
-rw-r--r--guix/utils.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/guix/utils.scm b/guix/utils.scm
index aca0af4e4b..943d540bfc 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
+;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,10 +36,8 @@
(define-module (guix utils)
#:use-module (guix config)
#:use-module (srfi srfi-1)
- #:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
- #:use-module (srfi srfi-39)
#:use-module (srfi srfi-71)
#:use-module (rnrs io ports) ;need 'port-position' etc.
#:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!))
@@ -50,7 +49,6 @@
#:use-module ((guix combinators) #:select (fold2))
#:use-module (guix diagnostics) ;<location>, &error-location, etc.
#:use-module (ice-9 format)
- #:use-module (ice-9 ftw)
#:use-module ((ice-9 iconv) #:prefix iconv:)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
@@ -104,6 +102,7 @@
target-riscv64?
target-mips64el?
target-64bit?
+ target-little-endian?
ar-for-target
as-for-target
cc-for-target
@@ -744,6 +743,12 @@ architecture (x86_64)?"
(any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64"
"powerpc64" "riscv64")))
+(define* (target-little-endian? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ "Is the architecture of TARGET little-endian?"
+ ;; At least in Guix. Aarch64 and 32-bit arm have a big-endian mode as well.
+ (not (target-ppc32? target)))
+
(define* (ar-for-target #:optional (target (%current-target-system)))
(if target
(string-append target "-ar")