Projekt Meson vĂ€lja antud versioon 1.11.0. VĂ€ljalaskmine toimus 13. aprill 2026 ja jĂ€tkab arendust ĂŒhe kĂ”ige silmapaistvama avatud ehitussĂŒsteemi osas, mida kasutatakse mitmesugustes Linuxi ja platvormidevaheline projektides.
Meson paneb traditsiooniliselt rÔhu kiirele, ettearvatavale ehituse kirjeldamisele ja suhteliselt lihtsale DSL-le, samas kui uus versioon keskendub peamiselt praktilistele tÀiustustele reaalses arendustegevuses.
Peamised muudatused Meson 1.11.0-s:
- toetust kÔrgemat asemel Cargo.toml lÀbipaistvusega workspace() Rust-modulis;
- toetust link_args, add_project_link_arguments() ja add_global_link_arguments() Rusti jaoks;
- uus meetod compiler_target() Rust-modulis;
- Cython ei vaja enam C vÔi C++ selget kaasamist;
- uus argument link_early_args, et edastada valikuid lingi koostamisele varem;
- meson dist sai toetuse -j/ânum-processes;
- install_man ja install_headers toetavad nĂŒĂŒd install_tag;
- OpenMP linkimise argumentide de-duplikaatimine;
- QT_DEBUG ja QT_NO_DEBUG automaatne tuvastamine;
- parandusi Windowsi keskkondades ja rc.exe.
Ăks kĂ”ige silmapaistvamaid muudatusi puudutab Rustis. Meson 1.11.0 Ă”ppis ĂŒlesehitama kĂ”rgemat Cargo.toml, kui kutsutakse ĂŒles workspace() Rust-modulis, mistĂ”ttu sĂ”ltuvused ja funktsiooniflagid lahendatakse nĂŒĂŒd Cargo tööruumi konfiguratsiooniga. See muudab integreerimise Rust-projektidega oluliselt kĂŒpsemaks: tagastatav objekt workspace vĂ”imaldab saada teavet sĂ”ltuvuste ja funktsioonide kohta Cargo alaprojektide jaoks ning kokku panna eesmĂ€rke, mis on kirjeldatud Cargo.toml-is.
Arendajad on samuti laiendanud Mesoni koostööd Rustiga linkimise etapil. Alates versioonist 1.11.0 toetavad Rust add_project_link_arguments(), add_global_link_arguments() ja link_args, mis edastatakse rustc kaudu mÀhisega -Clink-arg=. Lisaks on Rust-modulis ilmunud meetod compiler_target(), mis tagastab kompilaatori sihtriple, mis hÔlbustab varasemaid stsenaariume, mis olid seotud Cargo muutujatega nagu TARGET ja HOST.
Veel ĂŒks praktiline muudatus puudutab Cythoni: nĂŒĂŒd ei ole selle kasutamiseks enam vaja selgelt kaasata keeli C vĂ”i C++. Sellega seoses rĂ”hutab Meson, et sellised keeled lisatakse ainult Cythoni rakenduse sisemiste detailidena, mitte tĂ€ieĂ”iguslike vĂ”imalustena samal ajal tavapĂ€raste native C/C++ sihtide kokku panemiseks. Kasutajatele tĂ€hendab see peamiselt ehituse konfiguratsiooni lihtsustamist.
VĂ€ljaanne sisaldab tĂ€iustusi, mis vĂ”imaldavad peenemat linkimise ja installimise kontrolli. Linkimise eesmĂ€rkidel on nĂŒĂŒd uus argument link_early_args, mis vĂ”imaldab edastada linkimisvalikuid enne objekte ja teeke â see on oluline selliste parameetrite jaoks nagu -u vĂ”i --defsym, mis on jĂ€rjestuse suhtes tundlikud. Samuti on install_man ja install_headers saanud install_tag toe, et installitud faile saaks paindlikumalt hallata, kasutades meson install --tags.
Tuleb eraldi mĂ€rkida ehitustööriistade hooldamise arendust. Meson dist meeskond aktsepteerib nĂŒĂŒd -j ja --num-processes, mis vĂ”imaldab hallata samaaegsete protsesside arvu distributsiooni kontrollimisel. Samuti on Meson hakanud dedupeerima OpenMP linkimise argumente, nagu -fopenmp ja -qopenmp, ning Qt-moodulites mÀÀratakse automaatselt QT_DEBUG vĂ”i QT_NO_DEBUG makrod vastavalt ehituse reĆŸiimile, mis viib kĂ€itumise qmake'i lĂ€hedale.
Muudatusi on ka spetsiifiliste platvormide stsenaariumite ĂŒhilduvuses. Windowsi external_project moodulis kasutatakse nĂŒĂŒd cygpath'i, et Ă”igesti vormindada Unix-tĂŒĂŒpi teid.configure-skriptide töötlemisel keskkondades nagu MSYS2 ja Cygwin. Lisaks oskab windows.compile_resources nĂŒĂŒd jĂ€lgida pealkirjade muutusi, kasutades rc.exe-d, möödudes sellest ressursi kompilatori pikaajalisest piirangust.
Ăldiselt Meson 1.11.0 Tundub, et tegemist on vĂ€ljaandega, mis ei sisalda suuri revolutsioonilisi muudatusi, kuid hĂ”lmab mĂ€rkimisvÀÀrset arvu inseneritehniliselt olulisi tĂ€iustusi. VĂ€ljaande peamine eesmĂ€rk on muuta ehitussĂŒsteem mugavamaks tĂ€napĂ€evaste segakeelsete projektide jaoks, eriti seal, kus elavad koos Rust, Cython, Qt ja traditsioonilised C/C++ komponendid. Arendajate jaoks on see pigem pĂ”hjus mitte infrastruktuuri ĂŒmber kirjutada, vaid hoolikas, kuid kasulik tööriista uuendus, mis on ammu saanud osa igapĂ€evasest avatud lĂ€htekoodiga tarkvara stekist.
Allikas: linux.org.ru
