+ <section id="element.module">
+ <title>Module element</title>
+
+ <para>There can be zero or more <sgmltag
+ class="element">module</sgmltag>s per XML build file.</para>
+
+ <section>
+ <title>Syntax</title>
+
+ <para><programlisting><module if="${MP}" ifnot="${MP}" name="msvcrt" type="win32dll" extension=".dll" entrypoint="_DllMain@12" baseaddress="0x70000000" mangledsymbols="true" installbase="system32" installname="msvcrt.dll" usewrc="false" warnings="true" aliasof="module1">
+ ...
+</module></programlisting></para>
+ </section>
+
+ <section>
+ <title>Attributes</title>
+
+ <para><variablelist>
+ <varlistentry>
+ <term>if</term>
+
+ <listitem>
+ <para>If the value is 1, then the module is enabled,
+ otherwise it is disabled. A disabled module is not
+ processed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ifnot</term>
+
+ <listitem>
+ <para>If the value is 1, then the module is disabled,
+ otherwise it is enabled. A disabled module is not
+ processed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>name</term>
+
+ <listitem>
+ <para>Name of the module. Also the base name of the
+ generated file if such file is generated for the particular
+ module type.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>type</term>
+
+ <listitem>
+ <para>Type of module. See below for an explanation of module
+ types. <emphasis><emphasis>The module type determines the
+ actions that is to be carried out to process the module. The
+ defined module types are seen
+ below:</emphasis></emphasis></para>
+
+ <table>
+ <title>Module Types</title>
+
+ <tgroup cols="6">
+ <thead>
+ <row>
+ <entry>Value</entry>
+
+ <entry>Output name suffix</entry>
+
+ <entry>Entrypoint</entry>
+
+ <entry>Baseaddress</entry>
+
+ <entry>Mangledsymbols</entry>
+
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>buildtool</entry>
+
+ <entrytbl cols="2">
+ <tbody>
+ <row>
+ <entry><filename>.exe</filename> (Windows)</entry>
+
+ <entry>none (Linux)</entry>
+ </row>
+ </tbody>
+ </entrytbl>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>Builds a tool that can be run (invoked) when
+ building ReactOS.</entry>
+ </row>
+
+ <row>
+ <entry>staticlibrary</entry>
+
+ <entry><filename>.a</filename></entry>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>Builds a static library containing object
+ files that can be linked together with other
+ modules.</entry>
+ </row>
+
+ <row>
+ <entry>objectlibrary</entry>
+
+ <entry><filename>.o</filename></entry>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>-</entry>
+
+ <entry>Builds object files that can be linked
+ together with other modules.</entry>
+ </row>
+
+ <row>
+ <entry>kernel</entry>
+
+ <entry><filename>.exe</filename></entry>
+
+ <entry><function>_NtProcessStartup</function></entry>
+
+ <entry>-</entry>