<!DOCTYPE sconsdoc [
    <!ENTITY % scons SYSTEM "../scons.mod">
    %scons;
    <!ENTITY % builders-mod SYSTEM "builders.mod">
    %builders-mod;
    <!ENTITY % functions-mod SYSTEM "functions.mod">
    %functions-mod;
    <!ENTITY % tools-mod SYSTEM "tools.mod">
    %tools-mod;
    <!ENTITY % variables-mod SYSTEM "variables.mod">
    %variables-mod;
]>

<variablelist xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">
  <varlistentry id="t-386asm">
    <term>386asm</term>
    <listitem><para>
Sets construction variables for the 386ASM assembler
for the Phar Lap ETS embedded operating system.
</para>
<para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-aixcXX">
    <term>aixc++</term>
    <listitem><para>
Sets construction variables for the IMB xlc / Visual Age C++ compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-aixcc">
    <term>aixcc</term>
    <listitem><para>
Sets construction variables for the IBM xlc / Visual Age C compiler.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCC;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-aixf77">
    <term>aixf77</term>
    <listitem><para>
Sets construction variables for the IBM Visual Age f77 Fortran compiler.
</para>
<para>Sets: &cv-link-F77;, &cv-link-SHF77;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-aixlink">
    <term>aixlink</term>
    <listitem><para>
Sets construction variables for the IBM Visual Age linker.
</para>
<para>Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-applelink">
    <term>applelink</term>
    <listitem><para>
                Sets construction variables for the Apple linker
                (similar to the GNU linker).
            </para>
        <para>Sets: &cv-link-APPLELINK_COMPATIBILITY_VERSION;, &cv-link-APPLELINK_CURRENT_VERSION;, &cv-link-APPLELINK_NO_COMPATIBILITY_VERSION;, &cv-link-APPLELINK_NO_CURRENT_VERSION;, &cv-link-FRAMEWORKPATHPREFIX;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LINKCOM;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_APPLELINK_COMPATIBILITY_VERSION;, &cv-link-_APPLELINK_CURRENT_VERSION;, &cv-link-_FRAMEWORKPATH;, &cv-link-_FRAMEWORKS;.</para><para>Uses: &cv-link-FRAMEWORKSFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ar">
    <term>ar</term>
    <listitem><para>
Sets construction variables for the &ar; library archiver.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-RANLIBFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-as">
    <term>as</term>
    <listitem><para>
Sets construction variables for the &as; assembler.
</para>
<para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-bcc32">
    <term>bcc32</term>
    <listitem><para>
Sets construction variables for the bcc32 compiler.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.</para><para>Uses: &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-cc">
    <term>cc</term>
    <listitem><para>
Sets construction variables for generic POSIX C compilers.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCDEPFLAGS;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.</para><para>Uses: &cv-link-CCCOMSTR;, &cv-link-PLATFORM;, &cv-link-SHCCCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-clang">
    <term>clang</term>
    <listitem><para>
Set construction variables for the Clang C compiler.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCDEPFLAGS;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-clangxx">
    <term>clangxx</term>
    <listitem><para>
Set construction variables for the Clang C++ compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-compilation_db">
    <term>compilation_db</term>
    <listitem><para>
                Sets up &b-link-CompilationDatabase; builder which generates a clang tooling compatible compilation database.
            </para>
        <para>Sets: &cv-link-COMPILATIONDB_COMSTR;, &cv-link-COMPILATIONDB_PATH_FILTER;, &cv-link-COMPILATIONDB_USE_ABSPATH;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-cvf">
    <term>cvf</term>
    <listitem><para>
Sets construction variables for the Compaq Visual Fortran compiler.
</para>
<para>Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANMODDIR;, &cv-link-FORTRANMODDIRPREFIX;, &cv-link-FORTRANMODDIRSUFFIX;, &cv-link-FORTRANPPCOM;, &cv-link-OBJSUFFIX;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.</para><para>Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;, &cv-link-_FORTRANMODFLAG;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-cXX">
    <term>cXX</term>
    <listitem><para>
Sets construction variables for generic POSIX C++ compilers.
</para>
<para>Sets: &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;.</para><para>Uses: &cv-link-CXXCOMSTR;, &cv-link-SHCXXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-cyglink">
    <term>cyglink</term>
    <listitem><para>
Set construction variables for cygwin linker/loader.
</para>
<para>Sets: &cv-link-IMPLIBPREFIX;, &cv-link-IMPLIBSUFFIX;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LINKFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBPREFIX;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULEVERSIONFLAGS;, &cv-link-_SHLIBVERSIONFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-default">
    <term>default</term>
    <listitem><para>
Sets &consvars; for a default list of Tool modules.
Use <emphasis role="bold">default</emphasis>
in the tools list to retain the original defaults,
since the <parameter>tools</parameter> parameter
is treated as a literal statement of the tools
to be made available in that &consenv;, not an addition.
</para>

<para>
The list of tools selected by default is not static,
but is dependent both on
the platform and on the software installed on the platform.
Some tools will not initialize if an underlying command is
not found, and some tools are selected from a list of choices
on a first-found basis. The finished tool list can be
examined by inspecting the &cv-link-TOOLS; &consvar;
in the &consenv;.
</para>

<para>
On all platforms, the tools from the following list
are selected if their respective conditions are met:
<!--TODO: &t-link-filesystem; --> filesystem;,
<!--TODO &t-link-wix; --> wix,
&t-link-lex;, &t-link-yacc;,
&t-link-rpcgen;, &t-link-swig;,
&t-link-jar;, &t-link-javac;, &t-link-javah;, &t-link-rmic;,
&t-link-dvipdf;, &t-link-dvips;, &t-link-gs;,
&t-link-tex;, &t-link-latex;, &t-link-pdflatex;, &t-link-pdftex;,
&t-link-tar;, &t-link-zip;, &t-link-textfile;.
</para>

