mirror of https://github.com/python/cpython.git
Extend dependency tracking so that .o files are rebuilt.
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.
This commit is contained in:
parent
1bba31d9a2
commit
c18fde5d82
|
@ -388,7 +388,6 @@ def get_outputs (self):
|
|||
# get_outputs ()
|
||||
|
||||
def build_extensions(self):
|
||||
|
||||
# First, sanity-check the 'extensions' list
|
||||
self.check_extensions_list(self.extensions)
|
||||
|
||||
|
@ -396,7 +395,6 @@ def build_extensions(self):
|
|||
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 @@ def build_extension(self, ext):
|
|||
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 @@ def build_extension(self, ext):
|
|||
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!
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue