diff options
author | lsinger <none@none> | 2014-03-01 18:02:23 -0800 |
---|---|---|
committer | lsinger <none@none> | 2014-03-01 18:02:23 -0800 |
commit | a0c7e67a26b11e3458424112bc78be90d52b2fc5 (patch) | |
tree | 4e6e0bdb5b55f02dd1bbf125226f1d1c58e41127 /setuptools/extension.py | |
parent | 3ca95bfdfe8b4e68338f43de462e6b57e3fdf1a0 (diff) | |
download | external_python_setuptools-a0c7e67a26b11e3458424112bc78be90d52b2fc5.tar.gz external_python_setuptools-a0c7e67a26b11e3458424112bc78be90d52b2fc5.tar.bz2 external_python_setuptools-a0c7e67a26b11e3458424112bc78be90d52b2fc5.zip |
Map .pyx sources to .c or .cpp depending on language
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" |