Hi Bruno, On 1 Jun 2010, at 04:36, Bruno Haible wrote: > 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
If so, then you have the arguments reversed in the second case. From the Autoconf manual: Macro: AC_BEFORE (this-macro-name, called-macro-name) Make M4 print a warning message to the standard error output if called-macro-name has already been called. this-macro-name should be the name of the macro that is calling AC_BEFORE. The macro called-macro-name must have been defined using AC_DEFUN or else contain a call to AC_PROVIDE to indicate that it has been called. The idiom I always use to avoid confusing the argument order is this: AC_BEFORE([$0], [warn-if-this-macro-name-was-already-called]) Cheers, -- Gary V. Vaughan (g...@vaughan.pe)