diff options
author | William Deegan <bill@baddogconsulting.com> | 2014-08-24 14:33:20 -0700 |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2014-08-24 14:33:20 -0700 |
commit | 25f9d79f263747f84b5ac943be656997544a7aa3 (patch) | |
tree | a0e24570152596b93b1f7c03a4abbced413a4ff8 | |
parent | ded039b02a955c5a4ddef1b9a817f6d505cf2f6f (diff) | |
parent | c4031660f2eeaf0b4d42a0f57e02ee0309b6ce77 (diff) | |
download | scons-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.py | 5 | ||||
-rw-r--r-- | QMTest/TestSCons.py | 2 | ||||
-rw-r--r-- | README.rst | 16 | ||||
-rw-r--r-- | ReleaseConfig | 2 | ||||
-rw-r--r-- | SConstruct | 4 | ||||
-rw-r--r-- | debian/changelog | 12 | ||||
-rw-r--r-- | doc/generated/examples/caching_ex-random_1.xml | 4 | ||||
-rw-r--r-- | doc/generated/examples/troubleshoot_explain1_3.xml | 2 | ||||
-rw-r--r-- | doc/generated/tools.gen | 12 | ||||
-rw-r--r-- | doc/generated/tools.mod | 4 | ||||
-rw-r--r-- | doc/generated/variables.gen | 52 | ||||
-rw-r--r-- | doc/generated/variables.mod | 4 | ||||
-rw-r--r-- | doc/man/scons.xml | 2 | ||||
-rw-r--r-- | doc/python10/process.xml | 4 | ||||
-rw-r--r-- | doc/user/build-install.xml | 16 | ||||
-rw-r--r-- | doc/user/misc.xml | 9 | ||||
-rw-r--r-- | src/Announce.txt | 8 | ||||
-rw-r--r-- | src/CHANGES.txt | 18 | ||||
-rw-r--r-- | src/RELEASE.txt | 120 | ||||
-rw-r--r-- | src/engine/SCons/Platform/PlatformTests.py | 49 | ||||
-rw-r--r-- | src/engine/SCons/Platform/__init__.py | 3 | ||||
-rw-r--r-- | test/CC/CCVERSION.py | 3 | ||||
-rw-r--r-- | test/CXX/CXXVERSION.py | 2 | ||||
-rw-r--r-- | test/Configure/custom-tests.py | 2 | ||||
-rw-r--r-- | test/FindSourceFiles.py | 3 |
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) @@ -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 @@ -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 <module> +File "/home/garyo/src/scons-scons/src/script/scons.py", line 199, in <module> </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" |