GCC sera supprimé de la gamme principale de FreeBSD

Développeurs FreeBSD soumis prévoyez de supprimer GCC 4.2.1 des sources du système de base FreeBSD. Les composants GCC seront supprimés avant le fork de la branche FreeBSD 13, qui n'inclura que le compilateur Clang. GCC, si vous le souhaitez, peut être livré depuis les ports dans lesquels il est proposé GCC 9, 7 и 8, ainsi que ceux déjà transférés dans la catégorie des obsolètes questions GCC 4.8, 5, 6 и 7.

Les architectures qui s'appuient sur GCC et ne peuvent pas migrer vers Clang seront invitées à migrer vers des outils externes installés à partir des ports. En préparation de la suppression de GCC du système de base, des travaux sont prévus pour améliorer l'intégration du système de construction du système de base avec des outils externes. Par exemple, pour l'architecture amd64, le système d'intégration continue a déjà ajouté la possibilité de construire à l'aide de gcc 6.4 à partir de ports, qui peuvent être utilisés comme base pour traduire d'autres architectures.

Rappelons qu'à partir de FreeBSD 10, le système de base des architectures i386, AMD64 et ARM a été transféré vers la livraison par défaut du compilateur Clang et de la bibliothèque libc++ développée par le projet LLVM. GCC et libstdc++ pour ces architectures n'étaient plus construits dans le cadre du système de base, mais continuaient à être fournis par défaut pour les architectures powerpc, mips, mips64 et sparc64, et pouvaient également être installés lors de la reconstruction avec les indicateurs WITH_GCC et WITH_GNUCXX spécifiés. La version obsolète de GCC 4.2.1 a été livrée en raison de restrictions de licence.

FreeBSD n'a pas pu migrer vers une version plus récente de GCC, car depuis la version 4.2.2, GCC était traduit La licence GPLv3 et l'intégration de GCC 4.2.2 ont été gênées par l'incompatibilité des composants d'exécution de GCC avec la licence BSD. Plus tard, dans la version GCC 4.4, cette incompatibilité a été éliminé, mais l'ajout de composants sous licence GPLv3 au système de base FreeBSD a été trouvé impossible en raison de contradictions avec objectifs du projet FreeBSD et la réticence à imposer des restrictions supplémentaires aux utilisateurs, telles que l'interdiction tivoisation.

Le processus de suppression de GCC dans le système de base sera divisé en plusieurs étapes et durera 9 mois, ce qui donnera aux développeurs d'architectures liées à GCC (powerpc, mips, mips64 et sparc64) le temps de migrer vers Clang ou de passer à l'utilisation outils externes. La première étape débutera le 31 août et conduira à l'exclusion de gcc 4.2.1 de la construction du système d'intégration continue, ainsi qu'à la suppression de l'indicateur « -Werror » pour les plates-formes liées à GCC et à la désactivation des versions de GCC par par défaut lors de l’exécution de « make Universe ».

Le 31 décembre 2019, la version GCC sera désactivée par défaut, mais pourra toujours être annulée en spécifiant certains indicateurs. Le 31 mars 2020, GCC sera supprimé du référentiel SVN et le 31 mai, toutes les plates-formes qui ne sont pas couvertes par l'intégration continue, ne prennent pas en charge LLVM ou n'ont pas été converties pour utiliser des outils de construction externes seront supprimées de SVN. . Le 31 juillet 2020, la suppression définitive de SVN de toutes les plates-formes restantes nécessitant l'utilisation d'outils externes, mais qui ne sont pas prises en charge dans les scripts de génération de versions, sera effectuée.

Source: opennet.ru

Ajouter un commentaire