| .\" -*- 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. |
| .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. |
| .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) |
| .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 |