Meson build system release 1.1

O le Meson 1.1.0 build system ua tuʻuina atu, lea e faʻaaogaina e fausia ai galuega e pei o le X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ma GTK. O le code a Meson e tusia i le Python ma ua laiseneina i lalo ole laisene Apache 2.0.

O le sini autu o le atinaʻeina o Meson o le tuʻuina atu lea o le saoasaoa maualuga o le faʻapotopotoga faʻatasi ma le faʻaogaina ma le faigofie o le faʻaogaina. Nai lo le faʻaaogaina, o le Ninja toolkit e faʻaaogaina e ala i le le mafai ona fausia, ae o isi pito i tua e pei o le xcode ma VisualStudio e mafai foi ona faʻaaogaina. O le faiga o lo'o i ai se fa'apipi'i fa'alagolago i le tele-platform e mafai ai ona e fa'aogaina Meson e fau ai afifi mo tufatufaga. O tulafono fa'apotopotoga o lo'o fa'amaoti mai i se gagana fa'apitoa fa'apitoa, e matua'i faitau ma malamalama i ai le tagata fa'aoga (e pei ona fa'amoemoeina e le au tusitala, e tatau i le tagata atia'e ona fa'aalu sina taimi itiiti e tusitusi ai tulafono).

Lagolago le faʻapipiʻi faʻasolosolo ma le fausiaina i luga o Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ma Windows e faʻaaoga ai le GCC, Clang, Visual Studio ma isi tagata faʻapipiʻi. E mafai ona fausia galuega i gagana eseese polokalame, e aofia ai C, C ++, Fortran, Java ma Rust. O lo'o lagolagoina le faiga fa'aopoopo, lea e na'o vaega e feso'ota'i sa'o ma suiga na faia talu mai le fale mulimuli e toe fau. E mafai ona fa'aogaina Meson e fa'atupu ai le toe fa'afo'iina o fale, lea o lo'o fa'atinoina ai le fausiaina i totonu o si'osi'omaga eseese e maua ai le fa'atupuina o faila fa'atino tutusa.

Faiga fou a Meson 1.1:

  • В declare_dependency() добавлен новый аргумент «objects:» для прикрепления объектов напрямую к исполняемым файлам в форме внутренних зависимостей, не требующих применения link_who.
  • В команду «meson devenv —dump» добавлена опциональная возможность указания файла для записи в него переменных окружения, вместо вывода в стандартный выходной поток.
  • Добавлены методы FeatureOption.enable_if и FeatureOption.disable_if для упрощения создания условных конструкций при подготовке к передаче параметров в функцию dependency(). opt = get_option(‘feature’).disable_if(not foo, error_message : ‘Cannot enable feature when foo is not also enabled’) dep = dependency(‘foo’, required : opt)
  • Разрешена передача сгенерированных объектов в числе аргументов «objects:».
  • В функции project реализована поддержка установки файлов с информацией о лицензиях проекта.
  • При выполнении «sudo meson install» обеспечен сброс привилегий во время пересборки для целевых платформ.
  • В команде «meson install» предоставлена возможность указания отдельного обработчика для получения прав root (например, можно выбрать polkit, sudo, opendoas или $MESON_ROOT_CMD). При запуске «meson install» не в интерактивном режиме больше не производятся попытки повышения привилегий.
  • Добавлена поддержка чтения опций из файла meson.options вместо meson_options.txt.
  • Обеспечено перенаправления в stderr вывода информации о ходе интроспекции.
  • Добавлен новый бэкенд «none» (—backend=none) для создания проектов, имеющих только правила установки и не содержащих правил сборки.
  • Добавлена новая зависимость pybind11, обеспечивающая работу dependency(‘pybind11’) с pkg-config и cmake без применения скрипта pybind11-config.
  • Разрешено использование опций «—reconfigure» и «—wipe» (meson setup —reconfigure builddir и meson setup —wipe builddir ) с пустым builddir.
  • В meson.add_install_script() добавлена поддержка ключевого слова dry_run, разрешающего запуск собственных установочных скриптов при вызове «meson install —dry-run».

puna: opennet.ru

Faaopoopo i ai se faamatalaga