.TH WIDL 1 "October 2007" "@PACKAGE_STRING@" "Wine Developers Manual"
.SH NAME
widl \- Wine Interface Definition Language (IDL) compiler
.SH SYNOPSIS
.B widl
[\fIoptions\fR] \fIIDL_file\fR
.br
.B widl
[\fIoptions\fR] \fB--dlldata-only\fR \fIname1\fR [\fIname2\fR...]
.SH DESCRIPTION
When no options are used the program will generate a header file, and possibly
client and server stubs, proxy and dlldata files, a typelib, and a UUID file,
depending on the contents of the IDL file.  If any of the options \fB-c\fR,
\fB-h\fR, \fB-p\fR, \fB-s\fR, \fB-t\fR, \fB-u\fR or \fB--local-stubs\fR is given,
.B widl
will only generate the requested files, and no others.  When run with
\fB--dlldata-only\fR, widl will only generate a dlldata file, and it will
contain a list of the names passed as arguments.  Usually the way this file
is updated is that each time
.B widl
is run, it reads any existing dlldata file, and if necessary regenerates it
with the same list of names, but with the present proxy file included.
.PP
When run without any arguments,
.B widl
will print a help message.
.PP
.SH OPTIONS
.PP
.B General options:
.IP "\fB-V\fR"
Print version number and exit.
.IP "\fB-o, --output=\fIname"
Set the name of the output file. When generating multiple output
files, this sets only the base name of the file; the respective output
files are then named \fIname\fR.h, \fIname\fR_p.c, etc.
.IP "\fB-b \fIcpu-manufacturer\fR[\fB-\fIkernel\fR]\fB-\fIos\fR"
Set the target architecture when cross-compiling. The target
specification is in the standard autoconf format as returned by
\fBconfig.sub\fR.
.PP
.B Header options:
.IP "\fB-h\fR"
Generate header files. The default output filename is \fIinfile\fB.h\fR.
.IP "\fB--oldnames\fR"
Use old naming conventions.
.PP
.B Type library options:
.IP \fB-t\fR
Generate a type library. The default output filename is
\fIinfile\fB.tlb\fR.  If the output file name ends in \fB.res\fR, a
binary resource file containing the type library is generated instead.
.IP "\fB-m32, -m64\fR"
Generate a Win32 or Win64 type library respectively.
.PP
.B UUID file options:
.IP "\fB-u\fR"
Generate a UUID file. The default output filename is \fIinfile\fB_i.c\fR.
.PP
.B Proxy/stub generation options:
.IP "\fB-c\fR"
Generate a client stub file. The default output filename is \fIinfile\fB_c.c\fR.
.IP "\fB-Os\fR"
Generate inline stubs.
.IP "\fB-Oi\fR"
Generate old-style interpreted stubs.
.IP "\fB-Oif, -Oic, -Oicf\fR"
Generate new-style fully interpreted stubs.
.IP "\fB-p\fR"
Generate a proxy. The default output filename is \fIinfile\fB_p.c\fR.
.IP "\fB--prefix-all=\fIprefix\fR"
Prefix to put on the name of both client and server stubs.
.IP "\fB--prefix-client=\fIprefix\fR"
Prefix to put on the name of client stubs.
.IP "\fB--prefix-server=\fIprefix\fR"
Prefix to put on the name of server stubs.
.IP "\fB-s\fR"
Generate a server stub file. The default output filename is
\fIinfile\fB_s.c\fR.
.IP "\fB--win32\fR, \fB--win64\fR"
Only generate 32-bit or 64-bit code respectively (the default is to
generate both 32-bit and 64-bit versions into the same destination
file).
.PP
.B Registration script options:
.IP "\fB-r\fR"
Generate a registration script. The default output filename is
\fIinfile\fB_r.rgs\fR. If the output file name ends in \fB.res\fR, a
binary resource file containing the script is generated instead.
.PP
.B Dlldata file options:
.IP "\fB--dlldata-only\fI name1 \fR[\fIname2\fR...]"
Regenerate the dlldata file from scratch using the specified proxy
names. The default output filename is \fBdlldata.c\fR.
.PP
.B Preprocessor options:
.IP "\fB-I \fIpath\fR"
Add a header search directory to path. Multiple search
directories are allowed.
.IP "\fB-D \fIid\fR[\fB=\fIval\fR]"
Define preprocessor macro \fIid\fR with value \fIval\fR.
.IP "\fB-E\fR"
Preprocess only.
.IP "\fB-N\fR"
Do not preprocess input.
.PP
.B Debug options:
.IP "\fB-W\fR"
Enable pedantic warnings.
.IP "\fB-d \fIn\fR"
Set debug level to the non negative integer \fIn\fR.  If
prefixed with \fB0x\fR, it will be interpreted as an hexadecimal
number.  For the meaning of values, see the \fBDEBUG\fR section.
.PP
.B Miscellaneous options:
.IP "\fB-app_config\fR"
Ignored, present for midl compatibility.
.IP "\fB--local-stubs=\fIfile\fR"
Generate empty stubs for call_as/local methods in an object interface and
write them to \fIfile\fR.
.PP
.SH DEBUG
Debug level \fIn\fR is a bitmask with the following meaning:
    * 0x01 Tell which resource is parsed (verbose mode)
    * 0x02 Dump internal structures
    * 0x04 Create a parser trace (yydebug=1)
    * 0x08 Preprocessor messages
    * 0x10 Preprocessor lex messages
    * 0x20 Preprocessor yacc trace
.SH BUGS
Bugs can be reported on the
.UR http://bugs.winehq.org
.B Wine bug tracker
.UE .
.SH AUTHORS
.B widl
was originally written by Ove Kåven.  It has been improved by Rob Shearman,
Dan Hipschman, and others.  For a complete list, see the git commit logs.
This man page was originally written by Hannu Valtonen and then updated by
Dan Hipschman.
.SH AVAILABILITY
.B widl
is part of the Wine distribution, which is available through WineHQ,
the
.UR http://www.winehq.org/
.B Wine development headquarters
.UE .
.SH "SEE ALSO"
.UR http://www.winehq.org/help
.B Wine documentation and support
.UE .
