Projektet Meson slÀppte en version 1.11.0. UtgÄvan Àgde rum 13 april 2026 och fortsÀtter utvecklingen av ett av de mest framtrÀdande öppna byggsystemen, som anvÀnds i mÄnga Linux- och plattformsöverskridande projekt.
Meson satsar traditionellt pÄ hög hastighet, förutsÀgbar byggbeskrivning och relativt enkel DSL, och den nya versionen fokuserar frÀmst pÄ praktiska förbÀttringar för verkliga utvecklingsscenarier.
NyckelÀndringar i Meson 1.11.0:
- stöd för att tolka den övergripande Cargo.toml via workspace() i Rust-modulen;
- stöd för link_args, add_project_link_arguments() och add_global_link_arguments() för Rust;
- ny metod compiler_target() i Rust-modulen;
- Cython krÀver inte lÀngre att C eller C++ explicit inkluderas;
- ny parameter link_early_args för tidigare överföring av alternativ till lÀnkaren;
- meson dist har fĂ„tt stöd för -j/ânum-processes;
- install_man och install_headers stöder nu install_tag;
- duplikering av OpenMP-lÀnkargument;
- automatisk bestÀmning av QT_DEBUG och QT_NO_DEBUG;
- förbÀttringar för Windows-miljöer och rc.exe.
En av de mest anmÀrkningsvÀrda förÀndringarna rör Rust. Meson 1.11.0 har lÀrt sig att tolka den övergripande Cargo.toml vid anrop av workspace() i Rust-modulen, vilket gör att beroenden och feature-flaggor nu löses i enlighet med Cargo-arbetsytans konfiguration. Detta gör integrationen med Rust-projekt betydligt mer mogen: det returnerade objektet workspace gör det möjligt att fÄ information om beroenden och features för Cargo-subprojekt, samt att bygga mÄlen beskrivna i Cargo.toml.
Utvecklarna har ocksÄ utökat Mesons arbete med Rust i lÀnkstadiet. FrÄn och med version 1.11.0, stöd för Rust tillhandahÄlls av add_project_link_arguments(), add_global_link_arguments() och link_args, som överförs via rustc med omslag -Clink-arg=. Dessutom har Rust-modulen fÄtt en metod compiler_target(), som returnerar kompilatorns mÄltrippel, vilket förenklar porteringen av scenarier som tidigare var bundna till variabler i Cargo som TARGET och HOST.
Ytterligare en praktisk förÀndring berör Cython: för att arbeta med det behövs nu inte lÀngre att sprÄk C eller C++inkluderas explicit. Meson pÄpekar dock att sÄdana sprÄk lÀggs till endast som en intern detaljerad implementering av Cython, och inte som en fullstÀndig möjlighet att parallellt bygga vanliga native C/C++ targets. För anvÀndarna innebÀr detta frÀmst en förenkling av byggkonfigurationen.
I releasen ingĂ„r förbĂ€ttringar som syftar till en mer detaljerad kontroll av lĂ€nkning och installation. MĂ„len som utför lĂ€nkning har fĂ„tt en ny parameter link_early_args, vilket möjliggör att överföra alternativ till lĂ€nkaren innan objekten och biblioteken â detta Ă€r viktigt för parametrar som -u eller âdefsym, som Ă€r kĂ€nsliga för ordningen. Dessutom har install_man och install_headers fĂ„tt stöd för install_tag, sĂ„ att installerade filer kan hanteras mer flexibelt genom meson install âtags.
Det Ă€r vĂ€rt att notera utvecklingen av verktyg för byggehantering. Meson dist-teamet accepterar nu -j och ânum-processes, vilket gör att man kan styra antalet parallella processer vid distributionstestning. Samtidigt började Meson deduplicera lĂ€nkargumenten för OpenMP, som -fopenmp och -qopenmp, och i Qt-moduler bestĂ€ms nu makron QT_DEBUG eller QT_NO_DEBUG automatiskt beroende pĂ„ bygglĂ€ge, vilket nĂ€rmar sig beteendet hos qmake.
Det finns förÀndringar i kompatibiliteten med specifika plattformsscenarier. I modulen external_project anvÀnds numera cygpath för Windows för att korrekt omvandla sökvÀgar till Unix-format nÀr man arbetar med configure-skript i miljöer som MSYS2 och Cygwin. Dessutom kan windows.compile_resources nu spÄra förÀndringar i headers nÀr rc.exe anvÀnds, vilket kringgÄr en gammal begrÀnsning hos den hÀr resurskompilatorn.
Generellt Meson 1.11.0 Det ser ut som en release utan stora revolutioner, men med ett betydande antal ingenjörsmÀssigt viktiga förbÀttringar. Huvudsyftet med utgÄvan Àr att göra byggsystemet mer bekvÀmt för moderna mixed-language-projekt, sÀrskilt dÀr Rust, Cython, Qt och traditionella C/C++-komponenter samexisterar. För utvecklare Àr detta snarare inte en anledning att skriva om infrastrukturen, utan en noggrann, men nyttig uppdatering av ett verktyg som redan lÀnge har varit en del av den dagliga stacken av fri programvara.
KĂ€lla: linux.org.ru
