Removed no longer needed ICOM compatibility mode in widl.

This commit is contained in:
Alexandre Julliard 2004-10-05 04:44:20 +00:00
parent 7e8d5cebb7
commit d062924f66
5 changed files with 5 additions and 65 deletions

View File

@ -137,7 +137,7 @@ LINTS = $(C_SRCS:.c=.ln)
$(WINEBUILD) -w $(DEFS) -o $@ --def $<
.idl.h:
$(WIDL) $(IDLFLAGS) -b -h -H $@ $<
$(WIDL) $(IDLFLAGS) -h -H $@ $<
.c.ln:
$(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )

View File

@ -448,53 +448,6 @@ var_t *is_callas(attr_t *a)
return get_attrp(a, ATTR_CALLAS);
}
static void write_icom_method_def(type_t *iface)
{
func_t *cur = iface->funcs;
if (iface->ref) write_icom_method_def( iface->ref );
if (!cur) return;
while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
if (cur) fprintf( header, " \\\n /*** %s methods ***/", iface->name );
while (cur) {
var_t *def = cur->def;
if (!is_callas(def->attrs)) {
var_t *arg = cur->args;
if (arg) {
while (NEXT_LINK(arg)) {
arg = NEXT_LINK(arg);
}
}
fprintf(header, " \\\n STDMETHOD_(");
write_type(header, def->type, def, def->tname);
fprintf(header, ",");
write_name(header, def);
fprintf(header, ")(%s", arg ? "THIS_ " : "THIS" );
while (arg) {
write_type(header, arg->type, arg, arg->tname);
if (arg->args)
{
fprintf(header, " (STDMETHODCALLTYPE *");
write_name(header,arg);
fprintf( header,")(");
write_args(header, arg->args, NULL, 0, FALSE);
fprintf(header,")");
}
else
{
fprintf(header, " ");
write_name(header,arg);
}
write_array(header, arg->array, 0);
arg = PREV_LINK(arg);
if (arg) fprintf(header, ", ");
}
fprintf(header, ") PURE;");
}
cur = PREV_LINK(cur);
}
}
static int write_method_macro(type_t *iface, char *name)
{
int idx;
@ -800,11 +753,6 @@ void write_com_interface(type_t *iface)
fprintf(header, "\n");
fprintf(header, "#endif\n");
fprintf(header, "\n");
if (compat_icom) {
fprintf(header, "#define %s_METHODS", iface->name);
write_icom_method_def(iface);
fprintf(header, "\n\n");
}
write_method_proto(iface);
fprintf(header,"\n#endif /* __%s_INTERFACE_DEFINED__ */\n\n", iface->name);
}

View File

@ -56,7 +56,6 @@
static char usage[] =
"Usage: widl [options...] infile.idl\n"
" -b Make headers compatible with ICOM macros\n"
" -d n Set debug level to 'n'\n"
" -D id[=val] Define preprocessor identifier id=val\n"
" -E Preprocess only\n"
@ -89,7 +88,6 @@ int preprocess_only = 0;
int header_only = 0;
int typelib_only = 0;
int no_preprocess = 0;
int compat_icom = 0;
char *input_name;
char *header_name;
@ -138,11 +136,8 @@ int main(int argc,char *argv[])
now = time(NULL);
while((optc = getopt(argc, argv, "bd:D:EhH:I:NtT:VW")) != EOF) {
while((optc = getopt(argc, argv, "d:D:EhH:I:NtT:VW")) != EOF) {
switch(optc) {
case 'b':
compat_icom = 1;
break;
case 'd':
debuglevel = strtol(optarg, NULL, 0);
break;

View File

@ -41,7 +41,6 @@ extern int pedantic;
extern int do_everything;
extern int header_only;
extern int typelib_only;
extern int compat_icom;
extern char *input_name;
extern char *header_name;

View File

@ -23,18 +23,16 @@ The default filename is infile.tlb.
Print version number and exits from the program.
.PP
.B Header options:
.IP \fB-b\fR
Make headers compatible with ICOM macros.
.IP \fB-h\fR
Only generate header files.
.IP "\fB-H \fIfile\fR"
Name of header file to include. The default header
Name of header file to generate. The default header
filename is infile.h.
.PP
.B Preprocessor options:
.IP "\fB-I \fIpath\fR"
Add a header search dir to path. Multiple search
dirs are allowed.
.PP
.B Preprocessor options:
.IP "\fB-D \fIid[=val]\fR"
Define preprocessor identifier id value.
.IP \fB-E\fR