Выпуск системы сборки 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