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"]),
]
)