diff --git a/setup.py b/setup.py index 750f47ca8f8..e652969d0b5 100644 --- a/setup.py +++ b/setup.py @@ -1267,7 +1267,12 @@ class PyBuildExt(build_ext): '_ctypes', 'libffi')) ffi_configfile = os.path.join(ffi_builddir, 'fficonfig.py') - if self.force or not os.path.exists(ffi_configfile): + from distutils.dep_util import newer_group + + config_sources = [os.path.join(ffi_srcdir, fname) + for fname in os.listdir(ffi_srcdir)] + if self.force or newer_group(config_sources, + ffi_configfile): from distutils.dir_util import mkpath mkpath(ffi_builddir) config_args = []