From b821b3bedcfe69d3483d86408a3159b8338b7c61 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jan 2025 15:52:35 +0200 Subject: [PATCH] gnu: llvm-19: Fix cross-building. * gnu/packages/llvm.scm (llvm-19)[arguments]: When cross-building use an updated set of configure-flags. Change-Id: If29af878c3941aa994850e55c00cd818aab61f49 --- gnu/packages/llvm.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 4307d4e90969182bc718dd5fb014ecbf48f59289..5e7d9277396bc593401bd2802f59399a1a162a6a 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1630,6 +1630,30 @@ Library.") (source (llvm-monorepo version)) (arguments (substitute-keyword-arguments (package-arguments llvm-15) + ((#:modules modules '((guix build cmake-build-system) + (guix build utils))) + (if (%current-target-system) + `((ice-9 regex) + (srfi srfi-1) + (srfi srfi-26) + ,@modules) + modules)) + ((#:configure-flags cf #~'()) + (if (%current-target-system) + ;; Use a newer version of llvm-tblgen and add the new + ;; configure-flag needed for cross-building. + #~(cons* (string-append "-DLLVM_TABLEGEN=" + #+(file-append this-package + "/bin/llvm-tblgen")) + (string-append "-DLLVM_NATIVE_TOOL_DIR=" + #+(file-append this-package "/bin")) + (string-append "-DLLVM_HOST_TRIPLE=" + #$(%current-target-system)) + (remove + (cut string-match + "-DLLVM_(DEFAULT_TARGET|TARGET_ARCH|TABLEGEN).*" <>) + #$cf)) + cf)) ;; The build daemon goes OOM on i686-linux on this phase. ((#:phases phases #~'%standard-phases) (if (target-x86-32?)