Выпуск системы сборки GNU Make 4.4

После почти трёх лет разработки состоялся релиз системы сборки GNU Make 4.4. Кроме исправления ошибок, в новой версии можно отметить следующие изменения:

  • Объявлены устаревшими платформы OS/2 (EMX), AmigaOS, Xenix и Cray, поддержка которых будет прекращена в следующем выпуске.

  • Повышены требования к сборочному окружению, для сборки GNU Gnulib теперь необходим компилятор, поддерживающий элементы из стандарта C99.

  • Добавлена специальная сборочная цель .WAIT, позволяющая приостановить запуск сборки определённых целей до того как будет завершена сборка других целей.

  • В специальной сборочной цели .NOTPARALLEL реализована возможность указания пререквизитов (файлов, необходимых для сборки цели) для последовательного запуска связанных с ними целей (как если бы между каждым пререквизитом был выставлен ».WAIT»).

  • Добавлена специальная сборочная цель .NOTINTERMEDIATE, отключающая поведение, связанное с использованием промежуточных целей (.INTERMEDIATE), для указанных файлов, файлов подпадающих под маску или всего makefile.

  • Реализована функция $(let …), позволяющая определять локальные переменные в пользовательских функциях.

  • Реализована функция $(intcmp …) для сравнения чисел.

  • При использовании опции »-l» (--load-average) при определении числа запускаемых работ теперь учитываются данные из файла /proc/loadavg о нагрузке на систему.
  • Добавлен опция »--shuffle» для перемешивания пререквизитов, что позволяет добиться недетерминированного поведения при распараллеленной сборке (например, для fuzzing тестирования корректности определения пререквизитов в makefile).

  • На системах с поддержкой mkfifo обеспечено использование нового метода взаимодействия с jobserver при параллельном выполнении работ, основанного на использовании именованных каналов. Для возвращения старого метода на основе неименованных каналов преложена опция »--jobserver-style=pipe».

  • Расширено применение временных файлов в процессе работы (могут возникнуть проблемы при выставлении сборочной системой альтернативного каталога для временных файлов (TMPDIR) и удаления содержимого TMPDIR во время сборки).



Источник: http://www.opennet.ru/opennews/art.shtml? num=58014

© OpenNet