summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | Various improvements to the changeAdam Gross2019-12-021-25/+25
| | | | |
| | * | | Add support for scanning multiple entries in an action stringAdam Gross2019-12-022-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds support for scanning multiple entries in an action string in order to better support the following use cases: 1. A file is provided in an action string and should be taken as a dependency. For example, an action string "$PERL somefile.pl". 2. An action string actually has two actions separated by &&. For example, "cd <some_dir> && $ZIP <args>". Adding support for #1 actually allows us to fix the test IMPLICIT_COMMAND_DEPENDENCIES.py on Windows, which was previously treating a Python file as executable even on Windows. This was causing tests to repeatedly open the default handler of Python files, which if set to Visual Studio causes DDE hangs. This test is fixed because now we can have the action string specify python as the first command and still take an implicit dependency on the script, which is now the second command.
| * | | | Change errant TEXFTILESUFFIX to SUBSTFILESUFFIXMats Wichmann2020-02-152-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In one location a copy-paste apparently didn't get fixed up, and the wrong construction var was used. Fixes #3540 Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Merge branch 'master' into c-conditional-scannerWilliam Deegan2020-02-1963-580/+255
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Merge pull request #3561 from bdbaddog/more_post_py27_cleanup_02_17_2020William Deegan2020-02-1913-249/+139
| |\ \ \ \ | | | | | | | | | | | | More post py27 cleanup
| | * | | | Remove u' u" from strings. no longer neededWilliam Deegan2020-02-189-41/+24
| | | | | |
| | * | | | more post py27 cleanupWilliam Deegan2020-02-185-182/+84
| | | | | |
| | * | | | More post py27 cleanup. Remove no-op function calls. Fix _exercise() built ↵William Deegan2020-02-181-26/+31
| | | | | | | | | | | | | | | | | | | | | | | | in test to complete
| * | | | | Merge branch 'master' of github.com:SCons/sconsWilliam Deegan2020-02-1960-274/+50
| |\ \ \ \ \ | | |/ / / /
| | * | | | more unicode cleanupWilliam Deegan2020-02-181-10/+2
| | | | | |
| | * | | | more unicode cleanupWilliam Deegan2020-02-183-28/+2
| | | | | |
| | * | | | more unicode cleanupWilliam Deegan2020-02-181-16/+0
| | | | | |
| | * | | | More unicode removal and cleanupWilliam Deegan2020-02-181-15/+13
| | | | | |
| | * | | | removing unicode from UtilTests.pyWilliam Deegan2020-02-181-4/+1
| | | | | |
| | * | | | remove unicode from dblite.pyWilliam Deegan2020-02-181-20/+2
| | | | | |
| | * | | | remove unicode reference in ActionTests.pyWilliam Deegan2020-02-181-8/+0
| | | | | |
| | * | | | more code cleanup found by pycharmWilliam Deegan2020-02-181-4/+4
| | | | | |
| | * | | | replace dictionary initializations with simpler logicWilliam Deegan2020-02-182-13/+4
| | | | | |
| | * | | | remove PY3 variable from SCons.Util No longer neededWilliam Deegan2020-02-171-1/+0
| | | | | |
| | * | | | Fix sider issue. Simplify code by removing py27 v py35+William Deegan2020-02-171-14/+5
| | | | | |
| | * | | | Clean up collections to switch to collections.abc where possibleWilliam Deegan2020-02-177-40/+9
| | | | | |
| | * | | | remove remaining from __future__ importsWilliam Deegan2020-02-175-11/+0
| | | | | |
| | * | | | Remove 'from __future__ import print_function' no longer needed as we're ↵William Deegan2020-02-1744-91/+6
| | | | | | | | | | | | | | | | | | | | | | | | dropping < py 3.5
| | * | | | Updated error message per sugguestion by mwichmannWilliam Deegan2020-02-161-1/+1
| | | | | |
| | * | | | Update CHANGES.txtWilliam Deegan2020-02-161-0/+2
| | | | | |
| | * | | | Fix Issue #2904 - add useful error message when more than one Configure() ↵William Deegan2020-02-161-1/+2
| | |/ / / | | | | | | | | | | | | | | | contexts are opened
| * | | | fix CHANGES.txtWilliam Deegan2020-02-192-59/+68
| |\ \ \ \ | | |/ / / | |/| | |
| | * | | Drop Python2 support from Main.py site_dir codeMats Wichmann2020-02-112-37/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also simplify cleanup a bit - we don't need to leave the site file open, can use a context manager to read the code and let it close there. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | Update Script/Main.py so it uses importlibMats Wichmann2020-02-112-59/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of deprecated imp module. import site_init.py file directly for Py3 Find spec for the site file by path rather than by fiddling sys.path to restrict the search. Py3: address the problem that we might get a "site_init.py" from somewhere else in sys.path. Clean up excess indentation / try nesting; adjust comment. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Isolate CConditionalScanner from CScannerIvan Kravets2020-02-131-35/+107
| | | | |
* | | | | Update changes with CConditionalScanner and improved virtual C Pre-ProcessorIvan Kravets2020-02-121-4/+15
| | | | |
* | | | | Merge branch 'master' into c-conditional-scannerIvan Kravets2020-02-1298-888/+1700
|\ \ \ \ \ | |/ / / /
| * | | | Merge pull request #3546 from mwichmann/warn-cacheWilliam Deegan2020-02-122-11/+15
| |\ \ \ \ | | | | | | | | | | | | Add a warning if msvc config cache may be outdated.
| | * | | | [PR #3546] update CHANGES.txt per review [ci skip]Mats Wichmann2020-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be more clear about the msvc config-cache issue being fixed. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | | Add a warning if msvc config cache may be outdated.Mats Wichmann2020-02-112-11/+13
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we didn't find cl.exe in the final check in msvc_setup_env(), issue a different warning if config caching is enabled. If it is, there's a decent chance we've found cl.exe in the past, meaning the cache is probably out of date - entries are indexed by path to the bat file+arg, whereas an msvc update may bump a version number in the path and the old path won't be valid: a cached path entry could look like this: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\HostX64\\x64", and the .28314 could be changed in an update. Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | [ci skip] Update CHANGES.txtWilliam Deegan2020-02-111-0/+3
| | | | |
| * | | | Fix issue #3550 - Substfile() can fail/crash when using windows paths as \'s ↵William Deegan2020-02-111-2/+1
| | | | | | | | | | | | | | | | | | | | are interpreted instead of simply used to replace text. Switch to using str.replace()
| * | | | Move testfile.py to testfile/ and have it use file_fixture() for SConstructsWilliam Deegan2020-02-111-0/+1
| |/ / /
| * | | Merge pull request #3538 from mwichmann/express2017William Deegan2020-02-054-79/+192
| |\ \ \ | | | | | | | | | | Add support for VS2017 Express
| | * | | [PR #3538] vswhere lookup: add choco pathMats Wichmann2020-02-031-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chocolatey install path is now checked. The paths to try use a different method of getting the Windows vars - os.path.expandvars, that avoids the use of a try block or os.environ.get. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] fix wshwere invoke errorMats Wichmann2020-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During debugging, the call to vswhere which uses a derived version from the table was replaced by a fixed range, and this was unfortunately committed to git. Restoring. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] roll back use of a too-new Py3 featureMats Wichmann2020-02-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | subprocess.run kw arg capture_output actually doesn't appear until Python 3.7; drop back to individually setting stdout/stderr. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] unbreak msvc tests on non-WindowsMats Wichmann2020-02-012-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make tests still pass when run from a non-Windows platform, was breaking in CI on Linux hosts. Fiddle some more with comments. Add 14.1Exp in more places, including docs. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] detect msvc case where target arch is setMats Wichmann2020-02-012-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Express 2017, no 64-bit tools. When that was fixed to retry with 32-bit tools, the case where a 64-bit target was specified failed. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] detect vswhere even if not in C:Mats Wichmann2020-01-311-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some changes in vswhere detection - not specific to 2017 Express, but came up in testing so fixing at same time: use the Windows variables for where programs are installed, rather than hardcoding C:. [fixes #3542] Since py2 support is dropped, use the more modern subprocess.run to call vswhere instead of fidlling with a Popen object (change is minimal, but this eliminates the commented aside about Py2 not supporting a context manager on Popen instances, as run() is a complete implementation of setup-call-wait-teardown). Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] fix CHANGES.txt typo/sider complaint [appveyor skip]Mats Wichmann2020-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | [PR #3538] change way native->native foundMats Wichmann2020-01-311-22/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 14.1+ looks for a host/target batch file, except those didn't exist in that form if host=target. add the ability to find those (vcvars32.bat and vcvars64.bat) Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | Add support for VS2017 ExpressMats Wichmann2020-01-313-27/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed some new logic to accomodate that tools are not in the expected place (if real host is amd64, Express still uses Hostx86 as the tools dir, not Hostx64). Also needed a hack to run vcvarsall.bat with the correct argument. We now derive the "argument" by finding the appropriate host_target vcvars script, which has the argument to vcvarsall embedded, which we then run instead of calling vcvarsall directly. This allows us to deal with the pseudo target that Express has always used - we derive this part of the script name by using an existing lookup table. arm targets were also added (untested). Added some pithy comments (oh, no, the Piths ran away!) Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | [ci skip] remove py 2.7*. Remove announce mailing list. Add mwichmann to ↵William Deegan2020-02-051-6/+3
| | | | | | | | | | | | | | | | | | | | list of developers
| * | | | [ci skip] add more instructions to CHANGES.txt on what/how to add your ↵William Deegan2020-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | change info to file