aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/extension.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-03-10 08:00:52 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-03-10 08:00:52 -0400
commit158b463e715d0f4c752df1c9e138e630718e74fa (patch)
tree0988369ded3042c41484ef1928341290c3dc342e /setuptools/extension.py
parent7a47250f321d165b6765d5590c4869d200960edd (diff)
parenta0c7e67a26b11e3458424112bc78be90d52b2fc5 (diff)
downloadexternal_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
Diffstat (limited to 'setuptools/extension.py')
-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"