summaryrefslogtreecommitdiff
path: root/gnu/packages/llvm.scm
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-01-04 20:40:40 +0800
committerMathieu Othacehe <othacehe@gnu.org>2024-01-09 10:19:42 +0100
commit53d9190efdd2319f6eb8ff1885caf83e2f2b377c (patch)
tree2dbdbe97d334ba9700bc9e2cd44977d1d88b6ae2 /gnu/packages/llvm.scm
parentb26926189e5bf253093050f9a73f2d9d7555cc3e (diff)
gnu: glew: Fix cross-compiling.
* gnu/packages/gl.scm (mesa)[native-inputs]: When cross-compiling, add cmake-minimal-cross. [arguments]: Adjust 'fix-cross-compiling to find llvm. * gnu/packages/llvm.scm (llvm-for-mesa) [arguments]<#:configure-flags>: When cross-compiling, set -DBUILD_SHARED_LIBS:BOOL=TRUE and -DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE, remove -DLLVM_LINK_LLVM_DYLIB.*. <#:phases>: When cross-compiling, remove the 'delete-static-libraries phase. Change-Id: If10dec7695e62604e080230e10f2b8d7167f660b Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Diffstat (limited to 'gnu/packages/llvm.scm')
-rw-r--r--gnu/packages/llvm.scm30
1 files changed, 21 insertions, 9 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 6abd1a67d7..4a7cb8033d 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2169,20 +2170,31 @@ using @code{clang-rename}.")))
;; AMDGPU is needed by the vulkan drivers.
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
(system->llvm-target) ";AMDGPU")
+ #$@(if (%current-target-system)
+ '("-DBUILD_SHARED_LIBS:BOOL=TRUE"
+ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
+ '())
;; Skipping tools and utils decreases the output by ~100 MiB.
"-DLLVM_BUILD_TOOLS=NO"
- (remove (cut string-match
- "-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*" <>)
+ (remove
+ (cut string-match
+ #$(if (%current-target-system)
+ "-DLLVM_(LINK_LLVM_DYLIB|TARGETS_TO_BUILD|INSTALL_UTILS).*"
+ "-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*") <>)
#$cf)))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
- (add-after 'install 'delete-static-libraries
- ;; If these are just relocated then llvm-config can't find them.
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each delete-file
- (find-files (string-append
- (assoc-ref outputs "out") "/lib")
- "\\.a$"))))
+ #$@(if (%current-target-system)
+ '()
+ #~((add-after 'install 'delete-static-libraries
+ ;; If these are just relocated then llvm-config
+ ;; can't find them.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each delete-file
+ (find-files
+ (string-append
+ (assoc-ref outputs "out") "/lib")
+ "\\.a$"))))))
;; llvm-config is how mesa and others find the various
;; libraries and headers they use.
(add-after 'install 'build-and-install-llvm-config