Fedora plánuje poskytnúť možnosť vytvárať balíčky v Clang namiesto GCC

Na implementáciu vo Fedore 33 plánované zmena pravidlá používania kompilátorov v distribúcii, podľa ktorých je možné vybrať kompilátor na zostavenie balíka v závislosti od odporúčaní a preferencií hlavného projektu (upstream). Fedora v súčasnosti presadzuje použitie GCC na zostavenie všetkých balíkov, pokiaľ balík nemôže byť zostavený iba v Clang/LLVM.

Dôvodom poskytnutia schopnosti stavať s Clangom je, že niektoré projekty, napr. Firefox и Chróm, pri vývoji používajú Clang ako hlavný kompilátor a zostavy založené na ňom sa lepšie testujú. Použitie Clang pre takéto balíky zabráni zachyteniu chýb, ktoré sa objavia pri vytváraní GCC, ako aj koordinácii opráv týchto chýb s hlavným projektom. Budovanie pomocou GCC má pozitívny vplyv na udržanie prenosnosti kódu vyvinutého pomocou Clang, ale vytvára väčšiu záťaž pre správcov a oneskoruje zverejňovanie aktualizácií (napríklad Mozilla zakazuje pri aplikovaní opráv tretích strán používajte ochrannú známku Firefoxu, takže sa musíte najskôr uistiť, že opravy sú zahrnuté v hlavnom streame a aktualizáciu vydať až potom, čo sa opravy objavia v upstreame).

Treba poznamenať, že by bolo logické použiť Clang pre balíky, pre ktoré je tento kompilátor vhodnejší a používaný v hlavnom projekte. V prípade takýchto balíkov by bolo možné znížiť záťaž na údržbu, ak by balíky pripravili zástupcovia hlavného projektu. Ak balík vytvára zástupca komunity, potom sa navrhuje, aby bola správcovi poskytnutá možnosť vybrať si kompilátor. Pre balíky, ktorých hlavné projekty neuprednostňujú jeden alebo druhý kompilátor, sa odporúča zachovať status quo (vybudovať v GCC ako predtým). Autorom návrhu je Jeff Law z Red Hat, ktorý je jedným zo správcov GCC a Binutils.

Zdroj: opennet.ru

Pridať komentár