summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2014-08-24 14:33:20 -0700
committerWilliam Deegan <bill@baddogconsulting.com>2014-08-24 14:33:20 -0700
commit25f9d79f263747f84b5ac943be656997544a7aa3 (patch)
treea0e24570152596b93b1f7c03a4abbced413a4ff8
parentded039b02a955c5a4ddef1b9a817f6d505cf2f6f (diff)
parentc4031660f2eeaf0b4d42a0f57e02ee0309b6ce77 (diff)
downloadscons-25f9d79f263747f84b5ac943be656997544a7aa3.tar.gz
Merged in techtonik/scons (pull request #178)
taprunner 0.2 - remove unused import that failed Python 2.6
-rw-r--r--QMTest/TestCmd.py5
-rw-r--r--QMTest/TestSCons.py2
-rw-r--r--README.rst16
-rw-r--r--ReleaseConfig2
-rw-r--r--SConstruct4
-rw-r--r--debian/changelog12
-rw-r--r--doc/generated/examples/caching_ex-random_1.xml4
-rw-r--r--doc/generated/examples/troubleshoot_explain1_3.xml2
-rw-r--r--doc/generated/tools.gen12
-rw-r--r--doc/generated/tools.mod4
-rw-r--r--doc/generated/variables.gen52
-rw-r--r--doc/generated/variables.mod4
-rw-r--r--doc/man/scons.xml2
-rw-r--r--doc/python10/process.xml4
-rw-r--r--doc/user/build-install.xml16
-rw-r--r--doc/user/misc.xml9
-rw-r--r--src/Announce.txt8
-rw-r--r--src/CHANGES.txt18
-rw-r--r--src/RELEASE.txt120
-rw-r--r--src/engine/SCons/Platform/PlatformTests.py49
-rw-r--r--src/engine/SCons/Platform/__init__.py3
-rw-r--r--test/CC/CCVERSION.py3
-rw-r--r--test/CXX/CXXVERSION.py2
-rw-r--r--test/Configure/custom-tests.py2
-rw-r--r--test/FindSourceFiles.py3
25 files changed, 208 insertions, 150 deletions
diff --git a/QMTest/TestCmd.py b/QMTest/TestCmd.py
index b51d90f1..30489738 100644
--- a/QMTest/TestCmd.py
+++ b/QMTest/TestCmd.py
@@ -486,7 +486,8 @@ def match_re(lines = None, res = None):
"""
"""
if not is_List(lines):
- lines = lines.split("\n")
+ # CRs mess up matching (Windows) so split carefully
+ lines = re.split('\r?\n', lines)
if not is_List(res):
res = res.split("\n")
if len(lines) != len(res):
@@ -683,7 +684,7 @@ if subprocess.mswindows:
assert ol is None
lpBuffer = ctypes.create_string_buffer(bufSize)
bytesRead = DWORD()
- bErr = ctypes.windll.kernel32.ReadFile(
+ bErr = ctypes.windll.kernel32.ReadFile(
hFile, lpBuffer, bufSize, ctypes.byref(bytesRead), ol)
if not bErr: raise ctypes.WinError()
return (0, ctypes.string_at(lpBuffer, bytesRead.value))
diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py
index 9434bb1a..3c94dcd3 100644
--- a/QMTest/TestSCons.py
+++ b/QMTest/TestSCons.py
@@ -34,7 +34,7 @@ from TestCmd import PIPE
# here provides some independent verification that what we packaged
# conforms to what we expect.
-default_version = '2.3.1.alpha.yyyymmdd'
+default_version = '2.3.3'
python_version_unsupported = (2, 3, 0)
python_version_deprecated = (2, 7, 0)
diff --git a/README.rst b/README.rst
index 35dc980d..56c48e26 100644
--- a/README.rst
+++ b/README.rst
@@ -480,14 +480,14 @@ following packages will be built::
build/dist/scons-2.0.0-1.noarch.rpm
build/dist/scons-2.0.0-1.src.rpm
build/dist/scons-2.0.0.linux-i686.tar.gz
- build/dist/scons-2.3.1.alpha.yyyymmdd.tar.gz
- build/dist/scons-2.3.1.alpha.yyyymmdd.win32.exe
- build/dist/scons-2.3.1.alpha.yyyymmdd.zip
- build/dist/scons-doc-2.3.1.alpha.yyyymmdd.tar.gz
- build/dist/scons-local-2.3.1.alpha.yyyymmdd.tar.gz
- build/dist/scons-local-2.3.1.alpha.yyyymmdd.zip
- build/dist/scons-src-2.3.1.alpha.yyyymmdd.tar.gz
- build/dist/scons-src-2.3.1.alpha.yyyymmdd.zip
+ build/dist/scons-2.3.3.tar.gz
+ build/dist/scons-2.3.3.win32.exe
+ build/dist/scons-2.3.3.zip
+ build/dist/scons-doc-2.3.3.tar.gz
+ build/dist/scons-local-2.3.3.tar.gz
+ build/dist/scons-local-2.3.3.zip
+ build/dist/scons-src-2.3.3.tar.gz
+ build/dist/scons-src-2.3.3.zip
build/dist/scons_1.3.0-1_all.deb
The SConstruct file is supposed to be smart enough to avoid trying to build
diff --git a/ReleaseConfig b/ReleaseConfig
index 6da53b1d..9d06967c 100644
--- a/ReleaseConfig
+++ b/ReleaseConfig
@@ -32,7 +32,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
# 'final', the patchlevel is set to the release date. This value is
# mandatory and must be present in this file.
#version_tuple = (2, 2, 0, 'final', 0)
-version_tuple = (2, 3, 1, 'alpha', 0)
+version_tuple = (2, 3, 4, 'alpha', 0)
# Python versions prior to unsupported_python_version cause a fatal error
# when that version is used. Python versions prior to deprecate_python_version
diff --git a/SConstruct b/SConstruct
index 3ab4d8cd..d07c6cff 100644
--- a/SConstruct
+++ b/SConstruct
@@ -6,7 +6,7 @@
copyright_years = '2001 - 2014'
# This gets inserted into the man pages to reflect the month of release.
-month_year = 'MONTH YEAR'
+month_year = 'August 2014'
#
# __COPYRIGHT__
@@ -43,7 +43,7 @@ import tempfile
import bootstrap
project = 'scons'
-default_version = '2.3.1.alpha.yyyymmdd'
+default_version = '2.3.3'
copyright = "Copyright (c) %s The SCons Foundation" % copyright_years
platform = distutils.util.get_platform()
diff --git a/debian/changelog b/debian/changelog
index ec049e1c..5e4bf606 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+scons (2.3.3) unstable; urgency=low
+
+ * Maintenance release.
+
+ -- Gary Oberbrunner <garyo@oberbrunner.com> Sun, 24 Aug 2014 21:00:00 -0500
+
+scons (2.3.2) unstable; urgency=low
+
+ * Maintenance release.
+
+ -- Gary Oberbrunner <garyo@oberbrunner.com> Fri, 4 July 2014 21:00:00 -0500
+
scons (2.3.0) unstable; urgency=low
* Maintenance release.
diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml
index 2ed1a8f5..b864ef43 100644
--- a/doc/generated/examples/caching_ex-random_1.xml
+++ b/doc/generated/examples/caching_ex-random_1.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput>
cc -o f1.o -c f1.c
-cc -o f2.o -c f2.c
cc -o f3.o -c f3.c
-cc -o f5.o -c f5.c
cc -o f4.o -c f4.c
+cc -o f2.o -c f2.c
+cc -o f5.o -c f5.c
cc -o prog f1.o f2.o f3.o f4.o f5.o
</screen>
diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml
index 0bdaace1..0a5299b6 100644
--- a/doc/generated/examples/troubleshoot_explain1_3.xml
+++ b/doc/generated/examples/troubleshoot_explain1_3.xml
@@ -3,5 +3,5 @@
cp file.in file.oout
scons: warning: Cannot find target file.out after building
-File "/home/garyo/src/scons-scons/bootstrap/src/script/scons.py", line 199, in &lt;module&gt;
+File "/home/garyo/src/scons-scons/src/script/scons.py", line 199, in &lt;module&gt;
</screen>
diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen
index dc9b50da..539c5e60 100644
--- a/doc/generated/tools.gen
+++ b/doc/generated/tools.gen
@@ -767,19 +767,19 @@ Sets construction variables for the
</para>
<para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;.</para></listitem>
</varlistentry>
- <varlistentry id="t-packaging">
- <term>packaging</term>
+ <varlistentry id="t-Packaging">
+ <term>Packaging</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
-A framework for building binary and source packages.
+Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder.
</para>
</listitem>
</varlistentry>
- <varlistentry id="t-Packaging">
- <term>Packaging</term>
+ <varlistentry id="t-packaging">
+ <term>packaging</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
-Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder.
+A framework for building binary and source packages.
</para>
</listitem>
</varlistentry>
diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod
index 3c6f71cf..13072bf6 100644
--- a/doc/generated/tools.mod
+++ b/doc/generated/tools.mod
@@ -76,8 +76,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-mwcc "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwcc</literal>">
<!ENTITY t-mwld "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwld</literal>">
<!ENTITY t-nasm "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>nasm</literal>">
-<!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>">
<!ENTITY t-Packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>Packaging</literal>">
+<!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>">
<!ENTITY t-pdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdf</literal>">
<!ENTITY t-pdflatex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdflatex</literal>">
<!ENTITY t-pdftex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdftex</literal>">
@@ -185,8 +185,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY t-link-mwcc "<link linkend='t-mwcc' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwcc</literal></link>">
<!ENTITY t-link-mwld "<link linkend='t-mwld' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwld</literal></link>">
<!ENTITY t-link-nasm "<link linkend='t-nasm' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>nasm</literal></link>">
-<!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>">
<!ENTITY t-link-Packaging "<link linkend='t-Packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>Packaging</literal></link>">
+<!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>">
<!ENTITY t-link-pdf "<link linkend='t-pdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdf</literal></link>">
<!ENTITY t-link-pdflatex "<link linkend='t-pdflatex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdflatex</literal></link>">
<!ENTITY t-link-pdftex "<link linkend='t-pdftex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdftex</literal></link>">
diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen
index d21b417a..34b90177 100644
--- a/doc/generated/variables.gen
+++ b/doc/generated/variables.gen
@@ -950,19 +950,19 @@ DFLAGPREFIX.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-DFLAGS">
- <term>DFLAGS</term>
+ <varlistentry id="cv-_DFLAGS">
+ <term>_DFLAGS</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
-DFLAGS.
+_DFLAGS.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-_DFLAGS">
- <term>_DFLAGS</term>
+ <varlistentry id="cv-DFLAGS">
+ <term>DFLAGS</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
-_DFLAGS.
+DFLAGS.
</para>
</listitem>
</varlistentry>
@@ -2642,6 +2642,15 @@ is <quote><literal>-dNOPAUSE -dBATCH -sDEVICE=pdfwrite</literal></quote>
<term>HOST_ARCH</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
+ The name of the host hardware architecture used to create the Environment.
+ If a platform is specified when creating the Environment, then
+ that Platform's logic will handle setting this value.
+ This value is immutable, and should not be changed by the user after
+ the Environment is initialized.
+ Currently only set for Win32.
+</para>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the host architecture for Visual Studio compiler. If not set,
default to the detected host architecture: note that this may depend
on the python you are using.
@@ -2657,16 +2666,7 @@ Valid values are the same as for <envar xmlns="http://www.scons.org/dbxsd/v1.0">
This is currently only used on Windows, but in the future it will be
used on other OSes as well.
</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
- The name of the host hardware architecture used to create the Environment.
- If a platform is specified when creating the Environment, then
- that Platform's logic will handle setting this value.
- This value is immutable, and should not be changed by the user after
- the Environment is initialized.
- Currently only set for Win32.
-</para>
- </listitem>
+</listitem>
</varlistentry>
<varlistentry id="cv-HOST_OS">
<term>HOST_OS</term>
@@ -2862,7 +2862,7 @@ The command line used to call the Java archive tool.
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when the Java archive tool
is called
-If this is not set, then <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JARCOM</envar> (the command line) is displayed.
+If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JARCOM"><envar>$JARCOM</envar></link> (the command line) is displayed.
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
@@ -2872,7 +2872,7 @@ env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET")
<para xmlns="http://www.scons.org/dbxsd/v1.0">
The string displayed when the Java archive tool
is called
-If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JARCOM"><envar>$JARCOM</envar></link> (the command line) is displayed.
+If this is not set, then <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JARCOM</envar> (the command line) is displayed.
</para>
<example_commands xmlns="http://www.scons.org/dbxsd/v1.0">
@@ -6713,6 +6713,13 @@ that may not be set or used in a construction environment.
<term>TARGET_ARCH</term>
<listitem>
<para xmlns="http://www.scons.org/dbxsd/v1.0">
+ The name of the target hardware architecture for the compiled objects
+ created by this Environment.
+ This defaults to the value of HOST_ARCH, and the user can override it.
+ Currently only set for Win32.
+</para>
+
+<para xmlns="http://www.scons.org/dbxsd/v1.0">
Sets the target architecture for Visual Studio compiler (i.e. the arch
of the binaries generated by the compiler). If not set, default to
<envar xmlns="http://www.scons.org/dbxsd/v1.0">$HOST_ARCH</envar>, or, if that is unset, to the architecture of the
@@ -6737,14 +6744,7 @@ and <literal>ia64</literal> (Itanium).
For example, if you want to compile 64-bit binaries, you would set
<literal>TARGET_ARCH='x86_64'</literal> in your SCons environment.
</para>
-
-<para xmlns="http://www.scons.org/dbxsd/v1.0">
- The name of the target hardware architecture for the compiled objects
- created by this Environment.
- This defaults to the value of HOST_ARCH, and the user can override it.
- Currently only set for Win32.
-</para>
- </listitem>
+</listitem>
</varlistentry>
<varlistentry id="cv-TARGET_OS">
<term>TARGET_OS</term>
diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod
index 0a59605a..473c8a26 100644
--- a/doc/generated/variables.mod
+++ b/doc/generated/variables.mod
@@ -76,8 +76,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-DESCRIPTION_lang "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DESCRIPTION_lang</envar>">
<!ENTITY cv-DFILESUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFILESUFFIX</envar>">
<!ENTITY cv-DFLAGPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGPREFIX</envar>">
-<!ENTITY cv-DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGS</envar>">
<!ENTITY cv-_DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_DFLAGS</envar>">
+<!ENTITY cv-DFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGS</envar>">
<!ENTITY cv-DFLAGSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DFLAGSUFFIX</envar>">
<!ENTITY cv-_DINCFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_DINCFLAGS</envar>">
<!ENTITY cv-DINCPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DINCPREFIX</envar>">
@@ -698,8 +698,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-DESCRIPTION_lang "<link linkend='cv-DESCRIPTION_lang' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DESCRIPTION_lang</envar></link>">
<!ENTITY cv-link-DFILESUFFIX "<link linkend='cv-DFILESUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFILESUFFIX</envar></link>">
<!ENTITY cv-link-DFLAGPREFIX "<link linkend='cv-DFLAGPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGPREFIX</envar></link>">
-<!ENTITY cv-link-DFLAGS "<link linkend='cv-DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGS</envar></link>">
<!ENTITY cv-link-_DFLAGS "<link linkend='cv-_DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_DFLAGS</envar></link>">
+<!ENTITY cv-link-DFLAGS "<link linkend='cv-DFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGS</envar></link>">
<!ENTITY cv-link-DFLAGSUFFIX "<link linkend='cv-DFLAGSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DFLAGSUFFIX</envar></link>">
<!ENTITY cv-link-_DINCFLAGS "<link linkend='cv-_DINCFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_DINCFLAGS</envar></link>">
<!ENTITY cv-link-DINCPREFIX "<link linkend='cv-DINCPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DINCPREFIX</envar></link>">
diff --git a/doc/man/scons.xml b/doc/man/scons.xml
index 8d52c1e6..55f2d634 100644
--- a/doc/man/scons.xml
+++ b/doc/man/scons.xml
@@ -425,7 +425,7 @@ try to access a list member that
does not exist.</para>
<para><command>scons</command>
-requires Python version 2.4 or later.
+requires Python version 2.7 or later.
There should be no other dependencies or requirements to run
<emphasis role="bold">scons.</emphasis></para>
diff --git a/doc/python10/process.xml b/doc/python10/process.xml
index 24645e61..6c790d0b 100644
--- a/doc/python10/process.xml
+++ b/doc/python10/process.xml
@@ -50,7 +50,7 @@
<listitem>
<para>
- &SCons; will be written to Python version 2.4 (to ensure
+ &SCons; will be written to Python version 2.7 (to ensure
usability by a wide install base).
</para>
@@ -296,7 +296,7 @@
</para>
<para>
-
+
In practice, simple tests only
need to initialize a test object, use the object to write some
input files, run &SCons;, and then check whatever criteria
diff --git a/doc/user/build-install.xml b/doc/user/build-install.xml
index ca40b044..d107b4a7 100644
--- a/doc/user/build-install.xml
+++ b/doc/user/build-install.xml
@@ -6,7 +6,7 @@
<!ENTITY % scons SYSTEM "../scons.mod">
%scons;
-
+
<!ENTITY % builders-mod SYSTEM "../generated/builders.mod">
%builders-mod;
<!ENTITY % functions-mod SYSTEM "../generated/functions.mod">
@@ -15,7 +15,7 @@
%tools-mod;
<!ENTITY % variables-mod SYSTEM "../generated/variables.mod">
%variables-mod;
-
+
]>
<chapter id="chap-build-install"
@@ -79,7 +79,7 @@
to configure simple &SCons; builds without knowing Python,
so you can skip this section if you
want to dive in and pick up things
- by example- -or, of course, if you are
+ by example- -or, of course, if you are
already familiar with Python.
</para>
@@ -147,7 +147,7 @@ Python 2.5.1
<para>
- &SCons; will work with any 2.x version of Python from 2.4 on;
+ &SCons; will work with any 2.x version of Python from 2.7 on;
3.0 and later are not yet supported.
If you need to install Python and have a choice,
we recommend using the most recent 2.x Python version available.
@@ -209,7 +209,7 @@ Python 2.5.1
a specific &SCons; RPM file,
you can download and install from the
generic RPM provided by the &SCons; project.
- This will install the
+ This will install the
SCons script(s) in <filename>/usr/bin</filename>,
and the SCons library modules in
<filename>/usr/lib/scons</filename>.
@@ -530,7 +530,7 @@ Python 2.5.1
This would
install the <application>scons</application> script in
<filename>/opt/scons/bin</filename>
- and the build engine in
+ and the build engine in
<filename>/opt/scons/lib/scons</filename>,
</para>
@@ -566,7 +566,7 @@ Python 2.5.1
relative to the user's <literal>$HOME</literal> directory,
the &scons; script in
<filename>$HOME/bin</filename>
- and the build engine in
+ and the build engine in
<filename>$HOME/lib/scons</filename>,
simply type:
@@ -719,7 +719,7 @@ $ <userinput>python setup.py install --prefix=$HOME</userinput>
while: statements look like
break statements look like
-
+
continue statements look like
</para>
diff --git a/doc/user/misc.xml b/doc/user/misc.xml
index a71663f2..286963d2 100644
--- a/doc/user/misc.xml
+++ b/doc/user/misc.xml
@@ -2,7 +2,7 @@
<!DOCTYPE sconsdoc [
<!ENTITY % scons SYSTEM "../scons.mod">
%scons;
-
+
<!ENTITY % builders-mod SYSTEM "../generated/builders.mod">
%builders-mod;
<!ENTITY % functions-mod SYSTEM "../generated/functions.mod">
@@ -56,11 +56,10 @@
<para>
- Although the &SCons; code itself will run
- on any 2.x Python version 2.4 or later,
+ Although the &SCons; code itself will run
+ on any 2.x Python version 2.7 or later,
you are perfectly free to make use of
- Python syntax and modules from more modern versions
- (for example, Python 2.5 or 2.6)
+ Python syntax and modules from later versions
when writing your &SConscript; files
or your own local modules.
If you do this, it's usually helpful to
diff --git a/src/Announce.txt b/src/Announce.txt
index 83fe4218..9ca047da 100644
--- a/src/Announce.txt
+++ b/src/Announce.txt
@@ -19,13 +19,19 @@ effectively, please go to http://scons.org/lists.php#users to sign up for
the scons-users mailing list.
-RELEASE 2.3.2.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE
+RELEASE VERSION/DATE TO BE FILLED IN LATER
Please consult the RELEASE.txt file for a summary of changes since the last
release and consult the CHANGES.txt file for complete a list of changes
since last release. This announcement highlights only the important
changes.
+ Please note the following important changes since release 2.3.2:
+
+ -- On Windows, .def files did not work as sources to shared
+ libraries or executables, due to a regression which is
+ corrected in 2.3.3.
+
Please note the following important changes since release 2.3.0:
-- BitKeeper, CVS, Perforce, RCS, SCCS are deprecated from the
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index cf4264a8..d5161315 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -4,7 +4,23 @@
Change Log
-RELEASE 2.3.2.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE
+RELEASE VERSION/DATE TO BE FILLED IN LATER
+
+ From John Doe:
+
+ - Whatever John Doe did.
+
+
+RELEASE 2.3.3 - Sun, 24 Aug 2014 21:08:33 -0400
+
+ From Roland Stark:
+ - Fixed false line length calculation in the TempFileMunge class (#2970).
+
+ From Gary Oberbrunner:
+ - Improve SWIG detection
+
+ From Russel Winder:
+ - Fix regression on Windows in D language update
From Anatoly Techtonik:
- Do not fail on EnsureSConsVersion when running from checkout
diff --git a/src/RELEASE.txt b/src/RELEASE.txt
index 7249af47..31c95905 100644
--- a/src/RELEASE.txt
+++ b/src/RELEASE.txt
@@ -1,99 +1,73 @@
- A new SCons release, 2.3.2, is now available
+ A new SCons checkpoint release, 2.3.4.alpha.yyyymmdd, is now available
on the SCons download page:
http://www.scons.org/download.php
- This is a maintenance release, focusing on bug fixes.
+ XXX The primary purpose of this release ... XXX
- Here is a summary of the changes since 2.3.1:
+ A SCons "checkpoint release" is intended to provide early access to
+ new features so they can be tested in the field before being released
+ for adoption by other software distributions.
+
+ Note that a checkpoint release is developed using the same test-driven
+ development methodology as all SCons releases. Existing SCons
+ functionality should all work as it does in previous releases (except
+ for any changes identified in the release notes) and early adopters
+ should be able to use a checkpoint release safely for production work
+ with existing SConscript files. If not, it represents not only a bug
+ in SCons but also a hole in the regression test suite, and we want to
+ hear about it.
+
+ New features may be more lightly tested than in past releases,
+ especially as concerns their interaction with all of the other
+ functionality in SCons. We are especially interested in hearing bug
+ reports about new functionality.
+
+ We do not recommend that downstream distributions (Debian, Fedora,
+ etc.) package a checkpoint release, mainly to avoid confusing the
+ "public" release numbering with the long checkpoint release names.
+
+ Here is a summary of the changes since 1.3.0:
NEW FUNCTIONALITY
- - Support for Visual Studio 12.0Exp and 2013 (12.0).
+ - List new features (presumably why a checkpoint is being released)
DEPRECATED FUNCTIONALITY
- - RPM and m4 are no longer in the default toolset on Windows.
- - BitKeeper, CVS, Perforce, RCS, SCCS are deprecated from the
- default toolset and will be removed from the default toolset
- in future SCons versions.
- - D language, version 1, is now deprecated. Version 2 is
- supported.
+ - List anything that's been deprecated since the last release
CHANGED/ENHANCED EXISTING FUNCTIONALITY
- - Revamp of D language support.
- Tools for DMD, GDC and LDC are provided, and integrated
- with the C and C++ linking.
- - TeX builder now supports -synctex=1
- - TeX builder cleans auxiliary files correctly with biblatex.
+ - List modifications to existing features, where the previous behavior
+ wouldn't actually be considered a bug
FIXES
- - Fixed handling of nested ifs in CPP scanner PreProcessor class.
- - Respect user's CC/CXX values; don't always overwrite in generate()
- - Delegate linker Tool.exists() to CC/CXX Tool.exists().
- - Fixed NoClean() for multi-target builders (#2353).
- - Fix SConf tests that write output
- - get default RPM architecture more robustly when building RPMs
- - Allow varlist to be specified as list of strings for Actions (#2754)
- - Fixes to Docbook tool
+ - List fixes of outright bugs
+
+ IMPROVEMENTS
+
+ - List improvements that wouldn't be visible to the user in the
+ documentation: performance improvements (describe the circumstances
+ under which they would be observed), or major code cleanups
PACKAGING
- - Update XML doc editor configuration
+ - List changes in the way SCons is packaged and/or released
+
+ DOCUMENTATION
+
+ - List any significant changes to the documentation (not individual
+ typo fixes, even if they're mentioned in src/CHANGES.txt to give
+ the contributor credit)
DEVELOPMENT
- - Improvements to running scons.py from the source tree
-
-Thanks to:
- Dirk Baechle,
- Vincent Beffar,
- Thomas Berg,
- Antonio Cavallo,
- Jean-François Colson,
- Bauke Conijn,
- Bill Deegan,
- Ken Deeter,
- dubcanada on Bitbucket,
- Luca Falavigna,
- Andrew Featherstone,
- Alexandre Feblot,
- Shane Gannon,
- Alexander Goomenyuk,
- Justin Gullingsrud,
- Michael Haubenwallner,
- Joshua Hughes,
- Alexey Klimkin,
- Steven Knight,
- Arve Knudsen,
- Philipp Kraus,
- Jean-Baptiste Lab,
- Juan Lang,
- Rob Managan,
- Michael McDougall,
- Mortoray,
- Manuel Francisco Naranjo,
- Gary Oberbrunner,
- Alexey Petruchik,
- Evgeny Podjachev,
- David Rothenberger,
- smallbub on Bitbucket,
- Sohail Somani,
- Stefan Sperling,
- Amir Szekely,
- Tom Tanner,
- Anatoly Techtonik,
- Bogdan Tenea,
- Paweł Tomulik,
- Sye van der Veen,
- veon on bitbucket,
- Greg Ward,
- Allen Weeks,
- Russel Winder,
- Joe Zuntz
- for their contributions to this and prior releases.
+ - List visible changes in the way SCons is developed
+
+ Thanks to CURLY, LARRY, and MOE for their contributions to this release.
+ Contributors are listed alphabetically by their last name.
__COPYRIGHT__
__FILE__ __REVISION__ __DATE__ __DEVELOPER__
diff --git a/src/engine/SCons/Platform/PlatformTests.py b/src/engine/SCons/Platform/PlatformTests.py
index 515382a3..ca3080e0 100644
--- a/src/engine/SCons/Platform/PlatformTests.py
+++ b/src/engine/SCons/Platform/PlatformTests.py
@@ -26,17 +26,19 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
import SCons.compat
import collections
-import sys
import unittest
import TestUnit
import SCons.Errors
import SCons.Platform
+import SCons.Environment
+import SCons.Action
class Environment(collections.UserDict):
def Detect(self, cmd):
return cmd
+
def AppendENVPath(self, key, value):
pass
@@ -117,9 +119,52 @@ class PlatformTestCase(unittest.TestCase):
SCons.Platform.Platform()(env)
assert env != {}, env
+class TempFileMungeTestCase(unittest.TestCase):
+ def test_MAXLINELENGTH(self):
+ """ Test different values for MAXLINELENGTH with the same
+ size command string to ensure that the temp file mechanism
+ kicks in only at MAXLINELENGTH+1, or higher
+ """
+ # Init class with cmd, such that the fully expanded
+ # string reads "a test command line".
+ # Note, how we're using a command string here that is
+ # actually longer than the substituted one. This is to ensure
+ # that the TempFileMunge class internally really takes the
+ # length of the expanded string into account.
+ defined_cmd = "a $VERY $OVERSIMPLIFIED line"
+ t = SCons.Platform.TempFileMunge(defined_cmd)
+ env = SCons.Environment.SubstitutionEnvironment(tools=[])
+ # Setting the line length high enough...
+ env['MAXLINELENGTH'] = 1024
+ env['VERY'] = 'test'
+ env['OVERSIMPLIFIED'] = 'command'
+ expanded_cmd = env.subst(defined_cmd)
+ # Call the tempfile munger
+ cmd = t(None,None,env,0)
+ assert cmd == defined_cmd, cmd
+ # Let MAXLINELENGTH equal the string's length
+ env['MAXLINELENGTH'] = len(expanded_cmd)
+ cmd = t(None,None,env,0)
+ assert cmd == defined_cmd, cmd
+ # Finally, let the actual tempfile mechanism kick in
+ # Disable printing of actions...
+ old_actions = SCons.Action.print_actions
+ SCons.Action.print_actions = 0
+ env['MAXLINELENGTH'] = len(expanded_cmd)-1
+ cmd = t(None,None,env,0)
+ # ...and restoring its setting.
+ SCons.Action.print_actions = old_actions
+ assert cmd != defined_cmd, cmd
if __name__ == "__main__":
- suite = unittest.makeSuite(PlatformTestCase, 'test_')
+ suite = unittest.TestSuite()
+
+ tclasses = [ PlatformTestCase,
+ TempFileMungeTestCase ]
+ for tclass in tclasses:
+ names = unittest.getTestCaseNames(tclass, 'test_')
+ suite.addTests(list(map(tclass, names)))
+
TestUnit.run(suite)
# Local Variables:
diff --git a/src/engine/SCons/Platform/__init__.py b/src/engine/SCons/Platform/__init__.py
index 81a49e7e..fa6df61c 100644
--- a/src/engine/SCons/Platform/__init__.py
+++ b/src/engine/SCons/Platform/__init__.py
@@ -173,6 +173,7 @@ class TempFileMunge(object):
length = 0
for c in cmd:
length += len(c)
+ length += len(cmd) - 1
if length <= maxline:
return self.cmd
@@ -187,7 +188,7 @@ class TempFileMunge(object):
(fd, tmp) = tempfile.mkstemp('.lnk', text=True)
native_tmp = SCons.Util.get_native_path(os.path.normpath(tmp))
- if env['SHELL'] and env['SHELL'] == 'sh':
+ if env.get('SHELL',None) == 'sh':
# The sh shell will try to escape the backslashes in the
# path, so unescape them.
native_tmp = native_tmp.replace('\\', r'\\\\')
diff --git a/test/CC/CCVERSION.py b/test/CC/CCVERSION.py
index ac28e380..f785ddc2 100644
--- a/test/CC/CCVERSION.py
+++ b/test/CC/CCVERSION.py
@@ -33,7 +33,8 @@ _exe = TestSCons._exe
test = TestSCons.TestSCons()
-
+if sys.platform == 'win32':
+ test.skip_test('CCVERSION not set with MSVC, skipping test.')
test.write("versioned.py",
"""import os
diff --git a/test/CXX/CXXVERSION.py b/test/CXX/CXXVERSION.py
index 8433aa61..60170015 100644
--- a/test/CXX/CXXVERSION.py
+++ b/test/CXX/CXXVERSION.py
@@ -33,6 +33,8 @@ _exe = TestSCons._exe
test = TestSCons.TestSCons()
+if sys.platform == 'win32':
+ test.skip_test('CXXVERSION not set with MSVC, skipping test.')
test.write("versioned.py",
diff --git a/test/Configure/custom-tests.py b/test/Configure/custom-tests.py
index f79ea0d4..687ba489 100644
--- a/test/Configure/custom-tests.py
+++ b/test/Configure/custom-tests.py
@@ -180,7 +180,7 @@ scons: Configure: Display of random string ...
scons: Configure: \(cached\) a random string
scons: Configure: Display of empty string ...
-scons: Configure: \(cached\).
+scons: Configure: \(cached\) *
scons: Configure: Display of dictionary ...
scons: Configure: \(cached\) yes
diff --git a/test/FindSourceFiles.py b/test/FindSourceFiles.py
index 3ba542bd..88b9d7e4 100644
--- a/test/FindSourceFiles.py
+++ b/test/FindSourceFiles.py
@@ -28,12 +28,13 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
Test Environment's FindSourceFiles method.
"""
+import sys
import TestSCons
test = TestSCons.TestSCons()
package_format = "src_tarbz2"
-if not test.where_is('tar'):
+if not test.where_is('tar') or sys.platform == 'win32':
if not test.where_is('zip'):
test.skip_test("neither 'tar' nor 'zip' found; skipping test\n")
package_format = "src_zip"