On Tue, Nov 03, 2015 at 09:08:04 +0100, Michal Privoznik wrote:
Funny things happen when you try to do a VPATH build and pass
--disable-dependency-tracking argument to the configure script.
Not only the directory structure is not created at the end of
configure phase, but also contradictory to others, virkeymaps.h
Maybe that's the actual problem.
does not depend on src/utils dirstamp. I don't know how to force
automake to generate that rule, but this is the diff that makes
things work for me again. Yes, as you can see it more or less
reverts a9fe620372144db3e432bd7506cb909cc3179ef8. More than less.
I don't think anything you wrote here really justifies the change below.
It hints that the problem is probably elsewhere.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Steps to reproduce:
1) mkdir /tmp/test_libvirt && cd $_
2) $OLDPWD/configure --disable-dependency-tracking
3) make
The actual output for the lazy:
make[2]: Entering directory '/tmp/build/src'
GEN util/virkeymaps.h
/bin/sh: util/virkeymaps.h: No such file or directory
GEN locking/lock_protocol.h
It looks like the reason for the failure is that this is run right away
so the shell can't do the redirect.
By the way, a simple "mkdir /tmp/test_libvirt/src/util" is sufficient to
make the build pass.
src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 99b4993..f98912f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -181,7 +181,7 @@ MAINTAINERCLEANFILES += util/virkeymaps.h
util/virkeymaps.h: $(srcdir)/util/keymaps.csv \
$(srcdir)/util/virkeycode-mapgen.py
$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \
- <$(srcdir)/util/keymaps.csv >util/virkeymaps.h
+ <$(srcdir)/util/keymaps.csv >$(srcdir)/util/virkeymaps.h
It doesn't seem right to do stuff in the source dir when building.
Remember it might be read-only.
NACK to this approach.
Should we perpahs create the directory if it doesn't exist in the
process of generating it?