Sylvestre Ledru: Status of LLVM in Debian
Here is some updates on the LLVM world into Debian.
LLVM and CLANG getting better and better after each release. After some lag, it is now time to have all these packages up-to-date into the archive. Here is an update of their status in Debian:
LLVM and CLANG getting better and better after each release. After some lag, it is now time to have all these packages up-to-date into the archive. Here is an update of their status in Debian:
- LLVM
LLVM 2.8 and 2.9 are now available into the archive.
For version 2.8, Matthias Klose deserves most of the credit.
Version 2.9 is available in experimental. They both build pretty well on most of the architectures besides kfreebsd. It is on my TODO list. -
Clang. A C/C++ compiler.
clang 2.8 and 2.9 are respectively available in unstable and experimental.
These versions cover most of C/C++ specifications and more and more big software (Qt, Boost, Scilab, etc) succeed to be built with it. Like LLVM, it is available under most of the Debian architectures (but I haven't tested the quality of the ASM generated). clang can be used just like gcc. With most of software, calling configure/make with CC="clang" or CXX="clang" should be enought. -
* Dragonegg
Dragonegg is a gcc plugin (llvm-gcc-4.5) which allows gcc to use optimizer and code generators of LLVM.
It is now straightforward to use:
I have lighten the "contact" between the gcc version used to build the extension and the version used to run it.
llvm-gcc -o foo foo.c
It required the exact same version of gcc (even if the sources say it is probably a too strong requirement). Now, a warning like this one is displayed:
If there is a better way to tackle this issue, I will be happy to hear it.
Potential incompatible plugin version. GCC: 4.5.3. Expected: 4.5.2
Defines 'dragonegg_disable_version_check' as env variable to remove this warning
Please note that unexpected errors might occur.
-
llvm-defaults
Last but not least, I uploaded llvm-defaults, a work of Arthur Loiret. This package allows a similar behavior to gcc-defaults. The installation of llvm will provide the default version of llvm.
- llvm
The llvm package has been removed. Actually, it was just the version 2.6 of llvm (see bug #625729). llvm (from llvm-defaults) is now providing the favorite version of llvm. - llvm-gcc-4.2
Upstream stopped the development of this plugin.
It has been removed from the archive (see bug #626007) and dragonegg is taking the relay. - llvm-snapshot
llvm-snapshot (see bug #626083) followed the same direction as llvm-gcc-4.2 - llvm-2.7
llvm-2.7 is still in the archive (see bug #626081) because of some reverse dependencies...