Projekt Meson lëshoi versionin 1.11.0. Lëshimi ndodhi më 13 prill 2026 dhe vazhdon të zhvillojë një nga sistemet më të dukshme të ndërtimit të lirë, të përdorur në shumë projekte Linux dhe shumëplatformë.
Meson tradicionalisht fokusohet në shpejtësi të lartë, përshkrim të parashikueshëm të ndërtimit dhe një DSL relativisht të thjeshtë, ndërsa lëshimi i ri përqendrohet kryesisht në përmirësime praktike për skenarët e vërtetë të zhvillimit.
Ndryshimet kryesore në Meson 1.11.0:
- mbështetje për parsing-un e Cargo.toml në nivel më të lartë përmes workspace() në modulën Rust;
- mbështetje për link_args, add_project_link_arguments() dhe add_global_link_arguments() për Rust;
- metodë e re compiler_target() në modulën Rust;
- Cython tani nuk kërkon përfshirjen e qartë të C ose C++;
- argument i ri link_early_args për kalimin më të hershëm të opsioneve te lidhësi;
- meson dist tani mbĂ«shtet -j/ânum-processes;
- install_man dhe install_headers tani mbështesin install_tag;
- deduplikimi i argumenteve të lidhësit OpenMP;
- identifikimi automatik i QT_DEBUG dhe QT_NO_DEBUG;
- përmirësime për mjediset Windows dhe rc.exe.
Një nga ndryshimet më të dukshme këtë herë ka të bëjë me Rust. Meson 1.11.0 mësoi të analizojë Cargo.toml në nivel të lartë gjatë thirrjes së workspace() në modul Rust, e cila bën që varësitë dhe flag-t e feature të zgjidhen sipas konfigurimit të workspace-it të Cargo. Kjo e bën integrimin me projektet Rust dukshëm më të pjekur: objekti që kthehet nga workspace ofron informacion mbi varësitë dhe feature-t për nënprojektet e Cargo, si dhe ndihmon në grumbullimin e qëllimeve të përshkruara në Cargo.toml.
Zhvilluesit gjithashtu zgjeruan funksionalitetin e Meson për Rust gjatë fazës së linkimit. Duke filluar nga versioni 1.11.0, për Rust mbështeten add_project_link_arguments(), add_global_link_arguments() dhe link_args, të cilat transmetohen përmes rustc me mbështjellësin -Clink-arg=. Për më tepër, në modul Rust është shtuar një metodë compiler_target(), e cila kthen treple-në e target-it të kompajlerit, duke e bërë më të lehtë kalimin e skenarëve që ishin lidhur me variablat e Cargo si TARGET dhe HOST.
Një ndryshim tjetër aplikativ prek Cython: tani për ta përdorur nuk kërkohet më të përfshihen qartë gjuhët C ose C++. Në këtë mënyrë, Meson saktëson se këto gjuhë shtohen vetëm si detaj të brendshëm të implementimit të Cython, dhe jo si një mundësi të plotë për të ndërtuar njëkohësisht objektivat e zakonshëm native C/C++. Për përdoruesit, kjo është kryesisht një thjeshtësim i konfigurimit të ndërtimit.
Rilazhi pĂ«rfshinte dhe pĂ«rmirĂ«sime tĂ« dizajnuara pĂ«r njĂ« kontroll mĂ« tĂ« hollĂ« tĂ« lidhjes dhe instalimit. Objektet qĂ« realizojnĂ« lidhjen tani kanĂ« njĂ« argument tĂ« ri link_early_args, i cili lejon kalimin e opsioneve nĂ« lidhĂ«s para objekteve dhe bibliotekave â kjo Ă«shtĂ« e rĂ«ndĂ«sishme pĂ«r parametra si -u ose âdefsym, tĂ« cilat janĂ« tĂ« ndjeshme ndaj rendit. Gjithashtu, install_man dhe install_headers morĂ«n mbĂ«shtetje pĂ«r install_tag, duke e bĂ«rĂ« mĂ« fleksibĂ«l menaxhimin e skedave tĂ« instaluara pĂ«rmes meson install âtags.
VeçanĂ«risht, duhet theksuar zhvillimi i mjeteve tĂ« mbĂ«shtetjes pĂ«r ndĂ«rtimin. Ekipa meson dist tani pranon -j dhe ânum-processes, qĂ« lejon menaxhimin e numrit tĂ« proceseve paralel gjatĂ« verifikimit tĂ« distribucionit. Paralelisht, Meson filloi tĂ« deduplikojĂ« argumentet e lidhĂ«sit OpenMP, si -fopenmp dhe -qopenmp, dhe nĂ« modulet Qt tani pĂ«rcaktohen automatikisht makros QT_DEBUG ose QT_NO_DEBUG nĂ« varĂ«si tĂ« modit tĂ« ndĂ«rtimit, qĂ« e afron sjelljen me qmake.
Ka janë ndryshime edhe në përputhshmërinë me skenarët specifikë të platformës. Në modulin external_project për Windows tani përdoret cygpath, në mënyrë që të konvertojë korrektësisht rrugët në stilin Unix gjatë punës me skriptet configure në ambiente si MSYS2 dhe Cygwin. Për më tepër, windows.compile_resources tani është në gjendje të ndjekë ndryshimet në tituj gjatë përdorimit të rc.exe, duke anashkaluar një kufizim të vjetër të këtij kompileri burimesh.
Në përgjithësi Meson 1.11.0 dukesh si një lëshim pa revolucionare të bujshme, por me një numër të dukshëm përmirësimesh me rëndësi inxhinierike. Qëllimi kryesor i lëshimit është të bëjë sistemin e ndërtimit më të përshtatshëm për projektet moderne me gjuhë të përzier, veçanërisht atje ku jetojnë pranë Rust, Cython, Qt dhe komponentët tradicionalë C/C++. Për zhvilluesit, ky është më shumë një mundësi për të kaluar struktura, sesa një përditësim të kujdesshëm, por të dobishëm të mjetit, i cili tashmë ka kohë që është bërë pjesë e përditshme e grumbullit të lirë të softuerëve.
Burimi: linux.org.ru
