Re: [Scons-users] SCons 4.0.0 Released
Bill Deegan <bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org> Sat, 4 Jul 2020 21:47:56 -0700
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <CAEyG4CF+-Nhx8dFOk5gt2W-bCZWAwOVPHHnhu50NF=N5Ah8U=Q__10693.1176896737$1593924835$gmane$org@mail.gmail.com> |
--===============1878646627967962359== Content-Type: multipart/alternative; boundary="000000000000e7a07f05a9aa763c" --000000000000e7a07f05a9aa763c Content-Type: text/plain; charset="UTF-8" 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 > --000000000000e7a07f05a9aa763c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <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>P= ackaging has been completely rewritten for 4.0.0 so I'm not surprised t= here's an issue or two in the field.</div><div>(the previous code was w= ritten 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 beca= use windows is case insensitive..</div><div><br></div><div>Please file an I= ssue.</div><div><br></div><div>Hoping to take a break tomorrow and I'll= look at it on monday.. unless someone else feels like taking a wack at fix= ing that.. ;)</div><div><br></div><div>-Bill<br></div></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 4, 2020 = at 7:41 PM Eric Fahlgren <<a href=3D"mailto:[email protected]">eric= [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 dir=3D"ltr"><div class=3D"gmail_default" style=3D"fo= nt-family:arial,sans-serif;color:rgb(0,0,0)">First, Bill and Mats and every= one else, thanks for your continued development of SCons!</div><div class= =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-seri= f;color:rgb(0,0,0)">I ran into a strange, probably Windows-specific issue u= pon installing 4.0.0.=C2=A0 I simply did "pip install scons=3D=3D4.0.0= " without issue, but when I ran "scons some_target", I got t= his:</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-seri= f;color:rgb(0,0,0)"><br></div><div class=3D"gmail_default" style=3D"font-fa= mily:arial,sans-serif;color:rgb(0,0,0)">Traceback (most recent call 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_globa= ls, 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", l= ine 4, in <module><br>=C2=A0 =C2=A0 SCons.Script.main()<br>ModuleNotF= oundError: No module named 'SCons'</div><div class=3D"gmail_default= " style=3D"font-family:arial,sans-serif;color:rgb(0,0,0)"><br></div><div cl= ass=3D"gmail_default" style=3D"font-family:arial,sans-serif;color:rgb(0,0,0= )">It turns out that pip didn't name the installation directory "s= ite-packages/<b>SCons</b>", but rather all-lower-case "site-packa= ges/<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 and everything w= as fine.=C2=A0 It appears that pip is not removing the old installation com= pletely and leaving the top-level directory there with improper character c= ase, but only when it does an "install over old".=C2=A0 I reprodu= ced 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"ltr" class=3D"gma= il_attr">On Sat, Jul 4, 2020 at 3:57 PM Bill Deegan <<a href=3D"mailto:b= ill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org" target=3D"_blank">bill-cJFiu+DHMVC5azolltMz9laTQe2KTcn/@public.gmane.org</a>&g= t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p= x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div d= ir=3D"ltr">=C2=A0 A new SCons release, 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 FUNCTIONALITY<br><br>=C2=A0 =C2=A0 - Added s= upport for scanning multiple entries in an action string if<br>=C2=A0 =C2= =A0 =C2=A0 IMPLICIT_COMMAND_DEPENDENCIES 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 i= f 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 - Add= ed 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 the 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 l= ine argument =C2=A0"--tree"<br>=C2=A0 =C2=A0 =C2=A0 that instruct= s scons to use single line drawing characters to draw the dependency tree.<= br>=C2=A0 =C2=A0 - Add CompilationDatabase() builder in compilation_db tool= . Contributed by MongoDB.<br>=C2=A0 =C2=A0 =C2=A0 Setting COMPILATIONDB_USE= _ABSPATH to True|False controls whether the files are absolute or relative<= br>=C2=A0 =C2=A0 =C2=A0 paths.=C2=A0 Address Issue #3693 and #3694 found du= ring development.<br>=C2=A0 =C2=A0 - Extended `Environment.Dump()` to selec= t a format to serialize construction variables (pretty, json).<br>=C2=A0 = =C2=A0 - New conditional C Scanner (`SCons.Scanner.C.CConditionalScanner()`= )<br>=C2=A0 =C2=A0 =C2=A0 which interprets C/C Preprocessor conditional syn= tax (#ifdef, #if, #else,<br>=C2=A0 =C2=A0 =C2=A0 #elif, #define, etc.)<br>= =C2=A0 =C2=A0 - Experimental New Feature: Enable caching MSVC configuration= <br>=C2=A0 =C2=A0 =C2=A0 If SCONS_CACHE_MSVC_CONFIG shell environment varia= ble is set,<br>=C2=A0 =C2=A0 =C2=A0 SCons will cache the results of past ca= lls to vcvarsall.bat to<br>=C2=A0 =C2=A0 =C2=A0 a file; integrates with exi= sting memoizing of such vars.<br>=C2=A0 =C2=A0 - Preliminary Python 3.9 sup= port.<br><br>=C2=A0 DEPRECATED FUNCTIONALITY<br><br>=C2=A0 =C2=A0 - Drop su= pport 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 EXIS= TING FUNCTIONALITY<br><br>=C2=A0 =C2=A0 - Added check for SONAME in environ= ment to setup symlinks correctly (Github Issue #3246)<br>=C2=A0 =C2=A0 - Re= solve Issue #3248 - Removing '-Wl,-Bsymbolic' from SHLIBVERSIONFLAG= S<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 - Microsoft Visual Stud= io - 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 following builders' output. If your build= depends on the output of these builders<br>=C2=A0 =C2=A0 =C2=A0 you will l= ikely 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/p= roject generation code to add support<br>=C2=A0 =C2=A0 =C2=A0 for a per-var= iant 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 specif= ies<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 cppfla= gs when a /std:c++* flag is found as this is<br>=C2=A0 =C2=A0 =C2=A0 requir= ed for intellisense to use the C++ standard version from cppflags.<br>=C2= =A0 =C2=A0 - Allow user specified location for vswhere.exe specified by VSW= HERE.<br>=C2=A0 =C2=A0 =C2=A0 NOTE: This must be set at the time the 'm= svc' 'msvs' and/or 'mslink' tool(s) are initialized to = have any effect.<br>=C2=A0 =C2=A0 - Fixed Github Issue 3628 - Hardcoding pi= ckle protocol to 4 (supports python 3.4+)<br>=C2=A0 =C2=A0 =C2=A0 and skipp= ing Python 3.8's new pickle protocol 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 yo= ur<br>=C2=A0 =C2=A0 =C2=A0 .sconsign.dblite. You will end up with a full re= build.<br>=C2=A0 =C2=A0 - MSVC updates: When there are multiple product ins= tallations (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 selected before a Build Tools installation = when<br>=C2=A0 =C2=A0 =C2=A0 "14.1" or "14.2" is reques= ted, respectively. (GH Issue #3699).<br>=C2=A0 =C2=A0 - MSVC 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 Expr= ess 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 se= tup 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 - Renamed as.py to= asm.py and left redirecting tool. =C2=A0'as' is a reserved word an= d so<br>=C2=A0 =C2=A0 =C2=A0 changing the name was required as 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 option. However, = setting it in the<br>=C2=A0 =C2=A0 =C2=A0 SConstruct/SConscript 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 build scripts firs= t get read.<br>=C2=A0 =C2=A0 - Docbook 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 - SubstitutionEnvironment and OverrideEnvironment now have ke= ys()<br>=C2=A0 =C2=A0 =C2=A0 and values() methods to better emulate a dict = (already had items()).<br><br>=C2=A0 FIXES<br><br>=C2=A0 =C2=A0 - Cleanup d= angling symlinks before running builders (Issue #3516)<br>=C2=A0 =C2=A0 - F= ixed usage of abspath and path for RootDir objects on Windows. Previously<b= r>=C2=A0 =C2=A0 =C2=A0 env.fs.Dir("T:").abspath would return &quo= t;T:\T:" and now it correctly returns "T:".<br>=C2=A0 =C2=A0= - Fix Issue #3469 - Fixed improper reuse of temporary and compiled files b= y Configure when changing<br>=C2=A0 =C2=A0 =C2=A0 the order and/or number o= f tests.=C2=A0 This is done by using the hash of the generated temporary fi= les<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 name= d:<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 - co= nftest_68b375d16e812c43e6d72d6e93401e7c_0.c,<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0= conftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f1= 87.o<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 or<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 conft= est_68b375d16e812c43e6d72d6e93401e7c_0.o<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 con= ftest_68b375d16e812c43e6d72d6e93401e7c_0_5713f09fc605f46b2ab2f7950455f187 (= for executable)<br>=C2=A0 =C2=A0 - Updated documentation toolchain to work = properly under Python3, also<br>=C2=A0 =C2=A0 =C2=A0 removed libxslt suppor= t 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 l= ibraries from MSVC install. (Fixes GH Issue #3480)<br>=C2=A0 =C2=A0 - Fix G= ithub Issue #2904 - Provide useful error message when more than one Configu= re Contexts are opened.<br>=C2=A0 =C2=A0 =C2=A0 Only one open is allowed. Y= ou must call conf.Finish() to complete the currently open one before creati= ng another<br><br>=C2=A0 IMPROVEMENTS<br><br>=C2=A0 =C2=A0 - Improve perfor= mance of Subst by preventing unnecessary frame<br>=C2=A0 =C2=A0 =C2=A0 allo= cations 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 perfor= mance of Subst in some cases by preventing<br>=C2=A0 =C2=A0 =C2=A0 unnecess= ary 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 s= ubst by removing unnecessary recursion.<br><br>=C2=A0 PACKAGING<br><br>=C2= =A0 =C2=A0 - Resolve Issue #3451 and Issue #3450 - Rewrite SCons setup.py a= nd packaging. Move script logic to entry points so<br>=C2=A0 =C2=A0 =C2=A0 = package can create scripts which use the correct version of Python.<br><br>= =C2=A0 DOCUMENTATION<br><br>=C2=A0 =C2=A0 - Significant rework of documenta= tion: API docs are now generated<br>=C2=A0 =C2=A0 =C2=A0 using Sphinx; manp= age and user guide now use more "standard"<br>=C2=A0 =C2=A0 =C2= =A0 markup elements (which could facilitate later conversion to a<br>=C2=A0= =C2=A0 =C2=A0 different doc format, should that choice be made); significa= nt<br>=C2=A0 =C2=A0 =C2=A0 rewordings in manpage.=C2=A0 Manpage Examples mo= ved to an external<br>=C2=A0 =C2=A0 =C2=A0 repository / website (<a href=3D= "http://scons-cookbook.readthedocs.io" target=3D"_blank">scons-cookbook.rea= dthedocs.io</a>).<br><br>=C2=A0 Thanks to the following contributors listed= below for their contributions to this release.<br><br>git shortlog --no-me= rges -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=A0Mathew Robinson<br>=C2=A0 =C2=A0 =C2=A06 =C2=A0= Paul 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 Morrow<br>=C2=A0 =C2=A0 =C2=A01 =C2=A0Iosif Dan= iel 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<b= r>=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> --000000000000e7a07f05a9aa763c-- --===============1878646627967962359== 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 --===============1878646627967962359==--