Scons

Latest version: v4.7.0

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

Scan your dependencies

Page 9 of 13

0.96.96

NOTE: This is (Yet) a(nother) pre-release of 0.97 for testing purposes.

From Joe Bloggs:

- Man page fix: remove cut-and-paste sentence in NoCache() description.

From Dmitry Grigorenko and Gary Oberbrunner:

- Use the Intel C++ compiler, not $CC, to link C++ source.

From Helmut Grohne:

- Fix the man page example of propagating a user's external environment.

From Steven Knight:

- Back out (most of) the Windows registry installer patch, which
seems to not work on some versions of Windows.

- Don't treat Java ".class" attributes as defining an inner class.

- Fix detecting an erroneous Java anonymous class when the first
non-skipped token after a "new" keyword is a closing brace.

- Fix a regression when a CPPDEFINES list contains a tuple, the second
item of which (the option value) is a construction variable expansion
(e.g. $VALUE) and the value of the variable isn't a string.

- Improve the error message if an IOError (like trying to read a
directory as a file) occurs while deciding if a node is up-to-date.

- Fix "maximum recursion" / "unhashable type" errors in $CPPPATH
PathList expansion if a subsidiary expansion yields a stringable,
non-Node object.

- Generate API documentation from the docstrings (using epydoc).

- Fix use of --debug=presub with Actions for out-of-the-box Builders.

- Fix handling nested lists within $CPPPATH, $LIBPATH, etc.

- Fix a "builders_used" AttributeError that real-world Qt initialization
triggered in the refactored suffix handling for Builders.

- Make the reported --debug=time timings meaningful when used with -j.
Better documentation of what the times mean.

- User Guide updates: --random, AlwaysBuild(), --tree=,
--debug=findlibs, --debug=presub, --debug=stacktrace,
--taskmastertrace.

- Document (in both man page and User's Guide) that --implicit-cache
ignores changes in $CPPPATH, $LIBPATH, etc.

From Jean-Baptiste Lab:

- Remove hard-coded dependency on Python 2.2 from Debian packaging files.

From Jeff Mahovsky:

- Handle spaces in the build target name in Visual Studio project files.

From Rob Managan:

- Re-run LaTeX after BibTeX has been re-run in response to a changed
.bib file.

From Joel B. Mohler:

- Make additional TeX auxiliary files (.toc, .idx and .bbl files)
Precious so their removal doesn't affect whether the necessary
sections are included in output PDF or PostScript files.

From Gary Oberbrunner:

- Fix the ability to import modules in the site_scons directory from
a subdirectory.

From Adam Simpkins:

- Make sure parallel (-j) builds all targets even if they show up
multiple times in the child list (as a source and a dependency).

From Matthias Troffaes:

- Don't re-run TeX if the triggering strings (\makeindex, \bibliography
\tableofcontents) are commented out.

From Richard Viney:

- Fix use of custom include and lib paths with Visual Studio 8.

- Select the default .NET Framework SDK Dir based on the version of
Visual Studio being used.

0.96.95

From Anatoly Techtonik:

- Add the scons.org URL and a package description to the setup.py
arguments.

- Have the Windows installer add a registry entry for scons.bat in the
"App Paths" key, so scons.bat can be executed without adding the
directory to the %PATH%. (Python itself works this way.)

From Anonymous:

- Fix looking for default paths in Visual Studio 8.0 (and later).

- Add -lm to the list of default D libraries for linking.

From Matt Doar:

- Provide a more complete write-your-own-Scanner example in the man page.

From Ralf W. Grosse-Kunstleve:

- Contributed upstream Python change to our copied subprocess.py module
for more efficient standard input processing.

From Steven Knight:

- Fix the Node.FS.Base.rel_path() method when the two nodes are on
different drive letters. (This caused an infinite loop when
trying to write .sconsign files.)

- Fully support Scanners that use a dictionary to map file suffixes
to other scanners.

- Support delayed evaluation of the $SPAWN variable to allow selection
of a function via ${} string expansions.

- Add --srcdir as a synonym for -Y/--repository.

- Document limitations of include "file.h" with Repository().

- Fix use of a toolpath under the source directory of a BuildDir().

- Fix env.Install() with a file name portion that begins with ''.

- Fix ParseConfig()'s handling of multiple options in a string that's
replaced a *FLAGS construction variable.

