Hi, In GNU Octave, we are embracing a lot of C++11, and so we are using the gnulib std-gnu11.m4 drop-in to ensure that the compiler conforms to the latest standards. I think several other GNU projects also use this file.
The std-gnu11.m4 file defines AC_PROG_CC and AC_PROG_CXX replacements, which I think are backported from Autoconf git. In a trivial project, for example AC_INIT([test], [0]) AM_INIT_AUTOMAKE([1.14 foreign]) AC_PROG_CC AC_CONFIG_FILES([Makefile]) AC_OUTPUT the AM_PROG_CC_C_O feature test is automatically called, as expected and described in the Automake 1.14 NEWS. With std-gnu11.m4 added to this project, however, the AM_PROG_CC_C_O macro is no longer called, either automatically or manually. The intention of Automake to ensure that this test is always done is defeated simply by including this file. If a call to the real macro _AM_PROG_CC_C_O is added after AC_PROG_CC, then the feature test is restored. I know enough m4 to get by, but I suspect this has to do with the order of inclusion, and that Automake redefines AC_PROG_CC to call its own _AM_PROG_CC_C_O, which is later clobbered by the inclusion of std-gnu11.m4. Is there anything Automake can do to ensure that AM_PROG_CC_C_O is called even if AC_PROG_CC is redefined locally? Even if you judge this not to be an Automake bug, I wanted to bring this to your attention, since the std-gnu11.m4 file is the recommended way to rely on modern language standards support at the moment. Thanks, -- mike
signature.asc
Description: PGP signature