From 2d1fda2ca9c05fc4745fd3a376bf3192ead69366 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 26 Jan 2025 15:52:20 +0200 Subject: [PATCH] gnu: llvm-17: Fix cross-building. * gnu/packages/llvm.scm (llvm-17)[arguments]: When cross-building use an updated set of configure-flags. Change-Id: Icbb51b26de24818532c2f0f8e4cf4c4ff0664092 --- gnu/packages/llvm.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 64aaca35dc1bcc1e3fe4a8a3d648551fa19333d9..4307d4e90969182bc718dd5fb014ecbf48f59289 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1498,6 +1498,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?)