Lëshimi i sistemit të ndërtimit të Meson 1.1

Është publikuar lëshimi i sistemit të ndërtimit Meson 1.1.0, i cili përdoret për të ndërtuar projekte si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi Meson është shkruar në Python dhe është i licencuar nën licencën Apache 2.0.

Qëllimi kryesor i zhvillimit të Meson është të sigurojë një proces montimi me shpejtësi të lartë të kombinuar me komoditetin dhe lehtësinë e përdorimit. Në vend të markës, ndërtimi përdor si parazgjedhje paketën e veglave Ninja, por mund të përdoren gjithashtu mbështetës të tjerë si xcode dhe VisualStudio. Sistemi ka një mbajtës të varësisë me shumë platforma të integruar që ju lejon të përdorni Meson për të ndërtuar paketa për shpërndarje. Rregullat e asamblesë vendosen në një gjuhë të thjeshtuar specifike për domenin, ato janë mirë të lexueshme dhe të kuptueshme për përdoruesin (sipas idesë së autorëve, zhvilluesi duhet të kalojë një minimum kohe për të shkruar rregullat).

Mbështet ndër-kompilimin dhe ndërtimin në Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke përdorur GCC, Clang, Visual Studio dhe përpilues të tjerë. Është e mundur të ndërtohen projekte në gjuhë të ndryshme programimi, duke përfshirë C, C++, Fortran, Java dhe Rust. Mbështetet një modalitet ndërtimi në rritje, në të cilin rindërtohen vetëm komponentët që lidhen drejtpërdrejt me ndryshimet e bëra që nga ndërtimi i fundit. Meson mund të përdoret për të gjeneruar ndërtime të përsëritshme, ku ekzekutimi i ndërtimit në mjedise të ndryshme rezulton në gjenerimin e ekzekutuesve plotësisht identikë.

Risitë kryesore të Meson 1.1:

  • Një argument i ri "objects:" është shtuar në declare_dependency() për të bashkangjitur objekte drejtpërdrejt te ekzekutuesit si varësi të brendshme që nuk kërkojnë link_who.
  • Komanda "meson devenv --dump" ka aftësinë opsionale për të specifikuar një skedar për të shkruar variablat e mjedisit, në vend që të dalë në rrjedhën standarde të daljes.
  • U shtuan metodat FeatureOption.enable_if dhe FeatureOption.disable_if për ta bërë më të lehtë krijimin e kushteve në përgatitjen për kalimin e parametrave në funksionin e varësisë(). opt = get_option ('veçori').disable_if (jo foo, error_message : 'Nuk mund të aktivizohet funksioni kur foo nuk është gjithashtu i aktivizuar') dep = varësia ('foo', kërkohet : opt)
  • Lejohet të kalojë objekte të krijuara midis argumenteve "objekte:".
  • Funksioni i projektit mbështet instalimin e skedarëve me informacione rreth licencave të projektit.
  • Ekzekutimi i "sudo meson install" siguron rivendosjen e privilegjeve gjatë rindërtimit për platformat e synuara.
  • Komanda "meson install" ofron mundësinë për të specifikuar një mbajtës të veçantë për marrjen e lejeve të rrënjës (për shembull, mund të zgjidhni polkit, sudo, opendoas ose $MESON_ROOT_CMD). Ekzekutimi i "meson install" në modalitetin jo-interaktiv nuk përpiqet më të rrisë privilegjet.
  • U shtua mbështetje për opsionet e leximit nga skedari meson.options në vend të meson_options.txt.
  • Siguruar ridrejtim në stderr të prodhimit të informacionit në lidhje me përparimin e introspeksionit.
  • Një prapavijë e re "asnjë" (--backend=asnjë) është shtuar për të krijuar projekte që kanë vetëm rregulla instalimi dhe pa rregulla ndërtimi.
  • Një varësi e re pybind11 është shtuar për të bërë varësinë ('pybind11') të funksionojë me pkg-config dhe cmake pa përdorur skriptin pybind11-config.
  • Opsionet "--rikonfiguruar" dhe "--fshij" (konfigurimi i mesonit --rikonfigurimi i builddir dhe konfigurimi i mesonit --wipe builddir ) lejohen me një builddir bosh.
  • meson.add_install_script() shtoi mbështetje për fjalën kyçe dry_run, e cila ju lejon të ekzekutoni skriptet tuaja të instalimit kur thërrisni "meson install --dry-run".

Burimi: opennet.ru

Shto një koment