~mandel/ubuntuone-windows-installer/fix_null_pointer_start

« back to all changes in this revision

Viewing changes to tools/Nant/doc/help/tasks/midl.html

  • Committer: Manuel de la Pena
  • Date: 2010-07-08 13:22:59 UTC
  • Revision ID: mandel@themacaque.com-20100708132259-y1jgyuyqfe9stt8u
Updated build script to run tests and added all the required tools so far.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml">
 
3
  <!-- Documenting T:NAnt.VisualCpp.Tasks.MidlTask-->
 
4
  <head>
 
5
    <meta http-equiv="Content-Language" content="en-ca" />
 
6
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
7
    <link rel="stylesheet" type="text/css" href="../style.css" />
 
8
    <title>&lt;midl&gt; Task</title>
 
9
  </head>
 
10
  <body>
 
11
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
 
12
      <tr>
 
13
        <td class="NavBar-Cell">
 
14
          <a href="http://nant.sourceforge.net">
 
15
            <b>NAnt</b>
 
16
          </a>
 
17
          <img alt="-&gt;" src="../images/arrow.gif" />
 
18
          <a href="../index.html">Help</a>
 
19
          <img alt="-&gt;" src="../images/arrow.gif" />
 
20
          <a href="../tasks/index.html">Task Reference</a>
 
21
          <img alt="-&gt;" src="../images/arrow.gif" /> &lt;midl&gt;</td>
 
22
        <td class="NavBar-Cell" align="right">
 
23
                        v0.90</td>
 
24
      </tr>
 
25
    </table>
 
26
    <h1>&lt;midl&gt;</h1>
 
27
    <p> This tasks allows you to run MIDL.exe. </p>
 
28
    <p> This task only supports a small subset of the MIDL.EXE command line switches, but you can use the options element to specify any other unsupported commands you want to specify. </p>
 
29
    <h3>Parameters</h3>
 
30
    <div class="table">
 
31
      <table>
 
32
        <tr>
 
33
          <th>Attribute</th>
 
34
          <th style="text-align: center;">Type</th>
 
35
          <th>Description</th>
 
36
          <th style="text-align: center;">Required</th>
 
37
        </tr>
 
38
        <tr>
 
39
          <td valign="top" class="required">filename</td>
 
40
          <td style="text-align: center;">file</td>
 
41
          <td> Name of .IDL file to process. </td>
 
42
          <td style="text-align: center;">True</td>
 
43
        </tr>
 
44
        <tr>
 
45
          <td valign="top">acf</td>
 
46
          <td style="text-align: center;">string</td>
 
47
          <td> The /acf switch allows the user to supply an explicit ACF file name. The switch also allows the use of different interface names in the IDL and ACF files. </td>
 
48
          <td style="text-align: center;">False</td>
 
49
        </tr>
 
50
        <tr>
 
51
          <td valign="top">align</td>
 
52
          <td style="text-align: center;">string</td>
 
53
          <td> The /align switch is functionally the same as the MIDL /Zp option and is recognized by the MIDL compiler solely for backward compatibility with MkTypLib. </td>
 
54
          <td style="text-align: center;">False</td>
 
55
        </tr>
 
56
        <tr>
 
57
          <td valign="top">app_config</td>
 
58
          <td style="text-align: center;">bool</td>
 
59
          <td> The /app_config switch selects application-configuration mode, which allows you to use some ACF keywords in the IDL file. With this MIDL compiler switch, you can omit the ACF and specify an interface in a single IDL file. </td>
 
60
          <td style="text-align: center;">False</td>
 
61
        </tr>
 
62
        <tr>
 
63
          <td valign="top">char</td>
 
64
          <td style="text-align: center;">string</td>
 
65
          <td> The /char switch helps to ensure that the MIDL compiler and C compiler operate together correctly for all char and small types. </td>
 
66
          <td style="text-align: center;">False</td>
 
67
        </tr>
 
68
        <tr>
 
69
          <td valign="top">client</td>
 
70
          <td style="text-align: center;">string</td>
 
