cythoning *.pyx when sdist.

This commit is contained in:
Naoki INADA 2010-01-25 20:51:55 +09:00
parent 9e2c9d7812
commit 1a11608f1f

View File

@ -1,15 +1,41 @@
#!/usr/bin/env python
# coding: utf-8
from distutils.core import setup, Extension
from Cython.Distutils import build_ext
import os
from glob import glob
from distutils.core import setup, Extension
from distutils.command.sdist import sdist
try:
from Cython.Distutils import build_ext
import Cython.Compiler.Main as cython_compiler
have_cython = True
except ImportError:
from distutils.command.build_ext import build_ext
have_cython = False
version = '0.2.0dev'
# take care of extension modules.
if have_cython:
sources = ['msgpack/_msgpack.pyx']
class Sdist(sdist):
def __init__(self, *args, **kwargs):
for src in glob('msgpack/*.pyx'):
cython_compiler.compile(glob('msgpack/*.pyx'),
cython_compiler.default_options)
sdist.__init__(self, *args, **kwargs)
else:
sources = ['msgpack/_msgpack.c']
Sdist = sdist
msgpack_mod = Extension('msgpack._msgpack',
sources=['msgpack/_msgpack.pyx']
sources=sources,
)
del sources
desc = 'MessagePack (de)serializer.'
long_desc = desc + """
@ -25,14 +51,15 @@ What's MessagePack? (from http://msgpack.sourceforge.jp/)
"""
setup(name='msgpack',
author='Naoki INADA',
author='INADA Naoki',
author_email='songofacandy@gmail.com',
version=version,
cmdclass={'build_ext': build_ext},
cmdclass={'build_ext': build_ext, 'sdist': Sdist},
ext_modules=[msgpack_mod],
packages=['msgpack'],
description=desc,
long_description=long_desc,
url="http://msgpack.sourceforge.jp/",
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',