summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2020-03-21 20:43:26 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2020-04-09 20:47:32 (GMT)
commit23197f27e50f9f66d9f7263fbac5c38855731922 (patch)
treec225812f4de5dfec08bbe0847aa25ca6050c00ee
parent7c466f714b9892d953ff2b91c7b0214180417000 (diff)
downloadSCons-23197f27e50f9f66d9f7263fbac5c38855731922.zip
SCons-23197f27e50f9f66d9f7263fbac5c38855731922.tar.gz
SCons-23197f27e50f9f66d9f7263fbac5c38855731922.tar.bz2
First pass of refactor. Moved command line argument processing into site_scons/BuildCommandLine.py. Sorted out all changes caused by that.
-rw-r--r--SConstruct242
-rw-r--r--doc/SConscript6
-rw-r--r--site_scons/BuildCommandLine.py144
-rw-r--r--site_scons/epydoc.py4
-rw-r--r--site_scons/site_init.py10
-rwxr-xr-xsrc/setup.py6
6 files changed, 214 insertions, 198 deletions
diff --git a/SConstruct b/SConstruct
index db71e0f..6a11bca 100644
--- a/SConstruct
+++ b/SConstruct
@@ -35,8 +35,6 @@ import fnmatch
import os
import os.path
import sys
-import time
-import socket
import textwrap
import bootstrap
@@ -45,88 +43,16 @@ project = 'scons'
default_version = '3.1.2'
copyright = "Copyright (c) %s The SCons Foundation" % copyright_years
-SConsignFile()
-
#
# We let the presence or absence of various utilities determine whether
# or not we bother to build certain pieces of things. This should allow
# people to still do SCons packaging work even if they don't have all
# of the utilities installed
#
-gzip = whereis('gzip')
-git = os.path.exists('.git') and whereis('git')
-unzip = whereis('unzip')
-zip = whereis('zip')
-
-#
-# Now grab the information that we "build" into the files.
-#
-date = ARGUMENTS.get('DATE')
-if not date:
- date = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))))
-
-developer = ARGUMENTS.get('DEVELOPER')
-if not developer:
- for variable in ['USERNAME', 'LOGNAME', 'USER']:
- developer = os.environ.get(variable)
- if developer:
- break
- if os.environ.get('SOURCE_DATE_EPOCH'):
- developer = '_reproducible'
-
-build_system = ARGUMENTS.get('BUILD_SYSTEM')
-if not build_system:
- if os.environ.get('SOURCE_DATE_EPOCH'):
- build_system = '_reproducible'
- else:
- build_system = socket.gethostname().split('.')[0]
-
-version = ARGUMENTS.get('VERSION', '')
-if not version:
- version = default_version
-
-git_status_lines = []
-
-if git:
- cmd = "%s ls-files 2> /dev/null" % git
- with os.popen(cmd, "r") as p:
- git_status_lines = p.readlines()
-
-revision = ARGUMENTS.get('REVISION', '')
-
-
-def generate_build_id(revision):
- return revision
-
-
-if not revision and git:
- with os.popen("%s rev-parse HEAD 2> /dev/null" % git, "r") as p:
- git_hash = p.read().strip()
-
-
- def generate_build_id(revision):
- result = git_hash
- if [l for l in git_status_lines if 'modified' in l]:
- result = result + '[MODIFIED]'
- return result
-
-
- revision = git_hash
-
-checkpoint = ARGUMENTS.get('CHECKPOINT', '')
-if checkpoint:
- if checkpoint == 'd':
- checkpoint = time.strftime('%Y%m%d', time.localtime(time.time()))
- elif checkpoint == 'r':
- checkpoint = 'r' + revision
- version = version + '.beta.' + checkpoint
-
-build_id = ARGUMENTS.get('BUILD_ID')
-if build_id is None:
- if revision:
- build_id = generate_build_id(revision)
- else:
- build_id = ''
+print("git :%s"%git)
+print("gzip :%s"%gzip)
+print("unzip :%s"%unzip)
+print("zip :%s"%zip_path)
#
# Adding some paths to sys.path, this is mainly needed
@@ -138,64 +64,14 @@ for a in addpaths:
if a not in sys.path:
sys.path.append(a)
-# Re-exporting LD_LIBRARY_PATH is necessary if the Python version was
-# built with the --enable-shared option.
-
-ENV = {'PATH': os.environ['PATH']}
-for key in ['LOGNAME', 'PYTHONPATH', 'LD_LIBRARY_PATH']:
- if key in os.environ:
- ENV[key] = os.environ[key]
-
-build_dir = ARGUMENTS.get('BUILDDIR', 'build')
-if not os.path.isabs(build_dir):
- build_dir = os.path.normpath(os.path.join(os.getcwd(), build_dir))
-
-command_line_variables = [
- ("BUILDDIR=", "The directory in which to build the packages. " +
- "The default is the './build' subdirectory."),
-
- ("BUILD_ID=", "An identifier for the specific build." +
- "The default is the Subversion revision number."),
-
- ("BUILD_SYSTEM=", "The system on which the packages were built. " +
- "The default is whatever hostname is returned " +
- "by socket.gethostname(). If SOURCE_DATE_EPOCH " +
- "env var is set, '_reproducible' is the default."),
-
- ("CHECKPOINT=", "The specific checkpoint release being packaged, " +
- "which will be appended to the VERSION string. " +
- "A value of CHECKPOINT=d will generate a string " +
- "of 'd' plus today's date in the format YYYMMDD. " +
- "A value of CHECKPOINT=r will generate a " +
- "string of 'r' plus the Subversion revision " +
- "number. Any other CHECKPOINT= string will be " +
- "used as is. There is no default value."),
-
- ("DATE=", "The date string representing when the packaging " +
- "build occurred. The default is the day and time " +
- "the SConstruct file was invoked, in the format " +
- "YYYY/MM/DD HH:MM:SS."),
-
- ("DEVELOPER=", "The developer who created the packages. " +
- "The default is the first set environment " +
- "variable from the list $USERNAME, $LOGNAME, $USER." +
- "If the SOURCE_DATE_EPOCH env var is set, " +
- "'_reproducible' is the default."),
-
- ("REVISION=", "The revision number of the source being built. " +
- "The default is the git hash returned " +
- "'git rev-parse HEAD', with an appended string of " +
- "'[MODIFIED]' if there are any changes in the " +
- "working copy."),
-
- ("VERSION=", "The SCons version being packaged. The default " +
- "is the hard-coded value '%s' " % default_version +
- "from this SConstruct file."),
-
- ("SKIP_DOC=","Skip building all documents. The default is False (build docs)"),
-]
+command_line = BuildCommandLine(default_version)
+command_line.process_command_line_vars()
+
+
+Default('.', command_line.build_dir)
+# Just make copies, don't symlink them.
+SetOption('duplicate', 'copy')
-Default('.', build_dir)
packaging_flavors = [
('tar-gz', "The normal .tar.gz file for end-user installation."),
@@ -210,15 +86,15 @@ packaging_flavors = [
"(including tests and documentation)."),
]
-test_tar_gz_dir = os.path.join(build_dir, "test-tar-gz")
-test_src_tar_gz_dir = os.path.join(build_dir, "test-src-tar-gz")
-test_local_tar_gz_dir = os.path.join(build_dir, "test-local-tar-gz")
-test_zip_dir = os.path.join(build_dir, "test-zip")
-test_src_zip_dir = os.path.join(build_dir, "test-src-zip")
-test_local_zip_dir = os.path.join(build_dir, "test-local-zip")
+test_tar_gz_dir = os.path.join(command_line.build_dir, "test-tar-gz")
+test_src_tar_gz_dir = os.path.join(command_line.build_dir, "test-src-tar-gz")
+test_local_tar_gz_dir = os.path.join(command_line.build_dir, "test-local-tar-gz")
+test_zip_dir = os.path.join(command_line.build_dir, "test-zip")
+test_src_zip_dir = os.path.join(command_line.build_dir, "test-src-zip")
+test_local_zip_dir = os.path.join(command_line.build_dir, "test-local-zip")
-unpack_tar_gz_dir = os.path.join(build_dir, "unpack-tar-gz")
-unpack_zip_dir = os.path.join(build_dir, "unpack-zip")
+unpack_tar_gz_dir = os.path.join(command_line.build_dir, "unpack-tar-gz")
+unpack_zip_dir = os.path.join(command_line.build_dir, "unpack-zip")
if is_windows():
tar_hflag = ''
@@ -253,7 +129,7 @@ The following command-line variables can be set:
""")
-for variable, help_text in command_line_variables:
+for variable, help_text in command_line.command_line_variables:
tw = textwrap.TextWrapper(
width=78,
initial_indent=indent_fmt % variable,
@@ -265,27 +141,26 @@ revaction = SCons_revision
revbuilder = Builder(action=Action(SCons_revision,
varlist=['COPYRIGHT', 'VERSION']))
-# Just make copies, don't symlink them.
-SetOption('duplicate', 'copy')
env = Environment(
- ENV=ENV,
+ ENV=command_line.ENV,
- BUILD=build_id,
- BUILDDIR=build_dir,
- BUILDSYS=build_system,
+ BUILD=command_line.build_id,
+ BUILDDIR=command_line.build_dir,
+ BUILDSYS=command_line.build_system,
COPYRIGHT=copyright,
- DATE=date,
+ DATE=command_line.date,
DEB_DATE=deb_date,
- DEVELOPER=developer,
- DISTDIR=os.path.join(build_dir, 'dist'),
+
+ DEVELOPER=command_line.developer,
+ DISTDIR=os.path.join(command_line.build_dir, 'dist'),
MONTH_YEAR=month_year,
- REVISION=revision,
- VERSION=version,
+ REVISION=command_line.revision,
+ VERSION=command_line.version,
TAR_HFLAG=tar_hflag,
- ZIP=zip,
+ ZIP=zip_path,
ZIPFLAGS='-r',
UNZIP=unzip,
UNZIPFLAGS='-o -d $UNPACK_ZIP_DIR',
@@ -307,7 +182,7 @@ env = Environment(
PYTHONFLAGS='-tt',
)
-Version_values = [Value(version), Value(build_id)]
+Version_values = [Value(command_line.version), Value(command_line.build_id)]
#
# Define SCons packages.
@@ -423,13 +298,13 @@ for p in [scons]:
# Initialize variables with the right directories for this package.
#
pkg = p['pkg']
- pkg_version = "%s-%s" % (pkg, version)
+ pkg_version = "%s-%s" % (pkg, command_line.version)
src = 'src'
if 'src_subdir' in p:
src = os.path.join(src, p['src_subdir'])
- build = os.path.join(build_dir, pkg)
+ build = os.path.join(command_line.build_dir, pkg)
tar_gz = os.path.join(build, 'dist', "%s.tar.gz" % pkg_version)
platform_tar_gz = os.path.join(build,
@@ -616,8 +491,8 @@ for p in [scons]:
# Generate portage files for submission to Gentoo Linux.
#
gentoo = os.path.join(build, 'gentoo')
- ebuild = os.path.join(gentoo, 'scons-%s.ebuild' % version)
- digest = os.path.join(gentoo, 'files', 'digest-scons-%s' % version)
+ ebuild = os.path.join(gentoo, 'scons-%s.ebuild' % command_line.version)
+ digest = os.path.join(gentoo, 'files', 'digest-scons-%s' % command_line.version)
env.Command(ebuild, os.path.join('gentoo', 'scons.ebuild.in'), SCons_revision)
@@ -711,11 +586,11 @@ for p in [scons]:
# build their SCons-buildable packages without having to
# install SCons.
#
- s_l_v = '%s-local-%s' % (pkg, version)
+ s_l_v = '%s-local-%s' % (pkg, command_line.version)
local = pkg + '-local'
- build_dir_local = os.path.join(build_dir, local)
- build_dir_local_slv = os.path.join(build_dir, local, s_l_v)
+ build_dir_local = os.path.join(command_line.build_dir, local)
+ build_dir_local_slv = os.path.join(command_line.build_dir, local, s_l_v)
dist_local_tar_gz = os.path.join("$DISTDIR/%s.tar.gz" % s_l_v)
dist_local_zip = os.path.join("$DISTDIR/%s.zip" % s_l_v)
@@ -785,23 +660,10 @@ for p in [scons]:
#
#
#
-Export('build_dir', 'env')
-
-SConscript('testing/framework/SConscript')
-
-#
-#
-#
-sp = env.Install(build_dir, 'runtest.py')
-Local(sp)
-files = [
- 'runtest.py',
-]
-
#
# Documentation.
#
-Export('build_dir', 'env', 'whereis', 'revaction')
+Export('command_line', 'env', 'whereis', 'revaction')
SConscript('doc/SConscript')
@@ -811,8 +673,8 @@ SConscript('doc/SConscript')
#
-sfiles = [l.split()[-1] for l in git_status_lines]
-if git_status_lines:
+sfiles = [l.split()[-1] for l in command_line.git_status_lines]
+if command_line.git_status_lines:
# slines = [l for l in git_status_lines if 'modified:' in l]
# sfiles = [l.split()[-1] for l in slines]
pass
@@ -831,13 +693,13 @@ if sfiles:
if sfiles:
ps = "%s-src" % project
- psv = "%s-%s" % (ps, version)
- b_ps = os.path.join(build_dir, ps)
- b_psv = os.path.join(build_dir, psv)
+ psv = "%s-%s" % (ps, command_line.version)
+ b_ps = os.path.join(command_line.build_dir, ps)
+ b_psv = os.path.join(command_line.build_dir, psv)
b_psv_stamp = b_psv + '-stamp'
- src_tar_gz = os.path.join(build_dir, 'dist', '%s.tar.gz' % psv)
- src_zip = os.path.join(build_dir, 'dist', '%s.zip' % psv)
+ src_tar_gz = os.path.join(command_line.build_dir, 'dist', '%s.tar.gz' % psv)
+ src_zip = os.path.join(command_line.build_dir, 'dist', '%s.zip' % psv)
Local(src_tar_gz, src_zip)
@@ -900,7 +762,7 @@ if sfiles:
scons_lib_dir = os.path.join(unpack_tar_gz_dir, psv, 'src', 'engine')
ENV = env.Dictionary('ENV').copy()
ENV['SCONS_LIB_DIR'] = scons_lib_dir
- ENV['USERNAME'] = developer
+ ENV['USERNAME'] = command_line.developer
env.Command(dfiles, unpack_tar_gz_files,
[
Delete(os.path.join(unpack_tar_gz_dir,
@@ -953,7 +815,7 @@ if sfiles:
scons_lib_dir = os.path.join(unpack_zip_dir, psv, 'src', 'engine')
ENV = env.Dictionary('ENV').copy()
ENV['SCONS_LIB_DIR'] = scons_lib_dir
- ENV['USERNAME'] = developer
+ ENV['USERNAME'] = command_line.developer
env.Command(dfiles, unpack_zip_files,
[
Delete(os.path.join(unpack_zip_dir,
@@ -977,7 +839,7 @@ if sfiles:
for pf, help_text in packaging_flavors:
Alias(pf, [
- os.path.join(build_dir, 'test-' + pf),
- os.path.join(build_dir, 'testing/framework'),
- os.path.join(build_dir, 'runtest.py'),
+ os.path.join(command_line.build_dir, 'test-' + pf),
+ os.path.join(command_line.build_dir, 'testing/framework'),
+ os.path.join(command_line.build_dir, 'runtest.py'),
])
diff --git a/doc/SConscript b/doc/SConscript
index 580f4ca..4e9fb74 100644
--- a/doc/SConscript
+++ b/doc/SConscript
@@ -31,7 +31,7 @@ import glob
import bootstrap
-Import('build_dir', 'env', 'whereis', 'revaction')
+Import('command_line', 'env', 'whereis', 'revaction')
#
# -- Check prerequisites for building the documentation ---
@@ -64,7 +64,7 @@ if skip_doc_arg is not None:
#
env = env.Clone()
-build = os.path.join(build_dir, 'doc')
+build = os.path.join(command_line.build_dir, 'doc')
gs = whereis('gs')
@@ -252,7 +252,7 @@ else:
fpattern = [fpattern]
if use_builddir:
- target_dir = env.Dir(os.path.join(build_dir, *(toolpath+paths)))
+ target_dir = env.Dir(os.path.join(command_line.build_dir, *(toolpath+paths)))
buildsuite.extend(env.GlobInstall(target_dir,
os.path.join('..', *(toolpath+paths+fpattern))))
else:
diff --git a/site_scons/BuildCommandLine.py b/site_scons/BuildCommandLine.py
new file mode 100644
index 0000000..4694472
--- /dev/null
+++ b/site_scons/BuildCommandLine.py
@@ -0,0 +1,144 @@
+import time
+import os
+import socket
+
+from SCons.Script import ARGUMENTS
+
+class BuildCommandLine(object):
+
+ git = None
+
+ def init_command_line_variables(self):
+ self.command_line_variables = [
+ ("BUILDDIR=", "The directory in which to build the packages. " +
+ "The default is the './build' subdirectory."),
+
+ ("BUILD_ID=", "An identifier for the specific build." +
+ "The default is the Subversion revision number."),
+
+ ("BUILD_SYSTEM=", "The system on which the packages were built. " +
+ "The default is whatever hostname is returned " +
+ "by socket.gethostname(). If SOURCE_DATE_EPOCH " +
+ "env var is set, '_reproducible' is the default."),
+
+ ("CHECKPOINT=", "The specific checkpoint release being packaged, " +
+ "which will be appended to the VERSION string. " +
+ "A value of CHECKPOINT=d will generate a string " +
+ "of 'd' plus today's date in the format YYYMMDD. " +
+ "A value of CHECKPOINT=r will generate a " +
+ "string of 'r' plus the Subversion revision " +
+ "number. Any other CHECKPOINT= string will be " +
+ "used as is. There is no default value."),
+
+ ("DATE=", "The date string representing when the packaging " +
+ "build occurred. The default is the day and time " +
+ "the SConstruct file was invoked, in the format " +
+ "YYYY/MM/DD HH:MM:SS."),
+
+ ("DEVELOPER=", "The developer who created the packages. " +
+ "The default is the first set environment " +
+ "variable from the list $USERNAME, $LOGNAME, $USER." +
+ "If the SOURCE_DATE_EPOCH env var is set, " +
+ "'_reproducible' is the default."),
+
+ ("REVISION=", "The revision number of the source being built. " +
+ "The default is the git hash returned " +
+ "'git rev-parse HEAD', with an appended string of " +
+ "'[MODIFIED]' if there are any changes in the " +
+ "working copy."),
+
+ ("VERSION=", "The SCons version being packaged. The default " +
+ "is the hard-coded value '%s' " % self.default_version +
+ "from this SConstruct file."),
+
+ ("SKIP_DOC=", "Skip building all documents. The default is False (build docs)"),
+ ]
+
+ def __init__(self, default_version="99.99.99"):
+ self.date = None
+ self.default_version = default_version
+ self.developer = None
+ self.build_dir = None
+ self.build_system = None
+ self.version = None
+ self.revision = None
+ self.git_status_lines = []
+ self.git_hash = None
+
+ self.init_command_line_variables()
+
+ def process_command_line_vars(self):
+ #
+ # Now grab the information that we "build" into the files.
+ #
+ self.date = ARGUMENTS.get('DATE')
+ if not self.date:
+ self.date = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))))
+
+ self.developer = ARGUMENTS.get('DEVELOPER')
+ if not self.developer:
+ for variable in ['USERNAME', 'LOGNAME', 'USER']:
+ self.developer = os.environ.get(variable)
+ if self.developer:
+ break
+ if os.environ.get('SOURCE_DATE_EPOCH'):
+ self.developer = '_reproducible'
+
+ self.build_system = ARGUMENTS.get('BUILD_SYSTEM')
+ if not self.build_system:
+ if os.environ.get('SOURCE_DATE_EPOCH'):
+ self.build_system = '_reproducible'
+ else:
+ self.build_system = socket.gethostname().split('.')[0]
+
+ self.version = ARGUMENTS.get('VERSION', '')
+ if not self.version:
+ self.version = self.default_version
+
+ if BuildCommandLine.git:
+ cmd = "%s ls-files 2> /dev/null" % BuildCommandLine.git
+ with os.popen(cmd, "r") as p:
+ self.git_status_lines = p.readlines()
+
+ self.revision = ARGUMENTS.get('REVISION', '')
+
+ def generate_build_id(revision):
+ return revision
+
+ if not self.revision and BuildCommandLine.git:
+ with os.popen("%s rev-parse HEAD 2> /dev/null" % BuildCommandLine.git, "r") as p:
+ self.git_hash = p.read().strip()
+
+ def generate_build_id(revision):
+ result = self.git_hash
+ if [l for l in self.git_status_lines if 'modified' in l]:
+ result = result + '[MODIFIED]'
+ return result
+
+ self.revision = self.git_hash
+
+ self.checkpoint = ARGUMENTS.get('CHECKPOINT', '')
+ if self.checkpoint:
+ if self.checkpoint == 'd':
+ cself.heckpoint = time.strftime('%Y%m%d', time.localtime(time.time()))
+ elif self.checkpoint == 'r':
+ self.checkpoint = 'r' + self.revision
+ self.version = self.version + '.beta.' + self.checkpoint
+
+ self.build_id = ARGUMENTS.get('BUILD_ID')
+ if self.build_id is None:
+ if self.revision:
+ self.build_id = generate_build_id(self.revision)
+ else:
+ self.build_id = ''
+
+ # Re-exporting LD_LIBRARY_PATH is necessary if the Python version was
+ # built with the --enable-shared option.
+ self.ENV = {'PATH': os.environ['PATH']}
+ for key in ['LOGNAME', 'PYTHONPATH', 'LD_LIBRARY_PATH']:
+ if key in os.environ:
+ self.ENV[key] = os.environ[key]
+
+ self.build_dir = ARGUMENTS.get('BUILDDIR', 'build')
+ if not os.path.isabs(self.build_dir):
+ self.build_dir = os.path.normpath(os.path.join(os.getcwd(), self.build_dir))
diff --git a/site_scons/epydoc.py b/site_scons/epydoc.py
index 149e9dc..da74d9c 100644
--- a/site_scons/epydoc.py
+++ b/site_scons/epydoc.py
@@ -28,7 +28,6 @@ from SCons.Script import Delete, Touch, WhereIs
epydoc_cli = WhereIs('epydoc')
-
if not epydoc_cli:
try:
import epydoc
@@ -92,7 +91,8 @@ if not epydoc_cli:
Touch('$TARGET'),
]
-else: # epydoc_cli is found
+else:
+ # epydoc_cli is found
epydoc_commands = [
Delete('$OUTDIR'),
'$EPYDOC $EPYDOCFLAGS --debug --output $OUTDIR --docformat=restructuredText --name SCons --url http://www.scons.org/ $SOURCES',
diff --git a/site_scons/site_init.py b/site_scons/site_init.py
index d4df473..7e7c569 100644
--- a/site_scons/site_init.py
+++ b/site_scons/site_init.py
@@ -2,4 +2,12 @@ from SConsRevision import SCons_revision
from Utilities import is_windows, whereis, platform, deb_date
from zip_utils import unzipit, zipit, zcat
from soe_utils import soelim, soscan, soelimbuilder
-from epydoc import epydoc_cli, epydoc_commands \ No newline at end of file
+from epydoc import epydoc_cli, epydoc_commands
+from BuildCommandLine import BuildCommandLine
+
+gzip = whereis('gzip')
+git = os.path.exists('.git') and whereis('git')
+unzip = whereis('unzip')
+zip_path = whereis('zip')
+
+BuildCommandLine.git = git \ No newline at end of file
diff --git a/src/setup.py b/src/setup.py
index 261e2a4..bea888b 100755
--- a/src/setup.py
+++ b/src/setup.py
@@ -27,7 +27,7 @@ import distutils.command.install_data
import distutils.command.install
import distutils.core
import distutils
-# import setuptools
+import setuptools
"""
NOTE: Installed SCons is not importable like usual Python packages. It is
executed explicitly with command line scripts. This allows multiple
@@ -165,7 +165,6 @@ class install(_install):
self.install_bat = 0
self.no_install_bat = False # 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
@@ -505,6 +504,9 @@ arguments = {
'install_data': install_data,
'install_scripts': install_scripts,
'build_scripts': build_scripts},
+ 'install_requires' : {
+ "pywin32;platform_system=='Windows'"
+ }
}
distutils.core.setup(**arguments)