From patchwork Sat Apr 8 05:32:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Z572 <873216071@qq.com> X-Patchwork-Id: 49022 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1BC7F17431; Sat, 8 Apr 2023 06:34:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FROM,FREEMAIL_REPLYTO_END_DIGIT,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6B18517422 for ; Sat, 8 Apr 2023 06:34:27 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pl1DC-000818-Iz; Sat, 08 Apr 2023 01:34:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pl1D9-00080h-3j for guix-patches@gnu.org; Sat, 08 Apr 2023 01:34:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pl1D8-0000xE-RD for guix-patches@gnu.org; Sat, 08 Apr 2023 01:34:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pl1D8-00053D-AK for guix-patches@gnu.org; Sat, 08 Apr 2023 01:34:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62438] [PATCH] gnu: llvm: Fix riscv64 cross-compilation. References: In-Reply-To: Resent-From: Z572 <873216071@qq.com> Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 08 Apr 2023 05:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62438 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 62438@debbugs.gnu.org Received: via spool by 62438-submit@debbugs.gnu.org id=B62438.168093200419364 (code B ref 62438); Sat, 08 Apr 2023 05:34:02 +0000 Received: (at 62438) by debbugs.gnu.org; 8 Apr 2023 05:33:24 +0000 Received: from localhost ([127.0.0.1]:57544 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pl1CV-00052G-Px for submit@debbugs.gnu.org; Sat, 08 Apr 2023 01:33:24 -0400 Received: from out203-205-221-236.mail.qq.com ([203.205.221.236]:52710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <873216071@qq.com>) id 1pl1CR-00051r-Aq for 62438@debbugs.gnu.org; Sat, 08 Apr 2023 01:33:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1680931987; bh=7yeOFOPXV8k84T92fxkeLx2njtbeA/Jsh/r/TKk2nlU=; h=From:To:Subject:Date; b=Czt9QmJf9erng6JMzoaIIQPBWJoQK0JcrN4oTwP8OiFPOHBxDkpyXAIkSXZD9O/rS NyD3jhPJPtpUVNXUTNV+Mz2nirLm1COTFPS1kO4An4Xe1X9QkAcMd1vuqQJbH5bAoz GZYCN7WcxfC0sR8GswrnEAP6u4HpcWHNcDKLHZC8= Received: from localhost.localdomain ([111.0.51.144]) by newxmesmtplogicsvrsza12-0.qq.com (NewEsmtp) with SMTP id 8402E4E7; Sat, 08 Apr 2023 13:33:00 +0800 X-QQ-mid: xmsmtpt1680931980t0r9c7l56 Message-ID: X-QQ-XMAILINFO: MZHbDvTHakKc7Hj3GuG14XsnxlzFes/0nMKIT6//twd2KN9650JwSoWz05P02X vDWDNKqqje36NNxTgM4dGkTYaF42l3klY0AhhsNKNc8fwVP5/YBbDDTzM9HxTN1lkmtSYaO4iZhq 5Eype0IjpKXhOrJuZFwwH4UO0Zy9O6VXCf1AaS3Gsb5s0IlF53OGA4dtTgP7NP1IngCoGKWkL2nt bAT2X7gQ3FZRKBErVjqSYoLNjJqnVaRBQAfmMimy42Y3vDAQmx4W1ZwxdEPsyrl54Jeai5lCvvp6 tsRlF2sRFT8yMQ8Ju/KYDrPltdXqytYODZpeXzxeNjWuH6EKsK4y8npvv2htYiBmaBZRt3Fh366W i9lb6TZcQwMIxfGi45eVJnvFlbPULIbRqAgqQLcl/m3NHmMP/Jah0FW4ZfqrH052vlqR31TKABN7 6oWiN4u77/T/wqALwIzp7KD6ryjgKchzeHxoCrbnYwPNSpTli9gOvoe/Ue5RnbodpsDBdD8czAPG eU6w9lv5Aj6wLTXklx5xXtyr0Hl9LSkeMbRpHynRbEKvpgUkPRPi+YmU3Y33z3PmKjCsRS9mrDjM GY4fZVyc+ZGsbyI+I6r/KoBcbMOVDD57LBAl5WF6gnCJdXNd+AtpJm4WGu74JPdTBldXL7X/5RZK 3H38LgS2YijWGQ0iPJdnvCsTbwNXHMZgSeaDX/ZtRVmpgIhRNZmmNApphQrcDbdwMLdRfZTHiMil jFjYGPUGuD4k5iRoOnCI7rA6vBvOXI+xbtAzq8JpmjTSW2Om+a3kfoZ2keaHcuO17tw9V7RDiFLi PbbKyJkOkvIs0uxlCTyzlaaMiOitVCvHjGcpGt7Nzm0xT+yK9ZaOssoDw7Texxvk8y4p3xIUIu5G HcbRfKpeUOa5qVD1yj7aXisDmCLPzGcUC7Ewo8jWpx0kEAZF9HHgk= Date: Sat, 8 Apr 2023 13:32:59 +0800 X-OQ-MSGID: <257040c656b5b72ebfb174fec5f08f7416cdc5b7.1680931977.git.873216071@qq.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Z572 <873216071@qq.com> X-ACL-Warn: , Z572 via Guix-patches X-Patchwork-Original-From: Z572 via Guix-patches via From: Z572 <873216071@qq.com> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/llvm.scm (system->llvm-target-arch): New procedure. (llvm-15,llvm-14,llvm-12): Use It. --- gnu/packages/llvm.scm | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) base-commit: 6311493d7a6271bfbc51f4693857f9a12fe9965d diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index e5bf9f5cae..46cbd4d15a 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -101,6 +101,30 @@ (define* (system->llvm-target #:optional ("i686" => "X86") ("i586" => "X86")))) +(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 arch for system is unknown" system))))) + (matches ("aarch64" => "AArch64") + ("armhf" => "ARM") + ("mips64el" => "Mips") + ("powerpc" => "PowerPC") + ("riscv64" => "RISCV64") + ("x86_64" => "X86_64") + ("i686" => "X86") + ("i586" => "X86")))) + (define (llvm-uri component version) ;; LLVM release candidate file names are formatted 'tool-A.B.C-rcN/tool-A.B.CrcN.src.tar.xz' ;; so we specify the version as A.B.C-rcN and delete the hyphen when referencing the file name. @@ -598,7 +622,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 +682,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))) '()) @@ -910,7 +934,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))) #~())