summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..62d7ba1
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,69 @@
+# Python modules
+import distutils.core as duc
+import platform
+
+# My modules
+import prober
+
+VERSION = open("VERSION").read().strip()
+
+name = "posix_ipc"
+description = "POSIX IPC primitives (semaphores, shared memory and message queues) for Python"
+long_description = open("README").read().strip()
+author = "Philip Semanchuk"
+author_email = "philip@semanchuk.com"
+maintainer = "Philip Semanchuk"
+url = "http://semanchuk.com/philip/posix_ipc/"
+download_url = "http://semanchuk.com/philip/posix_ipc/posix_ipc-%s.tar.gz" % VERSION
+source_files = ["posix_ipc_module.c"]
+# http://pypi.python.org/pypi?%3Aaction=list_classifiers
+classifiers = [ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: MacOS :: MacOS X",
+ "Operating System :: POSIX :: BSD :: FreeBSD",
+ "Operating System :: POSIX :: Linux",
+ "Operating System :: POSIX :: SunOS/Solaris",
+ "Operating System :: POSIX",
+ "Operating System :: Unix",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 3",
+ "Topic :: Utilities" ]
+license = "http://creativecommons.org/licenses/BSD/"
+keywords = "ipc inter-process communication semaphore shared memory shm message queue"
+
+libraries = [ ]
+
+d = prober.probe()
+
+# Linux & FreeBSD require linking against the realtime libs
+# This causes an error on other platforms
+if "REALTIME_LIB_IS_NEEDED" in d:
+ libraries.append("rt")
+
+ext_modules = [ duc.Extension("posix_ipc",
+ source_files,
+ libraries=libraries,
+ depends = [ "posix_ipc_module.c",
+ "probe_results.h",
+ ],
+# extra_compile_args=['-E']
+ )
+ ]
+
+
+duc.setup(name = name,
+ version = VERSION,
+ description = description,
+ long_description = long_description,
+ author = author,
+ author_email = author_email,
+ maintainer = maintainer,
+ url = url,
+ download_url = download_url,
+ classifiers = classifiers,
+ license = license,
+ keywords = keywords,
+ ext_modules = ext_modules
+ )