Meson достигает своей версии 1.0.0, и это его новости

Meson — это программный инструмент для автоматизации создания программного обеспечения. Это бесплатное приложение с открытым исходным кодом, написанное на Python.

В публикации было объявлено о выпуске новой версии системы сборки Meson 1.0.0 , которая, помимо прочего, включает в себя новые функции, а также повышение стабильности компиляции проектов на Rust.

Тем, кто не знаком с Meson, стоит отметить, что эта система сборки используется для компиляции таких известных проектов , как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK.

Основная цель разработки Meson — обеспечить высокую скорость процесса компиляции в сочетании с удобством и простотой использования. Вместо этого в сборке по умолчанию используется Ninja Toolkit, но можно использовать и другие бэкенды, такие как xcode и VisualStudio.

Система имеет встроенный кроссплатформенный менеджер зависимостей , позволяющий использовать Meson для создания пакетов для дистрибутивов. Правила компиляции написаны на упрощенном, предметно-ориентированном языке, что делает их легко читаемыми и понятными для пользователя (по мнению авторов, разработчики должны тратить минимум времени на написание правил).

Поддерживается кросс-компиляция , а также компиляция на Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows с использованием GCC, Clang, Visual Studio и других компиляторов.

Возможно создание проектов на нескольких языках программирования , включая C, C++, Fortran, Java и Rust. Поддерживается режим инкрементальной компиляции, в котором перестраиваются только компоненты, непосредственно связанные с изменениями, внесенными с момента последней компиляции.

Meson можно использовать для создания повторяющихся сборок, когда запуск сборки в разных средах приводит к полностью идентичным исполняемым файлам.

Основные новинки Meson 1.0

В этом новом выпуске Meson 1.0 подчеркивается, что Модуль для сборки проектов на языке Rust объявлен стабильным. Этот модуль используется в проекте Mesa для сборки компонентов, написанных на Rust.
Параметр prefix, поддерживаемый большинством функций проверки компилятора, реализует возможность обработки массивов, отличных от строк.

Еще одно заметное изменение в этом релизе — введение новых операторов «in» и «not in» для определения наличия подстроки в строке, аналогично ранее доступной проверке наличия элемента в массиве или словаре.

Кроме того, добавлена ​​опция " warning-level=everything" , активирующая вывод всех доступных предупреждений компилятора (в clang и MSVC используются -Weverything и /Wall, а в GCC включены отдельные предупреждения, которые примерно соответствуют режиму -Weverything в clang).

Также стоит отметить, что добавлен новый аргумент "--workdir", позволяющий переопределить рабочий каталог . Например, использовать текущий каталог вместо рабочего.

Метод rust.bindgen реализует возможность обработки аргумента «dependencies» для передачи путей к зависимостям для обработки компилятором, а функция java.generate_native_headers устарела и переименована в java.native_headers, чтобы соответствовать общему стилю именования функций Meson.

Кроме того, упоминается, что при кросс-компиляции среда разработки теперь устанавливает все переменные среды для хост-машины. Теперь она также устанавливает QEMU_LD_PREFIX и значение sys_root для кросс-файла, если это свойство определено. Это означает, что кросс-скомпилированные исполняемые файлы часто могут работать прозрачно на машине компиляции, например, при кросс-компиляции для aarch64 Linux из x86_64 Linux.

Наконец, если вас интересует более подробная информация, вы можете найти ее по следующей ссылке.

Как установить Meson на Linux?

Для тех, кто заинтересован в возможности установить эту систему сборки в своей системе, они могут сделать это, следуя инструкциям, которые мы публикуем ниже.

Они должны знать, что Meson доступен на PyPi, поэтому его можно установить с помощью команды:

pip3 install meson

В качестве примечания вы должны знать, что точная команда для установки pip может различаться в разных системах, поэтому рекомендуется использовать версию pip для Python 3.


Добавить в качестве предпочтительного источника в Google