GCC se jitneħħa mill-lineup prinċipali FreeBSD

Iżviluppaturi FreeBSD ippreżentata tippjana li tneħħi GCC 4.2.1 mis-sorsi tas-sistema bażi FreeBSD. Il-komponenti tal-GCC se jitneħħew qabel ma l-fergħa tal-FreeBSD 13 tkun forked, li se tinkludi biss il-kompilatur Clang. GCC, jekk mixtieq, jista 'jitwassal mill-portijiet li fihom jiġi offrut GCC 9, 7 и 8, kif ukoll dawk diġà trasferiti għall-kategorija ta’ skaduti kwistjonijiet GCC 4.8, 5, 6 и 7.

Arkitetturi li jiddependu fuq GCC u ma jistgħux jemigraw lejn Clang se jintalbu jemigraw għal għodod esterni installati mill-portijiet. Bi tħejjija għat-tneħħija tal-GCC mis-sistema bażi, huwa ppjanat ħidma biex tittejjeb l-integrazzjoni tas-sistema tal-bini tas-sistema bażi b'għodod esterni. Pereżempju, għall-arkitettura amd64, is-sistema ta 'integrazzjoni kontinwa diġà żiedet il-kapaċità li tibni bl-użu ta' gcc 6.4 minn portijiet, li tista 'tintuża bħala bażi għat-traduzzjoni ta' arkitetturi oħra.

Ejja nfakkru li nibda minn FreeBSD 10, is-sistema bażi għall-arkitetturi i386, AMD64 u ARM ġiet trasferita għall-kunsinna default tal-kompilatur Clang u l-librerija libc++ żviluppata mill-proġett LLVM. GCC u libstdc++ għal dawn l-arkitetturi ma baqgħux mibnija bħala parti mis-sistema bażi, iżda komplew jiġu fornuti awtomatikament għall-arkitetturi powerpc, mips, mips64 u sparc64, u setgħu wkoll jiġu installati meta jinbnew mill-ġdid bil-bnadar WITH_GCC u WITH_GNUCXX speċifikati. Il-verżjoni skaduta tal-GCC 4.2.1 intbagħtet minħabba restrizzjonijiet ta' liċenzjar.

FreeBSD ma setax jemigra għal verżjoni aktar ġdida tal-GCC, peress li mir-rilaxx 4.2.2 GCC kien tradott Il-liċenzja GPLv3 u l-integrazzjoni GCC 4.2.2 kienu mxekkla mill-inkompatibbiltà tal-komponenti tar-runtime GCC mal-liċenzja BSD. Aktar tard, fil-verżjoni GCC 4.4 din l-inkompatibilità ġie eliminat, iżda ż-żieda ta 'komponenti liċenzjati GPLv3 mas-sistema bażi FreeBSD kienet misjuba impossibbli minħabba kontradizzjonijiet ma miri tal-proġett FreeBSD u riluttanza li timponi restrizzjonijiet addizzjonali fuq l-utenti, bħall-projbizzjoni tivoizzazzjoni.

Il-proċess tat-tneħħija tal-GCC fis-sistema bażi se jkun maqsum f'diversi stadji u se jdum 9 xhur, li se jagħti lill-iżviluppaturi ta' arkitetturi marbuta mal-GCC (powerpc, mips, mips64 u sparc64) ħin biex jemigraw lejn Clang jew jaqilbu għall-użu. għodod esterni. L-ewwel stadju se jibda fil-31 ta’ Awwissu u se jwassal għall-esklużjoni ta’ gcc 4.2.1 mill-bini kontinwu tas-sistema ta’ integrazzjoni, kif ukoll it-terminazzjoni tal-bandiera “-Werror” għal pjattaformi marbuta mal-GCC u d-diżattivazzjoni tal-bini tal-GCC billi default meta taħdem "make univers".

Fil-31 ta 'Diċembru, 2019, il-bini tal-GCC se jiġi diżattivat b'mod awtomatiku, iżda xorta jista' jiġi rritornat billi jiġu speċifikati ċerti bnadar. Fil-31 ta’ Marzu 2020, il-GCC se jitneħħa mir-repożitorju SVN, u fil-31 ta’ Mejju, il-pjattaformi kollha li mhumiex koperti minn integrazzjoni kontinwa, li ma jappoġġawx LLVM, jew li ma ġewx konvertiti biex jużaw għodod tal-bini esterni se jitneħħew minn SVN . Fil-31 ta' Lulju 2020, se titwettaq it-tneħħija finali mill-SVN tal-pjattaformi kollha li jifdal li jeħtieġu l-użu ta' għodod esterni, iżda li mhumiex appoġġjati fl-iskripts tal-ġenerazzjoni tar-rilaxx.

Sors: opennet.ru

Żid kumment