Доступен GNU Autoconf 2.70
После восьми лет с момента публикации версии 2.69 представлен выпуск пакета GNU Autoconf 2.70, в котором поставляется набор M4-макросов для создания скриптов автоконфигурации для сборки приложений в различных Unix-подобных системах (на основе подготовленного шаблона выполняется генерация скрипта «configure»).
В новую версию включены изменения, которые потенциально могут привести к нарушению совместимости с существующими скриптами Autoconf. Перед переходом на Autoconf 2.70 пользователям рекомендуется протестировать свои скрипты на предмет корректности их работы.
Среди изменений:
- Обеспечена совместимость с выпущенными в 2011 году стандартами C и C++.
- Добавлена поддержка повторяемых сборок, результат которых будет одинаковым на разных системах.
- Улучшена поддержка кросс-компиляции.
- Улучшена совместимость с современными версиями компиляторов и вызываемых утилит.
- Повышена эффективность работы генерируемого shell-кода.
- В скрипт configure добавлена опция '--runstatedir' для определения пути к каталогу /run с pid-файлами.
- В autoreconf добавлена поддержка запуска утилит gtkdocize и intltoolize, а также обеспечена обработка макроса AM_GNU_GETTEXT_REQUIRE_VERSION, определяющего минимальную версию gettext.
- В autoheader улучшена поддержка дополнительных файлов конфигурации, в которых теперь не обязательно дублировать шаблоны AC_DEFINE.
- Добавлен макрос AC_C__GENERIC для проверки поддержки ключевого слова _Generic, определённого в спецификации C2011. Реализация макроса AC_C_VARARRAYS приведена в соответствие со спецификацией C2011.
- Добавлен макрос AC_CONFIG_MACRO_DIRS для определения списка каталогов, в которых размещаются локальные макросы M4.
- В макрос AC_USE_SYSTEM_EXTENSIONS добавлена информация о дополнительных системных расширениях, которые включены для HP-UX, macOS и MINIX.
- Добавлен макрос AC_CHECK_INCLUDES_DEFAULT для выполнения проверок, выполняемых при обработке макроса AC_INCLUDES_DEFAULT.
- Объявлены устаревшими макросы AC_PROG_CC_STDC, AC_PROG_CC_C89, AC_PROG_CC_C99, вместо которых следует использовать AC_PROG_CC.
- Изменения, потенциально нарушающие совместимость:
- Обеспечено экранирование аргументов config.log в заголовочном комментарии. Улучшена читаемость вывода «config.status --config».
- В autoreconf прекращена поддержка версий automake и aclocal, выпущенных раньше 1.8.
- Рекомендовано использовать printf вместо echo, макросы AS_ECHO и AS_ECHO_N теперь преобразуются в 'printf »%s\n»' и 'printf %s'. Переведены в разряд устаревших недокументированные переменные $as_echo и $as_echo_n, вместо которых следует использовать макросы AS_ECHO и AS_ECHO_N.
- Многие макросы изменены для раскрытия аргументов только один раз для ускорения выполнения autoconf, что может сказаться на совместимости с некоторыми скриптами, не выполняющими корректных квотинг аргументов.
- Некоторые макросы, такие как AC_PROG_CC, обычно используемые на начальной стадии работы скрипта configure, оптимизированы и больше не вызывают так много вторичных макросов. Изменение позволяет выявить несколько классов ошибок, как правило, вызванных использованием макроса AC_REQUIRE.
- Макросы, принимающие списки аргументов, разделённых пробелом, теперь всегда раскрываются с каждым из перечисленных аргументов. Изменение затрагивает макросы AC_CHECK_FILES, AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE, AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS и AC_REPLACE_FUNCS.
- В макросе AC_PROG_CC при наличии теперь выбирается компилятор с поддержкой C11 (с откатом до C99 и C89, если не найден), а в AC_PROG_CXX — C++11 с откатом до C++98.
Источник: http://www.opennet.ru/opennews/art.shtml? num=54226
© OpenNet