Module: wine Branch: master Commit: 0edfacdb6ae0db0bc75bd0adb9bc30b960cd9ff5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0edfacdb6ae0db0bc75bd0adb9...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Jan 19 12:46:19 2007 +0100
widl: Generate proxy/client/server files when requested explicitly even if they are empty.
---
tools/widl/client.c | 2 +- tools/widl/proxy.c | 6 ++---- tools/widl/server.c | 2 +- tools/widl/widl.c | 2 +- tools/widl/widl.h | 1 + 5 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/tools/widl/client.c b/tools/widl/client.c index a0b0f25..a6aa4a4 100644 --- a/tools/widl/client.c +++ b/tools/widl/client.c @@ -432,7 +432,7 @@ void write_client(ifref_t *ifaces)
if (!do_client) return; - if (!iface) + if (do_everything && !ifaces) return; END_OF_LIST(iface);
diff --git a/tools/widl/proxy.c b/tools/widl/proxy.c index 3480b7d..329d0b8 100644 --- a/tools/widl/proxy.c +++ b/tools/widl/proxy.c @@ -999,12 +999,12 @@ void write_proxies(ifref_t *ifaces) int c;
if (!do_proxies) return; - if (!lcur) return; - END_OF_LIST(lcur); + if (do_everything && !ifaces) return;
init_proxy(ifaces); if(!proxy) return;
+ END_OF_LIST(lcur); cur = lcur; while (cur) { if (is_object(cur->iface->attrs) && !is_local(cur->iface->attrs)) @@ -1012,8 +1012,6 @@ void write_proxies(ifref_t *ifaces) cur = PREV_LINK(cur); }
- if (!proxy) return; - write_stubdesc();
print_proxy( "#if !defined(__RPC_WIN32__)\n"); diff --git a/tools/widl/server.c b/tools/widl/server.c index 630e414..d08fa07 100644 --- a/tools/widl/server.c +++ b/tools/widl/server.c @@ -572,7 +572,7 @@ void write_server(ifref_t *ifaces)
if (!do_server) return; - if (!ifaces) + if (do_everything && !ifaces) return; END_OF_LIST(iface);
diff --git a/tools/widl/widl.c b/tools/widl/widl.c index c04d07f..8cb84dc 100644 --- a/tools/widl/widl.c +++ b/tools/widl/widl.c @@ -87,7 +87,7 @@ int debuglevel = DEBUGLEVEL_NONE; int parser_debug, yy_flex_debug;
int pedantic = 0; -static int do_everything = 1; +int do_everything = 1; int preprocess_only = 0; int do_header = 0; int do_typelib = 0; diff --git a/tools/widl/widl.h b/tools/widl/widl.h index e84a5ad..d95ee09 100644 --- a/tools/widl/widl.h +++ b/tools/widl/widl.h @@ -36,6 +36,7 @@ extern int debuglevel;
extern int win32; extern int pedantic; +extern int do_everything; extern int do_header; extern int do_typelib; extern int do_proxies;