summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons
Commit message (Collapse)AuthorAgeFilesLines
* Improve building of docs using Py3 [ci skip]Mats Wichmann2019-12-05110-115/+115
| | | | | | | | | | | | | | | | | | | | * context managers on file r/w + use shutil.copy where it makes sense. * lxml wants (demands?) that xml files be processed as bytes * for the phase where we gen the entity files, read as text anyway * Need to solve a problem where the generated xml is putting the \n in literally, not evaluating it. * Fix some examples broken for py3 * Fix more octal constant instances * Cleanups suggested by PyCharm: staticmethods, two blanks before class definition, others. This addresses issues called out in #3300, but is not a complete solution because the actual doc build step still fails with the epydoc failures (which aren't directly because of Py3; epydoc build doesn't work any better on my system with Py3, even with the forked version with patches). Signed-off-by: Mats Wichmann <mats@linux.com>
* fix more Python escape complaintsMats Wichmann2019-12-022-3/+3
| | | | | | | | | Write as raw strings: Two are docstrings that contain a backslash; the third is an odd expression parenthesized for no good reason and containing backslashes. Signed-off-by: Mats Wichmann <mats@linux.com>
* try a different approach that should work on python 3.5.Rob Boehne2019-11-261-2/+2
|
* Fix a problem under Solaris when using Python 3, while maintaining support ↵Rob Boehne2019-11-261-13/+28
| | | | for Python 2.7. subproces.Popen() produces bytes without the encoding argument in 3, which is not recognized by 2.7, and doesn't need to be decoded.
* Merge branch 'master' into patch-1William Deegan2019-11-183-12/+9
|\
| * Fix simple typo: whos -> whoseTim Gates2019-11-161-1/+1
| |
| * Merge pull request #3472 from maiphi/latex_latin1William Deegan2019-11-081-2/+2
| |\ | | | | | | Fix crash when Latin-1 encoded Latex log file is read with Python 3
| | * Tex builder: avoid error when reading non-utf-8 log filesmaiphi2019-11-011-2/+2
| | | | | | | | | | | | | | | | | | | | | Python 3 throws a UnicodeDecodeError when reading a non-utf-8 file in text mode with default (utf-8) encoding. This happens when T1 fontenc is used in Latex and a warning in the log file contains e.g. umlauts. Invalid characters are now replaced.
| * | Remove deprecated Builder keywordsMats Wichmann2019-10-221-9/+6
| |/ | | | | | | | | | | overrides= and scanner= have been deprecated for over a decade. Signed-off-by: Mats Wichmann <mats@linux.com>
* | Added support for "-imacros" to ParseFlagsIvan Kravets2019-11-063-28/+31
| |
* | Parse GCC -imacros optionIvan Kravets2019-11-011-1/+4
|/ | | https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html
* Remove deprecated {Source,Target}SignaturesMats Wichmann2019-10-205-403/+7
| | | | | | | | | | These two have been deprecated since 2010 (about SCons 2.0), commit 935e6985. Methods are removed, setoption for setting them removed, doc is removed, tests are migrated to test/Removed/*/Old with a sconstest.skip file so they don't run, and two new tests are added to confirm that using the functions and setoptions generate exceptions. Signed-off-by: Mats Wichmann <mats@linux.com>
* Merge pull request #3462 from mwichmann/msvc_env_cacheWilliam Deegan2019-10-124-70/+140
|\ | | | | enable experimental persistent caching of vcvars on win32
| * [PR 3462] update doc/comments for msvc-env-cacheMats Wichmann2019-10-122-8/+15
| | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
| * [PR 3462] convert json cache better way for py2Mats Wichmann2019-10-112-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | there was still a path through without fully converted data, where env['ENV'] could contain unicode, so convert the cache hit instead. This is a little slower but only for Py2 which is going away anyway. added the vs2019 exec test (vs-14.2-exec) which is just a copy of 14.0, 14.1 with the required version changed - this had never been added. Signed-off-by: Mats Wichmann <mats@linux.com>
| * [PR 3462] python two handle the jsonMats Wichmann2019-10-111-1/+13
| | | | | | | | | | | | | | | | | | reading the cache from the json file got us unicode when running python2, and this broke certain tests when calling subprocess.Popen: TypeError, because all the environment wasn't strings, some was unicode. Signed-off-by: Mats Wichmann <mats@linux.com>
| * [PR 3462] env-var-cache: fix exception to be 2.7 compatibleMats Wichmann2019-10-101-20/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | msvc env-var cache-read function use 'except IOError' since 'FileNotFoundError' did not exist on Py2.7/win32. try to handle error if caceh write fails. add SCONS_CACHE_MSVC_CONFIG to manpage. SCONS_CACHE_MSVC_CONFIG can take a pathname to specify the cache file to use, or it can use the default. slightly simplified logging setup - logging is stdlib since py2.3, no need for try block on import. Signed-off-by: Mats Wichmann <mats@linux.com>
| * [WIP] enable persistent caching of vcvars on win32Mats Wichmann2019-10-104-57/+102
| | | | | | | | | | | | | | | | | | | | | | Setting env var SCONS_CACHE_MSVC_CONFIG enables a filesystem cache of vcvars results, making them persistent across scons runs. On test runs (notably our CI system) this helps a lot; in normal usage where you run one scons invocation at a time instead of many hundreds in a test run it will make things a little more responsive (esp on vs2019) but the impact will be much smaller. Signed-off-by: Mats Wichmann <mats@linux.com>
* | Merge remote-tracking branch 'origin/master'Edoardo Bezzeccheri2019-10-094-8/+32
|\ \ | | | | | | | | | | | | # Conflicts: # src/CHANGES.txt
| * \ Merge branch 'master' into CmdStringHolderWilliam Deegan2019-10-086-67/+156
| |\ \
| | * \ Merge pull request #3457 from mwichmann/emitter-docWilliam Deegan2019-10-081-5/+25
| | |\ \ | | | |/ | | |/| Add doc for *EMITTER consvars
| | | * Add doc for *EMITTER consvars [ci skip]Mats Wichmann2019-10-011-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Three *EMITTER construction variables had documentation of "TODO". A fourth, LDMODULEEMITTER, was not mentioned at all. Signed-off-by: Mats Wichmann <mats@linux.com>
| | * | Merge branch 'master' into patch-1William Deegan2019-10-061-2/+2
| | |\ \
| | | * | Fix bytes not being decoded in suncxx.pyJakub Kulík2019-09-271-2/+2
| | | |/
| | * | fix CheckFunc detection code for MSVCjw0k2019-10-041-0/+4
| | |/
| * | [PR #3434] apply subst fix from #3428Mats Wichmann2019-09-081-1/+1
| | | | | | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* | | Added debug option "timestamp", changed option "timestamp" to ↵Edoardo Bezzeccheri2019-10-092-7/+7
| | | | | | | | | | | | | | | | | | "action_timestamps" As per PR review
* | | Added debug option "timestamp", implementationEdoardo Bezzeccheri2019-10-012-2/+10
| |/ |/|
* | Docs for InstallVersionedLib and --install-sandbox [ci skip]Mats Wichmann2019-09-251-0/+16
| | | | | | | | | | | | | | | | | | | | | | Adds --install-sandbox to manpage options and to section on Install builder. Adds mention of InstallVersionedLib to user guide. Fixes #3007 Signed-off-by: Mats Wichmann <mats@linux.com>
* | Remove deprecated debug optionsMats Wichmann2019-09-121-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These options have been deprecated since 2007. They were originally announced to be disabled in SCons 2.0.0, but that didn't happen. Left the deprecated-debug-options behavior is in, but the dictionary of such options is now empty, and there's a new dict of removed options, and presence in that dict raises an exception. The four tests that were in test/Deprecated move to a new directory test/Removed and are simplified just to make sure invocation errors scons out. (git interprets most of these as remove/add for some reason) These appear to have been already removed from docs, so no doc impact. Signed-off-by: Mats Wichmann <mats@linux.com>
* | Builder and Variable Subst doc updates [ci skip]Mats Wichmann2019-09-091-40/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work on Builder Methods and Variable Substitution man sections - some wording tweaks, do some formatting markup a little more consistently, etc. Tweak the wording for the Command builder, a description shared between manpage and userguide. Closes #3030: Environment.xml had many references to detail sections elsewhere, like "see XXX section below," which don't work well - this xml is generated into both the manpage and the user guide, and the locality of saying "below" is incorrect for the latter since those sections are only in the manpage. Essentially these are changed to say "see the manpage section XXX". Adding clickable links is of course also possible, but I recall there was some objection to cross-document links, so I didn't do that. Signed-off-by: Mats Wichmann <mats@linux.com>
* | [fix #2444) update env.Whereis docu [ci skip]Mats Wichmann2019-09-081-16/+37
|/ | | | | | Apply the patch in the issue, and further tweak the wording. Signed-off-by: Mats Wichmann <mats@linux.com>
* [#3425] review comment: pluralize source fileMats Wichmann2019-09-071-1/+1
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* [PR #3425] further tweak "default" tool wording [ci skip]Mats Wichmann2019-09-071-13/+13
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* [PR #3425] provide path to src for tool defaults [ci skip]Mats Wichmann2019-09-071-1/+3
| | | | | | addresses review comment Signed-off-by: Mats Wichmann <mats@linux.com>
* [PR #3245] fix sider complaint about misspelling [ci skip]Mats Wichmann2019-09-071-1/+1
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* manpage: clarify that tools=[list] overrides [ci skip]Mats Wichmann2019-09-074-6/+87
| | | | | | | | | Also some formatting tweaks, and a couple of typos. The description of the default tool now lists some of what that may include. Signed-off-by: Mats Wichmann <mats@linux.com>
* Use "in" in preference to string find methodMats Wichmann2019-08-303-6/+6
| | | | | | | | In places where only the found/not found status is needed, use the membership operator (in) for checks instead - makes for easier reading and is considered faster for shorter strings. Signed-off-by: Mats Wichmann <mats@linux.com>
* Clean up D compiler pagesMats Wichmann2019-08-274-924/+329
| | | | | | | | | | | | | | | | | Manpage duplicated (triplicated, actually) tons of construction variables because they were defined in each of the three possible names for the D compiler. Someone already started a DCommon.xml, this just finishes off the job of moving them there; the individual compiler-name docs now do not define any construction vars. THe ProgramAllAtOnce builder had the same problem, and got the same treatment. Note: lots of the cvars don't actually define the term. I don't use D so I'm not proposing any changes at this time, but it would be simple enough to merge in some simple wording if someone thinks it's important enough. Signed-off-by: Mats Wichmann <mats@linux.com>
* [PR #3423] further wording tweak for Dictionary [ci skip]Mats Wichmann2019-08-251-3/+3
| | | | | | | And replaces some written out "construction environment" and "construction variable" uses with existin entities. Signed-off-by: Mats Wichmann <mats@linux.com>
* Update Dictionary documentation to match implementation [ci skip]Mats Wichmann2019-08-252-18/+39
| | | | | | | | | | | | | | | | | | Dictionary is now described as returning a dict only if called with no arguments; if called with arguments it returns a string or list of strings (matching the implmenentation). Note env.Dump() only takes zero arguments or one, it it not documented as taking the multiple keys, so there's less ambiguity with it. Some examples twiddled a little, and in a couple of cases Dictionary is not used any longer - we might as well just index into the construction environment since that works. Fixes #3156 Signed-off-by: Mats Wichmann <mats@linux.com>
* Improve threading performance by sharing NodeInfo across threadsMathew Robinson2019-08-192-8/+7
|
* Added -fopenmp and -openmp to the docs.benjamin reed2019-08-011-0/+2
|
* Merge branch 'master' of github.com:breed/sconsbenjamin reed2019-08-014-7/+88
|\
| * Merge branch 'master' into masterWilliam Deegan2019-07-314-7/+88
| |\
| | * Merge pull request #3418 from dragon512/fix-regressionWilliam Deegan2019-07-312-4/+3
| | |\ | | | | | | | | Fix regression in 3.1.0 with removal of DeciderNeedsNode
| | | * Add test and fix to regression in current 3.1.0 dropJason Kenny2019-07-301-0/+2
| | | |
| | | * Remove usage of DeciderNeedsNode which has been removed from --debug=explain ↵William Deegan2019-07-241-4/+1
| | | | | | | | | | | | | | | | code
| | * | Don't chain exceptions in CacheDirTestsMathew Robinson2019-07-311-6/+0
| | | |
| | * | Fix some lingering SCons.Errors.EnvironmentError usage (fixes #3415)Mathew Robinson2019-07-312-3/+91
| | |/