diff options
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 22 |
1 files changed, 17 insertions, 5 deletions
@@ -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 |