summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Action.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Action.xml')
-rw-r--r--src/engine/SCons/Action.xml102
1 files changed, 60 insertions, 42 deletions
diff --git a/src/engine/SCons/Action.xml b/src/engine/SCons/Action.xml
index 350082d..b519cdc 100644
--- a/src/engine/SCons/Action.xml
+++ b/src/engine/SCons/Action.xml
@@ -35,70 +35,88 @@ executed to build targets.
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.
+represented by the first argument of any
+command line it executes (which is typically
+the command itself). By setting such
+a dependency, &SCons; can determine that
+a target should be rebuilt if the command changes,
+such as when a compiler is upgraded to a new version.
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.
+<varname>ENV</varname> dictionary
+in the &consenv; used to execute the command.
+The default is the same as
+setting the &consvar;
+&cv-IMPLICIT_COMMAND_DEPENDENCIES;
+to a True-like value (<quote>true</quote>,
+<quote>yes</quote>,
+or <quote>1</quote> - but not a number
+greater than one, as that has a different meaning).
</para>
<para>
-If the construction variable
-&cv-IMPLICIT_COMMAND_DEPENDENCIES;
-is set to a false value
-(<literal>None</literal>,
-<literal>False</literal>,
-<literal>0</literal>,
+Action strings can be segmented by the
+use of an AND operator, <literal>&amp;&amp;</literal>.
+In a segemented string, each segment is a separate
+<quote>command line</quote>, these are run
+sequentially until one fails or the entire
+sequence has been executed. If an
+action string is segmented, then the selected
+behavior of &cv-IMPLICIT_COMMAND_DEPENDENCIES;
+is applied to each segment.
+</para>
+
+<para>
+If &cv-IMPLICIT_COMMAND_DEPENDENCIES;
+is set to a False-like value
+(<quote>none</quote>,
+<quote>false</quote>,
+<quote>no</quote>,
+<quote>0</quote>,
etc.),
then the implicit dependency will
not be added to the targets
-built with that construction environment.
+built with that &consenv;.
</para>
<para>
-If the construction variable
-&cv-IMPLICIT_COMMAND_DEPENDENCIES;
-is set to <literal>2</literal> or higher,
-then that number of entries in the command
-string will be scanned for relative or absolute
-paths. The count will reset after any
-<literal>&amp;&amp;</literal> entries are found.
-The first command in the action string and
-the first after any <literal>&amp;&amp;</literal>
-entries will be found by searching the
-<varname>PATH</varname> variable in the
-<varname>ENV</varname> environment used to
-execute the command. All other commands will
-only be found if they are absolute paths or
-valid paths relative to the working directory.
+If &cv-IMPLICIT_COMMAND_DEPENDENCIES;
+is set to <quote>2</quote> or higher,
+then that number of arguments in the command line
+will be scanned for relative or absolute paths.
+If any are present, they will be added as
+implicit dependencies to the targets built
+with that &consenv;.
+The first argument in the command line will be
+searched for using the <varname>PATH</varname>
+variable in the <varname>ENV</varname> dictionary
+in the &consenv; used to execute the command.
+The other arguments will only be found if they
+are absolute paths or valid paths relative
+to the working directory.
</para>
<para>
-If the construction variable
-&cv-IMPLICIT_COMMAND_DEPENDENCIES;
-is set to <literal>all</literal>, then
-all entries in all command strings will be
-scanned for relative or absolute paths. If
-any are present, they will be added as
+If &cv-IMPLICIT_COMMAND_DEPENDENCIES;
+is set to <quote>all</quote>,
+then all arguments in the command line will be
+scanned for relative or absolute paths.
+If any are present, they will be added as
implicit dependencies to the targets built
-with that construction environment.
-not be added to the targets built with that
-construction environment. The first command
-in the action string and the first after any
-<literal>&amp;&amp;</literal> entries will be found
-by searching the <varname>PATH</varname>
-variable in the <varname>ENV</varname>
-environment used to execute the command.
-All other commands will only be found if they
+with that &consenv;.
+The first argument in the command line will be
+searched for using the <varname>PATH</varname>
+variable in the <varname>ENV</varname> dictionary
+in the &consenv; used to execute the command.
+The other arguments will only be found if they
are absolute paths or valid paths relative
to the working directory.
</para>
<example_commands>
-env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0)
+env = Environment(IMPLICIT_COMMAND_DEPENDENCIES=False)
</example_commands>
</summary>
</cvar>