]> granicus.if.org Git - python/commitdiff
Add a new definition to Extension objects: depends.
authorJeremy Hylton <jeremy@alum.mit.edu>
Wed, 12 Jun 2002 20:08:56 +0000 (20:08 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Wed, 12 Jun 2002 20:08:56 +0000 (20:08 +0000)
depends is a list of files that the target depends, but aren't direct
sources of the target.  think .h files.

Lib/distutils/command/build_ext.py
Lib/distutils/extension.py

index d8f3dc8a7acfdf3789049d9d3b4655fa654d67fe..21dd0dcd6e3a465b6ffa1bba210dccfbfd8235da 100644 (file)
@@ -422,7 +422,8 @@ class build_ext (Command):
             ext_filename = os.path.join(self.build_lib,
                                         self.get_ext_filename(fullname))
 
-        if not (self.force or newer_group(sources, ext_filename, 'newer')):
+        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)
             return
         else:
index 37377120163fbf4125e21a697acc191fc63deaf2..d73bb08e00b82f179a96676c40cc33c517ccc137 100644 (file)
@@ -73,6 +73,8 @@ class Extension:
         used on all platforms, and not generally necessary for Python
         extensions, which typically export exactly one symbol: "init" +
         extension_name.
+      depends : [string]
+        list of files that the extension depends on
     """
 
     def __init__ (self, name, sources,
@@ -86,6 +88,7 @@ class Extension:
                   extra_compile_args=None,
                   extra_link_args=None,
                   export_symbols=None,
+                  depends=None,
                  ):
 
         assert type(name) is StringType, "'name' must be a string"
@@ -105,6 +108,7 @@ class Extension:
         self.extra_compile_args = extra_compile_args or []
         self.extra_link_args = extra_link_args or []
         self.export_symbols = export_symbols or []
+        self.depends = depends or []
 
 # class Extension