Vydanie systému zostavy Meson 1.0

Bolo zverejnené vydanie zostavovacieho systému Meson 1.0.0, ktorý sa používa na zostavovanie projektov ako X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Kód Meson je napísaný v jazyku Python a je licencovaný pod licenciou Apache 2.0.

Kľúčovým cieľom vývoja spoločnosti Meson je poskytnúť vysokorýchlostný proces montáže v kombinácii s pohodlím a jednoduchosťou použitia. Namiesto make zostava štandardne používa súpravu nástrojov Ninja, ale možno použiť aj iné backendy, ako napríklad xcode a VisualStudio. Systém má vstavaný obslužný program závislostí na viacerých platformách, ktorý vám umožňuje používať Meson na zostavovanie balíkov pre distribúcie. Pravidlá zostavovania sú nastavené v zjednodušenom doménovo špecifickom jazyku, sú dobre čitateľné a zrozumiteľné pre používateľa (podľa predstavy autorov by mal vývojár venovať písaním pravidiel minimum času).

Podporuje sa krížová kompilácia a budovanie na Linuxe, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS a Windows pomocou GCC, Clang, Visual Studio a ďalších kompilátorov. Je možné vytvárať projekty v rôznych programovacích jazykoch, vrátane C, C++, Fortran, Java a Rust. Podporovaný je režim prírastkového zostavovania, v ktorom sa prestavujú iba komponenty, ktoré priamo súvisia so zmenami vykonanými od poslednej zostavy. Meson je možné použiť na generovanie opakovateľných zostavení, kde spustenie zostavy v rôznych prostrediach vedie k úplne identickým spustiteľným súborom.

Hlavné inovácie Meson 1.0:

  • Modul pre stavebné projekty v jazyku Rust bol vyhlásený za stabilný. Tento modul sa používa v projekte Mesa na vytváranie komponentov napísaných v jazyku Rust.
  • Voľba predpony, podporovaná vo väčšine kontrolných funkcií kompilátora, poskytuje okrem reťazcov aj schopnosť spracovať polia. Teraz môžete napríklad zadať: cc.check_header('GL/wglew.h', predpona : ['#include ', '#zahŕňať '])
  • Pridaný nový argument "--workdir", ktorý umožňuje prepísanie pracovného adresára. Ak chcete napríklad použiť aktuálny adresár namiesto pracovného adresára, môžete spustiť: meson devenv -C builddir --workdir .
  • Boli navrhnuté nové operátory „in“ a „not in“ na určenie výskytu podreťazca v reťazci, podobne ako predtým dostupná kontrola výskytu prvku v poli alebo slovníku. Napríklad: fs = import('fs') if 'something' in fs.read('somefile') # True endif
  • Pridaná možnosť „warning-level=everything“, ktorá zapína výstup všetkých dostupných varovaní kompilátora (v clang a MSVC používa -Weverything a /Wall a v GCC sú varovania zahrnuté samostatne, približne zodpovedajúce -Weverything režim v zvonení).
  • Metóda rust.bindgen implementuje schopnosť spracovať argument "závislosti" na odovzdanie ciest k závislostiam, ktoré by mali byť spracované kompilátorom.
  • Funkcia java.generate_native_headers bola zastaraná a premenovaná na java.native_headers, aby zodpovedala bežnému štýlu pomenovania funkcií Meson.

Zdroj: opennet.ru

Pridať komentár