summaryrefslogtreecommitdiff
path: root/doc/user/depends.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/depends.xml')
-rw-r--r--doc/user/depends.xml179
1 files changed, 1 insertions, 178 deletions
diff --git a/doc/user/depends.xml b/doc/user/depends.xml
index bb0a142..96a8685 100644
--- a/doc/user/depends.xml
+++ b/doc/user/depends.xml
@@ -764,185 +764,8 @@ int main() { printf("Hello, world!\n"); }
encounter them in older &SConscript; files.
</para>
-
- <section>
- <title>The &SourceSignatures; Function</title>
-
- <para>
-
- The &SourceSignatures; function is fairly straightforward,
- and supports two different argument values
- to configure whether source file changes should be decided
- using MD5 signatures:
-
- </para>
-
- <sconstruct>
-Program('hello.c')
-SourceSignatures('MD5')
- </sconstruct>
-
- <para>
-
- Or using time stamps:
-
- </para>
-
- <sconstruct>
-Program('hello.c')
-SourceSignatures('timestamp')
- </sconstruct>
-
- <para>
-
- These are roughly equivalent to specifying
- <function>Decider('MD5')</function>
- or
- <function>Decider('timestamp-match')</function>,
- respectively,
- although it only affects how SCons makes
- decisions about dependencies on
- <emphasis>source</emphasis> files--that is,
- files that are not built from any other files.
-
- </para>
-
- </section>
-
- <section>
- <title>The &TargetSignatures; Function</title>
-
- <para>
-
- The &TargetSignatures; function
- specifies how &SCons; decides
- when a target file has changed
- <emphasis>when it is used as a
- dependency of (input to) another target</emphasis>--that is,
- the &TargetSignatures; function configures
- how the signatures of "intermediate" target files
- are used when deciding if a "downstream" target file
- must be rebuilt.
- <footnote><para>
- This easily-overlooked distinction between
- how &SCons; decides if the target itself must be rebuilt
- and how the target is then used to decide if a different
- target must be rebuilt is one of the confusing
- things that has led to the &TargetSignatures;
- and &SourceSignatures; functions being
- replaced by the simpler &Decider; function.
- </para></footnote>
-
- </para>
-
- <para>
-
- The &TargetSignatures; function supports the same
- <literal>'MD5'</literal> and <literal>'timestamp'</literal>
- argument values that are supported by the &SourceSignatures;,
- with the same meanings, but applied to target files.
- That is, in the example:
-
- </para>
-
- <sconstruct>
-Program('hello.c')
-TargetSignatures('MD5')
- </sconstruct>
-
- <para>
-
- The MD5 checksum of the &hello_o; target file
- will be used to decide if it has changed since the last
- time the "downstream" &hello; target file was built.
- And in the example:
-
- </para>
-
- <sconstruct>
-Program('hello.c')
-TargetSignatures('timestamp')
- </sconstruct>
-
- <para>
-
- The modification time of the &hello_o; target file
- will be used to decide if it has changed since the last
- time the "downstream" &hello; target file was built.
-
- </para>
-
- <para>
-
- The &TargetSignatures; function supports
- two additional argument values:
- <literal>'source'</literal> and <literal>'build'</literal>.
- The <literal>'source'</literal> argument
- specifies that decisions involving
- whether target files have changed
- since a previous build
- should use the same behavior
- for the decisions configured for source files
- (using the &SourceSignatures; function).
- So in the example:
-
- </para>
-
- <sconstruct>
-Program('hello.c')
-TargetSignatures('source')
-SourceSignatures('timestamp')
- </sconstruct>
-
- <para>
-
- All files, both targets and sources,
- will use modification times
- when deciding if an input file
- has changed since the last
- time a target was built.
-
- </para>
-
- <para>
-
- Lastly, the <literal>'build'</literal> argument
- specifies that &SCons; should examine
- the build status of a target file
- and always rebuild a "downstream" target
- if the target file was itself rebuilt,
- without re-examining the contents or timestamp
- of the newly-built target file.
- If the target file was not rebuilt during
- this &scons; invocation,
- then the target file will be examined
- the same way as configured by
- the &SourceSignature; call
- to decide if it has changed.
-
- </para>
-
- <para>
-
- This mimics the behavior of
- <literal>build signatures</literal>
- in earlier versions of &SCons;.
- A &buildsignature; re-combined
- signatures of all the input files
- that went into making the target file,
- so that the target file itself
- did not need to have its contents read
- to compute an MD5 signature.
- This can improve performance for some configurations,
- but is generally not as effective as using
- <literal>Decider('MD5-timestamp')</literal>.
-
- </para>
-
- </section>
-
</section>
-
+
<section>
<title>Implicit Dependencies: The &cv-CPPPATH; Construction Variable</title>