From a0c7e67a26b11e3458424112bc78be90d52b2fc5 Mon Sep 17 00:00:00 2001 From: lsinger Date: Sat, 1 Mar 2014 18:02:23 -0800 Subject: Map .pyx sources to .c or .cpp depending on language --- setuptools/extension.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'setuptools/extension.py') 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" -- cgit v1.2.1