aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/llvm.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/llvm.scm')
-rw-r--r--gnu/packages/llvm.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 9a42d4fe07..33fb53d65e 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -201,10 +201,12 @@ compiler. In LLVM this library is called \"compiler-rt\".")
'unpack 'set-glibc-file-names
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
- (compiler-rt (assoc-ref inputs "clang-runtime")))
- (case (string->number ,(version-major
- (package-version clang-runtime)))
- ((or 6 7)
+ (compiler-rt (assoc-ref inputs "clang-runtime"))
+ (version
+ (string->number
+ ,(version-major (package-version clang-runtime)))))
+ (cond
+ ((> version 3)
;; Link to libclang_rt files from clang-runtime.
(substitute* "lib/Driver/ToolChain.cpp"
(("getDriver\\(\\)\\.ResourceDir")
@@ -220,7 +222,7 @@ compiler. In LLVM this library is called \"compiler-rt\".")
;; allow crt1.o & co. to be found.
(("@GLIBC_LIBDIR@")
(string-append libc "/lib"))))
- ((3)
+ (else
(substitute* "lib/Driver/Tools.cpp"
;; Patch the 'getLinuxDynamicLinker' function so that
;; it uses the right dynamic linker file name.
@@ -321,6 +323,7 @@ use with Clang, targeting C++11, C++14 and above.")
(uri (git-reference
(url "https://github.com/llvm/llvm-project.git")
(commit (string-append "llvmorg-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
"052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa"))))