<para>
On Linux systems, the default tools list selects
(first-found): a C compiler from
&t-link-gcc;, &t-link-intelc;, &t-link-icc;, &t-link-cc;;
a C++ compiler from
&t-link-gXX;, &t-link-intelc;, &t-link-icc;, &t-link-cXX;;
an assembler from
&t-link-gas;, &t-link-nasm;, &t-link-masm;;
a linker from
&t-link-gnulink;, &t-link-ilink;;
a Fortran compiler from
&t-link-gfortran;, &t-link-g77;, &t-link-ifort;, &t-link-ifl;,
&t-link-f95;, &t-link-f90;, &t-link-f77;;
and a static archiver &t-link-ar;.
It also selects all found from the list
&t-link-m4;
<!-- TODO &t-link-rpm; --> rpm.
</para>

<para>
On Windows systems, the default tools list selects
(first-found): a C compiler from
&t-link-msvc;, &t-link-mingw;, &t-link-gcc;, &t-link-intelc;,
&t-link-icl;, &t-link-icc;, &t-link-cc;, &t-link-bcc32;;
a C++ compiler from
&t-link-msvc;, &t-link-intelc;, &t-link-icc;, &t-link-gXX;,
&t-link-cXX;, &t-link-bcc32;;
an assembler from
&t-link-masm;, &t-link-nasm;, &t-link-gas;, &t-link-386asm;;
a linker from
&t-link-mslink;, &t-link-gnulink;, &t-link-ilink;,
&t-link-linkloc;, &t-link-ilink32;;
a Fortran compiler from
&t-link-gfortran;, &t-link-g77;, &t-link-ifl;, &t-link-cvf;,
&t-link-f95;, &t-link-f90;, &t-link-fortran;;
and a static archiver from
&t-link-mslib;, &t-link-ar;, &t-link-tlib;;
It also selects all found from the list
&t-link-msvs;, &t-link-midl;.
</para>

<para>
On MacOS systems, the default tools list selects
(first-found): a C compiler from
&t-link-gcc;, &t-link-cc;;
a C++ compiler from
&t-link-gXX;, &t-link-cXX;;
an assembler &t-link-as;;
a linker from
&t-link-applelink;, &t-link-gnulink;;
a Fortran compiler from
&t-link-gfortran;, &t-link-f95;, &t-link-f90;, &t-link-g77;;
and a static archiver &t-link-ar;.
It also selects all found from the list
&t-link-m4;,
<!-- TODO &t-link-rpm; --> rpm.
</para>

<para>
Default lists for other platforms can be found by
examining the &scons;
source code (see
<filename>SCons/Tool/__init__.py</filename>).
</para>

</listitem>
  </varlistentry>
  <varlistentry id="t-dmd">
    <term>dmd</term>
    <listitem><para>
Sets construction variables for D language compiler DMD.
</para>
<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-docbook">
    <term>docbook</term>
    <listitem><para>This tool tries to make working with Docbook in &SCons; a little easier.
It provides several toolchains for creating different output formats,
like HTML or PDF. Contained in the package is
a distribution of the Docbook XSL stylesheets as of version 1.76.1.
As long as you don't specify your own stylesheets for customization,
these official versions are picked as default...which should reduce
the inevitable setup hassles for you.
</para>
<para>Implicit dependencies to images and XIncludes are detected automatically
if you meet the HTML requirements. The additional
stylesheet <filename>utils/xmldepend.xsl</filename> by Paul DuBois is used for this purpose.
</para>
<para>Note, that there is no support for XML catalog resolving offered! This tool calls
the XSLT processors and PDF renderers with the stylesheets you specified, that's it.
The rest lies in your hands and you still have to know what you're doing when
resolving names via a catalog.
</para>
<para>For activating the tool "docbook", you have to add its name to the Environment constructor,
like this
</para>
<screen>env = Environment(tools=['docbook'])
</screen>
<para>On its startup, the &t-docbook; tool tries to find a required <literal>xsltproc</literal> processor, and
a PDF renderer, e.g. <application>fop</application>. So make sure that these are added to your system's environment
<envar>PATH</envar> and can be called directly without specifying their full path.
</para>
<para>For the most basic processing of Docbook to HTML, you need to have installed
</para>
<itemizedlist><listitem><para>the Python <systemitem>lxml</systemitem>
binding to <systemitem>libxml2</systemitem>, or</para>
</listitem>
<listitem><para>a standalone XSLT processor, currently detected are <application>xsltproc</application>, <application>saxon</application>, <application>saxon-xslt</application>
and <application>xalan</application>.
</para>
</listitem>
</itemizedlist>
<para>Rendering to PDF requires you to have one of the applications
<application>fop</application> or <application>xep</application> installed.
</para>

<para>Creating a HTML or PDF document is very simple and straightforward. Say
</para>
<screen>env = Environment(tools=['docbook'])
env.DocbookHtml('manual.html', 'manual.xml')
env.DocbookPdf('manual.pdf', 'manual.xml')
</screen>
<para>to get both outputs from your XML source <filename>manual.xml</filename>. As a shortcut, you can
give the stem of the filenames alone, like this:
</para>
<screen>env = Environment(tools=['docbook'])
env.DocbookHtml('manual')
env.DocbookPdf('manual')
</screen>
<para>and get the same result. Target and source lists are also supported:
</para>
<screen>env = Environment(tools=['docbook'])
env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml'])
</screen>
<para>or even
</para>
<screen>env = Environment(tools=['docbook'])
env.DocbookHtml(['manual','reference'])
</screen>
<important><para>Whenever you leave out the list of sources, you may not specify a file extension! The
Tool uses the given names as file stems, and adds the suffixes for target and source files
accordingly.
</para>
</important>
<para>The rules given above are valid for the Builders &b-link-DocbookHtml;,
&b-link-DocbookPdf;, &b-link-DocbookEpub;, &b-link-DocbookSlidesPdf; and &b-link-DocbookXInclude;. For the
&b-link-DocbookMan; transformation you
can specify a target name, but the actual output names are automatically
set from the <literal>refname</literal> entries in your XML source.
</para>

<para>The Builders &b-link-DocbookHtmlChunked;, &b-link-DocbookHtmlhelp; and
&b-link-DocbookSlidesHtml; are special, in that:
</para>
<orderedlist><listitem><para>they create a large set of files, where the exact names and their number depend
on the content of the source file, and
</para>
</listitem>
<listitem><para>the main target is always named <filename>index.html</filename>, i.e. the output name for the
XSL transformation is not picked up by the stylesheets.
</para>
</listitem>
</orderedlist>
<para>As a result, there is simply no use in specifying a target HTML name.
So the basic syntax for these builders is always:
</para>
<screen>env = Environment(tools=['docbook'])
env.DocbookHtmlhelp('manual')
</screen>

