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