diff options
author | Mark Brand <mabrand@mabrand.nl> | 2012-05-27 20:12:14 (GMT) |
---|---|---|
committer | Mark Brand <mabrand@mabrand.nl> | 2012-05-27 20:13:33 (GMT) |
commit | 6b591047634324065e17d4d60d11cf05a10eb04a (patch) | |
tree | ed569b408469a2c2b1e90d2da9e4952fd9412c86 | |
parent | 2613e25a915baf2f62a2341790383b22c94090dd (diff) | |
download | mxe-6b591047634324065e17d4d60d11cf05a10eb04a.zip mxe-6b591047634324065e17d4d60d11cf05a10eb04a.tar.gz mxe-6b591047634324065e17d4d60d11cf05a10eb04a.tar.bz2 |
update package pthreads
-rw-r--r-- | index.html | 2 | ||||
-rw-r--r-- | src/pthreads-1-autostatic.patch | 150 | ||||
-rw-r--r-- | src/pthreads-1-fixes.patch | 31 | ||||
-rw-r--r-- | src/pthreads.mk | 6 |
4 files changed, 33 insertions, 156 deletions
@@ -1745,7 +1745,7 @@ USE_OSGPLUGIN(<plugin2>) </tr> <tr> <td id="pthreads-package">pthreads</td> - <td id="pthreads-version">2-8-0</td> + <td id="pthreads-version">2-9-1</td> <td id="pthreads-website"><a href="http://sourceware.org/pthreads-win32/">Pthreads-w32</a></td> </tr> <tr> diff --git a/src/pthreads-1-autostatic.patch b/src/pthreads-1-autostatic.patch deleted file mode 100644 index 94a82b7..0000000 --- a/src/pthreads-1-autostatic.patch +++ /dev/null @@ -1,150 +0,0 @@ -This file is part of MXE. -See index.html for further information. - -This patch has been taken from: -http://sourceware.org/ml/pthreads-win32/2010/msg00006.html - -diff -ur pthreads-win32-20091019.orig/GNUmakefile pthreads-win32-20091019/GNUmakefile ---- pthreads-win32-20091019.orig/GNUmakefile 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/GNUmakefile 2010-02-01 14:45:28.471432337 -0200 -@@ -63,7 +63,6 @@ - XOPT = - - RCFLAGS = --include-dir=. --LFLAGS = -lwsock32 - - # ---------------------------------------------------------------------- - # The library can be built with some alternative behaviour to -diff -ur pthreads-win32-20091019.orig/pthread.c pthreads-win32-20091019/pthread.c ---- pthreads-win32-20091019.orig/pthread.c 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/pthread.c 2010-02-01 14:26:48.601487556 -0200 -@@ -49,6 +49,7 @@ - #include "condvar.c" - #include "create.c" - #include "dll.c" -+#include "autostatic.c" - #include "errno.c" - #include "exit.c" - #include "fork.c" -diff -ur pthreads-win32-20091019.orig/pthread_getspecific.c pthreads-win32-20091019/pthread_getspecific.c ---- pthreads-win32-20091019.orig/pthread_getspecific.c 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/pthread_getspecific.c 2010-02-01 14:28:36.603981857 -0200 -@@ -72,12 +72,10 @@ - else - { - int lasterror = GetLastError (); -- int lastWSAerror = WSAGetLastError (); - - ptr = TlsGetValue (key->key); - - SetLastError (lasterror); -- WSASetLastError (lastWSAerror); - } - - return ptr; -diff -ur pthreads-win32-20091019.orig/pthread.h pthreads-win32-20091019/pthread.h ---- pthreads-win32-20091019.orig/pthread.h 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/pthread.h 2010-02-02 16:51:05.047931915 -0200 -@@ -533,7 +533,7 @@ - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ --#ifndef PTW32_STATIC_LIB -+#if !defined(PTW32_STATIC_LIB) && !defined(__MINGW32__) - # ifdef PTW32_BUILD - # define PTW32_DLLPORT __declspec (dllexport) - # else -diff -ur pthreads-win32-20091019.orig/sched.h pthreads-win32-20091019/sched.h ---- pthreads-win32-20091019.orig/sched.h 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/sched.h 2010-02-02 16:51:00.665887720 -0200 -@@ -76,7 +76,7 @@ - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ --#ifndef PTW32_STATIC_LIB -+#if !defined(PTW32_STATIC_LIB) && !defined(__MINGW32__) - # ifdef PTW32_BUILD - # define PTW32_DLLPORT __declspec (dllexport) - # else -diff -ur pthreads-win32-20091019.orig/semaphore.h pthreads-win32-20091019/semaphore.h ---- pthreads-win32-20091019.orig/semaphore.h 2009-10-19 08:07:32.000000000 -0200 -+++ pthreads-win32-20091019/semaphore.h 2010-02-02 16:50:45.916576916 -0200 -@@ -75,7 +75,7 @@ - * do NOT define PTW32_BUILD, and then the variables/functions will - * be imported correctly. - */ --#ifndef PTW32_STATIC_LIB -+#if !defined(PTW32_STATIC_LIB) && !defined(__MINGW32__) - # ifdef PTW32_BUILD - # define PTW32_DLLPORT __declspec (dllexport) - # else ---- /dev/null 2010-01-29 12:57:37.677072272 -0200 -+++ pthreads-win32-20091019/autostatic.c 2010-02-01 14:26:48.601487556 -0200 -@@ -0,0 +1,67 @@ -+/* -+ * autostatic.c -+ * -+ * Description: -+ * This translation unit implements static library initialisation. -+ * -+ * -------------------------------------------------------------------------- -+ * -+ * Pthreads-win32 - POSIX Threads Library for Win32 -+ * Copyright(C) 1998 John E. Bossom -+ * Copyright(C) 1999,2005 Pthreads-win32 contributors -+ * -+ * Contact Email: rpj@callisto.canberra.edu.au -+ * -+ * The current list of contributors is contained -+ * in the file CONTRIBUTORS included with the source -+ * code distribution. The list can also be seen at the -+ * following World Wide Web location: -+ * http://sources.redhat.com/pthreads-win32/contributors.html -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library in the file COPYING.LIB; -+ * if not, write to the Free Software Foundation, Inc., -+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -+ */ -+ -+#ifdef PTW32_STATIC_LIB -+ -+#include "pthread.h" -+#include "implement.h" -+ -+static void on_process_init(void) -+{ -+ pthread_win32_process_attach_np (); -+} -+ -+static void on_process_exit(void) -+{ -+ pthread_win32_thread_detach_np (); -+ pthread_win32_process_detach_np (); -+} -+ -+#ifdef __MINGW32__ -+# define attribute_section(a) __attribute__((section(a))) -+#elif defined(_MSC_VER) -+# define attribute_section(a) __pragma(section(a,long,read)); __declspec(allocate(a)) -+#else -+#error compiler not supported! -+#endif -+ -+attribute_section(".CRT$XCU") void *msc_ctor = on_process_init; -+attribute_section(".CRT$XPU") void *msc_dtor = on_process_exit; -+ -+attribute_section(".ctors" ) void *gcc_ctor = on_process_init; -+attribute_section(".dtors" ) void *gcc_dtor = on_process_exit; -+ -+#endif /* PTW32_STATIC_LIB */ diff --git a/src/pthreads-1-fixes.patch b/src/pthreads-1-fixes.patch new file mode 100644 index 0000000..b839f5d --- /dev/null +++ b/src/pthreads-1-fixes.patch @@ -0,0 +1,31 @@ +This file is part of MXE. +See index.html for further information. + +Commits backported (cherry-picked) from upstream. +From 9348978f78c6feae6e9bab4499ab035c6e5e25ea Mon Sep 17 00:00:00 2001 +From: Mark Brand <mabrand@mabrand.nl> +Date: Sun, 27 May 2012 22:00:19 +0200 +Subject: [PATCH] force static for convenience + +--- + pthread.h | 4 ++++ + 1 file changed, 4 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) +-- +1.7.9.2 + diff --git a/src/pthreads.mk b/src/pthreads.mk index aa17ec0..375fb24 100644 --- a/src/pthreads.mk +++ b/src/pthreads.mk @@ -3,7 +3,7 @@ PKG := pthreads $(PKG)_IGNORE := -$(PKG)_CHECKSUM := da8371cb20e8e238f96a1d0651212f154d84a9ac +$(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) @@ -17,10 +17,6 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - $(SED) -i '35i\#define PTW32_STATIC_LIB' '$(1)/pthread.h' - $(SED) -i '41i\#define PTW32_STATIC_LIB' '$(1)/sched.h' - $(SED) -i '41i\#define PTW32_STATIC_LIB' '$(1)/semaphore.h' - $(SED) -i 's,#include "config.h",,' '$(1)/pthread.h' $(MAKE) -C '$(1)' -j 1 GC-static CROSS='$(TARGET)-' $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib' $(INSTALL) -m644 '$(1)/libpthreadGC2.a' '$(PREFIX)/$(TARGET)/lib/libpthread.a' |