From: iyzsong--- via Guix-patches via <guix-patches@gnu.org>
To: 62438@debbugs.gnu.org
Cc: Z572 <873216071@qq.com>, 宋文武 <iyzsong@member.fsf.org>
Subject: [bug#62438] [PATCH v2] gnu: llvm: Fix riscv64 cross-compilation.
Date: Thu, 7 Sep 2023 18:42:11 +0800 [thread overview]
Message-ID: <60563288b330dca2f53335fe7e385420666fb04f.1694083301.git.iyzsong@member.fsf.org> (raw)
In-Reply-To: <tencent_59877F623A46E5A925ECB59E9B3CA9655908@qq.com>
From: Z572 <873216071@qq.com>
* gnu/packages/llvm.scm (system->llvm-target-arch): New procedure.
(llvm-15,llvm-14,llvm-12): Use It.
(system->llvm-target): Rewrite in terms of 'system->llvm-target-arch'.
Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
---
gnu/packages/llvm.scm | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index daff67f7f2..cd551f4e02 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -85,19 +85,32 @@ (define* (system->llvm-target #:optional
"Return the LLVM target name that corresponds to SYSTEM, a system type such
as \"x86_64-linux\"."
;; See the 'lib/Target' directory of LLVM for a list of supported targets.
+ (match (system->llvm-target-arch system)
+ ("RISCV64" "RISCV")
+ ("X86_64" "X86")
+ (x x)))
+
+(define* (system->llvm-target-arch #:optional
+ (system (or (and=> (%current-target-system)
+ gnu-triplet->nix-system)
+ (%current-system))))
+ "Return the LLVM target arch name that corresponds to SYSTEM, a system type such
+as \"x86_64-linux\"."
+ ;; See the 'cmake/config-ix.cmake' file of LLVM for a list of supported targets arch.
+ ;; start with # Determine the native architecture.
(letrec-syntax ((matches (syntax-rules (=>)
((_ (system-prefix => target) rest ...)
(if (string-prefix? system-prefix system)
target
(matches rest ...)))
((_)
- (error "LLVM target for system is unknown" system)))))
+ (error "LLVM target arch for system is unknown" system)))))
(matches ("aarch64" => "AArch64")
("armhf" => "ARM")
("mips64el" => "Mips")
("powerpc" => "PowerPC")
- ("riscv" => "RISCV")
- ("x86_64" => "X86")
+ ("riscv64" => "RISCV64")
+ ("x86_64" => "X86_64")
("i686" => "X86")
("i586" => "X86"))))
@@ -598,7 +611,7 @@ (define-public llvm-15
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
(%current-target-system))
#$(string-append "-DLLVM_TARGET_ARCH="
- (system->llvm-target))
+ (system->llvm-target-arch))
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
(system->llvm-target)))
'())
@@ -658,7 +671,7 @@ (define-public llvm-14
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
(%current-target-system))
#$(string-append "-DLLVM_TARGET_ARCH="
- (system->llvm-target))
+ (system->llvm-target-arch))
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
(system->llvm-target)))
'())
@@ -901,7 +914,7 @@ (define-public llvm-12
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
(%current-target-system))
#$(string-append "-DLLVM_TARGET_ARCH="
- (system->llvm-target))
+ (system->llvm-target-arch))
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
(system->llvm-target)))
#~())
base-commit: 5ef28595e9dff8b88ec3fcb4d887fbc380c9a8b8
--
2.41.0
next prev parent reply other threads:[~2023-09-07 10:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-25 12:13 [bug#62438] [PATCH] gnu: llvm: fix riscv64 cross-compile Z572 via Guix-patches via
2023-04-03 11:11 ` 宋文武 via Guix-patches via
[not found] ` <87v8idq9wf.fsf_-_@qq.com>
2023-04-03 15:10 ` Z572 via Guix-patches via
2023-04-08 5:32 ` [bug#62438] [PATCH] gnu: llvm: Fix riscv64 cross-compilation Z572 via Guix-patches via
2023-06-09 21:12 ` [bug#62438] [PATCH] gnu: llvm: fix riscv64 cross-compile Ludovic Courtès
[not found] ` <87jzwarpt9.fsf@qq.com>
2023-06-11 14:57 ` Z572 via Guix-patches via
2023-09-07 10:42 ` iyzsong--- via Guix-patches via [this message]
2023-10-19 19:55 ` [bug#62438] [PATCH v2] gnu: llvm: Fix riscv64 cross-compilation Ludovic Courtès
2023-10-20 9:58 ` bug#62438: " 宋文武 via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=60563288b330dca2f53335fe7e385420666fb04f.1694083301.git.iyzsong@member.fsf.org \
--to=guix-patches@gnu.org \
--cc=62438@debbugs.gnu.org \
--cc=873216071@qq.com \
--cc=iyzsong@envs.net \
--cc=iyzsong@member.fsf.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).