71
          <td> The /client switch directs the MIDL compiler to generate client-side C source files for an RPC interface </td>
 
72
          <td style="text-align: center;">False</td>
 
73
        </tr>
 
74
        <tr>
 
75
          <td valign="top">cstub</td>
 
76
          <td style="text-align: center;">string</td>
 
77
          <td> The /cstub switch specifies the name of the client stub file for an RPC interface. </td>
 
78
          <td style="text-align: center;">False</td>
 
79
        </tr>
 
80
        <tr>
 
81
          <td valign="top">dlldata</td>
 
82
          <td style="text-align: center;">file</td>
 
83
          <td> Specifies the file name for the generated dlldata file for a proxy DLL. The default file name Dlldata.c is used if <code>dlldata</code> is not specified. </td>
 
84
          <td style="text-align: center;">False</td>
 
85
        </tr>
 
86
        <tr>
 
87
          <td valign="top">env</td>
 
88
          <td style="text-align: center;">string</td>
 
89
          <td> The /env switch selects the environment in which the application runs. </td>
 
90
          <td style="text-align: center;">False</td>
 
91
        </tr>
 
92
        <tr>
 
93
          <td valign="top">header</td>
 
94
          <td style="text-align: center;">file</td>
 
95
          <td> Specifies the name of the header file. </td>
 
96
          <td style="text-align: center;">False</td>
 
97
        </tr>
 
98
        <tr>
 
99
          <td valign="top">iid</td>
 
100
          <td style="text-align: center;">file</td>
 
101
          <td> Specifies the name of the interface identifier file for a COM interface, overriding the default name obtained by adding _i.c to the IDL file name. </td>
 
102
          <td style="text-align: center;">False</td>
 
103
        </tr>
 
104
        <tr>
 
105
          <td valign="top">Oi</td>
 
106
          <td style="text-align: center;">string</td>
 
107
          <td> The /Oi switch directs the MIDL compiler to use a fully-interpreted marshaling method. The /Oic and /Oicf switches provide additional performance enhancements. </td>
 
108
          <td style="text-align: center;">False</td>
 
109
        </tr>
 
110
        <tr>
 
111
          <td valign="top">proxy</td>
 
112
          <td style="text-align: center;">file</td>
 
113
          <td> Specifies the name of the interface proxy file for a COM interface. </td>
 
114
          <td style="text-align: center;">False</td>
 
115
        </tr>
 
116
        <tr>
 
117
          <td valign="top">tlb</td>
 
118
          <td style="text-align: center;">file</td>
 
119
          <td> Specifies a file name for the type library generated by the MIDL compiler. </td>
 
120
          <td style="text-align: center;">False</td>
 
121
        </tr>
 
122
        <tr>
 
123
          <td valign="top">failonerror</td>
 
124
          <td style="text-align: center;">bool</td>
 
125
          <td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
 
126
          <td style="text-align: center;">False</td>
 
127
        </tr>
 
128
        <tr>
 
129
          <td valign="top">if</td>
 
130
          <td style="text-align: center;">bool</td>
 
131
          <td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
 
132
          <td style="text-align: center;">False</td>
 
133
        </tr>
 
134
        <tr>
 
135
          <td valign="top">timeout</td>
 
136
          <td style="text-align: center;">int</td>
 
137
          <td> The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. </td>
 
138
          <td style="text-align: center;">False</td>
 
139
        </tr>
 
140
        <tr>
 
141
          <td valign="top">unless</td>
 
142
          <td style="text-align: center;">bool</td>
 
143
          <td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
 
144
          <td style="text-align: center;">False</td>
 
145
        </tr>
 
146
        <tr>
 
147
          <td valign="top">verbose</td>
 
148
          <td style="text-align: center;">bool</td>
 
149
          <td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
 
150
          <td style="text-align: center;">False</td>
 
151
        </tr>
 
152
      </table>
 
153
    </div>
 
154
    <h3>Framework-configurable parameters</h3>
 
155
    <div class="table">
 
156
      <table>
 
157
        <tr>
 
