Path to this page:
Subject: CVS commit: pkgsrc/devel/scons
From: Adam Ciarcinski
Date: 2019-09-17 10:23:42
Message id: 20190917082342.9E062FBF4@cvs.NetBSD.org
Log Message:
scons: updated to 3.1.1
RELEASE 3.1.1:
- Remove obsoleted references to DeciderNeedsNode which could cause crash when \
using --debug=explain
- Add Fix and test for crash in 3.1.0 when using Decider('MD5-timestamp') and \
--debug=explain
- Added -fmerge-all-constants to flags that get included in both CCFLAGS and \
LINKFLAGS.
- Fix issue 3415 - Update remaining usages of EnvironmentError to \
SConsEnvironmentError
this patch fixes issues introduced in 3.1.0 where any of the
following would cause SCons to error and exit:
- CacheDir not write-able
- JSON encoding errors for CacheDir config
- JSON decoding errors for CacheDir config
RELEASE 3.1.0:
- Code to supply correct version-specifier argument to vswhere for
VS version selection.
- 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
- 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)
- 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.
- Additional fix to issue 3135 - Also handle 'pure' and 'elemental' type bound \
procedures
- Fix issue 3135 - Handle Fortran submodules and type bound procedures
- 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.
- Fix handling of Visual Studio Compilers to properly reject any unknown \
HOST_PLATFORM or TARGET_PLATFORM
- Added support for Visual Studio 2019 toolset.
- Update cache debug output to include cache hit rate.
- No longer unintentionally hide exceptions in Action.py
- Allow builders and pseudo-builders to inherit from OverrideEnvironments
- Add logic to derive correct version argument to vswhere
- Enable LaTeX scanner to find more than one include per line
- scons-time takes more care closing files and uses safer mkdtemp to avoid
possible races on multi-job runs.
- Use importlib to dynamically load tool and platform modules instead of imp module
- sconsign: default to .sconsign.dblite if no filename is specified.
Be more informative in case of unsupported pickle protocol (py2 only).
- Fix issue 3336 - on Windows, paths were being added to PATH even if
tools were not found in those paths.
- More fixes for newer Java versions (since 9): handle new jdk directory
naming (jdk-X.Y instead of jdkX.Y) on Windows; handle two-digit major
version. Docstrings improved.
- Fixups for pylint: exception types, redefined functions,
globals, etc. Some old code removed to resolve issues (hashlib is
always present on modern Pythons; no longer need the code for
2.5-and-earlier optparse). cmp is not a builtin function in Py3,
drop one (unused) use; replace one. Fix another instance of
renaming to SConsEnvironmentError. Trailing whitespace.
Consistently use not is/in (if not x is y -> if x is not y).
- Add a PY3-only function for setting up the cachedir that should be less
prone to races. Add a hack to the PY2 version (from Issue 3351) to
be less prone to a race in the check for old-style cache.
- Fix coding error in docbook tool only exercised when using python lxml
- Recognize two additional GNU compiler header directory options in
ParseFlags: -iquote and -idirafter.
- Fix more re patterns that contain \ but not specified as raw strings
(affects scanners for D, LaTeX, swig)
Files: