Commit 8d6047a6 authored by Stefan Behnel's avatar Stefan Behnel

honour Extension.include_dirs

parent e878491e
...@@ -40,8 +40,10 @@ class build_ext (distutils.command.build_ext.build_ext): ...@@ -40,8 +40,10 @@ class build_ext (distutils.command.build_ext.build_ext):
#suffix = self.swig_cpp and '.cpp' or '.c' #suffix = self.swig_cpp and '.cpp' or '.c'
suffix = '.c' suffix = '.c'
cplus = 0 cplus = 0
include_dirs = []
if extension is not None: if extension is not None:
module_name = extension.name module_name = extension.name
include_dirs = extension.include_dirs or []
if extension.language == "c++": if extension.language == "c++":
cplus = 1 cplus = 1
suffix = ".cpp" suffix = ".cpp"
...@@ -58,14 +60,14 @@ class build_ext (distutils.command.build_ext.build_ext): ...@@ -58,14 +60,14 @@ class build_ext (distutils.command.build_ext.build_ext):
source = pyx source = pyx
target = replace_suffix(source, suffix) target = replace_suffix(source, suffix)
if newer(source, target) or self.force: 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 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( options = CompilationOptions(
default_options, default_options,
include_path = self.include_dirs, include_path = include_dirs + self.include_dirs,
cplus=cplus) cplus=cplus)
result = compile(source, options, full_module_name=module_name) result = compile(source, options, full_module_name=module_name)
if result.num_errors <> 0: if result.num_errors <> 0:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment