__builtin__.set = sets.Set
-import collections
try:
- collections.UserDict
-except AttributeError:
- import UserDict
- collections.UserDict = UserDict.UserDict
- del UserDict
-try:
- collections.UserList
-except AttributeError:
- import UserList
- collections.UserList = UserList.UserList
- del UserList
-try:
- collections.UserString
-except AttributeError:
- import UserString
- collections.UserString = UserString.UserString
- del UserString
+ import collections
+except ImportError:
+ # Pre-2.4 Python has no collections module.
+ import_as('_scons_collections', 'collections')
+else:
+ try:
+ collections.UserDict
+ except AttributeError:
+ import UserDict
+ collections.UserDict = UserDict.UserDict
+ del UserDict
+ try:
+ collections.UserList
+ except AttributeError:
+ import UserList
+ collections.UserList = UserList.UserList
+ del UserList
+ try:
+ collections.UserString
+ except AttributeError:
+ import UserString
+ collections.UserString = UserString.UserString
+ del UserString
import fnmatch
--- /dev/null
+#
+# __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.
+#
+
+__doc__ = """
+collections compatibility module for older (pre-2.4) Python versions
+
+This does not not NOT (repeat, *NOT*) provide complete collections
+functionality. It only wraps the portions of collections functionality
+used by SCons, in an interface that looks enough like collections for
+our purposes.
+"""
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+from UserDict import UserDict
+from UserList import UserList
+from UserString import UserString
+
+# Local Variables:
+# tab-width:4
+# indent-tabs-mode:nil
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4: