Meson è uno strumento software per automatizzare la costruzione di software. È gratuito e open source scritto in Python.
È stata recentemente annunciata la pubblicazione della nuova versione del sistema di compilazione Meson 1.4 . Questa versione include un supporto migliorato per alcune funzioni del modulo FS, oltre a miglioramenti della compatibilità, nuove funzionalità e altro ancora.
Per chi non lo conoscesse, Meson è un sistema di build utilizzato da progetti importanti come X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME e GTK. Il suo obiettivo principale è fornire un processo di build rapido e intuitivo. Utilizza di default il toolkit Ninja, ma è compatibile anche con altri backend come Xcode e Visual Studio.
Questo sistema include un gestore di dipendenze multipiattaforma integrato che semplifica la creazione di pacchetti per le distribuzioni. Le regole di compilazione sono definite in un linguaggio specifico e leggibile, riducendo al minimo il tempo necessario per scriverle.
Meson supporta la creazione di progetti in più linguaggi come C, C++, Fortran, Java e Rust e offre una modalità di creazione incrementale che ricostruisce solo i componenti interessati dalle modifiche dall'ultima build. Inoltre, Meson può generare build ripetibili, garantendo che l'esecuzione della build in ambienti diversi produca eseguibili completamente identici.
Principali novità di Meson 1.4
Questa nuova versione di Meson 1.4 evidenzia il supporto aggiunto per il modulo FS, che ora supporta gli oggetti di destinazione di compilazione build_tgt e custom_tgt, nonché un indice di destinazione di compilazione (custom_idx) nelle funzioni fs.name, fs.parent, fs.replace_suffix e fs.stem.
Un'altra novità degna di nota di questa versione è la possibilità per Meson di leggere la versione del progetto dai sottoprogetti basati su CMake. Ciò garantisce che i vincoli di versione vengano verificati correttamente durante l'accesso a un sottoprogetto CMake.
Inoltre, l'argomento `preserve_paths` è stato ora aggiunto alle funzioni `compile_ui`, `compile_moc` e di preelaborazione dei moduli `qt4`, `qt5` e `qt6` per selezionare l'opzione di creazione della struttura di directory per i file in fase di scrittura.
Da notare anche che il supporto Clang è stato aggiunto a stldebug quando debugstl è abilitato, il metodo unset() è stato introdotto nell'oggetto env e il metodo full_path() è stato aggiunto all'oggetto File per ottenere il percorso completo del file.
È stato aggiunto il supporto per lo strumento numpy-config e per pkg-config come nuove dipendenze personalizzate. Questa funzionalità è disponibile a partire da NumPy 2.0.0. Il supporto per numpy-config funzionerà automaticamente una volta installato NumPy. Tuttavia, il file pkg-config si trova all'interno dei pacchetti del sito Python, il che significa che non può essere utilizzato immediatamente senza configurare PKG_CONFIG_PATH.
Tra le altre modifiche degne di nota in questa nuova versione si segnalano:
- Possibilità di controllare i controlli delle asserzioni (GLIBCXX_ASSERTIONS) in C++ stdlib tramite la configurazione ndebug.
- Aggiunto l'argomento parola chiave preserve_pathsun alle funzioni del modulo qt
- Ora è possibile specificare destinazioni dipendenti con depend: for compiler.preprocess(). Questi target devono essere costruiti prima dell'inizio della preelaborazione.
- Il generatore di associazione bindgen ora supporta l'euristica Meson per determinare i file di intestazione C++.
- Aggiunta la possibilità di sovrascrivere le impostazioni della lingua per bindgen.
- I test ora falliscono per impostazione predefinita dopo aver riscontrato errori durante l'esecuzione di disinfettanti come MemorySanitizer.
- Aggiunto il supporto per il compilatore C/C++ di Texas Instruments per la famiglia di CPU C6000.
Infine, se siete interessati ad approfondire l'argomento, potete trovare maggiori dettagli al seguente link.
Come installare Meson su Linux?
Per coloro che sono interessati a poter installare questo sistema di compilazione sul proprio sistema, possono farlo seguendo le istruzioni che condividiamo di seguito.
Dovrebbero sapere che Meson è disponibile su PyPi, quindi può essere installato con il comando:
pip3 install meson
Come nota, dovresti sapere che il comando esatto da digitare per installare pip può variare tra i sistemi, quindi è consigliabile utilizzare la versione Python 3 di pip.