| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
One of the implemented rules is:
> A compound adjective usually gets a hyphen when it comes before a
> noun.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
For now, want to keep the "key=value, ..." form for Functions/Method
signatures instead of using **kwargs, since that terminology hasn't
been introduced. May switch signatures later, but if so, do them all,
let's not be piecemeal.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
| |
There are no code changes.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
| |
Consistent use of &Python; entity.
Add something on Configure + variantdir.
Also some docstrings.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ |
|
|/
|
|
|
|
|
|
|
|
|
| |
* Beef up _stripixes unittests
* rename LIBLITERAL to LIBLITERALPREFIX
* Initialize in Platform code, takes an error if not set when
StringSubber.expand() is called with a string containing LIBLITERALPREFIX
* Fix some bad typing markup.
* Add docs
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two separate topics, combined for convenince.
* use consistent wording for version-added: "New in" rather than "Added in"
to match the sphinx :versionadded: macro.
* Tweak wording around DefaultEnvironment, both manpage and docstring.
Some "nearby" docstrings in SCons/Defaults.py also got some markup
improvements.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than having lots of special-case code for CPPDEFINES in
four separate routines, add a new _add_cppdefines function to
handle it, paying attention to append/prepend, unique/duplicating,
and keep-original/replace-original. The existing special case handing
was then removed from Append and AppendUnique (it was never present in
Prepend and PrependUnique anyway - see #3876, but these now get it due
to a call to the new function).
Tuple handling is now consistent with list handling: a single tuple is
treated as macro names to add, not as a name=value pair. A tuple or list
has to be a member of a containing tuple or list to get the macro=value
treatment. This *may* affect some existing usage. macro=value tuples
without a value can now be entered either in (macro,) form or (macro,
None) form.
Internally, whenever append/prepend is done, existing contents are
forced to a deque, which allows efficient adding at either end without
resorting to the tricks the Prepend functions currently do (they still
do these tricks, but only in non-CPPDEFINES cases). As a result, values
from a dict are not stored as a dict, which has some effect on ordering:
values will be *consistently* ordered, but the ones from the dict are
no longer necessarily sorted.
In SCons/Defaults.py, processDefines no longer sorts a dict it is
passed, since Python now preserves dict order. This does not affect
the E2E test for CPPDEFINES - since those all call an Append routine,
CPPDEFINES will always be a deque, and so processDefines never sees a
dict in that case. It could well affect real-life usage - if setup of
CPPDEFINES was such that it used to contain a dict with multiple entries,
the order might change (sorting would have presented the keys from that
dict in alphabetical order). This would lead to a one-time rebuild for
actions that change (after that it will remain consistent).
In the E2E test CPPDEFINES/append.py some bits were reformatted, and the
handler routine now accounts for the type being a deque - since the test
does a text comparison of internally produced output, it failed if the
word "deque" appeared. Some new test cases were added to also exercise
strings with spaces embedded in them.
Changes were made to the expected output of the E2E test. These reflect
changes in the way data is now stored in CPPDEFINES, and in some cases
in order. Most of these do not change the meaning (i.e. "result" changes,
but "final" output is the same). These are the exceptions:
- "appending a dict to a list-of-2lists", AppendUnique case: order now
preserved as entered (previously took the order of the appended dict)
- "appending a string to a dict", Append case: not stored as a dict,
so ordering is as originally entered.
- "appending a dict to a dict", Append case: no longer merge into a
dict, so this is now an actual append rather than a merge of dicts which
caused the uniquing effect even without calling AppendUnique (arguably
the old way was incorrect).
A new test/CPPDEFINES/prepend.py is added to test Prepend* cases.
append.py and prepend.py are structured to fetch the SConstruct from a
fixture file.
append.py got an added test in the main text matrix, a string of the
macro=value form. The same 5x5 maxtrix is used in the new prepend.py
test as well ("expected" values for these had to be added as well).
Cosmetically, append and prepend now print their test summary so
strings have quotation marks - the "orig" lines in the expected output
was adjusted. This change looks like:
- orig = FOO, append = FOO
+ orig = 'FOO', append = 'FOO'
The other tests in test/CPPDEFINES got copyright updating and
reformatting, but otherwise do not change.
Documentation updated to clarify behavior.
Fixes #4254
Fixes #3876
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The only wording changes of any note are for the link tool,
where it is suggested POSIX users don't fiddle with LINK
and SHLINK.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ |
|
| |
| |
| |
| | |
directives in LINKFLAGS. There are some reasons, but they are mainly for advanced SCons users using them with caution. Added to LIBS that it can also affect shared libraries and loadable modules
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[skip travis]
Don't try to expand on overrides concept in cv-LIBS,
put something in the construction var section introduction instead.
Rearrange some more things in the builder methods section.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous commit for PR #3888 added a warning about using
improper values for LIBS in the section on Builder Methods.
Per review comments, moved this to the definition of the LIBS
construction variable.
Work in that area led to several wording changes, and link-ifying
some consvar references.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Try to be more descriptive of what happens in some special cases.
CPPDEFINES, LIBS, and the *PATH variables are mentioned.
Don't duplicate descriptions - AppendUnique, Prepend, PrependUnique
all point back to Append for the body of the description - the
idea is to avoid divergence. The same should happen for the
implementation, but that's a different PR.
Reformat examples with Black to continue getting example style
self-consistent within the docs (lots to go here!)
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>
|
|
|
|
|
|
|
|
| |
Sider detected a misspelled tag
Failed to "add" one changed doc file, Defaults.xml. Added.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
src/engine/SCons moved to SCons, affects wired in paths
in documentation, and doc building scripts
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
with current python packaging practices
|