<?xml version="1.0" encoding="UTF-8"?>
<!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="cv-AR">
    <term>AR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The static library archiver.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ARCHITECTURE">
    <term>ARCHITECTURE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the system architecture for which
the package is being built.
The default is the system architecture
of the machine on which SCons is running.
This is used to fill in the
<literal>Architecture:</literal>
field in an Ipkg
<filename>control</filename> file,
and as part of the name of a generated RPM file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ARCOM">
    <term>ARCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to generate a static library from object files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ARCOMSTR">
    <term>ARCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when an object file
is generated from an assembly-language source file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ARCOM"><envar>$ARCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(ARCOMSTR = "Archiving $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ARFLAGS">
    <term>ARFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the static library archiver.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-AS">
    <term>AS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The assembler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASCOM">
    <term>ASCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to generate an object file
from an assembly-language source file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASCOMSTR">
    <term>ASCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when an object file
is generated from an assembly-language source file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ASCOM"><envar>$ASCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(ASCOMSTR = "Assembling $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASFLAGS">
    <term>ASFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the assembler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASPPCOM">
    <term>ASPPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to assemble an assembly-language
source file into an object file
after first running the file through the C preprocessor.
Any options specified
in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ASFLAGS"><envar>$ASFLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASPPCOMSTR">
    <term>ASPPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when an object file
is generated from an assembly-language source file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ASPPCOM"><envar>$ASPPCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(ASPPCOMSTR = "Assembling $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ASPPFLAGS">
    <term>ASPPFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options when an assembling an assembly-language
source file into an object file
after first running the file through the C preprocessor.
The default is to use the value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ASFLAGS"><envar>$ASFLAGS</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BIBTEX">
    <term>BIBTEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The bibliography generator for the TeX formatter and typesetter and the
LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BIBTEXCOM">
    <term>BIBTEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the bibliography generator for the
TeX formatter and typesetter and the LaTeX structured formatter and
typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BIBTEXCOMSTR">
    <term>BIBTEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a bibliography
for TeX or LaTeX.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-BIBTEXCOM"><envar>$BIBTEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(BIBTEXCOMSTR = "Generating bibliography $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BIBTEXFLAGS">
    <term>BIBTEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the bibliography generator for the TeX formatter
and typesetter and the LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BITKEEPER">
    <term>BITKEEPER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The BitKeeper executable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BITKEEPERCOM">
    <term>BITKEEPERCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line for
fetching source files using BitKeeper.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BITKEEPERCOMSTR">
    <term>BITKEEPERCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when fetching
a source file using BitKeeper.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-BITKEEPERCOM"><envar>$BITKEEPERCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BITKEEPERGET">
    <term>BITKEEPERGET</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command (<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-BITKEEPER"><envar>$BITKEEPER</envar></link>) and subcommand
for fetching source files using BitKeeper.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BITKEEPERGETFLAGS">
    <term>BITKEEPERGETFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the BitKeeper
<command>get</command>
subcommand.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-BUILDERS">
    <term>BUILDERS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A dictionary mapping the names of the builders
available through this environment
to underlying Builder objects.
Builders named
Alias, CFile, CXXFile, DVI, Library, Object, PDF, PostScript, and Program
are available by default.
If you initialize this variable when an
Environment is created:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(BUILDERS = {'NewBuilder' : foo})
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
the default Builders will no longer be available.
To use a new Builder object in addition to the default Builders,
add your new Builder object like this:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment()
env.Append(BUILDERS = {'NewBuilder' : foo})
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
or this:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment()
env['BUILDERS]['NewBuilder'] = foo
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CC">
    <term>CC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The C compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCCOM">
    <term>CCCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a C source file to a (static) object
file.  Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CFLAGS"><envar>$CFLAGS</envar></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables are included on this command
line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCCOMSTR">
    <term>CCCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a C source file
is compiled to a (static) object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCCOM"><envar>$CCCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(CCCOMSTR = "Compiling static object $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCFLAGS">
    <term>CCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to the C and C++ compilers.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCPCHFLAGS">
    <term>CCPCHFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options added to the compiler command line
to support building with precompiled headers.
The default value expands expands to the appropriate
Microsoft Visual C++ command-line options
when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PCH"><envar>$PCH</envar></link> construction variable is set.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCPDBFLAGS">
    <term>CCPDBFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options added to the compiler command line
to support storing debugging information in a
Microsoft Visual C++ PDB file.
The default value expands expands to appropriate
Microsoft Visual C++ command-line options
when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PDB"><envar>$PDB</envar></link> construction variable is set.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Visual C++ compiler option that SCons uses by default
to generate PDB information is <option>/Z7</option>.
This works correctly with parallel (<option>-j</option>) builds
because it embeds the debug information in the intermediate object files,
as opposed to sharing a single PDB file between multiple object files.
This is also the only way to get debug information
embedded into a static library.
Using the <option>/Zi</option> instead may yield improved
link-time performance,
although parallel builds will no longer work.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
You can generate PDB files with the <option>/Zi</option>
switch by overriding the default <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCPDBFLAGS"><envar>$CCPDBFLAGS</envar></link> variable as follows:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['CCPDBFLAGS'] = ['${(PDB and "/Zi /Fd%s" % File(PDB)) or ""}']
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
An alternative would be to use the <option>/Zi</option>
to put the debugging information in a separate <filename>.pdb</filename>
file for each object file by overriding
the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCPDBFLAGS"><envar>$CCPDBFLAGS</envar></link> variable as follows:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb'
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CCVERSION">
    <term>CCVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version number of the C compiler.
This may or may not be set,
depending on the specific C compiler being used.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CFILESUFFIX">
    <term>CFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for C source files.
This is used by the internal CFile builder
when generating C files from Lex (.l) or YACC (.y) input files.
The default suffix, of course, is
<filename>.c</filename>
(lower case).
On case-insensitive systems (like Windows),
SCons also treats
<filename>.C</filename>
(upper case) files
as C files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CFLAGS">
    <term>CFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to the C compiler (C only; not C++).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CHANGE_SPECFILE">
    <term>CHANGE_SPECFILE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A hook for modifying the file that controls the packaging build
(the <filename>.spec</filename> for RPM,
the <filename>control</filename> for Ipkg,
the <filename>.wxs</filename> for MSI).
If set, the function will be called
after the SCons template for the file has been written.
XXX
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CHANGED_SOURCES">
    <term>CHANGED_SOURCES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CHANGED_TARGETS">
    <term>CHANGED_TARGETS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CHANGELOG">
    <term>CHANGELOG</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The name of a file containing the change log text
to be included in the package.
This is included as the
<literal>%changelog</literal>
section of the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_concat">
    <term>_concat</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function used to produce variables like <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar>. It takes
four or five
arguments: a prefix to concatenate onto each element, a list of
elements, a suffix to concatenate onto each element, an environment
for variable interpolation, and an optional function that will be
called to transform the list before concatenation.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs)} $)',
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CONFIGUREDIR">
    <term>CONFIGUREDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The name of the directory in which
Configure context test files are written.
The default is
<filename>.sconf_temp</filename>
in the top-level directory
containing the
<filename>SConstruct</filename>
file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CONFIGURELOG">
    <term>CONFIGURELOG</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The name of the Configure context log file.
The default is
<filename>config.log</filename>
in the top-level directory
containing the
<filename>SConstruct</filename>
file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_CPPDEFFLAGS">
    <term>_CPPDEFFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the C preprocessor command-line options
to define values.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar>
to the beginning and end
of each definition in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPDEFINES">
    <term>CPPDEFINES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A platform independent specification of C preprocessor definitions.
The definitions will be added to command lines
through the automatically-generated
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> construction variable (see above),
which is constructed according to
the type of value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar>:
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a string,
the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar>
construction variables
will be added to the beginning and end.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
# Will add -Dxyz to POSIX compiler command lines,
# and /Dxyz to Microsoft Visual C++ command lines.
env = Environment(CPPDEFINES='xyz')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a list,
the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar>
construction variables
will be appended to the beginning and end
of each element in the list.
If any element is a list or tuple,
then the first item is the name being
defined and the second item is its value:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
# Will add -DB=2 -DA to POSIX compiler command lines,
# and /DB=2 /DA to Microsoft Visual C++ command lines.
env = Environment(CPPDEFINES=[('B', 2), 'A'])
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a dictionary,
the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar>
construction variables
will be appended to the beginning and end
of each item from the dictionary.
The key of each dictionary item
is a name being defined
to the dictionary item's corresponding value;
if the value is
<literal>None</literal>,
then the name is defined without an explicit value.
Note that the resulting flags are sorted by keyword
to ensure that the order of the options on the
command line is consistent each time
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
is run.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
# Will add -DA -DB=2 to POSIX compiler command lines,
# and /DA /DB=2 to Microsoft Visual C++ command lines.
env = Environment(CPPDEFINES={'B':2, 'A':None})
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPDEFPREFIX">
    <term>CPPDEFPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify preprocessor definitions
on the C compiler command line.
This will be appended to the beginning of each definition
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPDEFSUFFIX">
    <term>CPPDEFSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify preprocessor definitions
on the C compiler command line.
This will be appended to the end of each definition
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPFLAGS">
    <term>CPPFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
User-specified C preprocessor options.
These will be included in any command that uses the C preprocessor,
including not just compilation of C and C++ source files
via the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCCOM"><envar>$CCCOM</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCCCOM"><envar>$SHCCCOM</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXCOM"><envar>$CXXCOM</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCXXCOM"><envar>$SHCXXCOM</envar></link> command lines,
but also the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PPCOM"><envar>$F77PPCOM</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77PPCOM"><envar>$SHF77PPCOM</envar></link> command lines
used to compile a Fortran source file,
and the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ASPPCOM"><envar>$ASPPCOM</envar></link> command line
used to assemble an assembly language source file,
after first running each file through the C preprocessor.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPPATH"><envar>$CPPPATH</envar></link>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_CPPINCFLAGS"><envar>$_CPPINCFLAGS</envar></link>, below,
for the variable that expands to those options.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_CPPINCFLAGS">
    <term>_CPPINCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the C preprocessor command-line options
for specifying directories to be searched for include files.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCSUFFIX</envar>
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPPATH">
    <term>CPPPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the C preprocessor will search for include
directories. The C/C++ implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in CCFLAGS or CXXFLAGS because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in CPPPATH will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(CPPPATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(CPPPATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar>
construction variable,
which is constructed by
appending the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCSUFFIX</envar>
construction variables
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>.
Any command lines you define that need
the CPPPATH directory list should
include <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(CCCOM="my_compiler $_CPPINCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CPPSUFFIXES">
    <term>CPPSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of suffixes of files that will be scanned
for C preprocessor implicit dependencies
(#include lines).
The default list is:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
[".c", ".C", ".cxx", ".cpp", ".c++", ".cc",
 ".h", ".H", ".hxx", ".hpp", ".hh",
 ".F", ".fpp", ".FPP",
 ".m", ".mm",
 ".S", ".spp", ".SPP"]
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVS">
    <term>CVS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The CVS executable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVSCOFLAGS">
    <term>CVSCOFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the CVS checkout subcommand.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVSCOM">
    <term>CVSCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to
fetch source files from a CVS repository.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVSCOMSTR">
    <term>CVSCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when fetching
a source file from a CVS repository.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CVSCOM"><envar>$CVSCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVSFLAGS">
    <term>CVSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to CVS.
By default, this is set to
<literal>-d $CVSREPOSITORY</literal>
to specify from where the files must be fetched.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CVSREPOSITORY">
    <term>CVSREPOSITORY</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path to the CVS repository.
This is referenced in the default
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CVSFLAGS"><envar>$CVSFLAGS</envar></link> value.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXX">
    <term>CXX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The C++ compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXXCOM">
    <term>CXXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a C++ source file to an object file.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXFLAGS"><envar>$CXXFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXXCOMSTR">
    <term>CXXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a C++ source file
is compiled to a (static) object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXCOM"><envar>$CXXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(CXXCOMSTR = "Compiling static object $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXXFILESUFFIX">
    <term>CXXFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for C++ source files.
This is used by the internal CXXFile builder
when generating C++ files from Lex (.ll) or YACC (.yy) input files.
The default suffix is
<filename>.cc</filename>.
SCons also treats files with the suffixes
<filename>.cpp</filename>,
<filename>.cxx</filename>,
<filename>.c++</filename>,
and
<filename>.C++</filename>
as C++ files,
and files with
<filename>.mm</filename>
suffixes as Objective C++ files.
On case-sensitive systems (Linux, UNIX, and other POSIX-alikes),
SCons also treats
<filename>.C</filename>
(upper case) files
as C++ files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXXFLAGS">
    <term>CXXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to the C++ compiler.
By default, this includes the value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link>,
so that setting <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CCFLAGS</envar> affects both C and C++ compilation.
If you want to add C++-specific flags,
you must set or override the value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXFLAGS"><envar>$CXXFLAGS</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-CXXVERSION">
    <term>CXXVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version number of the C++ compiler.
This may or may not be set,
depending on the specific C++ compiler being used.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DESCRIPTION">
    <term>DESCRIPTION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A long description of the project being packaged.
This is included in the relevant section
of the file that controls the packaging build.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DESCRIPTION_lang">
    <term>DESCRIPTION_lang</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A language-specific long description for
the specified <varname>lang</varname>.
This is used to populate a
<literal>%description -l</literal>
section of an RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-Dir">
    <term>Dir</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a string
into a Dir instance relative to the target being built.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a string
into a Dir instance relative to the target being built.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-Dirs">
    <term>Dirs</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a list of strings
into a list of Dir instances relative to the target being built.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_EPUB">
    <term>DOCBOOK_DEFAULT_XSL_EPUB</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookEpub"><function>DocbookEpub</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTML">
    <term>DOCBOOK_DEFAULT_XSL_HTML</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtml"><function>DocbookHtml</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED">
    <term>DOCBOOK_DEFAULT_XSL_HTMLCHUNKED</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlChunked"><function>DocbookHtmlChunked</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_HTMLHELP">
    <term>DOCBOOK_DEFAULT_XSL_HTMLHELP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookHtmlhelp"><function>DocbookHtmlhelp</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_MAN">
    <term>DOCBOOK_DEFAULT_XSL_MAN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookMan"><function>DocbookMan</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_PDF">
    <term>DOCBOOK_DEFAULT_XSL_PDF</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookPdf"><function>DocbookPdf</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_SLIDESHTML">
    <term>DOCBOOK_DEFAULT_XSL_SLIDESHTML</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesHtml"><function>DocbookSlidesHtml</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_DEFAULT_XSL_SLIDESPDF">
    <term>DOCBOOK_DEFAULT_XSL_SLIDESPDF</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default XSLT file for the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-DocbookSlidesPdf"><function>DocbookSlidesPdf</function></link> builder within the
current environment, if no other XSLT gets specified via keyword.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_FOP">
    <term>DOCBOOK_FOP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path to the PDF renderer <literal>fop</literal> or <literal>xep</literal>,
if one of them is installed (<literal>fop</literal> gets checked first).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_FOPCOM">
    <term>DOCBOOK_FOPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The full command-line for the
PDF renderer <literal>fop</literal> or <literal>xep</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_FOPCOMSTR">
    <term>DOCBOOK_FOPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a renderer like <literal>fop</literal> or
<literal>xep</literal> is used to create PDF output from an XML file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_FOPFLAGS">
    <term>DOCBOOK_FOPFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additonal command-line flags for the
PDF renderer <literal>fop</literal> or <literal>xep</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XMLLINT">
    <term>DOCBOOK_XMLLINT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path to the external executable <literal>xmllint</literal>, if it's installed.
Note, that this is only used as last fallback for resolving
XIncludes, if no libxml2 or lxml Python binding can be imported
in the current system.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XMLLINTCOM">
    <term>DOCBOOK_XMLLINTCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The full command-line for the external executable
<literal>xmllint</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XMLLINTCOMSTR">
    <term>DOCBOOK_XMLLINTCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when <literal>xmllint</literal> is used to resolve
XIncludes for a given XML file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XMLLINTFLAGS">
    <term>DOCBOOK_XMLLINTFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additonal command-line flags for the external executable
<literal>xmllint</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XSLTPROC">
    <term>DOCBOOK_XSLTPROC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path to the external executable <literal>xsltproc</literal>
(or <literal>saxon</literal>, <literal>xalan</literal>), if one of them
is installed.
Note, that this is only used as last fallback for XSL transformations, if
no libxml2 or lxml Python binding can be imported in the current system.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XSLTPROCCOM">
    <term>DOCBOOK_XSLTPROCCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The full command-line for the external executable
<literal>xsltproc</literal> (or <literal>saxon</literal>, 
<literal>xalan</literal>).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XSLTPROCCOMSTR">
    <term>DOCBOOK_XSLTPROCCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when <literal>xsltproc</literal> is used to transform
an XML file via a given XSLT stylesheet.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XSLTPROCFLAGS">
    <term>DOCBOOK_XSLTPROCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additonal command-line flags for the external executable
<literal>xsltproc</literal> (or <literal>saxon</literal>, 
<literal>xalan</literal>).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DOCBOOK_XSLTPROCPARAMS">
    <term>DOCBOOK_XSLTPROCPARAMS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additonal parameters that are not intended for the XSLT processor executable, but
the XSL processing itself. By default, they get appended at the end of the command line
for <literal>saxon</literal> and <literal>saxon-xslt</literal>, respectively.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DSUFFIXES">
    <term>DSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of suffixes of files that will be scanned
for imported D package files.
The default list is:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
['.d']
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPDF">
    <term>DVIPDF</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The TeX DVI file to PDF file converter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPDFCOM">
    <term>DVIPDFCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to convert TeX DVI files into a PDF file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPDFCOMSTR">
    <term>DVIPDFCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a TeX DVI file
is converted into a PDF file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-DVIPDFCOM"><envar>$DVIPDFCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPDFFLAGS">
    <term>DVIPDFFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the TeX DVI file to PDF file converter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPS">
    <term>DVIPS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The TeX DVI file to PostScript converter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-DVIPSFLAGS">
    <term>DVIPSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the TeX DVI file to PostScript converter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ENV">
    <term>ENV</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A dictionary of environment variables
to use when invoking commands. When
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$ENV</envar> is used in a command all list
values will be joined using the path separator and any other non-string
values will simply be coerced to a string.
Note that, by default,
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
does
<emphasis>not</emphasis>
propagate the environment in force when you
execute
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to the commands used to build target files.
This is so that builds will be guaranteed
repeatable regardless of the environment
variables set at the time
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
is invoked.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If you want to propagate your
environment variables
to the commands executed
to build target files,
you must do so explicitly:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
import os
env = Environment(ENV = os.environ)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Note that you can choose only to propagate
certain environment variables.
A common example is
the system
<envar>PATH</envar>
environment variable,
so that
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
uses the same utilities
as the invoking shell (or other process):
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ESCAPE">
    <term>ESCAPE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that will be called to escape shell special characters in
command lines. The function should take one argument: the command line
string to escape; and should return the escaped command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03">
    <term>F03</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 03 compiler.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRAN"><envar>$FORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03"><envar>$F03</envar></link> if you need to use a specific compiler
or compiler version for Fortran 03 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03COM">
    <term>F03COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 03 source file to an object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03COM"><envar>$F03COM</envar></link> if you need to use a specific
command line for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03COMSTR">
    <term>F03COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 03 source file
is compiled to an object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03COM"><envar>$F03COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03FILESUFFIXES">
    <term>F03FILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the F03 dialect will be used. By
default, this is ['.f03']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03FLAGS">
    <term>F03FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user-specified options that are passed to the Fortran 03 compiler.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PATH"><envar>$F03PATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F03INCFLAGS"><envar>$_F03INCFLAGS</envar></link>
below,
for the variable that expands to those options.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03FLAGS"><envar>$F03FLAGS</envar></link> if you need to define specific
user options for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_F03INCFLAGS">
    <term>_F03INCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran 03 compiler command-line options
for specifying directories to be searched for include files.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F03INCFLAGS"><envar>$_F03INCFLAGS</envar></link> is created
by appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PATH"><envar>$F03PATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03PATH">
    <term>F03PATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the Fortran 03 compiler will search for include
directories. The implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03FLAGS"><envar>$F03FLAGS</envar></link> because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PATH"><envar>$F03PATH</envar></link> will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PATH"><envar>$F03PATH</envar></link> if you need to define a specific
include path for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link> variable,
which specifies the include path
for the default Fortran compiler
for all Fortran versions.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F03PATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(F03PATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F03INCFLAGS"><envar>$_F03INCFLAGS</envar></link>
construction variable,
which is constructed by
appending the values of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
construction variables
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PATH"><envar>$F03PATH</envar></link>.
Any command lines you define that need
the F03PATH directory list should
include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F03INCFLAGS"><envar>$_F03INCFLAGS</envar></link>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F03COM="my_compiler $_F03INCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03PPCOM">
    <term>F03PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 03 source file to an object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03FLAGS"><envar>$F03FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PPCOM"><envar>$F03PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03PPCOMSTR">
    <term>F03PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 03 source file
is compiled to an object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F03PPCOM"><envar>$F03PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F03PPFILESUFFIXES">
    <term>F03PPFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the compilation + preprocessor pass for
F03 dialect will be used. By default, this is empty
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77">
    <term>F77</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 77 compiler.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRAN"><envar>$FORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77"><envar>$F77</envar></link> if you need to use a specific compiler
or compiler version for Fortran 77 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77COM">
    <term>F77COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 77 source file to an object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77COM"><envar>$F77COM</envar></link> if you need to use a specific
command line for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77COMSTR">
    <term>F77COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 77 source file
is compiled to an object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77COM"><envar>$F77COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77FILESUFFIXES">
    <term>F77FILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the F77 dialect will be used. By
default, this is ['.f77']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77FLAGS">
    <term>F77FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user-specified options that are passed to the Fortran 77 compiler.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PATH"><envar>$F77PATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F77INCFLAGS"><envar>$_F77INCFLAGS</envar></link>
below,
for the variable that expands to those options.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77FLAGS"><envar>$F77FLAGS</envar></link> if you need to define specific
user options for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_F77INCFLAGS">
    <term>_F77INCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran 77 compiler command-line options
for specifying directories to be searched for include files.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F77INCFLAGS"><envar>$_F77INCFLAGS</envar></link> is created
by appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PATH"><envar>$F77PATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77PATH">
    <term>F77PATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the Fortran 77 compiler will search for include
directories. The implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77FLAGS"><envar>$F77FLAGS</envar></link> because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PATH"><envar>$F77PATH</envar></link> will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PATH"><envar>$F77PATH</envar></link> if you need to define a specific
include path for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link> variable,
which specifies the include path
for the default Fortran compiler
for all Fortran versions.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F77PATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(F77PATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F77INCFLAGS"><envar>$_F77INCFLAGS</envar></link>
construction variable,
which is constructed by
appending the values of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
construction variables
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PATH"><envar>$F77PATH</envar></link>.
Any command lines you define that need
the F77PATH directory list should
include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F77INCFLAGS"><envar>$_F77INCFLAGS</envar></link>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77PPCOM">
    <term>F77PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 77 source file to an object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77FLAGS"><envar>$F77FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PPCOM"><envar>$F77PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77PPCOMSTR">
    <term>F77PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 77 source file
is compiled to an object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F77PPCOM"><envar>$F77PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F77PPFILESUFFIXES">
    <term>F77PPFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the compilation + preprocessor pass for
F77 dialect will be used. By default, this is empty
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90">
    <term>F90</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 90 compiler.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRAN"><envar>$FORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90"><envar>$F90</envar></link> if you need to use a specific compiler
or compiler version for Fortran 90 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90COM">
    <term>F90COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 90 source file to an object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90COM"><envar>$F90COM</envar></link> if you need to use a specific
command line for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90COMSTR">
    <term>F90COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 90 source file
is compiled to an object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90COM"><envar>$F90COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90FILESUFFIXES">
    <term>F90FILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the F90 dialect will be used. By
default, this is ['.f90']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90FLAGS">
    <term>F90FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user-specified options that are passed to the Fortran 90 compiler.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PATH"><envar>$F90PATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F90INCFLAGS"><envar>$_F90INCFLAGS</envar></link>
below,
for the variable that expands to those options.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90FLAGS"><envar>$F90FLAGS</envar></link> if you need to define specific
user options for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_F90INCFLAGS">
    <term>_F90INCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran 90 compiler command-line options
for specifying directories to be searched for include files.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F90INCFLAGS"><envar>$_F90INCFLAGS</envar></link> is created
by appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PATH"><envar>$F90PATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90PATH">
    <term>F90PATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the Fortran 90 compiler will search for include
directories. The implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90FLAGS"><envar>$F90FLAGS</envar></link> because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PATH"><envar>$F90PATH</envar></link> will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PATH"><envar>$F90PATH</envar></link> if you need to define a specific
include path for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link> variable,
which specifies the include path
for the default Fortran compiler
for all Fortran versions.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F90PATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(F90PATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F90INCFLAGS"><envar>$_F90INCFLAGS</envar></link>
construction variable,
which is constructed by
appending the values of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
construction variables
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PATH"><envar>$F90PATH</envar></link>.
Any command lines you define that need
the F90PATH directory list should
include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F90INCFLAGS"><envar>$_F90INCFLAGS</envar></link>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90PPCOM">
    <term>F90PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 90 source file to an object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90FLAGS"><envar>$F90FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PPCOM"><envar>$F90PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90PPCOMSTR">
    <term>F90PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 90 source file
is compiled after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F90PPCOM"><envar>$F90PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F90PPFILESUFFIXES">
    <term>F90PPFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the compilation + preprocessor pass for
F90 dialect will be used. By default, this is empty
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95">
    <term>F95</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 95 compiler.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRAN"><envar>$FORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95"><envar>$F95</envar></link> if you need to use a specific compiler
or compiler version for Fortran 95 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95COM">
    <term>F95COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 95 source file to an object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95COM"><envar>$F95COM</envar></link> if you need to use a specific
command line for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95COMSTR">
    <term>F95COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 95 source file
is compiled to an object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95COM"><envar>$F95COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95FILESUFFIXES">
    <term>F95FILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the F95 dialect will be used. By
default, this is ['.f95']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95FLAGS">
    <term>F95FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user-specified options that are passed to the Fortran 95 compiler.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PATH"><envar>$F95PATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F95INCFLAGS"><envar>$_F95INCFLAGS</envar></link>
below,
for the variable that expands to those options.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95FLAGS"><envar>$F95FLAGS</envar></link> if you need to define specific
user options for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_F95INCFLAGS">
    <term>_F95INCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran 95 compiler command-line options
for specifying directories to be searched for include files.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F95INCFLAGS"><envar>$_F95INCFLAGS</envar></link> is created
by appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PATH"><envar>$F95PATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95PATH">
    <term>F95PATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the Fortran 95 compiler will search for include
directories. The implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95FLAGS"><envar>$F95FLAGS</envar></link> because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PATH"><envar>$F95PATH</envar></link> will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PATH"><envar>$F95PATH</envar></link> if you need to define a specific
include path for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link> variable,
which specifies the include path
for the default Fortran compiler
for all Fortran versions.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F95PATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(F95PATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F95INCFLAGS"><envar>$_F95INCFLAGS</envar></link>
construction variable,
which is constructed by
appending the values of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
construction variables
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PATH"><envar>$F95PATH</envar></link>.
Any command lines you define that need
the F95PATH directory list should
include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_F95INCFLAGS"><envar>$_F95INCFLAGS</envar></link>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95PPCOM">
    <term>F95PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 95 source file to an object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95FLAGS"><envar>$F95FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PPCOM"><envar>$F95PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95PPCOMSTR">
    <term>F95PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 95 source file
is compiled to an object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-F95PPCOM"><envar>$F95PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-F95PPFILESUFFIXES">
    <term>F95PPFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the compilation + preprocessor pass for
F95 dialect will be used. By default, this is empty
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-File">
    <term>File</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a string into a File instance relative to the
target being built.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a string into a File instance relative to the
target being built.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRAN">
    <term>FORTRAN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default Fortran compiler
for all versions of Fortran.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANCOM">
    <term>FORTRANCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran source file to an object file.
By default, any options specified
in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_CPPDEFFLAGS"><envar>$_CPPDEFFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link>, and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANCOMSTR">
    <term>FORTRANCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran source file
is compiled to an object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANCOM"><envar>$FORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANFILESUFFIXES">
    <term>FORTRANFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the FORTRAN dialect will be used. By
default, this is ['.f', '.for', '.ftn']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANFLAGS">
    <term>FORTRANFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user-specified options that are passed to the Fortran compiler.
Note that this variable does
<emphasis>not</emphasis>
contain
<option>-I</option>
(or similar) include or module search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link>,
below,
for the variables that expand those options.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_FORTRANINCFLAGS">
    <term>_FORTRANINCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran compiler command-line options
for specifying directories to be searched for include
files and module files.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link> is created
by prepending/appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANMODDIR">
    <term>FORTRANMODDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Directory location where the Fortran compiler should place
any module files it generates.  This variable is empty, by default. Some
Fortran compilers will internally append this directory in the search path
for module files, as well.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANMODDIRPREFIX">
    <term>FORTRANMODDIRPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify a module directory on the Fortran compiler command
line.
This will be appended to the beginning of the directory
in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link> construction variables
when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> variables is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANMODDIRSUFFIX">
    <term>FORTRANMODDIRSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify a module directory on the Fortran compiler command
line.
This will be appended to the beginning of the directory
in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link> construction variables
when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> variables is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_FORTRANMODFLAG">
    <term>_FORTRANMODFLAG</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the Fortran compiler command-line option
for specifying the directory location where the Fortran
compiler should place any module files that happen to get
generated during compilation.
The value of <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> is created
by prepending/appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRPREFIX"><envar>$FORTRANMODDIRPREFIX</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRSUFFIX"><envar>$FORTRANMODDIRSUFFIX</envar></link>
to the beginning and end of the directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANMODPREFIX">
    <term>FORTRANMODPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The module file prefix used by the Fortran compiler.  SCons assumes that
the Fortran compiler follows the quasi-standard naming convention for
module files of
<filename>module_name.mod</filename>.
As a result, this variable is left empty, by default.  For situations in
which the compiler does not necessarily follow the normal convention,
the user may use this variable.  Its value will be appended to every
module file name as scons attempts to resolve dependencies.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANMODSUFFIX">
    <term>FORTRANMODSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The module file suffix used by the Fortran compiler.  SCons assumes that
the Fortran compiler follows the quasi-standard naming convention for
module files of
<filename>module_name.mod</filename>.
As a result, this variable is set to ".mod", by default.  For situations
in which the compiler does not necessarily follow the normal convention,
the user may use this variable.  Its value will be appended to every
module file name as scons attempts to resolve dependencies.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANPATH">
    <term>FORTRANPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the Fortran compiler will search for
include files and (for some compilers) module files. The Fortran implicit
dependency scanner will search these directories for include files (but
not module files since they are autogenerated and, as such, may not
actually exist at the time the scan takes place). Don't explicitly put
include directory arguments in FORTRANFLAGS because the result will be
non-portable and the directories will not be searched by the dependency
scanner. Note: directory names in FORTRANPATH will be looked-up relative
to the SConscript directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(FORTRANPATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(FORTRANPATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link>
construction variable,
which is constructed by
appending the values of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link>
construction variables
to the beginning and end
of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link>.
Any command lines you define that need
the FORTRANPATH directory list should
include <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANPPCOM">
    <term>FORTRANPPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran source file to an object file
after first running the file through the C preprocessor.
By default, any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANFLAGS"><envar>$FORTRANFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_CPPDEFFLAGS"><envar>$_CPPDEFFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link>, and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link>
construction variables are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANPPCOMSTR">
    <term>FORTRANPPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran source file
is compiled to an object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPPCOM"><envar>$FORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANPPFILESUFFIXES">
    <term>FORTRANPPFILESUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of file extensions for which the compilation + preprocessor pass for
FORTRAN dialect will be used. By default, this is ['.fpp', '.FPP']
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FORTRANSUFFIXES">
    <term>FORTRANSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of suffixes of files that will be scanned
for Fortran implicit dependencies
(INCLUDE lines and USE statements).
The default list is:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
[".f", ".F", ".for", ".FOR", ".ftn", ".FTN", ".fpp", ".FPP",
".f77", ".F77", ".f90", ".F90", ".f95", ".F95"]
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FRAMEWORKPATH">
    <term>FRAMEWORKPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc,
a list containing the paths to search for frameworks.
Used by the compiler to find framework-style includes like
#include &lt;Fmwk/Header.h&gt;.
Used by the linker to find user-specified frameworks when linking (see
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>).
For example:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
 env.AppendUnique(FRAMEWORKPATH='#myframeworkdir')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
will add
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
  ... -Fmyframeworkdir
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
to the compiler and linker command lines.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_FRAMEWORKPATH">
    <term>_FRAMEWORKPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc, an automatically-generated construction variable
containing the linker command-line options corresponding to
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FRAMEWORKPATHPREFIX">
    <term>FRAMEWORKPATHPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries.
(see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>).
The default value is
<option>-F</option>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FRAMEWORKPREFIX">
    <term>FRAMEWORKPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc,
the prefix to be used for linking in frameworks
(see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>).
The default value is
<option>-framework</option>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_FRAMEWORKS">
    <term>_FRAMEWORKS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc,
an automatically-generated construction variable
containing the linker command-line options
for linking with FRAMEWORKS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-FRAMEWORKS">
    <term>FRAMEWORKS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc, a list of the framework names to be linked into a
program or shared library or bundle.
The default value is the empty list.
For example:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
 env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration'))
</example_commands>

</listitem>
  </varlistentry>
  <varlistentry id="cv-FRAMEWORKSFLAGS">
    <term>FRAMEWORKSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Mac OS X with gcc,
general user-supplied frameworks options to be added at
the end of a command
line building a loadable module.
(This has been largely superseded by
the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATHPREFIX"><envar>$FRAMEWORKPATHPREFIX</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPREFIX"><envar>$FRAMEWORKPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link> variables
described above.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-GS">
    <term>GS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Ghostscript program used, e.g. to convert PostScript to PDF files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-GSCOM">
    <term>GSCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The full Ghostscript command line used for the conversion process. Its default
value is <quote><literal>$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES</literal></quote>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-GSCOMSTR">
    <term>GSCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when
Ghostscript is called for the conversion process.
If this is not set (the default), then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-GSCOM"><envar>$GSCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-GSFLAGS">
    <term>GSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the Ghostscript program,
when converting PostScript to PDF files for example. Its default value
is <quote><literal>-dNOPAUSE -dBATCH -sDEVICE=pdfwrite</literal></quote>
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-HOST_ARCH">
    <term>HOST_ARCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the host architecture for Visual Studio compiler. If not set,
default to the detected host architecture: note that this may depend
on the python you are using.
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect. 
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Valid values are the same as for <envar xmlns="http://www.scons.org/dbxsd/v1.0">$TARGET_ARCH</envar>.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is currently only used on Windows, but in the future it will be
used on other OSes as well.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
        The name of the host hardware architecture used to create the Environment.
        If a platform is specified when creating the Environment, then
        that Platform's logic will handle setting this value.
        This value is immutable, and should not be changed by the user after
        the Environment is initialized.
        Currently only set for Win32.
</para>
    </listitem>
  </varlistentry>
  <varlistentry id="cv-HOST_OS">
    <term>HOST_OS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
        The name of the host operating system used to create the Environment.
        If a platform is specified when creating the Environment, then
        that Platform's logic will handle setting this value.
        This value is immutable, and should not be changed by the user after
        the Environment is initialized.
        Currently only set for Win32.
</para>
    </listitem>
  </varlistentry>
  <varlistentry id="cv-IDLSUFFIXES">
    <term>IDLSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of suffixes of files that will be scanned
for IDL implicit dependencies
(#include or import lines).
The default list is:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
[".idl", ".IDL"]
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-IMPLICIT_COMMAND_DEPENDENCIES">
    <term>IMPLICIT_COMMAND_DEPENDENCIES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Controls whether or not SCons will
add implicit dependencies for the commands
executed to build targets.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
By default, SCons will add
to each target
an implicit dependency on the command
represented by the first argument on any
command line it executes.
The specific file for the dependency is
found by searching the
<varname>PATH</varname>
variable in the
<varname>ENV</varname>
environment used to execute the command.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If the construction variable
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$IMPLICIT_COMMAND_DEPENDENCIES</envar>
is set to a false value
(<literal>None</literal>,
<literal>False</literal>,
<literal>0</literal>,
etc.),
then the implicit dependency will
not be added to the targets
built with that construction environment.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0)
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-INCPREFIX">
    <term>INCPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify an include directory on the C compiler command
line.
This will be appended to the beginning of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$FORTRANPATH</envar> construction variables
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_FORTRANINCFLAGS</envar>
variables are automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-INCSUFFIX">
    <term>INCSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify an include directory on the C compiler command
line.
This will be appended to the end of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$FORTRANPATH</envar> construction variables
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_FORTRANINCFLAGS</envar>
variables are automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-INSTALL">
    <term>INSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function to be called to install a file into a
destination file name.
The default function copies the file into the destination
(and sets the destination file's mode and permission bits
to match the source file's).
The function takes the following arguments:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
def install(dest, source, env):
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<varname>dest</varname>
is the path name of the destination file.
<varname>source</varname>
is the path name of the source file.
<varname>env</varname>
is the construction environment
(a dictionary of construction values)
in force for this file installation.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-INSTALLSTR">
    <term>INSTALLSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a file is
installed into a destination file name.
The default is:
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
Install file: "$SOURCE" as "$TARGET"
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-INTEL_C_COMPILER_VERSION">
    <term>INTEL_C_COMPILER_VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Set by the "intelc" Tool
to the major version number of the Intel C compiler
selected for use.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAR">
    <term>JAR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Java archive tool.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Java archive tool.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JARCHDIR">
    <term>JARCHDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory to which the Java archive tool should change
(using the
<option>-C</option>
option).
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory to which the Java archive tool should change
(using the
<option>-C</option>
option).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JARCOM">
    <term>JARCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the Java archive tool.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the Java archive tool.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JARCOMSTR">
    <term>JARCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when the Java archive tool
is called
If this is not set, then <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JARCOM</envar> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET")
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when the Java archive tool
is called
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JARCOM"><envar>$JARCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JARFLAGS">
    <term>JARFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the Java archive tool.
By default this is set to
<option>cf</option>
to create the necessary
<command>jar</command>
file.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the Java archive tool.
By default this is set to
<option>cf</option>
to create the necessary
<command>jar</command>
file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JARSUFFIX">
    <term>JARSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for Java archives:
<filename>.jar</filename>
by default.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for Java archives:
<filename>.jar</filename>
by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVABOOTCLASSPATH">
    <term>JAVABOOTCLASSPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the list of directories that
will be added to the
<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line
via the <option>-bootclasspath</option> option.
The individual directory names will be
separated by the operating system's path separate character
(<filename>:</filename> on UNIX/Linux/POSIX,
<filename>;</filename> on Windows).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAC">
    <term>JAVAC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Java compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACCOM">
    <term>JAVACCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a directory tree containing
Java source files to
corresponding Java class files.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACFLAGS"><envar>$JAVACFLAGS</envar></link> construction variable
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACCOMSTR">
    <term>JAVACCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when compiling
a directory tree of Java source files to
corresponding Java class files.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACCOM"><envar>$JAVACCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACFLAGS">
    <term>JAVACFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to the Java compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACLASSDIR">
    <term>JAVACLASSDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory in which Java class files may be found.
This is stripped from the beginning of any Java .class
file names supplied to the
<literal>JavaH</literal>
builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACLASSPATH">
    <term>JAVACLASSPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the list of directories that
will be searched for Java
<filename>.class</filename> file.
The directories in this list will be added to the
<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> and <application xmlns="http://www.scons.org/dbxsd/v1.0">javah</application> command lines
via the <option>-classpath</option> option.
The individual directory names will be
separated by the operating system's path separate character
(<filename>:</filename> on UNIX/Linux/POSIX,
<filename>;</filename> on Windows).
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Note that this currently just adds the specified
directory via the <option>-classpath</option> option.
<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVACLASSPATH</envar> directories for dependency
<filename>.class</filename> files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVACLASSSUFFIX">
    <term>JAVACLASSSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for Java class files;
<filename>.class</filename>
by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAH">
    <term>JAVAH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Java generator for C header and stub files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAHCOM">
    <term>JAVAHCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to generate C header and stub files
from Java classes.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVAHFLAGS"><envar>$JAVAHFLAGS</envar></link> construction variable
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAHCOMSTR">
    <term>JAVAHCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when C header and stub files
are generated from Java classes.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVAHCOM"><envar>$JAVAHCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAHFLAGS">
    <term>JAVAHFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the C header and stub file generator
for Java classes.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVASOURCEPATH">
    <term>JAVASOURCEPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the list of directories that
will be searched for input
<filename>.java</filename> file.
The directories in this list will be added to the
<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line
via the <option>-sourcepath</option> option.
The individual directory names will be
separated by the operating system's path separate character
(<filename>:</filename> on UNIX/Linux/POSIX,
<filename>;</filename> on Windows).
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Note that this currently just adds the specified
directory via the <option>-sourcepath</option> option.
<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVASOURCEPATH</envar> directories for dependency
<filename>.java</filename> files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVASUFFIX">
    <term>JAVASUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix for Java files;
<filename>.java</filename>
by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-JAVAVERSION">
    <term>JAVAVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the Java version being used by the <function xmlns="http://www.scons.org/dbxsd/v1.0">Java</function> builder.
This is <emphasis>not</emphasis> currently used to select one
version of the Java compiler vs. another.
Instead, you should set this to specify the version of Java
supported by your <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler.
The default is <literal>1.4</literal>.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is sometimes necessary because
Java 1.5 changed the file names that are created
for nested anonymous inner classes,
which can cause a mismatch with the files
that <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> expects will be generated by the <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler.
Setting <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVAVERSION</envar> to <literal>1.5</literal>
(or <literal>1.6</literal>, as appropriate)
can make <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> realize that a Java 1.5 or 1.6
build is actually up to date.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEX">
    <term>LATEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEXCOM">
    <term>LATEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEXCOMSTR">
    <term>LATEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling
the LaTeX structured formatter and typesetter.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LATEXCOM"><envar>$LATEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LATEXCOMSTR = "Building $TARGET from LaTeX input $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEXFLAGS">
    <term>LATEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEXRETRIES">
    <term>LATEXRETRIES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The maximum number of times that LaTeX
will be re-run if the
<filename>.log</filename>
generated by the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LATEXCOM"><envar>$LATEXCOM</envar></link> command
indicates that there are undefined references.
The default is to try to resolve undefined references
by re-running LaTeX up to three times.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LATEXSUFFIXES">
    <term>LATEXSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of suffixes of files that will be scanned
for LaTeX implicit dependencies
(<literal>\include</literal> or <literal>\import</literal> files).
The default list is:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
[".tex", ".ltx", ".latex"]
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULE">
    <term>LDMODULE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The linker for building loadable modules.
By default, this is the same as <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINK"><envar>$SHLINK</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULECOM">
    <term>LDMODULECOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line for building loadable modules.
On Mac OS X, this uses the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULE"><envar>$LDMODULE</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULEFLAGS"><envar>$LDMODULEFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKSFLAGS"><envar>$FRAMEWORKSFLAGS</envar></link> variables.
On other systems, this is the same as <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINK"><envar>$SHLINK</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULECOMSTR">
    <term>LDMODULECOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when building loadable modules.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LDMODULECOM"><envar>$LDMODULECOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULEFLAGS">
    <term>LDMODULEFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user options passed to the linker for building loadable modules.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULEPREFIX">
    <term>LDMODULEPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for loadable module file names.
On Mac OS X, this is null;
on other systems, this is
the same as <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBPREFIX"><envar>$SHLIBPREFIX</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LDMODULESUFFIX">
    <term>LDMODULESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for loadable module file names.
On Mac OS X, this is null;
on other systems, this is
the same as $SHLIBSUFFIX.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LEX">
    <term>LEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The lexical analyzer generator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LEXCOM">
    <term>LEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the lexical analyzer generator
to generate a source file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LEXCOMSTR">
    <term>LEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a source file
using the lexical analyzer generator.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LEXCOM"><envar>$LEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LEXCOMSTR = "Lex'ing $TARGET from $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LEXFLAGS">
    <term>LEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the lexical analyzer generator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_LIBDIRFLAGS">
    <term>_LIBDIRFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the linker command-line options
for specifying directories to be searched for library.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRSUFFIX</envar>
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBDIRPREFIX">
    <term>LIBDIRPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify a library directory on the linker command line.
This will be appended to the beginning of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBDIRSUFFIX">
    <term>LIBDIRSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify a library directory on the linker command line.
This will be appended to the end of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBEMITTER">
    <term>LIBEMITTER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
TODO
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_LIBFLAGS">
    <term>_LIBFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the linker command-line options
for specifying libraries to be linked with the resulting target.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar>
to the beginning and end
of each filename in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBLINKPREFIX">
    <term>LIBLINKPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify a library to link on the linker command line.
This will be appended to the beginning of each library
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBLINKSUFFIX">
    <term>LIBLINKSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify a library to link on the linker command line.
This will be appended to the end of each library
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBPATH">
    <term>LIBPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that will be searched for libraries.
The implicit dependency scanner will search these
directories for include files. Don't explicitly put include directory
arguments in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LINKFLAGS</envar> or <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SHLINKFLAGS</envar>
because the result will be non-portable
and the directories will not be searched by the dependency scanner. Note:
directory names in LIBPATH will be looked-up relative to the SConscript
directory when they are used in a command. To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LIBPATH='#/libs')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
libs = Dir('libs')
env = Environment(LIBPATH=libs)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar>
construction variable,
which is constructed by
appending the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRSUFFIX</envar>
construction variables
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar>.
Any command lines you define that need
the LIBPATH directory list should
include <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBPREFIX">
    <term>LIBPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for (static) library file names.
A default value is set for each platform
(posix, win32, os2, etc.),
but the value is overridden by individual tools
(ar, mslib, sgiar, sunar, tlib, etc.)
to reflect the names of the libraries they create.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBPREFIXES">
    <term>LIBPREFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of all legal prefixes for library file names.
When searching for library dependencies,
SCons will look for files with these prefixes,
the base library name,
and suffixes in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBSUFFIXES</envar> list.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBS">
    <term>LIBS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of one or more libraries
that will be linked with
any executable programs
created by this environment.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The library list will be added to command lines
through the automatically-generated
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar>
construction variable,
which is constructed by
appending the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar>
construction variables
to the beginning and end
of each filename in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar>.
Any command lines you define that need
the LIBS library list should
include <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If you add a
File
object to the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar>
list, the name of that file will be added to
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar>,
and thus the link line, as is, without
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar>
or
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar>.
For example:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env.Append(LIBS=File('/tmp/mylib.so'))
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
In all cases, scons will add dependencies from the executable program to
all the libraries in this list.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBSUFFIX">
    <term>LIBSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for (static) library file names.
A default value is set for each platform
(posix, win32, os2, etc.),
but the value is overridden by individual tools
(ar, mslib, sgiar, sunar, tlib, etc.)
to reflect the names of the libraries they create.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LIBSUFFIXES">
    <term>LIBSUFFIXES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of all legal suffixes for library file names.
When searching for library dependencies,
SCons will look for files with prefixes, in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPREFIXES</envar> list,
the base library name,
and these suffixes.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LICENSE">
    <term>LICENSE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The abbreviated name of the license under which
this project is released (gpl, lpgl, bsd etc.).
See http://www.opensource.org/licenses/alphabetical
for a list of license names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LINESEPARATOR">
    <term>LINESEPARATOR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The separator used by the <function xmlns="http://www.scons.org/dbxsd/v1.0">Substfile</function> and <function xmlns="http://www.scons.org/dbxsd/v1.0">Textfile</function> builders.
This value is used between sources when constructing the target.
It defaults to the current system line separator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LINGUAS_FILE">
    <term>LINGUAS_FILE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LINGUAS_FILE</envar> defines file(s) containing list of additional linguas
to be processed by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link>
builders. It also affects <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-Translate"><function>Translate</function></link> builder. If the variable contains
a string, it defines name of the list file. The <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LINGUAS_FILE</envar> may be a
list of file names as well. If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LINGUAS_FILE</envar> is set to
<literal>True</literal> (or non-zero numeric value), the list will be read from
default file named
<filename>LINGUAS</filename>.
</para>

</listitem>
  </varlistentry>
  <varlistentry id="cv-LINK">
    <term>LINK</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The linker.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LINKCOM">
    <term>LINKCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to link object files into an executable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LINKCOMSTR">
    <term>LINKCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when object files
are linked into an executable.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LINKCOM"><envar>$LINKCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(LINKCOMSTR = "Linking $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-LINKFLAGS">
    <term>LINKFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user options passed to the linker.
Note that this variable should
<emphasis>not</emphasis>
contain
<option>-l</option>
(or similar) options for linking with the libraries listed in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBS"><envar>$LIBS</envar></link>,
nor
<option>-L</option>
(or similar) library search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBPATH"><envar>$LIBPATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LIBFLAGS"><envar>$_LIBFLAGS</envar></link>
above,
for the variable that expands to library-link options,
and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LIBDIRFLAGS"><envar>$_LIBDIRFLAGS</envar></link>
above,
for the variable that expands to library search path options.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-M4">
    <term>M4</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The M4 macro preprocessor.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-M4COM">
    <term>M4COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to pass files through the M4 macro preprocessor.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-M4COMSTR">
    <term>M4COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when
a file is passed through the M4 macro preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-M4COM"><envar>$M4COM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-M4FLAGS">
    <term>M4FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the M4 macro preprocessor.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MAKEINDEX">
    <term>MAKEINDEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The makeindex generator for the TeX formatter and typesetter and the
LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MAKEINDEXCOM">
    <term>MAKEINDEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the makeindex generator for the
TeX formatter and typesetter and the LaTeX structured formatter and
typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MAKEINDEXCOMSTR">
    <term>MAKEINDEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling the makeindex generator for the
TeX formatter and typesetter
and the LaTeX structured formatter and typesetter.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MAKEINDEXCOM"><envar>$MAKEINDEXCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MAKEINDEXFLAGS">
    <term>MAKEINDEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the makeindex generator for the TeX formatter
and typesetter and the LaTeX structured formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MAXLINELENGTH">
    <term>MAXLINELENGTH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The maximum number of characters allowed on an external command line.
On Win32 systems,
link lines longer than this many characters
are linked via a temporary file name.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MIDL">
    <term>MIDL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Microsoft IDL compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MIDLCOM">
    <term>MIDLCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to pass files to the Microsoft IDL compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MIDLCOMSTR">
    <term>MIDLCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when
the Microsoft IDL copmiler is called.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MIDLCOM"><envar>$MIDLCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MIDLFLAGS">
    <term>MIDLFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the Microsoft IDL compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MOSUFFIX">
    <term>MOSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Suffix used for <literal>MO</literal> files (default: <literal>'.mo'</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgfmt"><literal>msgfmt</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGFMT">
    <term>MSGFMT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Absolute path to <command>msgfmt(1)</command> binary, found by
<function>Detect()</function>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgfmt"><literal>msgfmt</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGFMTCOM">
    <term>MSGFMTCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Complete command line to run <command>msgfmt(1)</command> program.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgfmt"><literal>msgfmt</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGFMTCOMSTR">
    <term>MSGFMTCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
String to display when <command>msgfmt(1)</command> is invoked 
(default: <literal>''</literal>, which means ``print <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSGFMTCOM"><envar>$MSGFMTCOM</envar></link>'').
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgfmt"><literal>msgfmt</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGFMTFLAGS">
    <term>MSGFMTFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additional flags to <command>msgfmt(1)</command>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgfmt"><literal>msgfmt</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-MOFiles"><function>MOFiles</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGINIT">
    <term>MSGINIT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Path to <command>msginit(1)</command> program (found via
<literal>Detect()</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGINITCOM">
    <term>MSGINITCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Complete command line to run <command>msginit(1)</command> program.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGINITCOMSTR">
    <term>MSGINITCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
String to display when <command>msginit(1)</command> is invoked 
(default: <literal>''</literal>, which means ``print <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSGINITCOM"><envar>$MSGINITCOM</envar></link>'').
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGINITFLAGS">
    <term>MSGINITFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
List of additional flags to <command>msginit(1)</command> (default:
<literal>[]</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_MSGINITLOCALE">
    <term>_MSGINITLOCALE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Internal ``macro''. Computes locale (language) name based on target filename
(default: <literal>'${TARGET.filebase}' </literal>).
</para>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGMERGE">
    <term>MSGMERGE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Absolute path to <command>msgmerge(1)</command> binary as found by
<function>Detect()</function>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgmerge"><literal>msgmerge</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGMERGECOM">
    <term>MSGMERGECOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Complete command line to run <command>msgmerge(1)</command> command.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgmerge"><literal>msgmerge</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGMERGECOMSTR">
    <term>MSGMERGECOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
String to be displayed when <command>msgmerge(1)</command> is invoked
(default: <literal>''</literal>, which means ``print <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSGMERGECOM"><envar>$MSGMERGECOM</envar></link>'').
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgmerge"><literal>msgmerge</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSGMERGEFLAGS">
    <term>MSGMERGEFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additional flags to <command>msgmerge(1)</command> command.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgmerge"><literal>msgmerge</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSSDK_DIR">
    <term>MSSDK_DIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory containing the Microsoft SDK
(either Platform SDK or Windows SDK)
to be used for compilation.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSSDK_VERSION">
    <term>MSSDK_VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version string of the Microsoft SDK
(either Platform SDK or Windows SDK)
to be used for compilation.
Supported versions include
<literal>6.1</literal>,
<literal>6.0A</literal>,
<literal>6.0</literal>,
<literal>2003R2</literal>
and 
<literal>2003R1</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVC_BATCH">
    <term>MSVC_BATCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When set to any true value,
specifies that SCons should batch
compilation of object files
when calling the Microsoft Visual C/C++ compiler.
All compilations of source files from the same source directory
that generate target files in a same output directory
and were configured in SCons using the same construction environment
will be built in a single call to the compiler.
Only source files that have changed since their
object files were built will be passed to each compiler invocation
(via the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CHANGED_SOURCES"><envar>$CHANGED_SOURCES</envar></link> construction variable).
Any compilations where the object (target) file base name
(minus the <filename>.obj</filename>)
does not match the source file base name
will be compiled separately.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVC_USE_SCRIPT">
    <term>MSVC_USE_SCRIPT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Use a batch script to set up Microsoft Visual Studio compiler
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_USE_SCRIPT</envar> overrides <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$TARGET_ARCH</envar>.
If set to the name of a Visual Studio .bat file (e.g. vcvars.bat),
SCons will run that bat file and extract the relevant variables from
the result (typically %INCLUDE%, %LIB%, and %PATH%).  Setting
MSVC_USE_SCRIPT to None bypasses the Visual Studio autodetection
entirely; use this if you are running SCons in a Visual Studio cmd
window and importing the shell's environment variables.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVC_VERSION">
    <term>MSVC_VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the preferred  version of Microsoft Visual C/C++ to use.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is not set, SCons will (by default) select the
latest version of Visual C/C++ installed on your system.  If the
specified version isn't installed, tool initialization will fail.
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect.  Set it to an unexpected
value (e.g. "XXX") to see the valid values on your system.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS">
    <term>MSVS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When the Microsoft Visual Studio tools are initialized, they set up
this dictionary with the following keys:
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>VERSION</envar>:
the version of MSVS being used (can be set via
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>)
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>VERSIONS</envar>:
the available versions of MSVS installed
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>VCINSTALLDIR</envar>:
installed directory of Visual C++
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>VSINSTALLDIR</envar>:
installed directory of Visual Studio
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>FRAMEWORKDIR</envar>:
installed directory of the .NET framework
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>FRAMEWORKVERSIONS</envar>:
list of installed versions of the .NET framework, sorted latest to oldest.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>FRAMEWORKVERSION</envar>:
latest installed version of the .NET framework
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>FRAMEWORKSDKDIR</envar>:
installed location of the .NET SDK.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>PLATFORMSDKDIR</envar>:
installed location of the Platform SDK.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<envar>PLATFORMSDK_MODULES</envar>:
dictionary of installed Platform SDK modules,
where the dictionary keys are keywords for the various modules, and
the values are 2-tuples where the first is the release date, and the
second is the version number.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If a value isn't set, it wasn't available in the registry.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_ARCH">
    <term>MSVS_ARCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the architecture for which the generated project(s) should build.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default value is <literal>x86</literal>.
<literal>amd64</literal> is also supported
by <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> for some Visual Studio versions.
Trying to set <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_ARCH</envar> to an architecture that's not
supported for a given Visual Studio version
will generate an error.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_PROJECT_GUID">
    <term>MSVS_PROJECT_GUID</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string
placed in a generated Microsoft Visual Studio project file
as the value of the
<literal>ProjectGUID</literal>
attribute.
There is no default value. If not defined, a new GUID is generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_SCC_AUX_PATH">
    <term>MSVS_SCC_AUX_PATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path name
placed in a generated Microsoft Visual Studio project file
as the value of the
<literal>SccAuxPath</literal>
attribute
if the
<envar>MSVS_SCC_PROVIDER</envar>
construction variable is also set.
There is no default value.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_SCC_CONNECTION_ROOT">
    <term>MSVS_SCC_CONNECTION_ROOT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The root path of projects in your SCC workspace, i.e the path under which
all project and solution files will be generated. It is used as a
reference path from which the relative paths of the generated
Microsoft Visual Studio project and solution files are computed.
The relative project file path is placed as the value of the
<literal>SccLocalPath</literal>
attribute
of the project file
and as the values of the
<literal>SccProjectFilePathRelativizedFromConnection[i]</literal>
(where [i] ranges from 0 to the number of projects in the solution)
attributes of the
<literal>GlobalSection(SourceCodeControl)</literal>
section of the Microsoft Visual Studio solution file.
Similarly the relative solution file path is placed as the values of the
<literal>SccLocalPath[i]</literal>
(where [i] ranges from 0 to the number of projects in the solution)
attributes of the
<literal>GlobalSection(SourceCodeControl)</literal>
section of the Microsoft Visual Studio solution file.
This is used only
if the
<envar>MSVS_SCC_PROVIDER</envar>
construction variable is also set.
The default value is the current working directory.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_SCC_PROJECT_NAME">
    <term>MSVS_SCC_PROJECT_NAME</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The project name
placed in a generated Microsoft Visual Studio project file
as the value of the
<literal>SccProjectName</literal>
attribute
if the
<envar>MSVS_SCC_PROVIDER</envar>
construction variable is also set.
In this case the string is also placed in the
<literal>SccProjectName0</literal>
attribute of the
<literal>GlobalSection(SourceCodeControl)</literal>
section of the Microsoft Visual Studio solution file.
There is no default value.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_SCC_PROVIDER">
    <term>MSVS_SCC_PROVIDER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string
placed in a generated Microsoft Visual Studio project file
as the value of the
<literal>SccProvider</literal>
attribute.
The string is also placed in the
<literal>SccProvider0</literal>
attribute of the
<literal>GlobalSection(SourceCodeControl)</literal>
section of the Microsoft Visual Studio solution file.
There is no default value.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVS_VERSION">
    <term>MSVS_VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the preferred version of Microsoft Visual Studio to use.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is not set,
<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> will (by default) select the latest version
of Visual Studio installed on your system.
So, if you have version 6 and version 7 (MSVS .NET) installed,
it will prefer version 7.
You can override this by
specifying the
<envar>MSVS_VERSION</envar>
variable in the Environment initialization, setting it to the
appropriate version ('6.0' or '7.0', for example).
If the specified version isn't installed,
tool initialization will fail.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is obsolete: use <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> instead. If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is set and
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is not, <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> will be set automatically to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar>.
If both are set to different values, scons will raise an error.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSBUILDCOM">
    <term>MSVSBUILDCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The build command line placed in
a generated Microsoft Visual Studio project file.
The default is to have Visual Studio invoke SCons with any specified
build targets.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSCLEANCOM">
    <term>MSVSCLEANCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The clean command line placed in
a generated Microsoft Visual Studio project file.
The default is to have Visual Studio invoke SCons with the -c option
to remove any specified targets.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSENCODING">
    <term>MSVSENCODING</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The encoding string placed in
a generated Microsoft Visual Studio project file.
The default is encoding
<literal>Windows-1252</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSPROJECTCOM">
    <term>MSVSPROJECTCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The action used to generate Microsoft Visual Studio project files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSPROJECTSUFFIX">
    <term>MSVSPROJECTSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for Microsoft Visual Studio project (DSP) files.
The default value is
<filename>.vcproj</filename>
when using Visual Studio version 7.x (.NET)
or later version,
and
<filename>.dsp</filename>
when using earlier versions of Visual Studio.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSREBUILDCOM">
    <term>MSVSREBUILDCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The rebuild command line placed in
a generated Microsoft Visual Studio project file.
The default is to have Visual Studio invoke SCons with any specified
rebuild targets.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSCONS">
    <term>MSVSSCONS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The SCons used in generated Microsoft Visual Studio project files.
The default is the version of SCons being
used to generate the project file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSCONSCOM">
    <term>MSVSSCONSCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default SCons command used in generated Microsoft Visual Studio
project files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSCONSCRIPT">
    <term>MSVSSCONSCRIPT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The sconscript file
(that is,
<filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename>
or
<filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename>
file)
that will be invoked by Visual Studio
project files
(through the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONSCOM"><envar>$MSVSSCONSCOM</envar></link>
variable).
The default is the same sconscript file
that contains the call to
<function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>
to build the project file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSCONSFLAGS">
    <term>MSVSSCONSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The SCons flags used in generated Microsoft Visual Studio
project files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSOLUTIONCOM">
    <term>MSVSSOLUTIONCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The action used to generate Microsoft Visual Studio solution files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MSVSSOLUTIONSUFFIX">
    <term>MSVSSOLUTIONSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for Microsoft Visual Studio solution (DSW) files.
The default value is
<filename>.sln</filename>
when using Visual Studio version 7.x (.NET),
and
<filename>.dsw</filename>
when using earlier versions of Visual Studio.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MT">
    <term>MT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The program used on Windows systems to embed manifests into DLLs and EXEs.
See also <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWS_EMBED_MANIFEST"><envar>$WINDOWS_EMBED_MANIFEST</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MTEXECOM">
    <term>MTEXECOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Windows command line used to embed manifests into executables.
See also <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MTSHLIBCOM"><envar>$MTSHLIBCOM</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MTFLAGS">
    <term>MTFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Flags passed to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MT"><envar>$MT</envar></link> manifest embedding program (Windows only).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MTSHLIBCOM">
    <term>MTSHLIBCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Windows command line used to embed manifests into shared libraries (DLLs).
See also <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MTEXECOM"><envar>$MTEXECOM</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MWCW_VERSION">
    <term>MWCW_VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version number of the MetroWerks CodeWarrior C compiler
to be used.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-MWCW_VERSIONS">
    <term>MWCW_VERSIONS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of installed versions of the MetroWerks CodeWarrior C compiler
on this system.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-NAME">
    <term>NAME</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specfies the name of the project to package.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-no_import_lib">
    <term>no_import_lib</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When set to non-zero,
suppresses creation of a corresponding Windows static import lib by the
<literal>SharedLibrary</literal>
builder when used with
MinGW, Microsoft Visual Studio or Metrowerks.
This also suppresses creation
of an export (.exp) file
when using Microsoft Visual Studio.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-OBJPREFIX">
    <term>OBJPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for (static) object file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-OBJSUFFIX">
    <term>OBJSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for (static) object file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-P4">
    <term>P4</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Perforce executable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-P4COM">
    <term>P4COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to
fetch source files from Perforce.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-P4COMSTR">
    <term>P4COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when
fetching a source file from Perforce.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-P4COM"><envar>$P4COM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-P4FLAGS">
    <term>P4FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to Perforce.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PACKAGEROOT">
    <term>PACKAGEROOT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the directory where all files in resulting archive will be
placed if applicable.  The default value is "$NAME-$VERSION".
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PACKAGETYPE">
    <term>PACKAGETYPE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Selects the package type to build.  Currently these are available:
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
 * msi - Microsoft Installer
 * rpm - Redhat Package Manger
 * ipkg - Itsy Package Management System
 * tarbz2 - compressed tar
 * targz - compressed tar
 * zip - zip file
 * src_tarbz2 - compressed tar source
 * src_targz - compressed tar source
 * src_zip - zip file source
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
This may be overridden with the "package_type" command line option.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PACKAGEVERSION">
    <term>PACKAGEVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version of the package (not the underlying project).
This is currently only used by the rpm packager
and should reflect changes in the packaging,
not the underlying project code itself.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PCH">
    <term>PCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Microsoft Visual C++ precompiled header that will be used when compiling
object files. This variable is ignored by tools other than Microsoft Visual C++.
When this variable is
defined SCons will add options to the compiler command line to
cause it to use the precompiled header, and will also set up the
dependencies for the PCH file.
Example:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['PCH'] = 'StdAfx.pch'
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PCHCOM">
    <term>PCHCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used by the
<function xmlns="http://www.scons.org/dbxsd/v1.0">PCH</function>
builder to generated a precompiled header.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PCHCOMSTR">
    <term>PCHCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a precompiled header.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PCHCOM"><envar>$PCHCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PCHPDBFLAGS">
    <term>PCHPDBFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A construction variable that, when expanded,
adds the <literal>/yD</literal> flag to the command line
only if the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$PDB</envar> construction variable is set.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PCHSTOP">
    <term>PCHSTOP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This variable specifies how much of a source file is precompiled. This
variable is ignored by tools other than Microsoft Visual C++, or when
the PCH variable is not being used. When this variable is define it
must be a string that is the name of the header that
is included at the end of the precompiled portion of the source files, or
the empty string if the "#pragma hrdstop" construct is being used:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['PCHSTOP'] = 'StdAfx.h'
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDB">
    <term>PDB</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Microsoft Visual C++ PDB file that will store debugging information for
object files, shared libraries, and programs. This variable is ignored by
tools other than Microsoft Visual C++.
When this variable is
defined SCons will add options to the compiler and linker command line to
cause them to generate external debugging information, and will also set up the
dependencies for the PDB file.
Example:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env['PDB'] = 'hello.pdb'
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Visual C++ compiler switch that SCons uses by default
to generate PDB information is <option>/Z7</option>.
This works correctly with parallel (<option>-j</option>) builds
because it embeds the debug information in the intermediate object files,
as opposed to sharing a single PDB file between multiple object files.
This is also the only way to get debug information
embedded into a static library.
Using the <option>/Zi</option> instead may yield improved
link-time performance,
although parallel builds will no longer work.
You can generate PDB files with the <option>/Zi</option>
switch by overriding the default <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCPDBFLAGS"><envar>$CCPDBFLAGS</envar></link> variable;
see the entry for that variable for specific examples.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFCOM">
    <term>PDFCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-DVIPDFCOM"><envar>$DVIPDFCOM</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFLATEX">
    <term>PDFLATEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The <application xmlns="http://www.scons.org/dbxsd/v1.0">pdflatex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFLATEXCOM">
    <term>PDFLATEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdflatex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFLATEXCOMSTR">
    <term>PDFLATEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdflatex</application> utility.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PDFLATEXCOM"><envar>$PDFLATEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(PDFLATEX;COMSTR = "Building $TARGET from LaTeX input $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFLATEXFLAGS">
    <term>PDFLATEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdflatex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFPREFIX">
    <term>PDFPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for PDF file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFSUFFIX">
    <term>PDFSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for PDF file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFTEX">
    <term>PDFTEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The <application xmlns="http://www.scons.org/dbxsd/v1.0">pdftex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFTEXCOM">
    <term>PDFTEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdftex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFTEXCOMSTR">
    <term>PDFTEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdftex</application> utility.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PDFTEXCOM"><envar>$PDFTEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(PDFTEXCOMSTR = "Building $TARGET from TeX input $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PDFTEXFLAGS">
    <term>PDFTEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the <application xmlns="http://www.scons.org/dbxsd/v1.0">pdftex</application> utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PKGCHK">
    <term>PKGCHK</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Solaris systems,
the package-checking program that will
be used (along with <envar xmlns="http://www.scons.org/dbxsd/v1.0">$PKGINFO</envar>)
to look for installed versions of
the Sun PRO C++ compiler.
The default is
<filename>/usr/sbin/pgkchk</filename>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PKGINFO">
    <term>PKGINFO</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
On Solaris systems,
the package information program that will
be used (along with <envar xmlns="http://www.scons.org/dbxsd/v1.0">$PKGCHK</envar>)
to look for installed versions of
the Sun PRO C++ compiler.
The default is
<filename>pkginfo</filename>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PLATFORM">
    <term>PLATFORM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The name of the platform used to create the Environment.  If no platform is
specified when the Environment is created,
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
autodetects the platform.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(tools = [])
if env['PLATFORM'] == 'cygwin':
    Tool('mingw')(env)
else:
    Tool('msvc')(env)
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POAUTOINIT">
    <term>POAUTOINIT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The <envar xmlns="http://www.scons.org/dbxsd/v1.0">$POAUTOINIT</envar> variable, if set to <literal>True</literal> (on non-zero
numeric value), let the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool to automatically initialize
<emphasis>missing</emphasis> <literal>PO</literal> files with
<command>msginit(1)</command>.  This applies to both,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builders (and others that use any of
them).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POCREATE_ALIAS">
    <term>POCREATE_ALIAS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Common alias for all <literal>PO</literal> files created with <function xmlns="http://www.scons.org/dbxsd/v1.0">POInit</function>
builder (default: <literal>'po-create'</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POSUFFIX">
    <term>POSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Suffix used for <literal>PO</literal> files (default: <literal>'.po'</literal>)
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msginit"><literal>msginit</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POTDOMAIN">
    <term>POTDOMAIN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The <envar xmlns="http://www.scons.org/dbxsd/v1.0">$POTDOMAIN</envar> defines default domain, used to generate
<literal>POT</literal> filename as <filename><envar xmlns="http://www.scons.org/dbxsd/v1.0">$POTDOMAIN</envar>.pot</filename> when
no <literal>POT</literal> file name is provided by the user. This applies to
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POInit"><function>POInit</function></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builders (and
builders, that use them, e.g. <function xmlns="http://www.scons.org/dbxsd/v1.0">Translate</function>). Normally (if <envar xmlns="http://www.scons.org/dbxsd/v1.0">$POTDOMAIN</envar> is
not defined), the builders use <filename>messages.pot</filename> as default
<literal>POT</literal> file name.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POTSUFFIX">
    <term>POTSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Suffix used for PO Template files (default: <literal>'.pot'</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POTUPDATE_ALIAS">
    <term>POTUPDATE_ALIAS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Name of the common phony target for all PO Templates created with
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> (default: <literal>'pot-update'</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-POUPDATE_ALIAS">
    <term>POUPDATE_ALIAS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Common alias for all <literal>PO</literal> files being defined with
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder (default: <literal>'po-update'</literal>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-msgmerge"><literal>msgmerge</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POUpdate"><function>POUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PRINT_CMD_LINE_FUNC">
    <term>PRINT_CMD_LINE_FUNC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A Python function used to print the command lines as they are executed
(assuming command printing is not disabled by the
<option>-q</option>
or
<option>-s</option>
options or their equivalents).
The function should take four arguments:
<varname>s</varname>,
the command being executed (a string),
<varname>target</varname>,
the target being built (file node, list, or string name(s)),
<varname>source</varname>,
the source(s) used (file node, list, or string name(s)), and
<varname>env</varname>,
the environment being used.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The function must do the printing itself.  The default implementation,
used if this variable is not set or is None, is:
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
def print_cmd_line(s, target, source, env):
  sys.stdout.write(s + "\n")
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Here's an example of a more interesting function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
def print_cmd_line(s, target, source, env):
   sys.stdout.write("Building %s -&gt; %s...\n" %
    (' and '.join([str(x) for x in source]),
     ' and '.join([str(x) for x in target])))
env=Environment(PRINT_CMD_LINE_FUNC=print_cmd_line)
env.Program('foo', 'foo.c')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
This just prints "Building <varname>targetname</varname> from <varname>sourcename</varname>..." instead
of the actual commands.
Such a function could also log the actual commands to a log file,
for example.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PROGEMITTER">
    <term>PROGEMITTER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
TODO
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PROGPREFIX">
    <term>PROGPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for executable file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PROGSUFFIX">
    <term>PROGSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for executable file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PSCOM">
    <term>PSCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to convert TeX DVI files into a PostScript file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PSCOMSTR">
    <term>PSCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a TeX DVI file
is converted into a PostScript file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PSCOM"><envar>$PSCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PSPREFIX">
    <term>PSPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for PostScript file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-PSSUFFIX">
    <term>PSSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for PostScript file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_AUTOSCAN">
    <term>QT_AUTOSCAN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Turn off scanning for mocable files. Use the Moc Builder to explicitly
specify files to run moc on.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_BINPATH">
    <term>QT_BINPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path where the qt binaries are installed.
The default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QTDIR"><envar>$QTDIR</envar></link>/bin'.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_CPPPATH">
    <term>QT_CPPPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path where the qt header files are installed.
The default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QTDIR"><envar>$QTDIR</envar></link>/include'.
Note: If you set this variable to None,
the tool won't change the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPPATH"><envar>$CPPPATH</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_DEBUG">
    <term>QT_DEBUG</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Prints lots of debugging information while scanning for moc files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_LIB">
    <term>QT_LIB</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is 'qt'. You may want to set this to 'qt-mt'. Note: If you set
this variable to None, the tool won't change the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBS"><envar>$LIBS</envar></link> variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_LIBPATH">
    <term>QT_LIBPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The path where the qt libraries are installed.
The default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QTDIR"><envar>$QTDIR</envar></link>/lib'.
Note: If you set this variable to None,
the tool won't change the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBPATH"><envar>$LIBPATH</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOC">
    <term>QT_MOC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QT_BINPATH"><envar>$QT_BINPATH</envar></link>/moc'.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCCXXPREFIX">
    <term>QT_MOCCXXPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is ''. Prefix for moc output files, when source is a cxx file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCCXXSUFFIX">
    <term>QT_MOCCXXSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '.moc'. Suffix for moc output files, when source is a cxx
file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMCXXCOM">
    <term>QT_MOCFROMCXXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Command to generate a moc file from a cpp file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMCXXCOMSTR">
    <term>QT_MOCFROMCXXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a moc file from a cpp file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QT_MOCFROMCXXCOM"><envar>$QT_MOCFROMCXXCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMCXXFLAGS">
    <term>QT_MOCFROMCXXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '-i'. These flags are passed to moc, when moccing a
C++ file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMHCOM">
    <term>QT_MOCFROMHCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Command to generate a moc file from a header.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMHCOMSTR">
    <term>QT_MOCFROMHCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a moc file from a cpp file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QT_MOCFROMHCOM"><envar>$QT_MOCFROMHCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCFROMHFLAGS">
    <term>QT_MOCFROMHFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is ''. These flags are passed to moc, when moccing a header
file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCHPREFIX">
    <term>QT_MOCHPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is 'moc_'. Prefix for moc output files, when source is a header.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_MOCHSUFFIX">
    <term>QT_MOCHSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXFILESUFFIX"><envar>$CXXFILESUFFIX</envar></link>'. Suffix for moc output files, when source is
a header.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UIC">
    <term>QT_UIC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QT_BINPATH"><envar>$QT_BINPATH</envar></link>/uic'.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICCOM">
    <term>QT_UICCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Command to generate header files from .ui files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICCOMSTR">
    <term>QT_UICCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating header files from .ui files.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-QT_UICCOM"><envar>$QT_UICCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICDECLFLAGS">
    <term>QT_UICDECLFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is ''. These flags are passed to uic, when creating a a h
file from a .ui file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICDECLPREFIX">
    <term>QT_UICDECLPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is ''. Prefix for uic generated header files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICDECLSUFFIX">
    <term>QT_UICDECLSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '.h'. Suffix for uic generated header files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICIMPLFLAGS">
    <term>QT_UICIMPLFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is ''. These flags are passed to uic, when creating a cxx
file from a .ui file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICIMPLPREFIX">
    <term>QT_UICIMPLPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is 'uic_'. Prefix for uic generated implementation files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UICIMPLSUFFIX">
    <term>QT_UICIMPLSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXFILESUFFIX"><envar>$CXXFILESUFFIX</envar></link>'. Suffix for uic generated implementation
files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QT_UISUFFIX">
    <term>QT_UISUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Default value is '.ui'. Suffix of designer input files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-QTDIR">
    <term>QTDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The qt tool tries to take this from os.environ.
It also initializes all QT_*
construction variables listed below.
(Note that all paths are constructed
with python's os.path.join() method,
but are listed here with the '/' separator
for easier reading.)
In addition, the construction environment
variables <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPPATH"><envar>$CPPPATH</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBPATH"><envar>$LIBPATH</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBS"><envar>$LIBS</envar></link> may be modified
and the variables
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-PROGEMITTER"><envar>$PROGEMITTER</envar></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBEMITTER"><envar>$SHLIBEMITTER</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBEMITTER"><envar>$LIBEMITTER</envar></link>
are modified. Because the build-performance is affected when using this tool,
you have to explicitly specify it at Environment creation:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
Environment(tools=['default','qt'])
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The qt tool supports the following operations:
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<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 filebase as your implementation file and must stay in the same
directory. It must have one of the suffixes .h, .hpp, .H, .hxx, .hh. You
can turn off automatic moc file generation by setting QT_AUTOSCAN to 0.
See also the corresponding
<function xmlns="http://www.scons.org/dbxsd/v1.0">Moc</function>()
builder method.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<emphasis role="strong">Automatic moc file generation from cxx files.</emphasis>
As stated in the qt documentation, include the moc file at the end of
the cxx file. Note that you have to include the file, which is generated
by the transformation ${QT_MOCCXXPREFIX}&lt;basename&gt;${QT_MOCCXXSUFFIX}, by default
&lt;basename&gt;.moc. A warning is generated after building the moc file, if you
do not include the correct file. If you are using VariantDir, you may
need to specify duplicate=1. You can turn off automatic moc file generation
by setting QT_AUTOSCAN to 0. See also the corresponding
<function xmlns="http://www.scons.org/dbxsd/v1.0">Moc</function>
builder method.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<emphasis role="strong">Automatic handling of .ui files.</emphasis>
The implementation files generated from .ui files are handled much the same
as yacc or lex files. Each .ui file given as a source of Program, Library or
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 duplicate=1 in calls to VariantDir.
See also the corresponding
<function xmlns="http://www.scons.org/dbxsd/v1.0">Uic</function>
builder method.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RANLIB">
    <term>RANLIB</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The archive indexer.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RANLIBCOM">
    <term>RANLIBCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to index a static library archive.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RANLIBCOMSTR">
    <term>RANLIBCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a static library archive is indexed.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RANLIBCOM"><envar>$RANLIBCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(RANLIBCOMSTR = "Indexing $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RANLIBFLAGS">
    <term>RANLIBFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the archive indexer.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RC">
    <term>RC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The resource compiler used to build
a Microsoft Visual C++ resource file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCCOM">
    <term>RCCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to build
a Microsoft Visual C++ resource file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCCOMSTR">
    <term>RCCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when invoking the resource compiler
to build a Microsoft Visual C++ resource file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RCCOM"><envar>$RCCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCFLAGS">
    <term>RCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The flags passed to the resource compiler by the RES builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCINCFLAGS">
    <term>RCINCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the command-line options
for specifying directories to be searched
by the resource compiler.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCSUFFIX</envar>
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCINCPREFIX">
    <term>RCINCPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix (flag) used to specify an include directory
on the resource compiler command line.
This will be appended to the beginning of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCFLAGS</envar> variable is expanded.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCINCSUFFIX">
    <term>RCINCSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify an include directory
on the resource compiler command line.
This will be appended to the end of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCFLAGS</envar> variable is expanded.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCS">
    <term>RCS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The RCS executable.
Note that this variable is not actually used
for the command to fetch source files from RCS;
see the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RCS_CO"><envar>$RCS_CO</envar></link>
construction variable, below.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCS_CO">
    <term>RCS_CO</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The RCS "checkout" executable,
used to fetch source files from RCS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCS_COCOM">
    <term>RCS_COCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to
fetch (checkout) source files from RCS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCS_COCOMSTR">
    <term>RCS_COCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when fetching
a source file from RCS.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RCS_COCOM"><envar>$RCS_COCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RCS_COFLAGS">
    <term>RCS_COFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RCS_CO"><envar>$RCS_CO</envar></link> command.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RDirs">
    <term>RDirs</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A function that converts a string into a list of Dir instances by
searching the repositories.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-REGSVR">
    <term>REGSVR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The program used on Windows systems
to register a newly-built DLL library
whenever the <function xmlns="http://www.scons.org/dbxsd/v1.0">SharedLibrary</function> builder
is passed a keyword argument of <literal>register=1</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-REGSVRCOM">
    <term>REGSVRCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used on Windows systems
to register a newly-built DLL library
whenever the <function xmlns="http://www.scons.org/dbxsd/v1.0">SharedLibrary</function> builder
is passed a keyword argument of <literal>register=1</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-REGSVRCOMSTR">
    <term>REGSVRCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when registering a newly-built DLL file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-REGSVRCOM"><envar>$REGSVRCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-REGSVRFLAGS">
    <term>REGSVRFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Flags passed to the DLL registration program
on Windows systems when a newly-built DLL library is registered.
By default,
this includes the <option>/s</option>
that prevents dialog boxes from popping up
and requiring user attention.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RMIC">
    <term>RMIC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Java RMI stub compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RMICCOM">
    <term>RMICCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile stub
and skeleton class files
from Java classes that contain RMI implementations.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RMICFLAGS"><envar>$RMICFLAGS</envar></link> construction variable
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RMICCOMSTR">
    <term>RMICCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when compiling
stub and skeleton class files
from Java classes that contain RMI implementations.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RMICCOM"><envar>$RMICCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(RMICCOMSTR = "Generating stub/skeleton class files $TARGETS from $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RMICFLAGS">
    <term>RMICFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the Java RMI stub compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_RPATH">
    <term>_RPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the rpath flags to be used when linking
a program with shared libraries.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_RPATH</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHSUFFIX</envar>
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATH</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPATH">
    <term>RPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of paths to search for shared libraries when running programs.
Currently only used in the GNU (gnulink),
IRIX (sgilink) and Sun (sunlink) linkers.
Ignored on platforms and toolchains that don't support it.
Note that the paths added to RPATH
are not transformed by
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
in any way:  if you want an absolute
path, you must make it absolute yourself.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPATHPREFIX">
    <term>RPATHPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify a directory to be searched for
shared libraries when running programs.
This will be appended to the beginning of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_RPATH</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPATHSUFFIX">
    <term>RPATHSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify a directory to be searched for
shared libraries when running programs.
This will be appended to the end of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_RPATH</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGEN">
    <term>RPCGEN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The RPC protocol compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGENCLIENTFLAGS">
    <term>RPCGENCLIENTFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options passed to the RPC protocol compiler
when generating client side stubs.
These are in addition to any flags specified in the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RPCGENFLAGS"><envar>$RPCGENFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGENFLAGS">
    <term>RPCGENFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the RPC protocol compiler.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGENHEADERFLAGS">
    <term>RPCGENHEADERFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options passed to the RPC protocol compiler
when generating a header file.
These are in addition to any flags specified in the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RPCGENFLAGS"><envar>$RPCGENFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGENSERVICEFLAGS">
    <term>RPCGENSERVICEFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options passed to the RPC protocol compiler
when generating server side stubs.
These are in addition to any flags specified in the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RPCGENFLAGS"><envar>$RPCGENFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-RPCGENXDRFLAGS">
    <term>RPCGENXDRFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options passed to the RPC protocol compiler
when generating XDR routines.
These are in addition to any flags specified in the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-RPCGENFLAGS"><envar>$RPCGENFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCANNERS">
    <term>SCANNERS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of the available implicit dependency scanners.
New file scanners may be added by
appending to this list,
although the more flexible approach
is to associate scanners
with a specific Builder.
See the sections "Builder Objects"
and "Scanner Objects,"
below, for more information.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCCS">
    <term>SCCS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The SCCS executable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCCSCOM">
    <term>SCCSCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to
fetch source files from SCCS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCCSCOMSTR">
    <term>SCCSCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when fetching
a source file from a CVS repository.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SCCSCOM"><envar>$SCCSCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCCSFLAGS">
    <term>SCCSFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options that are passed to SCCS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCCSGETFLAGS">
    <term>SCCSGETFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed specifically to the SCCS "get" subcommand.
This can be set, for example, to
<option>-e</option>
to check out editable files from SCCS.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SCONS_HOME">
    <term>SCONS_HOME</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The (optional) path to the SCons library directory,
initialized from the external environment.
If set, this is used to construct a shorter and more
efficient search path in the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONS"><envar>$MSVSSCONS</envar></link>
command line executed
from Microsoft Visual Studio project files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCC">
    <term>SHCC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The C compiler used for generating shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCCCOM">
    <term>SHCCCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a C source file
to a shared-library object file.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCFLAGS"><envar>$SHCFLAGS</envar></link>,
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCCFLAGS"><envar>$SHCCFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCCCOMSTR">
    <term>SHCCCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a C source file
is compiled to a shared object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCCCOM"><envar>$SHCCCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(SHCCCOMSTR = "Compiling shared object $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCCFLAGS">
    <term>SHCCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the C and C++ compilers
to generate shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCFLAGS">
    <term>SHCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the C compiler (only; not C++)
to generate shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCXX">
    <term>SHCXX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The C++ compiler used for generating shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCXXCOM">
    <term>SHCXXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a C++ source file
to a shared-library object file.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCXXFLAGS"><envar>$SHCXXFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCXXCOMSTR">
    <term>SHCXXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a C++ source file
is compiled to a shared object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHCXXCOM"><envar>$SHCXXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(SHCXXCOMSTR = "Compiling shared object $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHCXXFLAGS">
    <term>SHCXXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the C++ compiler
to generate shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHELL">
    <term>SHELL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A string naming the shell program that will be passed to the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$SPAWN</envar>
function.
See the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$SPAWN</envar>
construction variable for more information.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03">
    <term>SHF03</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 03 compiler used for generating shared-library objects.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRAN"><envar>$SHFORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03"><envar>$SHF03</envar></link> if you need to use a specific compiler
or compiler version for Fortran 03 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03COM">
    <term>SHF03COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 03 source file
to a shared-library object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03COM"><envar>$SHF03COM</envar></link> if you need to use a specific
command line for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03COMSTR">
    <term>SHF03COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 03 source file
is compiled to a shared-library object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03COM"><envar>$SHF03COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03FLAGS">
    <term>SHF03FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the Fortran 03 compiler
to generated shared-library objects.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03FLAGS"><envar>$SHF03FLAGS</envar></link> if you need to define specific
user options for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03PPCOM">
    <term>SHF03PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 03 source file to a
shared-library object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03FLAGS"><envar>$SHF03FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03PPCOM"><envar>$SHF03PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 03 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF03PPCOMSTR">
    <term>SHF03PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 03 source file
is compiled to a shared-library object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF03PPCOM"><envar>$SHF03PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77">
    <term>SHF77</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 77 compiler used for generating shared-library objects.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRAN"><envar>$SHFORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77"><envar>$SHF77</envar></link> if you need to use a specific compiler
or compiler version for Fortran 77 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77COM">
    <term>SHF77COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 77 source file
to a shared-library object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77COM"><envar>$SHF77COM</envar></link> if you need to use a specific
command line for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77COMSTR">
    <term>SHF77COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 77 source file
is compiled to a shared-library object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77COM"><envar>$SHF77COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77FLAGS">
    <term>SHF77FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the Fortran 77 compiler
to generated shared-library objects.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77FLAGS"><envar>$SHF77FLAGS</envar></link> if you need to define specific
user options for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77PPCOM">
    <term>SHF77PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 77 source file to a
shared-library object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77FLAGS"><envar>$SHF77FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77PPCOM"><envar>$SHF77PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 77 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF77PPCOMSTR">
    <term>SHF77PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 77 source file
is compiled to a shared-library object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF77PPCOM"><envar>$SHF77PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90">
    <term>SHF90</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 90 compiler used for generating shared-library objects.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRAN"><envar>$SHFORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90"><envar>$SHF90</envar></link> if you need to use a specific compiler
or compiler version for Fortran 90 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90COM">
    <term>SHF90COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 90 source file
to a shared-library object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90COM"><envar>$SHF90COM</envar></link> if you need to use a specific
command line for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90COMSTR">
    <term>SHF90COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 90 source file
is compiled to a shared-library object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90COM"><envar>$SHF90COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90FLAGS">
    <term>SHF90FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the Fortran 90 compiler
to generated shared-library objects.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90FLAGS"><envar>$SHF90FLAGS</envar></link> if you need to define specific
user options for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90PPCOM">
    <term>SHF90PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 90 source file to a
shared-library object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90FLAGS"><envar>$SHF90FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90PPCOM"><envar>$SHF90PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 90 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF90PPCOMSTR">
    <term>SHF90PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 90 source file
is compiled to a shared-library object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF90PPCOM"><envar>$SHF90PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95">
    <term>SHF95</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The Fortran 95 compiler used for generating shared-library objects.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRAN"><envar>$SHFORTRAN</envar></link> variable,
which specifies the default Fortran compiler
for all Fortran versions.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95"><envar>$SHF95</envar></link> if you need to use a specific compiler
or compiler version for Fortran 95 files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95COM">
    <term>SHF95COM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 95 source file
to a shared-library object file.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95COM"><envar>$SHF95COM</envar></link> if you need to use a specific
command line for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link> variable,
which specifies the default command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95COMSTR">
    <term>SHF95COMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 95 source file
is compiled to a shared-library object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95COM"><envar>$SHF95COM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95FLAGS">
    <term>SHF95FLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the Fortran 95 compiler
to generated shared-library objects.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95FLAGS"><envar>$SHF95FLAGS</envar></link> if you need to define specific
user options for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> variable,
which specifies the user-specified options
passed to the default Fortran compiler
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95PPCOM">
    <term>SHF95PPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran 95 source file to a
shared-library object file
after first running the file through the C preprocessor.
Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95FLAGS"><envar>$SHF95FLAGS</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
You only need to set <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95PPCOM"><envar>$SHF95PPCOM</envar></link> if you need to use a specific
C-preprocessor command line for Fortran 95 files.
You should normally set the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link> variable,
which specifies the default C-preprocessor command line
for all Fortran versions.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHF95PPCOMSTR">
    <term>SHF95PPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran 95 source file
is compiled to a shared-library object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHF95PPCOM"><envar>$SHF95PPCOM</envar></link> or <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRAN">
    <term>SHFORTRAN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The default Fortran compiler used for generating shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRANCOM">
    <term>SHFORTRANCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran source file
to a shared-library object file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRANCOMSTR">
    <term>SHFORTRANCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran source file
is compiled to a shared-library object file.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANCOM"><envar>$SHFORTRANCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRANFLAGS">
    <term>SHFORTRANFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Options that are passed to the Fortran compiler
to generate shared-library objects.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRANPPCOM">
    <term>SHFORTRANPPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to compile a Fortran source file to a
shared-library object file
after first running the file through the C preprocessor.
Any options specified
in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANFLAGS"><envar>$SHFORTRANFLAGS</envar></link> and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CPPFLAGS"><envar>$CPPFLAGS</envar></link> construction variables
are included on this command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHFORTRANPPCOMSTR">
    <term>SHFORTRANPPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when a Fortran source file
is compiled to a shared-library object file
after first running the file through the C preprocessor.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHFORTRANPPCOM"><envar>$SHFORTRANPPCOM</envar></link>
(the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLIBEMITTER">
    <term>SHLIBEMITTER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
TODO
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLIBPREFIX">
    <term>SHLIBPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for shared library file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLIBSUFFIX">
    <term>SHLIBSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for shared library file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLIBVERSION">
    <term>SHLIBVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When this construction variable is defined, a versioned shared library
is created. This modifies the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKFLAGS"><envar>$SHLINKFLAGS</envar></link> as required, adds
the version number to the library name, and creates the symlinks that
are needed. <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> needs to be of the form X.Y.Z,
where X and Y are numbers, and Z is a number but can also contain
letters to designate alpha, beta, or release candidate patch levels.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLINK">
    <term>SHLINK</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The linker for programs that use shared libraries.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLINKCOM">
    <term>SHLINKCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to link programs using shared libraries.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLINKCOMSTR">
    <term>SHLINKCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when programs using shared libraries are linked.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(SHLINKCOMSTR = "Linking shared $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHLINKFLAGS">
    <term>SHLINKFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General user options passed to the linker for programs using shared libraries.
Note that this variable should
<emphasis>not</emphasis>
contain
<option>-l</option>
(or similar) options for linking with the libraries listed in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBS"><envar>$LIBS</envar></link>,
nor
<option>-L</option>
(or similar) include search path options
that scons generates automatically from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-LIBPATH"><envar>$LIBPATH</envar></link>.
See
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LIBFLAGS"><envar>$_LIBFLAGS</envar></link>
above,
for the variable that expands to library-link options,
and
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_LIBDIRFLAGS"><envar>$_LIBDIRFLAGS</envar></link>
above,
for the variable that expands to library search path options.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHOBJPREFIX">
    <term>SHOBJPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for shared object file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SHOBJSUFFIX">
    <term>SHOBJSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for shared object file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SOURCE">
    <term>SOURCE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SOURCE_URL">
    <term>SOURCE_URL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The URL
(web address)
of the location from which the project was retrieved.
This is used to fill in the
<literal>Source:</literal>
field in the controlling information for Ipkg and RPM packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SOURCES">
    <term>SOURCES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SPAWN">
    <term>SPAWN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A command interpreter function that will be called to execute command line
strings. The function must expect the following arguments:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
def spawn(shell, escape, cmd, args, env):
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
<varname>sh</varname>
is a string naming the shell program to use.
<varname>escape</varname>
is a function that can be called to escape shell special characters in
the command line.
<varname>cmd</varname>
is the path to the command to be executed.
<varname>args</varname>
is the arguments to the command.
<varname>env</varname>
is a dictionary of the environment variables
in which the command should be executed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SUBST_DICT">
    <term>SUBST_DICT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The dictionary used by the <function xmlns="http://www.scons.org/dbxsd/v1.0">Substfile</function> or <function xmlns="http://www.scons.org/dbxsd/v1.0">Textfile</function> builders
for substitution values.
It can be anything acceptable to the dict() constructor,
so in addition to a dictionary,
lists of tuples are also acceptable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SUBSTFILEPREFIX">
    <term>SUBSTFILEPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for <function xmlns="http://www.scons.org/dbxsd/v1.0">Substfile</function> file names,
the null string by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SUBSTFILESUFFIX">
    <term>SUBSTFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for <function xmlns="http://www.scons.org/dbxsd/v1.0">Substfile</function> file names,
the null string by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SUMMARY">
    <term>SUMMARY</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A short summary of what the project is about.
This is used to fill in the
<literal>Summary:</literal>
field in the controlling information for Ipkg and RPM packages,
and as the
<literal>Description:</literal>
field in MSI packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIG">
    <term>SWIG</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The scripting language wrapper and interface generator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGCFILESUFFIX">
    <term>SWIGCFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix that will be used for intermediate C
source files generated by
the scripting language wrapper and interface generator.
The default value is
<filename>_wrap</filename><link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CFILESUFFIX"><envar>$CFILESUFFIX</envar></link>.
By default, this value is used whenever the
<option>-c++</option>
option is
<emphasis>not</emphasis>
specified as part of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SWIGFLAGS"><envar>$SWIGFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGCOM">
    <term>SWIGCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call
the scripting language wrapper and interface generator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGCOMSTR">
    <term>SWIGCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling
the scripting language wrapper and interface generator.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SWIGCOM"><envar>$SWIGCOM</envar></link> (the command line) is displayed.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGCXXFILESUFFIX">
    <term>SWIGCXXFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix that will be used for intermediate C++
source files generated by
the scripting language wrapper and interface generator.
The default value is
<filename>_wrap</filename><link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CFILESUFFIX"><envar>$CFILESUFFIX</envar></link>.
By default, this value is used whenever the
<filename>-c++</filename>
option is specified as part of the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SWIGFLAGS"><envar>$SWIGFLAGS</envar></link>
construction variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGDIRECTORSUFFIX">
    <term>SWIGDIRECTORSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix that will be used for intermediate C++ header
files generated by the scripting language wrapper and interface generator.
These are only generated for C++ code when the SWIG 'directors' feature is
turned on.
The default value is
<filename>_wrap.h</filename>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGFLAGS">
    <term>SWIGFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to
the scripting language wrapper and interface generator.
This is where you should set
<option>-python</option>,
<option>-perl5</option>,
<option>-tcl</option>,
or whatever other options you want to specify to SWIG.
If you set the
<option>-c++</option>
option in this variable,
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
will, by default,
generate a C++ intermediate source file
with the extension that is specified as the
<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CXXFILESUFFIX"><envar>$CXXFILESUFFIX</envar></link>
variable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_SWIGINCFLAGS">
    <term>_SWIGINCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An automatically-generated construction variable
containing the SWIG command-line options
for specifying directories to be searched for included files.
The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> is created
by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCSUFFIX</envar>
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGINCPREFIX">
    <term>SWIGINCPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used to specify an include directory on the SWIG command line.
This will be appended to the beginning of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGINCSUFFIX">
    <term>SWIGINCSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used to specify an include directory on the SWIG command line.
This will be appended to the end of each directory
in the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar> construction variable
when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> variable is automatically generated.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGOUTDIR">
    <term>SWIGOUTDIR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Specifies the output directory in which
the scripting language wrapper and interface generator
should place generated language-specific files.
This will be used by SCons to identify
the files that will be generated by the <application xmlns="http://www.scons.org/dbxsd/v1.0">swig</application> call,
and translated into the
<literal>swig -outdir</literal> option on the command line.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGPATH">
    <term>SWIGPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The list of directories that the scripting language wrapper
and interface generate will search for included files.
The SWIG implicit dependency scanner will search these
directories for include files.
The default is to use the same path
specified as <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Don't explicitly put include directory
arguments in SWIGFLAGS;
the result will be non-portable
and the directories will not be searched by the dependency scanner.
Note: directory names in SWIGPATH will be looked-up relative to the SConscript
directory when they are used in a command.
To force
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
to look-up a directory relative to the root of the source tree use #:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(SWIGPATH='#/include')
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory look-up can also be forced using the
<function xmlns="http://www.scons.org/dbxsd/v1.0">Dir</function>()
function:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
include = Dir('include')
env = Environment(SWIGPATH=include)
</example_commands>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
The directory list will be added to command lines
through the automatically-generated
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar>
construction variable,
which is constructed by
appending the values of the
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCSUFFIX</envar>
construction variables
to the beginning and end
of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar>.
Any command lines you define that need
the SWIGPATH directory list should
include <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar>:
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SORUCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-SWIGVERSION">
    <term>SWIGVERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version number of the SWIG tool.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TAR">
    <term>TAR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The tar archiver.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARCOM">
    <term>TARCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the tar archiver.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARCOMSTR">
    <term>TARCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when archiving files
using the tar archiver.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-TARCOM"><envar>$TARCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(TARCOMSTR = "Archiving $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARFLAGS">
    <term>TARFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the tar archiver.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARGET">
    <term>TARGET</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARGET_ARCH">
    <term>TARGET_ARCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the target architecture for Visual Studio compiler (i.e. the arch
of the binaries generated by the compiler). If not set, default to
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$HOST_ARCH</envar>, or, if that is unset, to the architecture of the
running machine's OS (note that the python build or architecture has no
effect).
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect.  
This is currently only used on Windows, but in the future it will be
used on other OSes as well.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
Valid values for Windows are
<literal>x86</literal>,
<literal>i386</literal>
(for 32 bits); 
<literal>amd64</literal>,
<literal>emt64</literal>,
<literal>x86_64</literal>
(for 64 bits);
and <literal>ia64</literal> (Itanium).
For example, if you want to compile 64-bit binaries, you would set
<literal>TARGET_ARCH='x86_64'</literal> in your SCons environment.
</para>

<para xmlns="http://www.scons.org/dbxsd/v1.0">
        The name of the target hardware architecture for the compiled objects
        created by this Environment.
        This defaults to the value of HOST_ARCH, and the user can override it.
        Currently only set for Win32.
</para>
    </listitem>
  </varlistentry>
  <varlistentry id="cv-TARGET_OS">
    <term>TARGET_OS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
        The name of the target operating system for the compiled objects
        created by this Environment.
        This defaults to the value of HOST_OS, and the user can override it.
        Currently only set for Win32.
</para>
    </listitem>
  </varlistentry>
  <varlistentry id="cv-TARGETS">
    <term>TARGETS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TARSUFFIX">
    <term>TARSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for tar file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEMPFILEPREFIX">
    <term>TEMPFILEPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix for a temporary file used
to execute lines longer than $MAXLINELENGTH.
The default is '@'.
This may be set for toolchains that use other values,
such as '-@' for the diab compiler
or '-via' for ARM toolchain.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEX">
    <term>TEX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The TeX formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXCOM">
    <term>TEXCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the TeX formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXCOMSTR">
    <term>TEXCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when calling
the TeX formatter and typesetter.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-TEXCOM"><envar>$TEXCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(TEXCOMSTR = "Building $TARGET from TeX input $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXFLAGS">
    <term>TEXFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the TeX formatter and typesetter.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXINPUTS">
    <term>TEXINPUTS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
List of directories that the LaTeX program will search
for include directories.
The LaTeX implicit dependency scanner will search these
directories for \include and \import files.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXTFILEPREFIX">
    <term>TEXTFILEPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for <function xmlns="http://www.scons.org/dbxsd/v1.0">Textfile</function> file names,
the null string by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TEXTFILESUFFIX">
    <term>TEXTFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for <function xmlns="http://www.scons.org/dbxsd/v1.0">Textfile</function> file names;
<filename>.txt</filename> by default.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-TOOLS">
    <term>TOOLS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A list of the names of the Tool specifications
that are part of this construction environment.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-UNCHANGED_SOURCES">
    <term>UNCHANGED_SOURCES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-UNCHANGED_TARGETS">
    <term>UNCHANGED_TARGETS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A reserved variable name
that may not be set or used in a construction environment.
(See "Variable Substitution," below.)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-VENDOR">
    <term>VENDOR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The person or organization who supply the packaged software.
This is used to fill in the
<literal>Vendor:</literal>
field in the controlling information for RPM packages,
and the
<literal>Manufacturer:</literal>
field in the controlling information for MSI packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-VERSION">
    <term>VERSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The version of the project, specified as a string.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WIN32_INSERT_DEF">
    <term>WIN32_INSERT_DEF</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWS_INSERT_DEF"><envar>$WINDOWS_INSERT_DEF</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WIN32DEFPREFIX">
    <term>WIN32DEFPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWSDEFPREFIX"><envar>$WINDOWSDEFPREFIX</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WIN32DEFSUFFIX">
    <term>WIN32DEFSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWSDEFSUFFIX"><envar>$WINDOWSDEFSUFFIX</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WIN32EXPPREFIX">
    <term>WIN32EXPPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWSEXPSUFFIX"><envar>$WINDOWSEXPSUFFIX</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WIN32EXPSUFFIX">
    <term>WIN32EXPSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A deprecated synonym for <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-WINDOWSEXPSUFFIX"><envar>$WINDOWSEXPSUFFIX</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWS_EMBED_MANIFEST">
    <term>WINDOWS_EMBED_MANIFEST</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Set this variable to True or 1 to embed the compiler-generated manifest
(normally <literal>${TARGET}.manifest</literal>)
into all Windows exes and DLLs built with this environment,
as a resource during their link step.
This is done using <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MT"><envar>$MT</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MTEXECOM"><envar>$MTEXECOM</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MTSHLIBCOM"><envar>$MTSHLIBCOM</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWS_INSERT_DEF">
    <term>WINDOWS_INSERT_DEF</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When this is set to true,
a library build of a Windows shared library
(<filename>.dll</filename> file)
will also build a corresponding <filename>.def</filename> file
at the same time,
if a <filename>.def</filename> file
is not already listed as a build target.
The default is 0 (do not build a <filename>.def</filename> file).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWS_INSERT_MANIFEST">
    <term>WINDOWS_INSERT_MANIFEST</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
When this is set to true,
<filename xmlns="http://www.scons.org/dbxsd/v1.0">scons</filename>
will be aware of the
<filename>.manifest</filename>
files generated by Microsoft Visua C/C++ 8.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSDEFPREFIX">
    <term>WINDOWSDEFPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for Windows <filename>.def</filename> file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSDEFSUFFIX">
    <term>WINDOWSDEFSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for Windows <filename>.def</filename> file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSEXPPREFIX">
    <term>WINDOWSEXPPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for Windows <filename>.exp</filename> file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSEXPSUFFIX">
    <term>WINDOWSEXPSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for Windows <filename>.exp</filename> file names.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSPROGMANIFESTPREFIX">
    <term>WINDOWSPROGMANIFESTPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for executable program <filename>.manifest</filename> files
generated by Microsoft Visual C/C++.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSPROGMANIFESTSUFFIX">
    <term>WINDOWSPROGMANIFESTSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for executable program <filename>.manifest</filename> files
generated by Microsoft Visual C/C++.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSSHLIBMANIFESTPREFIX">
    <term>WINDOWSSHLIBMANIFESTPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The prefix used for shared library <filename>.manifest</filename> files
generated by Microsoft Visual C/C++.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-WINDOWSSHLIBMANIFESTSUFFIX">
    <term>WINDOWSSHLIBMANIFESTSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for shared library <filename>.manifest</filename> files
generated by Microsoft Visual C/C++.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_IPK_DEPENDS">
    <term>X_IPK_DEPENDS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Depends:</literal>
field in the controlling information for Ipkg packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_IPK_DESCRIPTION">
    <term>X_IPK_DESCRIPTION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Description:</literal>
field in the controlling information for Ipkg packages.
The default value is
<literal>$SUMMARY\n$DESCRIPTION</literal>
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_IPK_MAINTAINER">
    <term>X_IPK_MAINTAINER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Maintainer:</literal>
field in the controlling information for Ipkg packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_IPK_PRIORITY">
    <term>X_IPK_PRIORITY</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Priority:</literal>
field in the controlling information for Ipkg packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_IPK_SECTION">
    <term>X_IPK_SECTION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Section:</literal>
field in the controlling information for Ipkg packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_MSI_LANGUAGE">
    <term>X_MSI_LANGUAGE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Language:</literal>
attribute in the controlling information for MSI packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_MSI_LICENSE_TEXT">
    <term>X_MSI_LICENSE_TEXT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The text of the software license in RTF format.
Carriage return characters will be
replaced with the RTF equivalent \\par.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_MSI_UPGRADE_CODE">
    <term>X_MSI_UPGRADE_CODE</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
TODO
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_AUTOREQPROV">
    <term>X_RPM_AUTOREQPROV</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>AutoReqProv:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_BUILD">
    <term>X_RPM_BUILD</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
internal, but overridable
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_BUILDREQUIRES">
    <term>X_RPM_BUILDREQUIRES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>BuildRequires:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_BUILDROOT">
    <term>X_RPM_BUILDROOT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
internal, but overridable
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_CLEAN">
    <term>X_RPM_CLEAN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
internal, but overridable
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_CONFLICTS">
    <term>X_RPM_CONFLICTS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Conflicts:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_DEFATTR">
    <term>X_RPM_DEFATTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This value is used as the default attributes
for the files in the RPM package.
The default value is
<literal>(-,root,root)</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_DISTRIBUTION">
    <term>X_RPM_DISTRIBUTION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Distribution:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_EPOCH">
    <term>X_RPM_EPOCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Epoch:</literal>
field in the controlling information for RPM packages.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_EXCLUDEARCH">
    <term>X_RPM_EXCLUDEARCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>ExcludeArch:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_EXLUSIVEARCH">
    <term>X_RPM_EXLUSIVEARCH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>ExclusiveArch:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_GROUP">
    <term>X_RPM_GROUP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Group:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_GROUP_lang">
    <term>X_RPM_GROUP_lang</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Group(lang):</literal>
field in the RPM
<filename>.spec</filename> file.
Note that
<varname>lang</varname>
is not literal
and should be replaced by
the appropriate language code.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_ICON">
    <term>X_RPM_ICON</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Icon:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_INSTALL">
    <term>X_RPM_INSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
internal, but overridable
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PACKAGER">
    <term>X_RPM_PACKAGER</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Packager:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_POSTINSTALL">
    <term>X_RPM_POSTINSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>%post:</literal>
section in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_POSTUNINSTALL">
    <term>X_RPM_POSTUNINSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>%postun:</literal>
section in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PREFIX">
    <term>X_RPM_PREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Prefix:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PREINSTALL">
    <term>X_RPM_PREINSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>%pre:</literal>
section in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PREP">
    <term>X_RPM_PREP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
internal, but overridable
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PREUNINSTALL">
    <term>X_RPM_PREUNINSTALL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>%preun:</literal>
section in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_PROVIDES">
    <term>X_RPM_PROVIDES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Provides:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_REQUIRES">
    <term>X_RPM_REQUIRES</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Requires:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_SERIAL">
    <term>X_RPM_SERIAL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Serial:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-X_RPM_URL">
    <term>X_RPM_URL</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This is used to fill in the
<literal>Url:</literal>
field in the RPM
<filename>.spec</filename> file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXT">
    <term>XGETTEXT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Path to <command>xgettext(1)</command> program (found via
<function>Detect()</function>).
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTCOM">
    <term>XGETTEXTCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Complete xgettext command line.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTCOMSTR">
    <term>XGETTEXTCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
A string that is shown when <command>xgettext(1)</command> command is invoked
(default: <literal>''</literal>, which means "print <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-XGETTEXTCOM"><envar>$XGETTEXTCOM</envar></link>").
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_XGETTEXTDOMAIN">
    <term>_XGETTEXTDOMAIN</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Internal "macro". Generates <command>xgettext</command> domain name
form source and target (default: <literal>'${TARGET.filebase}'</literal>).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTFLAGS">
    <term>XGETTEXTFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Additional flags to <command>xgettext(1)</command>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTFROM">
    <term>XGETTEXTFROM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Name of file containing list of <command>xgettext(1)</command>'s source
files. Autotools' users know this as <filename>POTFILES.in</filename> so they
will in most cases set <literal>XGETTEXTFROM="POTFILES.in"</literal> here.
The <envar xmlns="http://www.scons.org/dbxsd/v1.0">$XGETTEXTFROM</envar> files have same syntax and semantics as the well known
GNU <filename>POTFILES.in</filename>.
See <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_XGETTEXTFROMFLAGS">
    <term>_XGETTEXTFROMFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Internal "macro". Genrates list of <literal>-D&lt;dir&gt;</literal> flags
from the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-XGETTEXTPATH"><envar>$XGETTEXTPATH</envar></link> list.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTFROMPREFIX">
    <term>XGETTEXTFROMPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This flag is used to add single <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-XGETTEXTFROM"><envar>$XGETTEXTFROM</envar></link> file to
<command>xgettext(1)</command>'s commandline (default:
<literal>'-f'</literal>).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTFROMSUFFIX">
    <term>XGETTEXTFROMSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
(default: <literal>''</literal>)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTPATH">
    <term>XGETTEXTPATH</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
List of directories, there <command>xgettext(1)</command> will look for
source files (default: <literal>[]</literal>).
<note><para>
This variable works only together with <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-XGETTEXTFROM"><envar>$XGETTEXTFROM</envar></link>
</para></note>
See also <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="t-xgettext"><literal>xgettext</literal></link> tool and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-POTUpdate"><function>POTUpdate</function></link> builder.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-_XGETTEXTPATHFLAGS">
    <term>_XGETTEXTPATHFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
Internal "macro". Generates list of <literal>-f&lt;file&gt;</literal> flags
from <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-XGETTEXTFROM"><envar>$XGETTEXTFROM</envar></link>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTPATHPREFIX">
    <term>XGETTEXTPATHPREFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
This flag is used to add single search path to
<command>xgettext(1)</command>'s commandline (default:
<literal>'-D'</literal>).
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-XGETTEXTPATHSUFFIX">
    <term>XGETTEXTPATHSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
(default: <literal>''</literal>)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACC">
    <term>YACC</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The parser generator.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCCOM">
    <term>YACCCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the parser generator
to generate a source file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCCOMSTR">
    <term>YACCCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when generating a source file
using the parser generator.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-YACCCOM"><envar>$YACCCOM</envar></link> (the command line) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(YACCCOMSTR = "Yacc'ing $TARGET from $SOURCES")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCFLAGS">
    <term>YACCFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the parser generator.
If <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-YACCFLAGS"><envar>$YACCFLAGS</envar></link> contains a <option>-d</option> option,
SCons assumes that the call will also create a .h file
(if the yacc source file ends in a .y suffix)
or a .hpp file
(if the yacc source file ends in a .yy suffix)
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCHFILESUFFIX">
    <term>YACCHFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix of the C
header file generated by the parser generator
when the
<option>-d</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a header
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.h</filename>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCHXXFILESUFFIX">
    <term>YACCHXXFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix of the C++
header file generated by the parser generator
when the
<option>-d</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a header
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.hpp</filename>,
except on Mac OS X,
where the default is
<filename>${TARGET.suffix}.h</filename>.
because the default <application xmlns="http://www.scons.org/dbxsd/v1.0">bison</application> parser generator just
appends <filename>.h</filename>
to the name of the generated C++ file.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-YACCVCGFILESUFFIX">
    <term>YACCVCGFILESUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix of the file
containing the VCG grammar automaton definition
when the
<option>--graph=</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a VCG
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.vcg</filename>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIP">
    <term>ZIP</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The zip compression and file packaging utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPCOM">
    <term>ZIPCOM</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The command line used to call the zip utility,
or the internal Python function used to create a
zip archive.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPCOMPRESSION">
    <term>ZIPCOMPRESSION</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The
<varname>compression</varname>
flag
from the Python
<filename>zipfile</filename>
module used by the internal Python function
to control whether the zip archive
is compressed or not.
The default value is
<literal>zipfile.ZIP_DEFLATED</literal>,
which creates a compressed zip archive.
This value has no effect if the
<literal>zipfile</literal>
module is unavailable.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPCOMSTR">
    <term>ZIPCOMSTR</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when archiving files
using the zip utility.
If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-ZIPCOM"><envar>$ZIPCOM</envar></link>
(the command line or internal Python function) is displayed.
</para>

<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment(ZIPCOMSTR = "Zipping $TARGET")
</example_commands>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPFLAGS">
    <term>ZIPFLAGS</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
General options passed to the zip utility.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPROOT">
    <term>ZIPROOT</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
An optional zip root directory (default empty).  The filenames stored
in the zip file will be relative to this directory, if given.
Otherwise the filenames are relative to the current directory of the
command.
For instance:
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
env = Environment()
env.Zip('foo.zip', 'subdir1/subdir2/file1', ZIPROOT='subdir1')
</example_commands>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
will produce a zip file <literal>foo.zip</literal>
containing a file with the name
<literal>subdir2/file1</literal> rather than
<literal>subdir1/subdir2/file1</literal>.
</para>
</listitem>
  </varlistentry>
  <varlistentry id="cv-ZIPSUFFIX">
    <term>ZIPSUFFIX</term>
    <listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The suffix used for zip file names.
</para>
</listitem>
  </varlistentry>
</variablelist>