i believe a recent autoconf update triggered a bug in m4 while processing 
crappy m4 code.  the project in question is "rezound":
http://rezound.sf.net/ (version 0.12.3_beta to be exact)

the reduced test case is:
$ cat configure.ac
AC_INIT
ajv_CXX_FLAG(-g)
AC_OUTPUT
$ cat aclocal.m4
AC_DEFUN(ajv_CXX_FLAG,
        [AC_MSG_CHECKING(if $CXX accepts $1 )]
        AC_MSG_RESULT(yes)
)
$ autoconf
<hang here in m4>

the issue seems to be that the 2nd argument to AC_DEFUN is being expanded 
incorrectly due to the [] not enclosing everything.  it only occurs if a macro 
is also used outside of the [] (so plain shell code doesnt trigger the issue).  
if the code is changed as below, then it works fine:
AC_DEFUN(ajv_CXX_FLAG,
        [AC_MSG_CHECKING(if $CXX accepts $1 )
        AC_MSG_RESULT(yes)]
)

looking at the m4 temp file in /tmp/m4-.../m4-10000 shows that AC_MSG_CHECKING 
seems to be expanded over and over until the process is killed.

m4 1.4.1{2,3,4} all behave the same way.  testing with autoconf-2.65 here.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to