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

添加評論