2005-10-06 18:10:01 +02:00
|
|
|
.\" -*- nroff -*-
|
2007-10-21 00:59:08 +02:00
|
|
|
.TH WIDL 1 "October 2007" "@PACKAGE_STRING@" "Wine Developers Manual"
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH NAME
|
2007-10-21 00:59:08 +02:00
|
|
|
widl \- Wine Interface Definition Language (IDL) compiler
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH SYNOPSIS
|
2007-10-21 00:59:08 +02:00
|
|
|
.B widl
|
|
|
|
[\fIoptions\fR] \fIinfile\fR.idl
|
|
|
|
.br
|
|
|
|
.B widl
|
|
|
|
[\fIoptions\fR] \fB--dlldata-only\fR \fIname1\fR [\fIname2\fR ...]
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH DESCRIPTION
|
2007-10-21 00:59:08 +02:00
|
|
|
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,
|
2007-10-31 03:07:36 +01:00
|
|
|
\fB-h\fR, \fB-p\fR, \fB-s\fR, \fB-t\fR, \fB-u\fR, or \fB--local-stubs\fR are given,
|
2007-10-21 00:59:08 +02:00
|
|
|
.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.
|
2004-03-09 04:49:39 +01:00
|
|
|
.PP
|
|
|
|
.SH OPTIONS
|
|
|
|
.PP
|
|
|
|
.B General options:
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-V\fR"
|
2007-10-21 00:59:08 +02:00
|
|
|
Print version number and exit.
|
2010-11-27 12:33:05 +01:00
|
|
|
.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.
|
2009-05-21 11:37:34 +02:00
|
|
|
.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.
|
2004-03-09 04:49:39 +01:00
|
|
|
.PP
|
|
|
|
.B Header options:
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-h\fR"
|
2010-11-27 12:33:05 +01:00
|
|
|
Generate header files. The default output filename is \fIinfile\fB.h\fR.
|
2006-04-22 21:52:51 +02:00
|
|
|
.IP "\fB--oldnames\fR"
|
|
|
|
Use old naming conventions.
|
2004-10-05 06:44:20 +02:00
|
|
|
.PP
|
2005-01-26 20:40:47 +01:00
|
|
|
.B Type library options:
|
|
|
|
.IP \fB-t\fR
|
2011-08-01 21:38:56 +02:00
|
|
|
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.
|
2009-05-21 11:37:34 +02:00
|
|
|
.IP "\fB-m32, -m64\fR"
|
|
|
|
Generate a Win32, respectively Win64, type library.
|
2005-01-26 20:40:47 +01:00
|
|
|
.PP
|
2006-09-13 23:43:36 +02:00
|
|
|
.B UUID file options:
|
|
|
|
.IP "\fB-u\fR"
|
2010-11-27 12:33:05 +01:00
|
|
|
Generate a UUID file. The default output filename is \fIinfile\fB_i.c\fR.
|
2006-09-13 23:43:36 +02:00
|
|
|
.PP
|
2005-04-15 16:09:27 +02:00
|
|
|
.B Proxy/stub generation options:
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-c\fR"
|
2010-11-27 12:33:05 +01:00
|
|
|
Generate a client stub file. The default output filename is \fIinfile\fB_c.c\fR.
|
2011-06-01 21:00:56 +02:00
|
|
|
.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.
|
2006-06-01 16:40:31 +02:00
|
|
|
.IP "\fB-p\fR"
|
2010-11-27 12:33:05 +01:00
|
|
|
Generate a proxy. The default output filename is \fIinfile\fB_p.c\fR.
|
2007-10-21 00:59:08 +02:00
|
|
|
.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.
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-s\fR"
|
2010-11-27 12:33:05 +01:00
|
|
|
Generate a server stub file. The default output filename is
|
|
|
|
\fIinfile\fB_s.c\fR.
|
2008-12-26 17:21:12 +01:00
|
|
|
.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).
|
2007-10-21 00:59:08 +02:00
|
|
|
.PP
|
2010-11-27 13:24:49 +01:00
|
|
|
.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
|
2007-10-21 00:59:08 +02:00
|
|
|
.B Dlldata file options:
|
2010-11-27 12:33:05 +01:00
|
|
|
.IP "\fB--dlldata-only\fI name1 [name2...]"
|
|
|
|
Regenerate the dlldata file from scratch using the specified proxy
|
|
|
|
names. The default output filename is \fBdlldata.c\fR.
|
2005-04-15 16:09:27 +02:00
|
|
|
.PP
|
2004-10-05 06:44:20 +02:00
|
|
|
.B Preprocessor options:
|
2004-03-09 04:49:39 +01:00
|
|
|
.IP "\fB-I \fIpath\fR"
|
2007-10-21 00:59:08 +02:00
|
|
|
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.
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-E\fR"
|
2004-03-09 04:49:39 +01:00
|
|
|
Preprocess only.
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-N\fR"
|
2004-03-09 04:49:39 +01:00
|
|
|
Do not preprocess input.
|
|
|
|
.PP
|
|
|
|
.B Debug options:
|
2005-10-06 13:40:43 +02:00
|
|
|
.IP "\fB-W\fR"
|
2004-03-09 04:49:39 +01:00
|
|
|
Enable pedantic warnings.
|
|
|
|
.IP "\fB-d \fIn\fR"
|
2007-11-09 12:37:53 +01:00
|
|
|
Set debug level to the non negative integer \fIn\fR. If
|
|
|
|
prefixed with \fB0x\fR, it will be interpreted as an hexadecimal
|
2007-10-21 00:59:08 +02:00
|
|
|
number. For the meaning of values, see the \fBDebug\fR section.
|
2004-03-09 04:49:39 +01:00
|
|
|
.PP
|
2007-10-31 03:07:36 +01:00
|
|
|
.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
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH Debug
|
2007-10-21 00:59:08 +02:00
|
|
|
Debug level \fIn\fR is a bitmask with the following meaning:
|
2004-03-09 04:49:39 +01:00
|
|
|
* 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
|
2007-10-21 00:59:08 +02:00
|
|
|
.B widl
|
|
|
|
is incomplete. Please file bug reports for this application at
|
|
|
|
.I http://bugs.winehq.org.
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH AUTHORS
|
|
|
|
.B widl
|
2007-10-21 00:59:08 +02:00
|
|
|
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.
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH "SEE ALSO"
|
|
|
|
The Winelib User Guide
|
|
|
|
.nf
|
|
|
|
The Wine Developers Guide
|