Fedora planea brindar la capacidad de construir paquetes en Clang en lugar de GCC

Para implementación en Fedora 33 resumido cambiar reglas para el uso de compiladores en la distribución, según las cuales el compilador para construir el paquete se puede seleccionar según las recomendaciones y preferencias del proyecto principal (ascendente). Fedora actualmente impone el uso de GCC para compilar todos los paquetes a menos que el paquete solo pueda compilarse en Clang/LLVM.

La razón para brindar la capacidad de construir con Clang es que algunos proyectos, p. Firefox и Cromo, durante el desarrollo utilizan Clang como compilador principal y los ensamblados basados ​​en él se prueban mejor. El uso de Clang para dichos paquetes evitará detectar errores que aparecen al compilar en GCC, además de coordinar las correcciones de estos errores con el proyecto principal. Construir con GCC tiene un efecto positivo en el mantenimiento de la portabilidad del código desarrollado con Clang, pero crea una mayor carga para los mantenedores y retrasa la publicación de actualizaciones (por ejemplo, Mozilla prohíbe use la marca Firefox al aplicar parches de terceros, por lo que primero debe asegurarse de que los parches estén incluidos en la transmisión principal y publicar la actualización solo después de que las correcciones aparezcan en la transmisión principal).

Cabe señalar que sería lógico utilizar Clang para paquetes para los que este compilador es más adecuado y se utiliza en el proyecto principal. Para tales paquetes, sería posible reducir la carga de mantenimiento si los paquetes fueran preparados por representantes del proyecto principal. Si un representante de la comunidad está construyendo el paquete, se propone otorgar al mantenedor la posibilidad de elegir un compilador. Para paquetes cuyos proyectos principales no favorecen a uno u otro compilador, se recomienda mantener el status quo (compilar en GCC como antes). El autor de la propuesta es Jeff Law de Red Hat, quien es uno de los mantenedores de GCC y Binutils.

Fuente: opennet.ru

Añadir un comentario