| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Override the _process_short_opts method from optparse so it behaves
better. This fix is lifted directly from #3799, leaving an additional
part to apply later.
Fixes #3798
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The optparse add_option method supports an additional calling style
that is not directly described in SCons docs, but is included
by reference ("see the optparse documentation for details"):
it takes a single arg consisting of a premade option object.
Because the optparse code detects that case based on seeing zero
kwargs, and we always add at least one (default=) that would fail
for AddOption. Fix for consistency, but don't advertise it further:
not addewd to manpage synoposis/description.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Indicate more clearly (for the API docs) that something is an SCons
addition/modification, since that doc shows members inherited from the
optparse class - this was always easier to tell in the code than in the doc.
A few other minor rearrangements and comments and a few type annotations.
Does not change any behavior.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
| |
Also change the build matrix on AppVeyor so we can hopefully get to a pass.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AddOption and the internal add_local_option which AddOption calls now
recognize a "settable" keyword argument to indicate a project-added
option can also be modified using SetOption.
There was a TODO in SCons/Script/SConsOptions.py about removing
three hardcoded ninja options in the "settable" list once this
change was made. When that was done it turned out one test failed,
because it called the SetOption before the ninja tool was initialized.
Logic reordered in the test, but this is a thing to watch out for.
Closes #3983.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added docstrings on warning classes and module docstring.
* Move globals to top of file.
* Typing.
* Dropped DeprecatedSourceCodeWarning, last use was removed, with the
feature, for SCons 3.1.2.
* Dropped TaskmasterNeedsExecuteWarning, now enforced by Python via an
abstract base class (unused/unneeded since 4.0.0).
* Dropped DeprecatedMissingSConscriptWarning. This was a transitional
warning, no longer needed; can use MissingSConscriptWarning, which
also is no longer used but is left in in case it might be useful.
* Two in-use warnings added to manpage section on enabling warnings
(cache-cleanup-error, future-reserved-variable).
* Improve unittest a bit.
* Sphinx build set not to show inherited memerber for Warnings -
got ugly exception stuff otherwise.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An additional keyword argument, "local_only", is now recorgnized
by Help(). If true, and "append" is True, then only project-defined
help messages are saved into the help text. That is, save help added
by calls to AddOption, but not SCons' own help, which is added
a different way.
Fixes #2356
Fixes #3686
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use: https://github.com/JelleZijlstra/autotyping
to add "safe" return annotations.
Where a parameter has a default value that is an obvious scalar type
(bool, int, str, etc.) add those annotations as well.
Also fixed two small bugs that popped up when sanity-checking with
mypy. One in FortranCommon, where a return had been previously
annotated to be a tuple of Action, which should be ActionBase -
Action is the factory function, not the base class. The other was
a typo in the error raised in _add_cppdefines - the message was
formatted with the value of "define" which should have been "defines".
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/
|
|
| |
scons_stats.json in invocation directory
|
|
|
|
| |
SetOption('diskcheck','none') has been working all along. Also refactored the DiskChecker class to have more meaningful properties and not shadow default python objects (list, dir)..
|
|
|
|
| |
ParallelJob implementation. WHich should scale much better for highly parallel builds
|
| |
|
|
|
|
| |
select either have ValidateOptions() issue error message and exit,or throw an exception and then you can handle it your own way. per dmoody's sugguestion
|
| |
|
| |
|
|
|
|
|
|
|
| |
Drop the previous change to join lines even if the option part
overflows its gutter.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Processing changed a bit - some lines can now be joined instead of
split (if the usage part is short so the combination will still fit).
Dropped the "Ingored for compatibility" chunk from the printout.
The usage: message was changed as it didn't mention variables. A number
of tests expected the exact value of that line, and so were updated.
Updated docstrings (for the API docs).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Twiddled the way the experimental option is described,
and listed ninja as the available feature.
Also reformatted the exception call in the code for unknown feature,
behavior was not changed.
Essentially, this is a doc-only change.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ |
|
| |
| |
| |
| |
| |
| | |
The SetOption table in the docs is reformatted for easier editing.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
chat discussion: this should work to not use a site_dir:
$ export SCONSFLAGS=--site-dir=foo
$ scons --no-site-dir
Commit changes the two options to write to the same variable,
so "last one on command line wins" works out. Added a test for
this to test/site_scons/site-dir.py.
Manpage updated to clarify the order of considering SCONSFLAGS,
since order does matter.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
Just to be safe, make a new list since we took a
reference to the original.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases, added a __contains__ method instead,
not because it necessarily was needed, but for completeness.
Also one completely unrelated change because it happened to
be sitting modified in the tree when I committed modified files:
be a little more cautious about building CHECK_METHODS in
our subclassing of the optparse Option class... current
cpython starts it at None, then fills it in, so it shouldn't
be None when we subclass.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A line is now emitted showing sconsign sync time if --debug=time
Some calls to time.time replaced with time.perf_counter, where the
objective was to time sections of code (i.e. where there wasn't
an actual need to get time-since-epoch) - Python recommends this
as getting the best-available timer.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| |
| |
| |
| | |
1. Fix failure finding UserError.
2. Fix bad string formatting.
3. Add test case covering passing an invalid hash format.
4. Remove blake2b, as I haven't tested it. We can add it some day if people want it.
|
| |
| |
| |
| | |
Only thing left is to pick a hash format based on the sconsign database name.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
gettext is always present now, so extra steps not needed.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Touches the first and second levels of SCons (except SCons.Tool),
not tests or docs which remain TODO.
Make sure docstring is first non-comment content, eliminate cases where
docstring is set elsewhere but assigns to __doc__ - this approach of
course worked inside Python, but confuses various tools.
Some module-level docstrings modified a bit, in particular
the convention of having the name of the module as the first line
is dropped, replaced by a summary description going there instead -
this improves the look in the API Docs, which otherwise display
something like:
SCons.Foo - SCons.Foo
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |\
| | |
| | | |
Align SetOption doc with settable options list
|
| | |
| | |
| | |
| | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
List is recast into a table for readability.
Comments in both places remind to keep lists in sync.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|