У 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

Дадаць каментар