<para>If you want to use a specific XSL file, you can set the
additional <parameter>xsl</parameter> parameter to your
Builder call as follows:
</para>
<screen>env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl')
</screen>
<para>Since this may get tedious if you always use the same local naming for your customized XSL files,
e.g. <filename>html.xsl</filename> for HTML and <filename>pdf.xsl</filename> for PDF output, a set of
variables for setting the default XSL name is provided. These are:
</para>
<screen>DOCBOOK_DEFAULT_XSL_HTML
DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
DOCBOOK_DEFAULT_XSL_HTMLHELP
DOCBOOK_DEFAULT_XSL_PDF
DOCBOOK_DEFAULT_XSL_EPUB
DOCBOOK_DEFAULT_XSL_MAN
DOCBOOK_DEFAULT_XSL_SLIDESPDF
DOCBOOK_DEFAULT_XSL_SLIDESHTML
</screen>
<para>and you can set them when constructing your environment:
</para>
<screen>
env = Environment(
    tools=['docbook'],
    DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
    DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl',
)
env.DocbookHtml('manual')  # now uses html.xsl
</screen>
<para>Sets: &cv-link-DOCBOOK_DEFAULT_XSL_EPUB;, &cv-link-DOCBOOK_DEFAULT_XSL_HTML;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLHELP;, &cv-link-DOCBOOK_DEFAULT_XSL_MAN;, &cv-link-DOCBOOK_DEFAULT_XSL_PDF;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESHTML;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESPDF;, &cv-link-DOCBOOK_FOP;, &cv-link-DOCBOOK_FOPCOM;, &cv-link-DOCBOOK_FOPFLAGS;, &cv-link-DOCBOOK_XMLLINT;, &cv-link-DOCBOOK_XMLLINTCOM;, &cv-link-DOCBOOK_XMLLINTFLAGS;, &cv-link-DOCBOOK_XSLTPROC;, &cv-link-DOCBOOK_XSLTPROCCOM;, &cv-link-DOCBOOK_XSLTPROCFLAGS;, &cv-link-DOCBOOK_XSLTPROCPARAMS;.</para><para>Uses: &cv-link-DOCBOOK_FOPCOMSTR;, &cv-link-DOCBOOK_XMLLINTCOMSTR;, &cv-link-DOCBOOK_XSLTPROCCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-dvi">
    <term>dvi</term>
    <listitem><para>
Attaches the &b-link-DVI; builder to the
construction environment.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-dvipdf">
    <term>dvipdf</term>
    <listitem><para>
Sets construction variables for the dvipdf utility.
</para>
<para>Sets: &cv-link-DVIPDF;, &cv-link-DVIPDFCOM;, &cv-link-DVIPDFFLAGS;.</para><para>Uses: &cv-link-DVIPDFCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-dvips">
    <term>dvips</term>
    <listitem><para>
Sets construction variables for the dvips utility.
</para>
<para>Sets: &cv-link-DVIPS;, &cv-link-DVIPSFLAGS;, &cv-link-PSCOM;, &cv-link-PSPREFIX;, &cv-link-PSSUFFIX;.</para><para>Uses: &cv-link-PSCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-f03">
    <term>f03</term>
    <listitem><para>
Set construction variables for generic POSIX Fortran 03 compilers.
</para>
<para>Sets: &cv-link-F03;, &cv-link-F03COM;, &cv-link-F03FLAGS;, &cv-link-F03PPCOM;, &cv-link-SHF03;, &cv-link-SHF03COM;, &cv-link-SHF03FLAGS;, &cv-link-SHF03PPCOM;, &cv-link-_F03INCFLAGS;.</para><para>Uses: &cv-link-F03COMSTR;, &cv-link-F03PPCOMSTR;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-SHF03COMSTR;, &cv-link-SHF03PPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-f08">
    <term>f08</term>
    <listitem><para>
Set construction variables for generic POSIX Fortran 08 compilers.
</para>
<para>Sets: &cv-link-F08;, &cv-link-F08COM;, &cv-link-F08FLAGS;, &cv-link-F08PPCOM;, &cv-link-SHF08;, &cv-link-SHF08COM;, &cv-link-SHF08FLAGS;, &cv-link-SHF08PPCOM;, &cv-link-_F08INCFLAGS;.</para><para>Uses: &cv-link-F08COMSTR;, &cv-link-F08PPCOMSTR;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-SHF08COMSTR;, &cv-link-SHF08PPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-f77">
    <term>f77</term>
    <listitem><para>
Set construction variables for generic POSIX Fortran 77 compilers.
</para>
<para>Sets: &cv-link-F77;, &cv-link-F77COM;, &cv-link-F77FILESUFFIXES;, &cv-link-F77FLAGS;, &cv-link-F77PPCOM;, &cv-link-F77PPFILESUFFIXES;, &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHF77;, &cv-link-SHF77COM;, &cv-link-SHF77FLAGS;, &cv-link-SHF77PPCOM;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;, &cv-link-_F77INCFLAGS;.</para><para>Uses: &cv-link-F77COMSTR;, &cv-link-F77PPCOMSTR;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANFLAGS;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHF77COMSTR;, &cv-link-SHF77PPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-f90">
    <term>f90</term>
    <listitem><para>
Set construction variables for generic POSIX Fortran 90 compilers.
</para>
<para>Sets: &cv-link-F90;, &cv-link-F90COM;, &cv-link-F90FLAGS;, &cv-link-F90PPCOM;, &cv-link-SHF90;, &cv-link-SHF90COM;, &cv-link-SHF90FLAGS;, &cv-link-SHF90PPCOM;, &cv-link-_F90INCFLAGS;.</para><para>Uses: &cv-link-F90COMSTR;, &cv-link-F90PPCOMSTR;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-SHF90COMSTR;, &cv-link-SHF90PPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-f95">
    <term>f95</term>
    <listitem><para>
