diff options
Diffstat (limited to 'setuptools/extension.py')
-rw-r--r-- | setuptools/extension.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/setuptools/extension.py b/setuptools/extension.py index d7892d3d..b72f6e2a 100644 --- a/setuptools/extension.py +++ b/setuptools/extension.py @@ -27,7 +27,18 @@ class Extension(_Extension): def __init__(self, *args, **kw): _Extension.__init__(self, *args, **kw) if not have_pyrex(): - self._convert_pyx_sources_to_c() + if self.language.lower() == 'c++': + self._convert_pyx_sources_to_cpp() + else: + self._convert_pyx_sources_to_c() + + def _convert_pyx_sources_to_cpp(self): + "convert .pyx extensions to .cpp" + def pyx_to_c(source): + if source.endswith('.pyx'): + source = source[:-4] + '.cpp' + return source + self.sources = list(map(pyx_to_c, self.sources)) def _convert_pyx_sources_to_c(self): "convert .pyx extensions to .c" |