[Python-checkins] r60287 - python/trunk/setup.py

christian.heimes python-checkins at python.org
Fri Jan 25 16:52:11 CET 2008


Author: christian.heimes
Date: Fri Jan 25 16:52:11 2008
New Revision: 60287
Modified:
 python/trunk/setup.py
Log:
Added the Python core headers Include/*.h and pyconfig.h as dependencies for the extensions in Modules/
It forces a rebuild of all extensions when a header files has been modified
Modified: python/trunk/setup.py
==============================================================================
--- python/trunk/setup.py	(original)
+++ python/trunk/setup.py	Fri Jan 25 16:52:11 2008
@@ -4,6 +4,7 @@
 __version__ = "$Revision$"
 
 import sys, os, imp, re, optparse
+from glob import glob
 
 from distutils import log
 from distutils import sysconfig
@@ -142,12 +143,20 @@
 self.distribution.scripts = [os.path.join(srcdir, filename)
 for filename in self.distribution.scripts]
 
+ # Python header files
+ headers = glob("Include/*.h") + ["pyconfig.h"]
+
 for ext in self.extensions[:]:
 ext.sources = [ find_module_file(filename, moddirlist)
 for filename in ext.sources ]
 if ext.depends is not None:
 ext.depends = [find_module_file(filename, alldirlist)
 for filename in ext.depends]
+ else:
+ ext.depends = []
+ # re-compile extensions if a header file has been changed
+ ext.depends.extend(headers)
+
 ext.include_dirs.append( '.' ) # to get config.h
 for incdir in incdirlist:
 ext.include_dirs.append( os.path.join(srcdir, incdir) )


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /