У Fedora планують надати можливість складання пакетів у Clang замість GCC

Для реалізації у Fedora 33 намічено зміна правил застосування компіляторів у дистрибутиві, відповідно до яких компілятор для збирання пакета зможе вибиратися залежно від рекомендацій та переваг основного проекту (upstream). В даний час у Fedora жорстко наказано використовувати GCC для складання всіх пакетів, за винятком випадків, коли пакет може бути зібраний тільки в Clang/LLVM.

Мотивом надання можливості складання за допомогою Clang є те, що деякі проекти, наприклад, Firefox и ХромПри розробці використовують Clang як основний компілятор і складання на його основі є більш якісно протестованими. Використання Clang для подібних пакетів дозволить уникнути вилову помилок, що спливають при складанні GCC, а також узгодження виправлень цих помилок з основним проектом. Складання з використанням GCC позитивно впливає на підтримку переносимості коду, що розвивається з використанням Clang, але створює велике навантаження на супроводжуючих і затримує публікацію оновлень (наприклад, Mozilla забороняє використовувати торгову марку Firefox при застосуванні сторонніх патчів, тому доводиться спочатку домагатися включення патчів в основний склад і випускати оновлення тільки після появи виправлень в upstream).

Зазначається, що було б логічним використовувати Clang для пакетів, для яких даний компілятор підходить краще і використовується в основному проекті. Для таких пакетів вдалося знизити навантаження на супровід, якщо підготовкою пакетів займаються представники основного проекту. Якщо збиранням пакета займається представник із спільноти, то можливість вибору компілятора пропонується надати мейнтейнеру. Для пакетів, основні проекти яких не віддають перевагу тому чи іншому компілятору, рекомендується зберегти статус-кво (збирати в GCC як і раніше). Автором пропозиції є Джеф Ло (Jeff Law) з компанії Red Hat, який входить до числа мейнтейнерів GCC та Binutils.

Джерело: opennet.ru

Додати коментар або відгук