A new SCons release, 4.7.0, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.6.0:
threading
package has been removedtm_v2
flag is removed,--experimental=legacy_sched
. Additionally,json
formatting will now explicitly specify if a given.. code-block:: text
git shortlog --no-merges -ns 4.6.0..HEAD
26 Andrew Morrow
24 Mats Wichmann
14 William Deegan
7 Joseph Brill
6 StenGruener
3 Prabhu S. Khalsa
3 Thaddeus Crews
2 fazledyn-or
1 Michał Górny
1 Piotr Siupa
Published by bdbaddog 11 months ago
A new SCons release, 4.6.0, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.5.2:
Mkdir
which can happen when two SConscript
kpsewhich glossaries.sty
fails... code-block:: text
git shortlog --no-merges -ns 4.5.2..HEAD
97 Mats Wichmann
39 William Deegan
20 Joseph Brill
12 Alex Burton
4 StenGruener
2 Jonathon Reinhart
2 LiuYinCarl
2 Max Bachmann
1 Kenshin
1 Shohei YOSHIDA
1 Vitaly Cheptsov
Published by bdbaddog over 1 year ago
A new SCons release, 4.5.2, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.5.1:
wheel
dependency from pyproject.toml
,.. code-block:: text
git shortlog --no-merges -ns 4.5.1..HEAD
3 Mats Wichmann
2 William Deegan
1 Michał Górny
Published by bdbaddog over 1 year ago
A new SCons release, 4.5.1, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.5.0:
git shortlog --no-merges -ns 4.5.0..HEAD
3 William Deegan
1 Mats Wichmann
Published by bdbaddog over 1 year ago
A new SCons release, 4.5.0, is now available on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.4.0:
NOTE: If you build with Python 3.10.0 and then rebuild with 3.10.1 (or higher), you may
see unexpected rebuilds. This is due to Python internals changing which changed
the signature of a Python Action Function.
NOTE: If you use a dictionary to specify your CPPDEFINES, you may see an unexpected rebuild.
The insertion order of dictionary keys is now preserved when generating the command line.
Previously these were sorted alphabecially. This change to the command line,
while generating identical set of CPPDEFINES can change order and cause a rebuild.
.. code-block:: text
git shortlog --no-merges -ns 4.4.0..HEAD
93 Mats Wichmann
85 William Deegan
9 Anatoli Babenia
8 Daniel Moody
4 Andrew Morrow
3 Ryan Saunders
2 Flaviu Tamas
1 Dan Mezhiborsky
1 Lukas Schrangl
1 Nickolai Korshunov
1 TZe
1 Thad Guidry
1 djh
Published by bdbaddog about 2 years ago
A new SCons release, 4.4.0, is now available
on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.3.0:
NOTE: If you build with Python 3.10.0 and then rebuild with 3.10.1 (or higher), you may
see unexpected rebuilds. This is due to Python internals changing which changed
the signature of a Python Action Function.
On Windows, %AllUsersProfile%\scons\site_scons
is now the default "system"
location for a site_scons directory.
%AllUsersProfile%\Application Data\scons\site_scons
will continue to work.
There does not seem to be any existing convention to use an
"Application Data" subdirectory here.
Action._subproc() can now be used as a python context manager to ensure that the
POpen object is properly closed.
SCons help (-H) no longer prints the "ignored for compatibility" options,
which are still listed in the manpage.
Help is now sensitive to the size of the terminal window: the width of the
help text will scale to wider (or narrower) terminals than 80 characters.
Ninja: Changed generated build.ninja file to run SCons only build Actions via
a SCons Deamon. Added logic for starting and connecting to SCons daemon (currently
only used for ninja)
The change to "content" and "content-timestamp" Decider names is reflected
in the User Guide as well, since the hash function may be other than md5
(tidying up from earlier change)
If the (experimental) SCONS_CACHE_MSVC_CONFIG feature is used, it will now
attempt a sanity check for the cached compiler information, and regenerate
it if needed. Previously, this cache would fail if a compiler upgrade caused
a change to internal paths (e.g. upgrading from 17.1 to 17.2 causes
a necessary path component in some of the cached vars to need to 14.32.31326
instead of 14.31.31103), and the cache file needed to be manually removed.
The default cachefile name is now "scons_msvc_cache.json" rather than
".scons_msvc_cache" so there should be no transition problem if using the
default; if using a custom cache file name, the cache should still be
manually removed if there are problems to transition to the new style.
Ninja: Update ninja file generation to only create response files for build commands
which exceed MAXLINELENGTH
Update the debug output written to stdout for MSVC initialization which is enabled
by setting SCONS_MSCOMMON_DEBUG=- to use the logging module. Also changed the debug
output format written to stdout to include more information about the source for each
message of MSVC initialization debugging output. A single space was added before the
message for all debugging output records written to stdout and to files.
Ninja: Made ninja tool force the ninja file as the only target. Also improved the default
targets setup and made sure there is always a default target for
the ninja file, which excludes targets that start and stop the daemon.
Ninja: Update ninja tool so targets passed to SCons are propgated to ninja when scons
automatically executes ninja.
Add JavaScanner to include JAVACLASSPATH as a dependency when using the Java tool.
The build argument (i.e., x86) is no longer passed to the MSVC 6.0 to 7.1 batch
files. This may improve the effectiveness of the internal msvc cache when using
MSVC detection and when bypassing MSVC detection as the MSVC 6.0 to 7.1 batch files
do not expect any arguments.
Propagate the OS and windir environment variables from the system environment to the msvc
environment. The OS and windir environment variables are used in the MSVC 6.0 batch file
and the SDK 6.0-7.1 SetEnv.cmd batch files. Inclusion of the OS and windir environment
variables eliminates some partial paths and warnings generated by the MSVC 6.0 and SDK
6.0-7.1 batch files when the variables are not defined.
An exception is raised when MSVC_UWP_APP is enabled for Visual Studio 2013 and earlier.
Previous behavior was to silently ignore MSVC_UWP_APP when enabled for Visual Studio 2013
and earlier. Refer to the documentation for additional requirements and validation details.
MSVC_UWP_APP was extended to accept True, False, and None in addition to '1' and '0'.
Ninja: added option "--skip-ninja-regen" to enable skipping regeneration of the ninja file
if scons can determine the ninja file doesnot need to be regenerated, which will also
skip restarting the scons daemon. Note this option is could result in incorrect rebuilds
if scons Glob or scons generated files are used in ninja build target's command lines.
Tool loading used to have a special case for Jython, it no longer does. This effectively
means SCons doesn't work with Jython, which has in reality been the case ever since
SCons dropped Python 2 support - there is still no timeline for Jython switching to
Python 3 compatibility.
.. code-block:: text
git shortlog --no-merges -ns 4.3.0..HEAD
174 Joseph Brill
126 Mats Wichmann
93 William Deegan
64 Daniel Moody
4 SergBobrovsky
2 dependabot[bot]
1 djh
1 Ivan Kravets
1 Vishwajith-K
1 Zhichang Yu
.. _page: http://sourceforge.net/projects/scons/files/scons/4.4.0/
.. _ChangeLog: https://raw.githubusercontent.com/SCons/scons/rel_4.4.0/CHANGES.txt
Published by bdbaddog over 2 years ago
A new SCons release, 4.3.0, is now available
on the SCons download page:
https://scons.org/pages/download.html
NOTE: 4.3.0 now requires Python 3.6.0 and above. Python 3.5.x is no longer supported
Here is a summary of the changes since 4.2.0:
.. code-block:: text
git shortlog --no-merges -ns 4.2.0..HEAD
47 Mats Wichmann
46 William Deegan
14 Jacob Cassagnol
11 Daniel Moody
8 Ryan Egesdahl
5 Joseph Brill
4 Omar Polo
2 Brian Quistorff
1 Aaron Franke
Published by bdbaddog about 3 years ago
A new SCons release, 4.2.0, is now available
on the SCons download page:
https://scons.org/pages/download.html
Here is a summary of the changes since 4.1.0:
NOTE: The 4.2.0 Release of SCons will deprecate Python 3.5 Support. Python 3.5 support will be dropped in the next major release.
- Add support for the (TARGET,SOURCE,TARGETS,SOURCES,CHANGED_TARGETS,CHANGED_SOURCES}.relpath property.
This will provide a path relative to the top of the build tree (where the SConstruct is located)
Fixes #396
- Added --experimental flag, to enable various experimental features/tools. You can specify
'all', 'none', or any combination of available experimental features.
- Added affect_signature flag to _concat function. If set to False, it will prepend and append $( and $).
That way the various Environment variables can use that rather than "$( _concat(...) $)".
- Deprecate Python 3.5 as a supported version.
- SCons now supports the command-line parameter `--hash-format` to override the default
hash format that SCons uses. It can also be set via `SetOption('hash_format')`. Supported
values are: `md5`, `sha1`, and `sha256`. For all hash formats other than
the default of `md5`, the SConsign database will include the name of the hash format.
For example, `--hash-format=sha256` will create a SConsign with name
`.sconsign_sha256.dblite.`.
- Improve Subst()'s logic to check for proper callable function or class's argument list.
It will now allow callables with expected args, and any extra args as long as they
have default arguments. Additionally functions with no defaults for extra arguments
as long as they are set using functools.partial to create a new callable which set them.
- Internal has_key methods removed from SCons' dictionary-like objects
SubstitutionEnvironment and OverrideEnvironment - in other words,
an env - to match Python 3 which no longer has dict.has_key.
- Removed long-deprecated construction variables PDFCOM, WIN32_INSERT_DEF,
WIN32DEFPREFIX, WIN32DEFSUFFIX, WIN32EXPPREFIX, WIN32EXPSUFFIX.
All have been replaced by other names since at least 1.0.
- Added CACHEDIR_CLASS construction variable and expanded CacheDir method args
to support SCons invoking CacheDir derived classes for CacheDir customization.
Moved copy_from_cache attribute from the Environment class to CacheDir class.
Code contributed by MongoDB.
- Update BuildTask to pass all targets to the progress object fixing an issue
where multi-target build nodes only got the first target passed to the progress
object.
- Change SConscript() missing SConscript behavior - if must_exist=False,
the warning is suppressed.
- The command-line parameter `--md5-chunksize` is now deprecated. Use `--hash-chunksize`
instead.
- Fix Issue #3906 - `IMPLICIT_COMMAND_DEPENDENCIES` was not properly disabled when
set to any string value (For example ['none','false','no','off'])
Also previously 'All' wouldn't have the desired affect.
- DocbookXslt tool: The XSLT stylesheet file is now initialized to an env.File() Node,
such that dependencies work correctly in hierarchical builds (eg when using
DocbookXslt in SConscript('subdir/SConscript') context.
- The Install builder will now set the writable mode on the file(s) it
copies. This restores the (previously undocumented) SCons behavior
that regressed as of 4.0.0.
- Fix issue #3790: Generators in CPPDEFINES now have access to populated source
and target lists
- Fix a potential race condition in shared cache environments where the permissions are
not writeable for a moment after the file has been renamed and other builds (users) will copy
it out of the cacheSmall reorganization of logic to copy files from cachedir. Moved CacheDir
writeable permission code for copy to cache behind the atomic rename operation.
- Fixed intermediate and and multi target nodes generated from SConf tests not being marked
as is_conftest().
.. code-block:: text
git shortlog --no-merges -ns 4.1.0..HEAD
177 William Deegan
101 Daniel Moody
95 Mats Wichmann
25 Adam Gross
4 greenbender
4 Daniel
4 Henrik Maier
4 Mathew Robinson
3 Andrew Morrow
3 Ivan Kravets
3 Dillan Mills
1 WholesomeIsland
1 dependabot[bot]
1 djh
1 Joseph Brill
Published by bdbaddog almost 4 years ago
Here is a summary of the changes since 4.0.1:
COMPILATIONDB_PATH_FILTER
env option for CompilationDatabase() builder which allowsZIP_OVERRIDE_TIMESTAMP
env option to Zip builder which allows for overriding of the fileCompletely rewrote versioned shared libraries logic.
Added support for SOVERSION
via dmoody's initial PR #3733
No longer automatically disable setting SONAME on shared libraries on OpenBSD.
Environment.SideEffect()
no longer adds duplicate side effects.
NOTE: The list of returned side effect Nodes will not include any
duplicate side effect Nodes.
/snap/bin is added to the default search path for the 'posix' platform.
Completely rewrote versioned shared libraries logic.
Added support for SOVERSION
No longer automatically disable setting SONAME
on shared libraries on OpenBSD.
Switch to use ctypes instead of pywin32 (requiring an extra pip install) - Fixes Github Issue #2291
--debug=memory
Tool module not found will now raise a UserError to more clearly indicate this is
probably an SConscript problem, and to make the traceback more relevant.
Fix three issues with MergeFlags:
Only try to initialize the wix tool by default (or when tool default
is explicitly installed)
on Windows based systems.
Add /snap/bin
to env['PATH']
on POSIX, although this is only
really useful for a subset of POSIX systems that use snaps.
Was needed for CI builds, which run on Ubuntu LTS images.
YACC
set at time of tool initialization.ZIPROOT
env option was changed.ZIPCOMSTR
if ZIPCOM
and ZIPCOMSTR
TEMPFILE
in multiple actions in an action list. Previously a builder, or command.. code-block:: text
['${TEMPFILE("xxx.py -otempfile $SOURCE")}', '${TEMPFILE("yyy.py -o$TARGET tempfile")}']
.. code-block:: text
git shortlog --no-merges -ns 4.0.1..HEAD
115 Mats Wichmann
83 William Deegan
14 Adam Gross
4 Joseph Brill
3 Joachim Kuebart
2 GIT
2 Daniel Moody
2 James Benton
1 Unknown
1 Daniel
1 anatoly techtonik
1 Dirk Baechle
1 dependabot[bot]
1 David H
1 Michał Górny
1 Simon Tegelid
.. _page: http://sourceforge.net/projects/scons/files/scons/4.1.0/
.. _ChangeLog: https://raw.githubusercontent.com/SCons/scons/rel_4.1.0/CHANGES.txt
Published by bdbaddog over 5 years ago
This is an alpha release for the Mesa project to try to ensure their windows build issue with MD5-timestamp decider has been resolved.
This should resolve: https://bugs.freedesktop.org/show_bug.cgi?id=109443