setup.py
author Tero Marttila <terom@fixme.fi>
Sat, 26 Sep 2009 21:50:42 +0300
changeset 52 722fc70a197a
parent 49 e2f79e68418a
permissions -rw-r--r--
change CallbackEvent to replace fd with ev, event2 doc/style tweaks
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

def cython_ext (name, files, **opts) :
    return Extension(name, files, include_dirs=['inc'], **opts)

setup(
    name            = 'qmsk.net',
    version         = '0.0.1',
    description     = "Python network programming re-invented",
    author          = "Tero Marttila",
    author_email    = "terom@fixme.fi",
    url             = "http://projects.qmsk.net/qmsk.net",
    
    # for python code
    packages        = [
        'qmsk.net.socket',
        'qmsk.net.lib.event2',
        'qmsk.net.transport',
    ],
    
    # override build_ext to use Cython
    cmdclass        = {'build_ext': build_ext},

    # describe Cython modules
#    ext_package     = 'qmsk.net',
    ext_modules = [
        cython_ext("qmsk.net.libc",             ["qmsk/net/libc.pyx"]),
        cython_ext("qmsk.net.py",               ["qmsk/net/py.pyx"]),
        cython_ext("qmsk.net.socket.platform",  ["qmsk/net/socket/platform.pyx"]),
        cython_ext("qmsk.net.socket.constants", ["qmsk/net/socket/constants.pyx"]),
        cython_ext("qmsk.net.socket._address",   ["qmsk/net/socket/_address.pyx"]),
        cython_ext("qmsk.net.socket.address",   ["qmsk/net/socket/address.pyx"]),
        cython_ext("qmsk.net.socket.socket",    ["qmsk/net/socket/socket.pyx"]),
        cython_ext("qmsk.net.socket.af_inet",   ["qmsk/net/socket/af_inet.pyx"]),
        cython_ext("qmsk.net.socket.af_inet6",  ["qmsk/net/socket/af_inet6.pyx"]),
        cython_ext("qmsk.net.socket.af_unix",   ["qmsk/net/socket/af_unix.pyx"]),
        cython_ext("qmsk.net.socket.sctp",      ["qmsk/net/socket/sctp.pyx"], libraries=['sctp']),
        cython_ext("qmsk.net.lib.event2.base",  ["qmsk/net/lib/event2/base.pyx"], libraries=['event_core']),
        cython_ext("qmsk.net.lib.event2.event", ["qmsk/net/lib/event2/event.pyx"], libraries=['event_core']),
        cython_ext("qmsk.net.lib.event2.constants", ["qmsk/net/lib/event2/constants.pyx"]),
    ]
)