Progetto Meson ha rilasciato una versione 1.11.0. Il rilascio è avvenuto il 13 aprile 2026 e continua lo sviluppo di uno dei più noti sistemi di build open source, utilizzato in numerosi progetti Linux e cross-platform.
Meson punta tradizionalmente su alta velocità, descrizioni di build prevedibili e un DSL relativamente semplice, e la nuova versione si concentra principalmente su miglioramenti pratici per scenari di sviluppo reali.
Le principali novità in Meson 1.11.0:
- supporto per l'analisi di Cargo.toml di alto livello tramite workspace() nel modulo Rust;
- supporto per link_args, add_project_link_arguments() e add_global_link_arguments() per Rust;
- nuovo metodo compiler_target() nel modulo Rust;
- Cython non richiede più l'inclusione esplicita di C o C++;
- nuovo argomento link_early_args per la trasmissione anticipata delle opzioni al linker;
- meson dist ha ottenuto il supporto per -j/--num-processes;
- install_man e install_headers ora supportano install_tag;
- deduplicazione degli argomenti linker OpenMP;
- determinazione automatica di QT_DEBUG e QT_NO_DEBUG;
- miglioramenti per ambienti Windows e rc.exe.
Una delle modifiche più significative riguarda Rust. Meson 1.11.0 è ora in grado di analizzare il file Cargo.toml di alto livello durante la chiamata a workspace() nel modulo Rust, consentendo la risoluzione delle dipendenze e dei flag delle funzionalità in base alla configurazione dello spazio di lavoro di Cargo. Ciò rende l'integrazione con i progetti Rust notevolmente più matura: l'oggetto workspace restituito consente di ottenere informazioni sulle dipendenze e sulle caratteristiche per i sotto-progetti di Cargo, nonché di costruire obiettivi descritti nel Cargo.toml.
Gli sviluppatori hanno anche ampliato il supporto di Meson per Rust nella fase di collegamento. A partire dalla versione 1.11.0, per Rust sono supportati add_project_link_arguments(), add_global_link_arguments() e link_args, che vengono passati tramite rustc con l'opzione -Clink-arg=. Inoltre, nel modulo Rust è stato introdotto il metodo compiler_target(), che restituisce il target triple del compilatore, semplificando il trasferimento di script che prima dipendevano da variabili Cargo come TARGET e HOST.
Un'altra modifica applicativa riguarda Cython: ora non è più necessario abilitare esplicitamente i linguaggi per lavorarci C o C++. Meson specifica che tali linguaggi vengono aggiunti solo come dettaglio interno dell'implementazione di Cython, e non come un'opzione completa per compilare parallelamente normali obiettivi native C/C++. Per gli utenti, questo rappresenta principalmente una semplificazione della configurazione di compilazione.
La release include anche miglioramenti volti a un controllo più dettagliato del linking e dell'installazione. Gli obiettivi che eseguono il linking now hanno un nuovo argomento link_early_args, che consente di passare opzioni al linker prima degli oggetti e delle librerie - questo è importante per parametri come -u o --defsym, che sono sensibili all'ordine. Inoltre, install_man e install_headers hanno acquisito supporto per install_tag, permettendo una gestione più flessibile dei file installati tramite meson install --tags.
È opportuno sottolineare lo sviluppo degli strumenti di supporto alla compilazione. Il team di meson dist ora accetta -j e --num-processes, consentendo di gestire il numero di processi paralleli durante il controllo del pacchetto. Nel contempo, Meson ha iniziato a deduplicare gli argomenti del linker OpenMP, come -fopenmp e -qopenmp, e nei moduli Qt vengono ora automaticamente determinate le macro QT_DEBUG o QT_NO_DEBUG in base alla modalità di compilazione, avvicinando il comportamento a quello di qmake.
Ci sono anche modifiche nella compatibilità con scenari specifici delle piattaforme. Nel modulo external_project per Windows ora viene utilizzato cygpath per convertire correttamente i percorsi in formato Unix quando si lavora con gli script configure in ambienti come MSYS2 e Cygwin. Inoltre, windows.compile_resources ora è in grado di monitorare le modifiche agli header quando si utilizza rc.exe, superando un antico limite di questo compilatore di risorse.
In generale Meson 1.11.0 sembra un rilascio senza grandi rivoluzioni, ma con un numero notevole di miglioramenti ingegneristici significativi. Il principale obiettivo di questa versione è rendere il sistema di build più comodo per i progetti moderni a linguaggi misti, soprattutto dove convivono Rust, Cython, Qt e componenti tradizionali C/C++. Per gli sviluppatori, questo è più un invito a non riscrivere l'infrastruttura, ma un aggiornamento accurato e utile dello strumento, che è già da tempo parte del stack quotidiano del software libero.
Fonte: linux.org.ru
