mirror of
https://github.com/python/cpython.git
synced 2025-07-31 23:23:11 +00:00
add the multiprocessing package to fulfill PEP 371
This commit is contained in:
parent
d5299866f9
commit
190d56e009
32 changed files with 12500 additions and 0 deletions
52
setup.py
52
setup.py
|
@ -1236,6 +1236,58 @@ class PyBuildExt(build_ext):
|
|||
# Thomas Heller's _ctypes module
|
||||
self.detect_ctypes(inc_dirs, lib_dirs)
|
||||
|
||||
# Richard Oudkerk's multiprocessing module
|
||||
if platform == 'win32': # Windows
|
||||
macros = dict()
|
||||
libraries = ['ws2_32']
|
||||
|
||||
elif platform == 'darwin': # Mac OSX
|
||||
macros = dict(
|
||||
HAVE_SEM_OPEN=1,
|
||||
HAVE_SEM_TIMEDWAIT=0,
|
||||
HAVE_FD_TRANSFER=1,
|
||||
HAVE_BROKEN_SEM_GETVALUE=1
|
||||
)
|
||||
libraries = []
|
||||
|
||||
elif platform == 'cygwin': # Cygwin
|
||||
macros = dict(
|
||||
HAVE_SEM_OPEN=1,
|
||||
HAVE_SEM_TIMEDWAIT=1,
|
||||
HAVE_FD_TRANSFER=0,
|
||||
HAVE_BROKEN_SEM_UNLINK=1
|
||||
)
|
||||
libraries = []
|
||||
else: # Linux and other unices
|
||||
macros = dict(
|
||||
HAVE_SEM_OPEN=1,
|
||||
HAVE_SEM_TIMEDWAIT=1,
|
||||
HAVE_FD_TRANSFER=1
|
||||
)
|
||||
libraries = ['rt']
|
||||
|
||||
if platform == 'win32':
|
||||
multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
|
||||
'_multiprocessing/semaphore.c',
|
||||
'_multiprocessing/pipe_connection.c',
|
||||
'_multiprocessing/socket_connection.c',
|
||||
'_multiprocessing/win32_functions.c'
|
||||
]
|
||||
|
||||
else:
|
||||
multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c',
|
||||
'_multiprocessing/socket_connection.c'
|
||||
]
|
||||
|
||||
if macros.get('HAVE_SEM_OPEN', False):
|
||||
multiprocessing_srcs.append('_multiprocessing/semaphore.c')
|
||||
|
||||
exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
|
||||
define_macros=macros.items(),
|
||||
include_dirs=["Modules/_multiprocessing"]))
|
||||
# End multiprocessing
|
||||
|
||||
|
||||
# Platform-specific libraries
|
||||
if platform == 'linux2':
|
||||
# Linux-specific modules
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue