Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Выпуск сборочной системы Meson 1.12.0

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2207
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

Выпуск сборочной системы Meson 1.12.0

Сообщение root:# »

Выпуск сборочной системы Meson 1.12.0
Опубликован релиз сборочной системы Meson 1.12.0, которая используется для сборки таких проектов, как X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK. Код Meson написан на языке Python и поставляется под лицензией Apache 2.0.
Ключевой целью развития Meson является обеспечение высокой скорости сборочного процесса в сочетании с удобством и простотой использования. Вместо утилиты make при сборке по умолчанию применяется инструментарий Ninja, но возможно применение и других бэкендов, таких как Xcode и Visual Studio. В систему встроен многоплатформенный обработчик зависимостей, позволяющий использовать Meson для сборки пакетов для дистрибутивов. Правила сборки задаются на упрощённом предметно-ориентированном языке, отличаются хорошей читаемостью и понятны пользователю (по задумке авторов разработчик должен тратить минимум времени на написание правил).

Поддерживается кросс-компиляция и сборка в Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов. Возможна сборка проектов на различных языках программирования, включая C, C++, Fortran, Java, D и Rust. Поддерживается инкрементальный режим сборки, при котором пересобираются только компоненты, напрямую связанные с изменениями, внесёнными с момента прошлой сборки. Meson можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.
Основные новшества Meson 1.12:
  • Добавлена поддержка файла CACHEDIR.TAG, размещаемого в сборочном каталоге для исключения включения в резервные копии генерируемых при сборке временных файлов. Добавлена сборочная цель clippy-json, которая запускает линтер Clippy и формирует для Rust-analyzer информацию о предупреждениях и ошибках в формате JSON. Добавлены объект и функция default(), предназначенные для сброса именованных аргументов к значениям по умолчанию. В метод generator.process() добавлен аргумент "depends" для прямого связывания сгенерированных файлов с другими сборочными целями. В объект "include_directories" добавлен метод to_list() для вывода списка абсолютных путей подключаемых директорий. Добавлены функции для преобразования строк в целые числа и наоборот - str.to_int() и int.to_string(). В команду "meson format" добавлена опция "--subprojects", применяемая вместе с "--recursive" для охвата подпроектов при рекурсивном разборе. Добавлена поддержка платформ OpenHarmony и HarmonyOS (OHOS), обрабатываемых как Android. При определении своих сборочных целей и тестов разрешено указания внешних программ в именованных аргументах "input" и "depends". Добавлена возможность раздельной сборки подпроектов для компьютера сборщика и целевой платформы через указание в subproject() и meson.override_find_program() именованного аргумента "native". В команду "meson test" добавлена опция "--exclude" для пропуска отдельных тестов. Прекращена поддержка Python 3.7, 3.8 и 3.9.

Источник: https://www.opennet.ru/opennews/art.shtml?num=66060