• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD 8.0 ohne GCC

xGhost

OpenBSD Freack
Themenstarter #1
Moins

Wie ich bereits in einigen Blogs gelesen habe, wird FreeBSD 8.0 nicht mehr
mit dem GCC Compiliert / und ausgeliefert (!) da teilen sich noch die Meinungen.

Den GCC kann man sich natürlich über die Ports weiterhin installieren.
Ein der der Gründe war auch, dass der GCC ab 4.2 nur noch mit der GPL3v ausgeliefert
wird, welche mit der BSD-Lizenz in Widerspruch steht (GPL2v ja eigentlich auch, aber
lassen wir den flameware) und stark umstritten ist/war.

Der GCC wird durch den LLVM, als Frondend Clang, ersetzt. Beide stehen unter
der BSD-Lizenz und bieten neue Ansätze der Optimierung bzw. leistung in der Ausgabe.
http://de.wikipedia.org/wiki/LLVM

Auf der Homepage von Clang ist aber ersichtlich, dass der C++ Standard leider noch
nicht 100% implementiert wurde, was meine Vorfreude etwas gebremst hat. Mir ist durchaus klar, dass der GCC auch nicht alles implementiert hat, aber durchaus weiter ist.

Eine Interessante Anleitung findet sich im FreeBSD Wiki:
http://wiki.freebsd.org/BuildingFreeBSDWithClang

Der LLVM wird ganz sicher eingesetzt. Noch unbekannt ist, ob schon Clang als Frontend agiert oder ob noch der GCC 4.1 eingesetzt wird.

Die Feature von Clang sind aber sehr interessant und ich freue mich, das der GCC abgelöst wird. Ich denke, dass daran auch Theo von Raad freude haben wird. Er wollte
ja schon lange einen BSD Compiler haben, vielleicht wird er sich diesen auch
zu nutzen machen.

Was gibt es sonst noch darüber zu wissen?
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#2
Hä, wo hast du denn das her? FreeBSD 8 enthält auch weiterhin den GCC als einzigen Compiler. Das er entfernt wurde, war ein Aprilscherz... Allerdings nur in Version 4.2, welche allerdings eine ganze Reihe selbstersteller Patches enthält. Neuere Versionen können leider nicht importiert werden, da sie ja unter der GPLv3 stehen. Allerdings kann in FreeBSD 8 erstmal der Compiler ohne großes Gefrickel ausgetauscht werden. So auch gegen aktuelle Versionen aus den Ports. Wie es langfristig weitergeht, ist noch nicht entschieden. Fakt ist, dass man mit dem GCC nur weiter machen kann, wenn man die Kröte in Form der GPLv3 schluckt. LLVM / Clang wäre vielleicht eine Alternative, aber das Ding ist noch lange nicht weit genug. Auch wenn es sehr ambitioniert ist, ist die Frage, ob es jemals weit genug kommen wird. Vom alten PCC reden wir lieber erst gar nicht.

Dazu kommt, wie du selbst sagst, das C++ Problem. Es ist nicht nur so, dass der Compiler C++ können muss. Schließlich gibt es auch in der Basis C++ Programme. FreeBSD hat auch keine eigene libstdc++ mit an Bord. Im Moment wird dort die zum GCC gehörende Implementierung des GNU-Projektes genutzt. Auch diese müsste ersetzt werden. ObjC ist im Moment in der Basis zwar enthalten, aber darauf könnte man wohl verzichten.

Jetztendlich wird das ganze noch Jahre dauern. Ich kann mit schwer vorstellen, dass dann in zwei bis drei Jahren ein FreeBSD 9.0 ohne GCC kommt. Es mag alternativ einen anderen Compiler an Bord haben, aber sicher nur wahlweise und auf Wunsch benutzbar. Das ganze ist auch gar nicht so einfach, da ja i386, AMD64, SPARC64, PowerPC, ARM und MIPS gleichwertig unterstützt sein müssen. Da der Code eventuell angepasst werden muss. Da auf Regressionen getestet werden muss. Etc.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#3
OK, nun wurde mir im IRC gerade gesagt, dass das aktuell wieder Gerüchte umlaufen. Die stimmen allerdings nicht, selbst in #freebsd-clang scheint man nichts zu wissen. Also, egal was Leute sagen und in ihre Blog schreiben - natürlich ohne Quelle - stimmt nicht.
 

xGhost

OpenBSD Freack
Themenstarter #4
Die vorstellung wäre schön :)

Aber ich werde mal bei gelegenheit den LLVM mit GCC Frontend versuchen.
Danke für deine Abklärungen.