ĂshtĂ« publikuar rasti i sistemit tĂ« ndĂ«rtimit Meson 1.1.0, i cili pĂ«rdoret pĂ«r tĂ« ndĂ«rtuar projekte tĂ« tilla si X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dhe GTK. Kodi Meson Ă«shtĂ« shkruar nĂ« gjuhĂ«n Python dhe ofrohet nĂ«n licencĂ«n Apache 2.0.
Qëllimi kryesor i zhvillimit të Meson është të sigurojë shpejtësi të lartë gjatë procesit të ndërtimit, duke ruajtur gjithashtu lehtësinë dhe thjeshtësinë e përdorimit. Përdorimi i mjetit Ninja për ndërtimin e përparësishëm është vendosur në vend të utilitarit make, por mund të përdoren edhe backend të tjera si xcode dhe VisualStudio. Sistemi ka një menaxher të variablave multikontinentale të ndjesive që lejon përdorimin e Meson për ndërtimin e pakove për shpërndarjet. Rregullat e ndërtimit përcaktohen në një gjuhë të thjeshtuar të orientuar nga objekti, që dallohet për lehtësinë e leximit dhe është e kuptueshme për përdorruesin (sipas mendimit të autorëve, zhvilluesi duhet të harxhojë sa më pak kohë në shkruajtjen e rregullave).
Kros-kompilimi dhe ndĂ«rtimi janĂ« tĂ« mbĂ«shtetur nĂ« Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dhe Windows duke pĂ«rdorur GCC, Clang, Visual Studio dhe kompilatorĂ« tĂ« tjerĂ«. ĂshtĂ« e mundur ndĂ«rtimi i projekteve nĂ« gjuhĂ« tĂ« ndryshme programuese, pĂ«rfshirĂ« C, C++, Fortran, Java dhe Rust. MbĂ«shtetet njĂ« modalitet ndĂ«rtimi inkremental, ku rindĂ«rtohen vetĂ«m komponentĂ«t qĂ« janĂ« lidhur drejtpĂ«rdrejt me ndryshimet e bĂ«rĂ« qĂ« nga ndĂ«rtimi i fundit. Meson mund tĂ« pĂ«rdoret pĂ«r tĂ« formuar ndĂ«rtime tĂ« ripĂ«rsĂ«ritshme, ku ekzekutimi i ndĂ«rtimit nĂ« mjedise tĂ« ndryshme çon nĂ« gjenerimin e skedarĂ«ve ekzekutiv tĂ« plotĂ«sisht identik.
Kryesoret e reja të Meson 1.1:
- Në declare_dependency() është shtuar një argument i ri «objects:» për të lidhur objekte drejtpërdrejt me skedarët ekzekutivë në formën e varësive të brendshme, që nuk kërkojnë përdorimin e link_who.
- NĂ« komandĂ«n «meson devenv âdump» Ă«shtĂ« shtuar njĂ« mundĂ«si e opcionale pĂ«r tĂ« specifikuar njĂ« skedar pĂ«r tĂ« shkruar variablat e mjedisit, nĂ« vend qĂ« tĂ« dalĂ« nĂ« daljen e zakonshme.
- JanĂ« shtuar metodat FeatureOption.enable_if dhe FeatureOption.disable_if pĂ«r tĂ« thjeshtuar krijimin e strukturove kushtore gjatĂ« pĂ«rgatitjes pĂ«r kalimin e parametrave nĂ« funksionin dependency(). opt = get_option(âfeatureâ).disable_if(not foo, error_message : âNuk mund tĂ« aktivizohet veçoria kur foo nuk Ă«shtĂ« gjithashtu e aktivizuarâ) dep = dependency(âfooâ, required : opt)
- Lejohet kalimi i objekteve të gjeneruara si një nga argumentet «objects:».
- Në funksionin project është implementuar mbështetje për instalimin e skedarëve me informacion rreth licencave të projektit.
- Gjatë ekzekutimit të «sudo meson install» sigurohet një shkarkim i privilegjeve gjatë rinisjes për platformat e synuara.
- Në komandën «meson install» ofrohet mundësia për të specifikuar një trajtues të veçantë për të marrë të drejtat root (për shembull, mund të zgjidhni polkit, sudo, opendoas ose $MESON_ROOT_CMD). Kur ekzekutohet «meson install» jo në modalitetin interaktiv, nuk janë më përpjekje për të rritur privilegjet.
- Shtuar mbështetje për leximin e opsioneve nga skedari meson.options në vend të meson_options.txt.
- Siguruar redirektimin në stderr për informacionin mbi progresin e introspektimit.
- Shtuar njĂ« backend tĂ« ri «none» (âbackend=none) pĂ«r krijimin e projekteve qĂ« kanĂ« vetĂ«m rregulla instalimi dhe nuk pĂ«rmbajnĂ« rregulla ndĂ«rtimi.
- Shtuar njĂ« varĂ«si tĂ« re pybind11, e cila mundĂ«son funksionimin e dependency(âpybind11â) me pkg-config dhe cmake pa pĂ«rdorur skriptin pybind11-config.
- Lejohet pĂ«rdorimi i opsioneve «âreconfigure» dhe «âwipe» (meson setup âreconfigure builddir dhe meson setup âwipe builddir) me njĂ« builddir tĂ« zbrazĂ«t.
- NĂ« meson.add_install_script() Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r fjalinĂ« kyçe dry_run, e cila lejon ekzekutimin e skripteve tĂ« instalimit nĂ« thirrjen «meson install âdry-run».
Burimi: opennet.ru
