This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From de18dd0d72cd44a132bd6e7852f461998aef3e5d Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 13 Nov 2015 18:15:26 -0500
Subject: [PATCH] Windows POSIX threads build fixes.
diff --git a/configure.in b/configure.in
index 2f8bb3d..ed582e0 100644
--- a/configure.in
+++ b/configure.in
@@ -1455,7 +1455,10 @@ fi
# libraries, and whether the normal C function names are thread-safe.
# See the comment at the top of src/port/thread.c for more information.
# WIN32 doesn't need the pthread tests; it always uses threads
-if test "$enable_thread_safety" = yes -a "$PORTNAME" != "win32"; then
+if test "$enable_thread_safety" = yes; then
+if test "$PORTNAME" = "win32"; then
+AC_CHECK_HEADER(pthread.h, [AC_SUBST(USING_WINDOWS_POSIX,yes)], [AC_SUBST(USING_WINDOWS_POSIX,no)])
+else
ACX_PTHREAD # set thread flags
# Some platforms use these, so just define them. They can't hurt if they
@@ -1492,6 +1495,7 @@ PGAC_FUNC_STRERROR_R_INT
CFLAGS="$_CFLAGS"
LIBS="$_LIBS"
+fi
else
# do not use values from template file
PTHREAD_CFLAGS=
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index b10ce30..060457d 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -366,6 +366,9 @@ WIN32_STACK_RLIMIT=4194304
# Set if we have a working win32 crashdump header
have_win32_dbghelp = @have_win32_dbghelp@
+# Set if the win32 GCC is using the posix thread model
+USING_WINDOWS_POSIX = @USING_WINDOWS_POSIX@
+
# Pull in platform-specific magic
include $(top_builddir)/src/Makefile.port
diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile
index b71b0c7..5d44f7a 100644
--- a/src/interfaces/libpq/Makefile
+++ b/src/interfaces/libpq/Makefile
@@ -55,9 +55,11 @@ libpqrc.o: libpq.rc
$(WINDRES) -i $< -o $@
ifeq ($(enable_thread_safety), yes)
+ifneq ($(USING_WINDOWS_POSIX), yes)
OBJS += pthread-win32.o
endif
endif
+endif
# Add libraries that libpq depends (or might depend) on into the
--
2.5.0