Re: [Scons-users] SCons 4.0.0 Released
Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> Sun, 5 Jul 2020 08:54:52 -0700
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <CAEyG4CE5jcLh-J0tgF9E20vePMRik2tyVxXdFAbdeUy=U-q4qQ@mail.gmail.com> |
--===============7430716228720174744== Content-Type: multipart/alternative; boundary="0000000000000f3e3405a9b3c850" --0000000000000f3e3405a9b3c850 Content-Type: text/plain; charset="UTF-8" Thanks! Well at least there's an easy work around for now. On Sun, Jul 5, 2020 at 7:30 AM Eric Fahlgren <[email protected]> wrote: > 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 >> > _______________________________________________ > Scons-dev mailing list > [email protected] > https://pairlist2.pair.net/mailman/listinfo/scons-dev > --0000000000000f3e3405a9b3c850 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Thanks!</div><div>Well at least there's an easy w= ork around for now.<br></div></div><br><div class=3D"gmail_quote"><div dir= =3D"ltr" class=3D"gmail_attr">On Sun, Jul 5, 2020 at 7:30 AM Eric Fahlgren = <<a href=3D"mailto:[email protected]">[email protected]</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 di= r=3D"ltr"><div dir=3D"ltr" class=3D"gmail_attr"><div class=3D"gmail_default= " style=3D"font-family:arial,sans-serif;color:rgb(0,0,0)">Bill,</div><div c= lass=3D"gmail_default" style=3D"font-family:arial,sans-serif;color:rgb(0,0,= 0)"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-= serif;color:rgb(0,0,0)">Issue filed along with some further experiments.=C2= =A0 <a href=3D"https://github.com/SCons/scons/issues/3736" target=3D"_blank= ">https://github.com/SCons/scons/issues/3736</a></div><div class=3D"gmail_d= efault" style=3D"font-family:arial,sans-serif;color:rgb(0,0,0)"><br></div><= div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;color:rgb= (0,0,0)">I vaguely remember playing with the case-sensitivity options in Wi= ndows 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 man= ner there, too.</div><div class=3D"gmail_default" style=3D"font-family:aria= l,sans-serif;color:rgb(0,0,0)"><br></div><div class=3D"gmail_default" style= =3D"font-family:arial,sans-serif;color:rgb(0,0,0)">Eric</div><div class=3D"= gmail_default" style=3D"font-family:arial,sans-serif;color:rgb(0,0,0)"><br>= </div>On Sat, Jul 4, 2020 at 9:48 PM Bill Deegan <<a href=3D"mailto:bill= @baddogconsulting.com" target=3D"_blank">bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org</a>> = wrote:<br></div><div class=3D"gmail_quote"><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>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 rewritten for 4.0.0 so I'= m not surprised there's an issue or two in the field.</div><div>(the pr= evious code was written before there was a pip... ;) and then duct-taped an= d 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>Hoping to take a break tomo= rrow and I'll look at it on monday.. unless someone else feels like tak= ing a wack at fixing that.. ;)</div><div><br></div><div>-Bill<br></div></di= v><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On S= at, Jul 4, 2020 at 7:41 PM Eric Fahlgren <<a href=3D"mailto:ericfahlgren= @gmail.com" target=3D"_blank">[email protected]</a>> wrote:<br></di= v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde= r-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div s= tyle=3D"font-family:arial,sans-serif;color:rgb(0,0,0)">First, Bill and Mats= and everyone else, thanks for your continued development of SCons!</div><d= iv style=3D"font-family:arial,sans-serif;color:rgb(0,0,0)"><br></div><div s= tyle=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 issue, but when I ran &qu= ot;scons some_target", I got this:</div><div style=3D"font-family:aria= l,sans-serif;color:rgb(0,0,0)"><br></div><div style=3D"font-family:arial,sa= ns-serif;color:rgb(0,0,0)">Traceback (most recent call last):<br>=C2=A0 Fil= e "c:\program files\python38\lib\runpy.py", line 194, in _run_mod= ule_as_main<br>=C2=A0 =C2=A0 return _run_code(code, main_globals, None,<br>= =C2=A0 File "c:\program files\python38\lib\runpy.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"font-family:arial,sans-ser= if;color:rgb(0,0,0)"><br></div><div style=3D"font-family:arial,sans-serif;c= olor:rgb(0,0,0)">It turns out that pip didn't name the installation dir= ectory "site-packages/<b>SCons</b>", but rather all-lower-case &q= uot;site-packages/<b>scons</b>" (as it was with 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 clean, reinstalled 4.0.0 an= d everything was fine.=C2=A0 It appears that pip is not removing the old in= stallation completely and leaving the top-level directory there with improp= er character case, but only when it does an "install 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"gmail_quote"><div dir=3D"l= tr" 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@baddogcons= ulting.com</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">=C2=A0 A new SCons release, 4.0.0, is now avail= able<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"_bla= nk">https://scons.org/pages/download.html</a><br><br>=C2=A0 Here is a summa= ry of the changes since 3.1.2:<br><br>=C2=A0 NEW FUNCTIONALITY<br><br>=C2= =A0 =C2=A0 - Added support for scanning multiple entries in an action strin= g if<br>=C2=A0 =C2=A0 =C2=A0 IMPLICIT_COMMAND_DEPENDENCIES is set to 2 or &= #39;all'. This enables more thorough<br>=C2=A0 =C2=A0 =C2=A0 action sca= nning 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 th= e 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 to 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 th= e value can't be converted to a string or if having 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 characters to draw t= he dependency tree.<br>=C2=A0 =C2=A0 - Add CompilationDatabase() builder in= compilation_db tool. Contributed by MongoDB.<br>=C2=A0 =C2=A0 =C2=A0 Setti= ng COMPILATIONDB_USE_ABSPATH to True|False controls whether the files are a= bsolute or relative<br>=C2=A0 =C2=A0 =C2=A0 paths.=C2=A0 Address Issue #369= 3 and #3694 found during development.<br>=C2=A0 =C2=A0 - Extended `Environm= ent.Dump()` to select a format to serialize construction variables (pretty,= json).<br>=C2=A0 =C2=A0 - New conditional C Scanner (`SCons.Scanner.C.CCon= ditionalScanner()`)<br>=C2=A0 =C2=A0 =C2=A0 which interprets C/C Preprocess= or conditional syntax (#ifdef, #if, #else,<br>=C2=A0 =C2=A0 =C2=A0 #elif, #= define, etc.)<br>=C2=A0 =C2=A0 - Experimental New Feature: Enable caching M= SVC 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 SCons will cache the r= esults of past calls to vcvarsall.bat to<br>=C2=A0 =C2=A0 =C2=A0 a file; in= tegrates with existing memoizing of such vars.<br>=C2=A0 =C2=A0 - Prelimina= ry Python 3.9 support.<br><br>=C2=A0 DEPRECATED FUNCTIONALITY<br><br>=C2=A0= =C2=A0 - Drop support for Python 2.7. SCons will be Python 3.5+ going forw= ard.<br>=C2=A0 =C2=A0 - Remove deprecated SourceCode()<br><br>=C2=A0 CHANGE= D/ENHANCED EXISTING FUNCTIONALITY<br><br>=C2=A0 =C2=A0 - Added check for SO= NAME in environment to setup symlinks correctly (Github Issue #3246)<br>=C2= =A0 =C2=A0 - Resolve Issue #3248 - Removing '-Wl,-Bsymbolic' from S= HLIBVERSIONFLAGS<br>=C2=A0 =C2=A0 =C2=A0 NOTE: If your build depends on the= above you must now add to your SHLIBVERSIONFLAGS<br>=C2=A0 =C2=A0 - Micros= oft Visual Studio - switch to using uuid module to generate GUIDs rather th= an 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 following builders' output= . If your build depends on the output of these builders<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 S= tudio solution/project generation code to add support<br>=C2=A0 =C2=A0 =C2= =A0 for a per-variant cppflags. Intellisense can be affected by cppflags,<b= r>=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 ta= rget. SCons will append /Zc:__cplusplus<br>=C2=A0 =C2=A0 =C2=A0 to the proj= ect'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 c= ppflags.<br>=C2=A0 =C2=A0 - Allow user specified location for vswhere.exe s= pecified 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 protocol 5 whose main advan= tage 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 .sconsign.dblite. You will end u= p with a full rebuild.<br>=C2=A0 =C2=A0 - MSVC updates: When there are mult= iple product installations (e.g, Community and<br>=C2=A0 =C2=A0 =C2=A0 Buil= d Tools) of MSVC 2017 or MSVC 2019, an Enterprise, Professional,<br>=C2=A0 = =C2=A0 =C2=A0 or Community installation will be selected before a Build Too= ls 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 - MSV= C updates: When there are multiple product installations 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 "14.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 Powershell to default env<br>= =C2=A0 =C2=A0 =C2=A0 (used to call telemetry script).<br>=C2=A0 =C2=A0 - Re= named as.py to asm.py and left redirecting tool. =C2=A0'as' is a re= served word and so<br>=C2=A0 =C2=A0 =C2=A0 changing the name was required a= s we wanted to import symbols for use in compilation_db<br>=C2=A0 =C2=A0 = =C2=A0 tool.<br>=C2=A0 =C2=A0 - Add no_progress (-Q) option as a set-able o= ption. However, setting it in the<br>=C2=A0 =C2=A0 =C2=A0 SConstruct/SConsc= ript will still cause "scons: Reading SConscript files ..." to be= <br>=C2=A0 =C2=A0 =C2=A0 printed, since the option is not set when the buil= d scripts first get read.<br>=C2=A0 =C2=A0 - Docbook builder provides a fal= lback if lxml fails to generate<br>=C2=A0 =C2=A0 =C2=A0 a document with tos= tring().<br>=C2=A0 =C2=A0 - SubstitutionEnvironment and OverrideEnvironment= now have keys()<br>=C2=A0 =C2=A0 =C2=A0 and values() methods to better emu= late a dict (already had items()).<br><br>=C2=A0 FIXES<br><br>=C2=A0 =C2=A0= - Cleanup dangling symlinks before running builders (Issue #3516)<br>=C2= =A0 =C2=A0 - Fixed usage of abspath and path for RootDir objects on Windows= . Previously<br>=C2=A0 =C2=A0 =C2=A0 env.fs.Dir("T:").abspath wou= ld return "T:\T:" and now it correctly returns "T:".<br= >=C2=A0 =C2=A0 - Fix Issue #3469 - Fixed improper reuse of temporary and co= mpiled files by Configure when changing<br>=C2=A0 =C2=A0 =C2=A0 the order a= nd/or number of tests.=C2=A0 This is done by using the hash of the generate= d 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 (For example)<br>=C2=A0 =C2= =A0 =C2=A0 - conftest_68b375d16e812c43e6d72d6e93401e7c_0.c,<br>=C2=A0 =C2= =A0 =C2=A0 =C2=A0 conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f= 46b2ab2f7950455f187.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_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f= 46b2ab2f7950455f187 (for executable)<br>=C2=A0 =C2=A0 - Updated documentati= on toolchain to work properly under Python3, also<br>=C2=A0 =C2=A0 =C2=A0 r= emoved libxslt support from the Docbook Tool. (issue #3580)<br>=C2=A0 =C2= =A0 - Fix broken clang + MSVC 2019 combination by using MSVC configuration = logic to<br>=C2=A0 =C2=A0 =C2=A0 propagate 'VCINSTALLDIR' and '= VCToolsInstallDir' which clang tools use to locate<br>=C2=A0 =C2=A0 =C2= =A0 header files and libraries from MSVC install. (Fixes GH Issue #3480)<br= >=C2=A0 =C2=A0 - Fix Github Issue #2904 - Provide useful error 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 complete the currently = open one before creating another<br><br>=C2=A0 IMPROVEMENTS<br><br>=C2=A0 = =C2=A0 - Improve performance of Subst by preventing unnecessary 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 preventing<br>= =C2=A0 =C2=A0 =C2=A0 unnecessary calls to eval when a token is surrounded i= n 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 recursion.<br><b= r>=C2=A0 PACKAGING<br><br>=C2=A0 =C2=A0 - Resolve Issue #3451 and Issue #34= 50 - Rewrite SCons setup.py and packaging. Move script logic to entry point= s so<br>=C2=A0 =C2=A0 =C2=A0 package can create scripts which use the corre= ct version of Python.<br><br>=C2=A0 DOCUMENTATION<br><br>=C2=A0 =C2=A0 - Si= gnificant rework of documentation: API docs are now generated<br>=C2=A0 =C2= =A0 =C2=A0 using Sphinx; manpage and user guide now use more "standard= "<br>=C2=A0 =C2=A0 =C2=A0 markup elements (which could facilitate late= r 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 repos= itory / website (<a href=3D"http://scons-cookbook.readthedocs.io" target=3D= "_blank">scons-cookbook.readthedocs.io</a>).<br><br>=C2=A0 Thanks to the fo= llowing contributors listed below for their contributions to this release.<= br><br>git shortlog --no-merges -ns 3.1.2..HEAD<br>=C2=A0 =C2=A0290 =C2=A0W= illiam 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=A0Mathew Robinson<br>= =C2=A0 =C2=A0 =C2=A06 =C2=A0Paul Tipei<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Rob B= oehne<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 Morrow<br>=C2=A0 =C2=A0= =C2=A01 =C2=A0Iosif Daniel Kurazs<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0James Ben= ton<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=A0Andrii 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> _______________________________________________<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> --0000000000000f3e3405a9b3c850-- --===============7430716228720174744== 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 --===============7430716228720174744==--