2011/5/5 Daniel P. Berrange <berrange(a)redhat.com>:
On Thu, May 05, 2011 at 02:59:39PM +0800, Daniel Veillard wrote:
> On Thu, May 05, 2011 at 02:31:57PM +0800, Hu Tao wrote:
> > On Thu, May 05, 2011 at 08:07:49AM +0200, Matthias Bolte wrote:
> > > 2011/5/5 Hu Tao <hutao(a)cn.fujitsu.com>:
> > > > 1. this file is automatically generated at compile-time, so rm it
> > > > to avoid further commit to this file.
> > > > 2. any update should made to file src/remote/remote_protocol.x.
> > > > ---
> > > > daemon/remote_dispatch_table.h | 1054
----------------------------------------
> > > > 1 files changed, 0 insertions(+), 1054 deletions(-)
> > > > delete mode 100644 daemon/remote_dispatch_table.h
> > > >
> > >
> > > There is probably a reason why this generated file is under version
> > > control, maybe Dan knows.
> > >
> > > If we decide to remove the generated protocol dispatch header files
> > > then we should remove all of them (daemon/remote_dispatch_*.h and
> > > daemon/qemu_dispatch_*.h) and not just this single one.
> >
> > :( doesn't noticed other daemon/remote_dispatch_*.h are also generated
> > ones. Thanks for pointing it out.
> >
> > Dan, what's your opinion?
>
> my recollection is that they are kept because when compiling on
> windows we don't have ways to generate them. So while generated,
> they are kept in git and in the dist tarballs.
There are two generators involved rpcgen + rpcgen_fix.pl (client and
daemon side) and remote_generate_stubs.pl (daemon side only).
I'm not sure if the rpcgen that comes with portablexdr (used in my
mingw build) comes with a capable rpcgen. Also I'm not sure about
cygwin and rpcgen.
We kept them because the rpcgen binary was kind of flakey on some
platforms. This may no longer be required, but will need to check
Daniel
I think we're talking about different things here. Thee are several
related/generated files:
The manually written XDR protocol definition files:
src/remote/(remote|qemu)_protocol.x
The rpcgen generated code for XDR argument and return value struct handling:
src/remote/(remote|qemu)_protocol.[ch]
The remote_generate_stubs.pl generated headers with prototypes and
dispatch tables for the RPC exposed functions:
daemon/(remote|qemu)_dispatch_(args|table|prototypes|ret).h
The manually written code corresponding to the generated prototypes
for the RPC exposed functions:
daemon/remote.c
Actually a major part of daemon/remote.c can be moved to generated
code, see my pending patch series [1].
[1]
https://www.redhat.com/archives/libvir-list/2011-April/msg01075.html
Matthias