Diit.cz - Novinky a informace o hardware, software a internetu

Revoluce dovršena: FreeBSD přechází z GCC na LLVM/Clang

LLVM logo
V rámci architektury x86 jsme se konečně po letech stagnování na poslední GPLv2 verzi GCC dočkali: Pro FreeBSD se stává výchozím kompilátorem duo LLVM a Clang…

Nejprve trocha historie: od chvíle, kdy se zrodila GPLv3 licence, která je podstatně více restriktivní než GPLv2, nastal pro FreeBSD jistý problém. Tato licence není s ním dost dobře slučitelná a protože na GNU GPLv3 licenci přešly projekty GNU (zatímco třeba linuxový kernel ponechal Linus Torvalds pod původní GPLv2 licencí a podobně to nechaly i mnohé další projekty), tedy i GNU Compiler Collection (zkráceně GCC), bylo potřeba najít alternativu. Tou se stala dvojice projektů LLVM a Clang.

LLVM, tedy Low Level Virtual Machine, je něco jako podhoubí pro kompilátory různých jazyků. Může nad ním běžet front-end kompilátoru C++, stejně jako třeba Fortranu či ActionScriptu. Projekt byl spuštěn na University of Illinois at Urbana–Champaign v roce 2000 a je k dispozici pod licencí University of Illinois/NCSA Open Source License, která je s BSD licencí kompatibilní. Do projektu přispívá mimochodem i Apple, která LLVM využívá v mnoha projektech a která v roce 2005 zaměstnala spoluzakladatele LLVM, Chrise Lattnera (nyní v Apple zastává pozice Director of Low Level Tools a chief architect of the Compiler Group).

Chris pracuje v Apple i na dalších projektech, překvapením by nemělo být, že jedním z nich je i Clang. A právě Clang je front-endem pro jazyky C, C++, Objective-C a Objective-C++, přičemž je opět k dispozici pod University of Illinois/NCSA License. Clang byl pod touto licencí zveřejněn teprve v roce 2007, ale již nyní je na velmi dobré pozici vůči GCC: dle jeho tvůrců si vystačí s menším množstvím paměti a kompilaci kódu provádí rychleji než GCC a jiné kompilátory, často výrazně rychleji, navíc při debuggingu dává bohatší hlášení.

Již v únoru 2009 šlo pomocí LLVM/Clang zkompilovat FreeBSD kernel, v květnu 2010 dokázal zkompilovat Boost C++ knihovny, v říjnu téhož roku pak modifikovaný linuxový kernel. Před třemi dny pak tvůrci FreeBSD na tento seznam přidali i celé FreeBSD v rámci platforem i386 a amd64 (jiné ještě setrvávají u GCC).

GPLv3 licence je obecně vnímána jako až příliš restriktivní a omezující svobody autorů kódu (resp. návazného kódu). Tak jako linuxový kernel, i další projekty nepřešly z GPLv2 na GPLv3. Ostatně si ale Linusův názor poslechněte sami.

Tagy: 

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Revoluce dovršena: FreeBSD přechází z GCC na LLVM/Clang

Čtvrtek, 8 Listopad 2012 - 21:37 | Lukas Zapletal | Nic proti LLVM, ale GCC má stále výrazně navrh co...
Čtvrtek, 8 Listopad 2012 - 19:35 | Kedar Míša | revoluce mozna, ale evoluce to neni. jeden pociti...
Čtvrtek, 8 Listopad 2012 - 17:42 | cyberreality | kvuli licenci, jinak na phoronixu uz bylo hodne...
Čtvrtek, 8 Listopad 2012 - 17:12 | HKMaly | Tak moment ... presli z duvodu licence, nebo...

Zobrazit diskusi