# HG changeset patch # User John Donoghue # Date 1424888315 18000 # Node ID c7c1065c12e072998856e24258bd597a1cdcbbfe # Parent c6dd0518f31b07705cc10d72fa30946a79bfe742 pthreads: use mingw-w64 threads * src/pthreads.mk: use pthreads from mingw-w64 source tree * src/pthreads-1-fixes.patch: removed * dist-files.mk: remove pthreads-1-fixes.patch diff -r c6dd0518f31b -r c7c1065c12e0 dist-files.mk --- a/dist-files.mk Mon Feb 23 20:22:40 2015 -0500 +++ b/dist-files.mk Wed Feb 25 13:18:35 2015 -0500 @@ -524,7 +524,6 @@ pstoedit-3-nosecapi.patch \ pstoedit.mk \ pthread-stubs.mk \ - pthreads-1-fixes.patch \ pthreads-test.c \ pthreads.mk \ qdbm-test.c \ diff -r c6dd0518f31b -r c7c1065c12e0 src/pthreads-1-fixes.patch --- a/src/pthreads-1-fixes.patch Mon Feb 23 20:22:40 2015 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -This file is part of MXE. -See index.html for further information. - -From e951f784c852f4cd8298864190936fded1efceba Mon Sep 17 00:00:00 2001 -From: Mark Brand -Date: Sun, 27 May 2012 22:00:19 +0200 -Subject: [PATCH] force static for convenience - ---- - pthread.h | 4 ++++ - sched.h | 4 ++++ - semaphore.h | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/pthread.h b/pthread.h -index b4072f7..c88c886 100755 ---- a/pthread.h -+++ b/pthread.h -@@ -547,6 +547,10 @@ extern "C" - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ -+ -+// MXE: Set this for convenience here since MXE only does static. -+#define PTW32_STATIC_LIB -+ - #if !defined(PTW32_STATIC_LIB) - # if defined(PTW32_BUILD) - # define PTW32_DLLPORT __declspec (dllexport) -diff --git a/sched.h b/sched.h -index f36a97a..1f4f401 100755 ---- a/sched.h -+++ b/sched.h -@@ -76,6 +76,10 @@ - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ -+ -+// MXE: Set this for convenience here since MXE only does static. -+#define PTW32_STATIC_LIB -+ - #if !defined(PTW32_STATIC_LIB) - # if defined(PTW32_BUILD) - # define PTW32_DLLPORT __declspec (dllexport) -diff --git a/semaphore.h b/semaphore.h -index c6e9407..2b64173 100755 ---- a/semaphore.h -+++ b/semaphore.h -@@ -75,6 +75,10 @@ - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ -+ -+// MXE: Set this for convenience here since MXE only does static. -+#define PTW32_STATIC_LIB -+ - #if !defined(PTW32_STATIC_LIB) - # if defined(PTW32_BUILD) - # define PTW32_DLLPORT __declspec (dllexport) --- -1.7.9.2 - diff -r c6dd0518f31b -r c7c1065c12e0 src/pthreads.mk --- a/src/pthreads.mk Mon Feb 23 20:22:40 2015 -0500 +++ b/src/pthreads.mk Wed Feb 25 13:18:35 2015 -0500 @@ -2,53 +2,29 @@ # See index.html for further information. PKG := pthreads -$(PKG)_IGNORE := -$(PKG)_VERSION := 2-9-1 -$(PKG)_CHECKSUM := 24d40e89c2e66a765733e8c98d6f94500343da86 -$(PKG)_SUBDIR := pthreads-w32-$($(PKG)_VERSION)-release -$(PKG)_FILE := pthreads-w32-$($(PKG)_VERSION)-release.tar.gz -$(PKG)_URL := ftp://sourceware.org/pub/pthreads-win32/$($(PKG)_FILE) -$(PKG)_DEPS := +$(PKG)_IGNORE := $(mingw-w64_IGNORE) +$(PKG)_VERSION := $(mingw-w64_VERSION) +$(PKG)_CHECKSUM := $(mingw-w64_CHECKSUM) +$(PKG)_SUBDIR := $(mingw-w64_SUBDIR) +$(PKG)_FILE := $(mingw-w64_FILE) +$(PKG)_URL := $(mingw-w64_URL) +$(PKG)_DEPS := define $(PKG)_UPDATE - $(WGET) -q -O- 'ftp://sourceware.org/pub/pthreads-win32/dll-latest/include/pthread.h' | \ - $(SED) -n 's/^#define PTW32_VERSION \([^,]*\),\([^,]*\),\([^,]*\),.*/\1-\2-\3/p;' + echo $(mingw-w64_VERSION) endef -ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) -define $(PKG)_BUILD - $(MAKE) -C '$(1)' -j 1 GC-static - $(INSTALL) -d '$(HOST_LIBDIR)' - $(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(HOST_LIBDIR)/libpthread.a' - - if [ $(BUILD_SHARED) = yes ]; then \ - $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libpthread.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \ - fi - - $(INSTALL) -d '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/pthread.h' '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/sched.h' '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/semaphore.h' '$(HOST_INCDIR)' -endef - -else ifeq ($(MXE_SYSTEM),mingw) define $(PKG)_BUILD - $(MAKE) -C '$(1)' -j 1 GC-static CROSS='$(MXE_TOOL_PREFIX)' - $(INSTALL) -d '$(HOST_LIBDIR)' - $(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(HOST_LIBDIR)/libpthread.a' - - if [ $(BUILD_SHARED) = yes ]; then \ - $(MAKE_SHARED_FROM_STATIC) --ar '$(MXE_AR)' --ld '$(MXE_CC)' '$(HOST_LIBDIR)/libpthread.a' --install '$(INSTALL)' --libdir '$(HOST_LIBDIR)' --bindir '$(HOST_BINDIR)'; \ - fi - - $(INSTALL) -d '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/pthread.h' '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/sched.h' '$(HOST_INCDIR)' - $(INSTALL) -m644 '$(1)/semaphore.h' '$(HOST_INCDIR)' + cd '$(1)/mingw-w64-libraries/winpthreads' && ./configure \ + $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ + --prefix='$(HOST_PREFIX)' \ + $(ENABLE_SHARED_OR_STATIC) + + $(MAKE) -C '$(1)/mingw-w64-libraries/winpthreads' -j '$(JOBS)' + $(MAKE) -C '$(1)/mingw-w64-libraries/winpthreads' -j 1 install endef else define $(PKG)_BUILD endef endif -endif