GCC bude odstraněn z hlavního jádra FreeBSD

Vývojáři FreeBSD představili plán odstranění GCC 4.2.1 z původních textů základního systému FreeBSD. Složky GCC budou odstraněny do větve FreeBSD 13, která bude zahrnovat pouze kompilátor Clang. GCC bude možné podle potřeby nainstalovat z portů, které jsou nabízeny GCC 9, 7 a 8, a také již zařazeny mezi zastaralé verzí GCC 4.8, 5, 6 a 7.

Architekturám, které jsou závislé na GCC a nemohou přejít na Clang, bude navrženo přejít na externí nástroje, instalované z portů. V rámci přípravy na odstranění GCC ze základního systému se plánuje práce na zlepšení integrace systému sestavení základního systému s externími nástroji. Například pro architekturu amd64 byla do systému kontinuální integrace již přidána možnost sestavení s využitím gcc 6.4 z portů, která může být použita jako základ pro převod dalších architektur.

Připomínáme, že od verze FreeBSD 10 základní systém pro architektury i386, AMD64 a ARM byl převeden na dodání kompilátoru Clang a vyvíjené knihovny libc++ projektem LLVM. GCC a libstdc++ pro uvedené architektury již nebyly sestavovány jako součást základního systému, ale i nadále byly dodávány jako výchozí pro architektury powerpc, mips, mips64 a sparc64, a také mohly být nainstalovány při přebudování s nastavením vlajek WITH_GCC a WITH_GNUCXX. Dodávka zastaralé verze GCC 4.2.1 byla způsobena licenčními omezeními.

FreeBSD nemohlo přejít na novější verzi GCC, protože od verze 4.2.2 byl GCC převeden na licenci GPLv3 a integraci GCC 4.2.2 bránily nekompatibility runtime komponent GCC s licencí BSD. Později, v verzi GCC 4.4, tato nekompatibilita odstraněna, ale přidání komponentů pod licencí GPLv3 do základního systému FreeBSD bylo uznáno za nemožné kvůli rozporům s cíli projektu FreeBSD a neochotě uvalit další omezení na uživatele, jako je zákaz tivizace.

Proces zbavování se GCC v základním systému bude rozdělen na několik fází a potrvá 9 měsíců, což vývojářům připojeným k architekturám GCC (powerpc, mips, mips64 a sparc64) poskytne čas na migraci na Clang nebo na přechod na používání externích nástrojů. První fáze začne 31. srpna a povede k odstranění gcc 4.2.1 ze sestavení v systému kontinuální integrace, a také k zastavení používání příznaku „-Werror“ pro platformy připojené k GCC a k vypnutí sestavení GCC ve výchozím nastavení při provádění „make universe“.

31. prosince 2019 bude sestavení GCC ve výchozím nastavení vypnuto, ale bude možné jej vrátit pomocí určitých přepínačů. 31. března 2020 bude GCC odstraněno ze SVN repozitáře, a 31. května budou ze SVN odstraněny všechny platformy, které nejsou zahrnuty v systému kontinuální integrace, které nepodporují LLVM nebo které nebyly převedeny na používání externího sestavovacího nástroje. 31. července 2020 dojde k finálnímu odstranění ze SVN všech zbývajících platforem, které vyžadují používání externího nástroje, ale nejsou podporovány ve skriptech pro vytváření verzí.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster