[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#54239] [PATCH v3 03/10] gnu: llvm-9: Fix cross-compilation.
From: |
Julien Lepiller |
Subject: |
[bug#54239] [PATCH v3 03/10] gnu: llvm-9: Fix cross-compilation. |
Date: |
Sat, 16 Jul 2022 21:48:00 +0200 |
`(package-arguments llvm-10)' evaluates `this-package' in the context of
llvm-10. `llvm-tblgen' in llvm-10 is not compatible with llvm-9, so
copy the configure-flags from llvm-12 to make sure `this-package' is
evaluated here.
* gnu/packages/llvm.scm (llvm-9)[arguments]: Fix cross-compilation.
---
gnu/packages/llvm.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 6428391650..2aec2925cf 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -973,7 +973,30 @@ (define-public llvm-9
"if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES \"riscv64\")\n"
" target_link_libraries(dsymutil PRIVATE atomic)\n"
"endif()"))))))))
- (package-arguments llvm-10)))))
+ (substitute-keyword-arguments (package-arguments llvm-10)
+ ((#:configure-flags _)
+ #~(#$(if (%current-target-system)
+ #~quasiquote
+ #~quote)
+ ;; These options are required for cross-compiling LLVM according
to
+ ;; https://llvm.org/docs/HowToCrossCompileLLVM.html.
+ (#$@(if (%current-target-system)
+ #~(,(string-append "-DLLVM_TABLEGEN="
+ #+(file-append this-package
+ "/bin/llvm-tblgen"))
+ #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
+ (%current-target-system))
+ #$(string-append "-DLLVM_TARGET_ARCH="
+ (system->llvm-target))
+ #$(string-append "-DLLVM_TARGETS_TO_BUILD="
+ (system->llvm-target)))
+ #~())
+ "-DCMAKE_SKIP_BUILD_RPATH=FALSE"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+ "-DBUILD_SHARED_LIBS:BOOL=TRUE"
+ "-DLLVM_ENABLE_FFI:BOOL=TRUE"
+ "-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities
+ "-DLLVM_INSTALL_UTILS=ON")))))))) ; Needed for rustc.
(define-public clang-runtime-9
(clang-runtime-from-llvm
--
2.37.0
- [bug#54239] [PATCH] gnu: Add cross-clang., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 01/10] guix: Add build-system transformation for target., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 03/10] gnu: llvm-9: Fix cross-compilation.,
Julien Lepiller <=
- [bug#54239] [PATCH v3 04/10] gnu: Add cross-llvm., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 02/10] gnu: clang-runtime: Fix cross-compilation., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 06/10] gnu: libcxx: Allow cross-compilation., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 07/10] gnu: libcxxabi-6: Allow cross-compilation., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 08/10] gnu: Add libcxxabi-9., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 09/10] gnu: Add libcxx-12., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 10/10] gnu: Add libcxxabi-12., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH v3 05/10] gnu: Add cross-clang., Julien Lepiller, 2022/07/16
- [bug#54239] [PATCH] gnu: Add cross-clang., Maxime Devos, 2022/07/19