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 38 39 40 41
|
#!/usr/bin/env python
import glob, os, sys
from setuptools import setup, Extension
from Cython.Build import cythonize
dumbnet_srcs = [ '@srcdir@/dumbnet.pyx' ]
dumbnet_incdirs = [ '@top_srcdir@/include' ]
dumbnet_libdirs = []
dumbnet_libs = []
dumbnet_extargs = []
dumbnet_extobj = []
if sys.platform == 'win32':
winpcap_dir = '../../WPdpack'
dumbnet_srcs.extend(['../src/addr-util.c', '../src/addr.c', '../src/blob.c', '../src/ip-util.c', '../src/ip6.c', '../src/rand.c', '../src/err.c', '../src/strlcat.c', '../src/strlcpy.c', '../src/err.c', '../src/strlcat.c', '../src/strlcpy.c', '../src/strsep.c', '../src/arp-win32.c', '../src/eth-win32.c', '../src/fw-pktfilter.c', '../src/intf-win32.c', '../src/ip-win32.c', '../src/route-win32.c', '../src/tun-none.c'])
dumbnet_incdirs.append(winpcap_dir + '/Include')
dumbnet_libdirs.append(winpcap_dir + '/Lib')
dumbnet_libs.extend([ 'advapi32', 'iphlpapi', 'ws2_32', 'packet' ])
else:
# XXX - can't build on Cygwin+MinGW yet.
#if sys.platform == 'cygwin':
# dumbnet_extargs.append('-mno-cygwin')
dumbnet_extobj.extend(sorted(glob.glob('@top_builddir@/src/.libs/*.o')))
dumbnet = Extension('dumbnet',
dumbnet_srcs,
include_dirs=dumbnet_incdirs,
library_dirs=dumbnet_libdirs,
libraries=dumbnet_libs,
extra_compile_args=dumbnet_extargs,
extra_objects=dumbnet_extobj)
setup(name='dumbnet',
version='@VERSION@',
description='low-level networking library',
author='Dug Song',
author_email='dugsong@monkey.org',
url='http://libdnet.sourceforge.net/',
ext_modules =cythonize(dumbnet,compiler_directives = {"c_string_type": "str",
"c_string_encoding":"ascii"}),)
|