Projekt Meson har udgivet en version 1.11.0. Udgivelsen fandt sted den 13. april 2026 og fortsætter udviklingen af et af de mest fremtrædende frie build-systemer, der anvendes i mange Linux og tværplatformsprojekter.
Meson satser traditionelt på høj hastighed, forudsigelig build-beskrivelse og et relativt simpelt DSL, og den nye udgivelse fokuserer primært på praktiske forbedringer til realistiske udviklingsscenarier.
Nøgleændringer i Meson 1.11.0:
- understøttelse af parsing af overordnede Cargo.toml via workspace() i Rust-modulet;
- understøttelse af link_args, add_project_link_arguments() og add_global_link_arguments() for Rust;
- ny metode compiler_target() i Rust-modulet;
- Cython kræver ikke længere eksplicit inkludering af C eller C++;
- ny parameter link_early_args til tidligere overførsel af linkerindstillinger;
- meson dist har fået støtte til -j/—num-processes;
- install_man og install_headers understøtter nu install_tag;
- deduplisering af OpenMP linkerargumenter;
- automatisk bestemmelse af QT_DEBUG og QT_NO_DEBUG;
- forbedringer til Windows-miljøer og rc.exe.
En af de mest markante ændringer vedrører Rust. Meson 1.11.0 har lært at parse overordnede Cargo.toml ved kald af workspace() i Rust-modulet, hvilket gør, at afhængigheder og feature-flags nu løses i overensstemmelse med konfigurationen af Cargo-arbejdsområdet. Dette gør integrationen med Rust-projekter betydeligt mere modent: det tilbageførte objekt workspace gør det muligt at få oplysninger om afhængigheder og features for Cargo-underprojekter samt at bygge mål, der er beskrevet i Cargo.toml.
Udviklerne har også udvidet Mesons arbejde med Rust under linkningsfasen. Fra og med version 1.11.0 understøttes add_project_link_arguments(), add_global_link_arguments() og link_args for Rust, som sendes via rustc med indpakning -Clink-arg=. Desuden er der kommet en metode compiler_target() i Rust-modulet, der returnerer compilerens target triple, hvilket letter overførslen af scenarier, der tidligere var bundet til Cargo-variabler som TARGET og HOST.
Endnu en applikationsændring vedrører Cython: nu kræves der ikke eksplicit inkludering af sprog C eller C++. Meson bemærker dog, at disse sprog kun tilføjes som en intern implementationsdetalje af Cython og ikke som en fuldgyldig mulighed for parallelt at bygge almindelige native C/C++ mål. For brugerne repræsenterer dette primært en forenkling af build-konfigurationen.
Udgivelsen indeholder også forbedringer, der er designet til mere præcis kontrol af linkning og installation. For de mål, der udfører linkning, er der nu et nyt argument link_early_args, som gør det muligt at overføre linkerindstillinger til linker før objekter og biblioteker — dette er vigtigt for indstillinger som -u eller —defsym, som er ordenfølsomme. Derudover har install_man og install_headers fået støtte for install_tag, så installerede filer kan administreres mere fleksibelt gennem meson install —tags.
Det er også værd at bemærke udviklingen af værktøjer til opfølgning af bygninger. Meson dist-teamet accepterer nu -j og —num-processes, hvilket giver mulighed for at styre antallet af parallelle processer under distributionstest. Samtidig er Meson begyndt at deduplisere linker-argumenter for OpenMP, såsom -fopenmp og -qopenmp, og i Qt-modulerne bestemmes makroerne QT_DEBUG eller QT_NO_DEBUG automatisk afhængigt af bygningstilstand, hvilket bringer adfærden tættere på qmake.
Der er også ændringer i kompatibilitet med specifikke platformscenarier. I module external_project for Windows anvendes nu cygpath for korrekt at konvertere stier til Unix-format, når man arbejder med configure-scripts i miljøer som MSYS2 og Cygwin. Derudover kan windows.compile_resources nu registrere ændringer i overskrifter ved brug af rc.exe, hvilket omgår en langvarig begrænsning fra denne ressourccompiler.
Generelt Meson 1.11.0 Det ser ud til at være en udgivelse uden store revolutioner, men med en mærkbar mængde teknisk signifikante forbedringer. Den primære hensigt med udgivelsen er at gøre bygningssystemet mere brugervenligt for moderne mixed-language-projekter, især der hvor Rust, Cython, Qt og traditionelle C/C++-komponenter lever tæt sammen. For udviklere er det snarere ikke en anledning til at omskrive infrastrukturen, men en omhyggelig, men nyttig opdatering af et værktøj, der længe har været en del af den daglige stak af fri software.
Kilde: linux.org.ru
