vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Jul 6 00:01:11 2011 +0300| [856f70ddf0af9d330bbfef4efd6e6437d9491e69] | committer: Rémi Denis-Courmont
contrib: add pthreads-win32 > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=856f70ddf0af9d330bbfef4efd6e6437d9491e69 --- contrib/src/pthreads/SHA512SUMS | 1 + contrib/src/pthreads/pthreads-detach.patch | 12 ++++++++++ contrib/src/pthreads/pthreads-win64.patch | 23 ++++++++++++++++++++ contrib/src/pthreads/rules.mak | 31 ++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 0 deletions(-) diff --git a/contrib/src/pthreads/SHA512SUMS b/contrib/src/pthreads/SHA512SUMS new file mode 100644 index 0000000..b275fd0 --- /dev/null +++ b/contrib/src/pthreads/SHA512SUMS @@ -0,0 +1 @@ +d86040b18641b52f2de81468e06e2885d0f0ed47cc5c9c90ca33614ed53ddd60167723b46eb477d905ad69f93b6b9002762589ba6c351f78a8041109cdbf287e pthreads-w32-2-8-0-release.tar.gz diff --git a/contrib/src/pthreads/pthreads-detach.patch b/contrib/src/pthreads/pthreads-detach.patch new file mode 100644 index 0000000..39c2878 --- /dev/null +++ b/contrib/src/pthreads/pthreads-detach.patch @@ -0,0 +1,12 @@ +--- 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); + + /* diff --git a/contrib/src/pthreads/pthreads-win64.patch b/contrib/src/pthreads/pthreads-win64.patch new file mode 100644 index 0000000..aebe07c --- /dev/null +++ b/contrib/src/pthreads/pthreads-win64.patch @@ -0,0 +1,23 @@ +--- 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 diff --git a/contrib/src/pthreads/rules.mak b/contrib/src/pthreads/rules.mak index b762f09..7eaaca6 100644 --- a/contrib/src/pthreads/rules.mak +++ b/contrib/src/pthreads/rules.mak @@ -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 _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
