diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/llvm.scm | 69 |
1 files changed, 37 insertions, 32 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 405ff0b0d8..17c51ea6bb 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1625,38 +1625,43 @@ use with Clang, targeting C++11, C++14 and above.") "0ki6796b5z08kh3a3rbysr5wwb2dkl6wal5dzd03i4li5xfkvx1g")))) (build-system cmake-build-system) (arguments - `(#:configure-flags - (list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES=" - (assoc-ref %build-inputs "libcxx") - "/include") - "-DCMAKE_C_COMPILER=clang" - "-DCMAKE_CXX_COMPILER=clang++") - #:phases - (modify-phases (@ (guix build cmake-build-system) %standard-phases) - (add-after 'unpack 'chdir - (lambda _ (chdir "libcxxabi"))) - (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH - (lambda* (#:key inputs #:allow-other-keys) - (let ((gcc (assoc-ref inputs "gcc"))) - ;; Hide GCC's C++ headers so that they do not interfere with - ;; the ones we are attempting to build. - (setenv "CPLUS_INCLUDE_PATH" - (string-join - (cons (string-append - (assoc-ref inputs "libcxx") "/include/c++/v1") - (delete (string-append gcc "/include/c++") - (string-split (getenv "CPLUS_INCLUDE_PATH") - #\:))) - ":")) - (format #true - "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" - (getenv "CPLUS_INCLUDE_PATH"))))) - (add-after 'install 'install-headers - (lambda* (#:key outputs #:allow-other-keys) - (let ((include-dir (string-append - (assoc-ref outputs "out") "/include"))) - (install-file "../libcxxabi/include/__cxxabi_config.h" include-dir) - (install-file "../libcxxabi/include/cxxabi.h" include-dir))))))) + (list + #:configure-flags + #~(list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES=" + #$(this-package-native-input "libcxx") + "/include") + "-DCMAKE_C_COMPILER=clang" + "-DCMAKE_CXX_COMPILER=clang++") + #:phases + #~(modify-phases (@ (guix build cmake-build-system) %standard-phases) + (add-after 'unpack 'chdir + (lambda _ (chdir "libcxxabi"))) + (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Hide GCC's C++ headers so that they do not interfere with + ;; the ones we are attempting to build. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (cons (string-append + (assoc-ref inputs "libcxx") "/include/c++/v1") + (delete (string-append gcc "/include/c++") + (string-split + (getenv "CPLUS_INCLUDE_PATH") + #\:))) + ":")) + (format + #true + "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" + (getenv "CPLUS_INCLUDE_PATH"))))) + (add-after 'install 'install-headers + (lambda* (#:key outputs #:allow-other-keys) + (let ((include-dir (string-append + (assoc-ref outputs "out") "/include"))) + (install-file "../libcxxabi/include/__cxxabi_config.h" + include-dir) + (install-file "../libcxxabi/include/cxxabi.h" + include-dir))))))) (native-inputs (list clang-6 llvm-6 libcxx-6)) (home-page "https://libcxxabi.llvm.org") |