From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: Re: AC_CONFIG_MACRO_DIR([m4]) Date: Mon, 06 Dec 2010 12:32:22 -0500 Message-ID: <4CFD1E26.8010908@garzik.org> References: <20101205145655.4f91e5d6@lembas.zaitcev.lan> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=YifYH3smiUGy0AqSuHyQzkierN+PUh10jSUv2zfW2es=; b=Z+vSKjolh/NJoFWi+5j2EQjahAc8ntzwyP6BF3YiViuZJ60/iN9xG49n33zt5J8uFL AKRIb2ZPwHc0ajNlgbSnppG0QH7sTZ/7nBvJe0PCbBPkkf4iSIdM70v9RnyisyNDu/qJ AgkhnrlCTGxQNNXrMRGINf9Z2Jge8xXE2p3Uw= In-Reply-To: <20101205145655.4f91e5d6@lembas.zaitcev.lan> Sender: hail-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Pete Zaitcev Cc: Jim Meyering , hail-devel@vger.kernel.org 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