GNU Autoconf 2.69b er tilgjengelig for å teste potensielt ødeleggende kompatibilitetsendringer

Etter åtte år siden versjon 2.69 ble publisert presentert utgivelse av GNU Autoconf 2.69b-pakken, som gir et sett med M4-makroer for å lage autokonfigurasjonsskript for å bygge applikasjoner på forskjellige Unix-lignende systemer (basert på den forberedte malen genereres "configure"-skriptet). Utgivelsen er posisjonert som en betaversjon av den kommende versjonen 2.70.

Den betydelige tidsforsinkelsen fra forrige utgivelse og forhåndspublisering av betaversjonen skyldes inkludering av endringer i 2.70-grenen som potensielt kan bryte kompatibiliteten med eksisterende Autoconf-skript. Brukere anbefales å teste skriptene sine med den foreslåtte utgivelsen og gi beskjed utviklere hvis problemer blir identifisert.

Blant endringene:

  • Aktivert escape av config.log-argumenter i topptekstkommentarer. Forbedret lesbarhet av "config.status -config"-utdata;
  • Alternativet '--runstatedir' er lagt til i konfigureringsskriptet for å bestemme banen til /run-katalogen med pid-filer;
  • autoreconf støtter ikke lenger versjoner av automake og aclocal utgitt tidligere enn 1.8;
  • Det anbefales å bruke printf i stedet for ekko, makroene AS_ECHO og AS_ECHO_N er nå konvertert til
    'printf "%s\n"' og 'printf %s'. Avviklet de udokumenterte variablene $as_echo og
    $as_echo_n, i stedet for hvilke makroene AS_ECHO og AS_ECHO_N skal brukes;

  • Mange makroer har blitt endret til å utvide argumenter bare én gang for å øke hastigheten på kjøring av autoconf, noe som kan påvirke kompatibiliteten med enkelte skript som ikke siterer argumenter riktig;
  • Noen makroer, for eksempel AC_PROG_CC, som vanligvis brukes tidlig i konfigureringsskriptet, har blitt optimalisert og kaller ikke lenger like mange sekundære makroer. Endringen identifiserer flere klasser av feil, vanligvis forårsaket av bruken av AC_REQUIRE-makroen;
  • Makroer som godtar mellomromseparerte lister med argumenter utvides nå alltid med hvert av argumentene som er oppført.
    Endringen påvirker makroene 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;

  • Lagt til nye makroer AC_C__GENERIC, AC_CONFIG_MACRO_DIRS og AC_CHECK_INCLUDES_DEFAULT;
  • I AC_PROG_CC-makroen, hvis tilgjengelig, velges nå en kompilator med C11-støtte (med tilbakeføring til C99 og C89, hvis ikke funnet), og i AC_PROG_CXX - C++11 med tilbakeføring til C++98. Makroene AC_PROG_CC_STDC, AC_PROG_CC_C89 og AC_PROG_CC_C99 er avviklet.

Kilde: opennet.ru

Legg til en kommentar