Set construction variables for generic POSIX Fortran 95 compilers.
</para>
<para>Sets: &cv-link-F95;, &cv-link-F95COM;, &cv-link-F95FLAGS;, &cv-link-F95PPCOM;, &cv-link-SHF95;, &cv-link-SHF95COM;, &cv-link-SHF95FLAGS;, &cv-link-SHF95PPCOM;, &cv-link-_F95INCFLAGS;.</para><para>Uses: &cv-link-F95COMSTR;, &cv-link-F95PPCOMSTR;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-SHF95COMSTR;, &cv-link-SHF95PPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-fortran">
    <term>fortran</term>
    <listitem><para>
Set &consvars; for generic POSIX Fortran compilers.
</para>
<para>Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;.</para><para>Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANPPCOMSTR;, &cv-link-_CPPDEFFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gXX">
    <term>g++</term>
    <listitem><para>
Set construction variables for the &gXX; C++ compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-g77">
    <term>g77</term>
    <listitem><para>
Set construction variables for the &g77; Fortran compiler.
</para>
<para>Sets: &cv-link-F77;, &cv-link-F77COM;, &cv-link-F77FILESUFFIXES;, &cv-link-F77PPCOM;, &cv-link-F77PPFILESUFFIXES;, &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANPPCOM;, &cv-link-SHF77;, &cv-link-SHF77COM;, &cv-link-SHF77FLAGS;, &cv-link-SHF77PPCOM;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;.</para><para>Uses: &cv-link-F77FLAGS;, &cv-link-FORTRANCOMMONFLAGS;, &cv-link-FORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gas">
    <term>gas</term>
    <listitem><para>
Sets construction variables for the &gas; assembler.
Calls the &t-link-as; tool.
</para>
<para>Sets: &cv-link-AS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gcc">
    <term>gcc</term>
    <listitem><para>
Set construction variables for the &gcc; C compiler.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCDEPFLAGS;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gdc">
    <term>gdc</term>
    <listitem><para>
Sets construction variables for the D language compiler GDC.
</para>
<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gettext">
    <term>gettext</term>
    <listitem><para>
A toolset supporting internationalization and
localization of software being constructed with &SCons;.
The toolset loads the following tools:
</para>

<para>
<itemizedlist mark="opencircle">
  <listitem><para>
    &t-link-xgettext; - extract internationalized messages from source code to
    <literal>POT</literal> file(s).
  </para></listitem>
  <listitem><para>
    &t-link-msginit; - initialize <literal>PO</literal>
    files during initial translation of a project.
  </para></listitem>
  <listitem><para>
    &t-link-msgmerge; - update <literal>PO</literal> files that already contain
    translated messages,</para></listitem>
  <listitem><para>
    &t-link-msgfmt; - compile textual <literal>PO</literal> files to binary
    installable <literal>MO</literal> files.
  </para></listitem>
</itemizedlist>
</para>

<para>
When you enable &t-gettext;, it internally loads all the above-mentioned tools,
so you're encouraged to see their individual documentation.
</para>

<para>
Each of the above tools provides its own builder(s) which may be used to
perform particular activities related to software internationalization. You
may be however interested in <emphasis>top-level</emphasis>
&b-link-Translate; builder.
</para>

<para>
To use the &t-gettext; tools, add the <literal>'gettext'</literal> tool to your
&consenv;:
</para>
<programlisting language="python">
env = Environment(tools=['default', 'gettext'])
</programlisting>
</listitem>
  </varlistentry>
  <varlistentry id="t-gfortran">
    <term>gfortran</term>
    <listitem><para>
Sets construction variables for the GNU Fortran compiler.
Calls the &t-link-fortran; Tool module to set variables.
</para>
<para>Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gnulink">
    <term>gnulink</term>
    <listitem><para>
Set construction variables for GNU linker/loader.
</para>
<para>Sets: &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULESONAME;, &cv-link-_SHLIBSONAME;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-gs">
    <term>gs</term>
    <listitem><para>
This &f-Tool; sets the required construction variables for working with
the Ghostscript software. It also registers an appropriate Action
with the &b-link-PDF; Builder, such that the conversion from
PS/EPS to PDF happens automatically for the TeX/LaTeX toolchain.
Finally, it adds an explicit &b-link-Gs; Builder for Ghostscript
to the environment.
</para>
<para>Sets: &cv-link-GS;, &cv-link-GSCOM;, &cv-link-GSFLAGS;.</para><para>Uses: &cv-link-GSCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-hpcXX">
    <term>hpc++</term>
    <listitem><para>
Set construction variables for the compilers aCC on HP/UX systems.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-hpcc">
    <term>hpcc</term>
    <listitem><para>
Set construction variables for
<application>aCC</application> compilers on HP/UX systems.
Calls the &t-link-cXX; tool for additional variables.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-hplink">
    <term>hplink</term>
    <listitem><para>
Sets construction variables for the linker on HP/UX systems.
</para>
<para>Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-icc">
    <term>icc</term>
    <listitem><para>
Sets construction variables for the
<application>icc</application> compiler on OS/2 systems.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;.</para><para>Uses: &cv-link-CCFLAGS;, &cv-link-CFLAGS;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-icl">
    <term>icl</term>
    <listitem><para>
Sets construction variables for the Intel C/C++ compiler.
Calls the &t-intelc; Tool module to set its variables.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-ifl">
    <term>ifl</term>
    <listitem><para>
Sets construction variables for the Intel Fortran compiler.
</para>
<para>Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANPPCOM;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.</para><para>Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ifort">
    <term>ifort</term>
    <listitem><para>
Sets construction variables for newer versions
of the Intel Fortran compiler for Linux.
</para>
<para>Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ilink">
    <term>ilink</term>
    <listitem><para>
Sets construction variables for the
<application>ilink</application> linker on OS/2 systems.
</para>
<para>Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ilink32">
    <term>ilink32</term>
    <listitem><para>
Sets construction variables for the Borland
<application>ilink32</application> linker.
</para>
<para>Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-install">
    <term>install</term>
    <listitem><para>
Sets construction variables for file
and directory installation.
</para>
<para>Sets: &cv-link-INSTALL;, &cv-link-INSTALLSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-intelc">
    <term>intelc</term>
    <listitem><para>
