Ein kurzer Hinweis für alle FreeBSD 9-CURRENT Nutzer. Am 09. Juni werden LLVM und Clang importiert werden, der neue C/C++/ObjC-Compiler ist dann Teil des Basissystems. Clang wird zuerst (wahrscheinlich mindestens noch den ganzen 9.x-Zweig über) ein rein optionaler Systembestandteil sein. Das bedeutet, es werden zwar Binarys "/usr/bin/clang" und "/usr/bin/clang++" installiert werden, jedoch wird der Compiler nicht genutzt werden, solange man es nicht explizit aktiviert. Das System selbst und die Ports werden weiterhin wie gewohnt mit GCC 4.2 gebaut werden. Zweck dieses Imports ist in erster Linie ein Zeichen zu setzen, wohin die Reise in Sachen Compiler gehen könnte und Clang zwecks besserem Testing einer größeren Nutzerbasis auf komfortablen Weg zur Verfügung stellen.
Wie weit ist Clang? Grundsätzlich sei gesagt, dass Clang ein junges Projekt ist. Auch wenn zumindest das C-Frontend nur wenige bekannte Bugs hat und seitens der Entwickler als produktiv einsetzbar gekennzeichnet ist, ist hier noch Vorsicht angebracht. Niemand weiß, wie viele verstecke Fehler und Probleme es noch geben mag. Gleiches gilt für ObjC. C++ ist noch in sehr aktiver Entwicklung, es ist noch nicht fertiggestellt, unterstützt aber bereits eine ausreichend große Untermenge der Sprache um LLVM und Clang selbst zu übersetzen. Ein weiterer Hintergedanke hinter dem Import ist daher auch, den Entwicklern der LLVM und Clang eine größere Testcommunity zu geben.
Die E-Mail:
Wie weit ist Clang? Grundsätzlich sei gesagt, dass Clang ein junges Projekt ist. Auch wenn zumindest das C-Frontend nur wenige bekannte Bugs hat und seitens der Entwickler als produktiv einsetzbar gekennzeichnet ist, ist hier noch Vorsicht angebracht. Niemand weiß, wie viele verstecke Fehler und Probleme es noch geben mag. Gleiches gilt für ObjC. C++ ist noch in sehr aktiver Entwicklung, es ist noch nicht fertiggestellt, unterstützt aber bereits eine ausreichend große Untermenge der Sprache um LLVM und Clang selbst zu übersetzen. Ein weiterer Hintergedanke hinter dem Import ist daher auch, den Entwicklern der LLVM und Clang eine größere Testcommunity zu geben.
Die E-Mail:
Code:
Dear current@
On June 9th, we are importing clang/LLVM into FreeBSD HEAD. We are going
to import clang/LLVM sources and put those into contrib/llvm (~45MB) and
the build infrastructure for it (lib/clang and usr.bin/clang). There's
also a small patch to hook it into the build. This patch is attached for
review or available at (stripped from mergeinfo):
http://lev.vlakno.cz/~rdivacky/clangbsd-import.patch
Clang will be enabled to be built on amd64/i386/ppc by default and disabled
everywhere else. The selected clang/LLVM revision is r104832. Clang will
be installed as "clang" so it should not interfere with anything. There's
a switch (WITH_CLANG and WITHOUT_CLANG) that alters whether clang will
be built or not.
We plan to update clang/LLVM "often" as bugs are being found/fixed.
From the point of view of a user nothing changes except one more application
will be installed after the next buildworld/installworld.
The next plan is to gradually start integrating the necessary changes to
enable buildworld with clang but this is pending some more discussion.
Roman Divacky