- Fix the ability to append to default $*FLAGS values (which are
implemented as CLVar instances) in a copied construction environment
without affecting the original construction environment's value.
Full changelog:
RELEASE 1.3.0 - Tue, 23 Mar 2010 21:44:19 -0400
From Steven Knight:
- Update man page and documentation.
From William Deegan (plus minor patch from Gary Oberbrunner):
- Support Visual Studio 8.0 Express
RELEASE 1.2.0.d20100306 - Sat, 06 Mar 2010 16:18:33 -0800
From Luca Falavigna:
- Fix typos in the man page.
From Gottfried Ganssauge:
- Support execution when SCons is installed via easy_install.
From Steven Knight:
- Make the messages for Configure checks of compilers consistent.
- Issue an error message if a BUILDERS entry is not a Builder
object or a callable wrapper.
From Rob Managan:
- Update tex builder to handle the case where a \input{foo}
command tries to work with a directory named foo instead of the
file foo.tex. The builder now ignores a directory and continues
searching to find the correct file. Thanks to Lennart Sauerbeck
for the test case and initial patch
Also allow the \include of files in subdirectories when variantDir
is used with duplicate=0. Previously latex would crash since
the directory in which the .aux file is written was not created.
Thanks to Stefan Hepp for finding this and part of the solution.
From James Teh:
- Patches to fix some issues using MS SDK V7.0
From William Deegan:
- Lots of testing and minor patches to handle mixed MS VC and SDK
installations, as well as having only the SDK installed.
RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800
From Jim Randall:
- Fixed temp filename race condition on Windows with long cmd lines.
From David Cournapeau:
- Fixed tryRun when sconf directory is in a variant dir.
- Do not add -fPIC for ifort tool on non-posix platforms (darwin and
windows).
- Fix bug 2294 (spurious CheckCC failures).
- Fix scons bootstrap process on windows 64 (wrong wininst name)
From William Deegan:
- Final merge from vs_revamp branch to main
- Added definition and usage of HOST_OS, HOST_ARCH, TARGET_OS,
TARGET_ARCH, currently only defined/used by Visual Studio
Compilers. This will be rolled out to other platforms/tools
in the future.
- Add check for python >= 3.0.0 and exit gracefully.
For 1.3 python >= 1.5.2 and < 3.0.0 are supported
- Fix bug 1944 - Handle non-existent .i file in swig emitter, previously
it would crash with an IOError exception. Now it will try to make an
educated guess on the module name based on the filename.
From Lukas Erlinghagen:
- Have AddOption() remove variables from the list of
seen-but-unknown variables (which are reported later).
- An option name and aliases can now be specified as a tuple.
From Hartmut Goebel:
- Textfile builder.
From Jared Grubb:
- use "is/is not" in comparisons with None instead of "==" or "!=".
From Jim Hunziker:
- Avoid adding -gphobos to a command line multiple times
when initializing use of the DMD compiler.
From Jason Kenney:
- Sugguested HOST/TARGET OS/ARCH separation.
From Steven Knight:
- Fix the -n option when used with VariantDir(duplicate=1)
and the variant directory doesn't already exist.
- Fix scanning of Unicode files for both UTF-16 endian flavors.
- Fix a TypeError on #include of file names with Unicode characters.
- Fix an exception if a null command-line argument is passed in.
- Evaluate Requires() prerequisites before a Node's direct children
(sources and dependencies).
From Greg Noel:
- Remove redundant __metaclass__ initializations in Environment.py.
- Correct the documentation of text returned by sconf.Result().
- Document that filenames with '.' as the first character are
ignored by Glob() by default (matching UNIX glob semantics).
- Fix SWIG testing infrastructure to work on Mac OS X.
- Restructure a test that occasionally hung so that the test would
detect when it was stuck and fail instead.
- Substfile builder.
From Gary Oberbrunner:
- When reporting a target that SCons doesn't know how to make,
specify whether it's a File, Dir, etc.
From Ben Webb:
- Fix use of $SWIGOUTDIR when generating Python wrappers.
- Add $SWIGDIRECTORSUFFIX and $SWIGVERSION construction variables.
From Rob Managan:
- Add -recorder flag to Latex commands and updated internals to
use the output to find files TeX creates. This allows the MiKTeX
installations to find the created files
- Notify user of Latex errors that would get buried in the
Latex output
- Remove LATEXSUFFIXES from environments that don't initialize Tex.
- Add support for the glosaaries package for glossaries and acronyms
- Fix problem that pdftex, latex, and pdflatex tools by themselves did
not create the actions for bibtex, makeindex,... by creating them
and other environment settings in one routine called by all four
tex tools.
- Fix problem with filenames of sideeffects when the user changes
the name of the output file from the latex default
- Add scanning of files included in Latex by means of \lstinputlisting{}
Patch from Stefan Hepp.
- Change command line for epstopdf to use --outfile= instead of -o
since this works on all platforms.
Patch from Stefan Hepp.
- Change scanner to properly search for included file from the
directory of the main file instead of the file it is included from.
Also update the emitter to add the .aux file associated with
\include{filename} commands. This makes sure the required directories
if any are created for variantdir cases.
Half of the patch from Stefan Hepp.
RELEASE 1.2.0.d20090223 - Mon, 23 Feb 2009 08:41:06 -0800
From Stanislav Baranov:
- Make suffix-matching for scanners case-insensitive on Windows.
From David Cournapeau:
- Change the way SCons finds versions of Visual C/C++ and Visual
Studio to find and use the Microsoft v*vars.bat files.
From Robert P. J. Day:
- User's Guide updates.
From Dan Eaton:
- Fix generation of Visual Studio 8 project files on x64 platforms.
From Allan Erskine:
- Set IncludeSearchPath and PreprocessorDefinitions in generated
Visual Studio 8 project files, to help IntelliSense work.
From Mateusz Gruca:
- Fix deletion of broken symlinks by the --clean option.
From Steven Knight:
- Fix the error message when use of a non-existent drive on Windows
is detected.
- Add sources for files whose targets don't exist in $CHANGED_SOURCES.
- Detect implicit dependencies on commands even when the command is
quoted.
- Fix interaction of $CHANGED_SOURCES with the --config=force option.
- Fix finding #include files when the string contains escaped
backslashes like "C:\\some\\include.h".
- Pass $CCFLAGS to Visual C/C++ precompiled header compilation.
- Remove unnecessary nested $( $) around $_LIBDIRFLAGS on link lines
for the Microsoft linker, the OS/2 ilink linker and the Phar Lap
linkloc linker.
- Spell the Windows environment variables consistently "SystemDrive"
and "SystemRoot" instead of "SYSTEMDRIVE" and "SYSTEMROOT".
RELEASE 1.2.0.d20090113 - Tue, 13 Jan 2009 02:50:30 -0800
From Stanislav Baranov, Ted Johnson and Steven Knight:
- Add support for batch compilation of Visual Studio C/C++ source
files, controlled by a new $MSVC_BATCH construction variable.
From Steven Knight:
- Print the message, "scons: Build interrupted." on error output,
not standard output.
- Add a --warn=future-deprecated option for advance warnings about
deprecated features that still have warnings hidden by default.
- Fix use of $SOURCE and $SOURCES attributes when there are no
sources specified in the Builder call.
- Add support for new $CHANGED_SOURCES, $CHANGED_TARGETS,
$UNCHANGED_SOURCES and $UNCHANGED_TARGETS variables.
- Add general support for batch builds through new batch_key= and
targets= keywords to Action object creation.
From Arve Knudsen:
- Make linker tools differentiate properly between SharedLibrary
and LoadableModule.
- Document TestCommon.shobj_prefix variable.
- Support $SWIGOUTDIR values with spaces.
From Rob Managan:
- Don't automatically try to build .pdf graphics files for
.eps files in \includegraphics{} calls in TeX/LaTeX files
when building with the PDF builder (and thus using pdflatex).
From Gary Oberbrunner:
- Allow AppendENVPath() and PrependENVPath() to interpret '#'
for paths relative to the top-level SConstruct directory.
- Use the Borland ilink -e option to specify the output file name.
- Document that the msvc Tool module uses $PCH, $PCHSTOP and $PDB.
- Allow WINDOWS_INSERT_DEF=0 to disable --output-def when linking
under MinGW.
From Zia Sobhani:
- Fix typos in the User's Guide.
From Greg Spencer:
- Support implicit dependency scanning of files encoded in utf-8
and utf-16.
From Roberto de Vecchi:
- Remove $CCFLAGS from the the default definitions of $CXXFLAGS for
Visual C/C++ and MIPSpro C++ on SGI so, they match other tools
and avoid flag duplication on C++ command lines.
From Ben Webb:
- Handle quoted module names in SWIG source files.
- Emit *_wrap.h when SWIG generates header file for directors
From Matthew Wesley:
- Copy file attributes so we identify, and can link a shared library
from, shared object files in a Repository.
RELEASE 1.2.0 - Sat, 20 Dec 2008 22:47:29 -0800
From Steven Knight:
- Don't fail if can't import a _subprocess module on Windows.
- Add warnings for use of the deprecated Options object.
RELEASE 1.1.0.d20081207 - Sun, 07 Dec 2008 19:17:23 -0800
From Benoit Belley:
- Improve the robustness of GetBuildFailures() by refactoring
SCons exception handling (especially BuildError exceptions).
- Have the --taskmastertrace= option print information about
individual Task methods, not just the Taskmaster control flow.
- Eliminate some spurious dependency cycles by being more aggressive
about pruning pending children from the Taskmaster walk.
- Suppress mistaken reports of a dependency cycle when a child
left on the pending list is a single Node in EXECUTED state.
From David Cournapeau:
- Fix $FORTRANMODDIRPREFIX for the ifort (Intel Fortran) tool.
From Brad Fitzpatrick:
- Don't pre-generate an exception message (which will likely be
ignored anyway) when an EntryProxy re-raises an AttributeError.
From Jared Grubb:
- Clean up coding style and white space in Node/FS.py.
- Fix a typo in the documentation for $_CPPDEFFLAGS.
- Issue 2401: Fix usage of comparisons with None.
From Ludwig Hähne:
- Handle Java inner classes declared within a method.
From Steven Knight:
- Fix label placement by the "scons-time.py func" subcommand
when a profile value was close to (or equal to) 0.0.
- Fix env.Append() and env.Prepend()'s ability to add a string to
list-like variables like $CCFLAGS under Python 2.6.
- Other Python2.6 portability: don't use "as" (a Python 2.6 keyword).
Don't use the deprecated Exception.message attribute.
- Support using the -f option to search for a different top-level
file name when walking up with the -D, -U or -u options.
- Fix use of VariantDir when the -n option is used and doesn't,
therefore, actually create the variant directory.
- Fix a stack trace from the --debug=includes option when passed a
static or shared library as an argument.
- Speed up the internal find_file() function (used for searching
CPPPATH, LIBPATH, etc.).
- Add support for using the Python "in" keyword on construction
environments (for example, if "CPPPATH" in env: ...).
- Fix use of Glob() when a repository or source directory contains
an in-memory Node without a corresponding on-disk file or directory.
- Add a warning about future reservation of $CHANGED_SOURCES,
$CHANGED_TARGETS, $UNCHANGED_SOURCES and $UNCHANGED_TARGETS.
- Enable by default the existing warnings about setting the resource
$SOURCE, $SOURCES, $TARGET and $TARGETS variable.
From Rob Managan:
- Scan for TeX files in the paths specified in the $TEXINPUTS
construction variable and the $TEXINPUTS environment variable.
- Configure the PDF() and PostScript() Builders as single_source so
they know each source file generates a separate target file.
- Add $EPSTOPDF, $EPSTOPDFFLAGS and $EPSTOPDFCOM
- Add .tex as a valid extension for the PDF() builder.
- Add regular expressions to find \input, \include and
\includegraphics.
- Support generating a .pdf file from a .eps source.
- Recursive scan included input TeX files.
- Handle requiring searched-for TeX input graphics files to have
extensions (to avoid trying to build a .eps from itself, e.g.).
From Greg Noel:
- Make the Action() function handle positional parameters consistently.
- Clarify use of Configure.CheckType().
- Make the File.{Dir,Entry,File}() methods create their entries
relative to the calling File's directory, not the SConscript
directory.
- Use the Python os.devnull variable to discard error output when
looking for the $CC or $CXX version.
- Mention LoadableModule() in the SharedLibrary() documentation.
From Gary Oberbrunner:
- Update the User's Guide to clarify use of the site_scons/
directory and the site_init.py module.
- Make env.AppendUnique() and env.PrependUnique remove duplicates
within a passed-in list being added, too.
From Randall Spangler:
- Fix Glob() so an on-disk file or directory beginning with '#'
doesn't throw an exception.
common makery into Makefile.common, add CONFLICTS for each package
referring to the others, as for now the manpages will conflict.
TODO: Use ALTERNATIVES system? How to handle manpages?
Many bug fixes and some feature/documentation enhancements. The
web site goes into this in much detail; also, see CHANGES.txt
and RELEASE.txt in the source distribution.
Also, see the change to patch-aa which ensures we use ${PKGVERSION_NOREV}
to generate the version for the installation where appropriate.
This is not necessary for normal scons use, but there is an extension
"bksys" which needs XML.
Since scons users do not necessarily use Python theirselfes, a buildtime
dependency on px-xml-for-the-python-version-used-by-scons would be needed
which I don't see an easy and robust way for.
bump PKGREVISION
RELEASE 0.96.1 - Mon, 23 Aug 2004 12:55:50 +0000
From Craig Bachelor:
- Handle white space in the executable Python path name within in MSVS
project files by quoting the path.
- Correct the format of a GUID string in a solution (.dsw) file so
MSVS can correctly "build enable" a project.
From Steven Knight:
- Add a must_exist flag to Delete() to let the user control whether
it's an error if the specified entry doesn't exist. The default
behavior is now to silently do nothing if it doesn't exist.
- Package up the new Platform/darwin.py, mistakenly left out of 0.96.
- Make the scons.bat REM statements into @REM so they aren't printed.
- Make the SCons packaging SConscript files platform independent.
- Better conform to Debian packaging convention by changing the name
we build to scons-{version}-0.1_all.deb (not *-1_all.deb).
From Anthony Roach:
- Fix scanning of pre-compiled header (.pch) files for #includes,
broken in 0.96.
IMPORTANT: Release 0.96 contains the following interface changes:
- All Builder calls now return a *list* of Nodes, even when the Builder
only builds one file. This may require SConscript file changes if
you were manipulating the return values from Builders.
- The SConsignFile() function now uses a different internal database
format by default. This will cause a rebuild when you upgrade to
0.96 unless you modify your SConsignFile() call.
- The internal format of .sconsign files has been changed. The change
was coded to be backwards-compatible, but there might be corner
cases that cause warnings about "ignoring corrupt .sconsign files"
and rebuilds when you use SCons 0.96 for the first time in an
already-built tree.
- The scan_check function that can be supplied to a custom Scanner now
must take two arguments, the Node to be checked and a construction
environment. It previously only used the Node as an argument.
- The internal "node_factory" and "scanner" keyword arguments have
been removed from the Builder() function, in favor of separate
"target_factory," "source_factory," "target_scanner" and
"source"scanner" keywords, which are now documented.
- The Scanner add_skey() function has been dropped in favor of using
construction variables for the lists of file suffixes known to
a Scanner.
- File name extensions that contain all digits are now assumed to
be version numbers and treated as part of the file basename.
- The env.Append() and env.Prepend() methods have been changed to
behave like the rest of Python when either argument is a UserList.
See the release notes for more information about these changes.
This release adds the following new features:
- A new --debug=explain option tells SCons to report the reason(s)
why it thinks it must rebuild something.
- New Moc() and Uic() Builders provide more explicit control over
Qt builds, plus new construction variables to control them:
$QT_AUTOSCAN, $QT_DEBUG, $QT_MOCCXXPREFIX, $QT_MOCCXXSUFFIX,
$QT_MOCHPREFIX, $QT_MOCHSUFFIX, $QT_UICDECLPREFIX, $QT_UICDECLSUFFIX,
$QT_UICIMPLPREFIX, $QT_UICIMPLSUFFIX and $QT_UISUFFIX.
- Support for Fortran 90 and Fortran 95 has been added.
- The newer "ifort" versions of the Intel Fortran Compiler for Linux
are now supported.
- New functions have been added to return platform-independent Actions
that Chmod(), Copy(), Delete(), Mkdir(), Move() and Touch() files
and/or directories.
- A new Execute() function can now execute Actions directly at
SConscript-read time.
- A new $RPATH variable has been added that specifies a list of
directories for the GNU and IRIX linkers to search for shared
libraries.
- New $CPPSUFFIXES, $DSUFFIXES, $FORTRANSUFFIXES and $IDLSUFFIXES
variables have been added that make it easier to arrange for
additional file suffixes to be scanned by the default Scanners.
- A new Flatten() function can be used to turn nested lists of Nodes
(or other arguments) into a flat list.
- A new --debug=presub option prints the commands to be executed before
their construction variables are expanded.
- A new .win32 Node attribute will expand file names with Windows
backslash path separators on any system.
- A new ARGLIST variable makes it possible to fetch keyword=value
arguments in the order specified on the command line.
- Support has been added for the .dylib shared library suffix
and -dynamiclib linker option on Mac OS X (darwin).
For a complete list see the included CHANGES.txt.
from pkgsrc-wip
SCons is an Open Source software construction tool--that is, a build tool;
an improved substitute for the classic Make utility; a better way to build
software.