.\" -*- nroff -*-
.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] \fIinfile\fR.idl
.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 are 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-b \fIcpu-manufacturer[-kernel]-os\fR"
Set the target architecture when cross-compiling. The target
specification is in the standard autoconf format as returned by
config.sub.
.PP
.B Header options:
.IP "\fB-h\fR"
Generate header files.
.IP "\fB-H \fIfile\fR"
Name of header file to generate. The default header
filename is \fIinfile\fR.h.
.IP "\fB--oldnames\fR"
Use old naming conventions.
.PP
.B Type library options:
.IP \fB-t\fR
Generate a type library.
.IP "\fB-T \fIfile\fR"
Define the name of the type library to be generated. 
The default filename is \fIinfile\fR.tlb.
.IP "\fB-m32, -m64\fR"
Generate a Win32, respectively Win64, type library.
.PP
.B UUID file options:
.IP "\fB-u\fR"
Generate a UUID file.
.IP "\fB-U \fIfile\fR"
Define the name of the UUID file to be generated. 
The default filename is \fIinfile\fR_i.c.
.PP
.B Proxy/stub generation options:
.IP "\fB-c\fR"
Generate client stub.
.IP "\fB-C \fIfile\fR"
Name of client stub file (default is \fIinfile\fR_c.c)
.IP "\fB-p\fR"
Generate proxy.
.IP "\fB-P \fIfile\fR"
Name of proxy file (default is \fIinfile\fR_p.c)
.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 server stub.
.IP "\fB-S \fIfile\fR"
Name of server stub file (default is \fIinfile\fR_s.c)
.IP "\fB--win32, --win64\fR"
Only generate 32-bit, respectively 64-bit code (the default is to
generate both 32-bit and 64-bit versions into the same destination
file).
.PP
.B Dlldata file options:
.IP "\fB--dlldata=\fIfile\fR"
Name of the dlldata file (default is dlldata.c)
.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[=\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--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
.B widl
is incomplete.  Please file bug reports for this application at
.I http://bugs.winehq.org.
.SH AUTHORS
.B widl
was originally written by Ove Kaaven.  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 "SEE ALSO"
The Winelib User Guide
.nf
The Wine Developers Guide
