GCC será eliminado de la línea principal de FreeBSD

Desarrolladores de FreeBSD presentado Planeamos eliminar GCC 4.2.1 de las fuentes del sistema base de FreeBSD. Los componentes de GCC se eliminarán antes de que se bifurque la rama FreeBSD 13, que solo incluirá el compilador Clang. GCC, si lo desea, puede entregarse desde los puertos en los que se ofrece. GCC 9, 7 и 8, así como ya transferido a la categoría de obsoleto asuntos GCC 4.8, 5, 6 и 7.

A las arquitecturas que dependen de GCC y no pueden migrar a Clang se les pedirá que migren a herramientas externas instaladas desde los puertos. En preparación para la eliminación de GCC del sistema base, se planea trabajar para mejorar la integración del sistema de compilación del sistema base con herramientas externas. Por ejemplo, para la arquitectura AMD64, el sistema de integración continua ya ha agregado la capacidad de construir usando gcc 6.4 desde puertos, que pueden usarse como base para traducir otras arquitecturas.

Recordemos que a partir de FreeBSD 10, el sistema base para las arquitecturas i386, AMD64 y ARM se transfirió a la entrega predeterminada del compilador Clang y la biblioteca libc++ desarrollada por el proyecto LLVM. GCC y libstdc++ para estas arquitecturas ya no se construyeron como parte del sistema base, pero continuaron proporcionándose de forma predeterminada para las arquitecturas powerpc, mips, mips64 y sparc64, y también se podían instalar durante la reconstrucción con los indicadores CON_GCC y CON_GNUCXX especificados. Se envió la versión desactualizada de GCC 4.2.1 debido a restricciones de licencia.

FreeBSD no pudo migrar a una versión más reciente de GCC, ya que desde la versión 4.2.2 GCC estaba traducido La licencia GPLv3 y la integración de GCC 4.2.2 se vieron obstaculizadas por la incompatibilidad de los componentes de tiempo de ejecución de GCC con la licencia BSD. Posteriormente en la versión GCC 4.4 esta incompatibilidad fue eliminado, pero la adición de componentes con licencia GPLv3 al sistema base FreeBSD fue encontrado imposible debido a contradicciones con objetivos del proyecto FreeBSD y renuencia a imponer restricciones adicionales a los usuarios, como prohibir tivoización.

El proceso de eliminación de GCC en el sistema base se dividirá en varias etapas y durará 9 meses, lo que dará tiempo a los desarrolladores de arquitecturas vinculadas a GCC (powerpc, mips, mips64 y sparc64) para migrar a Clang o pasar a usar herramientas externas. La primera etapa comenzará el 31 de agosto y conducirá a la exclusión de gcc 4.2.1 de la compilación del sistema de integración continua, así como a la terminación del indicador "-Werror" para las plataformas vinculadas a GCC y la desactivación de las compilaciones de GCC por predeterminado al ejecutar "crear universo".

El 31 de diciembre de 2019, la compilación GCC se deshabilitará de forma predeterminada, pero aún se puede revertir especificando ciertos indicadores. El 31 de marzo de 2020, GCC se eliminará del repositorio SVN y, el 31 de mayo, todas las plataformas que no estén cubiertas por la integración continua, no admitan LLVM o no se hayan convertido para usar herramientas de compilación externas se eliminarán de SVN. . El 31 de julio de 2020, se realizará la eliminación final de SVN de todas las plataformas restantes que requieren el uso de herramientas externas, pero que no son compatibles con los scripts de generación de versiones.

Fuente: opennet.ru

Añadir un comentario