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