Sets construction variables for the Intel C/C++ compiler
(Linux and Windows, version 7 and later).
Calls the &t-link-gcc; or &t-link-msvc;
(on Linux and Windows, respectively)
tool to set underlying variables.
</para>
<para>Sets: &cv-link-AR;, &cv-link-CC;, &cv-link-CXX;, &cv-link-INTEL_C_COMPILER_VERSION;, &cv-link-LINK;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-jar">
    <term>jar</term>
    <listitem><para>
Sets construction variables for the &jar; utility.
</para>
<para>Sets: &cv-link-JAR;, &cv-link-JARCOM;, &cv-link-JARFLAGS;, &cv-link-JARSUFFIX;.</para><para>Uses: &cv-link-JARCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-javac">
    <term>javac</term>
    <listitem><para>
                Sets construction variables for the &javac; compiler.
            </para>
        <para>Sets: &cv-link-JAVABOOTCLASSPATH;, &cv-link-JAVAC;, &cv-link-JAVACCOM;, &cv-link-JAVACFLAGS;, &cv-link-JAVACLASSPATH;, &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAINCLUDES;, &cv-link-JAVASOURCEPATH;, &cv-link-JAVASUFFIX;.</para><para>Uses: &cv-link-JAVACCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-javah">
    <term>javah</term>
    <listitem><para>
Sets construction variables for the &javah; tool.
</para>
<para>Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAH;, &cv-link-JAVAHCOM;, &cv-link-JAVAHFLAGS;.</para><para>Uses: &cv-link-JAVACLASSPATH;, &cv-link-JAVAHCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-latex">
    <term>latex</term>
    <listitem><para>
Sets construction variables for the &latex; utility.
</para>
<para>Sets: &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;.</para><para>Uses: &cv-link-LATEXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ldc">
    <term>ldc</term>
    <listitem><para>
Sets construction variables for the D language compiler LDC2.
</para>
<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-lex">
    <term>lex</term>
    <listitem><para>
Sets construction variables for the &lex; lexical analyzer.
</para>
<para>Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;, &cv-link-LEXUNISTD;.</para><para>Uses: &cv-link-LEXCOMSTR;, &cv-link-LEXFLAGS;, &cv-link-LEX_HEADER_FILE;, &cv-link-LEX_TABLES_FILE;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-link">
    <term>link</term>
    <listitem><para>
Sets construction variables for generic POSIX linkers. This is
a "smart" linker tool which selects a compiler to complete the linking
based on the types of source files.
</para>
<para>Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULENOVERSIONSYMLINKS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LDMODULEVERSION;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-__LDMODULEVERSIONFLAGS;, &cv-link-__SHLIBVERSIONFLAGS;.</para><para>Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-linkloc">
    <term>linkloc</term>
    <listitem><para>
Sets construction variables for the
<application>LinkLoc</application>
linker for the Phar Lap ETS embedded operating system.
</para>
<para>Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.</para><para>Uses: &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-m4">
    <term>m4</term>
    <listitem><para>
Sets construction variables for the &m4; macro processor.
</para>
<para>Sets: &cv-link-M4;, &cv-link-M4COM;, &cv-link-M4FLAGS;.</para><para>Uses: &cv-link-M4COMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-masm">
    <term>masm</term>
    <listitem><para>
Sets construction variables for the Microsoft assembler.
</para>
<para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-midl">
    <term>midl</term>
    <listitem><para>
Sets construction variables for the Microsoft IDL compiler.
</para>
<para>Sets: &cv-link-MIDL;, &cv-link-MIDLCOM;, &cv-link-MIDLFLAGS;.</para><para>Uses: &cv-link-MIDLCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mingw">
    <term>mingw</term>
    <listitem><para>
Sets construction variables for MinGW (Minimal Gnu on Windows).
</para>
<para>Sets: &cv-link-AS;, &cv-link-CC;, &cv-link-CXX;, &cv-link-LDMODULECOM;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-RCINCFLAGS;, &cv-link-RCINCPREFIX;, &cv-link-RCINCSUFFIX;, &cv-link-SHCCFLAGS;, &cv-link-SHCXXFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;.</para><para>Uses: &cv-link-RCCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-msgfmt">
    <term>msgfmt</term>
    <listitem><para>
This tool is a part of the &t-link-gettext; toolset.
It provides &SCons;
an interface to the <command>msgfmt(1)</command> command
by setting up the &b-link-MOFiles; builder,
which generates binary message catalog (<literal>MO</literal>) files
from a textual translation description
(<literal>PO</literal> files).
</para>
<para>Sets: &cv-link-MOSUFFIX;, &cv-link-MSGFMT;, &cv-link-MSGFMTCOM;, &cv-link-MSGFMTCOMSTR;, &cv-link-MSGFMTFLAGS;, &cv-link-POSUFFIX;.</para><para>Uses: &cv-link-LINGUAS_FILE;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-msginit">
    <term>msginit</term>
    <listitem><para>
This tool is a part of scons &t-link-gettext; toolset. It provides
&SCons; an interface to the <command>msginit(1)</command> program,
by setting up the &b-link-POInit; builder,
which creates a new
<literal>PO</literal> file, initializing the meta information with values from
the &consenv; (or options).
</para>
<para>Sets: &cv-link-MSGINIT;, &cv-link-MSGINITCOM;, &cv-link-MSGINITCOMSTR;, &cv-link-MSGINITFLAGS;, &cv-link-POAUTOINIT;, &cv-link-POCREATE_ALIAS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-_MSGINITLOCALE;.</para><para>Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-msgmerge">
    <term>msgmerge</term>
    <listitem><para>
This tool is a part of scons &t-link-gettext; toolset. It provides
&SCons; an interface to the <command>msgmerge(1)</command> command,
by setting up the &b-link-POUpdate; builder,
which merges two
Uniform style <filename>.po</filename> files together.
</para>
<para>Sets: &cv-link-MSGMERGE;, &cv-link-MSGMERGECOM;, &cv-link-MSGMERGECOMSTR;, &cv-link-MSGMERGEFLAGS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-POUPDATE_ALIAS;.</para><para>Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mslib">
    <term>mslib</term>
    <listitem><para>
