1WIDL(1)                     Wine Developers Manual                     WIDL(1)
2
3
4

NAME

6       widl - Wine Interface Definition Language (IDL) compiler
7

SYNOPSIS

9       widl [options] IDL_file
10       widl [options] --dlldata-only name1 [name2...]
11

DESCRIPTION

13       When  no  options are used the program will generate a header file, and
14       possibly client and server stubs, proxy and dlldata files,  a  typelib,
15       and  a UUID file, depending on the contents of the IDL file.  If any of
16       the options -c, -h, -p, -s, -t, -u or --local-stubs is given, widl will
17       only generate the requested files, and no others.  When run with --dll‐
18       data-only, widl will only generate a dlldata file, and it will  contain
19       a  list of the names passed as arguments.  Usually the way this file is
20       updated is that each time widl is run, it reads  any  existing  dlldata
21       file,  and if necessary regenerates it with the same list of names, but
22       with the present proxy file included.
23
24       When run without any arguments, widl will print a help message.
25

OPTIONS

27       General options:
28
29       -V     Print version number and exit.
30
31       -o, --output=name
32              Set the name of the output file. When generating multiple output
33              files,  this sets only the base name of the file; the respective
34              output files are then named name.h, name_p.c, etc.   If  a  full
35              file  name with extension is specified, only that file is gener‐
36              ated.
37
38       -b, --target=cpu-manufacturer[-kernel]-os
39              Set the target architecture  when  cross-compiling.  The  target
40              specification  is in the standard autoconf format as returned by
41              config.sub.
42
43       -m32, -m64, --win32, --win64
44              Force the target architecture to 32-bit or 64-bit.
45
46       --sysroot=dir
47              Prefix the standard include paths with dir.
48
49       --nostdinc
50              Do not search  standard  include  paths  like  /usr/include  and
51              /usr/local/include.
52
53       Header options:
54
55       -h     Generate header files. The default output filename is infile.h.
56
57       --oldnames
58              Use old naming conventions.
59
60       Type library options:
61
62       -t     Generate  a  type  library.  The  default output filename is in‐
63              file.tlb.  If the output file name ends in .res,  a  binary  re‐
64              source file containing the type library is generated instead.
65
66       -L path
67              Add  a  directory  to the library search path for imported type‐
68              libs. The option can be specified multiple times.
69
70       UUID file options:
71
72       -u     Generate a UUID file. The default output filename is infile_i.c.
73
74       Proxy/stub generation options:
75
76       -c     Generate a client stub file. The default output filename is  in‐
77              file_c.c.
78
79       -Os    Generate inline stubs.
80
81       -Oi    Generate old-style interpreted stubs.
82
83       -Oif, -Oic, -Oicf
84              Generate new-style fully interpreted stubs.
85
86       -p     Generate a proxy. The default output filename is infile_p.c.
87
88       --prefix-all=prefix
89              Prefix to put on the name of both client and server stubs.
90
91       --prefix-client=prefix
92              Prefix to put on the name of client stubs.
93
94       --prefix-server=prefix
95              Prefix to put on the name of server stubs.
96
97       -s     Generate  a server stub file. The default output filename is in‐
98              file_s.c.
99
100       --winrt
101              Enable Windows Runtime mode.
102
103       --ns_prefix
104              Prefix namespaces with ABI namespace.
105
106       Registration script options:
107
108       -r     Generate a registration script. The default output  filename  is
109              infile_r.rgs. If the output file name ends in .res, a binary re‐
110              source file containing the script is generated instead.
111
112       Dlldata file options:
113
114       --dlldata-only name1 [name2...]
115              Regenerate the dlldata file from  scratch  using  the  specified
116              proxy names. The default output filename is dlldata.c.
117
118       Preprocessor options:
119
120       -I path
121              Add a directory to the include search path. Multiple include di‐
122              rectories are allowed.
123
124       -D id[=val]
125              Define preprocessor macro id with value val.
126
127       -E     Preprocess only.
128
129       -N     Do not preprocess input.
130
131       Debug options:
132
133       -W     Enable pedantic warnings.
134
135       -d n   Set debug level to the non negative integer n.  If prefixed with
136              0x,  it  will  be interpreted as an hexadecimal number.  For the
137              meaning of values, see the DEBUG section.
138
139       Miscellaneous options:
140
141       -app_config
142              Ignored, present for midl compatibility.
143
144       --acf=file
145              Use specified application configuration file.
146
147       --local-stubs=file
148              Generate empty stubs for call_as/local methods in an object  in‐
149              terface and write them to file.
150

DEBUG

152       Debug level n is a bitmask with the following meaning:
153           * 0x01 Tell which resource is parsed (verbose mode)
154           * 0x02 Dump internal structures
155           * 0x04 Create a parser trace (yydebug=1)
156           * 0x08 Preprocessor messages
157           * 0x10 Preprocessor lex messages
158           * 0x20 Preprocessor yacc trace
159

BUGS

161       Bugs can be reported on the Wine bug tracker https://bugs.winehq.org⟩.
162

AUTHORS

164       widl  was originally written by Ove Kåven.  It has been improved by Rob
165       Shearman, Dan Hipschman, and others.  For a complete list, see the  git
166       commit  logs.   This  man page was originally written by Hannu Valtonen
167       and then updated by Dan Hipschman.
168

AVAILABILITY

170       widl is part of the  Wine  distribution,  which  is  available  through
171       WineHQ, the Wine development headquarters https://www.winehq.org/⟩.
172

SEE ALSO

174       Wine documentation and support https://www.winehq.org/help⟩.
175
176
177
178Wine 7.12                        October 2007                          WIDL(1)
Impressum