GNU Autoconf 2.69b är tillgänglig för att testa potentiellt brytande ändringar

Efter åtta år sedan version 2.69 publicerades presenteras utgåvan av paketet GNU Autoconf 2.69b, som kommer med en uppsättning M4-makron för att skapa autokonfigurationsskript för att bygga applikationer på olika Unix-liknande system (baserat på den förberedda mallen genereras "konfigurerings"-skriptet). Utgåvan är positionerad som en betaversion av den framtida versionen 2.70.

Det betydande tidsgapet med den tidigare utgåvan och förpubliceringen av betaversionen beror på införandet av ändringar i 2.70-grenen som potentiellt kan bryta kompatibiliteten med befintliga Autoconf-skript. Användare uppmuntras att testa sina skript med den föreslagna versionen och meddela utvecklare vid problem.

Bland ändringarna:

  • Tillhandahöll escape av config.log-argument i rubrikkommentaren. Förbättrad läsbarhet av "config.status --config" utdata;
  • Lade till alternativet '--runstatedir' för att konfigurera skriptet för att specificera sökvägen till /run-katalogen med pid-filer;
  • Autoreconf tog bort stödet för versioner av autofabrike och aclocal före 1.8;
  • Det rekommenderas att använda printf istället för echo, makron AS_ECHO och AS_ECHO_N konverteras nu till
    'printf "%s\n"' och 'printf %s'. De odokumenterade variablerna $as_echo och
    $as_echo_n, som bör ersättas av makron AS_ECHO och AS_ECHO_N;

  • Många makron har ändrats för att expandera argument endast en gång för att påskynda körningen av autoconf, vilket kan påverka kompatibiliteten med vissa skript som inte korrekt citerar argument;
  • Vissa makron, som AC_PROG_CC, som vanligtvis används i början av ett konfigureringsskript, har optimerats för att inte längre anropa så många sekundära makron. Ändringen avslöjar flera klasser av fel, vanligtvis orsakade av användningen av makrot AC_REQUIRE;
  • Makron som tar mellanslagsseparerade listor med argument expanderar nu alltid med vart och ett av de listade argumenten.
    Ändringen påverkar makron AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS och AC_REPLACE_FUNCS;

  • Lade till nya makron AC_C__GENERIC, AC_CONFIG_MACRO_DIRS och AC_CHECK_INCLUDES_DEFAULT;
  • Makrot AC_PROG_CC, om det finns, väljer nu en C11-aktiverad kompilator (faller tillbaka till C99 och C89 om de inte hittas), och AC_PROG_CXX till C++11, faller tillbaka till C++98. Makron AC_PROG_CC_STDC, AC_PROG_CC_C89 och AC_PROG_CC_C99 har föråldrats.

Källa: opennet.ru

Lägg en kommentar