GCC tiks noņemts no galvenā FreeBSD klāsta

FreeBSD izstrādātāji uzrādīts plāno noņemt GCC 4.2.1 no FreeBSD bāzes sistēmas avotiem. GCC komponenti tiks noņemti, pirms tiek izveidots FreeBSD 13 zars, kurā būs iekļauts tikai kompilators Clang. GCC, ja vēlas, var piegādāt no ostām, kurās tas tiek piedāvāts GCC 9, 7 и 8, kā arī tiem, kas jau ir pārcelti uz kategoriju novecojuši jautājumiem GCC 4.8, 5, 6 и 7.

Arhitektūrām, kas balstās uz GCC un kuras nevar migrēt uz Clang, tiks lūgts migrēt uz ārējiem rīkiem, kas instalēti no portiem. Gatavojoties GCC izņemšanai no bāzes sistēmas, tiek plānots darbs, lai uzlabotu bāzes sistēmas veidošanas sistēmas integrāciju ar ārējiem rīkiem. Piemēram, amd64 arhitektūrai nepārtrauktās integrācijas sistēma jau ir pievienojusi iespēju veidot, izmantojot gcc 6.4 no portiem, ko var izmantot kā pamatu citu arhitektūru tulkošanai.

Atgādināsim, ka, sākot ar FreeBSD 10, i386, AMD64 un ARM arhitektūru bāzes sistēma tika pārcelta uz Clang kompilatora un LLVM projekta izstrādātās bibliotēkas libc++ noklusējuma piegādi. GCC un libstdc++ šīm arhitektūrām vairs netika veidoti kā daļa no bāzes sistēmas, bet pēc noklusējuma tika piegādāti powerpc, mips, mips64 un sparc64 arhitektūrām, un tos varēja instalēt arī pārbūvē ar norādītajiem karodziņiem WITH_GCC un WITH_GNUCXX. Licencēšanas ierobežojumu dēļ tika nosūtīta novecojusi GCC 4.2.1 versija.

FreeBSD nevarēja migrēt uz jaunāku GCC versiju, jo kopš izlaiduma 4.2.2 GCC tulkots GPLv3 licenci un GCC 4.2.2 integrāciju apgrūtināja GCC izpildlaika komponentu nesaderība ar BSD licenci. Vēlāk GCC 4.4 versijā šī nesaderība tika likvidēts, bet GPLv3 licencētu komponentu pievienošana FreeBSD bāzes sistēmai bija atzīts par neiespējamu pretrunu dēļ ar FreeBSD projekta mērķi un nevēlēšanās noteikt lietotājiem papildu ierobežojumus, piemēram, aizliegt tivoizācija.

Atbrīvošanās no GCC bāzes sistēmā tiks sadalīta vairākos posmos un ilgs 9 mēnešus, kas dos GCC saistīto arhitektūru (powerpc, mips, mips64 un sparc64) izstrādātājiem laiku migrēt uz Clang vai pāriet uz izmantošanu. ārējie instrumenti. Pirmais posms sāksies 31. augustā un novedīs pie gcc 4.2.1 izslēgšanas no nepārtrauktas integrācijas sistēmas būvējuma, kā arī tiks pārtraukta karoga “-Werror” darbība platformām, kas ir saistītas ar GCC, un GCC būvējumu atspējošana līdz plkst. noklusējums, palaižot “make universe”.

31. gada 2019. decembrī GCC būvējums tiks atspējots pēc noklusējuma, taču to joprojām var atjaunot, norādot noteiktus karogus. 31. gada 2020. martā GCC tiks noņemts no SVN repozitorija, un 31. maijā no SVN tiks noņemtas visas platformas, uz kurām neattiecas nepārtraukta integrācija, kuras neatbalsta LLVM vai nav pārveidotas, lai izmantotu ārējos veidošanas rīkus. . 31. gada 2020. jūlijā tiks veikta visu atlikušo platformu galīgā noņemšana no SVN, kurām ir jāizmanto ārēji rīki, bet kuras netiek atbalstītas laidiena ģenerēšanas skriptos.

Avots: opennet.ru

Pievieno komentāru