- Have the C++ tools initialize common C compilation variables ($CCFLAGS,
$SHCCFLAGS and $_CCCOMCOM) even if the 'cc' Tool isn't loaded.

From Leanid Nazdrynau:

- Fix detection of Java anonymous classes if a newline precedes the
opening brace.

From Gary Oberbrunner:

- Document use of ${} to execute arbitrary Python code.

- Add support for:
1) automatically adding a site_scons subdirectory (in the top-level
SConstruct directory) to sys.path (PYTHONPATH);
2) automatically importing site_scons/site_init.py;
3) automatically adding site_scons/site_tools to the toolpath.

From John Pye:

- Change ParseConfig() to preserve white space in arguments passed in
as a list.

From a smith:

- Fix adding explicitly-named Java inner class files (and any
other file names that may contain a '$') to Jar files.

From David Vitek:

- Add a NoCache() function to mark targets as unsuitable for propagating
to (or retrieving from) a CacheDir().

From Ben Webb:

- If the swig -noproxy option is used, it won't generate a .py file,
so don't emit it as a target that we expect to be built.

0.96.94

NOTE: This is a pre-release of 0.97 for testing purposes.

From Anonymous:

- Allow arbitrary white space after a SWIG %module declaration.

From Paul:

- When compiling resources under MinGW, make sure there's a space
between the --include-dir option and its argument.

From Jay Kint:

- Alleviate long command line issues on Windows by executing command
lines directly via os.spawnv() if the command line doesn't need
shell interpretation (has no pipes, redirection, etc.).

From Walter Franzini:

- Exclude additional Debian packaging files from the copyright check.

From Fawad Halim:

- Handle the conflict between the impending Python 2.6 'as' keyword
and our Tool/as.py module name.

From Steven Knight:

- Speed up the Node.FS.Dir.rel_path() method used to generate path names
that get put into the .sconsign* file(s).

- Optimize Node.FS.Base.get_suffix() by computing the suffix once, up
front, when we set the Node's name. (Duh...)

- Reduce the Memoizer's responsibilities to simply counting hits and
misses when the --debug=memoizer option is used, not to actually
handling the key calculation and memoization itself. This speeds
up some configurations significantly, and should cause no functional
differences.

- Add a new scons-time script with subcommands for generating
consistent timing output from SCons configurations, extracting
various information from those timings, and displaying them in
different formats.

- Reduce some unnecessary stat() calls from on-disk entry type checks.

- Fix SideEffect() when used with -j, which was badly broken in 0.96.93.

- Propagate TypeError exceptions when evaluating construction variable
expansions up the stack, so users can see what's going on.

- When disambiguating a Node.FS.Entry into a Dir or File, don't look
in the on-disk source directory until we've confirmed there's no
on-disk entry locally and there *is* one in the srcdir. This avoids
creating a phantom Node that can interfere with dependencies on
directory contents.

- Add an AllowSubstExceptions() function that gives the SConscript
files control over what exceptions cause a string to expand to ''
vs. terminating processing with an error.

- Allow the f90.py and f95.py Tool modules to compile earlier source
source files of earlier Fortran version.

- Fix storing signatures of files retrieved from CacheDir() so they're
correctly identified as up-to-date next invocation.

- Make sure lists of computed source suffixes cached by Builder objects
don't persist across changes to the list of source Builders (so the
addition of suffixes like .ui by the qt.py Tool module take effect).

- Enhance the bootstrap.py script to allow it to be used to execute
SCons more easily from a checked-out source tree.

From Ben Leslie:

- Fix post-Memoizer value caching misspellings in Node.FS._doLookup().

From Rob Managan, Dmitry Mikhin and Joel B. Mohler:

- Handle TeX/LaTeX files in subdirectories by changing directory
before invoking TeX/LaTeX.

- Scan LaTeX files for \bibliography lines.

- Support multiple file names in a "\bibliography{file1,file2}" string.

- Handle TeX warnings about undefined citations.

- Support re-running LaTeX if necessary due to a Table of Contents.

From Dmitry Mikhin:

- Return LaTeX if "Rerun to get citations correct" shows up on the next
line after the "Warning:" string.

From Gary Oberbrunner:

- Add include lines to fix portability issues in two tests.

- Eliminate some unnecessary os.path.normpath() calls.

- Add a $CFLAGS variable for C-specific options, leaving $CCFLAGS
for options common to C and C++.

