Scons

Latest version: v4.7.0

Safety actively analyzes 641872 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 11 of 13

0.92

Not secure
From Charles Crain and Gary Oberbrunner:

- Fix Tool import problems with the Intel and PharLap linkers.

From Steven Knight

- Refactor the DictCmdGenerator class to be a Selector subclass.

- Allow the DefaultEnvironment() function to take arguments and pass
them to instantiation of the default construction environment.

- Update the Debian package so it uses Python 2.2 and more closely
resembles the currently official Debian packaging info.

From Gerard Patel

- When the yacc -d flag is used, take the .h file base name from the
target .c file, not the source (matching what yacc does).

0.91

Not secure
From Chad Austin:

- Support specifying a list of tools when calling Environment.Copy().

- Give a Value Nodes a timestamp of the system time when they're
created, so they'll work when using timestamp-based signatures.

- Add a DefaultEnvironment() function that only creates a default
environment on-demand (for fetching source files, e.g.).

- Portability fix for test/M4.py.

From Steven Knight:

- Tighten up the scons -H help output.

- When the input yacc file ends in .yy and the -d flag is specified,
recognize that a .hpp file (not a .h file) will be created.

- Make builder prefixes work correctly when deducing a target
from a source file name in another directory.

- Documentation fixes: typo in the man page; explain up-front about
not propagating the external environment.

- Use "cvs co -d" instead of "cvs co -p >" when checking out something
from CVS with a specified module name. This avoids zero-length
files when there is a checkout error.

- Add an "sconsign" script to print the contents of .sconsign files.

- Speed up maintaining the various lists of Node children by using
dictionaries to avoid "x in list" searches.

- Cache the computed list of Node children minus those being Ignored
so it's only calculated once.

- Fix use of the --cache-show option when building a Program()
(or using any other arbitrary action) by making sure all Action
instances have strfunction() methods.

- Allow the source of Command() to be a directory.

- Better error handling of things like raw TypeErrors in SConscripts.

- When installing using "setup.py install --prefix=", suppress the
distutils warning message about adding the (incorrect) library
directory to your search path.

- Correct the spelling of the "validater" option to "validator."
Add a DeprecatedWarning when the old spelling is used.

- Allow a Builder's emitter to be a dictionary that maps source file
suffixes to emitter functions, using the suffix of the first file
in the source list to pick the right one.

- Refactor the creation of the Program, *Object and *Library Builders
so that they're moved out of SCons.Defaults and created on demand.

- Don't split SConscript file names on white space.

- Document the SConscript function's "dirs" and "name" keywords.

- Remove the internal (and superfluous) SCons.Util.argmunge() function.

- Add /TP to the default CXXFLAGS for msvc, so it can compile all
of the suffixes we use as C++ files.

- Allow the "prefix" and "suffix" attributes of a Builder to be
callable objects that return generated strings, or dictionaries
that map a source file suffix to the right prefix/suffix.

- Support a MAXLINELINELENGTH construction variable on Win32 systems
to control when a temporary file is used for long command lines.

- Make how we build .rpm packages not depend on the installation
locations from the distutils being used.

- When deducing a target Node, create it directly from the first
source Node, not by trying to create the right string to pass to
arg2nodes().

- Add support for SWIG.

From Bram Moolenaar:

- Test portability fixes for FreeBSD.

From Gary Oberbrunner:

- Report the target being built in error messages when building
multiple sources from different extensions, or when the target file
extension can't be deduced, or when we don't have an action for a
file suffix.

- Provide helpful error messages when the arguments to env.Install()
are incorrect.

- Fix the value returned by the Node.prevsiginfo() method to conform
to a previous change when checking whether a node is current.

- Supply a stack trace if the Taskmaster catches an exception.

- When using a temporary file for a long link line on Win32 systems,
(also) print the command line that is being executed through the
temporary file.

- Initialize the LIB environment variable when using the Intel
compiler (icl).

- Documentation fixes: better explain the AlwaysBuild() function.

From Laurent Pelecq:

- When the -debug=pdb option is specified, use pdb.Pdb().runcall() to
call pdb directly, don't call Python recursively.

From Ben Scott:

- Add support for a platform-independent CPPDEFINES variable.

From Christoph Wiedemann:

- Have the g++ Tool actually use g++ in preference to c++.

- Have the gcc Tool actually use gcc in preference to cc.

- Add a gnutools.py test of the GNU tool chain.

- Be smarter about linking: use $CC by default and $CXX only if we're
linking with any C++ objects.

- Avoid SCons hanging when a piped command has a lot of output to read.

- Add QT support for preprocessing .ui files into .c files.

0.90

Not secure
From Chad Austin:

