Meson est un outil logiciel permettant d'automatiser la construction de logiciels. Il est gratuit et open source écrit en Python.
La sortie de la nouvelle version du système de construction Meson 1.0.0 a été annoncée dans une publication , qui comprend de nouvelles fonctionnalités, ainsi qu'une stabilité accrue pour la compilation de projets en Rust, entre autres.
Pour ceux qui ne connaissent pas Meson, il convient de noter que ce système de compilation est utilisé pour compiler des projets bien connus tels que X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME et GTK.
Le principal objectif de développement de Meson est de fournir un processus de compilation à grande vitesse combiné à la commodité et à la facilité d'utilisation. Au lieu de le faire, la construction utilise le Ninja Toolkit par défaut, mais d'autres backends comme xcode et VisualStudio peuvent également être utilisés.
Le système intègre un gestionnaire de dépendances multiplateforme qui permet d'utiliser Meson pour créer des paquets destinés aux distributions. Les règles de compilation sont rédigées dans un langage simplifié et dédié au domaine, ce qui les rend facilement lisibles et compréhensibles pour l'utilisateur (conformément à la vision des auteurs, les développeurs devraient consacrer un minimum de temps à la rédaction des règles).
La compilation croisée est prise en charge , ainsi que la compilation sous Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS et Windows à l'aide de GCC, Clang, Visual Studio et d'autres compilateurs.
Il est possible de compiler des projets dans plusieurs langages de programmation , notamment C, C++, Fortran, Java et Rust. Un mode de compilation incrémentale est pris en charge : seuls les composants directement liés aux modifications apportées depuis la dernière compilation sont reconstruits.
Meson peut être utilisé pour générer des versions reproductibles, où l'exécution de la version dans différents environnements donne des exécutables complètement identiques.
Principales nouveautés de Meson 1.0
Dans cette nouvelle version de Meson 1.0, il est souligné que Le module de construction de projets en langage Rust a été déclaré stable. Ce module est utilisé dans le projet Mesa pour construire des composants écrits en Rust.
Prise en charge par la plupart des fonctions de vérification du compilateur, l'option de préfixe implémente la capacité de gérer des tableaux autres que des chaînes.
Une autre nouveauté notable de cette version est l'introduction des nouveaux opérateurs « in » et « not in » pour déterminer la présence d'une sous-chaîne dans une chaîne, similaire à la vérification précédemment disponible pour la présence d'un élément dans un tableau ou un dictionnaire.
De plus, nous pouvons également constater que l'option « warning-level=everything » a été ajoutée pour activer l'affichage de tous les avertissements du compilateur disponibles (dans clang et MSVC, elle utilise -Weverything et /Wall, et dans GCC, des avertissements séparés sont inclus, qui correspondent plus ou moins au mode -Weverything de clang).
Il convient également de noter qu'un nouvel argument, « --workdir », a été ajouté pour vous permettre de modifier le répertoire de travail . Par exemple, pour utiliser le répertoire courant à la place du répertoire de travail.
La méthode rust.bindgen implémente la capacité de traiter l'argument "dependencies" pour transmettre les chemins vers les dépendances à traiter par le compilateur et la fonction java.generate_native_headers a été dépréciée et renommée java.native_headers pour correspondre au style général de dénomination des fonctions de Meson.
De plus, il est précisé que lors de la compilation croisée, l'environnement de développement configure désormais toutes les variables d'environnement de la machine hôte. Il configure également la variable QEMU_LD_PREFIX et la valeur sys_root du fichier de compilation croisée si cette propriété est définie. Ainsi, les exécutables compilés pour une architecture aarch64 peuvent souvent s'exécuter de manière transparente sur la machine de compilation, par exemple lors d'une compilation croisée pour Linux aarch64 depuis Linux x86_64.
Enfin, si vous souhaitez en savoir plus, vous trouverez les détails en suivant ce lien.
Comment installer Meson sur Linux ?
Pour ceux qui souhaitent pouvoir installer ce système de construction sur leur système, ils peuvent le faire en suivant les instructions que nous partageons ci-dessous.
Ils doivent savoir que Meson est disponible sur PyPi, il peut donc être installé avec la commande :
pip3 install meson
Notez que vous devez savoir que la commande exacte à taper pour installer pip peut varier d'un système à l'autre. Il est donc recommandé d'utiliser la version Python 3 de pip.