Meson llega a su versión 1.0.0 y estas son sus novedades
Se dio a conocer mediante una publicación el lanzamiento de la nueva versión del sistema de compilación Meson 1.0.0, la cual llega con nuevos argumentos, asi como tambien la estabilidad para compilar proyectos en Rust, entre otras cosas más.
Para quienes desconocen de Meson, deben saber que este sistema de compilación es utilizado para compilar proyectos de renombre tales como X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME y GTK.
El objetivo clave de desarrollo de Meson es proporcionar un proceso de compilación de alta velocidad combinado con comodidad y facilidad de uso. En lugar de hacer, la compilación usa el kit de herramientas Ninja de forma predeterminada, pero también se pueden usar otros backends como xcode y VisualStudio.
El sistema tiene un controlador de dependencia multiplataforma incorporado que le permite usar Meson para crear paquetes para distribuciones. Las reglas de compilación se establecen en un lenguaje específico de dominio simplificado, son bien legibles y comprensibles para el usuario (según la idea de los autores, el desarrollador debe dedicar un mínimo de tiempo a escribir reglas).
Se admite la compilación cruzada y la compilación en Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS y Windows mediante GCC, Clang, Visual Studio y otros compiladores.
Es posible construir proyectos en varios lenguajes de programación, incluidos C, C++, Fortran, Java y Rust. Se admite un modo de compilación incremental, en el que solo se reconstruyen los componentes que están directamente relacionados con los cambios realizados desde la última compilación.
Meson se puede usar para generar compilaciones repetibles, donde ejecutar la compilación en diferentes entornos da como resultado ejecutables completamente idénticos.
Principales novedades de Meson 1.0
En este nuevo lanzamiento de Meson 1.0 se destaca que el módulo para construir proyectos en el lenguaje Rust ha sido declarado estable. Este módulo se usa en el proyecto Mesa para construir componentes escritos en Rust.
Con el respaldo de la mayoría de las funciones de verificación del compilador, la opción de prefijo implementa la capacidad de manejar matrices que no sean cadenas.
Otro de los cambios que se destaca de este lanzamiento, es que se proponen nuevos operadores «in» y «not in» para determinar la aparición de una subcadena en una cadena, similar a la comprobación disponible anteriormente para la aparición de un elemento en una matriz o diccionario.
Ademas de ello, tambien podremos encontrar que se agregó la opción «warning-level=everything» para activar la salida de todas las advertencias del compilador disponibles (en clang y MSVC usa -Weverything y /Wall, y en GCC se incluyen advertencias separadas, que corresponden aproximadamente al modo -Weverything de clang).
Tambien se destaca que se agregó un nuevo argumento «–workdir» para permitirle anular el directorio de trabajo. Por ejemplo, para usar el directorio actual en lugar del directorio de trabajo.
El método rust.bindgen implementa la capacidad de procesar el argumento «dependencias» para pasar rutas a las dependencias que debe procesar el compilador y la función java.generate_native_headers ha quedado obsoleta y se le ha cambiado el nombre a java.native_headers para que coincida con el estilo de nomenclatura de funciones generales de Meson.
Por otra parte, tambien se menciona que ahora al compilar de forma cruzada, el entorno del desarrollador establece todas las variables de entorno para la máquina HOST. Ahora también establece QEMU_LD_PREFIX y el valor sys_root del archivo cruzado si se define la propiedad. Eso significa que los ejecutables compilados de forma cruzada a menudo se pueden ejecutar de forma transparente en la máquina de compilación, por ejemplo, cuando se compila de forma cruzada para aarch64 linux desde x86_64 linux.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar Meson en Linux?
Para quienes estén interesados en poder instalar este sistema de compilación en su sistema, pueden hacerlo siguiendo las instrucciones que compartimos a continuación.
Deben saber que Meson está disponible en PyPi, por lo que se puede instalar con el comando:
pip3 install meson
Como nota, deben saber que el comando exacto a escribir para instalar pip puede variar entre sistemas, por lo que se recomienda que usen la versión Python 3 de pip.