diff options
author | William Deegan <bill@baddogconsulting.com> | 2021-05-06 22:25:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-06 22:25:52 (GMT) |
commit | a323766ade4bd824bece085455d917b006675b3a (patch) | |
tree | 3cbaae2ff23c099cce95e50029b84ba67dab1ad4 | |
parent | 0dacb1fb2de5d85094e6c4eed32352caf01c0a84 (diff) | |
parent | 6ea0fd425435ef05a707f7d4c7d9047161fcc3c6 (diff) | |
download | SCons-a323766ade4bd824bece085455d917b006675b3a.zip SCons-a323766ade4bd824bece085455d917b006675b3a.tar.gz SCons-a323766ade4bd824bece085455d917b006675b3a.tar.bz2 |
Merge branch 'master' into imports
-rwxr-xr-x | CHANGES.txt | 1 | ||||
-rw-r--r-- | SCons/Node/Python.py | 7 | ||||
-rw-r--r-- | doc/man/scons.xml | 24 | ||||
-rwxr-xr-x | runtest.py | 9 |
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 @@ -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) |