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

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

  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>
  A tool has been made for several compilers on different platforms.
  Tools can be selected for use by the <computeroutput>:usetool</computeroutput>
  and <computeroutput>:toolsearch</computeroutput> commands. 
</para>

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

<variablelist>
  <varlistentry>
    <term>bcc</term>
    <listitem>
      <anchor id="tool-bcc"/>
      <para>
        Adds support for the Borland C++ compiler tools. 
      </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>dmd</term>
    <listitem>
      <anchor id="tool-dmd"/>
      <para>
        Support for the Digital Mars D compiler.
      </para>
      <para>
        The "{onestep}" option is supported for this compiler. Also,
        if the <link linkend="cmd-dll">:dll</link> target is used,
        it will check for existence of DllMain. If it isn't found, it
        will be added. Export definitions are delegated to the 
        programmer through using either '.def'-files or the 'export'
        attribute (recommended). Note that DMD currently supports dll's
        only for the Win32 platform.
      </para>
      <para>
        In addition to using the variables in the 
        <link linkend="mod-d">D module</link>,the tool uses the 
        <link linkend="var-debug">$DEBUG</link> and the 
        <link linkend="var-optimize">$OPTIMIZE</link> variables
        if set. If <link linkend="var-optimize">$OPTIMIZE</link> is set
        to a value larger than 0, the "-O" switch is passed to the
        compiler. Optimization is on by default. If <link linkend="var-debug">
        $DEBUG</link> is set to "yes", the "-g" switch will be passed
        to the compiler. For other language independent switches like "-gt",
        use the <link linkend="var-dflags">$DFLAGS</link> variable.
        The language dependent debug switches should be put in the
        <link linkend="var-ddebug">$DDEBUG</link> variable.
      </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>gcc</term>
    <listitem>
      <anchor id="tool-gcc"/>
      <para>
        Adds support for the GNU C compiler tools.
      </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>icc</term>
    <listitem>
      <anchor id ="tool-icc"/>
      <para>
        Support for the IBM C compiler tools. 
      </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term>mingw</term>
    <listitem>
      <anchor id="tool-mingw"/>
      <para>
        Adds support for the GNU C compiler tools under the MinGW environment.
      </para>
    </listitem>
  </varlistentry>
  <varlistentry>  
    <term>msvc</term>
    <listitem>
      <anchor id="tool-msvc"/>
      <para>
        Support for the MicroSoft Visual compiler tools.
      </para>
    </listitem>
  </varlistentry>
</variablelist>
</para>