Sets construction variables for the Microsoft
<application>mslib</application>
library archiver.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.</para><para>Uses: &cv-link-ARCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mslink">
    <term>mslink</term>
    <listitem><para>
Sets construction variables for the Microsoft linker.
</para>
<para>Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-REGSVR;, &cv-link-REGSVRCOM;, &cv-link-REGSVRFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;, &cv-link-WINDOWSEXPPREFIX;, &cv-link-WINDOWSEXPSUFFIX;, &cv-link-WINDOWSPROGMANIFESTPREFIX;, &cv-link-WINDOWSPROGMANIFESTSUFFIX;, &cv-link-WINDOWSSHLIBMANIFESTPREFIX;, &cv-link-WINDOWSSHLIBMANIFESTSUFFIX;, &cv-link-WINDOWS_INSERT_DEF;.</para><para>Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-REGSVRCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mssdk">
    <term>mssdk</term>
    <listitem><para>
Sets variables for Microsoft Platform SDK and/or Windows SDK.
Note that unlike most other Tool modules,
mssdk does not set construction variables,
but sets the <emphasis>environment variables</emphasis>
in the environment &SCons; uses to execute
the Microsoft toolchain:
<literal>%INCLUDE%</literal>,
<literal>%LIB%</literal>,
<literal>%LIBPATH%</literal> and
<literal>%PATH%</literal>.
</para>
<para>Uses: &cv-link-MSSDK_DIR;, &cv-link-MSSDK_VERSION;, &cv-link-MSVS_VERSION;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-msvc">
    <term>msvc</term>
    <listitem><para>
Sets &consvars; for the &MSVC; compiler.
</para>
<para>Sets: &cv-link-BUILDERS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCDEPFLAGS;, &cv-link-CCFLAGS;, &cv-link-CCPCHFLAGS;, &cv-link-CCPDBFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJPREFIX;, &cv-link-OBJSUFFIX;, &cv-link-PCHCOM;, &cv-link-PCHPDBFLAGS;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.</para><para>Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-MSVC_NOTFOUND_POLICY;, &cv-link-MSVC_SCRIPTERROR_POLICY;, &cv-link-MSVC_SCRIPT_ARGS;, &cv-link-MSVC_SDK_VERSION;, &cv-link-MSVC_SPECTRE_LIBS;, &cv-link-MSVC_TOOLSET_VERSION;, &cv-link-MSVC_USE_SCRIPT;, &cv-link-MSVC_USE_SCRIPT_ARGS;, &cv-link-MSVC_USE_SETTINGS;, &cv-link-MSVC_VERSION;, &cv-link-PCH;, &cv-link-PCHSTOP;, &cv-link-PDB;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-msvs">
    <term>msvs</term>
    <listitem><para>Sets &consvars; for Microsoft Visual Studio.</para>
    <para>Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mwcc">
    <term>mwcc</term>
    <listitem><para>
Sets construction variables for the Metrowerks CodeWarrior compiler.
</para>
<para>Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-MWCW_VERSION;, &cv-link-MWCW_VERSIONS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;.</para><para>Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-mwld">
    <term>mwld</term>
    <listitem><para>
Sets construction variables for the Metrowerks CodeWarrior linker.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-nasm">
    <term>nasm</term>
    <listitem><para>
Sets construction variables for the
<application>nasm</application> Netwide Assembler.
</para>
<para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-ninja">
    <term>ninja</term>
    <listitem><para>
                Sets up the &b-link-Ninja; builder, which generates a &ninja; build file, and then optionally runs &ninja;.
            </para>
            <note>
                <para>This is an experimental feature.
                    This functionality is subject to change and/or removal without a deprecation cycle.
                </para>
            </note>

        <para>Sets: &cv-link-IMPLICIT_COMMAND_DEPENDENCIES;, &cv-link-NINJA_ALIAS_NAME;, &cv-link-NINJA_CMD_ARGS;, &cv-link-NINJA_COMPDB_EXPAND;, &cv-link-NINJA_DEPFILE_PARSE_FORMAT;, &cv-link-NINJA_DIR;, &cv-link-NINJA_DISABLE_AUTO_RUN;, &cv-link-NINJA_ENV_VAR_CACHE;, &cv-link-NINJA_FILE_NAME;, &cv-link-NINJA_FORCE_SCONS_BUILD;, &cv-link-NINJA_GENERATED_SOURCE_ALIAS_NAME;, &cv-link-NINJA_GENERATED_SOURCE_SUFFIXES;, &cv-link-NINJA_MSVC_DEPS_PREFIX;, &cv-link-NINJA_POOL;, &cv-link-NINJA_REGENERATE_DEPS;, &cv-link-NINJA_SCONS_DAEMON_KEEP_ALIVE;, &cv-link-NINJA_SCONS_DAEMON_PORT;, &cv-link-NINJA_SYNTAX;, &cv-link-_NINJA_REGENERATE_DEPS_FUNC;.</para><para>Uses: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCDEPFLAGS;, &cv-link-CCFLAGS;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-ESCAPE;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-PLATFORM;, &cv-link-PRINT_CMD_LINE_FUNC;, &cv-link-PROGSUFFIX;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-SHCCCOM;, &cv-link-SHCXXCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-packaging">
    <term>packaging</term>
    <listitem><para>
Sets construction variables for the &b-link-Package; Builder.
If this tool is enabled, the <option>--package-type</option>
command-line option is also enabled.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-pdf">
    <term>pdf</term>
    <listitem><para>
Sets construction variables for the Portable Document Format builder.
</para>
<para>Sets: &cv-link-PDFPREFIX;, &cv-link-PDFSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-pdflatex">
    <term>pdflatex</term>
    <listitem><para>
Sets construction variables for the &pdflatex; utility.
</para>
<para>Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;.</para><para>Uses: &cv-link-PDFLATEXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-pdftex">
    <term>pdftex</term>
    <listitem><para>
Sets construction variables for the &pdftex; utility.
</para>
<para>Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;, &cv-link-PDFTEX;, &cv-link-PDFTEXCOM;, &cv-link-PDFTEXFLAGS;.</para><para>Uses: &cv-link-PDFLATEXCOMSTR;, &cv-link-PDFTEXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-python">
    <term>python</term>
    <listitem><para>
