Itusilẹ eto eto Meson 1.1

Meson 1.1.0 kọ eto ti tu silẹ, eyiti o lo lati kọ awọn iṣẹ akanṣe bii X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ati GTK. Koodu Meson ti kọ ni Python ati pe o ni iwe-aṣẹ labẹ iwe-aṣẹ Apache 2.0.

Ibi-afẹde bọtini ti idagbasoke Meson ni lati pese iyara giga ti ilana apejọ ni idapo pẹlu irọrun ati irọrun lilo. Dipo ohun elo ṣiṣe, ohun elo irinṣẹ Ninja jẹ lilo nipasẹ aiyipada nigbati o ba kọ, ṣugbọn awọn ẹhin ẹhin miiran bii xcode ati VisualStudio tun le ṣee lo. Eto naa ni olutọju igbẹkẹle-pupọ ti a ṣe sinu rẹ ti o fun ọ laaye lati lo Meson lati kọ awọn idii fun awọn pinpin. Awọn ofin Apejọ ni pato ni ede ti o rọrun-pato-ašẹ, jẹ kika gaan ati oye si olumulo (gẹgẹbi a ti pinnu nipasẹ awọn onkọwe, olupilẹṣẹ yẹ ki o lo akoko ti o kere ju awọn ofin kikọ).

Ṣe atilẹyin akojọpọ agbelebu ati ile lori Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ati Windows nipa lilo GCC, Clang, Studio Visual ati awọn alakojọ miiran. O ṣee ṣe lati kọ awọn iṣẹ akanṣe ni ọpọlọpọ awọn ede siseto, pẹlu C, C ++, Fortran, Java ati Rust. Ipo kikọ afikun jẹ atilẹyin, ninu eyiti awọn paati nikan ti o ni ibatan taara si awọn ayipada ti a ṣe lati igba kikọ ti o kẹhin ti tun ṣe. Meson le ṣee lo lati ṣe ina awọn ile atunwi, ninu eyiti ṣiṣiṣẹ kọ ni awọn agbegbe oriṣiriṣi awọn abajade ni iran ti awọn faili ti o le ṣiṣẹ patapata.

Awọn imotuntun akọkọ ti 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».

orisun: opennet.ru

Fi ọrọìwòye kun