Files
MINGW-packages/mingw-w64-python2/0080-mingw-nt-threads-vs-pthreads.patch
Ray Donnelly d81e579c18 python 2(+3): patches for dirsep as / and sysconfig
0530-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch
0535-msys-cygwin-semi-native-build-sysconfig.patch

Add a bug-fix from Arch Linux mingw-w64-python 2.7.6
for a memory stomp.

Fix python{3.3m}-config.sh to return correct values.

Tidy up the PKGBUILD files.
2014-01-29 02:08:31 +00:00

96 lines
3.0 KiB
Diff

diff -urN a/Python/thread.c b/Python/thread.c
--- a/Python/thread.c 2014-01-22 20:57:34.699012172 +0000
+++ b/Python/thread.c 2014-01-22 20:57:35.039017430 +0000
@@ -15,7 +15,9 @@
__MINGW32__ to prevent case when in GCC 3.4.5 build
envirionment is installed posix thread package.
*/
-# undef HAVE_PTHREAD_H
+# ifndef HAVE_PTHREAD_H
+# undef _POSIX_THREADS
+# endif
#endif
#ifndef _POSIX_THREADS
diff -urN a/configure.ac b/configure.ac
--- a/configure.ac 2014-01-22 20:57:34.549009849 +0000
+++ b/configure.ac 2014-01-22 20:57:35.039017430 +0000
@@ -1445,6 +1445,16 @@
CFLAGS=$save_CFLAGS
fi
+AC_MSG_CHECKING(for NT threads)
+AC_CACHE_VAL(ac_cv_ntthread,
+[AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([], [_beginthread(0, 0, 0);])],
+ac_cv_ntthread=yes,
+ac_cv_ntthread=no)])
+AC_MSG_RESULT([$ac_cv_ntthread])
+
+if test $ac_cv_ntthread = no
+then
# On some compilers, pthreads are available without further options
# (e.g. MacOS X). On some of these systems, the compiler will not
# complain if unaccepted options are passed (e.g. gcc on Mac OS X).
@@ -1562,19 +1572,6 @@
CC="$ac_save_cc"])
AC_MSG_RESULT($ac_cv_pthread)
fi
-
-if test "x$ac_cv_kpthread" = xno && \
- test "x$ac_cv_kthread" = xno && \
- test "x$ac_cv_pthread" = xno && \
- test "x$ac_cv_pthread_is_default" = xno
-then
- AC_MSG_CHECKING(for NT threads)
- AC_CACHE_VAL(ac_cv_ntthread,
- [AC_LINK_IFELSE([
- AC_LANG_PROGRAM([], [_beginthread(0, 0, 0);])],
- ac_cv_ntthread=yes,
- ac_cv_ntthread=no)])
- AC_MSG_RESULT([$ac_cv_ntthread])
fi
# If we have set a CC compiler flag for thread support then
@@ -1632,8 +1629,8 @@
AC_HEADER_STDC
AC_CHECK_HEADERS(asm/types.h conio.h curses.h direct.h dlfcn.h errno.h \
fcntl.h grp.h \
-ieeefp.h io.h langinfo.h libintl.h ncurses.h poll.h process.h pthread.h \
-shadow.h signal.h stdint.h stropts.h termios.h thread.h \
+ieeefp.h io.h langinfo.h libintl.h ncurses.h poll.h process.h \
+shadow.h signal.h stdint.h stropts.h termios.h \
unistd.h utime.h \
sys/audioio.h sys/bsdtty.h sys/epoll.h sys/event.h sys/file.h sys/loadavg.h \
sys/lock.h sys/mkdev.h sys/modem.h \
@@ -1645,6 +1642,14 @@
AC_HEADER_DIRENT
AC_HEADER_MAJOR
+# If using nt threads, don't look for pthread.h or thread.h
+if test "x$ac_cv_ntthread" = xno ; then
+AC_HEADER_STDC
+AC_CHECK_HEADERS(pthread.h thread.h)
+AC_HEADER_DIRENT
+AC_HEADER_MAJOR
+fi
+
# On Solaris, term.h requires curses.h
AC_CHECK_HEADERS(term.h,,,[
#ifdef HAVE_CURSES_H
@@ -2366,9 +2371,11 @@
# only check for sem_init if thread support is requested
if test "$with_threads" = "yes" -o -z "$with_threads"; then
- AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
- # posix4 on Solaris 2.6
- # pthread (first!) on Linux
+ if test "$ac_cv_ntthread" = "no" -o -z "$ac_cv_ntthread"; then
+ AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris
+ # posix4 on Solaris 2.6
+ # pthread (first!) on Linux
+ fi
fi
# check if we need libintl for locale functions