GCC vil bli fjernet fra hovedutvalget for FreeBSD

FreeBSD-utviklere presentert planlegger å fjerne GCC 4.2.1 fra FreeBSD-basesystemkildene. GCC-komponenter vil bli fjernet før FreeBSD 13-grenen er splittet, som bare vil inkludere Clang-kompilatoren. GCC, om ønskelig, kan leveres fra havnene der det tilbys GCC 9, 7 и 8, samt allerede overført til kategorien foreldet problemer GCC 4.8, 5, 6 и 7.

Arkitekturer som er avhengige av GCC og ikke kan migrere til Clang, vil bli bedt om å migrere til eksterne verktøy installert fra porter. Som forberedelse til fjerning av GCC fra basissystemet, er det planlagt arbeid for å forbedre integreringen av basesystembyggesystemet med eksterne verktøy. For eksempel, for amd64-arkitekturen, har det kontinuerlige integrasjonssystemet allerede lagt til muligheten til å bygge ved hjelp av gcc 6.4 fra porter, som kan brukes som grunnlag for å oversette andre arkitekturer.

La oss huske at fra og med FreeBSD 10, ble basissystemet for i386-, AMD64- og ARM-arkitekturene overført til standardleveringen av Clang-kompilatoren og libc++-biblioteket utviklet av LLVM-prosjektet. GCC og libstdc++ for disse arkitekturene ble ikke lenger bygget som en del av basissystemet, men ble fortsatt levert som standard for powerpc, mips, mips64 og sparc64 arkitekturene, og kunne også installeres ved gjenoppbygging med WITH_GCC og WITH_GNUCXX flaggene spesifisert. Den utdaterte versjonen av GCC 4.2.1 ble sendt på grunn av lisensieringsbegrensninger.

FreeBSD kunne ikke migrere til en nyere versjon av GCC, siden utgivelse 4.2.2 GCC var oversatt GPLv3-lisensen og GCC 4.2.2-integrasjonen ble hemmet av inkompatibiliteten til GCC-kjøretidskomponenter med BSD-lisensen. Senere, i versjon GCC 4.4 denne inkompatibiliteten ble eliminert, men tillegget av GPLv3-lisensierte komponenter til FreeBSD-basesystemet var funnet umulig på grunn av motsetninger med målene til FreeBSD-prosjektet og motvilje mot å pålegge brukere ytterligere restriksjoner, for eksempel forbud tivoisering.

Prosessen med å kvitte seg med GCC i basissystemet vil deles inn i flere stadier og vil vare i 9 måneder, noe som vil gi utviklere av GCC-bundne arkitekturer (powerpc, mips, mips64 og sparc64) tid til å migrere til Clang eller bytte til å bruke eksterne verktøy. Den første fasen vil starte 31. august og vil føre til utelukkelse av gcc 4.2.1 fra den kontinuerlige integrasjonssystemet, samt avslutning av "-Werror"-flagget for GCC-bundne plattformer og deaktivering av GCC-bygg av standard når du kjører "make universe".

31. desember 2019 vil GCC-bygget bli deaktivert som standard, men kan fortsatt tilbakestilles ved å spesifisere visse flagg. 31. mars 2020 vil GCC bli fjernet fra SVN-depotet, og 31. mai vil alle plattformer som ikke dekkes av kontinuerlig integrasjon, ikke støtter LLVM eller ikke har blitt konvertert til å bruke eksterne byggeverktøy, fjernet fra SVN . 31. juli 2020 vil den endelige fjerningen fra SVN av alle gjenværende plattformer som krever bruk av eksterne verktøy, men som ikke støttes i utgivelsesgenereringsskripter, utføres.

Kilde: opennet.ru

Legg til en kommentar