158
          <th>Attribute</th>
 
159
          <th style="text-align: center;">Type</th>
 
160
          <th>Description</th>
 
161
          <th style="text-align: center;">Required</th>
 
162
        </tr>
 
163
        <tr>
 
164
          <td valign="top">exename</td>
 
165
          <td style="text-align: center;">string</td>
 
166
          <td> The name of the executable that should be used to launch the external program. </td>
 
167
          <td style="text-align: center;">False</td>
 
168
        </tr>
 
169
        <tr>
 
170
          <td valign="top">managed</td>
 
171
          <td style="text-align: center;">
 
172
            <a href="../enums/NAnt.Core.Types.ManagedExecution.html">ManagedExecution</a>
 
173
          </td>
 
174
          <td> Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. </td>
 
175
          <td style="text-align: center;">False</td>
 
176
        </tr>
 
177
        <tr>
 
178
          <td valign="top">useruntimeengine</td>
 
179
          <td style="text-align: center;">bool</td>
 
180
          <td>
 
181
            <i>Deprecated.</i>  Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is <b>false</b>. </td>
 
182
          <td style="text-align: center;">False</td>
 
183
        </tr>
 
184
      </table>
 
185
    </div>
 
186
    <h3>Nested Elements:</h3>
 
187
    <!--Collection-->
 
188
    <h4>
 
189
      <a id="options">
 
190
      </a>
 
191
            &lt;options&gt;
 
192
        </h4>
 
193
    <div class="nested-element"> Additional options to pass to midl.exe. <h5>&lt;option&gt;</h5><div class="nested-element"><p> Represents an option. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top" class="required">name</td><td style="text-align: center;">string</td><td> Name of the option. </td><td style="text-align: center;">True</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the option should be passed to the task. If <b>true</b> then the option will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the option should not be passed to the task. If <b>false</b> then the option will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> Value of the option. The default is a null reference (<b>Nothing</b> in Visual Basic). </td><td style="text-align: center;">False</td></tr></table></div></div><h5>&lt;/option&gt;</h5></div>
 
194
    <h4>&lt;/options&gt;</h4>
 
195
    <!--Collection-->
 
196
    <h4>
 
197
      <a id="defines">
 
198
      </a>
 
199
            &lt;defines&gt;
 
200
        </h4>
 
201
    <div class="nested-element"> Macro definitions to pass to mdil.exe. Each entry will generate a /D <h5>&lt;define&gt;</h5><div class="nested-element"><p> Represents an option. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top" class="required">name</td><td style="text-align: center;">string</td><td> Name of the option. </td><td style="text-align: center;">True</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the option should be passed to the task. If <b>true</b> then the option will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the option should not be passed to the task. If <b>false</b> then the option will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> Value of the option. The default is a null reference (<b>Nothing</b> in Visual Basic). </td><td style="text-align: center;">False</td></tr></table></div></div><h5>&lt;/define&gt;</h5></div>
 
202
    <h4>&lt;/defines&gt;</h4>
 
203
    <!--Collection-->
 
204
    <h4>
 
205
      <a id="undefines">
 
206
      </a>
 
207
            &lt;undefines&gt;
 
208
        </h4>
 
209
    <div class="nested-element"> Macro undefines (/U) to pass to mdil. <h5>&lt;undefine&gt;</h5><div class="nested-element"><p> Represents an option. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top" class="required">name</td><td style="text-align: center;">string</td><td> Name of the option. </td><td style="text-align: center;">True</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the option should be passed to the task. If <b>true</b> then the option will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the option should not be passed to the task. If <b>false</b> then the option will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> Value of the option. The default is a null reference (<b>Nothing</b> in Visual Basic). </td><td style="text-align: center;">False</td></tr></table></div></div><h5>&lt;/undefine&gt;</h5></div>
 
210
    <h4>&lt;/undefines&gt;</h4>
 
211
    <!--Element-->
 
212
    <h4>
 
213
      <a id="includedirs">
 
214
      </a>
 
215
                    &lt;<a href="../types/fileset.html">includedirs</a>&gt;
 