From Tom Parker:

- Have the error message print the missing file that Qt can't find.

From John Pye:

- Fix env.MergeFlags() appending to construction variable value of None.

From Steve Robbins:

- Fix the "sconsign" script when the .sconsign.dblite file is explicitly
specified on the command line (and not intuited from the old way of
calling it with just ".sconsign").

From Jose Pablo Ezequiel "Pupeno" Fernandez Silva:

- Give the 'lex' tool knowledge of the additional target files produced
by the flex "--header-file=" and "--tables-file=" options.

- Give the 'yacc' tool knowledge of the additional target files produced
by the bison "-g", "--defines=" and "--graph=" options.

- Generate intermediate files with Objective C file suffixes (.m) when
the lex and yacc source files have appropriate suffixes (.lm and .ym).

From Sohail Somain:

- Have the mslink.py Tool only look for a 'link' executable on Windows
systems.

From Vaclav Smilauer:

- Add support for a "srcdir" keyword argument when calling a Builder,
which will add a srcdir prefix to all non-relative string sources.

From Jonathan Ultis:

- Allow Options converters to take the construction environment as
an optional argument.

0.96.93

NOTE: This is a pre-release of 0.97 for testing purposes.

From Anonymous:

- Allow Python Value Nodes to be Builder targets.

From Matthias:

- Only filter Visual Studio common filename prefixes on complete
directory names.

From Chad Austin:

- Fix the build of the SCons documentation on systems that don't
have "python" in the $PATH.

From Ken Boortz:

- Enhance ParseConfig() to recognize options that begin with '+'.

From John Calcote, Elliot Murphy:

- Document ways to override the CCPDBFLAGS variable to use the
Microsoft linker's /Zi option instead of the default /Z7.

From Christopher Drexler:

- Make SCons aware bibtex must be called if any \include files
cause creation of a bibliography.

- Make SCons aware that "\bilbiography" in TeX source files means
that related .bbl and .blg bibliography files will be created.
(NOTE: This still needs to search for the string in \include files.)

From David Gruener:

- Fix inconsistent handling of Action strfunction arguments.

- Preserve white space in display Action strfunction strings.

From James Y. Knight and Gerard Patel:

- Support creation of shared object files from assembly language.

From Steven Knight:

- Speed up the Taskmaster significantly by avoiding unnecessary
re-scans of Nodes to find out if there's work to be done, having it
track the currently-executed top-level target directly and not
through its presence on the target list, and eliminating some other
minor list(s), method(s) and manipulation.

- Fix the expansion of $TARGET and $SOURCE in the expansion of
$INSTALLSTR displayed for non-environment calls to InstallAs().

- Fix the ability to have an Alias() call refer to a directory
name that's not identified as a directory until later.

- Enhance runtest.py with an option to use QMTest as the harness.
This will become the default behavior as we add more functionality
to the QMTest side.

- Let linking on mingw use the default function that chooses $CC (gcc)
or $CXX (g++) depending on whether there are any C++ source files.

- Work around a bug in early versions of the Python 2.4 profile module
that caused the --profile= option to fail.

- Only call Options validators and converters once when initializing a
construction environment.

- Fix the ability of env.Append() and env.Prepend(), in all known Python
versions, to handle different input value types when the construction
variable being updated is a dictionary.

- Add a --cache-debug option for information about what files it's
looking for in a CacheDir().

- Document the difference in construction variable expansion between
{Action,Builder}() and env.{Action,Builder}().

- Change the name of env.Copy() to env.Clone(), keeping the old name
around for backwards compatibility (with the intention of eventually
phasing it out to avoid confusion with the Copy() Action factory).

From Arve Knudsen:

- Support cleaning and scanning SWIG-generated files.

From Carsten Koch:

- Allow selection of Visual Studio version by setting $MSVS_VERSION
after construction environment initialization.

From Jean-Baptiste Lab:

- Try using zipimport if we can't import Tool or Platform modules
using the normal "imp" module. This allows SCons to be packaged
using py2exe's all-in-one-zip-file approach.

From Ben Liblit:

- Do not re-scan files if the scanner returns no implicit dependencies.

From Sanjoy Mahajan:

- Change use of $SOURCES to $SOURCE in all TeX-related Tool modules.

From Joel B. Mohler:

- Make SCons aware that "\makeindex" in TeX source files means that
related .ilg, .ind and .idx index files will be created.
(NOTE: This still needs to search for the string in \include files.)

