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
|
2013-07-17 16:45:23 +02:00
|
|
|
[\fIoptions\fR] \fIIDL_file\fR
|
2007-10-21 00:59:08 +02:00
|
|
|
.br
|
|
|
|
.B widl
|
2013-07-17 16:45:23 +02:00
|
|
|
[\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,
|
2013-07-17 16:45:23 +02:00
|
|
|
\fB-h\fR, \fB-p\fR, \fB-s\fR, \fB-t\fR, \fB-u\fR or \fB--local-stubs\fR is 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
|
2013-12-24 21:11:44 +01:00
|
|
|
files are then named \fIname\fR.h, \fIname\fR_p.c, etc. If a full
|
|
|
|
file name with extension is specified, only that file is generated.
|
2018-11-14 18:18:17 +01:00
|
|
|
.IP "\fB-b, --target=\fIcpu-manufacturer\fR[\fI-kernel\fR]\fI-os\fR"
|
2009-05-21 11:37:34 +02:00
|
|
|
Set the target architecture when cross-compiling. The target
|
|
|
|
specification is in the standard autoconf format as returned by
|
2013-07-17 16:45:23 +02:00
|
|
|
\fBconfig.sub\fR.
|
2018-11-14 18:18:17 +01:00
|
|
|
.IP "\fB-m32, -m64, --win32, --win64\fR"
|
|
|
|
Force the target architecture to 32-bit or 64-bit.
|
2019-11-02 13:34:27 +01:00
|
|
|
.IP \fB\-\-sysroot=\fIdir\fR
|
|
|
|
Prefix the standard include paths with \fIdir\fR.
|
|
|
|
.IP \fB\-\-nostdinc\fR
|
|
|
|
Do not search standard include paths like /usr/include and
|
|
|
|
/usr/local/include.
|
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.
|
2021-11-12 12:40:56 +01:00
|
|
|
.IP "\fB-L \fIpath\fR"
|
|
|
|
Add a directory to the library search path for imported typelibs. The
|
|
|
|
option can be specified multiple times.
|
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.
|
2007-10-21 00:59:08 +02:00
|
|
|
.PP
|
2015-07-30 14:14:57 +02:00
|
|
|
.IP "\fB--winrt\fR"
|
|
|
|
Enable Windows Runtime mode.
|
2015-08-05 12:52:15 +02:00
|
|
|
.IP "\fB--ns_prefix\fR"
|
|
|
|
Prefix namespaces with ABI namespace.
|
2013-08-08 12:29:33 +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:
|
2013-07-17 16:45:23 +02:00
|
|
|
.IP "\fB--dlldata-only\fI name1 \fR[\fIname2\fR...]"
|
2010-11-27 12:33:05 +01:00
|
|
|
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"
|
2021-11-12 11:39:31 +01:00
|
|
|
Add a directory to the include search path. Multiple include
|
2007-10-21 00:59:08 +02:00
|
|
|
directories are allowed.
|
2013-07-19 11:53:17 +02:00
|
|
|
.IP "\fB-D \fIid\fR[\fB=\fIval\fR]"
|
2007-10-21 00:59:08 +02:00
|
|
|
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
|
2013-07-17 16:45:23 +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:
|
2012-12-10 11:27:33 +01:00
|
|
|
.IP "\fB-app_config\fR"
|
2012-11-07 11:25:21 +01:00
|
|
|
Ignored, present for midl compatibility.
|
2018-11-09 14:16:51 +01:00
|
|
|
.IP "\fB--acf=\fIfile\fR"
|
|
|
|
Use specified application configuration file.
|
2007-10-31 03:07:36 +01:00
|
|
|
.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
|
2013-07-16 20:48:05 +02: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
|
2013-07-16 20:48:05 +02:00
|
|
|
Bugs can be reported on the
|
2017-11-30 19:57:01 +01:00
|
|
|
.UR https://bugs.winehq.org
|
2013-07-16 20:48:05 +02:00
|
|
|
.B Wine bug tracker
|
|
|
|
.UE .
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH AUTHORS
|
|
|
|
.B widl
|
2013-07-17 16:45:23 +02:00
|
|
|
was originally written by Ove Kåven. It has been improved by Rob Shearman,
|
2007-10-21 00:59:08 +02:00
|
|
|
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.
|
2013-07-16 20:48:05 +02:00
|
|
|
.SH AVAILABILITY
|
|
|
|
.B widl
|
|
|
|
is part of the Wine distribution, which is available through WineHQ,
|
|
|
|
the
|
2017-11-30 19:57:01 +01:00
|
|
|
.UR https://www.winehq.org/
|
2013-07-16 20:48:05 +02:00
|
|
|
.B Wine development headquarters
|
|
|
|
.UE .
|
2004-03-09 04:49:39 +01:00
|
|
|
.SH "SEE ALSO"
|
2017-11-30 19:57:01 +01:00
|
|
|
.UR https://www.winehq.org/help
|
2013-07-16 20:48:05 +02:00
|
|
|
.B Wine documentation and support
|
|
|
|
.UE .
|