guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/09: gnu: ldc: Enable building on more architectures.


From: guix-commits
Subject: 01/09: gnu: ldc: Enable building on more architectures.
Date: Sun, 3 Dec 2023 03:09:43 -0500 (EST)

efraim pushed a commit to branch master
in repository guix.

commit fc7db2df40840e3020a9f4954f08f744390abf62
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Wed Jun 21 19:05:01 2023 +0300

    gnu: ldc: Enable building on more architectures.
    
    * gnu/packages/dlang.scm (ldc)[arguments]: In the custom phase
    'fix-compiler-rt-library-discovery rewrite gnu-triplet->clang-arch to
    pass-through unmatched architectures.
---
 gnu/packages/dlang.scm | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index f6b5f12a23..73a8156a40 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -236,19 +236,12 @@ bootstrapping more recent compilers written in D.")
                      (system ,(or (%current-target-system)
                                   (%current-system))))
                  (define (gnu-triplet->clang-arch system)
-                   (letrec-syntax
-                       ((matches (syntax-rules (=>)
-                                   ((_ (system-prefix => target) rest ...)
-                                    (if (string-prefix? system-prefix system)
-                                        target
-                                        (matches rest ...)))
-                                   ((_)
-                                    (error "Clang target for system is unknown"
-                                           system)))))
-                     (matches ("x86_64"      => "x86_64")
-                              ("i686"        => "i386")
-                              ("armhf"       => "armhf")
-                              ("aarch64"     => "aarch64"))))
+                   (let ((system-prefix
+                           (car (string-tokenize
+                                  system (char-set-complement (char-set 
#\-))))))
+                     (cond
+                       ((equal? system-prefix "i686") "i386")
+                       (#t system-prefix))))
                  ;; Coax LLVM into agreeing with Clang about system target
                  ;; naming.
                  (substitute* "driver/linker-gcc.cpp"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]