Vrijgave van het GNU Make 4.4 build-systeem

Na bijna drie jaar ontwikkeling werd het GNU Make 4.4-buildsysteem uitgebracht. Naast bugfixes bevat de nieuwe versie de volgende wijzigingen:

  • OS/2 (EMX), AmigaOS, Xenix en Cray-platforms zijn verouderd en zullen in een toekomstige release worden stopgezet.
  • De eisen aan de bouwomgeving zijn verhoogd; om GNU Gnulib te bouwen heb je nu een compiler nodig die elementen uit de C99-standaard ondersteunt.
  • Een speciaal bouwdoel .WAIT toegevoegd, waarmee je de start van het bouwen van bepaalde doelen kunt pauzeren totdat het bouwen van andere doelen is voltooid.
  • In het speciale assemblagedoel .NOTPARALLEL is de mogelijkheid om vereisten (bestanden die nodig zijn om het doel te bouwen) te specificeren geïmplementeerd om de bijbehorende doelen opeenvolgend te starten (alsof “.WAIT” tussen elke vereiste was ingesteld).
  • Een speciaal builddoel .NOTINTERMEDIATE toegevoegd, dat het gedrag uitschakelt dat geassocieerd is met het gebruik van tussendoelen (.INTERMEDIATE) voor gespecificeerde bestanden, bestanden die overeenkomen met een masker, of het volledige makefile.
  • De functie $(let...) is geïmplementeerd, waardoor u lokale variabelen in door de gebruiker gedefinieerde functies kunt definiëren.
  • Geïmplementeerde functie $(intcmp ...) voor het vergelijken van getallen.
  • Wanneer u de optie "-l" (--load-average) gebruikt, wordt er nu rekening gehouden met de systeemlaadgegevens uit het bestand /proc/loadavg bij het bepalen van het aantal uit te voeren taken.
  • De optie “--shuffle” toegevoegd voor het in willekeurige volgorde afspelen van vereisten, waarmee u niet-deterministisch gedrag kunt bereiken tijdens parallelle montage (bijvoorbeeld voor het fuzzing-testen van de juistheid van het definiëren van vereisten in een makefile).
  • Op systemen met mkfifo-ondersteuning wordt voorzien in het gebruik van een nieuwe methode van interactie met de jobserver tijdens parallelle uitvoering van werkzaamheden, gebaseerd op het gebruik van Named Pipes. Om de oude methode op basis van naamloze pipelines terug te geven, is de optie “-jobserver-style=pipe” voorgesteld.
  • Het gebruik van tijdelijke bestanden tijdens de werking is uitgebreid (er kunnen problemen optreden wanneer het assemblagesysteem een ​​alternatieve map voor tijdelijke bestanden (TMPDIR) instelt en de inhoud van TMPDIR tijdens de assemblage verwijdert).

Bron: opennet.ru

Voeg een reactie