honour Extension.include_dirs
authorStefan Behnel <scoder@users.berlios.de>
Mon, 6 Aug 2007 06:45:11 +0000 (08:45 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Mon, 6 Aug 2007 06:45:11 +0000 (08:45 +0200)
Cython/Distutils/build_ext.py

index e4871460b719ffb289c0ad31468be33725ab3da6..c6acffefda079f47ce3c1b55e2dceadafc1d9d86 100644 (file)
@@ -40,8 +40,10 @@ class build_ext (distutils.command.build_ext.build_ext):
         #suffix = self.swig_cpp and '.cpp' or '.c'
         suffix = '.c'
         cplus  = 0
+        include_dirs = []
         if extension is not None:
             module_name = extension.name
+            include_dirs = extension.include_dirs or []
             if extension.language == "c++":
                 cplus = 1
                 suffix = ".cpp"
@@ -58,14 +60,14 @@ class build_ext (distutils.command.build_ext.build_ext):
                 source = pyx
                 target = replace_suffix(source, suffix)
                 if newer(source, target) or self.force:
-                    self.cython_compile(source, module_name, cplus)
+                    self.cython_compile(source, module_name, include_dirs, cplus)
 
         return [replace_suffix(src, suffix) for src in pyx_sources] + other_sources
 
-    def cython_compile(self, source, module_name, cplus):
+    def cython_compile(self, source, module_name, include_dirs, cplus):
         options = CompilationOptions(
             default_options,
-            include_path = self.include_dirs,
+            include_path = include_dirs + self.include_dirs,
             cplus=cplus)
         result = compile(source, options, full_module_name=module_name)
         if result.num_errors <> 0: