GCC は主要な FreeBSD ラインナップから削除されます

FreeBSD 開発者 提出済み FreeBSD ベース システム ソースから GCC 4.2.1 を削除する予定です。 GCC コンポーネントは、FreeBSD 13 ブランチがフォークされる前に削除され、Clang コンパイラのみが含まれます。 GCC は、必要に応じて、提供されているポートから配信できます。 GCC 9, 7 и 8、およびすでに廃止されたカテゴリに転送されています 問題 GCC 4.8, 5, 6 и 7.

GCC に依存しており、Clang に移行できないアーキテクチャは、ポートからインストールされた外部ツールに移行するように求められます。 基本システムから GCC を削除する準備として、基本システムのビルド システムと外部ツールの統合を改善する作業が計画されています。 たとえば、amd64 アーキテクチャの場合、継続的統合システムにはポートから gcc 6.4 を使用してビルドする機能がすでに追加されており、他のアーキテクチャを変換するためのベースとして使用できます。

FreeBSD 10 以降、i386、AMD64、および ARM アーキテクチャの基本システムが、LLVM プロジェクトによって開発された Clang コンパイラと libc++ ライブラリのデフォルト提供に移行されたことを思い出してください。 これらのアーキテクチャの GCC および libstdc++ は、基本システムの一部として構築されなくなりましたが、powerpc、mips、mips64、および sparc64 アーキテクチャには引き続きデフォルトで提供され、WITH_GCC および WITH_GNUCXX フラグを指定してリビルドするときにインストールすることもできました。 GCC 4.2.1 の古いバージョンは、ライセンス制限により出荷されました。

FreeBSD は、リリース 4.2.2 GCC 以降、新しいバージョンの GCC に移行できませんでした。 翻訳された GPLv3 ライセンスと GCC 4.2.2 の統合は、GCC ランタイム コンポーネントと BSD ライセンスの非互換性によって妨げられました。 その後、バージョン GCC 4.4 ではこの非互換性が解消されました。 排除されましたただし、GPLv3 ライセンスのコンポーネントが FreeBSD 基本システムに追加されました。 不可能だとわかった ~との矛盾のため FreeBSD プロジェクトの目標 禁止などの追加の制限をユーザーに課すことに消極的である ティヴォ化.

基本システムで GCC を除去するプロセスはいくつかの段階に分かれており、9 か月続きます。これにより、GCC バウンド アーキテクチャ (powerpc、mips、mips64、sparc64) の開発者は、Clang に移行するか、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 から最終的に削除されます。

出所: オープンネット.ru

コメントを追加します