Meson 1.1.0 llega con nuevas características y una gran cantidad de mejoras
Se dio a conocer el lanzamiento de la nueva versión del sistema de compilación Meson 1.1.0, que se utiliza para compilar diversos proyectos populares, tales como X.Org, Mesa, systemd, Wayland, GNOME, entre otros.
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 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 compilacion 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 una gran cantidad de sistemas y otros compiladores. Es posible construir proyectos en varios lenguajes de programación, incluidos C, C++, Fortran, Java y Rust.
Cabe destacar que 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 la generación de ejecutables completamente idénticos.
Principales novedades de Meson 1.1
En esta nueva versión que se presenta de Meson 1.1 la ejecución de «sudo meson install» garantiza el restablecimiento de privilegios durante la reconstrucción para las plataformas de destino.
Otro de los cambios que se destaca, es que el comando «meson install» ofrece la posibilidad de especificar un controlador independiente para obtener permisos de root (por ejemplo, puede seleccionar polkit, sudo, opendoas o $MESON_ROOT_CMD), ademas de que ejecutar «meson install» en modo no interactivo ya no intenta elevar los privilegios.
Ademas de ello, tambien se destaca que se agregó un nuevo backend «none» (–backend=none) para crear proyectos que solo tienen reglas de instalación y no reglas de compilación, asi como tambien que se agregó una nueva dependencia pybind11 para hacer que la dependencia (‘pybind11’) funcione con pkg-config y cmake sin usar el script pybind11-config.
De los cambios más importantes que se destacan de este nuevo lanzamiento, se encuentran los siguientes:
- Se ha agregado un nuevo argumento «objects:» a declare_dependency() para adjuntar objetos directamente a los ejecutables como dependencias internas que no requieren link_who.
- Redirección proporcionada a stderr de la salida de información sobre el progreso de la introspección.
- Se agregó una opción al comando «meson devenv –dump» para especificar un archivo para escribir variables de entorno, en lugar de enviarlo a la salida estándar.
- Se agregaron los métodos FeatureOption.enable_if y FeatureOption.disable_if para facilitar la creación de condicionales en preparación para pasar parámetros a la función dependency(), opt = get_option(‘feature’).disable_if(not foo, error_message: ‘No se puede habilitar la función cuando foo no está habilitado’)
dep = dependencia(‘foo’, requerido : opt) - Se permite pasar objetos generados como argumentos «objects:».
- La función de proyecto admite la instalación de archivos con información sobre licencias de proyectos.
- Se agregó soporte para leer opciones del archivo meson.options en lugar de meson_options.txt.
- Las opciones «–reconfigure» y «–wipe» (meson setup –reconfigure builddir y meson setup –wipe builddir) están permitidas con un builddir vacío.
- Meson.add_install_script() agregó compatibilidad con la palabra clave dry_run, que le permite ejecutar sus propios scripts de instalación al llamar a «meson install –dry-run«.
Finalmente, cabe mencionar que el código de Meson está escrito en Python y tiene la licencia Apache 2.0. Si estas interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar Meson en Linux?
Para los interesados en poder obtener Meson, deben saber que está disponible en PyPi , por lo que se puede instalar con pip3 install meson.
Cabe mencionar que el comando exacto a escribir para instalar pip puede variar entre sistemas, asegúrese de usar la versión Python 3 de pip.
Aunque si lo desean, pueden instalarlo localmente con el comando estándar de Python:
python3 -m pip install meson