summaryrefslogtreecommitdiffstats
path: root/src/postgresql-4-posix-threads.patch
blob: 7991bc5f07a485843955526df33e8a6da0c10754 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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