summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRussel Winder <russel@winder.org.uk>2017-06-15 07:02:06 (GMT)
committerRussel Winder <russel@winder.org.uk>2017-06-15 07:02:06 (GMT)
commit7ab48a48ae7828281f7f9b0b6017605cfe50f065 (patch)
treeb78e0a35f014775ca974555b50fd25ee6037f589 /src
parent74207e0e31f375b33c313194ae64bcde459994f4 (diff)
parent15906a8f315b983279d0a6f8867ef1c15f6a0f4f (diff)
downloadSCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.zip
SCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.tar.gz
SCons-7ab48a48ae7828281f7f9b0b6017605cfe50f065.tar.bz2
Merge in current mainline.
Diffstat (limited to 'src')
-rw-r--r--src/Announce.txt40
-rw-r--r--src/CHANGES.txt52
-rw-r--r--src/RELEASE.txt30
-rw-r--r--src/engine/SCons/Tool/dmd.xml144
-rw-r--r--src/test_aegistests.py81
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: