]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Extend dependency tracking so that .o files are rebuilt.
authorJeremy Hylton <jeremy@alum.mit.edu>
Thu, 13 Jun 2002 17:32:20 +0000 (17:32 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Thu, 13 Jun 2002 17:32:20 +0000 (17:32 +0000)
Two new tests are needed:

Don't skip building an extension if any of the depends files are newer
than the target.

Pass ext.depends to compiler.compile() so that it can track individual
files.

Lib/distutils/command/build_ext.py

index 21dd0dcd6e3a465b6ffa1bba210dccfbfd8235da..943f30a4fb330b4a4c957e2ac021c68640d671ec 100644 (file)
@@ -388,7 +388,6 @@ class build_ext (Command):
     # get_outputs ()
 
     def build_extensions(self):
-
         # First, sanity-check the 'extensions' list
         self.check_extensions_list(self.extensions)
 
@@ -396,7 +395,6 @@ class build_ext (Command):
             self.build_extension(ext)
 
     def build_extension(self, ext):
-
         sources = ext.sources
         if sources is None or type(sources) not in (ListType, TupleType):
             raise DistutilsSetupError, \
@@ -421,7 +419,6 @@ class build_ext (Command):
         else:
             ext_filename = os.path.join(self.build_lib,
                                         self.get_ext_filename(fullname))
-
         depends = sources + ext.depends
         if not (self.force or newer_group(depends, ext_filename, 'newer')):
             log.debug("skipping '%s' extension (up-to-date)", ext.name)
@@ -467,7 +464,8 @@ class build_ext (Command):
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
-                                        extra_postargs=extra_args)
+                                        extra_postargs=extra_args,
+                                        depends=ext.depends)
 
         # XXX -- this is a Vile HACK!
         #