summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Fix sider issueJoseph Brill2022-06-211-1/+1
| | | |
| * | | Add comment and import one-by-one for msvc notfound policy and flake8 F401Joseph Brill2022-06-211-4/+3
| | | |
| * | | Update flake8 F401 placementJoseph Brill2022-06-211-3/+3
| | | |
| * | | Comment out BatchFileExecutionWarning definition and invocation.Joseph Brill2022-06-211-3/+3
| | | |
| * | | Consider MSVC_TOOLSET_VERSION specification intent to use msvc tools. ↵Joseph Brill2022-06-212-8/+17
| | | | | | | | | | | | | | | | Update boolean symbols accepted for uwp and spectre.
| * | | Add internal, undocumented SCONS_CACHE_MSVC_FORCE_DEFAULTS environment ↵Joseph Brill2022-06-211-0/+22
| | | | | | | | | | | | | | | | variable to force default SDK and toolset arguments.
| * | | Suppress sider imported but unused for namespace. Restrict MSVC_UWP_APP ↵Joseph Brill2022-06-213-15/+18
| | | | | | | | | | | | | | | | boolean symbols accepted.
| * | | Add global for cache reset (classmethod to module omission) and remove ↵Joseph Brill2022-06-213-2/+4
| | | | | | | | | | | | | | | | duplicate import
| * | | Fix msvc notfound policy module path for testJoseph Brill2022-06-201-1/+1
| | | |
| * | | Cleanup MSCommon/vc imports and move Dispatcher imports and registrationJoseph Brill2022-06-2010-18/+18
| | | |
| * | | Fix typo in module nameJoseph Brill2022-06-201-1/+1
| | | |
| * | | Refactor recent portions of vc.py into MSVC moduleJoseph Brill2022-06-2012-1627/+1968
| | | |
| * | | Fix windows SDK referenceJoseph Brill2022-06-201-1/+1
| | | |
| * | | Rename _Const to _Config. Rework msvc sdk version function. Minor cleanup.Joseph Brill2022-06-202-32/+37
| | | |
| * | | Update boolean symbolsJoseph Brill2022-06-171-5/+8
| | | |
| * | | Remove unnecessary variable initializationJoseph Brill2022-06-161-2/+0
| | | |
| * | | Rename Manager to DispatcherJoseph Brill2022-06-161-6/+6
| | | |
| * | | Merge branch 'master' into jbrill-msvc-batchargsJoseph Brill2022-06-1634-672/+1452
| |\ \ \
| * | | | Add dispatch class for reset and verify methods. Verify data structure ↵Joseph Brill2022-06-161-44/+144
| | | | | | | | | | | | | | | | | | | | consistency for msvc sdk versions.
| * | | | Update commentsJoseph Brill2022-06-161-2/+1
| | | | |
| * | | | Rename msvc batch platform (uwp/store/desktop) to platform_type.Joseph Brill2022-06-161-26/+24
| | | | |
| * | | | Add SDK version support and validate all arguments.Joseph Brill2022-06-161-348/+731
| | | | |
| * | | | Change IOError to OSErrorJoseph Brill2022-06-141-2/+2
| | | | |
| * | | | Disable MSVC_TOOLSET_DEFAULT_VCVARSVERJoseph Brill2022-06-141-1/+1
| | | | |
| * | | | Convert SortOrder class to enumJoseph Brill2022-06-141-5/+7
| | | | |
| * | | | Detect multiple declarations between MSVC_SCRIPT_ARGS and new variables. ↵Joseph Brill2022-06-141-58/+195
| | | | | | | | | | | | | | | | | | | | Sort arguments in preferred order.
| * | | | Expand data structures and rework version comparisons and messages.Joseph Brill2022-06-131-131/+365
| | | | |
| * | | | Convert VS constants to namedtuples. Update debug message content.Joseph Brill2022-06-121-46/+62
| | | | |
| * | | | Fix sider complaintsJoseph Brill2022-06-121-4/+4
| | | | |
| * | | | Initial support for msvc batch file argumentsJoseph Brill2022-06-121-17/+474
| | | | |
* | | | | Merge pull request #4194 from mwichmann/issue/lex-yacc-filesWilliam Deegan2022-07-2010-34/+227
|\ \ \ \ \ | | | | | | | | | | | | Add lex/yacc filegen consvars
| * | | | | LEX_TABLE_FILE -> LEX_TABLES_FILEWilliam Deegan2022-07-205-10/+10
| | | | | |
| * | | | | Move LEXHEADERFILE, LEXTABLEFILE, YACCHEADERFILE, YACCGRAPHFILE -> separated ↵William Deegan2022-07-208-42/+43
| | | | | | | | | | | | | | | | | | | | | | | | by underscores for readability
| * | | | | Add lex/yacc filegen consvarsMats Wichmann2022-07-1910-35/+227
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lex and yacc tools both got two new construction variables for specifying side-effect creation of additional files, this method avoids the user embedding the options in LEXFLAGS and YACCFLAGS - the latter lets the commands generate the files, but the paths would not be properly relocated by SCons, so if the build was initiated in a subdirectory, the generated files would go into the top directory instead. Fixes #4154 Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | Merge pull request #4191 from mwichmann/maint/no-load-moduleWilliam Deegan2022-07-199-102/+140
|\ \ \ \ \ | | | | | | | | | | | | Stop using deprecated load_module
| * \ \ \ \ Merge branch 'master' into maint/no-load-moduleWilliam Deegan2022-07-1933-277/+710
| |\ \ \ \ \ | |/ / / / / |/| | | | |
* | | | | | Merge pull request #4183 from mwichmann/maint/lex_yaccWilliam Deegan2022-07-1930-261/+665
|\ \ \ \ \ \ | | | | | | | | | | | | | | Improvements to lex and yacc tools
| * | | | | | Sider fixesMats Wichmann2022-06-303-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * | | | | | Improvements to lex and yacc toolsMats Wichmann2022-06-3030-261/+668
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mocked tools mylex.py and myyacc.py now understand the file-generation options, and generate a dummy file with predictable contents, for checking. This allows more testing of the path through the SCons support for these two without needing live commands. New tests added which invoke the file-generation options, and make sure the extra files are created, and that SCons detects and tracks the added targets. Work is done in a subdirectory, which exposes some existing known inconsistent behavior (the regular generated file goes in the subdir per the LEXCOM and YACCOM generated line, while the ones generated from commandline options go in the topdir) - but we're going to allow that behavior to continue for backwards compat. Same fix applied to yacc tool that PR #4168 did for lex - do subst_list() instead of subst() to preserve spaces in paths. That fix left the lex tool unable to pass the new test, as it could not see the individual arguments in the FLAGS variable, which was solved by indexing into the subst'd list so we can iterate over the args again. Test and tool cleanup; add DefaultEnvironment calls, etc. Note this mentions, but does not address the problem described in issue 4154. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | | Merge pull request #4192 from mwichmann/doc/exec_envWilliam Deegan2022-07-191-15/+32
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | [manpage] more on execution environment
| * | | | | [manpage] more on execution environment [skip appveyor]Mats Wichmann2022-07-181-15/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reworded a bit. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | | | Merge pull request #4184 from platformio/masterWilliam Deegan2022-07-173-1/+13
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Strip shell's backslashes from the computed include
| * | | | | Conditional C/C++ Preprocessor: Strip shell's backslashes from the computed ↵Ivan Kravets2022-07-063-1/+13
| |/ / / / | | | | | | | | | | | | | | | include (-DFOO_H=\"foo.h\")
| | * | | load_module work: back off zipimport changesMats Wichmann2022-07-196-17/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently, the zipimport code was not intended to load modules (platform, tool) that were stored in individual zipfiles; instead it was added to support scons itself running inside a zipfile in the form of a py2exe bundle. Undid the changes which tried to find a modulename.zip file and load it, and the test in Platform that actually verfied it works, no need to add a new feature nobody is asking for. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | zip module loading: fallback for older PythonsMats Wichmann2022-07-172-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | zipimport was updated later, the find_spec and exec_module routines were only added here in 3.10, as opposed to 3.4 for importlib. So we need to fall back to the "old way" using load_module if we don't have those routines available - SCons still supposed back to Python 3.6. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | Fix sider-discovered problemsMats Wichmann2022-07-173-2/+7
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | | Stop using deprecated load_moduleMats Wichmann2022-07-178-103/+110
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | importlib.load_module is deprecated since 3.10 and scheduled for removal in the 2023 Python release (3.12) - this makes the tests somewhat noisy. The zip import code was reworked, to use exec_module. A test was added in the Platform code - there's now a dummy platform module inside a zip file that the PlatformTests unittest uses. The tool import code finally dropped the fallback to Python2-style importing, and the zip import section matches the (now tested) Platform version. Not sure this is needed at all: the regular import machinery ought to find a zipfile without extra steps, since here it uses sys.path (the platform code does *not* use sys.path). sconsign now just uses import_module, the "my_import" function is no longer needed but was left in for now. sconsign actually used the "imp" module, which is deprecated since 3.4. A little cleaup in the three scripts/ files. Fixes #4162 Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #4189 from mwichmann/test/311-smart-errorsWilliam Deegan2022-07-151-0/+1
|\ \ \ \ | | | | | | | | | | Ajust test for 3.11+ enhanced error messages
| * | | | Ajust test for 3.11+ enhanced error messagesMats Wichmann2022-07-131-0/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were four tests failing because the regexes for expected stdout didn't match with the addition of pointers in exceptions showing where the error occurs. However, with 3.11.0b4, this has been backed off a bit: there are no arrow lines if the whole line would have been highlighted, since that adds no useful new information. As a result, only one test now failed, and the regex there is expanded to handle that case. This relates to, but does not close, issue #4162. Signed-off-by: Mats Wichmann <mats@linux.com>
* | | | Merge pull request #4186 from mwichmann/test/drop-old-exc-msgsWilliam Deegan2022-07-086-84/+45
|\ \ \ \ | | | | | | | | | | [Test] drop old exception msgs