GCC bude odstránený z hlavnej zostavy FreeBSD

Vývojári FreeBSD predložené plánuje odstrániť GCC 4.2.1 zo zdrojov základného systému FreeBSD. Komponenty GCC budú odstránené pred rozvetvením vetvy FreeBSD 13, ktorá bude obsahovať iba kompilátor Clang. GCC, ak je to potrebné, môže byť doručené z portov, v ktorých sa ponúka GCC 9, 7 и 8, ako aj už prenesené do kategórie zastarané problémy GCC 4.8, 5, 6 и 7.

Architektúry, ktoré sa spoliehajú na GCC a nemôžu migrovať na Clang, budú požiadané o migráciu na externé nástroje nainštalované z portov. V rámci prípravy na odstránenie GCC zo základného systému sa plánujú práce na zlepšení integrácie systému zostavovania základného systému s externými nástrojmi. Napríklad pre architektúru amd64 už systém kontinuálnej integrácie pridal možnosť stavať pomocou gcc 6.4 z portov, čo možno použiť ako základ pre preklad iných architektúr.

Pripomeňme si, že počnúc FreeBSD 10 bol základný systém pre architektúry i386, AMD64 a ARM prenesený do predvolenej dodávky kompilátora Clang a knižnice libc++ vyvinutej projektom LLVM. GCC a libstdc++ pre tieto architektúry už neboli zostavené ako súčasť základného systému, ale naďalej boli štandardne dodávané pre architektúry powerpc, mips, mips64 a sparc64 a mohli byť nainštalované aj pri prestavbe so špecifikovanými príznakmi WITH_GCC a WITH_GNUCXX. Zastaraná verzia GCC 4.2.1 bola dodaná z dôvodu licenčných obmedzení.

FreeBSD nemohlo migrovať na novšiu verziu GCC, pretože od vydania 4.2.2 bolo GCC preložené Licencia GPLv3 a integrácia GCC 4.2.2 boli brzdené nekompatibilitou runtime komponentov GCC s licenciou BSD. Neskôr, vo verzii GCC 4.4 táto nekompatibilita bola eliminovaná, ale pridanie komponentov s licenciou GPLv3 do základného systému FreeBSD bolo zistené nemožné kvôli rozporom s ciele projektu FreeBSD a neochota uvaliť na používateľov dodatočné obmedzenia, ako napríklad zákaz tivoizácia.

Proces zbavenia sa GCC v základnom systéme bude rozdelený do niekoľkých etáp a bude trvať 9 mesiacov, čo poskytne vývojárom architektúr viazaných na GCC (powerpc, mips, mips64 a sparc64) čas na migráciu na Clang alebo prechod na používanie externé nástroje. Prvá etapa sa začne 31. augusta a povedie k vylúčeniu gcc 4.2.1 z budovania systému nepretržitej integrácie, ako aj k ukončeniu príznaku „-Werror“ pre platformy viazané na GCC a k zakázaniu zostavení GCC predvolené pri spustení „make universe“.

31. decembra 2019 bude zostava GCC predvolene zakázaná, no stále ju možno vrátiť späť zadaním určitých príznakov. 31. marca 2020 bude GCC odstránený z úložiska SVN a 31. mája budú zo SVN odstránené všetky platformy, na ktoré sa nevzťahuje nepretržitá integrácia, nepodporujú LLVM alebo neboli konvertované na používanie externých nástrojov na zostavovanie. . Dňa 31. júla 2020 sa uskutoční konečné odstránenie všetkých zostávajúcich platforiem zo SVN, ktoré vyžadujú použitie externých nástrojov, ale nie sú podporované v skriptoch generovania vydaní.

Zdroj: opennet.ru

Pridať komentár