Meson 1.4 ya fue liberado y estas son sus novedades
Se dio a conocer hace poco el lanzamiento de la nueva versión del sistema de compilación Meson 1.4, versión que llega con mejoras de soporte para ciertas funciones del módulo FS, a´si como también con mejoras de compatibilidad, nuevas funcione y más.
Para quienes desconocen de Meson, deben saber que este es un sistema de compilación utilizado por proyectos destacados como X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME y GTK. Su objetivo principal es proporcionar un proceso de compilación rápido y fácil de usar. Utiliza el kit de herramientas Ninja de forma predeterminada pero también es compatible con otros backends como xcode y VisualStudio.
Este sistema cuenta con un controlador de dependencias multiplataforma integrado que facilita la creación de paquetes para distribuciones. Las reglas de compilación se definen en un lenguaje específico y legible, lo que minimiza el tiempo necesario para escribirlas.
Meson ermite la construcción de proyectos en varios lenguajes como C, C++, Fortran, Java y Rust, y ofrece un modo de compilación incremental que reconstruye solo los componentes afectados por los cambios desde la última compilación. Además, Meson puede generar compilaciones repetibles, lo que garantiza que la ejecución de la compilación en diferentes entornos produzca ejecutables completamente idénticos.
Principales novedades de Meson 1.4
En esta nueva versión que se presenta de Meson 1.4 se destaca el soporte añadido para el módulo FS, el cual ahora admite objetos de destino de compilación build_tgt y custom_tgt, así como un índice de destino de compilación (custom_idx) en las funciones fs.name, fs.parent, fs.replace_suffix y fs.stem.
Otro de los cambios que se destaca de esta nueva versión, es que ahora Meson cuenta con la capacidad de leer la versión del proyecto desde subproyectos basados en CMake. Esto permite que las restricciones de versión se verifiquen correctamente al recurrir a un subproyecto de cmake
Además de ello, ahora en las funciones compile_ui, compile_moc y preprocesamiento de los módulos qt4, qt5 y qt6, se agregó el argumento preserve_paths para seleccionar la opción para construir la estructura de directorios para los archivos que se están escribiendo.
También se destaca que se agregó compatibilidad con Clang a stldebug cuando debugstl está habilitado, se introdujo el método unset() al objeto env y se añadió el método full_path() al objeto Archivo para obtener la ruta completa al archivo.
Se agregó soporte para la herramienta numpy-config y el soporte para pkg-config como nuevas dependencias personalizadas. Esto está disponible a partir de NumPy 2.0.0. La compatibilidad con numpy-config funcionará automáticamente una vez que NumPy esté instalado. Por otro lado, el archivo pkg-config se encuentra dentro de los paquetes del sitio de Python, lo que significa que no se puede usar de inmediato sin configurar PKG_CONFIG_PATH.
De los demás cambios que se destacan de esta nueva version:
- Capacidad de controlar las comprobaciones de afirmación (GLIBCXX_ASSERTIONS) en C++ stdlib a través de la configuración ndebug.
- Se agregó preserve_pathsun argumento de palabra clave a las funciones del módulo qt
- Ahora es posible especificar los objetivos dependientes con depends: for compiler.preprocess(). Estos objetivos deben construirse antes de que comience el preprocesamiento.
- El generador de enlaces bindgen ahora admite heurísticas Meson para determinar archivos de encabezado C++.
- Se añadió la capacidad de anular la configuración de idioma para bindgen.
- Las pruebas ahora fallan de forma predeterminada después de encontrar errores al ejecutar desinfectantes como MemorySanitizer.
- Se agregó soporte para el compilador Texas Instruments C/C++ para la familia de CPU C6000.
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.