summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..95d55e8
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,47 @@
+from distutils.core import setup
+from distutils.extension import Extension
+from Cython.Distutils import build_ext
+
+import glob
+import sys
+
+source_files = ["enet.pyx"]
+
+_enet_files = glob.glob("enet/*.c")
+
+if not _enet_files:
+ print("You need to download and extract the enet 1.3 source to enet/")
+ print("Download the source from: http://enet.bespin.org/SourceDistro.html")
+ print("See the README for more instructions")
+ sys.exit(1)
+
+source_files.extend(_enet_files)
+
+define_macros = [('HAS_POLL', None),
+ ('HAS_FCNTL', None),
+ ('HAS_MSGHDR_FLAGS', None),
+ ('HAS_SOCKLEN_T', None) ]
+
+libraries = []
+
+if sys.platform == 'win32':
+ define_macros.extend([('WIN32', None)])
+ libraries.extend(['ws2_32', 'Winmm'])
+
+if sys.platform != 'darwin':
+ define_macros.extend([('HAS_GETHOSTBYNAME_R', None), ('HAS_GETHOSTBYADDR_R', None)])
+
+ext_modules = [
+ Extension(
+ "enet",
+ extra_compile_args=["-O3"],
+ sources=source_files,
+ include_dirs=["enet/include/"],
+ define_macros=define_macros,
+ libraries=libraries)]
+
+setup(
+ name = 'enet',
+ cmdclass = {'build_ext': build_ext},
+ ext_modules = ext_modules
+)