GNU Autoconf 2.69b è disponibile per testare modifiche di compatibilità potenzialmente dannose

Dopo otto anni dalla pubblicazione della versione 2.69 presentata rilascio del pacchetto GNU Autoconf 2.69b, che fornisce una serie di macro M4 per la creazione di script di autoconfigurazione per la creazione di applicazioni su vari sistemi simili a Unix (in base al modello preparato, viene generato lo script "configure"). Il rilascio è posizionato come versione beta della prossima versione 2.70.

Il significativo ritardo rispetto al rilascio precedente e alla pre-pubblicazione della versione beta è dovuto all'inclusione di modifiche nel ramo 2.70 che potrebbero potenzialmente interrompere la compatibilità con gli script Autoconf esistenti. Si consiglia agli utenti di testare i propri script con la versione suggerita e notificare sviluppatori se vengono identificati problemi.

Tra le modifiche:

  • Abilitato l'escape degli argomenti config.log nei commenti dell'intestazione. Migliorata la leggibilità dell'output “config.status –config”;
  • Aggiunta l'opzione '--runstatedir' allo script di configurazione per determinare il percorso della directory /run con i file pid;
  • autoreconf non supporta più le versioni di automake e aclocal rilasciate prima della 1.8;
  • Si consiglia di utilizzare printf invece di echo, le macro AS_ECHO e AS_ECHO_N ora vengono convertite in
    'printf "%s\n"' e 'printf %s'. Deprecate le variabili non documentate $as_echo e
    $as_echo_n, al posto del quale dovrebbero essere utilizzate le macro AS_ECHO e AS_ECHO_N;

  • Molte macro sono state modificate per espandere gli argomenti una sola volta per velocizzare l'esecuzione di autoconf, il che potrebbe influire sulla compatibilità con alcuni script che non citano correttamente gli argomenti;
  • Alcune macro, come AC_PROG_CC, comunemente utilizzate all'inizio dello script di configurazione, sono state ottimizzate e non chiamano più così tante macro secondarie. La modifica identifica diverse classi di errori, tipicamente causati dall'utilizzo della macro AC_REQUIRE;
  • Le macro che accettano elenchi di argomenti separati da spazi ora si espandono sempre con ciascuno degli argomenti elencati.
    La modifica riguarda le macro AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS e AC_REPLACE_FUNCS;

  • Aggiunte nuove macro AC_C__GENERIC, AC_CONFIG_MACRO_DIRS e AC_CHECK_INCLUDES_DEFAULT;
  • Nella macro AC_PROG_CC, se disponibile, è ora selezionato un compilatore con supporto C11 (con un rollback a C99 e C89, se non trovato), e in AC_PROG_CXX - C++11 con un rollback a C++98. Le macro AC_PROG_CC_STDC, AC_PROG_CC_C89 e AC_PROG_CC_C99 sono state deprecate.

Fonte: opennet.ru

Aggiungi un commento