- Prevent scanning the TeX .aux file for additional files from
trying to remove it twice when the -c option is used.

From Leanid Nazdrynau:

- Give the MSVC RES (resource) Builder a src_builder list and a .rc
src_suffix so other builders can generate .rc files.

From Matthew A. Nicholson:

- Enhance Install() and InstallAs() to handle directory trees as sources.

From Jan Nijtmans:

- Don't use the -fPIC flag when using gcc on Windows (e.g. MinGW).

From Greg Noel:

- Add an env.ParseFlags() method that provides separate logic for
parsing GNU tool chain flags into a dictionary.

- Add an env.MergeFlags() method to apply an arbitrary dictionary
of flags to a construction environment's variables.

From Gary Oberbrunner:

- Fix parsing tripartite Intel C compiler version numbers on Linux.

- Extend the ParseConfig() function to recognize -arch and
-isysroot options.

- Have the error message list the known suffixes when a Builder call
can't build a source file with an unknown suffix.

From Karol Pietrzak:

- Avoid recursive calls to main() in the program snippet used by the
SConf subsystem to test linking against libraries. This changes the
default behavior of CheckLib() and CheckLibWithHeader() to print
"Checking for C library foo..." instead of "Checking for main()
in C library foo...".

From John Pye:

- Throw an exception if a command called by ParseConfig() or
ParseFlags() returns an error.

From Stefan Seefeld:

- Initial infrastructure for running SCons tests under QMTest.

From Sohail Somani:

- Fix tests that fail due to gcc warnings.

From Dobes Vandermeer:

- In stack traces, print the full paths of SConscript files.

From Atul Varma:

- Fix detection of Visual C++ Express Edition.

From Dobes Vandermeer:

- Let the src_dir option to the SConscript() function affect all the
the source file paths, instead of treating all source files paths
as relative to the SConscript directory itself.

From Nicolas Vigier:

- Fix finding Fortran modules in build directories.

- Fix use of BuildDir() when the source file in the source directory
is a symlink with a relative path.

From Edward Wang:

- Fix the Memoizer when the SCons Python modules are executed from
.pyo files at different locations from where they were compiled.

From Johan Zander:

- Fix missing os.path.join() when constructing the $FRAMEWORKSDKDIR/bin.

0.96.92

NOTE: This was a pre-release of 0.97 for testing purposes.

From Anonymous:

- Fix the intelc.py Tool module to not throw an exception if the
only installed version is something other than ia32.

- Set $CCVERSION when using gcc.

From Matthias:

- Support generating project and solution files for Microsoft
Visual Studio version 8.

- Support generating more than one project file for a Microsoft
Visual Studio solution file.

- Add support for a support "runfile" parameter to Microsoft
Visual Studio project file creation.

- Put the project GUID, not the solution GUID, in the right spot
in the solution file.

From Erling Andersen:

- Fix interpretation of Node.FS objects wrapped in Proxy instances,
allowing expansion of things like ${File(TARGET)} in command lines.

From Stanislav Baranov:

- Add a separate MSVSSolution() Builder, with support for the
following new construction variables: $MSVSBUILDCOM, $MSVSCLEANCOM,
$MSVSENCODING, $MSVSREBUILDCOM, $MSVSSCONS, $MSVSSCONSCOM,
$MSVSSCONSFLAGS, $MSVSSCONSCRIPT and $MSVSSOLUTIONCOM.

From Ralph W. Grosse-Kunstleve and Patrick Mezard:

- Remove unneceesary (and incorrect) SCons.Util strings on some function
calls in SCons.Util.

From Bob Halley:

- Fix C/C++ compiler selection on AIX to not always use the external $CC
environment variable.

From August Hörandl:

- Add a scanner for \include and \import files, with support for
searching a directory list in $TEXINPUTS (imported from the external
environment).

- Support $MAKEINDEX, $MAKEINDEXCOM, $MAKEINDEXCOMSTR and
$MAKEINDEXFLAGS for generating indices from .idx files.

From Steven Johnson:

- Add a NoClean() Environment method and function to override removal
of targets during a -c clean, including documentation and tests.

From Steven Knight:

- Check for whether files exist on disk by listing the directory
contents, not calling os.path.exists() file by file. This is
somewhat more efficient in general, and may be significantly
more efficient on Windows.

