From dec3978a72f6d65a0a8c8e4e180ff7b658c9f630 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Mon, 9 Nov 2015 09:30:07 -0800 Subject: merge changes from 2.4.1 release to default --- QMTest/TestSCons.py | 2 +- README.rst | 34 ++++----- ReleaseConfig | 2 +- SConstruct | 4 +- debian/changelog | 6 ++ doc/generated/examples/caching_ex-random_1.xml | 2 +- .../examples/commandline_Variables_Help_1.xml | 2 - doc/generated/examples/output_ex1_1.xml | 2 - doc/generated/examples/output_ex2_1.xml | 2 - doc/generated/examples/output_ex2_2.xml | 2 - doc/generated/examples/troubleshoot_explain1_3.xml | 2 +- doc/generated/tools.gen | 12 +-- doc/generated/tools.mod | 4 +- doc/generated/variables.gen | 20 ++--- doc/generated/variables.mod | 4 +- src/Announce.txt | 79 ++++++++++++++++--- src/CHANGES.txt | 8 +- src/RELEASE.txt | 88 +++++++++++----------- 18 files changed, 161 insertions(+), 114 deletions(-) diff --git a/QMTest/TestSCons.py b/QMTest/TestSCons.py index 75bf395..ef70261 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.4.0' +default_version = '2.4.1' python_version_unsupported = (2, 3, 0) python_version_deprecated = (2, 7, 0) diff --git a/README.rst b/README.rst index 05be712..a2b15a6 100644 --- a/README.rst +++ b/README.rst @@ -156,7 +156,7 @@ Or on Windows:: By default, the above commands will do the following: -- Install the version-numbered "scons-2.4.0" and "sconsign-2.4.0" scripts in +- Install the version-numbered "scons-2.4.1" and "sconsign-2.4.1" scripts in the default system script directory (/usr/bin or C:\\Python\*\\Scripts, for example). This can be disabled by specifying the "--no-version-script" option on the command line. @@ -168,16 +168,16 @@ By default, the above commands will do the following: before making it the default on your system. On UNIX or Linux systems, you can have the "scons" and "sconsign" scripts be - hard links or symbolic links to the "scons-2.4.0" and "sconsign-2.4.0" + hard links or symbolic links to the "scons-2.4.1" and "sconsign-2.4.1" scripts by specifying the "--hardlink-scons" or "--symlink-scons" options on the command line. -- Install "scons-2.4.0.bat" and "scons.bat" wrapper scripts in the Python +- Install "scons-2.4.1.bat" and "scons.bat" wrapper scripts in the Python prefix directory on Windows (C:\\Python\*, for example). This can be disabled by specifying the "--no-install-bat" option on the command line. On UNIX or Linux systems, the "--install-bat" option may be specified to - have "scons-2.4.0.bat" and "scons.bat" files installed in the default system + have "scons-2.4.1.bat" and "scons.bat" files installed in the default system script directory, which is useful if you want to install SCons in a shared file system directory that can be used to execute SCons from both UNIX/Linux and Windows systems. @@ -462,7 +462,7 @@ running all of "runtest.py -a". Building Packages ================= -We use SCons (version 2.4.0 or later) to build its own packages. If you +We use SCons (version 2.4.1 or later) to build its own packages. If you already have an appropriate version of SCons installed on your system, you can build everything by simply running it:: @@ -477,18 +477,18 @@ about `Executing SCons Without Installing`_):: Depending on the utilities installed on your system, any or all of the following packages will be built:: - build/dist/scons-2.4.0-1.noarch.rpm - build/dist/scons-2.4.0-1.src.rpm - build/dist/scons-2.4.0.linux-i686.tar.gz - build/dist/scons-2.4.0.tar.gz - build/dist/scons-2.4.0.win32.exe - build/dist/scons-2.4.0.zip - build/dist/scons-doc-2.4.0.tar.gz - build/dist/scons-local-2.4.0.tar.gz - build/dist/scons-local-2.4.0.zip - build/dist/scons-src-2.4.0.tar.gz - build/dist/scons-src-2.4.0.zip - build/dist/scons_2.4.0-1_all.deb + build/dist/scons-2.4.1-1.noarch.rpm + build/dist/scons-2.4.1-1.src.rpm + build/dist/scons-2.4.1.linux-i686.tar.gz + build/dist/scons-2.4.1.tar.gz + build/dist/scons-2.4.1.win32.exe + build/dist/scons-2.4.1.zip + build/dist/scons-doc-2.4.1.tar.gz + build/dist/scons-local-2.4.1.tar.gz + build/dist/scons-local-2.4.1.zip + build/dist/scons-src-2.4.1.tar.gz + build/dist/scons-src-2.4.1.zip + build/dist/scons_2.4.1-1_all.deb The SConstruct file is supposed to be smart enough to avoid trying to build packages for which you don't have the proper utilities installed. For diff --git a/ReleaseConfig b/ReleaseConfig index 6194438..4396248 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, 4, 1, 'alpha', 0) +version_tuple = (2, 4, 1) # 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 4bff134..79249e9 100644 --- a/SConstruct +++ b/SConstruct @@ -6,7 +6,7 @@ copyright_years = '2001 - 2015' # This gets inserted into the man pages to reflect the month of release. -month_year = 'September 2015' +month_year = 'November 2015' # # __COPYRIGHT__ @@ -43,7 +43,7 @@ import tempfile import bootstrap project = 'scons' -default_version = '2.4.0' +default_version = '2.4.1' copyright = "Copyright (c) %s The SCons Foundation" % copyright_years platform = distutils.util.get_platform() diff --git a/debian/changelog b/debian/changelog index 7311f78..9d60e3a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +scons (2.4.1) unstable; urgency=low + + * Maintenance release. + + -- William Deegan Sat, 07 Nov 2015 08:56:00 -0700 + scons (2.4.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 904e1dd..6a0337b 100644 --- a/doc/generated/examples/caching_ex-random_1.xml +++ b/doc/generated/examples/caching_ex-random_1.xml @@ -1,9 +1,9 @@ % scons -Q cc -o f2.o -c f2.c +cc -o f1.o -c f1.c cc -o f5.o -c f5.c cc -o f3.o -c f3.c cc -o f4.o -c f4.c -cc -o f1.o -c f1.c cc -o prog f1.o f2.o f3.o f4.o f5.o diff --git a/doc/generated/examples/commandline_Variables_Help_1.xml b/doc/generated/examples/commandline_Variables_Help_1.xml index 76f13c5..db171eb 100644 --- a/doc/generated/examples/commandline_Variables_Help_1.xml +++ b/doc/generated/examples/commandline_Variables_Help_1.xml @@ -1,8 +1,6 @@ % scons -Q -h -Local Build Variables: - RELEASE: Set to 1 to build for release default: 0 actual: 0 diff --git a/doc/generated/examples/output_ex1_1.xml b/doc/generated/examples/output_ex1_1.xml index 2607243..535960b 100644 --- a/doc/generated/examples/output_ex1_1.xml +++ b/doc/generated/examples/output_ex1_1.xml @@ -3,8 +3,6 @@ scons: Reading SConscript files ... scons: done reading SConscript files. -Local Build Variables: - Type: 'scons program' to build the production program, 'scons debug' to build the debug version. diff --git a/doc/generated/examples/output_ex2_1.xml b/doc/generated/examples/output_ex2_1.xml index 74d7192..e951c3a 100644 --- a/doc/generated/examples/output_ex2_1.xml +++ b/doc/generated/examples/output_ex2_1.xml @@ -3,8 +3,6 @@ scons: Reading SConscript files ... scons: done reading SConscript files. -Local Build Variables: - Type: 'scons program' to build the production program. Type: 'scons windebug' to build the Windows debug version. diff --git a/doc/generated/examples/output_ex2_2.xml b/doc/generated/examples/output_ex2_2.xml index 9130d5a..8dca6c3 100644 --- a/doc/generated/examples/output_ex2_2.xml +++ b/doc/generated/examples/output_ex2_2.xml @@ -3,8 +3,6 @@ scons: Reading SConscript files ... scons: done reading SConscript files. -Local Build Variables: - Type: 'scons program' to build the production program. Use scons -H for help about command-line options. diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml index 9763efe..3d8592d 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/bdbaddog/scons/scons/bootstrap/src/script/scons.py", line 199, in <module> +File "/scons/as_scons/bootstrap/src/script/scons.py", line 199, in <module> diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index fcb7587..ba12966 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -780,19 +780,19 @@ Sets construction variables for the Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;. - - packaging + + Packaging -A framework for building binary and source packages. +Sets construction variables for the Package Builder. - - Packaging + + packaging -Sets construction variables for the Package Builder. +A framework for building binary and source packages. diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod index 1191e6a..2ee2270 100644 --- a/doc/generated/tools.mod +++ b/doc/generated/tools.mod @@ -78,8 +78,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -packaging"> Packaging"> +packaging"> pdf"> pdflatex"> pdftex"> @@ -189,8 +189,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -packaging"> Packaging"> +packaging"> pdf"> pdflatex"> pdftex"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index 3d8a87a..b377102 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -6553,16 +6553,6 @@ Example - - SHLIBVERSIONFLAGS - - -Extra flags added to $SHLINKCOM when building versioned -SharedLibrary. These flags are only used when $SHLIBVERSION is -set. - - - _SHLIBVERSIONFLAGS @@ -6576,6 +6566,16 @@ and some extra dynamically generated options (such as + + SHLIBVERSIONFLAGS + + +Extra flags added to $SHLINKCOM when building versioned +SharedLibrary. These flags are only used when $SHLIBVERSION is +set. + + + SHLINK diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod index f7303f2..955a9eb 100644 --- a/doc/generated/variables.mod +++ b/doc/generated/variables.mod @@ -521,8 +521,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$SHLIBVERSIONFLAGS"> $_SHLIBVERSIONFLAGS"> +$SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> @@ -1175,8 +1175,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$SHLIBVERSIONFLAGS"> $_SHLIBVERSIONFLAGS"> +$SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> diff --git a/src/Announce.txt b/src/Announce.txt index 7a13b81..719b4d7 100644 --- a/src/Announce.txt +++ b/src/Announce.txt @@ -18,31 +18,86 @@ So that everyone using SCons can help each other learn how to use it more effectively, please go to http://scons.org/lists.php#users to sign up for the scons-users mailing list. -==============IMPORTANT NOTICE=========== +==============IMPORTANT NOTICE FOR NEXT VERSION V2.5.0========== +PLEASE READ. CHANGES COMING IN NEXT MAJOR RELEASE V2.5.0 -As has been pre-announced in SCons's mailing lists: +We're enhancing implicit language scanning functionality to improve +correctness. SCons now honors scanner keys for implicit dependencies +and correctly changes scanner type (if necessary) when traversing +implicit dependency trees. -* https://pairlist4.pair.net/pipermail/scons-users/2014-July/002734.html , -* https://pairlist2.pair.net/pipermail/scons-dev/2014-December/002107.html -* https://pairlist4.pair.net/pipermail/scons-users/2015-February/003454.html +This enhancement resolves missing dependencies +with built-in scanners including SWIG (#2264) and QT: +* http://scons.tigris.org/issues/show_bug.cgi?id=2264 -We're planning to switch the Node class to using "slots" in the core sources, -mainly to reduce memory consumption by up to 35% in large build projects. +This enhancement broadens the horizon for handling heterogeneous +data flow environments (E.G. software builds): +* http://article.gmane.org/gmane.comp.programming.tools.scons.user/26596 +Notes: -This feature has been tested extensively and we don't expect any problems for you. -However as with all major changes it would be wise to test V2.4.0 when it is -released. Especially if you are directly using the Node class. +* SCons may find new (and correct) dependencies in cross-langauge contexts. +** Update may cause rebuilds, especially in heterogeneous data environments. +** Update may find previously missed dependencies errors (E.G. cycles). +*** Discovered in some QT test cases. +* SCons handles the SCANNERS variable differently. +** Previously, the Install builder would scan implicit dependencies for + a scanner found in SCANNERS (but not for built-in scanners), but now + the Install builder will not scan recursively regardless in order + to optimize Install behaviour and bring orthogonality to previous behaviour. -================================================================= ++================================================================= -RELEASE VERSION/DATE TO BE FILLED IN LATER +RELEASE 2.4.1 - Mon, 07 Nov 2015 10:37:21 -0700 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.4.0: + - Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order). + - Fix to swig tool - respect env['SWIG'] provided by user. + - Fix for Bug # 2791 - Setup.py fails unnecessarily under Jython. + - Fixed license of SVG titlepage files in the context of Debian + packaging, such that they allow for commercial use too (#2985). + - InstallVersionedLib now available in the DefaultEnvironment context. + - Improves orthogonality of use cases between different Install functions. + - Added new configure check, CheckProg, to check for + existence of a program. + - Fix for issue #2840 - Fix for two environments specifying same target with different + actions not throwing hard error. Instead SCons was incorrectly issuing a warning + and continuing. + - Add support `Microsoft Visual C++ Compiler for Python 2.7' + Compiler can be obtained at: https://www.microsoft.com/en-us/download/details.aspx?id=44266 + - Fixed tigris issue #3011: Glob() excludes didn't work when used with VariantDir(duplicate=0) + - Fix bug 2831 and allow Help() text to be appended to AddOption() help. + - Reimplemented versioning for shared libraries, with the following effects + - Fixed tigris issues #3001, #3006. + - Fixed several other issues not reported to tigris, including: + issues with versioned libraries in subdirectories with tricky names, + issues with versioned libraries and variant directories, + issue with soname not being injected to library when using D linkers, + - Switched to direct symlinks instead of daisy-chained ones -- soname and + development symlinks point directly to the versioned shared library now), + for rationale see: + https://www.debian.org/doc/debian-policy/ch-sharedlibs.html + https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages + https://bitbucket.org/scons/scons/pull-requests/247/new-versioned-libraries-gnulink-cyglink/diff#comment-10063929 + - New construction variables to allow override default behavior: SONAME, + SHLIBVERSIONFLAGS, _SHLIBVERSIONFLAGS, SHLIBNOVERSIONSYMLINKS, + LDMODULEVERSION, LDMODULEVERSIONFLAGS, _LDMODULEVERSIONFLAGS, + LDMODULENOVERSIONSYMLINKS. + - Changed logic used to configure the versioning machinery from + platform-centric to linker-oriented. + - The SHLIBVERSION/LDMODULEVERSION variables are no longer validated by + SCons (more freedom to users). + - InstallVersionedLib() doesn't use SHLIBVERSION anymore. + - Enchanced docs for the library versioning stuff. + - New tests for versioned libraries. + - Library versioning is currently implemented for the following linker + tools: 'cyglink', 'gnulink', 'sunlink'. + Please note the following important changes since release 2.3.6: - Switch several core classes to use "slots" to reduce memory usage. (PR #2180, #2178, #2198) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 823eb4b..40245a8 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -4,11 +4,7 @@ Change Log -RELEASE VERSION/DATE TO BE FILLED IN LATER - - From Paweł Tomulik: - - Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order). - - Fix to swig tool - respect env['SWIG'] provided by user. +RELEASE 2.4.1 - Mon, 07 Nov 2015 10:37:21 -0700 From Arfrever Frehtes Taifersar Arahesis: - Fix for Bug # 2791 - Setup.py fails unnecessarily under Jython. @@ -66,6 +62,8 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - New tests for versioned libraries. - Library versioning is currently implemented for the following linker tools: 'cyglink', 'gnulink', 'sunlink'. + - Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order). + - Fix to swig tool - respect env['SWIG'] provided by user. diff --git a/src/RELEASE.txt b/src/RELEASE.txt index 1bf2eb1..baf3283 100644 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -1,72 +1,68 @@ - A new SCons checkpoint release, 2.3.13.alpha.yyyymmdd, is now available + A new SCons release, 2.4.1, is now available on the SCons download page: http://www.scons.org/download.php - XXX The primary purpose of this release ... XXX - - 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: + Here is a summary of the changes since 2.4.0: NEW FUNCTIONALITY - - - List new features (presumably why a checkpoint is being released) + - InstallVersionedLib now available in the DefaultEnvironment context. + - Added new configure check, CheckProg, to check for existence of a program. + - Add support `Microsoft Visual C++ Compiler for Python 2.7' + Compiler can be obtained at: https://www.microsoft.com/en-us/download/details.aspx?id=44266 DEPRECATED FUNCTIONALITY - - List anything that's been deprecated since the last release - CHANGED/ENHANCED EXISTING FUNCTIONALITY - - List modifications to existing features, where the previous behavior - wouldn't actually be considered a bug + - Reimplemented versioning for shared libraries, with the following effects + - Fixed tigris issues #3001, #3006. + - Fixed several other issues not reported to tigris, including: + issues with versioned libraries in subdirectories with tricky names, + issues with versioned libraries and variant directories, + issue with soname not being injected to library when using D linkers, + - Switched to direct symlinks instead of daisy-chained ones -- soname and + development symlinks point directly to the versioned shared library now), + for rationale see: + https://www.debian.org/doc/debian-policy/ch-sharedlibs.html + https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages + https://bitbucket.org/scons/scons/pull-requests/247/new-versioned-libraries-gnulink-cyglink/diff#comment-10063929 + - New construction variables to allow override default behavior: SONAME, + SHLIBVERSIONFLAGS, _SHLIBVERSIONFLAGS, SHLIBNOVERSIONSYMLINKS, + LDMODULEVERSION, LDMODULEVERSIONFLAGS, _LDMODULEVERSIONFLAGS, + LDMODULENOVERSIONSYMLINKS. + - Changed logic used to configure the versioning machinery from + platform-centric to linker-oriented. + - The SHLIBVERSION/LDMODULEVERSION variables are no longer validated by + SCons (more freedom to users). + - InstallVersionedLib() doesn't use SHLIBVERSION anymore. + - Enchanced docs for the library versioning stuff. + - New tests for versioned libraries. + - Library versioning is currently implemented for the following linker + tools: 'cyglink', 'gnulink', 'sunlink'. FIXES - - List fixes of outright bugs + - Fix for issue #2840 - Fix for two environments specifying same target with different + actions not throwing hard error. Instead SCons was incorrectly issuing a warning + and continuing. + - Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order). + - Fix to swig tool - respect env['SWIG'] provided by user. + - Fix for Bug # 2791 - Setup.py fails unnecessarily under Jython. + - Fixed license of SVG titlepage files in the context of Debian + packaging, such that they allow for commercial use too (#2985). + - Fixed tigris issue #3011: Glob() excludes didn't work when used with VariantDir(duplicate=0) + - Fix bug 2831 and allow Help() text to be appended to AddOption() help. 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 - - 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 - - List visible changes in the way SCons is developed - - Thanks to CURLY, LARRY, and MOE for their contributions to this release. + Thanks to Arfrever Frehtes Taifersar Arahesis, Dirk Baechle, William Blevins, Carnë Draug, Andrew Featherstone, Hiroaki Itoh, Florian Miedniak, William Roberts, Paweł Tomulik for their contributions to this release. Contributors are listed alphabetically by their last name. __COPYRIGHT__ -- cgit v0.12