diff --git a/Lib/distutils/bcppcompiler.py b/Lib/distutils/bcppcompiler.py index cfbe04ac01e..b0360a248ee 100644 --- a/Lib/distutils/bcppcompiler.py +++ b/Lib/distutils/bcppcompiler.py @@ -96,7 +96,11 @@ class BCPPCompiler(CCompiler) : else: compile_opts.extend (self.compile_options) - for obj, (src, ext) in build.items(): + for obj in objects: + try: + src, ext = build[obj] + except KeyError: + continue # XXX why do the normpath here? src = os.path.normpath(src) obj = os.path.normpath(obj) diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py index 751ec0694bc..ebd93c27eb0 100644 --- a/Lib/distutils/ccompiler.py +++ b/Lib/distutils/ccompiler.py @@ -691,7 +691,11 @@ class CCompiler: depends, extra_postargs) cc_args = self._get_cc_args(pp_opts, debug, extra_preargs) - for obj, (src, ext) in build.items(): + for obj in objects: + try: + src, ext = build[obj] + except KeyError: + continue self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) # Return *all* object filenames, not just the ones we just built. diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py index 27fb658b5bb..1441ea04c3b 100644 --- a/Lib/distutils/msvccompiler.py +++ b/Lib/distutils/msvccompiler.py @@ -291,7 +291,11 @@ class MSVCCompiler (CCompiler) : else: compile_opts.extend(self.compile_options) - for obj, (src, ext) in build.items(): + for obj in objects: + try: + src, ext = build[obj] + except KeyError: + continue if debug: # pass the full pathname to MSVC in debug mode, # this allows the debugger to find the source file