diff -urN a/setup.py b/setup.py --- a/setup.py 2014-10-11 22:41:24.888569100 +0100 +++ b/setup.py 2014-10-11 22:41:27.916742300 +0100 @@ -1572,7 +1572,7 @@ macros = dict() libraries = ['rt'] - if host_platform == 'win32': + if host_platform.startswith(('mingw', 'win')): multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c', '_multiprocessing/semaphore.c', '_multiprocessing/pipe_connection.c', @@ -1589,8 +1589,12 @@ multiprocessing_srcs.append('_multiprocessing/semaphore.c') if sysconfig.get_config_var('WITH_THREAD'): + multiprocessing_libs = [] + if host_platform.startswith(('mingw', 'win')): + multiprocessing_libs += ['ws2_32'] exts.append ( Extension('_multiprocessing', multiprocessing_srcs, define_macros=macros.items(), + libraries=multiprocessing_libs, include_dirs=["Modules/_multiprocessing"])) else: missing.append('_multiprocessing')