summaryrefslogtreecommitdiffstats
path: root/src/engine
Commit message (Collapse)AuthorAgeFilesLines
* Issue #3350 - Refactor EnvironmentError to SConsEnvironmentError to avoid ↵William Deegan2019-04-187-17/+17
| | | | overriding python's native EnvironmentError
* [PY 3.8] fix some sider complaints in #3331Mats Wichmann2019-03-301-1/+0
| | | | | | One was "real": had failed to indent a with: block Signed-off-by: Mats Wichmann <mats@linux.com>
* [WIP] [PY 3.8] fix more warningsMats Wichmann2019-03-307-33/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix Issue #3333 - Find vswhere under 32 bit windows installsWilliam Deegan2019-03-261-7/+15
|
* Add support for MSSDK V10.0A fixes GH Issue #3329William Deegan2019-03-181-0/+10
|
* Merge pull request #3328 from bdbaddog/gh_issue_2799_mingw_respect_comstrWilliam Deegan2019-03-121-31/+33
|\ | | | | Fix issue #2799 Get mingw tool to respect SHCCCOMSTR, SHLINKCOMSTR and LDMODULECOMSTR
| * PEP8William Deegan2019-03-111-29/+30
| |
| * Fix issue #2799 - Get mingw tool to respect SHCCCOMSTR, SHLINKCOMSTR and ↵William Deegan2019-03-111-2/+3
| | | | | | | | LDMODULECOMSTR
* | Merge pull request #3327 from mwichmann/open-and-regex-cleanupsWilliam Deegan2019-03-1015-52/+69
|\ \ | |/ |/| Clean up some file opens, regex strings
| * Clean up some file opens, regex stringsMats Wichmann2019-03-0715-52/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 /nologo flag to RCFLAGSMaciej Kumorek2019-03-071-1/+1
|/
* Merge pull request #3317 from ↵William Deegan2019-03-041-7/+51
|\ | | | | | | | | bdbaddog/fix_win_md5_decider_malfunction_on_fresh_build MD5-Timestamp was causing build failures on windows only. (Mesa Project affected)
| * Merge branch 'fix_win_md5_decider_malfunction_on_fresh_build' of ↵William Deegan2019-03-038-28/+147
| |\ | | | | | | | | | github.com:bdbaddog/scons into fix_win_md5_decider_malfunction_on_fresh_build
| | * Added logic to shortcut comparing prev_ni if there is no dependency map from ↵William Deegan2019-03-031-4/+24
| | | | | | | | | | | | 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
| | * On windows first try with native file paths with \\ then swap path to ↵William Deegan2019-03-031-7/+26
| | | | | | | | | | | | 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'
| * | Forgot to add current file csig when shortcutting calling changed_content(). ↵William Deegan2019-03-021-0/+5
| | | | | | | | | | | | Directly calling get_csig() when there is no previous build history
| * | Added logic to shortcut comparing prev_ni if there is no dependency map from ↵William Deegan2019-03-011-4/+24
| | | | | | | | | | | | 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
| * | On windows first try with native file paths with \\ then swap path to ↵William Deegan2019-02-271-7/+26
| | | | | | | | | | | | 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'
* | | [PYPY] fix way exit status is retrieved in mainMats Wichmann2019-03-031-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | copy logic from lex to find win_bison if installed via chocolateyWilliam Deegan2019-03-031-1/+29
| |
* | Merge pull request #3290 from dmoody256/make_lex_tool_cross_platformWilliam Deegan2019-03-034-3/+58
|\ \ | | | | | | Add windows default paths to lex tool
| * | only use no-unistd option with MSVC environmentDaniel2019-03-012-4/+10
| | |
| * | add win_flex as option for windows, add choco default path, and add flag for ↵Daniel2019-02-203-10/+29
| | | | | | | | | | | | nounistd on windows. also more testing
| * | condensed and organized codeDaniel2019-02-171-20/+12
| | |
| * | update lex tool to find paths on windowsDaniel2019-02-161-3/+41
| | |
* | | Merge pull request #3313 from ↵William Deegan2019-02-283-24/+60
|\ \ \ | |_|/ |/| | | | | | | | bdbaddog/fix_gh_3303_force_config_alters_env_decider Fix issue #3303 - --config=force overwriting environment passed to Configure()
| * | Update SConf tests to add scan arg to mocked out Node children() method ↵William Deegan2019-02-281-1/+1
| | | | | | | | | | | | since this is now used by SConf's logic
| * | Fix Issue #3303 --config=force overwritting passed in Environment's Decider ↵William Deegan2019-02-272-23/+59
| | | | | | | | | | | | and not cleaning it up when configure context is complete
* | | [ci skip] correct TempFileMunge docstringMats Wichmann2019-02-231-2/+2
| |/ |/| | | | | | | | | | | TEMPFILEEXTENSION in class TempFileMunge docstring should be TEMPFILESUFFIX to match the code Signed-off-by: Mats Wichmann <mats@linux.com>
* | Merge pull request #3270 from dmoody256/mingw_link_issueWilliam Deegan2019-02-152-1/+8
|\ \ | | | | | | Mingw link issue
| * \ Merge remote-tracking branch 'origin/master' into mingw_link_issueDaniel2019-02-085-410/+588
| |\ \
| * \ \ Merge remote-tracking branch 'origin/master' into mingw_link_issueDaniel2019-02-022-3/+3
| |\ \ \
| * \ \ \ Merge remote-tracking branch 'origin/master' into mingw_link_issueDaniel2019-01-3016-118/+465
| |\ \ \ \
| * | | | | check to make sure that the CCFLAGS are a CLVarDaniel2019-01-301-2/+6
| | | | | |
| * | | | | fixed mingw emitter to convert str to node before accessing node member, and ↵Daniel2019-01-142-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | updated mingw to remove MSVC like nologo flag
* | | | | | Merge pull request #3297 from mwichmann/win-resourcewarnWilliam Deegan2019-02-152-16/+22
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix some more subprocess-unclosed-file warnings
| * | | | | | Fix syntax error from reverting popen context mgrMats Wichmann2019-02-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | | | Undo part of the windows context manager changeMats Wichmann2019-02-091-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Popen is not a context manager for PY27, lots of tests failed as a result. Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | | | Fix some more subprocess-unclosed-file warningsMats Wichmann2019-02-082-17/+21
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following on to PR #3279 which cleaned up warnings for gcc, g++ and swig by using context managers, do the same for Windows vc. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | | Clean up some tests: use context managersMats Wichmann2019-02-145-19/+30
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plenty of complaints coming from Python 3.8alpha on unclosed files. Targeted those areas which intersect with PyPy failures - this changeset reduces the PyPy fails by 17 on the local test environment. So this affects both Issue #3299 and the PyPy support project. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Fix is/is not syntaxMats Wichmann2019-02-113-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a few places, "is" and "is not" are used to compare with a string or integer literal. Python 3.8 flags these with a SyntaxWarning. Changed to == and != Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Add textfile tool to defaultsMats Wichmann2019-02-082-2/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR #3242 added the Textfile and Substfile builders to the default builder list (for issue #3147), but didn't finish the job: the textfile tool needs to be added to the default list of tools as well. This time with a testcase that fails if the tool is not added. Minor doc tweak. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Add arm targets to doc for MSVS_ARCHMats Wichmann2019-02-061-3/+6
| | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #3289 from mwichmann/msvs-xmlWilliam Deegan2019-02-051-400/+563
|\ \ \ \ | | | | | | | | | | Pretty-print msvs.xml
| * | | | Pretty-print msvs.xmlMats Wichmann2019-02-051-400/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doc file had large sections in not very readable format, with lots of tags on single line, etc. Ran through a formatting tool and did some manual fixups. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | fix for case where nothing is return from vswhereDaniel2019-02-051-7/+8
|/ / / /
* | | | Merge pull request #3261 from mwichmann/doc-defaultWilliam Deegan2019-02-021-0/+4
|\ \ \ \ | | | | | | | | | | Improve scons docs regarding Default()
| * | | | Work on Default docu wording a bit moreMats Wichmann2019-01-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An earlier change updated some examples, this makes some tweaks to the wording as well for Default, DEFAULT_TARGETS, etc. to clarify. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Fix configure logic calling configured decider not handling DeciderNeedsNode ↵William Deegan2019-02-021-2/+9
| | | | | | | | | | | | | | | | | | | | exception which can be thrown by MD5-Timestamp decider logic
* | | | | handle exceptions slightly betterWilliam Deegan2019-02-021-1/+1
| |_|_|/ |/| | |