summaryrefslogtreecommitdiffstats
path: root/src/postgresql-4-posix-threads.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/postgresql-4-posix-threads.patch')
-rw-r--r--src/postgresql-4-posix-threads.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/postgresql-4-posix-threads.patch b/src/postgresql-4-posix-threads.patch
new file mode 100644
index 0000000..7991bc5
--- /dev/null
+++ b/src/postgresql-4-posix-threads.patch
@@ -0,0 +1,68 @@
+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
+