Доступний GNU Autoconf 2.69b для тестування змін, що потенційно порушують сумісність

Після восьми років після публікації версії 2.69 представлений випуск пакету GNU Autoconf 2.69b, в якому поставляється набір M4-макросу для створення скриптів автоконфігурації для складання додатків у різних Unix-подібних системах (на основі підготовленого шаблону виконується генерація скрипта «configure»). Випуск позиціонується як бета версія майбутньої версії 2.70.

Значний розрив у часі з минулим випуском і попередня публікація бета-версії пояснюється включенням у гілку 2.70 змін, які можуть призвести до порушення сумісності з існуючими скриптами Autoconf. Користувачам рекомендується протестувати свої скрипти із запропонованим випуском та повідомити розробників у разі виявлення проблем.

Серед змін:

  • Забезпечено екранування аргументів config.log у заголовному коментарі. Поліпшено читання виводу «config.status -config»;
  • У скрипт configure додано опцію '-runstatedir' для визначення шляху до каталогу /run з pid-файлами;
  • У 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_C__GENERIC, AC_CONFIG_MACRO_DIRS та AC_CHECK_INCLUDES_DEFAULT;
  • У макросі AC_PROG_CC за наявності тепер вибирається компілятор із підтримкою C11 (з відкатом до C99 і C89, якщо знайдено), а AC_PROG_CXX — C++11 з відкатом до C++98. Макроси AC_PROG_CC_STDC, AC_PROG_CC_C89 та AC_PROG_CC_C99 оголошені застарілими.

Джерело: opennet.ru

Додати коментар або відгук