Meson 1.11.0

Project Meson heeft een versie uitgebracht 1.11.0. De release vond plaats 13 april 2026 en blijft zich ontwikkelen als een van de meest opmerkelijke open source build-systemen, gebruikt in veel Linux en cross-platform projecten.

Meson richt zich traditioneel op hoge snelheid, voorspelbare build-beschrijvingen en een relatief eenvoudige DSL, en de nieuwe release richt zich voornamelijk op praktische verbeteringen voor echte ontwikkelscenario's.

Belangrijke wijzigingen in Meson 1.11.0:

  • ondersteunt het parseren van high-level Cargo.toml via workspace() in de Rust-module;
  • ondersteunt link_args, add_project_link_arguments() en add_global_link_arguments() voor Rust;
  • nieuwe methode compiler_target() in de Rust-module;
  • Cython vereist niet langer expliciet de opname van C of C++;
  • nieuwe parameter link_early_args voor het eerder doorgeven van opties aan de linker;
  • meson dist heeft ondersteuning voor -j/—num-processes gekregen;
  • install_man en install_headers ondersteunen nu install_tag;
  • deduplicatie van OpenMP linker-argumenten;
  • automatische detectie van QT_DEBUG en QT_NO_DEBUG;
  • verbeteringen voor Windows-omgevingen en rc.exe.

Een van de meest opmerkelijke wijzigingen betreft Rust. Meson 1.11.0 heeft geleerd om high-level Cargo.toml te parseren bij het aanroepen van workspace() in de Rust-module, waardoor afhankelijkheden en feature-flags nu worden opgelost volgens de configuratie van de Cargo-werkomgeving. Dit maakt de integratie met Rust-projecten aanzienlijk volwassener: het geretourneerde workspace-object biedt informatie over afhankelijkheden en features voor Cargo-subprojecten, evenals het bouwen van doelen die in Cargo.toml zijn beschreven.

Ontwikkelaars hebben ook de werking van Meson met Rust tijdens de linking-fase uitgebreid. Sinds versie 1.11.0 worden add_project_link_arguments(), add_global_link_arguments() en link_args ondersteund, welke via rustc met de wrapper -Clink-arg= worden doorgegeven. Bovendien is er in de Rust-module een methode compiler_target() toegevoegd die de target triple van de compiler retourneert, wat het verplaatsen van scripts, die eerder afhankelijk waren van Cargo-variabelen zoals TARGET en HOST, vereenvoudigt.

Een andere praktische wijziging betreft Cython: nu is het niet meer nodig om expliciet de talen op te nemen C of C++. Daarbij merkt Meson op dat dergelijke talen alleen als een interne implementatiedetail van Cython worden toegevoegd, en niet als een volwaardige mogelijkheid om gewone native C/C++ targets parallel te bouwen. Voor gebruikers betekent dit in de eerste plaats een vereenvoudiging van de buildconfiguratie.

De release bevat ook verbeteringen die zijn gericht op een fijnere controle van link- en installatieprocessen. Doelen die worden gelinkt, hebben nu een nieuwe parameter link_early_args, waardoor opties aan de linker kunnen worden doorgegeven voordat de objecten en bibliotheken worden aangeroepen — dit is belangrijk voor parameters zoals -u of —defsym, die gevoelig zijn voor volgordes. Ook hebben install_man en install_headers ondersteuning gekregen voor install_tag, wat het mogelijk maakt om geïnstalleerde bestanden flexibeler te beheren via meson install —tags.

Het is ook vermeldenswaardig dat de tools voor het onderhoud van de build zijn ontwikkeld. Het meson dist-team accepteert nu -j en —num-processes, wat het mogelijk maakt om het aantal parallelle processen tijdens de distributietest te beheren. Tegelijkertijd begon Meson met het dedupliceren van linker-argumenten voor OpenMP, zoals -fopenmp en -qopenmp, en in Qt-modules worden nu automatisch de macro's QT_DEBUG of QT_NO_DEBUG gedefinieerd, afhankelijk van de build-modus, wat het gedrag dichter bij qmake brengt.

Er zijn ook wijzigingen in de compatibiliteit met specifieke platform-scenario's. In de module external_project wordt voor Windows nu cygpath gebruikt om paden correct om te zetten naar Unix-vorm bij het werken met configure-scripts in omgevingen zoals MSYS2 en Cygwin. Bovendien kan windows.compile_resources nu wijzigingen in headers volgen bij het gebruik van rc.exe, waarmee een lang bestaande beperking van deze resource-compiler wordt omzeild.

Over het algemeen Meson 1.11.0 Het lijkt een release zonder grote revoluties, maar met een merkbaar aantal engineering-gerelateerde verbeteringen. De belangrijkste reden voor deze release is om het build-systeem gebruiksvriendelijker te maken voor moderne mixed-language-projecten, vooral waar Rust, Cython, Qt en traditionele C/C++-componenten naast elkaar bestaan. Voor ontwikkelaars is dit eerder een reden om de infrastructuur niet helemaal opnieuw te schrijven, maar een zorgvuldige, maar nuttige update van een tool die al lang deel uitmaakt van de dagelijkse stapel van vrije software.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster