Original-URL des Artikels: https://www.golem.de/news/llvm-google-bevorzugt-clang-fuer-chrome-unter-linux-1501-111487.html    Veröffentlicht: 06.01.2015 16:50    Kurz-URL: https://glm.io/111487

LLVM

Google bevorzugt Clang für Chrome unter Linux

Chrome für Linux kompiliert Google mit LLVMs Clang statt mit GCC. In einem Blogeintrag begründet das Unternehmen diese Wahl mit einer leicht nachvollziehbaren Erklärung.

Seit der Veröffentlichung von Chrome 38 Anfang Oktober letzten Jahres wird der Browser für Linux standardmäßig mit Clang aus dem LLVM-Projekt kompiliert. Den Wechsel vom zuvor genutzten GCC erklärt das Team nun in einem Blogeintrag. Demnach benutzten bereits viele Chrome-Entwickler Clang unter Linux.

Dies liege unter anderem an den gute Diagnosewerkzeugen zum Auffinden von Fehlern beim Kompilieren, heißt es weiter. Ebenso pflege das Team ein eigenes Clang-Plugin, das den Programmierstil überprüfe. Der Wechsel zu Clang als Standard-Compiler solle damit die Einstiegshürden für Projektneulinge verringern.

Neues C++ für Linux

Darüber hinaus entschied sich das Team für Clang, um neue Funktionen in C++ zu unterstützen. Für Chrome unter Android und Chrome OS wird einfach weiterhin eine aktuelle Version von GCC verwendet, da diese Portierungen sowieso nicht den Standard-Compiler der Systeme verwendeten. Das für Mac OS X und iOS genutzte Clang in XCode befand das Team ebenfalls als aktuell genug, das Gleiche gilt für Microsofts Visual Studio 2013.

Doch für die verschiedenen Linux-Distributionen sei die Ausgangslage nicht so einfach gewesen. Denn der C++-Standard wird nach einer langjährigen Pause nun wohl im Dreijahresrhythmus aktualisiert. Um neue Sprachfunktionen zu nutzen, benötigen die Entwickler lediglich einen neuen Compiler, den das Team intern pflegen kann, so dass sie nicht auf die Pakete der Linux-Distributionen angewiesen sind.

Mit neuen Funktionen aus der C++-Standardbibliothek ist dies jedoch nicht so einfach umsetzbar, schon allein weil eine mit Chrome veröffentlichte aktuelle Bibliothek und eine vorhandene ältere Systembibliothek sich eventuell gegenseitig behindern oder anderweitig Problem verursachen könnten. Zudem kann die eingesetzte Version von GCC nur gemeinsam mit der dazugehörigen Bibliothek aktualisiert werden. Clang hingegen erlaubt auch eine ältere Bibliothek zu verwenden, weshalb sich das Team letztlich für diesen Compiler entschieden hat.

Wie genau Chrome neue Funktionen aus den aktuellen C++-Standardbibliotheken integrieren wird und ob diese mit Chrome gebündelt verteilt werden, erarbeitet das Team derzeit für die unterschiedlichen Plattformen, für die der Browser verfügbar ist.  (sg)


Verwandte Artikel:
LLVM 6.0: Clang bekommt Maßnahme gegen Spectre-Angriff   
(09.03.2018, https://glm.io/133241 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Saphira: Compiler-Patches verraten neue Qualcomm-CPU   
(06.11.2017, https://glm.io/130991 )
Arduino: IDE 1.9 implementiert heiß ersehnte Funktion   
(14.10.2017, https://glm.io/130613 )
Google: Chrome wird künftig mit Clang statt Visual C++ entwickelt   
(06.03.2018, https://glm.io/133171 )

© 1997–2020 Golem.de, https://www.golem.de/