diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2014-03-10 08:00:52 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2014-03-10 08:00:52 -0400 |
commit | 158b463e715d0f4c752df1c9e138e630718e74fa (patch) | |
tree | 0988369ded3042c41484ef1928341290c3dc342e | |
parent | 7a47250f321d165b6765d5590c4869d200960edd (diff) | |
parent | a0c7e67a26b11e3458424112bc78be90d52b2fc5 (diff) | |
download | external_python_setuptools-158b463e715d0f4c752df1c9e138e630718e74fa.tar.gz external_python_setuptools-158b463e715d0f4c752df1c9e138e630718e74fa.tar.bz2 external_python_setuptools-158b463e715d0f4c752df1c9e138e630718e74fa.zip |
Merged in lsinger/setuptools (pull request #39)
Map .pyx sources to .c or .cpp depending on language
-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" |