<!--  vim: set sw=2 sts=2 et ft=docbk:

  Part of the A-A-P recipe executive: Standard Modules

  Copyright (C) 2002-2003 Stichting NLnet Labs
  Permission to copy and use this file is specified in the file COPYING.
  If this file is missing you can find it here: http://www.a-a-p.org/COPYING

-->

<para>
  There is no standard module for the "C" language.  This language is
  supported without the need to import a module.
</para>

<para>
The following modules are distributed with &Aap;:

<variablelist>
  <varlistentry>
    <term>d</term>
    <listitem>
      <anchor id="mod-d"/>
      <para>
        Support for the "D" programming language. With this module imported,
        <computeroutput>:program</computeroutput>, <computeroutput>:dll
        </computeroutput> and <computeroutput>:lib</computeroutput> commands
        can be used as easily as with C or C++. To customize compilation and
        linking, the variables below can be filled. See also 
        <xref linkend="ref-tools"/> for supported D tools.
      </para>
      <table frame="none">
        <title>Variables of the D module</title>
        <tgroup cols="2">
          <colspec colwidth="170"/>
          <thead>
            <row>
              <entry align="left">name</entry>
              <entry align="left">type&nbsp;&nbsp;</entry>
              <entry align="left">description</entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top"><anchor id="var-d_compile_action"/> $D_COMPILE_ACTION
              </entry>
              <entry valign="top"> Aap </entry>
              <entry valign="top"> When not empty, specifies the action name to be 
                executed for compiling a D file into an object, dllobject or libobject 
                file. See <xref linkend="user-tools"/>. </entry>
            </row>
            <row>
              <entry valign="top"><anchor id="var-d_build_action"/> $D_BUILD_ACTION
              </entry>
              <entry valign="top"> Aap </entry>
              <entry valign="top"> When not empty, specifies the action name to be 
                executed for building a program or library from object files compiled
                by a D compiler. A "buildaction" attribute on one of the object files 
                is used before $D_BUILD_ACTION. See <xref linkend="user-tools"/>. 
              </entry>
            </row>
            <row>
              <entry valign="top"><anchor id="var-d_builddll_action"/> $D_BUILDDLL_ACTION
              </entry>
              <entry valign="top"> Aap </entry>
              <entry valign="top"> When not empty, specifies the action name to be 
                executed for building a dynamic link library from object files compiled
                by a D compiler. A "buildaction" attribute on one of the object files 
                is used before $D_BUILDDLL_ACTION. See <xref linkend="user-tools"/>. 
              </entry>
           </row>
           <row>
             <entry valign="top"><anchor id="var-d_buildlib_action"/> $D_BUILDLIB_ACTION
             </entry>
             <entry valign="top"> Aap </entry>
             <entry valign="top"> When not empty, specifies the action name to be 
               executed for building a static library from object files compiled
               by a D compiler. A "buildaction" attribute on one of the object files 
               is used before $D_BUILDLIB_ACTION. See <xref linkend="user-tools"/>. 
            </entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-d_buildonestep_action"/> $D_BUILDONESTEP_ACTION
            </entry>
            <entry valign="top"> Aap </entry>
            <entry valign="top"> When not empty, specifies the action name to be 
              executed for building a program directly from D source.
              See <xref linkend="user-tools"/>. 
            </entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-d_builddllonestep_action"/> $D_BUILDDLLONESTEP_ACTION
            </entry>
            <entry valign="top"> Aap </entry>
            <entry valign="top"> When not empty, specifies the action name to be 
              executed for building a dynamic link library directly from D 
              source. See <xref linkend="user-tools"/>. 
            </entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-d_buildlibonestep_action"/> $D_BUILDLIBONESTEP_ACTION
            </entry>
            <entry valign="top"> Aap </entry>
            <entry valign="top"> When not empty, specifies the action name to 
              be executed for building a static library directly from D source.
              See <xref linkend="user-tools"/>. 
           </entry>
          </row>
          <row>
           <entry valign="top"><anchor id="var-dflags"/> $DFLAGS </entry>
           <entry valign="top"> user </entry>
           <entry valign="top"> Compiler arguments passed to the D
                compiler. </entry>
          </row>
          <row>
           <entry valign="top"><anchor id="var-dlinkflags"/> $DLINKFLAGS </entry>
            <entry valign="top"> user </entry>
            <entry valign="top"> Arguments passed to the linker; in most cases
                libraries to link with. </entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-dimport"/> $DIMPORT </entry>
            <entry valign="top"> user </entry>
            <entry valign="top"> Import directories used for the D compiler.
              Always use the "-Ipath" form and don't use it for other 
              switches. A-A-P will convert it to what the compiler actually 
              uses. This variable is also used when checking for dependencies.
              </entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-dversion"/> $DVERSION </entry>
            <entry valign="top"> user </entry>
            <entry valign="top"> Version arguments passed to the D compiler. 
             Always use the "-version=..." form, the tool will convert it to
             what the compiler actually uses.</entry>
          </row>
          <row>
            <entry valign="top"><anchor id="var-ddebug"/> $DDEBUG </entry>
            <entry valign="top"> user </entry>
            <entry valign="top"> Debug arguments passed to the D compiler. 
              Always use the "-debug"/"-debug=..." form, the tool will convert
              it to what the compiler actually uses. To enable symbolic debug
              information, set the the <link linkend="var-debug">$DEBUG</link> 
              to "yes". For other language independent debugging switches, like 
              enabling profiling hooks, use $DFLAGS.
              </entry>
            </row> 
          <row>
            <entry valign="top"><anchor id="var-dimplib"/> $DIMPLIB </entry>
            <entry valign="top"> user </entry>
            <entry valign="top"> If this variable is set to 'yes', an import
              library will be created when building a dll on the Windows
              platform.
              </entry>
            </row>
          </tbody>
        </tgroup>
      </table> 
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>libtool</term>
    <listitem>
      <anchor id="mod-libtool"/>
      <para>
        Adds support for GNU libtool, so that you can use it to build
        shared libraries in a portable manner.
        Automatically imported if you use a
        <link linkend="cmd-ltlib">:ltlib</link> command.
      </para>
    </listitem>
  </varlistentry>

  <varlistentry>
    <term>qt</term>
    <listitem>
      <anchor id="mod-qt"/>
      <para>
        Adds support for the Qt library.
      </para>
    </listitem>
  </varlistentry>

</variablelist>
</para>

