Meson és una eina de programari per automatitzar la construcció de programari. És gratuït i de codi obert escrit a Python.
Es va donar a conèixer mitjançant una publicació el llançament de la nova versió del sistema de compilació Meson 1.0.0 , la qual arriba amb nous arguments, així com també l'estabilitat per compilar projectes a Rust, entre altres coses més.
Per als que desconeixen de Meson, han de saber que aquest sistema de compilació és utilitzat per compilar projectes de renom com X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME i GTK.
L'objectiu clau de desenvolupament de Meson és proporcionar un procés de compilació d'alta velocitat combinat amb la comoditat i la facilitat d'ús. En comptes de fer, la compilació utilitza el kit d'eines Ninja per defecte, però també es poden utilitzar altres backends com xcode i VisualStudio.
El sistema té un controlador de dependència multiplataforma incorporat que us permet utilitzar Meson per crear paquets per a distribucions. Les regles de compilació sestableixen en un llenguatge específic de domini simplificat, són ben llegibles i comprensibles per a lusuari (segons la idea dels autors, el desenvolupador ha de dedicar un mínim de temps a escriure regles).
S'admet la compilació creuada i la compilació a Linux, Illums/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS i Windows mitjançant GCC, Clang, Visual Studio i altres compiladors.
És possible construir projectes en diversos llenguatges de programació , inclosos C, C++, Fortran, Java i Rust. S'admet un mode de compilació incremental, on només es reconstrueixen els components que estan directament relacionats amb els canvis realitzats des de l'última compilació.
Meson es pot fer servir per generar compilacions repetibles, on executar la compilació en diferents entorns dóna com a resultat executables completament idèntics.
Principals novetats de Meson 1.0
En aquest nou llançament de Meson 1.0 es destaca que el mòdul per construir projectes en el llenguatge Rust ha estat declarat estable. Aquest mòdul es fa servir en el projecte Taula per construir components escrits a Rust.
Amb el suport de la majoria de funcions de verificació del compilador, l'opció de prefix implementa la capacitat de manejar matrius que no siguin cadenes.
Un altre dels canvis que es destaca d'aquest llançament és que es proposen nous operadors in i not in per determinar l'aparició d'una subcadena en una cadena, semblant a la comprovació disponible anteriorment per a l'aparició d'un element en una matriu o diccionari.
A més d'això, també podrem trobar que es va afegir l'opció « warning-level=everything» per activar la sortida de totes les advertències del compilador disponibles (en clang i MSVC utilitza -Weverything i /Wall, i en GCC s'inclouen advertiments separats, que corresponen aproximadament al mode -Weverything de cla.
També es destaca que es va afegir un nou argument “–workdir” per permetre anul·lar el directori de treball . Per exemple, per utilitzar el directori actual en lloc del directori de treball.
El mètode rust.bindgen implementa la capacitat de processar l'argument «dependències» per passar rutes a les dependències que ha de processar el compilador i la funció java.generate_native_headers ha quedat obsoleta i se li ha canviat el nom a java.native_headers perquè coincideixi amb l'estil de nomenclatura de funcions generals de Meson.
D'altra banda, també s'esmenta que ara en compilar de manera creuada, l'entorn del desenvolupador estableix totes les variables d'entorn per a la màquina HOST. Ara també estableix QEMU_LD_PREFIX i el valor sys_root del fitxer creuat si es defineix la propietat. Això significa que els executables compilats de forma creuada sovint es poden executar de forma transparent a la màquina de compilació, per exemple, quan es compila de forma creuada per aarch64 linux des de x86_64 linux.
Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.
Com instal·lar Meson a Linux?
Per als qui estiguin interessats en poder instal·lar aquest sistema de compilació al vostre sistema, poden fer-ho seguint les instruccions que compartim a continuació.
Heu de saber que Meson està disponible a PyPi, per la qual cosa es pot instal·lar amb l'ordre:
pip3 install meson
Com a nota, heu de saber que l'ordre exacta a escriure per instal·lar pip pot variar entre sistemes, per la qual cosa es recomana que usin la versió Python 3 de pip.