-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Allan Caffee on 3/30/2009 8:12 AM: >>>> My invocation of AC_EGREP_CPP looks like this: >>>> >>>> AC_EGREP_CPP([HAVE_GL_GLU_H], [AC_LANG_PROGRAM([[foo]], [[bar]])], >>>> [OPENVRML_HAVE_GL_GLU_H=1], >>>> [OPENVRML_HAVE_GL_GLU_H=0]) >>> In isolation, I don't see any quoting problems with this example. But I'm >>> almost certain you didn't copy and paste from your configure.ac, so maybe >>> in the rewrite for this email, you changed the quoting? > > AC_EGREP_CPP([HAVE_GL_GLU_H], AC_LANG_PROGRAM([[foo]], [[bar]]), > [OPENVRML_HAVE_GL_GLU_H=1], > [OPENVRML_HAVE_GL_GLU_H=0]) > > I'm no Autoconf expert but isn't the way it was presented before > overquoted? IIRC one layer of quoting is removed for each macro > expansion. Doesn't this mean that quoting AC_LANG_PROGRAM would cause > it to be passed to AC_EGREP_CPP literally? Perhaps I'm > misunderstanding. Ouch. AC_EGREP_CPP double-quotes its arguments, putting it in the same category as other macros like AC_TRY_COMPILE which have been marked obsolete because double-quoting is a bad default. AC_PREPROC_IFELSE has saner semantics, but the source code reveals that indeed, you have to underquote your second argument to AC_EGREP_CPP since AC_EGREP_CPP overquotes it under the hood. I'm not sure what to do about this besides improving the documentation, marking AC_EGREP_CPP as obsolete, and providing a better replacement that doesn't need quite as much effort as AC_PREPROC_IFELSE to make grepping preprocessor output easy. - -- Don't work too hard, make some time for fun as well! Eric Blake ebb9@xxxxxxx -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAknQ/I0ACgkQ84KuGfSFAYAJkgCgglH1r/2+kE/mI/r8YiOHL5a7 5EEAoLkrM5m5+xIcpkDRMWTRUtIKIC9m =ZRr/ -----END PGP SIGNATURE----- _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf