diff options
Diffstat (limited to 'setuptools/extension.py')
-rw-r--r-- | setuptools/extension.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/setuptools/extension.py b/setuptools/extension.py new file mode 100644 index 0000000..55a4d94 --- /dev/null +++ b/setuptools/extension.py @@ -0,0 +1,27 @@ +from distutils.core import Extension as _Extension + +try: + from Pyrex.Distutils.build_ext import build_ext + +except ImportError: + + # Pyrex isn't around, so fix up the sources + + class Extension(_Extension): + + """Extension that uses '.c' files in place of '.pyx' files""" + + def __init__(self,*args,**kw): + _Extension.__init__(self,*args,**kw) + sources = [] + for s in self.sources: + if s.endswith('.pyx'): + sources.append(s[:-3]+'c') + else: + sources.append(s) + self.sources = sources + +else: + + # Pyrex is here, just use regular extension type + Extension = _Extension |