Vývojári FreeBSD plán odstránenia GCC 4.2.1 z pôvodných textov základného systému FreeBSD. Zloženie GCC bude odstránené do vyhotovenia vetvy FreeBSD 13, ktorého súčasťou bude len kompilátor Clang. GCC bude možné nainštalovať z portov, v ktorých sa ponúka , a , a takisto už preložené do kategórie zastaraných , , a .
Architektúram, ktoré sú viazané na GCC a nemôžu prejsť na Clang, bude navrhnuté prejsť na externý nástroj, inštalovaný z portov. V rámci prípravy na odstránenie GCC zo základného systému sa plánuje vykonať práca na zlepšení integrácie systému zostavovania základného systému s externými nástrojmi. Napríklad pre architektúru amd64 bola do systému nepretržitej integrácie už pridaná možnosť zostavenia s využitím gcc 6.4 z portov, ktorá môže byť použitá ako základ pre prevod iných architektúr.
Pripomíname, že od verzie FreeBSD 10 bol základný systém pre architektúry i386, AMD64 a ARM prevedený na dodávanie predvoleného kompilátora Clang a vyvíjanej projektom LLVM knižnice libc++. GCC a libstdc++ pre uvedené architektúry prestali byť zostavované ako súčasť základného systému, ale pokračovali v dodávaní predvoleného pre architektúry powerpc, mips, mips64 a sparc64, a takisto mohli byť nainštalované pri preskladaní s označením vlajok WITH_GCC a WITH_GNUCXX. Dodanie zastaranej verzie GCC 4.2.1 bolo podmienené licenčnými obmedzeniami.
FreeBSD nemohlo prejsť na novšiu verziu GCC, pretože počnúc vydaním 4.2.2 bol GCC na licenciu GPLv3 a integráciu GCC 4.2.2 bránila nekompatibilita runtime komponentov GCC s licenciou BSD. Neskôr, v verzii GCC 4.4 bola táto nekompatibilita , ale pridanie komponentov so licenciou GPLv3 do základného systému FreeBSD bolo kvôli rozporom s a nechceniu uvalit ďalšie obmedzenia na používateľov, ako je zákaz .
Proces zbavenia sa GCC v základnom systéme bude rozdelený na niekoľko etáp a potrvá 9 mesiacov, čo poskytne vývojárom viazaným na GCC architektúry (powerpc, mips, mips64 a sparc64) čas na migráciu na Clang alebo prechod na externé nástroje. Prvá etapa začne 31. augusta a povedie k vylúčeniu gcc 4.2.1 zo zostavy v systéme nepretržitéj integrácie, ako aj k zastaveniu používania príkazu „-Werror“ pre platformy viazané na GCC a k automatickému zakázaniu zostavy GCC pri vykonávaní „make universe“.
31. decembra 2019 bude zostava GCC predvolene vypnutá, avšak stále ju bude možné aktivovať pomocou určitých príkazov. 31. marca 2020 bude GCC odstránený zo SVN-repozitára a 31. mája budú zo SVN odstránené všetky platformy, ktoré nie sú pokryté systémom nepretržitej integrácie, nepodporujú LLVM alebo neboli pretransformované na použitie externého zostavovacieho nástroja. 31. júla 2020 dôjde k definitívnemu odstráneniu všetkých zostávajúcich platforiem z SVN, ktoré vyžadujú použitie externého nástroja, ale nie sú podporované v skriptoch na vytváranie vydaní.
Zdroj: opennet.ru