- Minor speedups in the internal is_Dict(), is_List() and is_String()
functions.

- Fix a signature refactoring bug that caused Qt header files to
get re-generated every time.

- Don't fail when writing signatures if the .sconsign.dblite file is
owned by a different user (e.g. root) from a previous run.

- When deleting variables from stacked OverrideEnvironments, don't
throw a KeyError if we were able to delte the variable from any
Environment in the stack.

- Get rid of the last indentation tabs in the SCons source files and
add -tt to the Python invocations in the packaging build and the
tests so they don't creep back in.

- In Visual Studio project files, put quotes around the -C directory
so everything works even if the path has spaces in it.

- The Intel Fortran compiler uses -object:$TARGET, not "-o $TARGET",
when building object files on Windows. Have the the ifort Tool
modify the default command lines appropriately.

- Document the --debug=explain option in the man page. (How did we
miss this?)

- Add a $LATEXRETRIES variable to allow configuration of the number of
times LaTex can be re-called to try to resolve undefined references.

- Change the order of the arguments to Configure.Checklib() to match
the documentation.

- Handle signature calculation properly when the Python function used
for a FunctionAction is an object method.

- On Windows, assume that absolute path names without a drive letter
refer to the drive on which the SConstruct file lives.

- Add /usr/ccs/bin to the end of the the default external execution
PATH on Solaris.

- Add $PKGCHK and $PKGINFO variables for use on Solaris when searching
for the SunPRO C++ compiler. Make the default value for $PKGCHK
be /usr/sbin/pgkchk (since /usr/sbin isn't usually on the external
execution $PATH).

- Fix a man page example of overriding variables when calling
SharedLibrary() to also set the $LIBSUFFIXES variable.

- Add a --taskmastertrace=FILE option to give some insight on how
the taskmaster decides what Node to build next.

- Changed the names of the old $WIN32DEFPREFIX, $WIN32DEFSUFFIX,
$WIN32DLLPREFIX and $WIN32IMPLIBPREFIX construction variables to
new $WINDOWSDEFPREFIX, $WINDOWSDEFSUFFIX, $WINDOWSDLLPREFIX and
$WINDOWSIMPLIBPREFIX construction variables. The old names are now
deprecated, but preserved for backwards compatibility.

- Fix (?) a runtest.py hang on Windows when the --xml option is used.

- Change the message when an error occurs trying to interact with the
file system to report the target(s) in square brackets (as before) and
the actual file or directory that encountered the error afterwards.

From Chen Lee:

- Add x64 support for Microsoft Visual Studio 8.

From Baptiste Lepilleur:

- Support the --debug=memory option on Windows when the Python version
has the win32process and win32api modules.

- Add support for Visual Studio 2005 Pro.

- Fix portability issues in various tests: test/Case.py,
Test/Java/{JAR,JARCHDIR,JARFLAGS,JAVAC,JAVACFLAGS,JAVAH,RMIC}.py,
test/MSVS/vs-{6.0,7.0,7.1,8.0}-exec.py,
test/Repository/{Java,JavaH,RMIC}.py,
test/QT/{generated-ui,installed,up-to-date,warnings}.py,
test/ZIP/ZIP.py.

- Ignore pkgchk errors on Solaris when searching for the C++ compiler.

- Speed up the SCons/EnvironmentTests.py unit tests.

- Add a --verbose= option to runtest.py to print executed commands
and their output at various levels.

From Christian Maaser:

- Add support for Visual Studio Express Editions.

- Add support for Visual Studio 8 *.manifest files, includng
new $WINDOWS_INSERT_MANIFEST, $WINDOWSPROGMANIFESTSUFFIX,
$WINDOWSPROGMANIFESTPREFIX, $WINDOWSPROGMANIFESTSUFFIX,
$WINDOWSSHLIBMANIFESTPREFIX and $WINDOWSSHLIBMANIFESTSUFFIX
construction variables.

From Adam MacBeth:

- Fix detection of additional Java inner classes following use of a
"new" keyword inside an inner class.

From Sanjoy Mahajan:

- Correct TeX-related command lines to just $SOURCE, not $SOURCES

From Patrick Mezard:

- Execute build commands for a command-line target if any of the
files built along with the target is out of date or non-existent,
not just if the command-line target itself is out of date.

- Fix the -n option when used with -c to print all of the targets
that will be removed for a multi-target Builder call.

