]> xenbits.xensource.com Git - libvirt.git/commit
maint: detect VPATH builds when checking for gnulib update
authorEric Blake <eblake@redhat.com>
Wed, 4 Jun 2014 21:48:20 +0000 (15:48 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 4 Jun 2014 22:06:55 +0000 (16:06 -0600)
commit3cbd3b8e3a1f9c881234116f90efad473d942a24
tree41b978dd6b4931c2d4f66117499f948f4b0c828f
parentd804a58a15fa79cb5a4f0aa7d98d45cb690ce637
maint: detect VPATH builds when checking for gnulib update

I accidentally typed 'make' in the srcdir of a VPATH build, and
was surprised to see this:

$ make
/bin/sh: s/^[ +-]//;s/ .*//: No such file or directory
INFO: gnulib update required; running ./autogen.sh first
make: -n: Command not found
./autogen.sh
I am going to run ./configure with no arguments - if you wish
to pass any to it, please specify them on the ./autogen.sh command line.
running bootstrap...
./bootstrap: Bootstrapping from checked-out libvirt sources...
./bootstrap: getting gnulib files...

Oops - we're trying to execute some fairly bogus command names,
and then trying to configure in-tree (which breaks all existing
VPATH builds, since automake refuses to do a VPATH build if it
detects an in-tree configure).  The third line (executing "-n")
is fixed by updating to the latest gnulib; the rest of the problem
is fixed by copying the same filtering in our cfg.mk as what
gnulib just added, so that we avoid any $(shell) invocations which
in turn depend on variables that are only populated by a working
Makefile.  With that in place, we are back to the much nicer:

$ make
There seems to be no Makefile in this directory.
You must run ./configure before running 'make'.
make: *** [abort-due-to-no-makefile] Error 1

Additionally, although harder to see - there was a trailing space in
the message warning us that autogen would run an in-tree configure.

* .gnulib: Update to latest, in part for maint.mk improvements.
* cfg.mk (_update_required): Don't check for update in
unconfigured directory.
* autogen.sh (no_git): Drop trailing space.

Signed-off-by: Eric Blake <eblake@redhat.com>
.gnulib
autogen.sh
cfg.mk