Rakirina pergala kombûnê ya Meson 1.1

Pergala avakirina Meson 1.1.0 hate berdan, ku ji bo avakirina projeyên wekî X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME û GTK tê bikar anîn. Koda Meson di Python de hatî nivîsandin û di bin lîsansa Apache 2.0 de destûrdar e.

Armanca sereke ya pêşkeftina Meson peydakirina leza bilind a pêvajoya meclîsê ya bi rehetî û karanîna hêsan e. Li şûna kargêriya çêkirinê, amûra Ninja di dema çêkirinê de ji hêla xwerû ve tê bikar anîn, lê paşnavên din ên wekî xcode û VisualStudio jî dikarin werin bikar anîn. Pergal xwedan hilgirê pêwendiya pir-platformê ye ku dihêle hûn Meson bikar bînin da ku pakêtan ji bo belavkirinan ava bikin. Rêzikên meclîsê bi zimanekî sadekirî yên domain-taybet têne destnîşan kirin, ji bikarhêner re pir têne xwendin û têgihîştin (wek ku ji hêla nivîskaran ve hatî armanc kirin, pêşdebir divê herî kêm wextê nivîsandina qaîdeyan derbas bike).

Bi karanîna GCC, Clang, Visual Studio û berhevkarên din, berhevkirin û avakirina xaçê li Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS û Windows-ê piştgirî dike. Di nav de C, C++, Fortran, Java û Rust jî di nav de, di nav zimanên bernamesaziyê yên cihêreng de, gengaz e ku meriv projeyan ava bike. Moda avakirina zêdekirî tê piştgirî kirin, ku tê de tenê pêkhateyên ku rasterast bi guhertinên ku ji avakirina paşîn ve hatine çêkirin ve têkildar in, ji nû ve têne çêkirin. Meson dikare were bikar anîn da ku avahiyên dubarekirî biafirîne, ku tê de xebitandina çêkirinê di hawîrdorên cihêreng de encam dide ku pelên darvekirî yên bi tevahî wekhev têne afirandin.

Nûvekirinên sereke yên 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».

Source: opennet.ru

Add a comment