summaryrefslogtreecommitdiff
path: root/src/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/setup.py')
-rw-r--r--src/setup.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/setup.py b/src/setup.py
index b6e9619..176d778 100644
--- a/src/setup.py
+++ b/src/setup.py
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -32,13 +32,13 @@ NOTE: Installed SCons is not importable like usual Python packages. It is
below is dedicated to make it happen on various platforms.
"""
-__revision__ = "src/setup.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo"
+__revision__ = "src/setup.py 2013/03/03 09:48:35 garyo"
import os
import stat
import sys
-Version = "2.2.0"
+Version = "2.3.0"
man_pages = [
'scons.1',
@@ -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