SCons 3.1.0 Released

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CHaLPF=xtaohEFaHc4sRMjku_rZXhcBZfufz3DDTRPyuQ__44377.4750501447$1563677216$gmane$org@mail.gmail.com>
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

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.