summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2021-01-15 22:57:00 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2021-01-15 22:57:00 (GMT)
commite6d4a1a12a55aa738e3a9c7a915d9852dccc0fc1 (patch)
tree00106617fb5a7d6906f21756cce7f8c6eed2b199 /doc
parent025ae0d19b2e3b8bb487eea2a8231faac0a0caa3 (diff)
downloadSCons-e6d4a1a12a55aa738e3a9c7a915d9852dccc0fc1.zip
SCons-e6d4a1a12a55aa738e3a9c7a915d9852dccc0fc1.tar.gz
SCons-e6d4a1a12a55aa738e3a9c7a915d9852dccc0fc1.tar.bz2
[ci skip]Updated generated docs, Updated docs
Diffstat (limited to 'doc')
-rw-r--r--doc/generated/builders.gen173
-rw-r--r--doc/generated/examples/caching_ex-random_1.xml4
-rw-r--r--doc/generated/examples/troubleshoot_Dump_1.xml3
-rw-r--r--doc/generated/examples/troubleshoot_Dump_2.xml3
-rw-r--r--doc/generated/examples/troubleshoot_Dump_ENV_1.xml2
-rw-r--r--doc/generated/examples/troubleshoot_explain1_3.xml2
-rw-r--r--doc/generated/examples/troubleshoot_stacktrace_2.xml8
-rw-r--r--doc/generated/functions.gen520
-rw-r--r--doc/generated/tools.gen17
-rw-r--r--doc/generated/tools.mod2
-rw-r--r--doc/generated/variables.gen183
-rw-r--r--doc/generated/variables.mod8
12 files changed, 507 insertions, 418 deletions
diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen
index 94c8eff..bfb1ff1 100644
--- a/doc/generated/builders.gen
+++ b/doc/generated/builders.gen
@@ -54,30 +54,55 @@ for the calling syntax and details.
<term><function>CompilationDatabase</function>()</term>
<term><replaceable>env</replaceable>.<methodname>CompilationDatabase</methodname>()</term>
<listitem><para>
- The &b-CompilationDatabase; builder writes a JSON formatted compilation
- database according to the
- <ulink url="https://clang.llvm.org/docs/JSONCompilationDatabase.html">LLVM specification
- </ulink> which is consumed by a number of clang tools, editors, and other tools.
+ &b-CompilationDatabase; is a special builder which
+ adds a target to create a JSON formatted
+ compilation database compatible with
+ <systemitem>clang</systemitem> tooling
+ (see the
+ <ulink url="https://clang.llvm.org/docs/JSONCompilationDatabase.html">LLVM specification</ulink>).
+ This database is suitable for consumption by various
+ tools and editors who can use it to obtain build and
+ dependency information which otherwise would be
+ internal to &SCons;.
+ The builder does not require any source files to be specified,
+ rather it arranges to emit information about all
+ of the C, C++ and assembler source/output pairs
+ identified in the build that are not excluded by the
+ optional filter &cv-link-COMPILATIONDB_PATH_FILTER;.
+ The target is subject to the usual &SCons; target
+ selection rules.
</para>
<para>
- If you don't specify any files, the builder will default to <filename>compile_commands.json</filename>.
+ If called with no arguments,
+ the builder will default to a target name of
+ <filename>compile_commands.json</filename>.
</para>
<para>
- If you specify a single file as below
- <programlisting language="python">
-env.CompilationDatabase('my_output.json')
- </programlisting>
- SCons will automatically use that as the target file.
- If you specify more than one source, the source list will be ignored.
+ If called with a single positional argument,
+ &scons; will "deduce" the target name from that source
+ argument, giving it the same name, and then
+ ignore the source.
+ This is the usual way to call the builder if a
+ non-default target name is wanted.
</para>
<para>
- You should not specify source files. The &b-CompilationDatabase; builder instruments SCons to collect them from all
- the C, C++, assembly source/target pairs.
- </para>
- <para>
- NOTE: You must load the &t-compilation_db; tool prior to specifying any part of your build or some source/target
- files will not show up in your output file.
+ If called with either the <parameter>target=</parameter>
+ or <parameter>source=</parameter> keyword arguments,
+ the value of the argument is taken as the target name.
+ If called with both, the <parameter>target=</parameter>
+ value is used and <parameter>source=</parameter> is ignored.
+ If called with multiple sources,
+ the source list will be ignored,
+ since there is no way to deduce what the intent was;
+ in this case the default target name will be used.
</para>
+ <note>
+ <para>
+ You must load the &t-compilation_db; tool prior to specifying
+ any part of your build or some source/output
+ files will not show up in the compilation database.
+ </para>
+ </note>
<para>
<emphasis>Available since &scons; 4.0.</emphasis>
</para>
@@ -1206,58 +1231,83 @@ builder method.
<term><function>Package</function>()</term>
<term><replaceable>env</replaceable>.<methodname>Package</methodname>()</term>
<listitem><para>
-Builds a Binary Package of the given source files.
+Builds software distribution packages.
+A <firstterm>Package</firstterm> is a container format which
+includes files to install along with metadata.
+Packaging is optional, and must be enabled by specifying
+the &t-link-packaging; tool. For example:
</para>
<example_commands>
-env.Package(source = FindInstalledFiles())
+env = Environment(tools=['default', 'packaging'])
</example_commands>
+
<para>
-Builds software distribution packages.
-Packages consist of files to install and packaging information.
-The former may be specified with the &source; parameter and may be left out,
-in which case the &FindInstalledFiles; function will collect
-all files that have an &b-Install; or &b-InstallAs; Builder attached.
-If the &target; is not specified
-it will be deduced from additional information given to this Builder.
+&SCons; can build packages in a number of well known packaging formats.
+The target package type may be selected with the
+the &cv-link-PACKAGETYPE; construction variable
+or the <option>--package-type</option> command line option.
+The package type may be a list, in which case &SCons; will attempt
+to build packages for each type in the list. Example:
+</para>
+
+<example_commands>
+env.Package(PACKAGETYPE=['src_zip', 'src_targz'], <replaceable>...other args...</replaceable>)
+</example_commands>
+
+<para>
+The currently supported packagers are:
</para>
+<informaltable rowsep="1" colsep="1" frame="topbot">
+<tgroup cols="2">
+<tbody>
+<row><entry><literal>msi</literal></entry><entry>Microsoft Installer package</entry></row>
+<row><entry><literal>rpm</literal></entry><entry>RPM Package Manger package</entry></row>
+<row><entry><literal>ipkg</literal></entry><entry>Itsy Package Management package</entry></row>
+<row><entry><literal>tarbz2</literal></entry><entry>bzip2-compressed tar file</entry></row>
+<row><entry><literal>targz</literal></entry><entry>gzip-compressed tar file</entry></row>
+<row><entry><literal>tarxz</literal></entry><entry>xz-compressed tar file</entry></row>
+<row><entry><literal>zip</literal></entry><entry>zip file</entry></row>
+<row><entry><literal>src_tarbz2</literal></entry><entry>bzip2-compressed tar file suitable as source to another packager</entry></row>
+<row><entry><literal>src_targz</literal></entry><entry>gzip-compressed tar file suitable as source to another packager</entry></row>
+<row><entry><literal>src_tarxz</literal></entry><entry>xz-compressed tar file suitable as source to another packager</entry></row>
+<row><entry><literal>src_zip</literal></entry><entry>zip file suitable as source to another packager</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+
<para>
-The packaging information is specified
-with the help of construction variables documented below.
-This information is called a tag to stress that
-some of them can also be attached to files with the &Tag; function.
-The mandatory ones will complain if they were not specified.
-They vary depending on chosen target packager.
+The file list to include in the package may be specified with
+the &source; keyword argument. If omitted,
+the &f-link-FindInstalledFiles; function is called behind the scenes
+to select all files that have an &b-link-Install;, &b-link-InstallAs;
+or &b-link-InstallVersionedLib; Builder attached.
+If the &target; keyword argument is omitted, the target name(s)
+will be deduced from the package type(s).
</para>
<para>
-The target packager may be selected with the "PACKAGETYPE" command line
-option or with the &cv-PACKAGETYPE; construction variable. Currently
-the following packagers available:
+The metadata comes partly from attributes of the files to be packaged,
+and partly from packaging <firstterm>tags</firstterm>.
+Tags can be passed as keyword arguments
+to the &b-Package; builder call,
+and may also be attached to files
+(or more accurately, Nodes representing files)
+with the &f-link-Tag; function.
+Some package-level tags are mandatory, and will lead to errors if omitted.
+The mandatory tags vary depending on the package type.
+<!-- TODO: should document which tags are mandatory for which packager -->
</para>
-<blockquote>
-<simplelist type="vert" columns="1">
-<member><literal>msi</literal> - Microsoft Installer</member>
-<member><literal>rpm</literal> - RPM Package Manger</member>
-<member><literal>ipkg</literal> - Itsy Package Management System</member>
-<member><literal>tarbz2</literal> - bzip2 compressed tar</member>
-<member><literal>targz</literal> - gzip compressed tar</member>
-<member><literal>tarxz</literal> - xz compressed tar</member>
-<member><literal>zip</literal> - zip file</member>
-<member><literal>src_tarbz2</literal> - bzip2 compressed tar source</member>
-<member><literal>src_targz</literal> - gzip compressed tar source</member>
-<member><literal>src_tarxz</literal> - xz compressed tar source</member>
-<member><literal>src_zip</literal> - zip file source</member>
-</simplelist>
-</blockquote>
+<para>
+While packaging, the builder uses a temporary location named
+by the value of the &cv-link-PACKAGEROOT; variable -
+the package sources are copied there before packaging.
+</para>
<para>
-An updated list is always available under the
-<replaceable>package_type</replaceable> option when
-running <command>scons --help</command>
-on a project that has packaging activated.
+Packaging example:
</para>
<example_commands>
@@ -1275,6 +1325,21 @@ env.Package(
SOURCE_URL="http://foo.org/foo-1.2.3.tar.gz",
)
</example_commands>
+
+<para>
+In this example, the target <filename>/bin/my_program</filename>
+created by the &b-Install; call would not be built by default
+since it is not under the project top directory.
+However, since no <parameter>source</parameter>
+is specified to the &b-Package; builder,
+it is selected for packaging by the default sources rule.
+Since packaging is done using &cv-PACKAGEROOT;, no write is
+actually done to the system's <filename>/bin</filename> directory,
+and the target <emphasis>will</emphasis> be selected since
+after rebasing to underneath &cv-PACKAGEROOT; it is now under
+the top directory of the project.
+</para>
+
</listitem>
</varlistentry>
<varlistentry id="b-PCH">
diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml
index 1910505..2031006 100644
--- a/doc/generated/examples/caching_ex-random_1.xml
+++ b/doc/generated/examples/caching_ex-random_1.xml
@@ -1,8 +1,8 @@
<screen 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">% <userinput>scons -Q</userinput>
cc -o f5.o -c f5.c
-cc -o f1.o -c f1.c
+cc -o f4.o -c f4.c
cc -o f2.o -c f2.c
cc -o f3.o -c f3.c
-cc -o f4.o -c f4.c
+cc -o f1.o -c f1.c
cc -o prog f1.o f2.o f3.o f4.o f5.o
</screen>
diff --git a/doc/generated/examples/troubleshoot_Dump_1.xml b/doc/generated/examples/troubleshoot_Dump_1.xml
index cb0ab4a..0b7bd05 100644
--- a/doc/generated/examples/troubleshoot_Dump_1.xml
+++ b/doc/generated/examples/troubleshoot_Dump_1.xml
@@ -28,7 +28,7 @@ scons: Reading SConscript files ...
'DSUFFIXES': ['.d'],
'Dir': &lt;SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;,
'Dirs': &lt;SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;,
- 'ENV': {'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'},
+ 'ENV': {'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin'},
'ESCAPE': &lt;function escape at 0x700000&gt;,
'File': &lt;SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;,
'HOST_ARCH': None,
@@ -73,6 +73,7 @@ scons: Reading SConscript files ...
'__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
+ '__lib_either_version_flag': &lt;function __lib_either_version_flag at 0x700000&gt;,
'__libversionflags': &lt;function __libversionflags at 0x700000&gt;,
'_concat': &lt;function _concat at 0x700000&gt;,
'_defines': &lt;function _defines at 0x700000&gt;,
diff --git a/doc/generated/examples/troubleshoot_Dump_2.xml b/doc/generated/examples/troubleshoot_Dump_2.xml
index 5080822..ab18e58 100644
--- a/doc/generated/examples/troubleshoot_Dump_2.xml
+++ b/doc/generated/examples/troubleshoot_Dump_2.xml
@@ -91,7 +91,7 @@ scons: Reading SConscript files ...
'SHCXXCOM': '${TEMPFILE("$SHCXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES '
'$SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM","$SHCXXCOMSTR")}',
'SHCXXFLAGS': ['$CXXFLAGS'],
- 'SHELL': 'command',
+ 'SHELL': None,
'SHLIBPREFIX': '',
'SHLIBSUFFIX': '.dll',
'SHOBJPREFIX': '$OBJPREFIX',
@@ -117,6 +117,7 @@ scons: Reading SConscript files ...
'__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
+ '__lib_either_version_flag': &lt;function __lib_either_version_flag at 0x700000&gt;,
'__libversionflags': &lt;function __libversionflags at 0x700000&gt;,
'_concat': &lt;function _concat at 0x700000&gt;,
'_defines': &lt;function _defines at 0x700000&gt;,
diff --git a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml
index 9fb88cf..1d00911 100644
--- a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml
+++ b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml
@@ -1,6 +1,6 @@
<screen 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">% <userinput>scons</userinput>
scons: Reading SConscript files ...
-{'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'}
+{'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin'}
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml
index 6b90e1c..ad88b6b 100644
--- a/doc/generated/examples/troubleshoot_explain1_3.xml
+++ b/doc/generated/examples/troubleshoot_explain1_3.xml
@@ -2,5 +2,5 @@
cp file.in file.oout
scons: warning: Cannot find target file.out after building
-File "/Users/bdbaddog/devel/scons/git/as_scons/scripts/scons.py", line 96, in &lt;module&gt;
+File "/home/bdeegan/devel/scons/git/scons-pr-3553/scripts/scons.py", line 96, in &lt;module&gt;
</screen>
diff --git a/doc/generated/examples/troubleshoot_stacktrace_2.xml b/doc/generated/examples/troubleshoot_stacktrace_2.xml
index 66a7abb..41e53c5 100644
--- a/doc/generated/examples/troubleshoot_stacktrace_2.xml
+++ b/doc/generated/examples/troubleshoot_stacktrace_2.xml
@@ -1,12 +1,12 @@
<screen 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">% <userinput>scons -Q --debug=stacktrace</userinput>
scons: *** [prog.o] Source `prog.c' not found, needed by target `prog.o'.
scons: internal stack trace:
- File "SCons/Job.py", line 199, in start
+ File "SCons/Job.py", line 195, in start
task.prepare()
- File "SCons/Script/Main.py", line 190, in prepare
+ File "SCons/Script/Main.py", line 177, in prepare
return SCons.Taskmaster.OutOfDateTask.prepare(self)
- File "SCons/Taskmaster.py", line 195, in prepare
+ File "SCons/Taskmaster.py", line 186, in prepare
executor.prepare()
- File "SCons/Executor.py", line 429, in prepare
+ File "SCons/Executor.py", line 424, in prepare
raise SCons.Errors.StopError(msg % (s, self.batches[0].targets[0]))
</screen>
diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen
index 9743daa..382315e 100644
--- a/doc/generated/functions.gen
+++ b/doc/generated/functions.gen
@@ -44,31 +44,22 @@ until the Action object is actually used.
<term><function>AddMethod</function>(<parameter>object, function, [name]</parameter>)</term>
<term><replaceable>env</replaceable>.<methodname>AddMethod</methodname>(<parameter>function, [name]</parameter>)</term>
<listitem><para>
-When called with the
-<function>AddMethod</function>()
-form,
-adds the specified
-<parameter>function</parameter>
-to the specified
-<parameter>object</parameter>
-as the specified method
-<parameter>name</parameter>.
-When called using the
-&f-env-AddMethod; form,
-adds the specified
-<parameter>function</parameter>
-to the construction environment
-<replaceable>env</replaceable>
-as the specified method
-<parameter>name</parameter>.
-In both cases, if
-<parameter>name</parameter>
-is omitted or
-<constant>None</constant>,
-the name of the
-specified
-<parameter>function</parameter>
-itself is used for the method name.
+Adds <parameter>function</parameter> to an object as a method.
+<parameter>function</parameter> will be called with an instance
+object as the first argument as for other methods.
+If <parameter>name</parameter> is given, it is used as
+the name of the new method, else the name of
+<parameter>function</parameter> is used.
+</para>
+<para>
+When the global function &f-AddMethod; is called,
+the object to add the method to must be passed as the first argument;
+typically this will be &Environment;,
+in order to create a method which applies to all &consenvs;
+subsequently constructed.
+When called using the &f-env-AddMethod; form,
+the method is added to the specified &consenv; only.
+Added methods propagate through &f-env-Clone; calls.
</para>
<para>
@@ -76,22 +67,17 @@ Examples:
</para>
<example_commands>
-# Note that the first argument to the function to
-# be attached as a method must be the object through
-# which the method will be called; the Python
-# convention is to call it 'self'.
+# Function to add must accept an instance argument.
+# The Python convention is to call this 'self'.
def my_method(self, arg):
print("my_method() got", arg)
-# Use the global AddMethod() function to add a method
-# to the Environment class. This
+# Use the global function to add a method to the Environment class:
AddMethod(Environment, my_method)
env = Environment()
env.my_method('arg')
-# Add the function as a method, using the function
-# name for the method call.
-env = Environment()
+# Use the optional name argument to set the name of the method:
env.AddMethod(my_method, 'other_method_name')
env.other_method_name('another arg')
</example_commands>
@@ -106,13 +92,13 @@ are the same as those supported by the <function>add_option</function>
method in the standard Python library module <systemitem>optparse</systemitem>,
with a few additional capabilities noted below.
See the documentation for
-<emphasis>optparse</emphasis>
+<systemitem>optparse</systemitem>
for a thorough discussion of its option-processing capabities.
</para>
<para>
In addition to the arguments and values supported by the
-<emphasis>optparse</emphasis>
+<systemitem>optparse</systemitem>
<function>add_option</function>
method, &f-AddOption;
allows setting the
@@ -150,10 +136,10 @@ it will recognize <option>--device</option>,
and so forth as long as there is no other option
which could also match to the same abbreviation.
Options added via
-<function>AddOption</function> do not support
+&f-AddOption; do not support
the automatic recognition of abbreviations.
Instead, to allow specific abbreviations,
-include them in the &f-AddOption; call.
+include them as synonyms in the &f-AddOption; call itself.
</para>
<para>
@@ -169,7 +155,7 @@ options added with &f-AddOption;.
The value may also be set using
&f-SetOption;
or
-<function>env.SetOption</function>(),
+&f-env.SetOption;,
if conditions in a
&SConscript;
require overriding any default value.
@@ -597,7 +583,7 @@ caching by calling &f-env-CacheDir;.
</para>
<para>
-When derived-file caching
+When derived-file caching
is being used and
&scons;
finds a derived file that needs to be rebuilt,
@@ -658,7 +644,7 @@ the first time a
<parameter>cache_dir</parameter>
is used for a build,
or to bring a cache up to date after
-a build with cache updating disabled
+a build with cache updating disabled
(<option>--cache-disable</option>
or <option>--cache-readonly</option>)
has been done.
@@ -1369,7 +1355,7 @@ Returns a JSON-formatted string representation of the environment.
</varlistentry>
</variablelist>
-If <varname>key</varname> is
+If <varname>key</varname> is
<constant>None</constant> (the default) the entire
dictionary of &consvars; is serialized.
If supplied, it is taken as the name of a &consvar;
@@ -1471,6 +1457,14 @@ Return a new construction environment
initialized with the specified
<parameter>key</parameter>=<replaceable>value</replaceable>
pairs.
+The keyword arguments
+<parameter>parse_flags</parameter>,
+<parameter>platform</parameter>,
+<parameter>toolpath</parameter>,
+<parameter>tools</parameter>
+and <parameter>variables</parameter>
+are also specially recognized.
+See the manpage section "Construction Environments" for more details.
</para>
</listitem>
</varlistentry>
@@ -3341,8 +3335,8 @@ Return('val1 val2')
</listitem>
</varlistentry>
<varlistentry id="f-Scanner">
- <term><function>Scanner</function>(<parameter>function, [argument, keys, path_function, node_class, node_factory, scan_check, recursive]</parameter>)</term>
- <term><replaceable>env</replaceable>.<methodname>Scanner</methodname>(<parameter>function, [argument, keys, path_function, node_class, node_factory, scan_check, recursive]</parameter>)</term>
+ <term><function>Scanner</function>(<parameter>function, [name, argument, skeys, path_function, node_class, node_factory, scan_check, recursive]</parameter>)</term>
+ <term><replaceable>env</replaceable>.<methodname>Scanner</methodname>(<parameter>function, [name, argument, skeys, path_function, node_class, node_factory, scan_check, recursive]</parameter>)</term>
<listitem><para>
Creates a Scanner object for
the specified
@@ -3636,57 +3630,75 @@ SConscript('bar/SConscript') # will chdir to bar
</listitem>
</varlistentry>
<varlistentry id="f-SConsignFile">
- <term><function>SConsignFile</function>(<parameter>[file, dbm_module]</parameter>)</term>
- <term><replaceable>env</replaceable>.<methodname>SConsignFile</methodname>(<parameter>[file, dbm_module]</parameter>)</term>
+ <term><function>SConsignFile</function>(<parameter>[name, dbm_module]</parameter>)</term>
+ <term><replaceable>env</replaceable>.<methodname>SConsignFile</methodname>(<parameter>[name, dbm_module]</parameter>)</term>
<listitem><para>
-This tells
-&scons;
-to store all file signatures
-in the specified database
-<parameter>file</parameter>.
-If the
-<parameter>file</parameter>
-name is omitted,
-<filename>.sconsign</filename>
-is used by default.
-(The actual file name(s) stored on disk
-may have an appropriated suffix appended
-by the
-<parameter>dbm_module</parameter>.)
-If
-<parameter>file</parameter>
-is not an absolute path name,
-the file is placed in the same directory as the top-level
-&SConstruct;
-file.
+Specify where to store the &SCons; file signature database,
+and which database format to use.
+This may be useful to specify alternate
+database files and/or file locations for different types of builds.
+</para>
+<para>
+The optional <parameter>name</parameter> argument
+is the base name of the database file(s).
+If not an absolute path name,
+these are placed relative to the directory containing the
+top-level &SConstruct; file.
+The default is
+<filename>.sconsign</filename>.
+The actual database file(s) stored on disk
+may have an appropriate suffix appended
+by the chosen
+<parameter>dbm_module</parameter>
+</para>
+<para>
+The optional <parameter>dbm_module</parameter>
+argument specifies which
+Python database module to use
+for reading/writing the file.
+The module must be imported first;
+then the imported module name
+is passed as the argument.
+The default is a custom
+<systemitem>SCons.dblite</systemitem>
+module that uses pickled
+Python data structures,
+which works on all Python versions.
+See documentation of the Python
+<systemitem>dbm</systemitem> module
+for other available types.
+</para>
+<para>
+If called with no arguments,
+the database will default to
+<filename>.sconsign.dblite</filename>
+in the top directory of the project,
+which is also the default if
+if &f-SConsignFile; is not called.
+</para>
+<para>
+The setting is global, so the only difference
+between the global function and the environment method form
+is variable expansion on <parameter>name</parameter>.
+There should only be one active call to this
+function/method in a given build setup.
</para>
-
<para>
If
-<parameter>file</parameter>
-is
+<parameter>name</parameter>
+is set to
<constant>None</constant>,
-then
&scons;
will store file signatures
in a separate
<filename>.sconsign</filename>
file in each directory,
-not in one global database file.
-(This was the default behavior
-prior to SCons 0.96.91 and 0.97.)
-</para>
-
-<para>
-The optional
-<parameter>dbm_module</parameter>
-argument can be used to specify
-which Python database module
-The default is to use a custom
-<filename>SCons.dblite</filename>
-module that uses pickled
-Python data structures,
-and which works on all Python versions.
+not in a single combined database file.
+This is a backwards-compatibility meaure to support
+what was the default behavior
+prior to &SCons; 0.97 (i.e. before 2008).
+Use of this mode is discouraged and may be
+deprecated in a future &SCons; release.
</para>
<para>
@@ -3695,20 +3707,25 @@ Examples:
<example_commands>
# Explicitly stores signatures in ".sconsign.dblite"
-# in the top-level SConstruct directory (the
-# default behavior).
+# in the top-level SConstruct directory (the default behavior).
SConsignFile()
# Stores signatures in the file "etc/scons-signatures"
# relative to the top-level SConstruct directory.
+# SCons will add a database suffix to this name.
SConsignFile("etc/scons-signatures")
# Stores signatures in the specified absolute file name.
+# SCons will add a database suffix to this name.
SConsignFile("/home/me/SCons/signatures")
# Stores signatures in a separate .sconsign file
# in each directory.
SConsignFile(None)
+
+# Stores signatures in a GNU dbm format .sconsign file
+import dbm.gnu
+SConsignFile(dbm_module=dbm.gnu)
</example_commands>
</listitem>
</varlistentry>
@@ -3731,123 +3748,132 @@ if 'FOO' not in env: env['FOO'] = 'foo'
<term><function>SetOption</function>(<parameter>name, value</parameter>)</term>
<term><replaceable>env</replaceable>.<methodname>SetOption</methodname>(<parameter>name, value</parameter>)</term>
<listitem><para>
-This function provides a way to set a select subset of the scons command
-line options from a SConscript file. The options supported are:
-</para>
-
-<para>
-<variablelist>
-<varlistentry>
-<term><literal>clean</literal></term>
-<listitem>
-<para>
-which corresponds to <option>-c</option>, <option>--clean</option>
-and <option>--remove</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>duplicate</literal></term>
-<listitem>
-<para>
-which corresponds to <option>--duplicate</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>help</literal></term>
-<listitem>
-<para>
-which corresponds to <option>-h</option> and <option>--help</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>implicit_cache</literal></term>
-<listitem>
-<para>
-which corresponds to <option>--implicit-cache</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>max_drift</literal></term>
-<listitem>
-<para>
-which corresponds to <option>--max-drift</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>no_exec</literal></term>
-<listitem>
-<para>
-which corresponds to <option>-n</option>, <option>--no-exec</option>,
-<option>--just-print</option>, <option>--dry-run</option>
-and <option>--recon</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>num_jobs</literal></term>
-<listitem>
-<para>
-which corresponds to <option>-j</option> and <option>--jobs</option>;
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>random</literal></term>
-<listitem>
-<para>
-which corresponds to <option>--random</option>; and
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>silent</literal></term>
-<listitem>
-<para>
-which corresponds to <option>--silent</option>.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>no_progress</literal></term>
-<listitem>
-<para>
-which corresponds to -Q.
-</para>
-<para>
- Note: The initial progress output will still be output as this is done before the SConstruct/SConscript which contains the SetOption is processed
- <literal>scons: Reading SConscript files ...</literal>
-</para>
-<para><emphasis>Available since &scons; 4.0.</emphasis></para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><literal>stack_size</literal></term>
-<listitem>
-<para>
-which corresponds to --stack-size.
-</para>
-</listitem>
-</varlistentry>
-</variablelist>
+Sets &scons; option variable <parameter>name</parameter>
+to <parameter>value</parameter>.
+These options are all also settable via
+&scons; command-line options but the variable name
+may differ from the command-line option name (see table).
+A value set via command-line option will take
+precedence over one set with &f-SetOption;, which
+allows setting a project default in the scripts and
+temporarily overriding it via command line.
+Options which affect the reading and processing of SConscript files
+are not settable this way, since those files must
+be read in order to find the &f-SetOption; call.
+</para>
+
+<para>
+The settable variables with their associated command-line options are:
+</para>
+
+<informaltable rowsep="1" colsep="1" frame="topbot">
+<tgroup cols="2">
+<thead>
+<row><entry>Variable</entry><entry>Command-line options</entry></row>
+</thead>
+<tbody>
+<row><entry>
+<varname>clean</varname>
+</entry><entry>
+<option>-c</option>, <option>--clean</option>, <option>--remove</option>
+</entry></row>
+<row><entry>
+<varname>diskcheck</varname>
+</entry><entry>
+<option>--diskcheck</option>
+</entry></row>
+<row><entry>
+<varname>duplicate</varname>
+</entry><entry>
+<option>--duplicate</option>
+</entry></row>
+<row><entry>
+<varname>help</varname>
+</entry><entry>
+<option>-h</option>, <option>--help</option>
+</entry></row>
+<row><entry>
+<varname>implicit_cache</varname>
+</entry><entry>
+<option>--implicit-cache</option>
+</entry></row>
+<!--TODO: add implicit-deps-changed, implicit-deps-unchanged ? -->
+<row><entry>
+<varname>max_drift</varname>
+</entry><entry>
+<option>--max-drift</option>
+</entry></row>
+<row><entry>
+<varname>md5_chunksize</varname>
+</entry><entry>
+<option>--md5-chunksize</option>
+</entry></row>
+<row><entry>
+<varname>no_exec</varname>
+</entry><entry>
+<option>-n</option>, <option>--no-exec</option>,
+<option>--just-print</option>, <option>--dry-run</option>,
+<option>--recon</option>
+</entry></row>
+<row><entry>
+<varname>no_progress</varname>
+</entry><entry>
+<option>-Q</option>
+</entry></row>
+<row><entry>
+<varname>num_jobs</varname>
+</entry><entry>
+<option>-j</option>, <option>--jobs</option>
+</entry></row>
+<row><entry>
+<varname>random</varname>
+</entry><entry>
+<option>--random</option>
+</entry></row>
+<row><entry>
+<varname>silent</varname>
+</entry><entry>
+<option>--silent</option>.
+</entry></row>
+<row><entry>
+<varname>stack_size</varname>
+</entry><entry>
+<option>--stack-size</option>
+</entry></row>
+<row><entry>
+<varname>warn</varname>
+</entry><entry>
+<option>--warn</option>.
+</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>
+See the documentation in the manpage for the
+corresponding command line option for information about each specific option.
+Option values which are boolean in nature (that is, they are
+either on or off) should be set to a true value (<constant>True</constant>,
+<constant>1</constant>) or a false value (<constant>False</constant>,
+<constant>0</constant>).
</para>
+<note>
<para>
-See the documentation for the
-corresponding command line option for information about each specific
-option.
+If <varname>no_progress</varname> is set via &f-SetOption;
+there will still be initial progress output as &SCons; has
+to start reading SConscript files before it can see the
+&f-SetOption; in an SConscript file:
+<computeroutput>scons: Reading SConscript files ...</computeroutput>
</para>
+</note>
<para>
Example:
</para>
<example_commands>
-SetOption('max_drift', 1)
+SetOption('max_drift', True)
</example_commands>
</listitem>
</varlistentry>
@@ -3909,6 +3935,12 @@ or
&f-env-Clean;
function.
</para>
+
+<para>
+This function returns the list of side effect Node objects that were successfully added.
+If the list of side effects contained any side effects that had already been added,
+they are not added and included in the returned list.
+</para>
</listitem>
</varlistentry>
<varlistentry id="f-Split">
@@ -4054,7 +4086,7 @@ Annotates file or directory Nodes with
information about how the
&b-link-Package;
Builder should package those files or directories.
-All tags are optional.
+All Node-level tags are optional.
</para>
<para>
@@ -4062,12 +4094,11 @@ Examples:
</para>
<example_commands>
-# makes sure the built library will be installed with 0o644 file
-# access mode
-Tag( Library( 'lib.c' ), UNIX_ATTR="0o644" )
+# makes sure the built library will be installed with 644 file access mode
+Tag(Library('lib.c'), UNIX_ATTR="0o644")
# marks file2.txt to be a documentation file
-Tag( 'file2.txt', DOC )
+Tag('file2.txt', DOC)
</example_commands>
</listitem>
</varlistentry>
@@ -4181,8 +4212,8 @@ def create(target, source, env):
# A function that will write a 'prefix=$SOURCE'
# string into the file name specified as the
# $TARGET.
- f = open(str(target[0]), 'wb')
- f.write('prefix=' + source[0].get_contents())
+ with open(str(target[0]), 'wb') as f:
+ f.write('prefix=' + source[0].get_contents())
# Fetch the prefix= argument, if any, from the command
# line, and use /usr/local as the default.
@@ -4213,90 +4244,75 @@ env.UpdateValue(target = Value(output), source = Value(input))
<term><function>VariantDir</function>(<parameter>variant_dir, src_dir, [duplicate]</parameter>)</term>
<term><replaceable>env</replaceable>.<methodname>VariantDir</methodname>(<parameter>variant_dir, src_dir, [duplicate]</parameter>)</term>
<listitem><para>
-Use the
-&f-VariantDir;
-function to create a copy of your sources in another location:
-if a name under
-<parameter>variant_dir</parameter>
-is not found but exists under
-<parameter>src_dir</parameter>,
-the file or directory is copied to
-<parameter>variant_dir</parameter>.
-Target files can be built in a different directory
-than the original sources by simply refering to the sources (and targets)
-within the variant tree.
-</para>
-
-<para>
+Sets up an alternate build location.
+When building in the <parameter>variant_dir</parameter>,
+&SCons; backfills as needed with files from <parameter>src_dir</parameter>
+to create a complete build directory.
&f-VariantDir;
can be called multiple times with the same
<parameter>src_dir</parameter>
to set up multiple builds with different options
-(<parameter>variants</parameter>).
+(<emphasis>variants</emphasis>).
+</para>
+
+<para>
The
-<parameter>src_dir</parameter>
-location must be in or underneath the SConstruct file's directory, and
-<parameter>variant_dir</parameter>
+<parameter>variant</parameter>
+location must be in or underneath the project top directory,
+and <parameter>src_dir</parameter>
may not be underneath
-<parameter>src_dir</parameter>.
-<!--
-TODO: Can the above restrictions be clarified or relaxed?
-TODO: The latter restriction is clearly not completely right;
-TODO: src_dir = '.' works fine with a build dir under it.
--->
+<parameter>variant_dir</parameter>.
</para>
<para>
-The default behavior is for
-&scons;
-to physically duplicate the source files in the variant tree.
+By default, &SCons;
+physically duplicates the source files and SConscript files
+as needed into the variant tree.
Thus, a build performed in the variant tree is guaranteed to be identical
to a build performed in the source tree even if
intermediate source files are generated during the build,
-or preprocessors or other scanners search for included files
+or if preprocessors or other scanners search for included files
relative to the source file,
-or individual compilers or other invoked tools are hard-coded
+or if individual compilers or other invoked tools are hard-coded
to put derived files in the same directory as source files.
+Only the files &SCons; calculates are needed for the build are
+duplicated into <parameter>variant_dir</parameter>.
</para>
<para>
If possible on the platform,
-the duplication is performed by linking rather than copying;
-see also the
+the duplication is performed by linking rather than copying.
+This behavior is affected by the
<option>--duplicate</option>
command-line option.
-Moreover, only the files needed for the build are duplicated;
-files and directories that are not used are not present in
-<parameter>variant_dir</parameter>.
</para>
<para>
-Duplicating the source tree may be disabled by setting the
-<literal>duplicate</literal>
+Duplicating the source files may be disabled by setting the
+<parameter>duplicate</parameter>
argument to
-<literal>0</literal>
-(zero).
+<constant>False</constant>.
This will cause
-&scons;
+&SCons;
to invoke Builders using the path names of source files in
<parameter>src_dir</parameter>
and the path names of derived files within
<parameter>variant_dir</parameter>.
-This is always more efficient than
-<literal>duplicate=1</literal>,
-and is usually safe for most builds
-(but see above for cases that may cause problems).
+This is more efficient than
+<literal>duplicate=True</literal>,
+and is safe for most builds;
+revert to <constant>True</constant>
+if it causes problems.
</para>
<para>
-Note that
&f-VariantDir;
-works most naturally with a subsidiary SConscript file.
-However, you would then call the subsidiary SConscript file
-not in the source directory, but in the
+works most naturally with used with a subsidiary SConscript file.
+The subsidiary SConscript file is called as if it
+were in
<parameter>variant_dir</parameter>,
regardless of the value of
-<literal>duplicate</literal>.
+<parameter>duplicate</parameter>.
This is how you tell
&scons;
which variant of a source tree to build:
@@ -4326,15 +4342,11 @@ Examples:
# use names in the build directory, not the source directory
VariantDir('build', 'src', duplicate=0)
Program('build/prog', 'build/source.c')
-</example_commands>
-<example_commands>
# this builds both the source and docs in a separate subtree
VariantDir('build', '.', duplicate=0)
SConscript(dirs=['build/src','build/doc'])
-</example_commands>
-<example_commands>
# same as previous example, but only uses SConscript
SConscript(dirs='src', variant_dir='build/src', duplicate=0)
SConscript(dirs='doc', variant_dir='build/doc', duplicate=0)
diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen
index 6353c6f..625e7d7 100644
--- a/doc/generated/tools.gen
+++ b/doc/generated/tools.gen
@@ -103,7 +103,7 @@ Set construction variables for the Clang C++ compiler.
<listitem><para>
Sets up &b-link-CompilationDatabase; builder which generates a clang tooling compatible compilation database.
</para>
- <para>Sets: &cv-link-COMPILATIONDB_COMSTR;, &cv-link-COMPILATIONDB_USE_ABSPATH;.</para></listitem>
+ <para>Sets: &cv-link-COMPILATIONDB_COMSTR;, &cv-link-COMPILATIONDB_PATH_FILTER;, &cv-link-COMPILATIONDB_USE_ABSPATH;.</para></listitem>
</varlistentry>
<varlistentry id="t-cvf">
<term>cvf</term>
@@ -221,7 +221,7 @@ source code (see
<listitem><para>
Sets construction variables for D language compiler DMD.
</para>
-<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
+<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
</varlistentry>
<varlistentry id="t-docbook">
<term>docbook</term>
@@ -447,7 +447,7 @@ Set construction variables for the &gcc; C compiler.
<listitem><para>
Sets construction variables for the D language compiler GDC.
</para>
-<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
+<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
</varlistentry>
<varlistentry id="t-gettext">
<term>gettext</term>
@@ -646,7 +646,7 @@ Sets construction variables for the &latex; utility.
<listitem><para>
Sets construction variables for the D language compiler LDC2.
</para>
-<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
+<para>Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;.</para></listitem>
</varlistentry>
<varlistentry id="t-lex">
<term>lex</term>
@@ -799,14 +799,9 @@ Sets construction variables for the
<varlistentry id="t-packaging">
<term>packaging</term>
<listitem><para>
-A framework for building binary and source packages.
-</para>
-</listitem>
- </varlistentry>
- <varlistentry id="t-Packaging">
- <term>Packaging</term>
- <listitem><para>
Sets construction variables for the &b-Package; Builder.
+If this tool is enabled, the <option>--package-type</option>
+command-line option is also enabled.
</para>
</listitem>
</varlistentry>
diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod
index c32d6ff..78aa9ef 100644
--- a/doc/generated/tools.mod
+++ b/doc/generated/tools.mod
@@ -80,7 +80,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-mwld "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwld</literal>">
<!ENTITY t-nasm "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>nasm</literal>">
<!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>">
-<!ENTITY t-Packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>Packaging</literal>">
<!ENTITY t-pdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdf</literal>">
<!ENTITY t-pdflatex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdflatex</literal>">
<!ENTITY t-pdftex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdftex</literal>">
@@ -186,7 +185,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-link-mwld "<link linkend='t-mwld' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwld</literal></link>">
<!ENTITY t-link-nasm "<link linkend='t-nasm' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>nasm</literal></link>">
<!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>">
-<!ENTITY t-link-Packaging "<link linkend='t-Packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>Packaging</literal></link>">
<!ENTITY t-link-pdf "<link linkend='t-pdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdf</literal></link>">
<!ENTITY t-link-pdflatex "<link linkend='t-pdflatex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdflatex</literal></link>">
<!ENTITY t-link-pdftex "<link linkend='t-pdftex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdftex</literal></link>">
diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen
index f19c14c..fb79fd9 100644
--- a/doc/generated/variables.gen
+++ b/doc/generated/variables.gen
@@ -324,28 +324,38 @@ and typesetter and the LaTeX structured formatter and typesetter.
</term>
<listitem><para>
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:
+available through the &consenv; to underlying Builder objects.
+Custom builders need to be added to this to make them available.
+</para>
+
+<para>
+A platform-dependent default list of builders such as
+&b-link-Program;, &b-link-Library; etc. is used to
+populate this &consvar; when the &consenv; is initialized
+via the presence/absence of the tools those builders depend on.
+&cv-BUILDERS; can be examined to learn which builders will
+actually be available at run-time.
+</para>
+
+<para>
+Note that if you initialize this &consvar; through
+assignment when the &consenv; is created,
+that value for &cv-BUILDERS; will override any defaults:
</para>
<example_commands>
-env = Environment(BUILDERS = {'NewBuilder' : foo})
+bld = Builder(action='foobuild &lt; $SOURCE &gt; $TARGET')
+env = Environment(BUILDERS={'NewBuilder': bld})
</example_commands>
<para>
-the default Builders will no longer be available.
-To use a new Builder object in addition to the default Builders,
+To instead use a new Builder object in addition to the default Builders,
add your new Builder object like this:
</para>
<example_commands>
env = Environment()
-env.Append(BUILDERS = {'NewBuilder' : foo})
+env.Append(BUILDERS={'NewBuilder': bld})
</example_commands>
<para>
@@ -354,7 +364,7 @@ or this:
<example_commands>
env = Environment()
-env['BUILDERS']['NewBuilder'] = foo
+env['BUILDERS']['NewBuilder'] = bld
</example_commands>
</listitem>
</varlistentry>
@@ -562,7 +572,24 @@ section of the RPM
<envar>COMPILATIONDB_COMSTR</envar>
</term>
<listitem><para>
- The string displayed when CompilationDatabase builder's action is run.
+ The string displayed when the &b-CompilationDatabase;
+ builder's action is run.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry id="cv-COMPILATIONDB_PATH_FILTER">
+ <term>
+ <envar>COMPILATIONDB_PATH_FILTER</envar>
+ </term>
+ <listitem><para>
+ A string which instructs &b-link-CompilationDatabase; to
+ only include entries where the <literal>output</literal> member
+ matches the pattern in the filter string using fnmatch, which
+ uses glob style wildcards.
+
+ </para>
+ <para>
+ The default value is an empty string '', which disables filtering.
</para>
</listitem>
</varlistentry>
@@ -571,9 +598,10 @@ section of the RPM
<envar>COMPILATIONDB_USE_ABSPATH</envar>
</term>
<listitem><para>
- This is a boolean flag to instruct &b-link-CompilationDatabase; to
- write the <literal>file</literal> and <literal>target</literal> members
- in the compilation database with absolute or relative paths.
+ A boolean flag to instruct &b-link-CompilationDatabase;
+ whether to write the <literal>file</literal> and
+ <literal>output</literal> members
+ in the compilation database using absolute or relative paths.
</para>
<para>
The default value is False (use relative paths)
@@ -1479,15 +1507,6 @@ DRPATHSUFFIX.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-DShLibSonameGenerator">
- <term>
- <envar>DShLibSonameGenerator</envar>
- </term>
- <listitem><para>
-DShLibSonameGenerator.
-</para>
-</listitem>
- </varlistentry>
<varlistentry id="cv-DSUFFIXES">
<term>
<envar>DSUFFIXES</envar>
@@ -1696,7 +1715,7 @@ If not set, then &cv-link-F03COM; or &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the F03 dialect will be used. By
-default, this is ['.f03']
+default, this is <literal>['.f03']</literal>
</para>
</listitem>
</varlistentry>
@@ -1834,7 +1853,7 @@ If not set, then &cv-link-F03PPCOM; or &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-F03 dialect will be used. By default, this is empty
+F03 dialect will be used. By default, this is empty.
</para>
</listitem>
</varlistentry>
@@ -1884,7 +1903,7 @@ If not set, then &cv-link-F08COM; or &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the F08 dialect will be used. By
-default, this is ['.f08']
+default, this is <literal>['.f08']</literal>
</para>
</listitem>
</varlistentry>
@@ -2022,7 +2041,7 @@ If not set, then &cv-link-F08PPCOM; or &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-F08 dialect will be used. By default, this is empty
+F08 dialect will be used. By default, this is empty.
</para>
</listitem>
</varlistentry>
@@ -2072,7 +2091,7 @@ If not set, then &cv-link-F77COM; or &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the F77 dialect will be used. By
-default, this is ['.f77']
+default, this is <literal>['.f77']</literal>
</para>
</listitem>
</varlistentry>
@@ -2210,7 +2229,7 @@ If not set, then &cv-link-F77PPCOM; or &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-F77 dialect will be used. By default, this is empty
+F77 dialect will be used. By default, this is empty.
</para>
</listitem>
</varlistentry>
@@ -2260,7 +2279,7 @@ If not set, then &cv-link-F90COM; or &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the F90 dialect will be used. By
-default, this is ['.f90']
+default, this is <literal>['.f90']</literal>
</para>
</listitem>
</varlistentry>
@@ -2397,7 +2416,7 @@ If not set, then &cv-link-F90PPCOM; or &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-F90 dialect will be used. By default, this is empty
+F90 dialect will be used. By default, this is empty.
</para>
</listitem>
</varlistentry>
@@ -2447,7 +2466,7 @@ If not set, then &cv-link-F95COM; or &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the F95 dialect will be used. By
-default, this is ['.f95']
+default, this is <literal>['.f95']</literal>
</para>
</listitem>
</varlistentry>
@@ -2585,7 +2604,7 @@ If not set, then &cv-link-F95PPCOM; or &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-F95 dialect will be used. By default, this is empty
+F95 dialect will be used. By default, this is empty.
</para>
</listitem>
</varlistentry>
@@ -2643,7 +2662,7 @@ If not set, then &cv-link-FORTRANCOM;
</term>
<listitem><para>
The list of file extensions for which the FORTRAN dialect will be used. By
-default, this is ['.f', '.for', '.ftn']
+default, this is <literal>['.f', '.for', '.ftn']</literal>
</para>
</listitem>
</varlistentry>
@@ -2859,7 +2878,7 @@ If not set, then &cv-link-FORTRANPPCOM;
</term>
<listitem><para>
The list of file extensions for which the compilation + preprocessor pass for
-FORTRAN dialect will be used. By default, this is ['.fpp', '.FPP']
+FORTRAN dialect will be used. By default, this is <literal>['.fpp', '.FPP']</literal>
</para>
</listitem>
</varlistentry>
@@ -3046,7 +3065,7 @@ is <quote><literal>-dNOPAUSE -dBATCH -sDEVICE=pdfwrite</literal></quote>
Currently only set for Win32.
</para>
<para>
-Sets the host architecture for Visual Studio compiler. If not set,
+Sets the host architecture for the Visual C++ 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()
@@ -4589,7 +4608,7 @@ will be compiled separately.
<envar>MSVC_USE_SCRIPT</envar>
</term>
<listitem><para>
-Use a batch script to set up Microsoft Visual Studio compiler.
+Use a batch script to set up the Microsoft Visual C++ compiler.
</para>
<para>
@@ -4608,7 +4627,7 @@ This can be useful to force the use of a compiler version that
Setting
&cv-MSVC_USE_SCRIPT; to <constant>None</constant> bypasses the
Visual Studio autodetection entirely;
-use this if you are running SCons in a Visual Studio cmd
+use this if you are running SCons in a Visual Studio <command>cmd</command>
window and importing the shell's environment variables - that
is, if you are sure everything is set correctly already and
you don't want &SCons; to change anything.
@@ -4627,8 +4646,8 @@ Build libraries for a Universal Windows Platform (UWP) Application.
</para>
<para>
-If &cv-MSVC_UWP_APP; is set, the Visual Studio environment will be set up to point
-to the Windows Store compatible libraries and Visual Studio runtimes. In doing so,
+If &cv-MSVC_UWP_APP; is set, the Visual C++ environment will be set up to point
+to the Windows Store compatible libraries and Visual C++ runtimes. In doing so,
any libraries that are built will be able to be used in a UWP App and published
to the Windows Store.
This flag will only have an effect with Visual Studio 2015 or later.
@@ -4654,7 +4673,7 @@ Sets the preferred version of Microsoft Visual C/C++ to use.
If &cv-MSVC_VERSION; 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()
+This variable must be passed as an argument to the &f-link-Environment;
constructor; setting it later has no effect.
</para>
@@ -5129,27 +5148,13 @@ placed if applicable. The default value is "$NAME-$VERSION".
<envar>PACKAGETYPE</envar>
</term>
<listitem><para>
-Selects the package type to build. Currently these are available:
+Selects the package type to build when using the &b-link-Package;
+builder. May be a string or list of strings. See the docuentation
+for the builder for the currently supported types.
</para>
-<blockquote>
-<simplelist type="vert" columns="1">
-<member><literal>msi</literal> - Microsoft Installer</member>
-<member><literal>rpm</literal> - RPM Package Manger</member>
-<member><literal>ipkg</literal> - Itsy Package Management System</member>
-<member><literal>tarbz2</literal> - bzip2 compressed tar</member>
-<member><literal>targz</literal> - gzip compressed tar</member>
-<member><literal>tarxz</literal> - xz compressed tar</member>
-<member><literal>zip</literal> - zip file</member>
-<member><literal>src_tarbz2</literal> - bzip2 compressed tar source</member>
-<member><literal>src_targz</literal> - gzip compressed tar source</member>
-<member><literal>src_tarxz</literal> - xz compressed tar source</member>
-<member><literal>src_zip</literal> - zip file source</member>
-</simplelist>
-</blockquote>
-
<para>
-This may be overridden with the <option>package_type</option>
+&cv-PACKAGETYPE; may be overridden with the <option>--package-type</option>
command line option.
</para>
</listitem>
@@ -5191,7 +5196,7 @@ env['PCH'] = 'StdAfx.pch'
</term>
<listitem><para>
The command line used by the
-&b-PCH;
+&b-link-PCH;
builder to generated a precompiled header.
</para>
</listitem>
@@ -5212,8 +5217,8 @@ If this is not set, then &cv-link-PCHCOM; (the command line) is displayed.
</term>
<listitem><para>
A construction variable that, when expanded,
-adds the <literal>/yD</literal> flag to the command line
-only if the &cv-PDB; construction variable is set.
+adds the <option>/yD</option> flag to the command line
+only if the &cv-link-PDB; construction variable is set.
</para>
</listitem>
</varlistentry>
@@ -6056,9 +6061,9 @@ for specifying directories to be searched
by the resource compiler.
The value of &cv-RCINCFLAGS; is created
by respectively prepending and appending
-&cv-RCINCPREFIX; and &cv-RCINCSUFFIX;
+&cv-link-RCINCPREFIX; and &cv-link-RCINCSUFFIX;
to the beginning and end
-of each directory in &cv-CPPPATH;.
+of each directory in &cv-link-CPPPATH;.
</para>
</listitem>
</varlistentry>
@@ -6070,8 +6075,8 @@ of each directory in &cv-CPPPATH;.
The prefix (flag) used to specify an include directory
on the resource compiler command line.
This will be prepended to the beginning of each directory
-in the &cv-CPPPATH; construction variable
-when the &cv-RCINCFLAGS; variable is expanded.
+in the &cv-link-CPPPATH; construction variable
+when the &cv-link-RCINCFLAGS; variable is expanded.
</para>
</listitem>
</varlistentry>
@@ -6083,8 +6088,8 @@ when the &cv-RCINCFLAGS; variable is expanded.
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 &cv-CPPPATH; construction variable
-when the &cv-RCINCFLAGS; variable is expanded.
+in the &cv-link-CPPPATH; construction variable
+when the &cv-link-RCINCFLAGS; variable is expanded.
</para>
</listitem>
</varlistentry>
@@ -6498,21 +6503,14 @@ See also &cv-link-DCOMSTR; for compiling to static objects.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-SHDLIBVERSION">
- <term>
- <envar>SHDLIBVERSION</envar>
- </term>
- <listitem><para>
-SHDLIBVERSION.
-</para>
-</listitem>
- </varlistentry>
<varlistentry id="cv-SHDLIBVERSIONFLAGS">
<term>
<envar>SHDLIBVERSIONFLAGS</envar>
</term>
<listitem><para>
-SHDLIBVERSIONFLAGS.
+Extra flags added to &cv-link-SHDLINKCOM; when building versioned
+&b-link-SharedLibrary;. These flags are only used when &cv-link-SHLIBVERSION; is
+set.
</para>
</listitem>
</varlistentry>
@@ -7292,6 +7290,25 @@ for more information).
</para>
</listitem>
</varlistentry>
+ <varlistentry id="cv-SOVERSION">
+ <term>
+ <envar>SOVERSION</envar>
+ </term>
+ <listitem><para>
+This will construct the <varname>SONAME</varname> using on the base library name
+(<parameter>test</parameter> in the example below) and use specified <varname>SOVERSION</varname>
+to create <varname>SONAME</varname>.
+<example_commands>
+env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SOVERSION='2')
+</example_commands>
+The variable is used, for example, by &t-link-gnulink; linker tool.
+</para>
+<para>
+In the example above <varname>SONAME</varname> would be <filename>libtest.so.2</filename>
+which would be a symlink and point to <filename>libtest.so.0.1.2</filename>
+</para>
+</listitem>
+ </varlistentry>
<varlistentry id="cv-SPAWN">
<term>
<envar>SPAWN</envar>
@@ -7672,7 +7689,7 @@ for more information).
Currently only set for Win32.
</para>
<para>
-Sets the target architecture for Visual Studio compiler (i.e. the arch
+Sets the target architecture for the Visual C++ compiler (i.e. the arch
of the binaries generated by the compiler). If not set, default to
&cv-link-HOST_ARCH;, or, if that is unset, to the architecture of the
running machine's OS (note that the python build or architecture has no
@@ -7699,8 +7716,8 @@ for 32-bit targets and
and <literal>ia64</literal> (Itanium)
for 64-bit targets.
Note that not all target architectures are
-supported for all Visual Studio / MSVC versions
-check the relevant Microsoft documentation.
+supported for all Visual Studio / MSVC versions.
+Check the relevant Microsoft documentation.
</para>
<para>
diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod
index 4ef5e88..56b1d52 100644
--- a/doc/generated/variables.mod
+++ b/doc/generated/variables.mod
@@ -47,6 +47,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-CHANGED_TARGETS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$CHANGED_TARGETS</envar>">
<!ENTITY cv-CHANGELOG "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$CHANGELOG</envar>">
<!ENTITY cv-COMPILATIONDB_COMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$COMPILATIONDB_COMSTR</envar>">
+<!ENTITY cv-COMPILATIONDB_PATH_FILTER "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$COMPILATIONDB_PATH_FILTER</envar>">
<!ENTITY cv-COMPILATIONDB_USE_ABSPATH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$COMPILATIONDB_USE_ABSPATH</envar>">
<!ENTITY cv-_concat "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_concat</envar>">
<!ENTITY cv-CONFIGUREDIR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$CONFIGUREDIR</envar>">
@@ -118,7 +119,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-DPATH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DPATH</envar>">
<!ENTITY cv-DRPATHPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DRPATHPREFIX</envar>">
<!ENTITY cv-DRPATHSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DRPATHSUFFIX</envar>">
-<!ENTITY cv-DShLibSonameGenerator "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DShLibSonameGenerator</envar>">
<!ENTITY cv-DSUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DSUFFIXES</envar>">
<!ENTITY cv-DVERPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DVERPREFIX</envar>">
<!ENTITY cv-DVERSIONS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DVERSIONS</envar>">
@@ -461,7 +461,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-SHDC "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDC</envar>">
<!ENTITY cv-SHDCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDCOM</envar>">
<!ENTITY cv-SHDCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDCOMSTR</envar>">
-<!ENTITY cv-SHDLIBVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDLIBVERSION</envar>">
<!ENTITY cv-SHDLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDLIBVERSIONFLAGS</envar>">
<!ENTITY cv-SHDLINK "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDLINK</envar>">
<!ENTITY cv-SHDLINKCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHDLINKCOM</envar>">
@@ -521,6 +520,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-SOURCE "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCE</envar>">
<!ENTITY cv-SOURCE_URL "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCE_URL</envar>">
<!ENTITY cv-SOURCES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOURCES</envar>">
+<!ENTITY cv-SOVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SOVERSION</envar>">
<!ENTITY cv-SPAWN "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SPAWN</envar>">
<!ENTITY cv-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME</envar>">
<!ENTITY cv-SUBST_DICT "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SUBST_DICT</envar>">
@@ -690,6 +690,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-CHANGED_TARGETS "<link linkend='cv-CHANGED_TARGETS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$CHANGED_TARGETS</envar></link>">
<!ENTITY cv-link-CHANGELOG "<link linkend='cv-CHANGELOG' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$CHANGELOG</envar></link>">
<!ENTITY cv-link-COMPILATIONDB_COMSTR "<link linkend='cv-COMPILATIONDB_COMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$COMPILATIONDB_COMSTR</envar></link>">
+<!ENTITY cv-link-COMPILATIONDB_PATH_FILTER "<link linkend='cv-COMPILATIONDB_PATH_FILTER' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$COMPILATIONDB_PATH_FILTER</envar></link>">
<!ENTITY cv-link-COMPILATIONDB_USE_ABSPATH "<link linkend='cv-COMPILATIONDB_USE_ABSPATH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$COMPILATIONDB_USE_ABSPATH</envar></link>">
<!ENTITY cv-link-_concat "<link linkend='cv-_concat' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_concat</envar></link>">
<!ENTITY cv-link-CONFIGUREDIR "<link linkend='cv-CONFIGUREDIR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$CONFIGUREDIR</envar></link>">
@@ -761,7 +762,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-DPATH "<link linkend='cv-DPATH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DPATH</envar></link>">
<!ENTITY cv-link-DRPATHPREFIX "<link linkend='cv-DRPATHPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DRPATHPREFIX</envar></link>">
<!ENTITY cv-link-DRPATHSUFFIX "<link linkend='cv-DRPATHSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DRPATHSUFFIX</envar></link>">
-<!ENTITY cv-link-DShLibSonameGenerator "<link linkend='cv-DShLibSonameGenerator' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DShLibSonameGenerator</envar></link>">
<!ENTITY cv-link-DSUFFIXES "<link linkend='cv-DSUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DSUFFIXES</envar></link>">
<!ENTITY cv-link-DVERPREFIX "<link linkend='cv-DVERPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DVERPREFIX</envar></link>">
<!ENTITY cv-link-DVERSIONS "<link linkend='cv-DVERSIONS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DVERSIONS</envar></link>">
@@ -1104,7 +1104,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-SHDC "<link linkend='cv-SHDC' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDC</envar></link>">
<!ENTITY cv-link-SHDCOM "<link linkend='cv-SHDCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDCOM</envar></link>">
<!ENTITY cv-link-SHDCOMSTR "<link linkend='cv-SHDCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDCOMSTR</envar></link>">
-<!ENTITY cv-link-SHDLIBVERSION "<link linkend='cv-SHDLIBVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDLIBVERSION</envar></link>">
<!ENTITY cv-link-SHDLIBVERSIONFLAGS "<link linkend='cv-SHDLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDLIBVERSIONFLAGS</envar></link>">
<!ENTITY cv-link-SHDLINK "<link linkend='cv-SHDLINK' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDLINK</envar></link>">
<!ENTITY cv-link-SHDLINKCOM "<link linkend='cv-SHDLINKCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHDLINKCOM</envar></link>">
@@ -1164,6 +1163,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-SOURCE "<link linkend='cv-SOURCE' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCE</envar></link>">
<!ENTITY cv-link-SOURCE_URL "<link linkend='cv-SOURCE_URL' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCE_URL</envar></link>">
<!ENTITY cv-link-SOURCES "<link linkend='cv-SOURCES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOURCES</envar></link>">
+<!ENTITY cv-link-SOVERSION "<link linkend='cv-SOVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SOVERSION</envar></link>">
<!ENTITY cv-link-SPAWN "<link linkend='cv-SPAWN' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SPAWN</envar></link>">
<!ENTITY cv-link-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME "<link linkend='cv-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME</envar></link>">
<!ENTITY cv-link-SUBST_DICT "<link linkend='cv-SUBST_DICT' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SUBST_DICT</envar></link>">