Work in progress, because I still have to review patches 2 and 3 from Paolo's v2. (Patch 3 can probably be used as-is; patch 2 will probably necessitate the same changes to CHECK_DECLS_ONCE for honoring AC_LANG and reworking the shell list variable to hold tuples as I do here for CHECK_FUNCS_ONCE).
The end result is the same number of processes shaved as in Paolo's v2 patch 1/3, but now the code is no longer subject to subtle semantic differences (the ONCE functions are still checked in the same sequence in relation to the rest of configure as before), and the configure script does not grow quite as large (on coreutils, Paolo's cost about 17k, my approach cost about 2k). Eric Blake (3): AC_CHECK_FUNCS_ONCE: honor current AC_LANG AC_CHECK_FUNCS_ONCE: hoist CPP name computation to m4 time AC_CHECK_FUNCS_ONCE: hoist cache name computation to m4 time Paolo Bonzini (1): autoconf: prefer an unrolled loop for trivial AC_CHECK_FUNCS NEWS | 4 ++++ lib/autoconf/functions.m4 | 60 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 47 insertions(+), 17 deletions(-) -- 2.7.4