Rakirina pergala kombûnê ya Meson 1.0

Pergala avakirina Meson 1.0.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.0:

  • Объявлен стабильным модуль для сборки проектов на языке Rust. Данный модуль используется в проекте Mesa для сборки компонентов, написанных на Rust.
  • В параметре prefix, поддерживаемом в большинстве функций проверки компилятора, реализована возможность обработки массивов помимо строк. Например, теперь можно указывать: cc.check_header(‘GL/wglew.h’, prefix : [‘#include <windows.h>’, ‘#include <GL/glew.h>’])
  • Добавлен новый аргумент «—workdir», позволяющий переопределить рабочий каталог. Например, для использования текущего каталога вместо рабочего можно запустить: meson devenv -C builddir —workdir .
  • Предложены новые операторы «in» и «not in» для определения вхождения в строку подстроки по аналогии с ранее доступной проверкой вхождения элемента в массив или словарь. Например: fs = import(‘fs’) if ‘something’ in fs.read(‘somefile’) # True endif
  • Добавлена опция «warning-level=everything», включающая вывод всех имеющихся предупреждений компилятора (в clang и MSVC использует -Weverything и /Wall, а в GCC раздельно включаются предупреждения, примерно соответствующие режиму -Weverything вclang).
  • В методе rust.bindgen реализована возможность обработки аргумента «dependencies» для передачи путей к зависимостям, которые должны быть обработаны компилятором.
  • Объявлена устаревшей функция java.generate_native_headers, которая переименована в java.native_headers для соответствия общему стилю наименования функций, принятому в Meson.

Source: opennet.ru

Add a comment