- Fix the _concat() documentation, and add a test for it.

- Portability fixes for non-GNU versions of lex and yacc.

From Matt Balvin:

- Fix handling of library prefixes when the subdirectory matches
the prefix.

From Timothee Bessett:

- Add an M4 Builder.

From Charles Crain:

- Use '.lnk' as the suffix on the temporary file for linking long
command lines (necessary for the Phar Lap linkloc linker).

- Save non-string Options values as their actual type.

- Save Options string values that contain a single quote correctly.

- Save any Options values that are changed from the default
Environment values, not just ones changed on the command line or in
an Options file.

- Make closing the Options file descriptor exception-safe.

From Steven Knight:

- SCons now enforces (with an error) that construction variables
must have the same form as valid Python identifiers.

- Fix man page bugs: remove duplicate AddPostAction() description;
document no_import_lib; mention that CPPFLAGS does not contain
$_CPPINCFLAGS; mention that F77FLAGS does not contain $_F77INCFLAGS;
mention that LINKFLAGS and SHLINKFLAGS contains neither $_LIBFLAGS
nor $_LIBDIRFLAGS.

- Eliminate a dependency on the distutils.fancy_getopt module by
copying and pasting its wrap_text() function directly.

- Make the Script.Options() subclass match the underlying base class
implementation.

- When reporting a target is up to date, quote the target like make
(backquote-quote) instead of with double quotes.

