|« Debian feeds on Identica / Twitter||Retour en vidéo sur le Mongol Rally »|
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:
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 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:
llvm-gcc -o foo foo.c
I have lighten the "contact" between the gcc version used to build the extension and the version used to run it.
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:
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.
If there is a better way to tackle this issue, I will be happy to hear it.
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.
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.
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 (see bug #626083) followed the same direction as llvm-gcc-4.2
llvm-2.7 is still in the archive (see bug #626081) because of some reverse dependencies...
Dey make DACA better.