diff options
author | Thomas Heller <theller@ctypes.org> | 2000-09-28 19:28:35 (GMT) |
---|---|---|
committer | Thomas Heller <theller@ctypes.org> | 2000-09-28 19:28:35 (GMT) |
commit | 18b9b93df3cf304a2506a44e1e3bfd95bd53e511 (patch) | |
tree | 4e2f246f329918dc526ba9b6eba8795b43bad8d7 /Lib/distutils/command/build_ext.py | |
parent | 20af3172ce46a13789dbb4087e1115c95cfa9227 (diff) | |
download | cpython-18b9b93df3cf304a2506a44e1e3bfd95bd53e511.zip cpython-18b9b93df3cf304a2506a44e1e3bfd95bd53e511.tar.gz cpython-18b9b93df3cf304a2506a44e1e3bfd95bd53e511.tar.bz2 |
Removed the implib_dir instance variable because it is unused.
Removed get_ext_libname() because it is unused.
Fixed get_libraries() to append an '_d' to the python debug
import library. If MSVC is used, do not add 'pythonxx.lib' to
the list of libraries, because this is handled better
by a pragma in config.h.
This should fix bug #115595, but it needs some more testing.
Diffstat (limited to 'Lib/distutils/command/build_ext.py')
-rw-r--r-- | Lib/distutils/command/build_ext.py | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 7fdfd14..9147c3d 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -158,7 +158,6 @@ class build_ext (Command): # also Python's library directory must be appended to library_dirs if os.name == 'nt': self.library_dirs.append (os.path.join(sys.exec_prefix, 'libs')) - self.implib_dir = self.build_temp if self.debug: self.build_temp = os.path.join (self.build_temp, "Debug") else: @@ -543,15 +542,6 @@ class build_ext (Command): return apply (os.path.join, ext_path) + '_d' + so_ext return apply (os.path.join, ext_path) + so_ext - def get_ext_libname (self, ext_name): - # create a filename for the (unneeded) lib-file. - # extensions in debug_mode are named 'module_d.pyd' under windows - ext_path = string.split (ext_name, '.') - if os.name == 'nt' and self.debug: - return apply (os.path.join, ext_path) + '_d.lib' - return apply (os.path.join, ext_path) + '.lib' - - def get_export_symbols (self, ext): """Return the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not @@ -573,9 +563,15 @@ class build_ext (Command): # is redundant, since the library is mentioned in a pragma in # config.h that MSVC groks. The other Windows compilers all seem # to need it mentioned explicitly, though, so that's what we do. - if sys.platform == "win32": - pythonlib = ("python%d%d" % - (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) + # Append '_d' to the python import library on debug builds. + from distutils.msvccompiler import MSVCCompiler + if sys.platform == "win32" and \ + not isinstance(self.compiler, MSVCCompiler): + template = "python%d%d" + if self.debug: + template = template + '_d' + pythonlib = (template % + (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) # don't extend ext.libraries, it may be shared with other # extensions, it is a reference to the original list return ext.libraries + [pythonlib] |