gnu: clang@10, clang@11: Fix CMake files.
* gnu/packages/llvm.scm (clang-from-llvm): Add phase adjust-cmake-file when building Clang 10 or later.master
parent
a45071978c
commit
f91046ce67
|
@ -326,6 +326,27 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the
|
||||||
(("@GLIBC_LIBDIR@")
|
(("@GLIBC_LIBDIR@")
|
||||||
(string-append libc "/lib"))))))
|
(string-append libc "/lib"))))))
|
||||||
#t)))
|
#t)))
|
||||||
|
,@(if (version>=? version "10")
|
||||||
|
`((add-after 'install 'adjust-cmake-file
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
;; Clang generates a CMake file with "targets"
|
||||||
|
;; for each installed library file. Downstream
|
||||||
|
;; consumers of the CMake interface can use this
|
||||||
|
;; to get absolute library locations. Including
|
||||||
|
;; this file will needlessly assert that _all_
|
||||||
|
;; libraries are available, which causes problems
|
||||||
|
;; in Guix because some are removed (see the
|
||||||
|
;; move-extra-tools phase). Thus, remove the
|
||||||
|
;; asserts so that the main functionality works.
|
||||||
|
(substitute*
|
||||||
|
(string-append
|
||||||
|
out
|
||||||
|
"/lib/cmake/clang/ClangTargets-release.cmake")
|
||||||
|
(("list\\(APPEND _IMPORT_CHECK_TARGETS.*" all)
|
||||||
|
(string-append "# Disabled by Guix.\n#" all)))
|
||||||
|
#t))))
|
||||||
|
'())
|
||||||
,@(if (version>? version "3.8")
|
,@(if (version>? version "3.8")
|
||||||
`((add-after 'install 'symlink-cfi_blacklist
|
`((add-after 'install 'symlink-cfi_blacklist
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
|
Reference in New Issue