216
                </h4>
 
217
    <div class="nested-element"> The list of directories in which to search for include files. <p /></div>
 
218
    <h4>
 
219
      <a id="includedirs">
 
220
      </a>
 
221
                    &lt;/<a href="../types/fileset.html">includedirs</a>&gt;
 
222
                </h4>
 
223
    <!--Array-->
 
224
    <!--NestedElementArray=T:NAnt.Core.Types.Argument-->
 
225
    <h4>
 
226
      <a id="arg">
 
227
      </a>
 
228
                    &lt;arg&gt;
 
229
                </h4>
 
230
    <div class="nested-element"> The command-line arguments for the external program. <p> Represents a command-line argument. </p><p> When passed to an external application, the argument will be quoted when appropriate. This does not apply to the <code>line</code> parameter, which is always passed as is. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top">dir</td><td style="text-align: center;">directory</td><td> The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">file</td><td style="text-align: center;">file</td><td> The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the argument should be passed to the external program. If <b>true</b> then the argument will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">line</td><td style="text-align: center;">string</td><td> List of command-line arguments; will be passed to the executable as is. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">path</td><td style="text-align: center;">&lt;path&gt;</td><td> The value for a PATH-like command-line argument; you can use <code>:</code> or <code>;</code> as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the argument should not be passed to the external program. If <b>false</b> then the argument will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> A single command-line argument; can contain space characters. </td><td style="text-align: center;">False</td></tr></table></div><h3>Nested Elements:</h3><!--Element--><h4><a id="path"></a>
 
231
                    &lt;<a href="../types/path.html">path</a>&gt;
 
232
                </h4><div class="nested-element"> Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used. <p /></div><h4><a id="path"></a>
 
233
                    &lt;/<a href="../types/path.html">path</a>&gt;
 
234
                </h4><h3>Examples</h3><ul class="examples"><li><p> A single command-line argument containing a space character. </p><pre class="code">
 
235
&lt;arg value="-l -a" /&gt;
 
236
    </pre></li><li><p> Two separate command-line arguments. </p><pre class="code">
 
237
&lt;arg line="-l -a" /&gt;
 
238
    </pre></li><li><p> A single command-line argument with the value <code>\dir;\dir2;\dir3</code> on DOS-based systems and <code>/dir:/dir2:/dir3</code> on Unix-like systems. </p><pre class="code">
 
239
&lt;arg path="/dir;/dir2:\dir3" /&gt;
 
240
    </pre></li></ul></div>
 
241
    <h4>
 
242
      <a id="arg">
 
243
      </a>
 
244
                    &lt;/arg&gt;
 
245
                </h4>
 
246
    <h3>Examples</h3>
 
247
    <ul class="examples">
 
248
      <li>
 
249
        <pre class="code">
 
250
            &lt;midl
 
251
                env="win32"
 
252
                Oi="cf"
 
253
                tlb="${outputdir}\TempAtl.tlb"
 
254
                header="${outputdir}\TempAtl.h"
 
255
                iid="${outputdir}\TempAtl_i.c"
 
256
                proxy="${outputdir}\TempAtl_p.c"
 
257
                filename="TempAtl.idl"
 
258
            &gt;
 
259
                &lt;defines&gt;
 
260
                    &lt;define name="_DEBUG"/&gt;
 
261
                    &lt;define name="WIN32" value="1"/&gt;
 
262
                &lt;/defines&gt;
 
263
                &lt;options&gt;
 
264
                    &lt;option name="/mktyplib203"/&gt;
 
265
                    &lt;option name="/error" value="allocation"/&gt;
 
266
                &lt;/options&gt;
 
267
            &lt;/midl&gt;
 
268
                </pre>
 
269
      </li>
 
270
    </ul>
 
271
    <h3>Requirements</h3>
 
272
    <div style="margin-left: 20px;">
 
273
      <b>Assembly:</b> NAnt.VisualCppTasks (0.90.3780.0)
 
274
            </div>
 
275
  </body>
 
276
</html>
 
 
b'\\ No newline at end of file'