aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setuptools/extension.py13
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"