GCC از مجموعه اصلی FreeBSD حذف خواهد شد

توسعه دهندگان FreeBSD ارایه شده برنامه ای برای حذف GCC 4.2.1 از منابع سیستم پایه FreeBSD. اجزای 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 به تحویل پیش‌فرض کامپایلر Clang و کتابخانه libc++ توسعه‌یافته توسط پروژه LLVM منتقل شد. 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 آگوست شروع می شود و منجر به حذف gcc 4.2.1 از ساخت سیستم یکپارچه سازی مداوم، و همچنین خاتمه پرچم "-Werror" برای پلتفرم های متصل به GCC و غیرفعال کردن ساخت های GCC توسط پیش‌فرض هنگام اجرای «ساخت جهان»

در 31 دسامبر 2019، ساخت GCC به طور پیش‌فرض غیرفعال می‌شود، اما همچنان می‌توان با مشخص کردن پرچم‌های خاص آن را برگرداند. در 31 مارس 2020، GCC از مخزن SVN حذف خواهد شد و در 31 مه، تمام پلتفرم هایی که تحت پوشش یکپارچه سازی مداوم نیستند، از LLVM پشتیبانی نمی کنند یا برای استفاده از ابزارهای ساخت خارجی تبدیل نشده اند، از SVN حذف خواهند شد. . در 31 جولای 2020، حذف نهایی از SVN همه پلتفرم‌های باقی‌مانده که نیاز به استفاده از ابزارهای خارجی دارند، اما در اسکریپت‌های تولید نسخه پشتیبانی نمی‌شوند، انجام خواهد شد.

منبع: opennet.ru

اضافه کردن نظر