Fedora is van plan om de mogelijkheid te bieden om pakketten in Clang te bouwen in plaats van in GCC

Voor implementatie in Fedora 33 gepland veranderen regels voor het gebruik van compilers in de distributie, volgens welke de compiler voor het bouwen van het pakket kan worden geselecteerd afhankelijk van de aanbevelingen en voorkeuren van het hoofdproject (upstream). Fedora dwingt momenteel het gebruik van GCC af om alle pakketten te bouwen, tenzij het pakket alleen in Clang/LLVM gebouwd kan worden.

De reden dat we de mogelijkheid bieden om met Clang te bouwen is dat sommige projecten, b.v. Firefox и Chromium, tijdens de ontwikkeling gebruiken ze Clang als de belangrijkste compiler en daarop gebaseerde assemblages worden beter getest. Door Clang voor dergelijke pakketten te gebruiken, voorkom je dat er fouten worden opgemerkt die opduiken bij het bouwen in GCC, en worden de oplossingen voor deze fouten gecoördineerd met het hoofdproject. Bouwen met GCC heeft een positief effect op het behouden van de overdraagbaarheid van code die is ontwikkeld met Clang, maar creëert een grotere last voor beheerders en vertraagt ​​de publicatie van updates (bijvoorbeeld Mozilla verbiedt gebruik het Firefox-handelsmerk bij het toepassen van patches van derden, dus u moet er eerst voor zorgen dat de patches in de hoofdstream zijn opgenomen en de update pas vrijgeven nadat de fixes in de upstream verschijnen).

Opgemerkt wordt dat het logisch zou zijn om Clang te gebruiken voor pakketten waarvoor deze compiler beter geschikt is en gebruikt wordt in het hoofdproject. Voor dergelijke pakketten zou het mogelijk zijn de onderhoudslast te verminderen als de pakketten worden opgesteld door vertegenwoordigers van het hoofdproject. Als een vertegenwoordiger van de gemeenschap het pakket bouwt, wordt voorgesteld om de beheerder de mogelijkheid te geven een compiler te kiezen. Voor pakketten waarvan de hoofdprojecten niet de voorkeur geven aan een of andere compiler, wordt aanbevolen om de status quo te handhaven (ingebouwd in GCC zoals voorheen). De auteur van het voorstel is Jeff Law van Red Hat, een van de beheerders van de GCC en Binutils.

Bron: opennet.ru

Voeg een reactie