Handling New IDLs with widl

Roy roy at cs.hmc.edu
Wed Sep 19 15:59:58 CDT 2007


I'm looking for advice on how to integrate a new idl into wine.

I'm implementing bits and using the widl compiler on the IDL I wrote.  My
current setup places the IDL in include/ with the build system generating a
header file that it posits there.  So far, so good.

I now need to generate bits_i.c and link that into my dll located in dlls/bits.

IDL_I_SRCS = $(TOPSRCDIR)/include/bits.idl

to dlls/bits/Makefile.in solves this problem but drops the bits_i.c into
include/.  This is rather messy.  Any advice on if I should (1) moving my IDL
into dlls/bits/ and do everything locally or (2) dig into Make.rules.in and
update the rule for *_i.c generation to allow the generated file to exist
locally with the .idl sitting in include.  The second idea is a little tricky
since the current rule is careful to rename the generated .i file with the -U

    $(WIDL) $(IDLFLAGS) -u -U $@ $<

which is a great idea, but uses the full path to the original idl when renaming
the file.  Probably good for the general case, but not for me.

Thanks for the advice!

More information about the wine-devel mailing list