GNU Autoconf 2.69b er tilgængelig til at teste potentielt brydende kompatibilitetsændringer

Efter otte år siden version 2.69 blev offentliggjort præsenteret udgivelse af GNU Autoconf 2.69b-pakken, som giver et sæt M4-makroer til oprettelse af autokonfigurationsscripts til opbygning af applikationer på forskellige Unix-lignende systemer (baseret på den forberedte skabelon genereres "configure"-scriptet). Udgivelsen er placeret som en betaversion af den kommende version 2.70.

Den betydelige tidsforskydning fra den tidligere udgivelse og præ-udgivelsen af ​​betaversionen skyldes medtagelsen af ​​ændringer i 2.70-grenen, der potentielt kan bryde kompatibiliteten med eksisterende Autoconf-scripts. Brugere rådes til at teste deres scripts med den foreslåede udgivelse og underrette udviklere, hvis der opdages problemer.

Blandt ændringerne:

  • Aktiveret escape af config.log-argumenter i header-kommentarer. Forbedret læsbarhed af "config.status -config" output;
  • Tilføjede muligheden '--runstatedir' til konfigurationsscriptet for at bestemme stien til /run-mappen med pid-filer;
  • autoreconf understøtter ikke længere versioner af automake og aclocal udgivet tidligere end 1.8;
  • Det anbefales at bruge printf i stedet for ekko, makroerne AS_ECHO og AS_ECHO_N er nu konverteret til
    'printf "%s\n"' og 'printf %s'. Udfasede de udokumenterede variabler $as_echo og
    $as_echo_n, i stedet for hvilken makroerne AS_ECHO og AS_ECHO_N skal bruges;

  • Mange makroer er blevet ændret til kun at udvide argumenter én gang for at fremskynde udførelse af autoconf, hvilket kan påvirke kompatibiliteten med nogle scripts, der ikke citerer argumenter korrekt;
  • Nogle makroer, såsom AC_PROG_CC, der almindeligvis bruges tidligt i konfigurationsscriptet, er blevet optimeret og kalder ikke længere så mange sekundære makroer. Ændringen identificerer flere klasser af fejl, typisk forårsaget af brugen af ​​AC_REQUIRE-makroen;
  • Makroer, der accepterer mellemrumsadskilte lister med argumenter, udvides nu altid med hvert af de angivne argumenter.
    Ændringen påvirker makroerne AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS og AC_REPLACE_FUNCS;

  • Tilføjet nye makroer AC_C__GENERIC, AC_CONFIG_MACRO_DIRS og AC_CHECK_INCLUDES_DEFAULT;
  • I AC_PROG_CC-makroen, hvis den er tilgængelig, vælges nu en compiler med C11-understøttelse (med en tilbagerulning til C99 og C89, hvis den ikke findes), og i AC_PROG_CXX - C++11 med en rollback til C++98. Makroerne AC_PROG_CC_STDC, AC_PROG_CC_C89 og AC_PROG_CC_C99 er blevet forældet.

Kilde: opennet.ru

Tilføj en kommentar