diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-06-21 19:05:01 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-12-02 20:39:22 +0200 |
commit | fc7db2df40840e3020a9f4954f08f744390abf62 (patch) | |
tree | a5aa1499ce2a7ea69eaa408841c9ed0b2d849190 /gnu/packages | |
parent | 06ebc45e15f2a1bd4526a5a716eed657c902a0c1 (diff) |
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/dlang.scm | 19 |
1 files 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" |