blob: 37b6257603e47510e4567a3be6f481e44f1b4a71 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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
from dist import _get_unpatched
_Extension = _get_unpatched(_Extension)
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
import sys, distutils.core, distutils.extension
distutils.core.Extension = Extension
distutils.extension.Extension = Extension
if 'distutils.command.build_ext' in sys.modules:
sys.modules['distutils.command.build_ext'].Extension = Extension
else:
# Pyrex is here, just use regular extension type
Extension = _Extension
|