[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Failing to use gnulib bootstrap in libtool
From: |
Eric Blake |
Subject: |
Re: Failing to use gnulib bootstrap in libtool |
Date: |
Fri, 03 Sep 2010 08:37:08 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100806 Fedora/3.1.2-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.2 |
On 09/03/2010 04:03 AM, Bruno Haible wrote:
It is well possible to use gnulib without using 'bootstrap'. As examples,
please see the 'autogen.sh' scripts of some packages:
- libunistring
<http://git.savannah.gnu.org/gitweb/?p=libunistring.git;a=blob;f=autogen.sh>
Also GNU M4, which uses 'gnulib-tool --update' rather than --import in
its bootstrap script.
The contents of gnulib-cache.m4 is an output of the invocation of gnulib-tool,
and therefore a derivative of the parameters that you pass to gnulib-tool.
But the current documentation says that 'gnulib-cache.m4' is the ONE
output that you SHOULD be keeping in version control. In fact, that is
precisely how m4 works - by versioning just gnulib-cache.m4, it is
sufficient to have bootstrap run 'gnulib-tool --update' so that all
other developers will pick up the same set of modules as the last
developer that made a modification via gnulib-tool --import.
'gnulib-tool --update' is equivalent to 'gnulib-tool --import ...' where the
options and list of modules are fetched from gnulib-cache.m4. Because of the
principle to not mix inputs and outputs (see above), and because
gnulib-cache.m4 is an output (produced by the previous gnulib-tool execution),
you must ensure that gnulib-cache.m4 is not used by subsequent gnulib-tool
invocations.
That advice goes counter to how M4 is currently using gnulib-tool.
This means
1. You must not use 'gnulib-tool --update'.
Then why does it exist? I frequently rerun bootstrap on an existing
tree in order to pick up the new modules that have been added by other
developers, and gnulib-tool --update is faster than gnulib-tool --import
at doing so.
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org
- Re: Failing to use gnulib bootstrap in libtool, (continued)