--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -158,7 +158,6 @@
         # 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 @@
             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 @@
         # 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]