summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorHye-Shik Chang <hyeshik@gmail.com>2008-06-28 01:04:31 (GMT)
committerHye-Shik Chang <hyeshik@gmail.com>2008-06-28 01:04:31 (GMT)
commit99c48a8d315fe55c8e1e8eac2e01cd930cb89686 (patch)
treef3ecdbe6dd392f23030842cba9f8aa8a1b6ec17a /setup.py
parent910c2ab674e0c6c09605f0a8c493a64ddb99c0d8 (diff)
downloadcpython-99c48a8d315fe55c8e1e8eac2e01cd930cb89686.zip
cpython-99c48a8d315fe55c8e1e8eac2e01cd930cb89686.tar.gz
cpython-99c48a8d315fe55c8e1e8eac2e01cd930cb89686.tar.bz2
Give information for compililation of _multiprocessing.SemLock on FreeBSD:
FreeBSD's P1003.1b semaphore support is highly experimental and it's disabled by default. Even if a user loads the experimental kernel module manually, _multiprocessing doesn't work correctly due to several known incompatibilities around sem_unlink and sem_getvalue, yet.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index 87a5594..f979a29 100644
--- a/setup.py
+++ b/setup.py
@@ -1258,6 +1258,17 @@ class PyBuildExt(build_ext):
HAVE_BROKEN_SEM_UNLINK=1
)
libraries = []
+
+ elif platform in ('freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ # FreeBSD's P1003.1b semaphore support is very experimental
+ # and has many known problems. (as of June 2008)
+ macros = dict( # FreeBSD
+ HAVE_SEM_OPEN=0,
+ HAVE_SEM_TIMEDWAIT=0,
+ HAVE_FD_TRANSFER=1,
+ )
+ libraries = []
+
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,