- If there's no file in the source directory, make sure there isn't
one in the build directory, too, to avoid dangling files left
over from previous runs when a source file is removed.

- Allow AppendUnique() and PrependUnique() to append strings (and
other atomic objects) to lists.

From Joel B. Mohler:

- Extend latex.py, pdflatex.py, pdftex.py and tex.py so that building
from both TeX and LaTeX files uses the same logic to call $BIBTEX
when it's necessary, to call $MAKEINDEX when it's necessary, and to
call $TEX or $LATEX multiple times to handle undefined references.

- Add an emitter to the various TeX builders so that the generated
.aux and .log files also get deleted by the -c option.

From Leanid Nazdrynau:

- Fix the Qt UIC scanner to work with generated .ui files (by using
the FindFile() function instead of checking by-hand for the file).

From Jan Nieuwenhuizen:

- Fix a problem with interpreting quoted argument lists on command lines.

From Greg Noel:

- Add /sw/bin to the default execution PATH on Mac OS X.

From Kian Win Ong:

- When building a .jar file and there is a $JARCHDIR, put the -C
in front of each .class file on the command line.

- Recognize the Java 1.5 enum keyword.

From Asfand Yar Qazi:

- Add /opt/bin to the default execution PATH on all POSIX platforms
(between /usr/local/bin and /bin).

From Jon Rafkind:

- Fix the use of Configure() contexts from nested subsidiary
SConscript files.

From Christoph Schulz:

- Add support for $CONFIGUREDIR and $CONFIGURELOG variables to control
the directory and logs for configuration tests.

- Add support for a $INSTALLSTR variable.

- Add support for $RANLIBCOM and $RANLIBCOMSTR variables (which fixes
a bug when setting $ARCOMSTR).

From Amir Szekely:

- Add use of $CPPDEFINES to $RCCOM (resource file compilation) on MinGW.

From Erick Tryzelaar:

- Fix the error message when trying to report that a given option is
not gettable/settable from an SConscript file.

From Dobes Vandermeer:

- Add support for SCC and other settings in Microsoft Visual
Studio project and solution files: $MSVS_PROJECT_BASE_PATH,
$MSVS_PROJECT_GUID, $MSVS_SCC_AUX_PATH, $MSVS_SCC_LOCAL_PATH,
$MSVS_SCC_PROJECT_NAME, $MSVS_SCC_PROVIDER,

- Add support for using a $SCONS_HOME variable (imported from the
external environment, or settable internally) to put a shortened
SCons execution line in the Visual Studio project file.

From David J. Van Maren:

- Only filter common prefixes from source files names in Visual Studio
project files if the prefix is a complete (sub)directory name.

From Thad Ward:

- If $MSVSVERSIONS is already set, don't overwrite it with
information from the registry.

0.96.91

NOTE: This was a pre-release of 0.97 for testing purposes.

From Chad Austin:

- Have the environment store the toolpath and re-use it to find Tools
modules during later Copy() or Tool() calls (unless overridden).

- Normalize the directory path names in SConsignFile() database
files so the same signature file can interoperate on Windows and
non-Windows systems.

- Make --debug=stacktrace print a stacktrace when a UserError is thrown.

- Remove an old, erroneous cut-and-paste comment in Scanner/Dir.py.

From Stanislav Baranov:

- Make it possible to support with custom Alias (sub-)classes.

- Allow Builders to take empty source lists when called.

- Allow access to both TARGET and SOURCE in $*PATH expansions.

- Allow SConscript files to modify BUILD_TARGETS.

From Timothee Besset:

- Add support for Objective C/C++ .m and .mm file suffixes (for
Mac OS X).

From Charles Crain

- Fix the PharLap linkloc.py module to use target+source arguments
when calling env.subst().

From Bjorn Eriksson:

- Fix an incorrect Command() keyword argument in the man page.

- Add a $TEMPFILEPREFIX variable to control the prefix or flag used
to pass a long-command-line-execution tempfile to a command.

From Steven Knight:

- Enhanced the SCons setup.py script to install man pages on
UNIX/Linux systems.

- Add support for an Options.FormatOptionHelpText() method that can
be overridden to customize the format of Options help text.

- Add a global name for the Entry class (which had already been
documented).

- Fix re-scanning of generated source files for implicit dependencies
when the -j option is used.

