Commit 856f70dd authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

contrib: add pthreads-win32

parent 91e77b47
d86040b18641b52f2de81468e06e2885d0f0ed47cc5c9c90ca33614ed53ddd60167723b46eb477d905ad69f93b6b9002762589ba6c351f78a8041109cdbf287e pthreads-w32-2-8-0-release.tar.gz
--- pthreads.orig/ptw32_processTerminate.c Mon Jan 26 18:00:34 2009
+++ pthreads/ptw32_processTerminate.c Mon Jan 26 18:00:42 2009
@@ -96,6 +96,9 @@
tp = tpNext;
}
+ ptw32_threadReuseTop = PTW32_THREAD_REUSE_EMPTY;
+ ptw32_threadReuseBottom = PTW32_THREAD_REUSE_EMPTY;
+
LeaveCriticalSection (&ptw32_thread_reuse_lock);
/*
--- pthreads/pthread.h 2006-01-24 14:59:57.000000000 +0100
+++ pthreads.new/pthread.h 2010-04-14 15:49:39.000000000 +0200
@@ -302,7 +302,7 @@
#endif
#endif
-#ifndef HAVE_STRUCT_TIMESPEC
+#if !defined( HAVE_STRUCT_TIMESPEC ) && !defined( _TIMESPEC_DEFINED )
#define HAVE_STRUCT_TIMESPEC 1
struct timespec {
long tv_sec;
diff -urN pthreads/GNUmakefile pthreads.new/GNUmakefile
--- pthreads/GNUmakefile 2010-10-08 22:30:43.029264998 +0200
+++ pthreads.new/GNUmakefile 2010-10-08 22:30:55.989265032 +0200
@@ -63,7 +63,7 @@
XOPT =
RCFLAGS = --include-dir=.
-LFLAGS = -lwsock32
+LFLAGS = -lws2_32
# ----------------------------------------------------------------------
# The library can be built with some alternative behaviour to
......@@ -3,3 +3,34 @@
ifndef HAVE_WIN32
PKGS_FOUND += pthreads
endif
PTHREADS_W32_VERSION := 2-8-0
PTHREADS_W32_URL := ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz
$(TARBALLS)/pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz:
$(call download,$(PTHREADS_W32_URL))
.sum-pthreads: pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz
ifdef HAVE_WIN32
pthreads: pthreads-w32-$(PTHREADS_W32_VERSION)-release.tar.gz .sum-pthreads
$(UNPACK)
$(APPLY) $(SRC)/pthreads/pthreads-detach.patch
$(APPLY) $(SRC)/pthreads/pthreads-win64.patch
sed -e 's/^CROSS.*=/CROSS ?=/' -i.orig $(UNPACK_DIR)/GNUmakefile
$(MOVE)
ifdef HAVE_CROSS_COMPILE
PTHREADS_W32_CONF := CROSS="$(HOST)-"
endif
.pthreads: pthreads
cd $< && $(HOSTVARS) $(PTHREADS_W32_CONF) $(MAKE) MAKEFLAGS=-j1 GC GC-static
mkdir -p -- "$(PREFIX)/include"
cd $< && cp -v pthread.h sched.h semaphore.h "$(PREFIX)/include/"
sed -e 's/#if HAVE_CONFIG_H/#if 0 \&\& HAVE_CONFIG_H/' -i \
"$(PREFIX)/include/pthread.h"
mkdir -p -- "$(PREFIX)/lib"
cp -v $</*.a $</*.dll "$(PREFIX)/lib/"
touch $@
endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment