В Fedora планируют предоставить возможность сборки пакетов в Clang вместо GCC
5 июня 2020 года
Для реализации в Fedora 33 намечено изменение правил применения компиляторов в дистрибутиве, в соответствии с которым компилятор для сборки пакета сможет выбираться в зависимости от рекомендаций и предпочтений основного проекта (upstream). В настоящее время в Fedora жёстко предписано использовать GCC для сборки всех пакетов, за исключением случаев, когда пакет может быть собран только в Clang/LLVM.
Мотивом предоставления возможности сборки при помощи Clang является то, что некоторые проекты, например, Firefox и Chromium, при разработке используют Clang в качестве основного компилятора и сборки на его основе являются более качественно протестированными. Использование Clang для подобных пакетов позволит избежать вылавливания ошибок, всплывающих при сборке в GCC, а также согласования исправлений этих ошибок с основным проектом. Сборка с использованием GCC положительно влияет на поддержании переносимости кода, развиваемого с использованием Clang, но создаёт большую нагрузку на сопровождающих и задерживает публикацию обновлений (например, Mozilla запрещает использовать торговую марку Firefox при применении сторонних патчей, поэтому приходится вначале добиваться включения патчей в основной состав и выпускать обновление только после появления исправлений в upstream).
Отмечается, что было бы логичным, использовать Clang для пакетов, для которых данный компилятор подходит лучше и используется в основном проекте. Для подобных пакетов удалось бы снизить нагрузку на сопровождение, если подготовкой пакетов занимаются представители основного проекта. Если сборкой пакета занимается представитель из сообщества, то возможность выбора компилятора предлагается предоставить мэйнтейнеру. Для пакетов, основные проекты которых не отдают предпочтение тому или иному компилятору рекомендуется сохранить статус-кво (собирать в GCC как и раньше). Автором предложения является Джеф Ло (англ. Jeff Law) из компании Red Hat, который входит в число мэйнтейнеров GCC и Binutils.
Источники
правитьКомментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.