Projekt Meson izdao novu verziju 1.11.0. Izdanje je održano 13. travnja 2026. godine i nastavlja razvoj jednog od najistaknutijih slobodnih sustava za gradnju, koji se koristi u mnogim Linux i multiplatformskim projektima.
Meson tradicionalno stavlja naglasak na visoku brzinu, predvidljivo opisivanje gradnje i relativno jednostavan DSL, a novo izdanje se uglavnom fokusira na praktična poboljšanja za stvarne scenarije razvoja.
Ključne promjene u Meson 1.11.0:
- podrška za parsiranje višerazinskog Cargo.toml kroz workspace() u Rust modu;
- podrška za link_args, add_project_link_arguments() i add_global_link_arguments() za Rust;
- nova metoda compiler_target() u Rust modu;
- Cython više ne zahtijeva eksplicitno uključivanje C ili C++;
- nova opcija link_early_args za ranije predavanje opcija linkeru;
- meson dist dobio podršku za -j/—num-processes;
- install_man i install_headers sada podržavaju install_tag;
- deduplication OpenMP linker arguments;
- automatsko prepoznavanje QT_DEBUG i QT_NO_DEBUG;
- poboljšanja za Windows okruženja i rc.exe.
Jedna od najistaknutijih promjena odnosi se na Rust. Meson 1.11.0 je naučio analizirati višerazinski Cargo.toml prilikom pozivanja workspace() u Rust modu, čime se ovisnosti i feature-flagovi sada razrješavaju u skladu s konfiguracijom radnog prostora Cargo. To čini integraciju s Rust projektima znatno zrelijom: vraćeni objekt workspace omogućava pristup informacijama o ovisnostima i značajkama za Cargo podprojekte, kao i izgradnju ciljeva opisanih u Cargo.toml.
Programeri su također proširili rad Mesona s Rust-om tijekom faze linkanja. Počevši od verzije 1.11.0, za Rust su podržani add_project_link_arguments(), add_global_link_arguments() i link_args, koji se predaju preko rustc s omotom -Clink-arg=. Osim toga, u Rust modu je uvedena metoda compiler_target(), koja vraća target triple kompajlera, što olakšava prijenos scenarija koji su ranije bili vezani za varijable Cargo poput TARGET i HOST.
Još jedna praktična promjena odnosi se na Cython: sada za rad s njime više nije potrebno eksplicitno uključivanje jezika C ili C++. Pri tome Meson naglašava da se ti jezici dodaju samo kao unutarnji detalj implementacije Cythona, a ne kao puna mogućnost paralelnog građenja običnih native C/C++ ciljeva. Za korisnike to prvenstveno pojednostavljuje konfiguraciju gradnje.
U izdanju su uključena i poboljšanja usmjerena na precizniju kontrolu povezivanja i instalacije. Ciljevi s povezivanjem sada imaju novu opciju link_early_args koja omogućava prosljeđivanje opcija linkeru prije objekata i biblioteka — to je važno za opcije poput -u ili —defsym koje su osjetljive na redoslijed. Također, install_man i install_headers su dobili podršku za install_tag, što omogućava fleksibilnije upravljanje instaliranim datotekama putem meson install —tags.
Posebno valja istaknuti razvoj alata za podršku gradnji. Tim meson dist sada prihvaća -j i —num-processes, što omogućava upravljanje brojem paralelnih procesa prilikom provjere distribucije. Paralelno s tim, Meson je počeo deduplicate linkerske argumente OpenMP, poput -fopenmp i -qopenmp, a u Qt modulima se sada automatski prepoznaju makroi QT_DEBUG ili QT_NO_DEBUG ovisno o načinu gradnje, što približava ponašanje qmake-u.
Promjene su prisutne i u kompatibilnosti s specifičnim platformama. U modulu external_project za Windows sada se koristi cygpath za ispravno pretvaranje putanja u Unix-stil prilikom rada s configure skriptama u okruženjima poput MSYS2 i Cygwin. Osim toga, windows.compile_resources sada može pratiti promjene zaglavlja prilikom korištenja rc.exe, zaobilazeći dugo postojeće ograničenje ovog resursa kompajlera.
U globalu Meson 1.11.0 Izgleda kao izdanje bez velikih revolucija, ali s primjetnim brojem inženjerski važnih poboljšanja. Glavna svrha izdanja je učiniti sustav gradnje pogodnijim za moderne projekte mješovitih jezika, posebno tamo gdje žive Rust, Cython, Qt i tradicionalne C/C++ komponente. Za programere, to je više zgodno, ali korisno ažuriranje alata koji je već dugo dio svakodnevnog stoga slobodnog softvera.
Izvor: linux.org.ru
