build: fix deep VPATH builds

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.
This commit is contained in:
Eric Blake 2011-11-03 13:50:13 -06:00
parent 2d9931d20c
commit 5d4b0c4c80

View File

@ -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;