MIDL replacement?

Phillip Schmitz phillip at maths.wits.ac.za
Wed Feb 20 05:15:25 CST 2002


Some time ago there was talk of using an (msrpc/com) idl compiler and idl
files to replace some of the complexity of the current COM implementation
details (I imagine the main advantage would be that winelib programs might be
able to use COM stuff without having to generate stubs etc using MIDL). Rather
than starting from scratch people recommended finding an existing (corba) idl
compiler and hacking that.

Has anyone taken up the challenge?

I had a look at the freedce idl compiler but I can't get it to compile.

Not that I want to invite another round of "my license is better than your
license" but should this be distributed independently of wine so as to avoid
license problems or what could one base it on if distributed with wine (if
wine was rewritten to depend on its availability this would make things
tricky... )

Also, while on the topic of MIDL it seems that the emitted code contains
marshaling hints/info in special strings - does wine currently understand
these? (undocumented of course but not that messy - people writing their own
custom DCOM-over-other-transports stuff managed to work them out quite quickly
- I'm sure working with people from Microsoft Research helped though :)

Would it need to be a drop-in replacement for MIDL? I suppose not but I'm not
sure how much easier that would be (I know com-idl is a moving target with
COM+ and new attributes etc but plain COM should be sufficient for most).

Anyway - this is the result of a few days research and may all be in vain -
those with more experience with COM and its implementation in wine should (if
required) shoot me down now before I continue wasting my time.

Phillip
Trainee wine-devel lurker who marvels at the endurance of people
using/implementing COM in C.


PS I don't know if it is worthwhile starting a separate effort to make a
"free" MIDL replacement regardless - what do people writing windows code with
mingw etc do if they want to use COM?







More information about the wine-devel mailing list