GCC s'eliminarà de la línia principal de FreeBSD

Desenvolupadors de FreeBSD presentat planifiqueu eliminar GCC 4.2.1 de les fonts del sistema base de FreeBSD. Els components del GCC s'eliminaran abans que la branca FreeBSD 13 sigui bifurcada, que només inclourà el compilador Clang. GCC, si es desitja, es pot lliurar des dels ports on s'ofereix GCC 9, 7 и 8, així com els que ja han passat a la categoria d'obsolets qüestions GCC 4.8, 5, 6 и 7.

A les arquitectures que es basen en GCC i que no poden migrar a Clang se'ls demanarà que migrin a eines externes instal·lades des dels ports. En preparació per a l'eliminació de GCC del sistema base, es preveu treballar per millorar la integració del sistema de compilació del sistema base amb eines externes. Per exemple, per a l'arquitectura amd64, el sistema d'integració contínua ja ha afegit la possibilitat de construir amb gcc 6.4 des de ports, que es pot utilitzar com a base per traduir altres arquitectures.

Recordem que a partir de FreeBSD 10, el sistema base per a les arquitectures i386, AMD64 i ARM es va transferir al lliurament predeterminat del compilador Clang i de la biblioteca libc++ desenvolupada pel projecte LLVM. GCC i libstdc++ per a aquestes arquitectures ja no es van construir com a part del sistema base, però es van continuar subministrant per defecte per a les arquitectures powerpc, mips, mips64 i sparc64, i també es podien instal·lar quan es reconstruïen amb els senyaladors WITH_GCC i WITH_GNUCXX especificats. La versió obsoleta de GCC 4.2.1 es va enviar a causa de restriccions de llicència.

FreeBSD no va poder migrar a una versió més nova de GCC, ja que des de la versió 4.2.2 GCC va ser traduït La llicència GPLv3 i la integració de GCC 4.2.2 es van veure obstaculitzada per la incompatibilitat dels components d'execució de GCC amb la llicència BSD. Més tard, a la versió GCC 4.4 aquesta incompatibilitat va ser eliminat, però l'addició de components amb llicència GPLv3 al sistema base FreeBSD sí trobat impossible a causa de contradiccions amb objectius del projecte FreeBSD i la reticència a imposar restriccions addicionals als usuaris, com ara la prohibició tivoització.

El procés d'eliminació de GCC al sistema base es dividirà en diverses etapes i durarà 9 mesos, cosa que donarà als desenvolupadors d'arquitectures vinculades a GCC (powerpc, mips, mips64 i sparc64) temps per migrar a Clang o canviar a l'ús. eines externes. La primera etapa començarà el 31 d'agost i comportarà l'exclusió de gcc 4.2.1 de la construcció del sistema d'integració contínua, així com la finalització de la marca "-Werror" per a plataformes vinculades a GCC i la desactivació de les compilacions de GCC per part per defecte quan s'executa "make universe".

El 31 de desembre de 2019, la compilació de GCC es desactivarà de manera predeterminada, però encara es pot revertir especificant determinades marques. El 31 de març de 2020, GCC s'eliminarà del repositori SVN i el 31 de maig, totes les plataformes que no estiguin cobertes per la integració contínua, que no siguin compatibles amb LLVM o que no s'hagin convertit per utilitzar eines de compilació externes s'eliminaran de SVN. . El 31 de juliol de 2020, es realitzarà l'eliminació final de SVN de totes les plataformes restants que requereixen l'ús d'eines externes, però que no són compatibles amb els scripts de generació de llançaments.

Font: opennet.ru

Afegeix comentari