summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@mad-scientist.com>2000-05-12 00:34:12 (GMT)
committerGregory P. Smith <greg@mad-scientist.com>2000-05-12 00:34:12 (GMT)
commit6cd0c433665584abe33539945dbe6a0fbd98a195 (patch)
treed89357ab6ac9938901eef13ab2f88bba971585b8
parent9668b78b9f766e88aac1671373906f376e7429ff (diff)
downloadcpython-6cd0c433665584abe33539945dbe6a0fbd98a195.zip
cpython-6cd0c433665584abe33539945dbe6a0fbd98a195.tar.gz
cpython-6cd0c433665584abe33539945dbe6a0fbd98a195.tar.bz2
Fix from Lyle Johnson: add the '--compiler' option.
Also added creation of 'implib_dir', a temporary directory specific to MSVC++ -- but I checked in two ways of fixing it (Lyle's and mine), because I'm not sure which is right.
-rw-r--r--Lib/distutils/command/build_ext.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index b234b91..2142d05 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -67,7 +67,9 @@ class build_ext (Command):
('debug', 'g',
"compile/link with debugging information"),
('force', 'f',
- "forcibly build everything (ignore file timestamps"),
+ "forcibly build everything (ignore file timestamps)"),
+ ('compiler=', 'c',
+ "specify the compiler type"),
]
@@ -87,6 +89,7 @@ class build_ext (Command):
self.link_objects = None
self.debug = None
self.force = None
+ self.compiler = None
def finalize_options (self):
@@ -95,6 +98,7 @@ class build_ext (Command):
self.set_undefined_options ('build',
('build_lib', 'build_lib'),
('build_temp', 'build_temp'),
+ ('compiler', 'compiler'),
('debug', 'debug'),
('force', 'force'))
@@ -169,7 +173,8 @@ class build_ext (Command):
# Setup the CCompiler object that we'll use to do all the
# compiling and linking
- self.compiler = new_compiler (verbose=self.verbose,
+ self.compiler = new_compiler (compiler=self.compiler,
+ verbose=self.verbose,
dry_run=self.dry_run,
force=self.force)
@@ -340,6 +345,10 @@ class build_ext (Command):
implib_dir = os.path.join(self.build_temp,\
self.get_ext_libname(extension_name))
extra_args.append ('/IMPLIB:' + implib_dir)
+
+ # XXX arg, which of these is correct?
+ self.mkpath(implib_dir)
+ self.mkpath(os.path.dirname(implib_dir))
# if MSVC
fullname = self.get_ext_fullname (extension_name)