Lanzamiento del sistema de compilación GNU Make 4.4

Después de casi tres años de desarrollo, se lanzó el sistema de compilación GNU Make 4.4. Además de corregir errores, se pueden observar los siguientes cambios en la nueva versión:

  • Las plataformas OS/2 (EMX), AmigaOS, Xenix y Cray han quedado obsoletas y quedarán obsoletas en una versión futura.
  • Se han incrementado los requisitos para el entorno de compilación, para compilar GNU Gnulib ahora necesita un compilador que admita elementos del estándar C99.
  • Se ha agregado un objetivo de compilación .WAIT especial que le permite pausar el lanzamiento de la compilación de ciertos objetivos hasta que se complete la compilación de otros objetivos.
  • En el objetivo de compilación especial .NOTPARALLEL, se implementa la capacidad de especificar requisitos previos (archivos necesarios para crear el objetivo) para lanzar secuencialmente los objetivos asociados con ellos (como si se hubiera establecido ".WAIT" entre cada requisito previo).
  • Se agregó un objetivo de compilación especial .NOTINTERMEDIATE que deshabilita el comportamiento asociado con el uso de objetivos intermedios (.INTERMEDIATE) para archivos específicos, archivos que coinciden con la máscara o todo el archivo MAKE.
  • Implementó la función $(let...), que le permite definir variables locales en funciones definidas por el usuario.
  • Se implementó la función $(intcmp...) para comparar números.
  • Al usar la opción "-l" (--load-average), la cantidad de trabajos que se iniciarán ahora tiene en cuenta los datos del archivo /proc/loadavg sobre la carga en el sistema.
  • Se agregó la opción "--shuffle" para barajar los requisitos previos, lo que permite lograr un comportamiento no determinista en compilaciones paralelizadas (por ejemplo, para probar la precisión de la definición de requisitos previos en un archivo MAKE).
  • En los sistemas compatibles con mkfifo, se proporciona un nuevo método de interacción con el servidor de trabajos para la ejecución paralela de trabajos basados ​​en el uso de canalizaciones con nombre. Para devolver el método antiguo basado en canalizaciones sin nombre, se ha propuesto la opción "--jobserver-style=pipe".
  • Se ha ampliado el uso de archivos temporales en el proceso de trabajo (pueden surgir problemas cuando el sistema de compilación establece un directorio alternativo para archivos temporales (TMPDIR) y elimina el contenido de TMPDIR durante la compilación).

Fuente: opennet.ru

Añadir un comentario