On Sat, May 19, 2001 at 12:19:39PM +0000, Christian Weisgerber wrote:> Christian Weisgerber <naddy@mips.inka.de> wrote: > > > Problems in FLAC 0.9: > > Also: > > ===> Building for flac-0.9 > cd . && aclocal > aclocal: configure.in: 7: macro `AM_PROG_LIBTOOL' not found in library > aclocal: configure.in: 22: macro `AM_PATH_XMMS' not found in library > gmake: *** [aclocal.m4] Error 1 > > That is, if I touch configure.in I must have libtool and XMMS > installed. This doesn't seem right. Should AM_PROG_LIBTOOL and > AM_PATH_XMMS be shipped in acinclude.m4?These macros are supplied by aclocal.m4, which is automatically generated by aclocal(1) from automake. If you modify configure.in, automake will re-run aclocal to pull in any new macros that might be referenced in configure.in. This is a good thing, as it keeps the macros in aclocal.m4 fresh, and ensures that newly used ones will be included there. In my opinion, the bug is that aclocal is failing when the required macros are already defined in the current aclocal.m4. You should be able to work around this by touching aclocal.m4 after editing configure.in. Off to file a bug against automake... -- - mdz
Matt Zimmerman <mdz@debian.org> wrote:> > Should AM_PROG_LIBTOOL and AM_PATH_XMMS be shipped in acinclude.m4? > > These macros are supplied by aclocal.m4, which is automatically generated by > aclocal(1) from automake. If you modify configure.in, automake will re-run > aclocal to pull in any new macros that might be referenced in configure.in.Yes.> In my opinion, the bug is that aclocal is failing when the required > macros are already defined in the current aclocal.m4.But if you use non-standard macros, you are supposed to put them into acinclude.m4. aclocal will refer to configure.in, acinclude.m4, and its config file directory for generating aclocal.m4. -- Christian "naddy" Weisgerber naddy@mips.inka.de
On Sun, May 20, 2001 at 08:33:20PM +0000, Christian Weisgerber wrote:> Matt Zimmerman <mdz@debian.org> wrote: > > In my opinion, the bug is that aclocal is failing when the required > > macros are already defined in the current aclocal.m4. > > But if you use non-standard macros, you are supposed to put them > into acinclude.m4. aclocal will refer to configure.in, acinclude.m4, > and its config file directory for generating aclocal.m4.The documentation for aclocal seems to say that it is intended to be used for library-supplied macros, as well as those that come with automake. If the macros are stored in acinclude.m4 (or in an aclocal/ subdirectory), they will have to be periodically updated to keep sync with the packages that supply them. <quote> This is mostly used for libraries which want to supply their own Autoconf macros for use by other programs. For instance the `gettext' library supplies a macro `AM_GNU_GETTEXT' which should be used by any package using `gettext'. When the library is installed, it installs this macro so that `aclocal' will find it. </quote> I agree that the current behavior is undesirable, but I think having aclocal pull in the macros automatically is a good idea, at least for the maintainer. -- - mdz