GCC eemaldatakse FreeBSD põhivalikust

FreeBSD arendajad esitatakse kavatseb FreeBSD baassüsteemi allikatest eemaldada GCC 4.2.1. GCC komponendid eemaldatakse enne FreeBSD 13 haru ühendamist, mis hõlmab ainult Clangi kompilaatorit. GCC saab soovi korral tarnida sadamatest, kus seda pakutakse GCC 9, 7 и 8, samuti juba üle kantud vananenud kategooriasse probleeme GCC 4.8, 5, 6 и 7.

Arhitektuuridel, mis põhinevad GCC-l ja mida ei saa Clangile migreerida, palutakse migreerida pordidest installitud välistele tööriistadele. GCC baassüsteemist eemaldamise ettevalmistamisel on plaanis parandada baassüsteemi ehitussüsteemi integreerimist väliste tööriistadega. Näiteks amd64 arhitektuuri jaoks on pideva integreerimise süsteem juba lisanud võimaluse ehitada portidest gcc 6.4 abil, mida saab kasutada teiste arhitektuuride tõlkimisel.

Tuletagem meelde, et alates FreeBSD 10-st viidi i386, AMD64 ja ARM-arhitektuuride baassüsteem üle Clangi kompilaatori ja LLVM-projekti poolt välja töötatud libc++ teegi vaikimisi tarnimisele. Nende arhitektuuride jaoks mõeldud GCC-d ja libstdc++ ei ehitatud enam põhisüsteemi osana, vaid neid tarniti vaikimisi powerpc-, mips-, mips64- ja sparc64-arhitektuuride jaoks ning neid sai installida ka uuesti ülesehitamisel määratud lippudega WITH_GCC ja WITH_GNUCXX. GCC 4.2.1 aegunud versioon tarniti litsentsipiirangute tõttu.

FreeBSD ei saanud GCC uuemale versioonile üle minna, kuna alates versioonist 4.2.2 oli GCC tõlgitud GPLv3 litsentsi ja GCC 4.2.2 integratsiooni takistas GCC käitusaja komponentide kokkusobimatus BSD litsentsiga. Hiljem versioonis GCC 4.4 see kokkusobimatus likvideeriti, kuid GPLv3-litsentsiga komponentide lisamine FreeBSD baassüsteemi oli võimatuks peetud vastuolude tõttu FreeBSD projekti eesmärgid ja soovimatus kehtestada kasutajatele täiendavaid piiranguid, näiteks keelamist tivoiseerimine.

Põhisüsteemis GCC-st vabanemise protsess jaguneb mitmeks etapiks ja kestab 9 kuud, mis annab GCC-ga seotud arhitektuuride (powerpc, mips, mips64 ja sparc64) arendajatele aega Clangile migreerumiseks või kasutamisele üleminekuks. välised tööriistad. Esimene etapp algab 31. augustil ja toob kaasa gcc 4.2.1 väljajätmise pideva integreerimise süsteemi ehitamisest, samuti GCC-ga seotud platvormide lipu "-Werror" lõpetamise ja GCC järgude keelamise vaikimisi "make universe" käivitamisel.

31. detsembril 2019 on GCC järg vaikimisi keelatud, kuid selle saab siiski ennistada, määrates teatud lipud. 31. märtsil 2020 eemaldatakse GCC SVN-i hoidlast ja 31. mail eemaldatakse SVN-ist kõik platvormid, mis ei ole hõlmatud pideva integreerimisega, ei toeta LLVM-i või ei ole teisendatud kasutama väliseid ehitustööriistu. . 31. juulil 2020 eemaldatakse SVN-ist lõplikult kõik ülejäänud platvormid, mis nõuavad väliste tööriistade kasutamist, kuid mida väljalaske genereerimise skriptid ei toeta.

Allikas: opennet.ru

Lisa kommentaar