summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Oberbrunner <garyo@oberbrunner.com>2013-03-02 13:16:22 -0500
committerGary Oberbrunner <garyo@oberbrunner.com>2013-03-02 13:16:22 -0500
commitf69ca4bdabc5870c6c4d46659ef48242cc99822f (patch)
tree0a2dbfc41e49592efc7d267be8e2c2eecc892ad2
parentd739c822fe7e86a98ff71bf379f27af517c481ee (diff)
parent0cc327a2df3b33a793d3aa7865f8499d152319c9 (diff)
downloadscons-git-f69ca4bdabc5870c6c4d46659ef48242cc99822f.tar.gz
Merged in bdbaddog/scons (pull requests #68 and #69)
-rw-r--r--src/engine/SCons/Script/Main.py2
-rw-r--r--src/setup.py16
2 files changed, 15 insertions, 3 deletions
diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py
index 2524ab0d3..e379a39f1 100644
--- a/src/engine/SCons/Script/Main.py
+++ b/src/engine/SCons/Script/Main.py
@@ -11,7 +11,7 @@ it goes here.
"""
unsupported_python_version = (2, 3, 0)
-deprecated_python_version = (2, 4, 0)
+deprecated_python_version = (2, 7, 0)
# __COPYRIGHT__
#
diff --git a/src/setup.py b/src/setup.py
index d3b9a255a..90373372b 100644
--- a/src/setup.py
+++ b/src/setup.py
@@ -46,6 +46,14 @@ man_pages = [
'scons-time.1',
]
+# Exit with error if trying to install with Python >= 3.0
+if sys.version_info >= (3,0,0):
+ msg = "scons: *** SCons does not run under Python version %s.\n\
+Python 3 and above are not yet supported.\n"
+ sys.stderr.write(msg % (sys.version.split()[0]))
+ sys.exit(1)
+
+
# change to setup.py directory if it was executed from other dir
(head, tail) = os.path.split(sys.argv[0])
if head:
@@ -333,7 +341,10 @@ class install_scripts(_install_scripts):
# log.info("changing mode of %s", file)
pass
else:
- mode = ((os.stat(file)[stat.ST_MODE]) | 0555) & 07777
+ # Use symbolic versions of permissions so this script doesn't fail to parse under python3.x
+ exec_and_read_permission = stat.S_IXOTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IROTH | stat.S_IRUSR | stat.S_IRGRP
+ mode_mask = 4095 # Octal 07777 used because python3 has different octal syntax than python 2
+ mode = ((os.stat(file)[stat.ST_MODE]) | exec_and_read_permission) & mode_mask
# log.info("changing mode of %s to %o", file, mode)
os.chmod(file, mode)
# --- /distutils copy/paste ---
@@ -414,7 +425,8 @@ arguments = {
distutils.core.setup(**arguments)
if Installed:
- print '\n'.join(Installed)
+ for i in Installed:
+ print(i)
# Local Variables:
# tab-width:4