Will DCOM98 be pulled?

Nyef nyef at softhome.net
Thu Jan 8 10:41:15 CST 2004

On Thu, Jan 08, 2004 at 02:11:28PM +0100, Ove Kaaven wrote:
> tor, 08.01.2004 kl. 12.52 skrev Mike Hearn:
> > On Wed, 2004-01-07 at 23:39, Ove Kaaven wrote:
> > > Well, I've done about as much as I dared do without knowing exactly what
> > > plans you have. After all, widl can *not* link to oleaut32 since widl is
> > > not a Winelib app (and wasn't meant to be since someday we may want widl
> > > to generate some of the .c and .h files used by Wine DLLs such as
> > > oleaut32 at build time, instead of putting the generated files into
> > > CVS). My original plan was to use stdio to write typelibs straight from
> > > widl, not to use ICreateTypeLib.
> > 
> > OK, I thought I'd CC this to Alexander so he realises this, I must admit
> > I had just assumed widl was a winelib app like all the others.
> Huh? None of the other programs in tools/ are Winelib either AFAIK.
> > To be honest, as we might one day have to implement ICreateTypeLib
> > anyway (and i think Alexander mentioned he wanted these for his own
> > project anyway), it seems like a lot of extra work to do this once in
> > widl and again in oleaut32. Is being able take generated files out of
> > CVS really that big a gain? We already ship quite a few (wineserver,
> > build system, idl->h) and it doesn't really cause problems.
> I'm just saying that wasn't what it was supposed to be. But nothing a
> little rewriting can't change if we don't care about circular
> dependencies I guess, though the common typelib library (which Robert
> Shearman mentioned) would also be a solution.

Well, here's what I've got for ideas:

We could build widl twice, the second time as a winelib app.

We could set widl up to use an external winelib app to actually create
the type libraries when needed.

We could move the implementation of the type library creation out to a
separate library.

We could have some way of conditionally-compiling the typelib creation
code so that it could be run without using any services other than libc
or whatever.

However you slice it, though, if you use the ICreateTypeLib interfaces
you're going to get bitten with a circular dependancy, if only because
of the wtypes.h thing. And if you use an external library you're going
to want to use it in oleaut32.dll as well just to avoid the code
duplication. And that external library is going to want to duplicate
the same parts from wtypes.h for VARENUM and such.

I hate to say it, but I think the best option might be to use an
external winelib app to create the typelibs or to build a second copy
of widl as a winelib app once winelib is available.

-- Alastair Bridgewater

More information about the wine-devel mailing list