* gnu/packages/llvm.scm (llvm-9): New variable.
(clang-runtime-9): New variable.
(clang-9): New variable.
(clang-toolchain-9): New variable.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
In the same spirit that gcc-toolchain provides a complete gcc toolchain
suitable for user profile installation, add a make-clang-toolchain function
and use it to create clang-toolchain, clang-toolchain-7 and clang-toolchain-6
packages.
* gnu/packages/llvm.scm (make-clang-toolchain): New method.
(clang-toolchain): New public variable defined using previous method,
(clang-toolchain-7): ditto,
(clang-toolchain-6): ditto.
Make clang use libstdc++ from gcc package. In the future, the build of clang
could be parametrized to build clang with libstdc++ support or with libcxx
support.
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Make clang look for
libstdc++ in the right location, which is gcc c++ includes directory.
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Turn case on major
version into a cond, so that newer versions of clang have the same behaviour as
version 6 and 7.
Signed-off-by: Carl Dong <contact@carldong.me>
This is a follow-up to commit c5296e205b.
* gnu/packages/llvm.scm (llvm-7, clang-runtime-7, clang-7): New public variables.
(python-llvmlite)[inputs]: Inherit from LLVM-7 instead of LLVM.
* gnu/packages/patches/clang-7.0-libc-search-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/llvm.scm (llvm, clang-runtime, clang): Update to 7.0.1.
(llvm-7.0.1): Remove variable.
(clang-from-llvm)[arguments]: Adjust phase to match Clang 7.
(llvm-6, clang-runtime-6, clang-6): New public variables.
* gnu/packages/dlang.scm (ldc)[native-inputs]: Change LLVM and CLANG to
LLVM-6.0 and CLANG-6.0.
* gnu/packages/gl.scm (mesa)[inputs]: Change from LLVM to LLVM-6.
Previously, loading either of these two modules could fail somewhat
non-deterministically because each top-level was referencing a variable
defined by the other module's top-level.
* gnu/packages/emacs.scm (package-elisp-from-package): Move to...
* gnu/packages/llvm.scm (package-elisp-from-package): Here. Keep
private.
Use package-elisp-from-package for emacs-clang-format and emacs-clang-rename.
Also remove package-from-clang-elisp-file as it is not needed anymore.
* gnu/packages/llvm.scm (emacs-clang-format): Use package-elisp-from-package
* gnu/packages/llvm.scm (emacs-clang-rename): Use package-elisp-from-package
* gnu/packages/llvm.scm (package-from-clang-elisp-file): Remove function
Increases size of llvm@6 by 2.5MiB (2.5%), but saves building specialized
llvm's with rtti enabled for packages that require RTTI when linking with the
llvm libraries.
* gnu/packages/llvm.scm (llvm-3.8-with-rtti): Remove variable.
(llvm)[arguments]: Add '-DLLVM_REQUIRES_RTTI=1' to #:configure-flags.
* gnu/packages/audio.scm (faust-2)[native-inputs]:
'llvm-3.8-with-rtti' -> 'llvm-3.8'.
* gnu/packages/audio.scm (faust-2): Update to 2.5.23.
[native-inputs]: Replace llvm-with-rtti with llvm-3.8-with-rtti.
* gnu/packages/llvm.scm (llvm-with-rtti): Rename this variable...
(llvm-3.8-with-rtti): ...to this variable; inherit from llvm-3.8.
This is a follow-up to 0627f93db6.
* gnu/packages/patches/libsantitizer-ustat-fix.patch: Rename to
gnu/packages/patches/libsanitizer-ustat-fix.patch.
* gnu/packages/llvm.scm (clang-runtime@3.7, clang-runtime@3.8,
clang-runtime@3.9)[patches]: Fix patch name.
* gnu/packages/llvm.scm (clang-runtime@3.7, clang-runtime@3.8,
clang-runtime@3.9)[patches]: Add patch to work around removed ustat.h.
* gnu/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.