mirror of https://github.com/python/cpython
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 @@ 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!
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue