[Scons-dev] SCons 3.1.0 Released
Bill Deegan
bill at baddogconsulting.com
Sat Jul 20 22:40:08 EDT 2019
A new SCons checkpoint release, 3.1.0, is now available
on the SCons download page:
https://scons.org/pages/download.html
SCons is an Open Source software construction tool—that is, a
next-generation build tool. Think of SCons as an improved, cross-platform
substitute for the classic Make utility with integrated functionality
similar to autoconf/automake and compiler caches such as ccache. In short,
SCons is an easier, more reliable and faster way to build software.
Here is a summary of the changes since 3.0.5:
NEW FUNCTIONALITY
- Added variable TEMPFILEARGJOIN to specify how to join arguments
written
to temp files used when command lines exceed MAXLINELENGTH when the
command uses $TEMPFILE{...}
- Support for MSVC 2019
- Upgraded and improved Visual Studio solution/project generation code
using the MSVSProject builder.
- Added support for Visual Studio 2017 and 2019.
- Added support for the following per-variant parameters to the
builder:
- cpppaths: Provides per-variant include paths.
- cppdefines: Provides per-variant preprocessor definitions.
CHANGED/ENHANCED EXISTING FUNCTIONALITY
- Fix performance degradation for MD5-timestamp decider. NOTE: This
changes the Decider() function arguments.
From:
def my_decider(dependency, target, prev_ni):
To:
def my_decider(dependency, target, prev_ni, repo_node):
Where repo_node is the repository (or other) node to use to check if
the node is out of date instead of dependency.
- Enhanced --debug=explain output. Now the separate components of the
dependency list are split up
as follows:
scons: rebuilding `file3' because:
the dependency order changed:
->Sources
Old:xxx New:zzz
Old:yyy New:yyy
Old:zzz New:xxx
->Depends
->Implicit
Old:/usr/bin/python New:/usr/bin/python
- Changed: Pseudo-builders now inherit OverrideEnvironments. For
example when calling a pseudo-builder from another
pseudo-builder the override variables passed to the first
pseudo-builder call had to be explicitly passed on to the
internal pseudo-builder call. Now the second pseudo-builder call
will automatically inherit these override values.
FIXES
- Fix Issue #3350 - SCons Exception EnvironmentError is conflicting
with Python's EnvironmentError.
- Fix spurious rebuilds on second build for cases where builder has > 1
target and the source file
is generated. This was causing the > 1th target to not have it's
implicit list cleared when the source
file was actually built, leaving an implicit list similar to follows
for 2nd and higher target
['/usr/bin/python', 'xxx', 'yyy', 'zzz']
This was getting persisted to SConsign and on rebuild it would be
corrected to be similar to this
['zzz', 'yyy', 'xxx', '/usr/bin/python']
Which would trigger a rebuild because the order changed.
The fix involved added logic to mark all shared targets as peers and
then ensure they're implicit
list is all cleared together.
- Fix Issue #3349 - SCons Exception EnvironmentError is conflicting
with Python's EnvironmentError.
Renamed to SConsEnvironmentError
- Fix Issue #3350 - mslink failing when too many objects. This is
resolved by adding TEMPFILEARGJOIN variable
which specifies what character to join all the argements output into
the tempfile. The default remains a space
when mslink, msvc, or mslib tools are loaded they change the
TEMPFILEARGJOIN to be a line separator (\r\n on win32)
- Additional fix to issue #3135 - Also handle 'pure' and 'elemental'
type bound procedures
- Fix handling of Visual Studio Compilers to properly reject any
unknown HOST_PLATFORM or TARGET_PLATFORM
- Enable LaTeX scanner to find more than one include per line
under which they would be observed), or major code cleanups
git shortlog --no-merges -ns 3.0.5..HEAD
64 William Deegan
56 Mats Wichmann
10 Adam Gross
4 Mathew Robinson
4 Peter Diener
3 Lukas Schrangl
1 Daniel Holth
1 bdbaddog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20190720/3bca648a/attachment.html>
More information about the Scons-dev
mailing list