summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/SCons/scons-2.4.0/setup.py')
-rw-r--r--3rdParty/SCons/scons-2.4.0/setup.py515
1 files changed, 0 insertions, 515 deletions
diff --git a/3rdParty/SCons/scons-2.4.0/setup.py b/3rdParty/SCons/scons-2.4.0/setup.py
deleted file mode 100644
index d5bcc10..0000000
--- a/3rdParty/SCons/scons-2.4.0/setup.py
+++ /dev/null
@@ -1,515 +0,0 @@
-#
-# Copyright (c) 2001 - 2015 The SCons Foundation
-#
-# 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.
-
-"""
-NOTE: Installed SCons is not importable like usual Python packages. It is
- executed explicitly with command line scripts. This allows multiple
- SCons versions to coexist within single Python installation, which
- is critical for enterprise build cases. Explicit invokation is
- necessary to avoid confusion over which version of SCons is active.
-
- By default SCons is installed into versioned directory, e.g.
- site-packages/scons-2.1.0.alpha.20101125 and much of the stuff
- below is dedicated to make it happen on various platforms.
-"""
-
-__revision__ = "src/setup.py rel_2.4.0:3365:9259ea1c13d7 2015/09/21 14:03:43 bdbaddog"
-
-import os
-import stat
-import sys
-
-Version = "2.4.0"
-
-man_pages = [
- 'scons.1',
- 'sconsign.1',
- '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:
- os.chdir(head)
- sys.argv[0] = tail
-
-
-# flag if setup.py is run on win32 or _for_ win32 platform,
-# (when building windows installer on linux, for example)
-is_win32 = 0
-if not sys.platform == 'win32':
- try:
- if sys.argv[1] == 'bdist_wininst':
- is_win32 = 1
- except IndexError:
- pass
-else:
- is_win32 = 1
-
-
-import distutils
-import distutils.core
-import distutils.command.install
-import distutils.command.install_data
-import distutils.command.install_lib
-import distutils.command.install_scripts
-import distutils.command.build_scripts
-import distutils.msvccompiler
-
-def get_build_version():
- """ monkey patch distutils msvc version if we're not on windows.
- We need to use vc version 9 for python 2.7.x and it defaults to 6
- for non-windows platforms and there is no way to override it besides
- monkey patching"""
- return 9
-
-distutils.msvccompiler.get_build_version = get_build_version
-
-_install = distutils.command.install.install
-_install_data = distutils.command.install_data.install_data
-_install_lib = distutils.command.install_lib.install_lib
-_install_scripts = distutils.command.install_scripts.install_scripts
-_build_scripts = distutils.command.build_scripts.build_scripts
-
-class _options(object):
- pass
-
-Options = _options()
-
-Installed = []
-
-def set_explicitly(name, args):
- """
- Return if the installation directory was set explicitly by the
- user on the command line. This is complicated by the fact that
- "install --install-lib=/foo" gets turned into "install_lib
- --install-dir=/foo" internally.
- """
- if args[0] == "install_" + name:
- s = "--install-dir="
- else:
- # The command is something else (usually "install")
- s = "--install-%s=" % name
- set = 0
- length = len(s)
- for a in args[1:]:
- if a[:length] == s:
- set = 1
- break
- return set
-
-class install(_install):
- user_options = _install.user_options + [
- ('no-scons-script', None,
- "don't install 'scons', only install 'scons-%s'" % Version),
- ('no-version-script', None,
- "don't install 'scons-%s', only install 'scons'" % Version),
- ('install-bat', None,
- "install 'scons.bat' script"),
- ('no-install-bat', None,
- "do not install 'scons.bat' script"),
- ('install-man', None,
- "install SCons man pages"),
- ('no-install-man', None,
- "do not install SCons man pages"),
- ('standard-lib', None,
- "install SCons library in standard Python location"),
- ('standalone-lib', None,
- "install SCons library in separate standalone directory"),
- ('version-lib', None,
- "install SCons library in version-numbered directory"),
- ]
- boolean_options = _install.boolean_options + [
- 'no-scons-script',
- 'no-version-script',
- 'install-bat',
- 'no-install-bat',
- 'install-man',
- 'no-install-man',
- 'standard-lib',
- 'standalone-lib',
- 'version-lib'
- ]
-
- if hasattr(os, 'link'):
- user_options.append(
- ('hardlink-scons', None,
- "hard link 'scons' to the version-numbered script, don't make a separate 'scons' copy"),
- )
- boolean_options.append('hardlink-script')
-
- if hasattr(os, 'symlink'):
- user_options.append(
- ('symlink-scons', None,
- "make 'scons' a symbolic link to the version-numbered script, don't make a separate 'scons' copy"),
- )
- boolean_options.append('symlink-script')
-
- def initialize_options(self):
- _install.initialize_options(self)
- self.no_scons_script = 0
- self.no_version_script = 0
- self.install_bat = 0
- self.no_install_bat = not is_win32
- self.install_man = 0
- self.no_install_man = is_win32
- self.standard_lib = 0
- self.standalone_lib = 0
- self.version_lib = 0
- self.hardlink_scons = 0
- self.symlink_scons = 0
- # Don't warn about having to put the library directory in the
- # search path.
- self.warn_dir = 0
-
- def finalize_options(self):
- _install.finalize_options(self)
- if self.install_bat:
- Options.install_bat = 1
- else:
- Options.install_bat = not self.no_install_bat
- if self.install_man:
- Options.install_man = 1
- else:
- Options.install_man = not self.no_install_man
- Options.standard_lib = self.standard_lib
- Options.standalone_lib = self.standalone_lib
- Options.version_lib = self.version_lib
- Options.install_scons_script = not self.no_scons_script
- Options.install_version_script = not self.no_version_script
- Options.hardlink_scons = self.hardlink_scons
- Options.symlink_scons = self.symlink_scons
-
-def get_scons_prefix(libdir, is_win32):
- """
- Return the right prefix for SCons library installation. Find
- this by starting with the library installation directory
- (.../site-packages, most likely) and crawling back up until we reach
- a directory name beginning with "python" (or "Python").
- """
- drive, head = os.path.splitdrive(libdir)
- while head:
- if head == os.sep:
- break
- head, tail = os.path.split(head)
- if tail.lower()[:6] == "python":
- # Found the Python library directory...
- if is_win32:
- # ...on Win32 systems, "scons" goes in the directory:
- # C:\PythonXX => C:\PythonXX\scons
- return os.path.join(drive + head, tail)
- else:
- # ...on other systems, "scons" goes above the directory:
- # /usr/lib/pythonX.X => /usr/lib/scons
- return os.path.join(drive + head)
- return libdir
-
-def force_to_usr_local(self):
- """
- A hack to decide if we need to "force" the installation directories
- to be under /usr/local. This is because Mac Os X Tiger and
- Leopard, by default, put the libraries and scripts in their own
- directories under /Library or /System/Library.
- """
- return (sys.platform[:6] == 'darwin' and
- (self.install_dir[:9] == '/Library/' or
- self.install_dir[:16] == '/System/Library/'))
-
-class install_lib(_install_lib):
- def finalize_options(self):
- _install_lib.finalize_options(self)
- if force_to_usr_local(self):
- self.install_dir = '/usr/local/lib'
- args = self.distribution.script_args
- if not set_explicitly("lib", args):
- # They didn't explicitly specify the installation
- # directory for libraries...
- is_win32 = sys.platform == "win32" or args[0] == 'bdist_wininst'
- prefix = get_scons_prefix(self.install_dir, is_win32)
- if Options.standalone_lib:
- # ...but they asked for a standalone directory.
- self.install_dir = os.path.join(prefix, "scons")
- elif Options.version_lib or not Options.standard_lib:
- # ...they asked for a version-specific directory,
- # or they get it by default.
- self.install_dir = os.path.join(prefix, "scons-%s" % Version)
-
- msg = "Installed SCons library modules into %s" % self.install_dir
- Installed.append(msg)
-
-class install_scripts(_install_scripts):
- def finalize_options(self):
- _install_scripts.finalize_options(self)
- if force_to_usr_local(self):
- self.install_dir = '/usr/local/bin'
- self.build_dir = os.path.join('build', 'scripts')
- msg = "Installed SCons scripts into %s" % self.install_dir
- Installed.append(msg)
-
- def do_nothing(self, *args, **kw):
- pass
-
- def hardlink_scons(self, src, dst, ver):
- try: os.unlink(dst)
- except OSError: pass
- os.link(ver, dst)
-
- def symlink_scons(self, src, dst, ver):
- try: os.unlink(dst)
- except OSError: pass
- os.symlink(os.path.split(ver)[1], dst)
-
- def copy_scons(self, src, dst, *args):
- try: os.unlink(dst)
- except OSError: pass
- self.copy_file(src, dst)
- self.outfiles.append(dst)
-
- def run(self):
- # --- distutils copy/paste ---
- if not self.skip_build:
- self.run_command('build_scripts')
- # --- /distutils copy/paste ---
-
- # Custom SCons installation stuff.
- if Options.hardlink_scons:
- create_basename_script = self.hardlink_scons
- elif Options.symlink_scons:
- create_basename_script = self.symlink_scons
- elif Options.install_scons_script:
- create_basename_script = self.copy_scons
- else:
- create_basename_script = self.do_nothing
-
- if Options.install_version_script:
- create_version_script = self.copy_scons
- else:
- create_version_script = self.do_nothing
-
- inputs = self.get_inputs()
- bat_scripts = [x for x in inputs if x[-4:] == '.bat']
- non_bat_scripts = [x for x in inputs if x[-4:] != '.bat']
-
- self.outfiles = []
- self.mkpath(self.install_dir)
-
- for src in non_bat_scripts:
- base = os.path.basename(src)
- scons = os.path.join(self.install_dir, base)
- scons_ver = scons + '-' + Version
- if is_win32:
- scons += '.py'
- scons_ver += '.py'
- create_version_script(src, scons_ver)
- create_basename_script(src, scons, scons_ver)
-
- if Options.install_bat:
- if is_win32:
- bat_install_dir = get_scons_prefix(self.install_dir, is_win32)
- else:
- bat_install_dir = self.install_dir
- for src in bat_scripts:
- scons_bat = os.path.join(bat_install_dir, 'scons.bat')
- scons_version_bat = os.path.join(bat_install_dir,
- 'scons-' + Version + '.bat')
- self.copy_scons(src, scons_bat)
- self.copy_scons(src, scons_version_bat)
-
- # --- distutils copy/paste ---
- if os.name == 'posix':
- # Set the executable bits (owner, group, and world) on
- # all the scripts we just installed.
- for file in self.get_outputs():
- if self.dry_run:
- # log.info("changing mode of %s", file)
- pass
- else:
- # 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 ---
-
-class build_scripts(_build_scripts):
- def finalize_options(self):
- _build_scripts.finalize_options(self)
- self.build_dir = os.path.join('build', 'scripts')
-
-class install_data(_install_data):
- def initialize_options(self):
- _install_data.initialize_options(self)
- def finalize_options(self):
- _install_data.finalize_options(self)
- if force_to_usr_local(self):
- self.install_dir = '/usr/local'
- if Options.install_man:
- if is_win32:
- dir = 'Doc'
- else:
- dir = os.path.join('man', 'man1')
- self.data_files = [(dir, man_pages)]
- man_dir = os.path.join(self.install_dir, dir)
- msg = "Installed SCons man pages into %s" % man_dir
- Installed.append(msg)
- else:
- self.data_files = []
-
-description = "Open Source next-generation build tool."
-
-long_description = """Open Source next-generation build tool.
-Improved, cross-platform substitute for the classic Make
-utility. In short, SCons is an easier, more reliable
-and faster way to build software."""
-
-scripts = [
- 'script/scons',
- 'script/sconsign',
- 'script/scons-time',
-
- # We include scons.bat in the list of scripts, even on UNIX systems,
- # because we provide an option to allow it be installed explicitly,
- # for example if you're installing from UNIX on a share that's
- # accessible to Windows and you want the scons.bat.
- 'script/scons.bat',
-]
-
-arguments = {
- 'name' : "scons",
- 'version' : Version,
- 'description' : description,
- 'long_description' : long_description,
- 'author' : 'Steven Knight',
- 'author_email' : 'knight@baldmt.com',
- 'url' : "http://www.scons.org/",
- 'packages' : ["SCons",
- "SCons.compat",
- "SCons.Node",
- "SCons.Options",
- "SCons.Platform",
- "SCons.Scanner",
- "SCons.Script",
- "SCons.Tool",
- "SCons.Tool.docbook",
- "SCons.Tool.MSCommon",
- "SCons.Tool.packaging",
- "SCons.Variables",
- ],
- 'package_dir' : {'' : 'engine',
- 'SCons.Tool.docbook' : 'engine/SCons/Tool/docbook'},
- 'package_data' : {'SCons.Tool.docbook' : ['docbook-xsl-1.76.1/*',
- 'docbook-xsl-1.76.1/common/*',
- 'docbook-xsl-1.76.1/docsrc/*',
- 'docbook-xsl-1.76.1/eclipse/*',
- 'docbook-xsl-1.76.1/epub/*',
- 'docbook-xsl-1.76.1/epub/bin/*',
- 'docbook-xsl-1.76.1/epub/bin/lib/*',
- 'docbook-xsl-1.76.1/epub/bin/xslt/*',
- 'docbook-xsl-1.76.1/extensions/*',
- 'docbook-xsl-1.76.1/fo/*',
- 'docbook-xsl-1.76.1/highlighting/*',
- 'docbook-xsl-1.76.1/html/*',
- 'docbook-xsl-1.76.1/htmlhelp/*',
- 'docbook-xsl-1.76.1/images/*',
- 'docbook-xsl-1.76.1/images/callouts/*',
- 'docbook-xsl-1.76.1/images/colorsvg/*',
- 'docbook-xsl-1.76.1/javahelp/*',
- 'docbook-xsl-1.76.1/lib/*',
- 'docbook-xsl-1.76.1/manpages/*',
- 'docbook-xsl-1.76.1/params/*',
- 'docbook-xsl-1.76.1/profiling/*',
- 'docbook-xsl-1.76.1/roundtrip/*',
- 'docbook-xsl-1.76.1/slides/browser/*',
- 'docbook-xsl-1.76.1/slides/fo/*',
- 'docbook-xsl-1.76.1/slides/graphics/*',
- 'docbook-xsl-1.76.1/slides/graphics/active/*',
- 'docbook-xsl-1.76.1/slides/graphics/inactive/*',
- 'docbook-xsl-1.76.1/slides/graphics/toc/*',
- 'docbook-xsl-1.76.1/slides/html/*',
- 'docbook-xsl-1.76.1/slides/htmlhelp/*',
- 'docbook-xsl-1.76.1/slides/keynote/*',
- 'docbook-xsl-1.76.1/slides/keynote/xsltsl/*',
- 'docbook-xsl-1.76.1/slides/svg/*',
- 'docbook-xsl-1.76.1/slides/xhtml/*',
- 'docbook-xsl-1.76.1/template/*',
- 'docbook-xsl-1.76.1/tests/*',
- 'docbook-xsl-1.76.1/tools/bin/*',
- 'docbook-xsl-1.76.1/tools/make/*',
- 'docbook-xsl-1.76.1/webhelp/*',
- 'docbook-xsl-1.76.1/webhelp/docs/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/css/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/images/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/jquery/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/jquery/theme-redmond/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/jquery/theme-redmond/images/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/jquery/treeview/*',
- 'docbook-xsl-1.76.1/webhelp/docs/common/jquery/treeview/images/*',
- 'docbook-xsl-1.76.1/webhelp/docs/content/*',
- 'docbook-xsl-1.76.1/webhelp/docs/content/search/*',
- 'docbook-xsl-1.76.1/webhelp/docs/content/search/stemmers/*',
- 'docbook-xsl-1.76.1/webhelp/docsrc/*',
- 'docbook-xsl-1.76.1/webhelp/template/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/css/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/images/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/jquery/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/jquery/theme-redmond/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/jquery/theme-redmond/images/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/jquery/treeview/*',
- 'docbook-xsl-1.76.1/webhelp/template/common/jquery/treeview/images/*',
- 'docbook-xsl-1.76.1/webhelp/template/content/search/*',
- 'docbook-xsl-1.76.1/webhelp/template/content/search/stemmers/*',
- 'docbook-xsl-1.76.1/webhelp/xsl/*',
- 'docbook-xsl-1.76.1/website/*',
- 'docbook-xsl-1.76.1/xhtml/*',
- 'docbook-xsl-1.76.1/xhtml-1_1/*',
- 'utils/*']},
- 'data_files' : [('man/man1', man_pages)],
- 'scripts' : scripts,
- 'cmdclass' : {'install' : install,
- 'install_lib' : install_lib,
- 'install_data' : install_data,
- 'install_scripts' : install_scripts,
- 'build_scripts' : build_scripts}
-}
-
-distutils.core.setup(**arguments)
-
-if Installed:
- for i in Installed:
- print(i)
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4: