summaryrefslogtreecommitdiffstats
path: root/SCons/Script/Main.py
Commit message (Collapse)AuthorAgeFilesLines
* remove scons-ninja-daemon option in favor of interactiveDaniel Moody2022-03-141-3/+1
|
* fix up interactive to support ninja scons daemonDaniel Moody2022-02-111-2/+3
|
* Merge pull request #4067 from mwichmann/wintweaksWilliam Deegan2021-11-261-6/+5
|\ | | | | Fix tests to not hang on Windows with bad .py assoc
| * Fix tests to not hang on Windows with bad .py assocMats Wichmann2021-11-261-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For systems where the association for .py files is not to an actual Python interpreter, those few cases where we need to run a Python script directly as a program don't work. This could be because the association was never set up, or because some other program (e.g. Visual Studio Code) has taken it over. In some cases may appear to "hang" because the alternate program is waiting for user interaction runtest.py now has a mechanism to check (thanks to Brett Cannon for providing this incantation). It isn't super precise (looks for the substring "py" in the queried association), but should work out. It sets an environment variable which the test framework can read and as a result set a flag which individual tests can read. Two tests in scons-time which had previously been set to skip-if-win32 now look at this flag instead. Three tests in sconsign now also look at this flag. This allows a clean run on my dev box with VS Code having taken over the .py association. Various things can break if the environment used to fire off Windows processes doesn't contain %UserProfile%. Added this to the short list of passthrough env vars. Apparently an environment without this value is now considered invalid (it blew up the erroneously launched VS Code, but we've apparently been lucky it hasn't blown up more things - believe there was also a report of a problem with the Visual Studio setup scripts). A little extra cleanup: - a couple of Py2-isms were cleaned out (Script/Main.py and in the test framework) - The paths to look for site-scons were rewritten (part of this was another Py2-ism), and the system path changed a bit - the old path is still checked, and the manpage updated to reflect this. - runtest.py dropped the unused whereis functions. - the three sconsign tests now use f-string formatting, mostly as an experiment to see how easy it is to convert. Fixes #4053 Signed-off-by: Mats Wichmann <mats@linux.com>
* | rebase from masterWilliam Deegan2021-11-221-3/+6
|/
* Update post release changesWilliam Deegan2021-11-221-1/+1
|
* 4.3.0 updates4.3.0William Deegan2021-11-171-1/+1
|
* Post 4.2.0 merge/reset to development modeWilliam Deegan2021-08-011-1/+1
|
* Fix some imports and other checker warningsMats Wichmann2021-05-051-1/+0
| | | | | | | | | | | | | * Removed a number of imports reported as unused. * Reorganize imports in a few places. * Checker reported warnings problems ("Instantiating an exception, but not raising it, has no effect"): serveral tool modules instantiated a warning class thinking (?) it would issue the warning; changed these to the standard use - calling the warn() function with the warnclass as an arg. * Tool modules that were touched had the copyright header munging applied. * Removed irritating "####" lines from gettext and msgfmt tools. Signed-off-by: Mats Wichmann <mats@linux.com>
* Dont call progress if the progress object is NullDaniel Moody2021-04-091-2/+3
|
* Fixed issue with multi-target nodes being passed to the progress object.Daniel Moody2021-04-091-1/+2
|
* Deprecate Python 3.5.Mats Wichmann2021-03-281-1/+1
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* Merge branch 'master' into site-dirWilliam Deegan2021-03-251-4/+8
|\
| * Skip empty cmdline args as targetsMats Wichmann2021-03-251-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | Previously, quoted empty arguments like '', '""', "''" were added to targets, which had some side effects - a blank would eventually turn into a Node for the top directory, meaning Default calls were ignored since a target is specified and thus the whole tree will be built. Fixes #2986 Signed-off-by: Mats Wichmann <mats@linux.com>
* | Change site-dir arg handlingMats Wichmann2021-03-251-4/+6
|/ | | | | | | | | | | | | | | | 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>
* Merge branch 'master' into topic/grossag/newhashesWilliam Deegan2021-03-071-19/+30
|\
| * A few more tweaks to debug-timing codeMats Wichmann2021-02-111-19/+30
| | | | | | | | | | | | | | A big of reformatting; some options changed to explicitly use True / False (functionally no change from 0/1). Signed-off-by: Mats Wichmann <mats@linux.com>
| * [PR #3884] fix some timinng errors from initial submitMats Wichmann2021-02-091-3/+3
| | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * Add timing of sconsign write if --debugMats Wichmann2021-02-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'master' into topic/grossag/newhashesAdam Gross2020-11-061-35/+24
|\ \ | |/
| * Try new way to detect thread support. Check threading.get_ident() which ↵William Deegan2020-10-041-1/+7
| | | | | | | | should always return a positive integer. The fake threading module dummy_threading will always return -1
| * Remove pywin32 from scons win32 install requirements. Remove usage from ↵William Deegan2020-10-041-14/+1
| | | | | | | | SCons.Script.main
| * Update some copyright strings and drop __revision__ [skip appveyor]Mats Wichmann2020-09-231-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Use cProfile if profiling.Mats Wichmann2020-09-211-2/+1
| | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* | Add support for overriding the default hash formatAdam Gross2020-08-041-1/+4
|/ | | | | | | This change adds support for a new --hash-format parameter that can be used to override the default hash format used by SCons. The default remains MD5, but this allows consumers to opt into SHA1, SHA256, or any other hash algorithm offered by their implementation of hashlib.
* Address review feedbackAdam Gross2020-08-031-1/+1
| | | | Do the "* 1024" when setting File.md5_chunksize, not when using it later.
* fix scons --version and packagingWilliam Deegan2020-07-041-2/+2
|
* All working except automatic build of wheel and sdist packageWilliam Deegan2020-06-301-4/+3
|
* Close scons logfiles on completionMats Wichmann2020-05-291-0/+5
| | | | | | | | | | | Files written to in logging operations could remain unclosed: more modern Pythons grumble about this; given the type of Python build, could emit ResourceWarning messages which cause tests to fail. Close by registering calls with atexit. Affects Trace, cache debug, taskmastertrace, configure. Signed-off-by: Mats Wichmann <mats@linux.com>
* classes no longer explicitly inherit from objectMats Wichmann2020-05-241-5/+5
| | | | | | In Python3 this is the default. Signed-off-by: Mats Wichmann <mats@linux.com>
* Bump unsupported/deperecated Py versionsMats Wichmann2020-05-161-2/+2
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* Reorganize the repo. Moved src/engine/SCons to ./SCons to be more in line ↵William Deegan2020-05-061-0/+1453
with current python packaging practices