diff options
author | Russel Winder <russel@winder.org.uk> | 2017-06-15 07:02:06 (GMT) |
---|---|---|
committer | Russel Winder <russel@winder.org.uk> | 2017-06-15 07:02:06 (GMT) |
commit | 7ab48a48ae7828281f7f9b0b6017605cfe50f065 (patch) | |
tree | b78e0a35f014775ca974555b50fd25ee6037f589 /src | |
parent | 74207e0e31f375b33c313194ae64bcde459994f4 (diff) | |
parent | 15906a8f315b983279d0a6f8867ef1c15f6a0f4f (diff) | |
download | SCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.zip SCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.tar.gz SCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.tar.bz2 |
Merge in current mainline.
Diffstat (limited to 'src')
-rw-r--r-- | src/Announce.txt | 40 | ||||
-rw-r--r-- | src/CHANGES.txt | 52 | ||||
-rw-r--r-- | src/RELEASE.txt | 30 | ||||
-rw-r--r-- | src/engine/SCons/Tool/dmd.xml | 144 | ||||
-rw-r--r-- | src/test_aegistests.py | 81 |
5 files changed, 200 insertions, 147 deletions
diff --git a/src/Announce.txt b/src/Announce.txt index 266988f..112d6f0 100644 --- a/src/Announce.txt +++ b/src/Announce.txt @@ -11,21 +11,51 @@ scripts, allowing you to use the full power of a real scripting language to solve build problems. You do not, however, need to know Python to use SCons effectively. -Please go to http://www.scons.org/download.php to get the latest production +Please go to http://scons.org/pages/download.html to get the latest production release of SCons. 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 +effectively, please go to http://scons.org/lists.html#users to sign up for the scons-users mailing list. -RELEASE VERSION/DATE TO BE FILLED IN LATER +RELEASE 3.0.0.alpha.20170614 - Mon, 14 Jun 2017 12:23:56 -0400 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.1: + Please note the following important changes since release 2.5.1: + *IT IS NOT READY FOR PRODUCTION USE* + + This is the initial release supporting both python 3.5+ and 2.7.x and pypy + There are some important changes: + + - Any print statements must now use python 3 syntax of "print()" + - All node content should be in bytes. This is the default in python 2.7.x, + in Python 3 all strings are by default unicode. byte and/or bytearray + should be used if you construct content for return by a custom node type's + get_content() method. + - This is some (as yet unresolved issue) using Literal()'s in some context with + Python 3 + - pypy should be supported, please report any issues to the user's mailing list. + - Currently if you switch back and forth between python 2.7.x and 3.5+ you will + need to remove your sconsign file. This should be resolves shortly, but + regardless switching between python 2.7.x and 3.5+ will not use compatible + sconsigns and as such incremental builds should be expected to rebuild + anything changed since the previous scons run with the same version of python. + - It is likely that migrating from 2.5.1 -> 3.0.0 alpha will cause rebuilds due + to the significant number of changes in the codebase. + + - Removed deprecated tools CVS, Perforce, BitKeeper, RCS, SCCS, Subversion. + - Removed deprecated module SCons.Sig + - See CHANGES.txt for more details on other changes + - 3.0.0 should be slightly faster than 2.5.1. Changes yielded a 15% speed up for + null incremental builds. + - Updated D language scanner support to latest: 2.071.1. + - python -m SCons should now run SCons if it's installed PYTHONPATH + + + Please note the following important changes since release 2.4.1: 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 diff --git a/src/CHANGES.txt b/src/CHANGES.txt index ada66b0..5d670fd 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -4,36 +4,8 @@ Change Log -RELEASE VERSION/DATE TO BE FILLED IN LATER - From John Doe: - - - Whatever John Doe did. - - -RELEASE VERSION/DATE TO BE FILLED IN LATER - - From Daniel Moody: - - Updated the QMTest/TestCmd.py so when using the - preserve option, it will be able to print unicode directories. - - Also updated test/scons-time/run/option/verbose.py that was - not taking into account the output when PRESERVE was enabled - - From Gaurav Juvekar: - - Fix issue #2832: Expand construction variables in 'chdir' argument of builders. (PR #463) - - Fix issue #2910: Make --tree=all handle Unicode. (PR #427) - - Fix issue #2788: Fix typo in documentation example for sconf. (PR #388) - - From Manish Vachharajani: - - Update debian rules, compat, and control to not use features - deprecated or obsolete in later versions of debhelpers - - Update python version to 2.7 in debian/control - - From Russel Winder: - - Reordered the default D tools from "dmd, gdc, ldc" to "dmd, ldc, gdc". - - Add a ProgramAllAtOnce builder to the dmd, ldc, and gdc tools. (PR #448) - - Deprecate a file name exception for very old Fedora LDC installation. - - gdc can now handle building shared objects (tested for version 6.3.0). +RELEASE 3.0.0.alpha.20170614 - Mon, 14 Jun 2017 12:23:56 -0400 From William Blevins: - Updated D language scanner support to latest: 2.071.1. (PR #1924) @@ -57,10 +29,6 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Fixed MSVSProject example code (http://scons.tigris.org/issues/show_bug.cgi?id=2979) - Defined MS SDK 10.0 and Changed VS 2015 to use SDK 10.0 - From Daniel Moody: - - Fixed msvs.py for Visual Studio generated projects which were - creating invalid xml for greater than and less than symbols. - From Daniel Holth: - Add basic support for PyPy (by deleting __slots__ from Node with a metaclass on PyPy); wrap most-used open() calls in 'with' statements to @@ -68,6 +36,11 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Add __main__.py for `python -m SCons` in case it is on PYTHONPATH. - Always use highest available pickle protocol for efficiency. + From Gaurav Juvekar: + - Fix issue #2832: Expand construction variables in 'chdir' argument of builders. (PR #463) + - Fix issue #2910: Make --tree=all handle Unicode. (PR #427) + - Fix issue #2788: Fix typo in documentation example for sconf. (PR #388) + From Alexey Klimkin: - Use memoization to optimize PATH evaluation across all dependencies per node. (PR #345) @@ -76,6 +49,8 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Fixed msvs.py for Visual Studio Express editions that would report "Error : ValueError: invalid literal for float(): 10.0Exp". + From Rick Lupton: + - Update LaTeX scanner to understand \import and related commands From Paweł Tomulik: - Fixed the issue with LDMODULEVERSIONFLAGS reported by Tim Jennes @@ -86,13 +61,20 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Added LoadableModule to the list of global functions (DefaultEnvironment builders). - From Rick Lupton: - - Update LaTeX scanner to understand \import and related commands + From Manish Vachharajani: + - Update debian rules, compat, and control to not use features + deprecated or obsolete in later versions of debhelpers + - Update python version to 2.7 in debian/control From Richard Viney: - Fixed PCHPDBFLAGS causing a deprecation warning on MSVC v8 and later when using PCHs and PDBs together. + From Russel Winder: + - Reordered the default D tools from "dmd, gdc, ldc" to "dmd, ldc, gdc". + - Add a ProgramAllAtOnce builder to the dmd, ldc, and gdc tools. (PR #448) + - Deprecate a file name exception for very old Fedora LDC installation. + - gdc can now handle building shared objects (tested for version 6.3.0). RELEASE 2.5.1 - Mon, 03 Nov 2016 13:37:42 -0400 diff --git a/src/RELEASE.txt b/src/RELEASE.txt index d71619d..b08b3f7 100644 --- a/src/RELEASE.txt +++ b/src/RELEASE.txt @@ -1,37 +1,15 @@ - A new SCons checkpoint release, 2.7.0.alpha.yyyymmdd, is now available + A new SCons checkpoint release, 3.0.0.alpha.20170614, 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.5.1: NEW FUNCTIONALITY - - List new features (presumably why a checkpoint is being released) + - Initial support for Python 3.5+ + - I DEPRECATED FUNCTIONALITY diff --git a/src/engine/SCons/Tool/dmd.xml b/src/engine/SCons/Tool/dmd.xml index dbbe9eb..8fb22ce 100644 --- a/src/engine/SCons/Tool/dmd.xml +++ b/src/engine/SCons/Tool/dmd.xml @@ -160,6 +160,8 @@ List of linker flags. </summary> </cvar> + + <cvar name="SHDC"> <summary> <para> @@ -202,6 +204,148 @@ List of linker flags. </summary> </cvar> +<!-- The following are re-added because their removal breaks doc validation --> +<cvar name="DVERSUFFIX"> + <summary> + <para> + DVERSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DVERPREFIX"> + <summary> + <para> + DVERPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DLINKFLAGSUFFIX"> + <summary> + <para> + DLINKFLAGSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DLINKFLAGPREFIX"> + <summary> + <para> + DLINKFLAGPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBLINKSUFFIX"> + <summary> + <para> + DLIBLINKSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBLINKPREFIX"> + <summary> + <para> + DLIBLINKPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBFLAGSUFFIX"> + <summary> + <para> + DLIBFLAGSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBFLAGPREFIX"> + <summary> + <para> + DLIBFLAGPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBDIRSUFFIX"> + <summary> + <para> + DLIBLINKSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DLIBDIRPREFIX"> + <summary> + <para> + DLIBLINKPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DINCSUFFIX"> + <summary> + <para> + DLIBFLAGSUFFIX. + </para> + </summary> +</cvar> + + +<cvar name="DINCPREFIX"> + <summary> + <para> + DINCPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DFLAGSUFFIX"> + <summary> + <para> + DFLAGSUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DFLAGPREFIX"> + <summary> + <para> + DFLAGPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DFILESUFFIX"> + <summary> + <para> + DFILESUFFIX. + </para> + </summary> +</cvar> + +<cvar name="DDEBUGPREFIX"> + <summary> + <para> + DDEBUGPREFIX. + </para> + </summary> +</cvar> + +<cvar name="DDEBUGSUFFIX"> + <summary> + <para> + DDEBUGSUFFIX. + </para> + </summary> +</cvar> + + +<!-- Validation fix to here --> + + <builder name="ProgramAllAtOnce"> <summary> <para> diff --git a/src/test_aegistests.py b/src/test_aegistests.py deleted file mode 100644 index 57adc1d..0000000 --- a/src/test_aegistests.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -""" -Verify that we have proper Copyright notices on all the right files -in our distributions. - -Note that this is a packaging test, not a functional test, so the -name of this script doesn't end in *Tests.py. -""" - -import os -import popen2 -import re -import sys - -import TestSCons - -test = TestSCons.TestSCons() - -try: - popen2.Popen3 -except AttributeError: - def get_stdout(command): - (tochild, fromchild, childerr) = os.popen3(command) - tochild.close() - return fromchild.read() -else: - def get_stdout(command): - p = popen2.Popen3(command, 1) - p.tochild.close() - return p.fromchild.read() - -output = get_stdout('aegis -list -unformatted pf') +\ - get_stdout('aegis -list -unformatted cf') -lines = output.split('\n')[:-1] -sources = [x for x in lines if x[:7] == 'source '] - -re1 = re.compile(r' src/.*Tests\.py') -re2 = re.compile(r' src/test_.*\.py') -re3 = re.compile(r' test/.*\.py') - -def filename_is_a_test(x): - return re1.search(x) or re2.search(x) or re3.search(x) - -test_files = [file for file in sources if filename_is_a_test(file)] - -if test_files: - sys.stderr.write("Found the following files with test names not marked as Aegis tests:\n") - sys.stderr.write('\t' + '\n\t'.join(test_files) + '\n') - test.fail_test(1) - -test.pass_test() - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: |