Dostępna jest wersja GNU Autoconf 2.69b umożliwiająca testowanie potencjalnie zakłócających zmian w zgodności

Po ośmiu latach od opublikowania wersji 2.69 przedstawione wydanie pakietu GNU Autoconf 2.69b, który udostępnia zestaw makr M4 służących do tworzenia skryptów autokonfiguracyjnych do budowania aplikacji na różnych systemach uniksowych (na podstawie przygotowanego szablonu generowany jest skrypt „configure”). Wydanie jest pozycjonowane jako wersja beta nadchodzącej wersji 2.70.

Znaczące opóźnienie w stosunku do poprzedniej wersji i wstępnej publikacji wersji beta wynika z włączenia zmian w gałęzi 2.70, które mogą potencjalnie przerwać kompatybilność z istniejącymi skryptami Autoconf. Użytkownikom zaleca się przetestowanie swoich skryptów z sugerowaną wersją i notyfikować programistów w przypadku zidentyfikowania problemów.

Wśród zmian:

  • Włączono ucieczkę argumentów config.log w komentarzach nagłówka. Poprawiona czytelność wyjścia „config.status –config”;
  • Do skryptu konfiguracyjnego dodano opcję „--runstatedir”, aby określić ścieżkę do katalogu /run z plikami pid;
  • autoreconf nie obsługuje już wersji automake i aclocal wydanych wcześniej niż 1.8;
  • Zaleca się użycie printf zamiast echo, makra AS_ECHO i AS_ECHO_N są teraz konwertowane do
    „printf „%s\n”” i „printf %s”. Przestarzałe nieudokumentowane zmienne $as_echo i
    $as_echo_n, zamiast którego należy zastosować makra AS_ECHO i AS_ECHO_N;

  • Wiele makr zostało zmienionych tak, aby tylko raz rozwijać argumenty, aby przyspieszyć wykonywanie autokonfiguracji, co może mieć wpływ na kompatybilność z niektórymi skryptami, które nie cytują poprawnie argumentów;
  • Niektóre makra, takie jak AC_PROG_CC, powszechnie używane na początku skryptu konfiguracyjnego, zostały zoptymalizowane i nie wywołują już tak wielu dodatkowych makr. Zmiana identyfikuje kilka klas błędów, zazwyczaj spowodowanych użyciem makra AC_REQUIRE;
  • Makra akceptujące listy argumentów oddzielonych spacjami są teraz zawsze rozwijane wraz z każdym z wymienionych argumentów.
    Zmiana dotyczy makr AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS i AC_REPLACE_FUNCS;

  • Dodano nowe makra AC_C__GENERIC, AC_CONFIG_MACRO_DIRS i AC_CHECK_INCLUDES_DEFAULT;
  • W makrze AC_PROG_CC, jeśli jest dostępny, wybrany jest teraz kompilator z obsługą C11 (z cofnięciem do C99 i C89, jeśli nie znaleziono), a w AC_PROG_CXX - C++11 z wycofaniem do C++ 98. Makra AC_PROG_CC_STDC, AC_PROG_CC_C89 i AC_PROG_CC_C99 zostały uznane za przestarzałe.

Źródło: opennet.ru

Dodaj komentarz