GNU Autoconf 2.69b is beschikbaar om potentieel brekende compatibiliteitswijzigingen te testen

Acht jaar nadat versie 2.69 werd gepubliceerd ingediend release van het GNU Autoconf 2.69b-pakket, dat een set M4-macro's biedt voor het maken van autoconfiguratiescripts voor het bouwen van applicaties op verschillende Unix-achtige systemen (op basis van de voorbereide sjabloon wordt het "configure" -script gegenereerd). De release is gepositioneerd als een bètaversie van de komende versie 2.70.

De aanzienlijke vertraging ten opzichte van de vorige release en de pre-publicatie van de bètaversie is te wijten aan het opnemen van wijzigingen in de 2.70-tak die mogelijk de compatibiliteit met bestaande Autoconf-scripts zouden kunnen verbreken. Gebruikers wordt geadviseerd hun scripts te testen met de voorgestelde release en op de hoogte stellen ontwikkelaars als er problemen worden vastgesteld.

Onder de veranderingen:

  • Ontsnappen van config.log-argumenten in headercommentaar ingeschakeld. Verbeterde leesbaarheid van de uitvoer “config.status –config”;
  • De optie '--runstatedir' toegevoegd aan het configuratiescript om het pad naar de map /run met pid-bestanden te bepalen;
  • autoreconf ondersteunt niet langer versies van automake en aclocal die eerder zijn uitgebracht dan 1.8;
  • Het wordt aanbevolen om printf te gebruiken in plaats van echo, de macro's AS_ECHO en AS_ECHO_N zijn nu geconverteerd naar
    'printf "%s\n"' en 'printf %s'. De ongedocumenteerde variabelen $as_echo en
    $as_echo_n, in plaats daarvan moeten de macro's AS_ECHO en AS_ECHO_N worden gebruikt;

  • Veel macro's zijn gewijzigd om argumenten slechts één keer uit te breiden om de uitvoering van autoconf te versnellen, wat de compatibiliteit kan beïnvloeden met sommige scripts die argumenten niet correct citeren;
  • Sommige macro's, zoals AC_PROG_CC, die vaak vroeg in het configuratiescript worden gebruikt, zijn geoptimaliseerd en roepen niet langer zoveel secundaire macro's aan. De wijziging identificeert verschillende soorten fouten, die doorgaans worden veroorzaakt door het gebruik van de macro AC_REQUIRE;
  • Macro's die door spaties gescheiden lijsten met argumenten accepteren, worden nu altijd uitgebreid met elk van de genoemde argumenten.
    De wijziging heeft invloed op de macro's AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS en AC_REPLACE_FUNCS;

  • Nieuwe macro's AC_C__GENERIC, AC_CONFIG_MACRO_DIRS en AC_CHECK_INCLUDES_DEFAULT toegevoegd;
  • In de macro AC_PROG_CC is, indien beschikbaar, nu een compiler met C11-ondersteuning geselecteerd (met een rollback naar C99 en C89, indien niet gevonden), en in AC_PROG_CXX - C++11 met een rollback naar C++98. De macro's AC_PROG_CC_STDC, AC_PROG_CC_C89 en AC_PROG_CC_C99 zijn verouderd.

Bron: opennet.ru

Voeg een reactie