GCC wird aus dem Hauptbestand von FreeBSD entfernt.

Entwickler von FreeBSD haben vorgestellt Plan zur Entfernung von GCC 4.2.1 aus den Quelltexten des FreeBSD-Betriebssystems. Die Komponenten von GCC werden bis zum Abzweigen des FreeBSD 13 entfernt, das ausschließlich den Clang-Compiler enthalten wird. GCC kann auf Wunsch aus den Ports installiert werden, in denen es angeboten wird. GCC 9, 7 und 8, sowie bereits in den Status "veraltet" überführt. Versionen GCC 4.8, 5, 6 und 7.

Architekturen, die auf GCC angewiesen sind und nicht zu Clang wechseln können, wird geraten, auf externe Werkzeuge umzustellen, die aus den Ports installiert werden. Im Rahmen der Vorbereitung zur Entfernung von GCC aus dem Basissystem sind Arbeiten zur Verbesserung der Integration des Build-Systems des Basissystems mit externen Werkzeugen geplant. Beispielsweise wurde für die amd64-Architektur bereits die Möglichkeit hinzugefügt, GCC 6.4 aus den Ports in das Continuous Integration-System zu integrieren, das als Grundlage für den Wechsel anderer Architekturen verwendet werden kann.

Wir erinnern daran, dass ab FreeBSD 10 das Basissystem für die Architekturen i386, AMD64 und ARM standardmäßig auf den Compiler Clang und die von LLVM entwickelte libc++-Bibliothek umgestellt wurde. GCC und libstdc++ wurden für die genannten Architekturen nicht mehr als Teil des Basissystems bereitgestellt, bleiben jedoch standardmäßig für die Architekturen powerpc, mips, mips64 und sparc64 verfügbar und konnten bei einem Neuaufbau mit den Flags WITH_GCC und WITH_GNUCXX installiert werden. Die Bereitstellung der veralteten Version GCC 4.2.1 war aufgrund von Lizenzbeschränkungen notwendig.

FreeBSD konnte nicht auf eine neuere Version von GCC umsteigen, da ab der Version 4.2.2 GCC auf die GPLv3-Lizenz umgestellt wurde, und die Integration von GCC 4.2.2 wurde durch die Inkompatibilität der Runtime-Komponenten von GCC mit der BSD-Lizenz erschwert. Später wurde diese Inkompatibilität in GCC 4.4 Die GPLv3-Lizenz und die Integration von GCC 4.2.2 wurden durch die Unvereinbarkeit der Runtime-Komponenten von GCC mit der BSD-Lizenz behindert. Später wurde diese Unvereinbarkeit in der Version GCC 4.4 behoben. behoben, aber die Hinzufügung von Komponenten unter der GPLv3-Lizenz zum Basissystem von FreeBSD wurde als unmöglich erachtet wegen der Widersprüche zu den Zielen des FreeBSD-Projekts und dem Wunsch, keine zusätzlichen Einschränkungen für die Benutzer zu auferlegen, wie z.B. ein Verbot von Tivoisierung..

Der Prozess zur Entfernung von GCC aus dem Basissystem wird in mehrere Phasen unterteilt und dauert 9 Monate. Dies gibt Entwicklern, die an GCC-Architekturen (powerpc, mips, mips64 und sparc64) gebunden sind, die notwendige Zeit, um auf Clang umzusteigen oder externe Werkzeuge zu verwenden. Die erste Phase beginnt am 31. August und führt zur Entfernung von gcc 4.2.1 aus dem Build des kontinuierlichen Integrationssystems. Zudem wird die Anwendung des Flags „-Werror“ für GCC-gebundene Plattformen eingestellt, und die GCC-Bauoption wird standardmäßig bei der Ausführung von „make universe“ deaktiviert.

Am 31. Dezember 2019 wird der GCC-Bau standardmäßig deaktiviert, kann aber vorübergehend durch bestimmte Flags wieder aktiviert werden. Am 31. März 2020 wird GCC aus dem SVN-Repository entfernt, und bis zum 31. Mai werden alle Plattformen, die nicht im kontinuierlichen Integrationssystem abgedeckt sind, LLVM nicht unterstützen oder nicht auf externe Build-Tools umgestellt wurden, aus dem SVN gelöscht. Am 31. Juli 2020 erfolgt die endgültige Löschung aus dem SVN aller verbleibenden Plattformen, die externe Werkzeuge benötigen, aber in den Release-Build-Skripten nicht unterstützt werden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster