From fc7db2df40840e3020a9f4954f08f744390abf62 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 21 Jun 2023 19:05:01 +0300 Subject: 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(-) (limited to 'gnu') 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 @@ (define-public ldc (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" -- cgit v1.2.3