aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/llvm.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index aa3d65bf63..a9eba798e0 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -58,10 +58,21 @@
(arguments
`(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
+ "-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_ENABLE_FFI:BOOL=TRUE")
;; Don't use '-g' during the build, to save space.
- #:build-type "Release"))
+ #:build-type "Release"
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'shared-lib-workaround
+ ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
+ ;; doesn't seem to get the correct rpath to be able to run
+ ;; from the build directory. Set LD_LIBRARY_PATH as a
+ ;; workaround.
+ (lambda _
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (getcwd) "/lib"))
+ #t)))))
(home-page "http://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description