GCC zal uit de hoofdversie van FreeBSD worden verwijderd

FreeBSD-ontwikkelaars werd gepresenteerd Plan voor het verwijderen van GCC 4.2.1 uit de bront teksten van het basissysteem FreeBSD. De componenten van GCC zullen worden verwijderd tot aan de splitsing van de FreeBSD 13-tak, die alleen de Clang-compiler zal bevatten. GCC kan indien gewenst worden geïnstalleerd vanuit de ports, waarvoor wordt aangeboden GCC 9, 7 en 8, evenals eerder geclassificeerde als verouderd uitgaven GCC 4.8, 5, 6 en 7.

Architecturen die afhankelijk zijn van GCC en niet naar Clang kunnen overstappen, zal worden voorgesteld om over te schakelen op externe tools, die kunnen worden geïnstalleerd vanuit de ports. Ter voorbereiding op de verwijdering van GCC uit het basissysteem is het de bedoeling om de integratie van het build-systeem van het basissysteem met externe tools te verbeteren. Bijvoorbeeld, voor de amd64-architectuur is al de mogelijkheid toegevoegd om continu te integreren met gcc 6.4 vanuit de ports, die kan worden gebruikt als basis voor de migratie van andere architecturen.

Ter herinnering: vanaf FreeBSD 10 is het basissysteem voor de architecturen i386, AMD64 en ARM overgestapt op de standaardlevering van de Clang-compiler en de door het LLVM-project ontwikkelde libc++-bibliotheek. GCC en libstdc++ voor de genoemde architecturen worden niet meer gebouwd als onderdeel van het basissysteem, maar blijven standaard beschikbaar voor de powerpc-, mips-, mips64- en sparc64-architecturen, en kunnen ook worden geïnstalleerd bij het herbouwen met de opgaves WITH_GCC en WITH_GNUCXX. De levering van de verouderde versie GCC 4.2.1 was te wijten aan licentiesbeperkingen.

FreeBSD kon niet overstappen op een nieuwere versie van GCC, aangezien GCC vanaf versie 4.2.2 overgestapt is naar de GPLv3-licentie en de integratie van GCC 4.2.2 werd bemoeilijkt door de incompatibiliteit van de runtime-componenten van GCC met de BSD-licentie. Later, in GCC 4.4 werd deze incompatibiliteit opgelost, maar het toevoegen van componenten onder de GPLv3-licentie aan het basissysteem FreeBSD werd erkend als onmogelijk vanwege tegenstrijdigheden met de doelstellingen van het FreeBSD-project en de wens om geen extra beperkingen op gebruikers op te leggen, zoals een verbod op tivoization.

Het proces van het verwijderen van GCC uit het basissysteem zal in verschillende fasen verdeeld worden en zal 9 maanden duren, wat de ontwikkelaars van architecturen die aan GCC zijn gekoppeld (powerpc, mips, mips64 en sparc64) tijd geeft om over te stappen naar Clang of externe tools te gebruiken. De eerste fase begint op 31 augustus en zal leiden tot de uitsluiting van gcc 4.2.1 uit de build in het continue integratiesysteem, evenals het beëindigen van het gebruik van de vlag "-Werror" voor aan GCC gekoppelde platforms en het standaard uitschakelen van de GCC-build bij het uitvoeren van "make universe".

Op 31 december 2019 zal de GCC-build standaard worden uitgeschakeld, maar kan nog steeds worden hersteld door bepaalde vlaggen op te geven. Op 31 maart 2020 zal GCC uit de SVN-repository worden verwijderd en op 31 mei zullen alle platforms die niet gedekt zijn door het continue integratiesysteem, die LLVM niet ondersteunen of niet zijn overgeschakeld naar externe buildtools, uit SVN worden verwijderd. Op 31 juli 2020 zal de definitieve verwijdering uit SVN plaatsvinden van alle resterende platforms die externe tools vereisen, maar niet worden ondersteund in de release-building scripts.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster