GCC 将从 FreeBSD 主产品线中删除

FreeBSD 开发者 已提交 计划从 FreeBSD 基本系统源中删除 GCC 4.2.1。在 FreeBSD 13 分支分叉之前,GCC 组件将被删除,该分支将仅包括 Clang 编译器。如果需要,GCC 可以从提供 GCC 的港口发货 GCC 9, 7 и 8,以及那些已经转移到过时类别的 问题 GCC 4.8, 5, 6 и 7.

依赖 GCC 且无法迁移到 Clang 的架构将被要求迁移到从 ports 安装的外部工具。为了准备从基础系统中删除 GCC,计划开展工作以改进基础系统构建系统与外部工具的集成。例如,对于amd64架构,持续集成系统已经添加了从ports使用gcc 6.4构建的能力,可以作为翻译其他架构的基础。

让我们回想一下,从 FreeBSD 10 开始,i386、AMD64 和 ARM 架构的基础系统被转移到默认交付的 Clang 编译器和 LLVM 项目开发的 libc++ 库。这些架构的 GCC 和 libstdc++ 不再作为基本系统的一部分构建,但默认情况下继续为 powerpc、mips、mips64 和 sparc64 架构提供,并且也可以在使用指定的WITH_GCC 和WITH_GNUCXX 标志进行重建时安装。由于许可限制,发布了过时的 GCC 4.2.1 版本。

FreeBSD 无法迁移到更新版本的 GCC,因为自 4.2.2 版本以来 GCC 翻译的 GPLv3 许可证和 GCC 4.2.2 集成因 GCC 运行时组件与 BSD 许可证不兼容而受到阻碍。后来,在 GCC 4.4 版本中出现了这种不兼容性 被淘汰了,但是将 GPLv3 许可的组件添加到 FreeBSD 基础系统中是 发现不可能 由于矛盾 FreeBSD 项目的目标 并不愿意对用户施加额外的限制,例如禁止 蒂沃化.

在基础系统中摆脱 GCC 的过程将分为几个阶段,将持续 9 个月,这将为 GCC 绑定架构(powerpc、mips、mips64 和 sparc64)的开发人员提供时间迁移到 Clang 或转而使用外部工具。第一阶段将于 31 月 4.2.1 日开始,并将导致从持续集成系统构建中排除 gcc XNUMX,并终止 GCC 绑定平台的“-Werror”标志并禁用 GCC 构建运行“make Universe”时的默认值。

31 年 2019 月 31 日,GCC 构建将默认禁用,但仍然可以通过指定某些标志来恢复。 2020年31月31日,GCC将从SVN存储库中删除,2020月XNUMX日,所有未涵盖持续集成、不支持LLVM或尚未转换为使用外部构建工具的平台将从SVN中删除。 XNUMX 年 XNUMX 月 XNUMX 日,将从 SVN 中最终删除需要使用外部工具但在发布生成脚本中不受支持的所有剩余平台。

来源: opennet.ru

添加评论