]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
build: fix deep VPATH builds
authorEric Blake <eblake@redhat.com>
Thu, 3 Nov 2011 19:50:13 +0000 (13:50 -0600)
committerEric Blake <eblake@redhat.com>
Thu, 3 Nov 2011 19:50:13 +0000 (13:50 -0600)
I ran into the following build failure:
$ mkdir -p build1 build2/a/very/deep/hierarcy
$ cd build2/a/very/deep/hierarcy
$ ../../../../../configure && make
$ cd ../../../../build1
$ ../configure && make
...
../../src/remote/remote_protocol.c:7:55: fatal error: ../../../../../src/remote/remote_protocol.h: No such file or directory

Turns out that we were sometimes generating the remote_protocol.c
file with information from the VPATH build, which is bad, since
any file shipped in the tarball should be idempotent no matter how
deep the VPATH build tree that created it.

* src/rpc/genprotocol.pl: Don't embed VPATH into generated file.

src/rpc/genprotocol.pl

index 7124e5c0c51a27d0211149e516757da1f72cc498..166508b649faa238a565314e5846930cc6cda2b8 100755 (executable)
@@ -59,7 +59,7 @@ while (<RPCGEN>) {
     s/xdr_u_quad_t/xdr_uint64_t/g;
     s/xdr_quad_t/xdr_int64_t/g;
     s/(?<!IXDR_GET_INT32 )IXDR_GET_LONG/IXDR_GET_INT32/g;
-    s,#include "remote/remote_protocol\.h",#include "remote_protocol.h",;
+    s,#include ".*remote/remote_protocol\.h",#include "remote_protocol.h",;
 
     if (m/^}/) {
        $in_function = 0;