- Fix a dependency problem that caused $LIBS scans to not be added
to all of the targets in a multiple-target builder call, which
could cause out-of-order builds when the -j option is used.

- Store the paths of source files and dependencies in the .sconsign*
file(s) relative to the target's directory, not relative to the
top-level SConstruct directory. This starts to make it possible to
subdivide the dependency tree arbitrarily by putting an SConstruct
file in every directory and using content signatures.

- Add support for $YACCHFILESUFFIX and $YACCHXXFILESUFFIX variables
that accomodate parser generators that write header files to a
different suffix than the hard-coded .hpp when the -d option is used.

- The default behavior is now to store signature information in a
single .sconsign.dblite file in the top-level SConstruct directory.
The old behavior of a separate .sconsign file in each directory can
be specified by calling SConsignFile(None).

- Remove line number byte codes within the signature calculation
of Python function actions, so that changing the location of an
otherwise unmodified Python function doesn't cause rebuilds.

- Fix AddPreAction() and AddPostAction() when an action has more than
one target file: attach the actions to the Executor, not the Node.

- Allow the source directory of a BuildDir / build_dir to be outside
of the top-level SConstruct directory tree.

- Add a --debug=nomemoizer option that disables the Memoizer for clearer
looks at the counts and profiles of the underlying function calls,
not the Memoizer wrappers.

- Print various --debug= stats even if we exit early (e.g. using -h).

- Really only use the cached content signature value if the file
is older than --max-drift, not just if --max-drift is set.

- Remove support for conversion from old (pre 0.96) .sconsign formats.

- Add support for a --diskcheck option to enable or disable various
on-disk checks: that File and Dir nodes match on-disk entries;
whether an RCS file exists for a missing source file; whether an
SCCS file exists for a missing source file.

- Add a --raw argument to the sconsign script, so it can print a
raw representation of each entry's NodeInfo dictionary.

- Add the 'f90' and 'f95' tools to the list of Fortran compilers
searched for by default.

- Add the +Z option by default when compiling shared objects on
HP-UX.

From Chen Lee:

- Handle Visual Studio project and solution files in Unicode.

From Sanjoy Mahajan:

- Fix a bad use of Copy() in an example in the man page, and a
bad regular expression example in the man page and User's Guide.

From Shannon Mann:

- Have the Visual Studio project file(s) echo "Starting SCons" before
executing SCons, mainly to work around a quote-stripping bug in
(some versions of?) the Windows cmd command executor.

From Georg Mischler:

- Remove the space after the -o option when invoking the Borland
BCC compiler; some versions apparently require that the file name
argument be concatenated with the option.

From Leanid Nazdrynau:

- Fix the Java parser's handling of backslashes in strings.

From Greg Noel:

- Add construction variables to support frameworks on Mac OS X:
$FRAMEWORKS, $FRAMEWORKPREFIX, $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX.

- Re-order link lines so the -o option always comes right after the
command name.

From Gary Oberbrunner:

- Add support for Intel C++ beta 9.0 (both 32 and 64 bit versions).

- Document the new $FRAMEWORK* variables for Mac OS X.

From Karol Pietrzak:

- Add $RPATH (-R) support to the Sun linker Tool (sunlink).

- Add a description of env.subst() to the man page.

From Chris Prince:

- Look in the right directory, not always the local directory, for a
same-named file or directory conflict on disk.

- On Windows, preserve the external environment's %SYSTEMDRIVE%
variable, too.

From Craig Scott:

- Have the Fortran module emitter look for Fortan modules to be created
relative to $FORTRANMODDIR, not the top-level directory.

- When saving Options to a file, run default values through the
converter before comparing them with the set values. This correctly
suppresses Boolean Option values from getting written to the saved
file when they're one of the many synonyms for a default True or
False value.

- Fix the Fortran Scanner's ability to handle a module being used
in the same file in which it is defined.

From Steve-o:

- Add the -KPIC option by default when compiling shared objects on
Solaris.

- Change the default suffix for Solaris objects to .o, to conform to
Sun WorkShop's expectations. Change the profix to so_ so they can
still be differentiated from static objects in the same directory.

From Amir Szekely:

- When calling the resource compiler on MinGW, add --include-dir and
the source directory so it finds the source file.

- Update EnsureSConsVersion() to support revision numbers.

From Greg Ward:

- Fix a misplaced line in the man page.

Page 9 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.