| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
overriding python's native EnvironmentError
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sconsign required filename(s) or directory name(s) to do anything,
in their absence it just quits silently. Change so if filename
argument omitted, use the same default as scons - .sconsign.dblite.
print something in case of bad options.
add an extra info line in case the sconsign cannot be read due
to pickle protocol (when py2 used in a place where scons
previously run with py3)
Tweak the manpage a bit.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
Manually make scons-time.py match master after it evolved independently
in a different PR.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
| |
One was "real": had failed to indent a with: block
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
| |
For PR #3331: the change in src/script/scons-time.py to use subprocess
in log_execute caused failures on Windows platform. For now, go back
to os.popen, but save the open descriptor so it can be closed (that
was the original warning being addressed).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several locations with simple usage of deprecated "imp" module
changed to use "importlib". These match with work in #3159,
but this is not a complete implementation of #3159.
More regex patterns are changed to be raw strings.
Some strings which did not seem appropriate to change to raw
strings (e.g. contain embedded tabs, which Python should honor)
had backslashes escaped to avoid accidental Python interpretation.
Example:
'\t<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.targets" />\n'
Python 3.8 was Warning \M was an unknown escape.
More open().write(), open().read() style usage changed to use
context managers so the file is closed.
WIP part: even with Python 3.7, the tests which call sconsign.py
fail; oddly they do not fail without the patch to compat.py.
sconsign.py does an import using imp module (which is what
generates the errors) so needs to be updated anyway. It does not
quite fit the "simple usage" pattern - can't do a simple relative
import since sconsign is normally located elsewhere in the tree than
the main scons code body.
With this version of the patch, 700 tests now pass with 3.8, and
Warning messages reduced to 2800 (current master has 200 pass,
9000 warns)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With runtest now honoring the -j 2 option given to it in
CI setup on Windows, there were some problems where scons-time
tests could try to remove a test directory while some files
in it were still open (these locations were complained about
by Python 3.8 also).
Switch test framework to using mkdtemp also, and to not use
tempfile.template (usage of that and mktemp are long
deprecated)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
| |
runtest change to run requested number of jobs exposed a concurrency
problem on Appveyor CI (Windows) builds - which seems to be due to
scons-time using mktemp to create a temporary directory name, and then
later creating the directory. In scons-time the timing window for
this is a bit longer than usual. Try using mkdtemp instead.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |\
| | |
| | | |
Fix issue #2799 Get mingw tool to respect SHCCCOMSTR, SHLINKCOMSTR and LDMODULECOMSTR
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
LDMODULECOMSTR
|
| |\ \ |
|
| | |\ \
| | | |/
| | |/| |
Clean up some file opens, regex strings
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Most recent Python (3.8 alpha) spews warnings aplenty about two
subjects: unclosed files and strings which look like they have embedded
escapes that Python does not recognize. The latter are usually
regexes, and it provides a reminder that regular expressions should
normally be specified as raw strings, so Python does not attempt to
interpret them. Irritating is that even docstrings are flagged, it's
not obvious what the right answer is for a docstring which contains,
say, a Windows-style path with backslashes.
This converts a bunch of opens that are not closed into context
manager usage and regex patterns into raw strings.
This eliminate about 4000 warnings spewed by Py3.8 (9200 remain).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | |
| | | |
| | | | |
Add the changelog entry about the addition of nologo to RCFLAGS in MSVC tool.
|
| | |/ |
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To fix some test problems for pypy, which seem more prone to
problems of lost data if files are written and not explicitly
closed, add context managers on file opens in scons-time.
Also quiets warnings which are emitted by the much noisier
Python 3.8. Changes are to the scons-time script and to
the framework.
After visual inspection of outputs while debugging, switched
the framework's created tools in the scons-time area to use
os.linesep instead of explicit '\\n' strings, tools should
operate in a native way.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |\
| | |
| | |
| | |
| | | |
bdbaddog/fix_win_md5_decider_malfunction_on_fresh_build
MD5-Timestamp was causing build failures on windows only. (Mesa Project affected)
|
| | |\
| | | |
| | | |
| | | | |
github.com:bdbaddog/scons into fix_win_md5_decider_malfunction_on_fresh_build
|
| | | |
| | | |
| | | |
| | | | |
previous build. This should speed up md5-timestamp builds for clean builds. Also added debug logic to dump and check aagainst previous implementation at top of FS.PY MD5_TIMESTAMP_DEBUG flag. currently set to False
|
| | | |
| | | |
| | | |
| | | | |
normalized path string with / separators. On a fresh windows build the node string will have windows dirsep and not normalizd. This yielded broken builds for the Meta project'
|
| | | |
| | | |
| | | |
| | | | |
Directly calling get_csig() when there is no previous build history
|
| | | |
| | | |
| | | |
| | | | |
previous build. This should speed up md5-timestamp builds for clean builds. Also added debug logic to dump and check aagainst previous implementation at top of FS.PY MD5_TIMESTAMP_DEBUG flag. currently set to False
|
| | | |
| | | |
| | | |
| | | | |
normalized path string with / separators. On a fresh windows build the node string will have windows dirsep and not normalizd. This yielded broken builds for the Meta project'
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When scons exits, it wants to take the opportunity to print any
diagnostics and statistics that may have been requested, so the
main routine traps the various ways it can quit. If code somewhere
calls sys.exit(), that generates a SystemExit exception.
The handling of that has not been quite correct - it simply takes
the exception instance, saves it, and later quits with sys.exit(saved).
This seemingly works fine for all other tested versions of Python,
but has interesting side effects with PyPy3.
Per the Python documentation:
If the value is an integer, it specifies the system exit status
(passed to C’s exit() function); if it is None, the exit status
is zero; if it has another type (such as a string), the object’s
value is printed and the exit status is one.
And in fact, PyPy3 does this: if the original call to sys.exit
took a value of 2, then the SystemExit exception triggers with
a class instance which does have an exit code of 2, which turns
up if you take the string repr of the instance, but when passed
to the final sys.exit, as it's not an integer it *prints* the 2,
and returns with an exit code of 1, just as in the documentation snip.
Not really sure if PyPy3 is wrong here, or the other Pythons are
letting something slide, but it's an easy fix: save off the code
stored in the exception instance for later use as the exit code,
instead of using the instance itself for that.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
| | |
| | |
| | | |
named win_bison
|
| | | |
|
| |\ \
| | | |
| | | | |
Add windows default paths to lex tool
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
nounistd on windows. also more testing
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
bdbaddog/fix_gh_3303_force_config_alters_env_decider
Fix issue #3303 - --config=force overwriting environment passed to Configure()
|
| | | | |
| | | | |
| | | | |
| | | | | |
since this is now used by SConf's logic
|
| | | | |
| | | | |
| | | | |
| | | | | |
and not cleaning it up when configure context is complete
|
| | | | | |
|
| | | | | |
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
if reproducible builds are wanted.
See https://reproducible-builds.org/ for why this is good.
This affected scons itself, which differed in the line
__buildsys__ = "..."
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
TEMPFILEEXTENSION in class TempFileMunge docstring should be
TEMPFILESUFFIX to match the code
Signed-off-by: Mats Wichmann <mats@linux.com>
|