Loads the Python source scanner into the invoking environment.
When loaded, the scanner will attempt to find implicit
dependencies for any Python source files in the list of sources
provided to an Action that uses this environment.
</para>
<para><emphasis>Available since &scons; 4.0.</emphasis>.</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-qt">
    <term>qt</term>
    <listitem><para>
Placeholder tool to alert anyone still using qt tools to switch to qt3 or newer tool.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="t-qt3">
    <term>qt3</term>
    <listitem><para>
Sets &consvars; for building Qt3 applications.
</para>

<note><para>
This tool is only suitable for building targeted to Qt3,
which is obsolete
(<emphasis>the tool is deprecated since 4.3,
and was renamed to qt3 in 4.5.0.
</emphasis>).
There are contributed tools for Qt4 and Qt5, see
<ulink url="https://github.com/SCons/scons-contrib">
https://github.com/SCons/scons-contrib</ulink>.
Qt4 has also passed end of life for standard support (in Dec 2015).
</para></note>

<para>
Note paths for these &consvars; are assembled
using the <function>os.path.join</function> method
so they will have the appropriate separator at runtime,
but are listed here in the various
entries only with the <literal>'/'</literal> separator
for simplicity.
</para>

<para>
In addition, the &consvars;
&cv-link-CPPPATH;,
&cv-link-LIBPATH; and
&cv-link-LIBS; may be modified
and the variables
&cv-link-PROGEMITTER;, &cv-link-SHLIBEMITTER; and &cv-link-LIBEMITTER;
are modified. Because the build-performance is affected when using this tool,
you have to explicitly specify it at Environment creation:
</para>

<example_commands>
Environment(tools=['default','qt3'])
</example_commands>

<para>
The &t-qt3; tool supports the following operations:
</para>

<para>
<emphasis role="strong">Automatic moc file generation from header files.</emphasis>
You do not have to specify moc files explicitly, the tool does it for you.
However, there are a few preconditions to do so: Your header file must have
the same basename as your implementation file and must stay in the same
directory. It must have one of the suffixes
<filename>.h</filename>,
<filename>.hpp</filename>,
<filename>.H</filename>,
<filename>.hxx</filename>,
<filename>.hh</filename>.
You can turn off automatic moc file generation by setting
&cv-link-QT3_AUTOSCAN; to <constant>False</constant>.
See also the corresponding
&b-link-Moc; Builder.
</para>

<para>
<emphasis role="strong">Automatic moc file generation from C++ files.</emphasis>
As described in the Qt documentation, include the moc file at the end of
the C++ file. Note that you have to include the file, which is generated
by the transformation
<literal>${QT3_MOCCXXPREFIX}&lt;basename&gt;${QT3_MOCCXXSUFFIX}</literal>, by default
<filename>&lt;basename&gt;.mo</filename>. A warning is generated after building the moc file if you
do not include the correct file. If you are using &f-link-VariantDir;, you may
need to specify <parameter>duplicate=True</parameter>.
You can turn off automatic moc file generation by setting &cv-QT3_AUTOSCAN; to
<literal>False</literal>. See also the corresponding
&b-link-Moc; Builder.
</para>

<para>
<emphasis role="strong">Automatic handling of .ui files.</emphasis>
The implementation files generated from <filename>.ui</filename>
files are handled much the same as yacc or lex files.
Each <command>.ui</command> file given as a source of &b-link-Program;,
&b-link-Library; or &b-link-SharedLibrary;
will generate three files: the declaration file, the
implementation file and a moc file. Because there are also generated headers,
you may need to specify <parameter>duplicate=True</parameter> in calls to
&f-link-VariantDir;.
See also the corresponding
&b-link-Uic; Builder.
</para>
<para>Sets: &cv-link-QT3DIR;, &cv-link-QT3_AUTOSCAN;, &cv-link-QT3_BINPATH;, &cv-link-QT3_CPPPATH;, &cv-link-QT3_LIB;, &cv-link-QT3_LIBPATH;, &cv-link-QT3_MOC;, &cv-link-QT3_MOCCXXPREFIX;, &cv-link-QT3_MOCCXXSUFFIX;, &cv-link-QT3_MOCFROMCXXCOM;, &cv-link-QT3_MOCFROMCXXFLAGS;, &cv-link-QT3_MOCFROMHCOM;, &cv-link-QT3_MOCFROMHFLAGS;, &cv-link-QT3_MOCHPREFIX;, &cv-link-QT3_MOCHSUFFIX;, &cv-link-QT3_UIC;, &cv-link-QT3_UICCOM;, &cv-link-QT3_UICDECLFLAGS;, &cv-link-QT3_UICDECLPREFIX;, &cv-link-QT3_UICDECLSUFFIX;, &cv-link-QT3_UICIMPLFLAGS;, &cv-link-QT3_UICIMPLPREFIX;, &cv-link-QT3_UICIMPLSUFFIX;, &cv-link-QT3_UISUFFIX;.</para><para>Uses: &cv-link-QT3DIR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-rmic">
    <term>rmic</term>
    <listitem><para>
Sets construction variables for the &rmic; utility.
</para>
<para>Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-RMIC;, &cv-link-RMICCOM;, &cv-link-RMICFLAGS;.</para><para>Uses: &cv-link-RMICCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-rpcgen">
    <term>rpcgen</term>
    <listitem><para>
Sets construction variables for building with RPCGEN.
</para>
<para>Sets: &cv-link-RPCGEN;, &cv-link-RPCGENCLIENTFLAGS;, &cv-link-RPCGENFLAGS;, &cv-link-RPCGENHEADERFLAGS;, &cv-link-RPCGENSERVICEFLAGS;, &cv-link-RPCGENXDRFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sgiar">
    <term>sgiar</term>
    <listitem><para>
Sets construction variables for the SGI library archiver.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOMSTR;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKFLAGS;.</para><para>Uses: &cv-link-ARCOMSTR;, &cv-link-SHLINKCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sgicXX">
    <term>sgic++</term>
    <listitem><para>
Sets construction variables for the SGI C++ compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXFLAGS;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sgicc">
    <term>sgicc</term>
    <listitem><para>
Sets construction variables for the SGI C compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sgilink">
    <term>sgilink</term>
    <listitem><para>
