Sortie du système de compilation GNU Make 4.4

Après presque trois ans de développement, le système de construction GNU Make 4.4 est sorti. Outre la correction de bogues, les modifications suivantes peuvent être notées dans la nouvelle version :

  • Les plates-formes OS/2 (EMX), AmigaOS, Xenix et Cray sont obsolètes et le seront dans une prochaine version.
  • Les exigences pour l'environnement de construction ont été augmentées, pour construire GNU Gnulib, vous avez maintenant besoin d'un compilateur qui prend en charge les éléments de la norme C99.
  • Une cible de construction spéciale .WAIT a été ajoutée qui vous permet de suspendre le lancement de la construction de certaines cibles jusqu'à ce que la construction d'autres cibles soit terminée.
  • Dans la cible de construction spéciale .NOTPARALLEL, la possibilité de spécifier des prérequis (fichiers nécessaires à la construction de la cible) est implémentée pour lancer séquentiellement les cibles qui leur sont associées (comme si ".WAIT" était défini entre chaque prérequis).
  • Ajout d'une cible de construction spéciale .NOTINTERMEDIATE qui désactive le comportement associé à l'utilisation de cibles intermédiaires (.INTERMEDIATE) pour les fichiers spécifiés, les fichiers correspondant au masque ou l'intégralité du makefile.
  • Implémentation de la fonction $(let ...), qui vous permet de définir des variables locales dans des fonctions définies par l'utilisateur.
  • Implémentation de la fonction $(intcmp ...) pour comparer des nombres.
  • Lors de l'utilisation de l'option "-l" (--load-average), le nombre de jobs à démarrer prend désormais en compte les données du fichier /proc/loadavg concernant la charge sur le système.
  • Ajout de l'option "--shuffle" pour mélanger les prérequis, ce qui permet d'obtenir un comportement non déterministe dans les versions parallélisées (par exemple, pour tester l'exactitude de la définition des prérequis dans un makefile).
  • Sur les systèmes prenant en charge mkfifo, une nouvelle méthode d'interaction avec le jobserver lors de l'exécution parallèle de travaux basée sur l'utilisation de canaux nommés est fournie. Pour retourner l'ancienne méthode basée sur des pipes sans nom, l'option "--jobserver-style=pipe" est proposée.
  • L'utilisation de fichiers temporaires dans le processus de travail a été étendue (des problèmes peuvent survenir lorsque le système de construction définit un répertoire alternatif pour les fichiers temporaires (TMPDIR) et supprime le contenu de TMPDIR pendant la construction).

Source: opennet.ru

Ajouter un commentaire