summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2021-05-06 22:25:52 (GMT)
committerGitHub <noreply@github.com>2021-05-06 22:25:52 (GMT)
commita323766ade4bd824bece085455d917b006675b3a (patch)
tree3cbaae2ff23c099cce95e50029b84ba67dab1ad4
parent0dacb1fb2de5d85094e6c4eed32352caf01c0a84 (diff)
parent6ea0fd425435ef05a707f7d4c7d9047161fcc3c6 (diff)
downloadSCons-a323766ade4bd824bece085455d917b006675b3a.zip
SCons-a323766ade4bd824bece085455d917b006675b3a.tar.gz
SCons-a323766ade4bd824bece085455d917b006675b3a.tar.bz2
Merge branch 'master' into imports
-rwxr-xr-xCHANGES.txt1
-rw-r--r--SCons/Node/Python.py7
-rw-r--r--doc/man/scons.xml24
-rwxr-xr-xruntest.py9
4 files changed, 18 insertions, 23 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index d7765d6..ff4ae28 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -92,6 +92,7 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER
- Maintenance: remove unneeded imports and reorganize some. Fix uses
of warnings in some tools which instantiated the class but did nothing
with them, need to instead call SCons.Warnings.warn with the warn class.
+ - Drop overridden changed_since_last_build method in Value class.
From Dillan Mills:
- Add support for the (TARGET,SOURCE,TARGETS,SOURCES,CHANGED_TARGETS,CHANGED_SOURCES}.relpath property.
diff --git a/SCons/Node/Python.py b/SCons/Node/Python.py
index 738682c..c6850ab 100644
--- a/SCons/Node/Python.py
+++ b/SCons/Node/Python.py
@@ -146,13 +146,6 @@ class Value(SCons.Node.Node):
"""Get contents for signature calculations."""
return self.get_text_contents().encode()
- def changed_since_last_build(self, target, prev_ni):
- cur_csig = self.get_csig()
- try:
- return cur_csig != prev_ni.csig
- except AttributeError:
- return True
-
def get_csig(self, calc=None):
"""Because we're a Python value node and don't have a real
timestamp, we get to ignore the calculator and just use the
diff --git a/doc/man/scons.xml b/doc/man/scons.xml
index c34e7b1..0fba467 100644
--- a/doc/man/scons.xml
+++ b/doc/man/scons.xml
@@ -105,6 +105,7 @@ component pieces must be built or rebuilt and invoking the necessary
commands to build them.
&SCons; offers many features to improve developer productivity
such as parallel builds, caching of build artifacts,
+automatic dependency scanning,
and a database of information about previous builds so
details do not have to be recalculated each run.
</para>
@@ -123,7 +124,7 @@ build system by writing a script
that describes things to build (<firstterm>targets</firstterm>), and,
if necessary, the rules to build those files (<firstterm>actions</firstterm>).
&SCons; comes with a collection of <firstterm>Builder</firstterm> methods
-which apply premade rules for building many common software components
+which apply premade actions for building many common software components
such as executable programs, object files and libraries,
so that for many software projects,
only the targets and input files (<firstterm>sources</firstterm>)
@@ -131,7 +132,7 @@ need be specified in a call to a builder.
&scons; thus can operate at a level of abstraction above that of pure files.
For example if you specify a library target named "foo",
&scons; keeps track of the actual operating system dependent filename
-(for example <filename>libfoo.so</filename> on a GNU/Linux system),
+(such as <filename>libfoo.so</filename> on a GNU/Linux system),
and how to refer to that library in later construction steps
that want to use it, so you don't have to specify that precise
information yourself.
@@ -146,7 +147,7 @@ looks for a file named
&SConstruct;
in the current directory and reads the
build configuration from that file
-(other names are possible,
+(other names are allowed,
see <xref linkend="sconscript_files"/> for more information).
The &SConstruct;
file may specify subsidiary
@@ -158,7 +159,7 @@ these subsidiary files are named
although any name may be used.
As a result of this naming convention,
the term <firstterm>SConscript files</firstterm>
-is often used to refer
+is used to refer
generically to the complete set of
configuration files for a project
(including the &SConstruct; file),
@@ -292,14 +293,14 @@ integration setups.
</para>
<para>&scons;
-can scan known input files automatically for dependency
+can scan known input file types automatically for dependency
information (for example, <literal>#include</literal>
preprocessor directives in C or C++ files)
and will rebuild dependent files appropriately
whenever any "included" input file changes.
&scons;
supports the
-ability to define new scanners for unknown input file types.</para>
+ability to define new scanners to support additional input file types.</para>
<para>&scons;
is normally executed in a top-level directory containing an
@@ -309,9 +310,7 @@ the command line (including the contents of the
<link linkend="v-SCONSFLAGS">&SCONSFLAGS;</link>
environment variable, if set) is processed.
Command-line options (see <xref linkend="options"/>) are consumed.
-Any variable argument assignments
-(see <xref linkend="commandline_construction_variables"/>)
-are collected, and
+Any variable argument assignments are collected, and
remaining arguments are taken as targets to build.</para>
<para>Values of variables to be passed to the SConscript files
@@ -341,6 +340,11 @@ if necessary. Each &ARGLIST; entry is a tuple containing
(<replaceable>argname</replaceable>, <replaceable>argvalue</replaceable>).
</para>
+<para>
+See <xref linkend="commandline_construction_variables"/>
+for more information.
+</para>
+
<para>&scons;
can maintain a cache of target (derived) files that can
be shared between multiple builds. When derived-file caching is enabled in an
@@ -429,7 +433,7 @@ and are made available in the
</listitem>
<listitem>
<para>
-If there are no targets from the previous steps,
+If no targets are selected by the previous steps,
&scons; selects the current directory for scanning,
unless command-line options which affect the target
scan are detected
diff --git a/runtest.py b/runtest.py
index 9e7cb2c..69b3a61 100755
--- a/runtest.py
+++ b/runtest.py
@@ -199,11 +199,8 @@ if args.short_progress:
suppress_output = catch_output = True
if args.debug:
- for d in sys.path:
- pdb = os.path.join(d, 'pdb.py')
- if os.path.exists(pdb):
- debug = pdb
- break
+ # TODO: add a way to pass a specific debugger
+ debug = "pdb"
if args.exec:
scons = args.exec
@@ -710,7 +707,7 @@ def run_test(t, io_lock=None, run_async=True):
t.headline = ""
command_args = []
if debug:
- command_args.append(debug)
+ command_args.extend(['-m', debug])
if args.devmode and sys.version_info >= (3, 7, 0):
command_args.append('-X dev')
command_args.append(t.path)