- Fix handling of ../* targets when using -U, -D or -u.

From Steve Leblanc:

- Don't update the .sconsign files when run with -n.

From Gary Oberbrunner:

- Add support for the Intel C Compiler (icl.exe).

From Anthony Roach

- Fix Import('*').

From David Snopek

- Fix use of SConf in paths with white space in them.

- Add CheckFunc and CheckType functionality to SConf.

- Fix use of SConf with Builders that return a list of nodes.

From David Snopek and Christoph Wiedemann

- Fix use of the SConf subsystem with SConscriptChdir().

From Greg Spencer

- Check for the existence of MS Visual Studio on disk before using it,
to avoid getting fooled by leftover junk in the registry.

- Add support for MSVC++ .NET.

- Add support for MS Visual Studio project files (DSP, DSW,
SLN and VCPROJ files).

From Christoph Wiedemann

- SConf now works correctly when the -n and -q options are used.

0.14

From Chad Austin:

- Use .dll (not .so) for shared libraries on Cygwin; use -fPIC
when compiling them.

- Use 'rm' to remove files under Cygwin.

- Add a PLATFORM variable to construction environments.

- Remove the "platform" argument from tool specifications.

- Propogate PYTHONPATH when running the regression tests so distutils
can be found in non-standard locations.

- Using MSVC long command-line linking when running Cygwin.

- Portability fixes for a lot of tests.

- Add a Value Node class for dependencies on in-core Python values.

From Allen Bierbaum:

- Pass an Environment to the Options validator method, and
add an Options.Save() method.

From Steve Christensen:

- Add an optional sort function argument to the GenerateHelpText()
Options function.

- Evaluate the "varlist" variables when computing the signature of a
function action.

From Charles Crain:

- Parse the source .java files for class names (including inner class
names) to figure out the target .class files that will be created.

- Make Java support work with Repositories and SConscriptChdir(0).

- Pass Nodes, not strings, to Builder emitter functions.

- Refactor command-line interpolation and signature calculation
so we can use real Node attributes.

From Steven Knight:

- Add Java support (javac, javah, jar and rmic).

- Propagate the external SYSTEMROOT environment variable into ENV on
Win32 systems, so external commands that use sockets will work.

- Add a .posix attribute to PathList expansions.

- Check out CVS source files using POSIX path names (forward slashes
as separators) even on Win32.

- Add Node.clear() and Node.FS.Entry.clear() methods to wipe out a
Node's state, allowing it to be re-evaluated by continuous
integration build interfaces.

- Change the name of the Set{Build,Content}SignatureType() functions
to {Target,Source}Signatures(). Deprecate the old names but support
them for backwards compatibility.

- Add internal SCons.Node.FS.{Dir,File}.Entry() methods.

- Interpolate the null string if an out-of-range subscript is used
for a construction variable.

- Fix the internal Link function so that it properly links or copies
files in subsidiary BuildDir directories.

- Refactor the internal representation of a single execution instance
of an action to eliminate redundant signature calculations.

- Eliminate redundant signature calculations for Nodes.

- Optimize out calling hasattr() before accessing attributes.

- Say "Cleaning targets" (not "Building...") when the -c option is
used.

From Damyan Pepper:

- Quote the "Entering directory" message like Make.

From Stefan Reichor:

- Add support for using Ghostscript to convert Postscript to PDF files.

From Anthony Roach:

- Add a standalone "Alias" function (separate from an Environment).

- Make Export() work for local variables.

- Support passing a dictionary to Export().

- Support Import('*') to import everything that's been Export()ed.

- Fix an undefined exitvalmap on Win32 systems.

- Support new SetOption() and GetOption() functions for setting
various command-line options from with an SConscript file.

- Deprecate the old SetJobs() and GetJobs() functions in favor of
using the new generic {Set,Get}Option() functions.

- Fix a number of tests that searched for a Fortran compiler using the
external PATH instead of what SCons would use.

- Fix the interaction of SideEffect() and BuildDir() so that (for
example) PDB files get put correctly in a BuildDir().

From David Snopek:

- Contribute the "Autoscons" code for Autoconf-like checking for
the existence of libraries, header files and the like.

- Have the Tool() function add the tool name to the $TOOLS
construction variable.

From Greg Spencer:

- Support the C preprocessor import statement.

- Allow the SharedLibrary() Builder on Win32 systems to be able to
register a newly-built dll using regsvr32.

- Add a Builder for Windows type library (.tlb) files from IDL files.

- Add an IDL scanner.

- Refactor the Fortran, C and IDL scanners to share common logic.

- Add .srcpath and .srcdir attributes to $TARGET and $SOURCE.

From Christoph Wiedemann:

- Integrate David Snopek's "Autoscons" code as the new SConf
configuration subsystem, including caching of values between
runs (using normal SCons dependency mechanisms), tests, and
documentation.

0.13

Not secure
From Charles Crain:

- Fix a bug when BuildDir(duplicate=0) is used and SConscript
files are called from within other SConscript files.

- Support (older) versions of Perforce which don't set the Windows
registry.

0.12

Not secure
From Charles Crain:

- Added support for the Perforce source code management system.

- Fix str(Node.FS) so that it returns a path relative to the calling
SConscript file's directory, not the top-level directory.

- Added support for a separate src_dir argument to SConscript()
that allows explicit specification of where the source files
for an SConscript file can be found.

- Support more easily re-usable flavors of command generators by
calling callable variables when strings are expanded.

From Steven Knight:

- Added an INSTALL construction variable that can be set to a function
to control how the Install() and InstallAs() Builders install files.
The default INSTALL function now copies, not links, files.

- Remove deprecated features: the "name" argument to Builder objects,
and the Environment.Update() method.

- Add an Environment.SourceCode() method to support fetching files
from source code systems. Add factory methods that create Builders
to support BitKeeper, CVS, RCS, and SCCS. Add support for fetching
files from RCS or SCCS transparently (like GNU Make).

- Make the internal to_String() function more efficient.

- Make the error message the same as other build errors when there's a
problem unlinking a target file in preparation for it being built.

- Make TARGET, TARGETS, SOURCE and SOURCES reserved variable names and
warn if the user tries to set them in a construction environment.

- Add support for Tar and Zip files.

- Better documentation of the different ways to export variables to a
subsidiary SConscript file. Fix documentation bugs in a tools
example, places that still assumed SCons split strings on white
space, and typos.

- Support fetching arbitrary files from the TARGETS or SOURCES lists
(e.g. ${SOURCES[2]}) when calculating the build signature of a
command.

- Don't silently swallow exceptions thrown by Scanners (or other
exceptions while finding a node's dependent children).

- Push files to CacheDir() before calling the superclass built()
method (which may clear the build signature as part of clearing
cached implicit dependencies, if the file has a source scanner).
(Bug reported by Jeff Petkau.)

- Raise an internal error if we attempt to push a file to CacheDir()
with a build signature of None.

- Add an explicit Exit() function for terminating early.

- Change the documentation to correctly describe that the -f option
doesn't change to the directory in which the specified file lives.

- Support changing directories locally with SConscript directory
path names relative to any SConstruct file specified with -f.
This allows you to build in another directory by simply changing
there and pointing at the SConstruct file in another directory.

- Change the default SConscriptChdir() behavior to change to the
SConscript directory while it's being read.

- Fix an exception thrown when the -U option was used with no
Default() target specified.

- Fix -u so that it builds things in corresponding build directories
when used in a source directory.

From Lachlan O'Dea:

- Add SharedObject() support to the masm tool.

- Fix WhereIs() to return normalized paths.

From Jeff Petkau:

- Don't copy a built file to a CacheDir() if it's already there.

- Avoid partial copies of built files in a CacheDir() by copying
to a temporary file and renaming.

From Anthony Roach:

- Fix incorrect dependency-cycle errors when an Aliased source doesn't
exist.

Page 11 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.