Compile the files in the same order they are passed to the compiler.

Use case: Sometimes 'compiling' source files (with SWIG, for example)
creates additionl files which included by later sources.  The win32all
setup script requires this.

There is no SF item for this, but it was discussed on distutils-sig:
http://mail.python.org/pipermail/distutils-sig/2003-November/003514.html
This commit is contained in:
Thomas Heller 2003-12-05 20:12:23 +00:00
parent f96dd83bb4
commit 9436a75e4d
3 changed files with 15 additions and 3 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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