Re: [Scons-users] SCons 4.0.0 Released
Eric Fahlgren <[email protected]> Sun, 5 Jul 2020 07:30:36 -0700
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <CAP2Qz+UZ-h-3pKpQo5ibQsCz5q6rxA_w-V6ZBXRJHoJjbwEPTQ@mail.gmail.com> |
--===============7059182486807103921== Content-Type: multipart/alternative; boundary="000000000000a5d2cd05a9b29a2a" --000000000000a5d2cd05a9b29a2a Content-Type: text/plain; charset="UTF-8" Bill, Issue filed along with some further experiments. https://github.com/SCons/scons/issues/3736 I vaguely remember playing with the case-sensitivity options in Windows on this machine years ago, so I tested everything on another machine where Windows is pristine, but no joy, same issue presented in the same manner there, too. Eric On Sat, Jul 4, 2020 at 9:48 PM Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> wrote: > Eric, > > Try pip install SCons==4.0 > Does that make a difference? > > Packaging has been completely rewritten for 4.0.0 so I'm not surprised > there's an issue or two in the field. > (the previous code was written before there was a pip... ;) and then > duct-taped and bailing wired.. so it needed a rewrite) > > Ahh. Interesting because windows is case insensitive.. > > Please file an Issue. > > Hoping to take a break tomorrow and I'll look at it on monday.. unless > someone else feels like taking a wack at fixing that.. ;) > > -Bill > > On Sat, Jul 4, 2020 at 7:41 PM Eric Fahlgren <[email protected]> > wrote: > >> First, Bill and Mats and everyone else, thanks for your continued >> development of SCons! >> >> I ran into a strange, probably Windows-specific issue upon installing >> 4.0.0. I simply did "pip install scons==4.0.0" without issue, but when I >> ran "scons some_target", I got this: >> >> Traceback (most recent call last): >> File "c:\program files\python38\lib\runpy.py", line 194, in >> _run_module_as_main >> return _run_code(code, main_globals, None, >> File "c:\program files\python38\lib\runpy.py", line 87, in _run_code >> exec(code, run_globals) >> File "C:\Program Files\Python38\Scripts\scons.exe\__main__.py", line 4, >> in <module> >> SCons.Script.main() >> ModuleNotFoundError: No module named 'SCons' >> >> It turns out that pip didn't name the installation directory >> "site-packages/*SCons*", but rather all-lower-case "site-packages/*scons*" >> (as it was with 3.1.2), so none of the run commands, scripts or tools will >> load. I did "pip uninstall -y scons", made sure Lib/site-packages was >> clean, reinstalled 4.0.0 and everything was fine. It appears that pip is >> not removing the old installation completely and leaving the top-level >> directory there with improper character case, but only when it does an >> "install over old". I reproduced this a couple times, reinstalling 3.1 and >> then 4.0 over it to confirm. >> >> On Sat, Jul 4, 2020 at 3:57 PM Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> >> wrote: >> >>> A new SCons release, 4.0.0, is now available >>> on the SCons download page: >>> >>> https://scons.org/pages/download.html >>> >>> Here is a summary of the changes since 3.1.2: >>> >>> NEW FUNCTIONALITY >>> >>> - Added support for scanning multiple entries in an action string if >>> IMPLICIT_COMMAND_DEPENDENCIES is set to 2 or 'all'. This enables >>> more thorough >>> action scanning where every item in each command line is scanned >>> to determine >>> if it is a non-source and non-target path and added to the list of >>> implicit dependencies >>> for the target. >>> - Added new module SCons.Scanner.Python to allow scanning .py files. >>> - Added support for explicitly passing a name when creating Value() >>> nodes. This may be useful >>> when the value can't be converted to a string or if having a name >>> is otherwise desirable. >>> - Added a new flag called "linedraw" for the command line argument >>> "--tree" >>> that instructs scons to use single line drawing characters to draw >>> the dependency tree. >>> - Add CompilationDatabase() builder in compilation_db tool. >>> Contributed by MongoDB. >>> Setting COMPILATIONDB_USE_ABSPATH to True|False controls whether >>> the files are absolute or relative >>> paths. Address Issue #3693 and #3694 found during development. >>> - Extended `Environment.Dump()` to select a format to serialize >>> construction variables (pretty, json). >>> - New conditional C Scanner (`SCons.Scanner.C.CConditionalScanner()`) >>> which interprets C/C Preprocessor conditional syntax (#ifdef, #if, >>> #else, >>> #elif, #define, etc.) >>> - Experimental New Feature: Enable caching MSVC configuration >>> If SCONS_CACHE_MSVC_CONFIG shell environment variable is set, >>> SCons will cache the results of past calls to vcvarsall.bat to >>> a file; integrates with existing memoizing of such vars. >>> - Preliminary Python 3.9 support. >>> >>> DEPRECATED FUNCTIONALITY >>> >>> - Drop support for Python 2.7. SCons will be Python 3.5+ going >>> forward. >>> - Remove deprecated SourceCode() >>> >>> CHANGED/ENHANCED EXISTING FUNCTIONALITY >>> >>> - Added check for SONAME in environment to setup symlinks correctly >>> (Github Issue #3246) >>> - Resolve Issue #3248 - Removing '-Wl,-Bsymbolic' from >>> SHLIBVERSIONFLAGS >>> NOTE: If your build depends on the above you must now add to your >>> SHLIBVERSIONFLAGS >>> - Microsoft Visual Studio - switch to using uuid module to generate >>> GUIDs rather than hand rolled >>> method using md5 directly. >>> NOTE: This change affects the following builders' output. If your >>> build depends on the output of these builders >>> you will likely see a rebuild. >>> * Package() (with PACKAGETYPE='msi') >>> * MSVSSolution() >>> * MSVSProject() >>> - Improve Visual Studio solution/project generation code to add >>> support >>> for a per-variant cppflags. Intellisense can be affected by >>> cppflags, >>> this is especially important when it comes to /std:c++* which >>> specifies >>> what C++ standard version to target. SCons will append >>> /Zc:__cplusplus >>> to the project's cppflags when a /std:c++* flag is found as this is >>> required for intellisense to use the C++ standard version from >>> cppflags. >>> - Allow user specified location for vswhere.exe specified by VSWHERE. >>> NOTE: This must be set at the time the 'msvc' 'msvs' and/or >>> 'mslink' tool(s) are initialized to have any effect. >>> - Fixed Github Issue 3628 - Hardcoding pickle protocol to 4 >>> (supports python 3.4+) >>> and skipping Python 3.8's new pickle protocol 5 whose main >>> advantage is for out-of-band data buffers. >>> NOTE: If you used Python 3.8 with SCons 3.0.0 or above, you may >>> get a a pickle protocol error. Remove your >>> .sconsign.dblite. You will end up with a full rebuild. >>> - MSVC updates: When there are multiple product installations (e.g, >>> Community and >>> Build Tools) of MSVC 2017 or MSVC 2019, an Enterprise, >>> Professional, >>> or Community installation will be selected before a Build Tools >>> installation when >>> "14.1" or "14.2" is requested, respectively. (GH Issue #3699). >>> - MSVC updates: When there are multiple product installations of >>> MSVC 2017 (e.g., >>> Community and Express), 2017 Express is no longer returned when >>> "14.1" is >>> requested. Only 2017 Express will be returned when "14.1Exp" is >>> requested. >>> (GH Issue #3699). >>> - MSVC updates: pass on VSCMD_DEBUG and VSCMD_SKIP_SENDTELEMETRY to >>> msvc >>> tool setup if set in environment. Add Powershell to default env >>> (used to call telemetry script). >>> - Renamed as.py to asm.py and left redirecting tool. 'as' is a >>> reserved word and so >>> changing the name was required as we wanted to import symbols for >>> use in compilation_db >>> tool. >>> - Add no_progress (-Q) option as a set-able option. However, setting >>> it in the >>> SConstruct/SConscript will still cause "scons: Reading SConscript >>> files ..." to be >>> printed, since the option is not set when the build scripts first >>> get read. >>> - Docbook builder provides a fallback if lxml fails to generate >>> a document with tostring(). >>> - SubstitutionEnvironment and OverrideEnvironment now have keys() >>> and values() methods to better emulate a dict (already had >>> items()). >>> >>> FIXES >>> >>> - Cleanup dangling symlinks before running builders (Issue #3516) >>> - Fixed usage of abspath and path for RootDir objects on Windows. >>> Previously >>> env.fs.Dir("T:").abspath would return "T:\T:" and now it correctly >>> returns "T:". >>> - Fix Issue #3469 - Fixed improper reuse of temporary and compiled >>> files by Configure when changing >>> the order and/or number of tests. This is done by using the hash >>> of the generated temporary files >>> content and (For the target files) the hash of the action. >>> So where previously files would be named: >>> - config_1.c, config_1.o, config_1 >>> The will now be named (For example) >>> - conftest_68b375d16e812c43e6d72d6e93401e7c_0.c, >>> >>> conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f187.o >>> or >>> conftest_68b375d16e812c43e6d72d6e93401e7c_0.o >>> >>> conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f187 >>> (for executable) >>> - Updated documentation toolchain to work properly under Python3, >>> also >>> removed libxslt support from the Docbook Tool. (issue #3580) >>> - Fix broken clang + MSVC 2019 combination by using MSVC >>> configuration logic to >>> propagate 'VCINSTALLDIR' and 'VCToolsInstallDir' which clang tools >>> use to locate >>> header files and libraries from MSVC install. (Fixes GH Issue >>> #3480) >>> - Fix Github Issue #2904 - Provide useful error message when more >>> than one Configure Contexts are opened. >>> Only one open is allowed. You must call conf.Finish() to complete >>> the currently open one before creating another >>> >>> IMPROVEMENTS >>> >>> - Improve performance of Subst by preventing unnecessary frame >>> allocations by no longer defining the *Subber classes inside of >>> their >>> respective function calls. >>> - Improve performance of Subst in some cases by preventing >>> unnecessary calls to eval when a token is surrounded in braces >>> but is not a function call. >>> - Improve performance of subst by removing unnecessary recursion. >>> >>> PACKAGING >>> >>> - Resolve Issue #3451 and Issue #3450 - Rewrite SCons setup.py and >>> packaging. Move script logic to entry points so >>> package can create scripts which use the correct version of Python. >>> >>> DOCUMENTATION >>> >>> - Significant rework of documentation: API docs are now generated >>> using Sphinx; manpage and user guide now use more "standard" >>> markup elements (which could facilitate later conversion to a >>> different doc format, should that choice be made); significant >>> rewordings in manpage. Manpage Examples moved to an external >>> repository / website (scons-cookbook.readthedocs.io). >>> >>> Thanks to the following contributors listed below for their >>> contributions to this release. >>> >>> git shortlog --no-merges -ns 3.1.2..HEAD >>> 290 William Deegan >>> 184 Mats Wichmann >>> 46 Adam Gross >>> 22 Daniel Moody >>> 16 Joseph Brill >>> 15 Dirk Baechle >>> 12 Ivan Kravets >>> 9 Mathew Robinson >>> 6 Paul Tipei >>> 1 Rob Boehne >>> 1 Robert Boehne >>> 1 Daniel >>> 1 Andrew Morrow >>> 1 Iosif Daniel Kurazs >>> 1 James Benton >>> 1 Jeremy Elson >>> 1 Konstantin Gonchar >>> 1 Andrii Doroshenko (Xrayez) >>> _______________________________________________ >>> Scons-users mailing list >>> [email protected] >>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>> >> _______________________________________________ >> Scons-dev mailing list >> [email protected] >> https://pairlist2.pair.net/mailman/listinfo/scons-dev >> > _______________________________________________ > Scons-users mailing list > [email protected] > https://pairlist4.pair.net/mailman/listinfo/scons-users > --000000000000a5d2cd05a9b29a2a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr" class=3D"gmail_attr"><div class=3D"gmail_= default" style=3D"font-family:arial,sans-serif;color:#000000">Bill,</div><d= iv class=3D"gmail_default" style=3D"font-family:arial,sans-serif;color:#000= 000"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans= -serif;color:#000000">Issue filed along with some further experiments.=C2= =A0 <a href=3D"https://github.com/SCons/scons/issues/3736">https://github.c= om/SCons/scons/issues/3736</a></div><div class=3D"gmail_default" style=3D"f= ont-family:arial,sans-serif;color:#000000"><br></div><div class=3D"gmail_de= fault" style=3D"font-family:arial,sans-serif;color:#000000">I vaguely remem= ber playing with the case-sensitivity options in Windows on this machine ye= ars ago, so I tested everything on another machine where Windows is pristin= e, but no joy, same issue presented in the same manner there, too.</div><di= v class=3D"gmail_default" style=3D"font-family:arial,sans-serif;color:#0000= 00"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-= serif;color:#000000">Eric</div><div class=3D"gmail_default" style=3D"font-f= amily:arial,sans-serif;color:#000000"><br></div>On Sat, Jul 4, 2020 at 9:48= PM Bill Deegan <<a href=3D"mailto:bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org">bill@baddo= gconsulting.com</a>> wrote:<br></div><div class=3D"gmail_quote"><blockqu= ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px= solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Eric,</div>= <div><br></div><div>Try pip install SCons=3D=3D4.0</div><div>Does that make= a difference?</div><div><br></div><div>Packaging has been completely rewri= tten for 4.0.0 so I'm not surprised there's an issue or two in the = field.</div><div>(the previous code was written before there was a pip... ;= ) and then duct-taped and bailing wired.. so it needed a rewrite)<br></div>= <div><br></div><div>Ahh. Interesting because windows is case insensitive..<= /div><div><br></div><div>Please file an Issue.</div><div><br></div><div>Hop= ing to take a break tomorrow and I'll look at it on monday.. unless som= eone else feels like taking a wack at fixing that.. ;)</div><div><br></div>= <div>-Bill<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" c= lass=3D"gmail_attr">On Sat, Jul 4, 2020 at 7:41 PM Eric Fahlgren <<a hre= f=3D"mailto:[email protected]" target=3D"_blank">[email protected]= m</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin= :0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"= ><div dir=3D"ltr"><div style=3D"font-family:arial,sans-serif;color:rgb(0,0,= 0)">First, Bill and Mats and everyone else, thanks for your continued devel= opment of SCons!</div><div style=3D"font-family:arial,sans-serif;color:rgb(= 0,0,0)"><br></div><div style=3D"font-family:arial,sans-serif;color:rgb(0,0,= 0)">I ran into a strange, probably Windows-specific issue upon installing 4= .0.0.=C2=A0 I simply did "pip install scons=3D=3D4.0.0" without i= ssue, but when I ran "scons some_target", I got this:</div><div s= tyle=3D"font-family:arial,sans-serif;color:rgb(0,0,0)"><br></div><div style= =3D"font-family:arial,sans-serif;color:rgb(0,0,0)">Traceback (most recent c= all last):<br>=C2=A0 File "c:\program files\python38\lib\runpy.py"= ;, line 194, in _run_module_as_main<br>=C2=A0 =C2=A0 return _run_code(code,= main_globals, None,<br>=C2=A0 File "c:\program files\python38\lib\run= py.py", line 87, in _run_code<br>=C2=A0 =C2=A0 exec(code, run_globals)= <br>=C2=A0 File "C:\Program Files\Python38\Scripts\scons.exe\__main__.= py", line 4, in <module><br>=C2=A0 =C2=A0 SCons.Script.main()<br= >ModuleNotFoundError: No module named 'SCons'</div><div style=3D"fo= nt-family:arial,sans-serif;color:rgb(0,0,0)"><br></div><div style=3D"font-f= amily:arial,sans-serif;color:rgb(0,0,0)">It turns out that pip didn't n= ame the installation directory "site-packages/<b>SCons</b>", but = rather all-lower-case "site-packages/<b>scons</b>" (as it was wit= h 3.1.2), so none of the run commands, scripts or tools will load.=C2=A0 I = did "pip uninstall -y scons", made sure Lib/site-packages was cle= an, reinstalled 4.0.0 and everything was fine.=C2=A0 It appears that pip is= not removing the old installation completely and leaving the top-level dir= ectory there with improper character case, but only when it does an "i= nstall over old".=C2=A0 I reproduced this a couple times, reinstalling= 3.1 and then 4.0 over it to confirm.<br></div></div><br><div class=3D"gmai= l_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 4, 2020 at 3:57 = PM Bill Deegan <<a href=3D"mailto:bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org" target=3D"_= blank">bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org</a>> wrote:<br></div><blockquote class= =3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg= b(204,204,204);padding-left:1ex"><div dir=3D"ltr">=C2=A0 A new SCons releas= e, 4.0.0, is now available<br>=C2=A0 on the SCons download page:<br><br>=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"https://scons.org/pages/download= .html" target=3D"_blank">https://scons.org/pages/download.html</a><br><br>= =C2=A0 Here is a summary of the changes since 3.1.2:<br><br>=C2=A0 NEW FUNC= TIONALITY<br><br>=C2=A0 =C2=A0 - Added support for scanning multiple entrie= s in an action string if<br>=C2=A0 =C2=A0 =C2=A0 IMPLICIT_COMMAND_DEPENDENC= IES is set to 2 or 'all'. This enables more thorough<br>=C2=A0 =C2= =A0 =C2=A0 action scanning where every item in each command line is scanned= to determine<br>=C2=A0 =C2=A0 =C2=A0 if it is a non-source and non-target = path and added to the list of implicit dependencies<br>=C2=A0 =C2=A0 =C2=A0= for the target.<br>=C2=A0 =C2=A0 - Added new module SCons.Scanner.Python t= o allow scanning .py files.<br>=C2=A0 =C2=A0 - Added support for explicitly= passing a name when creating Value() nodes. This may be useful<br>=C2=A0 = =C2=A0 =C2=A0 when the value can't be converted to a string or if havin= g a name is otherwise desirable.<br>=C2=A0 =C2=A0 - Added a new flag called= "linedraw" for the command line argument =C2=A0"--tree"= ;<br>=C2=A0 =C2=A0 =C2=A0 that instructs scons to use single line drawing c= haracters to draw the dependency tree.<br>=C2=A0 =C2=A0 - Add CompilationDa= tabase() builder in compilation_db tool. Contributed by MongoDB.<br>=C2=A0 = =C2=A0 =C2=A0 Setting COMPILATIONDB_USE_ABSPATH to True|False controls whet= her the files are absolute or relative<br>=C2=A0 =C2=A0 =C2=A0 paths.=C2=A0= Address Issue #3693 and #3694 found during development.<br>=C2=A0 =C2=A0 -= Extended `Environment.Dump()` to select a format to serialize construction= variables (pretty, json).<br>=C2=A0 =C2=A0 - New conditional C Scanner (`S= Cons.Scanner.C.CConditionalScanner()`)<br>=C2=A0 =C2=A0 =C2=A0 which interp= rets C/C Preprocessor conditional syntax (#ifdef, #if, #else,<br>=C2=A0 =C2= =A0 =C2=A0 #elif, #define, etc.)<br>=C2=A0 =C2=A0 - Experimental New Featur= e: Enable caching MSVC configuration<br>=C2=A0 =C2=A0 =C2=A0 If SCONS_CACHE= _MSVC_CONFIG shell environment variable is set,<br>=C2=A0 =C2=A0 =C2=A0 SCo= ns will cache the results of past calls to vcvarsall.bat to<br>=C2=A0 =C2= =A0 =C2=A0 a file; integrates with existing memoizing of such vars.<br>=C2= =A0 =C2=A0 - Preliminary Python 3.9 support.<br><br>=C2=A0 DEPRECATED FUNCT= IONALITY<br><br>=C2=A0 =C2=A0 - Drop support for Python 2.7. SCons will be = Python 3.5+ going forward.<br>=C2=A0 =C2=A0 - Remove deprecated SourceCode(= )<br><br>=C2=A0 CHANGED/ENHANCED EXISTING FUNCTIONALITY<br><br>=C2=A0 =C2= =A0 - Added check for SONAME in environment to setup symlinks correctly (Gi= thub Issue #3246)<br>=C2=A0 =C2=A0 - Resolve Issue #3248 - Removing '-W= l,-Bsymbolic' from SHLIBVERSIONFLAGS<br>=C2=A0 =C2=A0 =C2=A0 NOTE: If y= our build depends on the above you must now add to your SHLIBVERSIONFLAGS<b= r>=C2=A0 =C2=A0 - Microsoft Visual Studio - switch to using uuid module to = generate GUIDs rather than hand rolled<br>=C2=A0 =C2=A0 =C2=A0 method using= md5 directly.<br>=C2=A0 =C2=A0 =C2=A0 NOTE: This change affects the follow= ing builders' output. If your build depends on the output of these buil= ders<br>=C2=A0 =C2=A0 =C2=A0 you will likely see a rebuild.<br>=C2=A0 =C2= =A0 =C2=A0 * Package() (with PACKAGETYPE=3D'msi')<br>=C2=A0 =C2=A0 = =C2=A0 * MSVSSolution()<br>=C2=A0 =C2=A0 =C2=A0 * MSVSProject()<br>=C2=A0 = =C2=A0 - Improve Visual Studio solution/project generation code to add supp= ort<br>=C2=A0 =C2=A0 =C2=A0 for a per-variant cppflags. Intellisense can be= affected by cppflags,<br>=C2=A0 =C2=A0 =C2=A0 this is especially important= when it comes to /std:c++* which specifies<br>=C2=A0 =C2=A0 =C2=A0 what C+= + standard version to target. SCons will append /Zc:__cplusplus<br>=C2=A0 = =C2=A0 =C2=A0 to the project's cppflags when a /std:c++* flag is found = as this is<br>=C2=A0 =C2=A0 =C2=A0 required for intellisense to use the C++= standard version from cppflags.<br>=C2=A0 =C2=A0 - Allow user specified lo= cation for vswhere.exe specified by VSWHERE.<br>=C2=A0 =C2=A0 =C2=A0 NOTE: = This must be set at the time the 'msvc' 'msvs' and/or '= mslink' tool(s) are initialized to have any effect.<br>=C2=A0 =C2=A0 - = Fixed Github Issue 3628 - Hardcoding pickle protocol to 4 (supports python = 3.4+)<br>=C2=A0 =C2=A0 =C2=A0 and skipping Python 3.8's new pickle prot= ocol 5 whose main advantage is for out-of-band data buffers.<br>=C2=A0 =C2= =A0 =C2=A0 NOTE: If you used Python 3.8 with SCons 3.0.0 or above, you may = get a a pickle protocol error. Remove your<br>=C2=A0 =C2=A0 =C2=A0 .sconsig= n.dblite. You will end up with a full rebuild.<br>=C2=A0 =C2=A0 - MSVC upda= tes: When there are multiple product installations (e.g, Community and<br>= =C2=A0 =C2=A0 =C2=A0 Build Tools) of MSVC 2017 or MSVC 2019, an Enterprise,= Professional,<br>=C2=A0 =C2=A0 =C2=A0 or Community installation will be se= lected before a Build Tools installation when<br>=C2=A0 =C2=A0 =C2=A0 "= ;14.1" or "14.2" is requested, respectively. (GH Issue #3699= ).<br>=C2=A0 =C2=A0 - MSVC updates: When there are multiple product install= ations of MSVC 2017 (e.g.,<br>=C2=A0 =C2=A0 =C2=A0 Community and Express), = 2017 Express is no longer returned when "14.1" is<br>=C2=A0 =C2= =A0 =C2=A0 requested.=C2=A0 Only 2017 Express will be returned when "1= 4.1Exp" is requested.<br>=C2=A0 =C2=A0 =C2=A0 (GH Issue #3699).<br>=C2= =A0 =C2=A0 - MSVC updates: pass on VSCMD_DEBUG and VSCMD_SKIP_SENDTELEMETRY= to msvc<br>=C2=A0 =C2=A0 =C2=A0 tool setup if set in environment. Add Powe= rshell to default env<br>=C2=A0 =C2=A0 =C2=A0 (used to call telemetry scrip= t).<br>=C2=A0 =C2=A0 - Renamed as.py to asm.py and left redirecting tool. = =C2=A0'as' is a reserved word and so<br>=C2=A0 =C2=A0 =C2=A0 changi= ng the name was required as we wanted to import symbols for use in compilat= ion_db<br>=C2=A0 =C2=A0 =C2=A0 tool.<br>=C2=A0 =C2=A0 - Add no_progress (-Q= ) option as a set-able option. However, setting it in the<br>=C2=A0 =C2=A0 = =C2=A0 SConstruct/SConscript will still cause "scons: Reading SConscri= pt files ..." to be<br>=C2=A0 =C2=A0 =C2=A0 printed, since the option = is not set when the build scripts first get read.<br>=C2=A0 =C2=A0 - Docboo= k builder provides a fallback if lxml fails to generate<br>=C2=A0 =C2=A0 = =C2=A0 a document with tostring().<br>=C2=A0 =C2=A0 - SubstitutionEnvironme= nt and OverrideEnvironment now have keys()<br>=C2=A0 =C2=A0 =C2=A0 and valu= es() methods to better emulate a dict (already had items()).<br><br>=C2=A0 = FIXES<br><br>=C2=A0 =C2=A0 - Cleanup dangling symlinks before running build= ers (Issue #3516)<br>=C2=A0 =C2=A0 - Fixed usage of abspath and path for Ro= otDir objects on Windows. Previously<br>=C2=A0 =C2=A0 =C2=A0 env.fs.Dir(&qu= ot;T:").abspath would return "T:\T:" and now it correctly re= turns "T:".<br>=C2=A0 =C2=A0 - Fix Issue #3469 - Fixed improper r= euse of temporary and compiled files by Configure when changing<br>=C2=A0 = =C2=A0 =C2=A0 the order and/or number of tests.=C2=A0 This is done by using= the hash of the generated temporary files<br>=C2=A0 =C2=A0 =C2=A0 content = and (For the target files) the hash of the action.<br>=C2=A0 =C2=A0 =C2=A0 = So where previously files would be named:<br>=C2=A0 =C2=A0 =C2=A0 - config_= 1.c, config_1.o, config_1<br>=C2=A0 =C2=A0 =C2=A0 The will now be named (Fo= r example)<br>=C2=A0 =C2=A0 =C2=A0 - conftest_68b375d16e812c43e6d72d6e93401= e7c_0.c,<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 conftest_68b375d16e812c43e6d72d6e93= 401e7c_0_5713f09fc605f46b2ab2f7950455f187.o<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 = or<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 conftest_68b375d16e812c43e6d72d6e93401e7c= _0.o<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 conftest_68b375d16e812c43e6d72d6e93401e= 7c_0_5713f09fc605f46b2ab2f7950455f187 (for executable)<br>=C2=A0 =C2=A0 - U= pdated documentation toolchain to work properly under Python3, also<br>=C2= =A0 =C2=A0 =C2=A0 removed libxslt support from the Docbook Tool. (issue #35= 80)<br>=C2=A0 =C2=A0 - Fix broken clang + MSVC 2019 combination by using MS= VC configuration logic to<br>=C2=A0 =C2=A0 =C2=A0 propagate 'VCINSTALLD= IR' and 'VCToolsInstallDir' which clang tools use to locate<br>= =C2=A0 =C2=A0 =C2=A0 header files and libraries from MSVC install. (Fixes G= H Issue #3480)<br>=C2=A0 =C2=A0 - Fix Github Issue #2904 - Provide useful e= rror message when more than one Configure Contexts are opened.<br>=C2=A0 = =C2=A0 =C2=A0 Only one open is allowed. You must call conf.Finish() to comp= lete the currently open one before creating another<br><br>=C2=A0 IMPROVEME= NTS<br><br>=C2=A0 =C2=A0 - Improve performance of Subst by preventing unnec= essary frame<br>=C2=A0 =C2=A0 =C2=A0 allocations by no longer defining the = *Subber classes inside of their<br>=C2=A0 =C2=A0 =C2=A0 respective function= calls.<br>=C2=A0 =C2=A0 - Improve performance of Subst in some cases by pr= eventing<br>=C2=A0 =C2=A0 =C2=A0 unnecessary calls to eval when a token is = surrounded in braces<br>=C2=A0 =C2=A0 =C2=A0 but is not a function call.<br= >=C2=A0 =C2=A0 - Improve performance of subst by removing unnecessary recur= sion.<br><br>=C2=A0 PACKAGING<br><br>=C2=A0 =C2=A0 - Resolve Issue #3451 an= d Issue #3450 - Rewrite SCons setup.py and packaging. Move script logic to = entry points so<br>=C2=A0 =C2=A0 =C2=A0 package can create scripts which us= e the correct version of Python.<br><br>=C2=A0 DOCUMENTATION<br><br>=C2=A0 = =C2=A0 - Significant rework of documentation: API docs are now generated<br= >=C2=A0 =C2=A0 =C2=A0 using Sphinx; manpage and user guide now use more &qu= ot;standard"<br>=C2=A0 =C2=A0 =C2=A0 markup elements (which could faci= litate later conversion to a<br>=C2=A0 =C2=A0 =C2=A0 different doc format, = should that choice be made); significant<br>=C2=A0 =C2=A0 =C2=A0 rewordings= in manpage.=C2=A0 Manpage Examples moved to an external<br>=C2=A0 =C2=A0 = =C2=A0 repository / website (<a href=3D"http://scons-cookbook.readthedocs.i= o" target=3D"_blank">scons-cookbook.readthedocs.io</a>).<br><br>=C2=A0 Than= ks to the following contributors listed below for their contributions to th= is release.<br><br>git shortlog --no-merges -ns 3.1.2..HEAD<br>=C2=A0 =C2= =A0290 =C2=A0William Deegan<br>=C2=A0 =C2=A0184 =C2=A0Mats Wichmann<br>=C2= =A0 =C2=A0 46 =C2=A0Adam Gross<br>=C2=A0 =C2=A0 22 =C2=A0Daniel Moody<br>= =C2=A0 =C2=A0 16 =C2=A0Joseph Brill<br>=C2=A0 =C2=A0 15 =C2=A0Dirk Baechle<= br>=C2=A0 =C2=A0 12 =C2=A0Ivan Kravets<br>=C2=A0 =C2=A0 =C2=A09 =C2=A0Mathe= w Robinson<br>=C2=A0 =C2=A0 =C2=A06 =C2=A0Paul Tipei<br>=C2=A0 =C2=A0 =C2= =A01 =C2=A0Rob Boehne<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Robert Boehne<br>=C2= =A0 =C2=A0 =C2=A01 =C2=A0Daniel<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Andrew Morro= w<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Iosif Daniel Kurazs<br>=C2=A0 =C2=A0 =C2= =A01 =C2=A0James Benton<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Jeremy Elson<br>=C2= =A0 =C2=A0 =C2=A01 =C2=A0Konstantin Gonchar<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0= Andrii Doroshenko (Xrayez)</div> _______________________________________________<br> Scons-users mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">Scons-users@scon= s.org</a><br> <a href=3D"https://pairlist4.pair.net/mailman/listinfo/scons-users" rel=3D"= noreferrer" target=3D"_blank">https://pairlist4.pair.net/mailman/listinfo/s= cons-users</a><br> </blockquote></div> _______________________________________________<br> Scons-dev mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]= g</a><br> <a href=3D"https://pairlist2.pair.net/mailman/listinfo/scons-dev" rel=3D"no= referrer" target=3D"_blank">https://pairlist2.pair.net/mailman/listinfo/sco= ns-dev</a><br> </blockquote></div> _______________________________________________<br> Scons-users mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">Scons-users@scon= s.org</a><br> <a href=3D"https://pairlist4.pair.net/mailman/listinfo/scons-users" rel=3D"= noreferrer" target=3D"_blank">https://pairlist4.pair.net/mailman/listinfo/s= cons-users</a><br> </blockquote></div></div> --000000000000a5d2cd05a9b29a2a-- --===============7059182486807103921== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Scons-dev mailing list [email protected] https://pairlist2.pair.net/mailman/listinfo/scons-dev --===============7059182486807103921==--