--- a/numexpr/msvc_function_stubs.hpp +++ b/numexpr/msvc_function_stubs.hpp @@ -14,7 +14,7 @@ definitions in are actually #define'd and are not usable as function pointers :-/ */ -#if _MSC_VER < 1400 // 1310 == MSVC 7.1 +#if defined(_MSC_VER) && _MSC_VER < 1400 // 1310 == MSVC 7.1 /* Apparently, single precision functions are not included in MSVC 7.1 */ #define sqrtf(x) ((float)sqrt((double)(x))) --- a/numexpr/numexpr_config.hpp +++ b/numexpr/numexpr_config.hpp @@ -27,13 +27,15 @@ // constant. If numpy raises NPY_MAXARGS, we should notice and raise this as well #define NE_MAXARGS 64 -#if defined(_WIN32) +#if defined(_MSC_VER) #include "win32/pthread.h" #include #define getpid _getpid #else #include #include "unistd.h" + typedef int sigset_t; + static inline int sigfillset(sigset_t *sigs) { return 0; } #endif #ifdef USE_VML --- a/setup.py +++ b/setup.py @@ -44,8 +44,7 @@ # For MSVC only if "MSC" in platform.python_compiler(): extra_cflags = ['/O2'] - extra_link_args = [] - sources.append('numexpr/win32/pthread.c') + extra_link_args = ['-pthread'] else: extra_cflags = [] extra_link_args = []