diff options
author | Naoki INADA <inada-n@koala> | 2010-01-25 20:51:55 +0900 |
---|---|---|
committer | Naoki INADA <inada-n@koala> | 2010-01-25 20:51:55 +0900 |
commit | b6a4568b0fcb4433c4e1d033015c881a24bf32a3 (patch) | |
tree | cfa399875c403807cb144df4c5d5abe1730ba453 /setup_dev.py | |
parent | 6f8e7f2709b811068988055c956790cb0537b41b (diff) | |
download | msgpack-python-b6a4568b0fcb4433c4e1d033015c881a24bf32a3.tar.gz |
cythoning *.pyx when sdist.
Diffstat (limited to 'setup_dev.py')
-rwxr-xr-x | setup_dev.py | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/setup_dev.py b/setup_dev.py index 4efc769..66cf27e 100755 --- a/setup_dev.py +++ b/setup_dev.py @@ -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', |