Hi, Here is a case where AC_BEFORE does not warn when it should.
How to reproduce (with autoconf 2.65): $ wget http://www.haible.de/bruno/gnu/autoconf-bug-20100601.tar.gz $ tar xvfz autoconf-bug-20100601.tar.gz $ cd autoconf-bug-20100601 $ autoconf No warning. Now look at the definition of gl_LIBUNISTRING (in file m4/libunistring.m4): It starts with AC_BEFORE([gl_LIBUNISTRING], [gl_LIBUNISTRING_LIB_PREPARE]) # XXX gl_LIBUNISTRING starts here And the definition of gl_LIBUNISTRING_LIB_PREPARE (in file m4/libunistring-base.m4): It starts with AC_BEFORE([gl_LIBUNISTRING], [gl_LIBUNISTRING_LIB_PREPARE]) # XXX gl_LIBUNISTRING_LIB_PREPARE starts here Both macros are defined with AC_DEFUN. Neither one requires nor invokes any other macro. In the final configure file, the "before" constraint is violated: $ grep -n 'starts here' configure 12110: # XXX gl_LIBUNISTRING_LIB_PREPARE starts here 14551: # XXX gl_LIBUNISTRING starts here Yet autoconf has not warned. Why?? Bruno