Sets construction variables for the SGI linker.
</para>
<para>Sets: &cv-link-LINK;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sunar">
    <term>sunar</term>
    <listitem><para>
Sets construction variables for the Sun library archiver.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.</para><para>Uses: &cv-link-ARCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-suncXX">
    <term>sunc++</term>
    <listitem><para>
Sets construction variables for the Sun C++ compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-suncc">
    <term>suncc</term>
    <listitem><para>
Sets construction variables for the Sun C compiler.
</para>
<para>Sets: &cv-link-CXX;, &cv-link-SHCCFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sunf77">
    <term>sunf77</term>
    <listitem><para>
Set construction variables for the Sun &f77; Fortran compiler.
</para>
<para>Sets: &cv-link-F77;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sunf90">
    <term>sunf90</term>
    <listitem><para>
Set construction variables for the Sun &f90; Fortran compiler.
</para>
<para>Sets: &cv-link-F90;, &cv-link-FORTRAN;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sunf95">
    <term>sunf95</term>
    <listitem><para>
Set construction variables for the Sun &f95; Fortran compiler.
</para>
<para>Sets: &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-sunlink">
    <term>sunlink</term>
    <listitem><para>
Sets construction variables for the Sun linker.
</para>
<para>Sets: &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-swig">
    <term>swig</term>
    <listitem><para>
Sets construction variables for the &swig; interface compiler.
</para>
<para>Sets: &cv-link-SWIG;, &cv-link-SWIGCFILESUFFIX;, &cv-link-SWIGCOM;, &cv-link-SWIGCXXFILESUFFIX;, &cv-link-SWIGDIRECTORSUFFIX;, &cv-link-SWIGFLAGS;, &cv-link-SWIGINCPREFIX;, &cv-link-SWIGINCSUFFIX;, &cv-link-SWIGPATH;, &cv-link-SWIGVERSION;, &cv-link-_SWIGINCFLAGS;.</para><para>Uses: &cv-link-SWIGCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-tar">
    <term>tar</term>
    <listitem><para>
Sets construction variables for the &tar; archiver.
</para>
<para>Sets: &cv-link-TAR;, &cv-link-TARCOM;, &cv-link-TARFLAGS;, &cv-link-TARSUFFIX;.</para><para>Uses: &cv-link-TARCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-tex">
    <term>tex</term>
    <listitem><para>
Sets construction variables for the TeX formatter and typesetter.
</para>
<para>Sets: &cv-link-BIBTEX;, &cv-link-BIBTEXCOM;, &cv-link-BIBTEXFLAGS;, &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;, &cv-link-MAKEINDEX;, &cv-link-MAKEINDEXCOM;, &cv-link-MAKEINDEXFLAGS;, &cv-link-TEX;, &cv-link-TEXCOM;, &cv-link-TEXFLAGS;.</para><para>Uses: &cv-link-BIBTEXCOMSTR;, &cv-link-LATEXCOMSTR;, &cv-link-MAKEINDEXCOMSTR;, &cv-link-TEXCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-textfile">
    <term>textfile</term>
    <listitem><para>
Set &consvars; for the &b-link-Textfile; and &b-link-Substfile; builders.
</para>
<para>Sets: &cv-link-FILE_ENCODING;, &cv-link-LINESEPARATOR;, &cv-link-SUBSTFILEPREFIX;, &cv-link-SUBSTFILESUFFIX;, &cv-link-TEXTFILEPREFIX;, &cv-link-TEXTFILESUFFIX;.</para><para>Uses: &cv-link-SUBST_DICT;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-tlib">
    <term>tlib</term>
    <listitem><para>
Sets construction variables for the Borland
<application>tlib</application> library archiver.
</para>
<para>Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.</para><para>Uses: &cv-link-ARCOMSTR;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-xgettext">
    <term>xgettext</term>
    <listitem><para>
This tool is a part of the &t-link-gettext; toolset. It provides
&SCons; an interface to the <command>xgettext(1)</command>
program, which extracts internationalized messages from source code.
The tool sets up the &b-POTUpdate; builder to make  <literal>PO</literal>
<emphasis>Template</emphasis> files.
</para>
<para>Sets: &cv-link-POTSUFFIX;, &cv-link-POTUPDATE_ALIAS;, &cv-link-XGETTEXTCOM;, &cv-link-XGETTEXTCOMSTR;, &cv-link-XGETTEXTFLAGS;, &cv-link-XGETTEXTFROM;, &cv-link-XGETTEXTFROMPREFIX;, &cv-link-XGETTEXTFROMSUFFIX;, &cv-link-XGETTEXTPATH;, &cv-link-XGETTEXTPATHPREFIX;, &cv-link-XGETTEXTPATHSUFFIX;, &cv-link-_XGETTEXTDOMAIN;, &cv-link-_XGETTEXTFROMFLAGS;, &cv-link-_XGETTEXTPATHFLAGS;.</para><para>Uses: &cv-link-POTDOMAIN;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-yacc">
    <term>yacc</term>
    <listitem><para>
Sets construction variables for the &yacc; parser generator.
</para>
<para>Sets: &cv-link-YACC;, &cv-link-YACCCOM;, &cv-link-YACCFLAGS;, &cv-link-YACCHFILESUFFIX;, &cv-link-YACCHXXFILESUFFIX;, &cv-link-YACCVCGFILESUFFIX;, &cv-link-YACC_GRAPH_FILE_SUFFIX;.</para><para>Uses: &cv-link-YACCCOMSTR;, &cv-link-YACCFLAGS;, &cv-link-YACC_GRAPH_FILE;, &cv-link-YACC_HEADER_FILE;.</para></listitem>
  </varlistentry>
  <varlistentry id="t-zip">
    <term>zip</term>
    <listitem><para>
Sets construction variables for the &zip; archiver.
</para>
<para>Sets: &cv-link-ZIP;, &cv-link-ZIPCOM;, &cv-link-ZIPCOMPRESSION;, &cv-link-ZIPFLAGS;, &cv-link-ZIPSUFFIX;.</para><para>Uses: &cv-link-ZIPCOMSTR;.</para></listitem>
  </varlistentry>
</variablelist>
