From: Greg Ward Date: Wed, 2 Aug 2000 00:00:30 +0000 (+0000) Subject: Patch from Rene Liebscher: generate an /IMPLIB: option to ensure that X-Git-Tag: v2.0b1~633 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=159eb92239c20198e9318acbe142ab3e168aae4b;p=thirdparty%2FPython%2Fcpython.git Patch from Rene Liebscher: generate an /IMPLIB: option to ensure that the linker leaves the (temporary) .lib file in the temporary dir. (Moved from 'msvc_prelink_hack()' method in build_ext.py.) --- diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py index e58e6c10c81f..b86e0b30231b 100644 --- a/Lib/distutils/msvccompiler.py +++ b/Lib/distutils/msvccompiler.py @@ -380,10 +380,22 @@ class MSVCCompiler (CCompiler) : ld_args = (ldflags + lib_opts + export_opts + objects + ['/OUT:' + output_filename]) + # The MSVC linker generates .lib and .exp files, which cannot be + # suppressed by any linker switches. The .lib files may even be + # needed! Make sure they are generated in the temporary build + # directory. Since they have different names for debug and release + # builds, they can go into the same directory. + (dll_name, dll_ext) = os.path.splitext( + os.path.basename(output_filename)) + implib_file = os.path.join( + os.path.dirname(objects[0]), + self.library_filename(dll_name)) + ld_args.append ('/IMPLIB:' + implib_file) + if extra_preargs: ld_args[:0] = extra_preargs if extra_postargs: - ld_args.extend (extra_postargs) + ld_args.extend(extra_postargs) print "link_shared_object():" print " output_filename =", output_filename