فدورا قصد دارد به جای GCC، امکان ساخت بسته‌ها را در Clang فراهم کند

برای پیاده سازی در فدورا 33 برنامه ریزی شده است تغییر قوانین استفاده از کامپایلرها در توزیع که بر اساس آن می توان کامپایلر ساخت پکیج را بسته به توصیه ها و ترجیحات پروژه اصلی (بالادست) انتخاب کرد. فدورا در حال حاضر استفاده از GCC را برای ساخت همه بسته‌ها اعمال می‌کند مگر اینکه بسته را فقط در Clang/LLVM ساخته شود.

دلیل ارائه قابلیت ساخت با Clang این است که برخی پروژه ها به عنوان مثال. فایرفاکس и کروم، در طول توسعه از Clang به عنوان کامپایلر اصلی استفاده می کنند و اسمبلی های مبتنی بر آن بهتر تست می شوند. استفاده از Clang برای چنین بسته‌هایی از گرفتن خطاهایی که هنگام ساخت در GCC ظاهر می‌شوند و همچنین هماهنگی رفع این خطاها با پروژه اصلی جلوگیری می‌کند. ساخت با GCC تأثیر مثبتی بر حفظ قابلیت حمل کدهای توسعه‌یافته با استفاده از Clang دارد، اما بار بیشتری را بر روی نگه‌دارنده‌ها ایجاد می‌کند و انتشار به‌روزرسانی‌ها را به تأخیر می‌اندازد (مثلاً Mozilla منع می کند هنگام اعمال وصله های شخص ثالث، از علامت تجاری فایرفاکس استفاده کنید، بنابراین ابتدا باید اطمینان حاصل کنید که وصله ها در جریان اصلی قرار دارند و به روز رسانی را تنها پس از ظاهر شدن اصلاحات در بالادستی منتشر کنید.

توجه داشته باشید که منطقی است که از Clang برای بسته هایی که این کامپایلر مناسب تر است و در پروژه اصلی استفاده می شود، استفاده شود. برای چنین پکیج هایی در صورتی که پکیج ها توسط نمایندگان پروژه اصلی تهیه شوند، امکان کاهش بار نگهداری وجود دارد. اگر نماینده ای از جامعه در حال ساخت بسته باشد، در این صورت امکان انتخاب یک کامپایلر به نگهدارنده پیشنهاد می شود. برای بسته هایی که پروژه های اصلی آنها به نفع یک یا آن کامپایلر نیست، توصیه می شود وضعیت موجود را حفظ کنید (در GCC مانند قبل ایجاد کنید). نویسنده پیشنهاد جف لاو از Red Hat است که یکی از نگهبانان GCC و Binutils است.

منبع: opennet.ru

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