Re: AC_CONFIG_MACRO_DIR([m4])

Jeff Garzik <[email protected]> Mon, 06 Dec 2010 12:32:22 -0500
Newsgroups org.kernel.vger.hail-devel
Message-ID <[email protected]>
On 12/05/2010 04:56 PM, Pete Zaitcev wrote:
> Autoconf printed a warning when reconfiguting Hail, so I gave up and
> added this:
[...]
> Now I have a directory m4/ with symlinks... This does not seem to be
> helping any portability, unless I miss where the promised macro are
> being saved locally. What was this about, do you happen to know?

I presume you refer to this:

> [jgarzik@bd hail]$ ./autogen.sh && CFLAGS="-O2 -Wall -Wshadow -g -march=native" ./configure --disable-shared
> libtoolize: putting auxiliary files in `.'.
> libtoolize: linking file `./ltmain.sh'
> libtoolize: You should add the contents of the following files to `aclocal.m4':
> libtoolize:   `/usr/share/aclocal/libtool.m4'
> libtoolize:   `/usr/share/aclocal/ltoptions.m4'
> libtoolize:   `/usr/share/aclocal/ltversion.m4'
> libtoolize:   `/usr/share/aclocal/lt~obsolete.m4'
> libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
> libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
> libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
> libtoolize: putting auxiliary files in `.'.
> libtoolize: linking file `./ltmain.sh'
> libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
> libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
> libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

Think about what this implies:

Keeping the "correct libtool macros in-tree" implies adding a pointless 
maintenance burden.  The distro always gives us correct, up-to-date 
files.  Why would hail want to potentially lag upstream's version of 
these macros, forcing us to manually track macros that are currently 
updated automatically for each ./autogen.sh invocation?

It is this same silly logic that leads programmers to ship in-tree 
copies of (for example) zlib.

Therefore, the requirement to rebuild hail's configure script is to have 
a recent distro.

Users of tarballs never see this, so this is only an issue for those on 
oddball or ancient OS's, who are building release tarballs, or working 
directly out the git repo.

And if someone is doing that, they have a lot more headaches than just 
outdated libtool to contend with.

	Jeff