widl patch

Greg Turner gmturner007 at ameritech.net
Wed Jan 8 08:24:16 CST 2003


On Wednesday 08 January 2003 12:31 pm, Ove Kaaven wrote:
> Feel free to recompile the .idl files after applying this patch...
> it's not necessary, but sooner or later someone is going to try what
> I'm currently trying... to compile MIDL-generated proxy/stub code
> with Wine headers.

Indeed, I am doing this now with my RPC test.  I'm not sure we are 
targeting the same stuff, however.  You can see my work-in-progress in 
the K patchseries, which only has one (rejected) "official" patch: K01.

Actually, what I'm really trying to do is mix and match.  I want the .h 
header to be generated by widl, and the _s.c and _c.c stubs to be 
generated by MIDL.

wire_marshall should be a barrel of laughs ;)  Maybe after I get this 
batch working I'll whip up some tests for 'ya that use it.

I encounter the following gaps:

o widl doesn't generate forward declarations for MIDL_user_allocate
  and MIDL_user_free, should be trivial to fix.

o widl doesn't parse the implicit_handle stuff in the .acf, 
  which cause MIDL to put an extern declaration in for the handle.

o RpcTry/Except/etc.  Ugh, what a $&^@$*% train wreck.  More-or-less
  unfixable, and not widl's fault anyhow.  ATM I may hack around this
  using some evil, incorrect, and, frankly, downright offensive macros.
  Long term, of course, I'm interested in seeing exception handling
  souce-compatibility in wine... perhaps, winegcc, or some cousin, could
  parse VC++ __try & family and generate wine-compatible __TRY & family
  to match?  Given the freedom to parse/generate, regardless of the
  implementation specifics, it becomes a surmountable problem IMO.

Otherwise, it works perfectly.  Good work!

Any chance either of the first two points will be fixed soon?  This 
would leave me with only one inelegant hack (two if calling MIDL 
counts), and an otherwise tolerable build process.

Thanks,

-- 
gmt

"It does not take a majority to prevail ... but rather an irate,
tireless minority, keen on setting brushfires of freedom in the
minds of men." --Samuel Adams, Patriot




More information about the wine-devel mailing list