Rilascio del sistema di compilazione GNU Make 4.4

Dopo quasi tre anni di sviluppo, è stato rilasciato il sistema di compilazione GNU Make 4.4. Oltre a correggere i bug, nella nuova versione si possono notare le seguenti modifiche:

  • Le piattaforme OS/2 (EMX), AmigaOS, Xenix e Cray sono state deprecate e lo saranno in una versione futura.
  • I requisiti per l'ambiente di compilazione sono stati aumentati, per compilare GNU Gnulib è ora necessario un compilatore che supporti gli elementi dello standard C99.
  • È stato aggiunto uno speciale target di build .WAIT che consente di sospendere l'avvio della build di determinati target fino al completamento della build di altri target.
  • Nello speciale build target .NOTPARALLEL, viene implementata la possibilità di specificare i prerequisiti (file necessari per costruire il target) per lanciare in sequenza i target ad essi associati (come se “.WAIT” fosse impostato tra ogni prerequisito).
  • Aggiunta una destinazione di build speciale .NOTINTERMEDIATE che disabilita il comportamento associato all'uso di destinazioni intermedie (.INTERMEDIATE) per i file specificati, i file corrispondenti alla maschera o l'intero makefile.
  • Implementata la funzione $(let ...), che consente di definire variabili locali in funzioni definite dall'utente.
  • Implementata la funzione $(intcmp ...) per confrontare i numeri.
  • Quando si utilizza l'opzione "-l" (--load-average), il numero di lavori da avviare ora tiene conto dei dati del file /proc/loadavg relativi al carico sul sistema.
  • Aggiunta l'opzione "--shuffle" per mescolare i prerequisiti, che consente di ottenere un comportamento non deterministico nelle build parallelizzate (ad esempio, per testare fuzz la correttezza della definizione dei prerequisiti in un makefile).
  • Sui sistemi con supporto mkfifo, viene fornito un nuovo metodo di interazione con il jobserver durante l'esecuzione parallela dei lavori basato sull'uso di named pipe. Per restituire il vecchio metodo basato su pipe senza nome, è stata proposta l'opzione "--jobserver-style=pipe".
  • L'uso di file temporanei nel processo di lavoro è stato ampliato (possono sorgere problemi quando il sistema di compilazione imposta una directory alternativa per i file temporanei (TMPDIR) ed elimina il contenuto di TMPDIR durante la compilazione).

Fonte: opennet.ru

Aggiungi un commento