From 53e776ae8b7dc6b1d01a97834683c67429d9339c Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 5 Jun 2001 09:00:46 +0000 Subject: Rix out-of-date information. --- ANNOUNCE | 110 ++++++++++++++++++++++++++++++------------------------------ Makefile.vc | 58 -------------------------------- 2 files changed, 55 insertions(+), 113 deletions(-) delete mode 100644 Makefile.vc diff --git a/ANNOUNCE b/ANNOUNCE index 28a6d1d..2502f17 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,3 @@ - PTHREADS-WIN32 SNAPSHOT 2001-06-04 ---------------------------------- Web Site: http://sources.redhat.com/pthreads-win32/ @@ -34,26 +33,28 @@ New: on the following processors: IX86, MIPS, ALPHA, PPC. - contributors name misplaced (please contact me if it's you) -- New functions (no-ops) for source code compatibility: +- New functions (no-ops) for source code compatibility: pthread_getconcurrency() Returns the value previously set by - pthread_setconcurrency() or 0 (zero) - if no value was previously set. - The implementation does not currently use - this value. + pthread_setconcurrency(), or 0 (zero) + if no value was previously set. + The implementation does not currently use + this value. pthread_setconcurrency() Accepts any value >= 0 but does not - have any effect; returns '0' or + have any effect; returns '0', or EINVAL if the value is < 0 pthread_attr_getscope() pthread_attr_setscope() Currently only return ENOSYS -- The following mutex types and related functions are now - supported: +- The following mutex types and related functions are now + supported: pthread_mutexattr_gettype() pthread_mutexattr_settype() + pthread_mutexattr_setkind_np() + pthread_mutexattr_getkind_np() PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL or PTHREAD_MUTEX_FAST_NP PTHREAD_MUTEX_ERRORCHECK or PTHREAD_MUTEX_ERRORCHECK_NP @@ -61,9 +62,9 @@ New: The *_NP versions are for Linux portability. - In this implementation PTHREAD_MUTEX_DEFAULT is - mapped to PTHREAD_MUTEX_NORMAL for compatibility - with major Unix vendors. This is also the default + In this implementation PTHREAD_MUTEX_DEFAULT is + mapped to PTHREAD_MUTEX_NORMAL for compatibility + with major Unix vendors. This is also the default if no type is specified. Please note that the default behaviour in previous @@ -73,14 +74,14 @@ New: explicitly set the type of any mutexes that are, or could be, locked recursively. - PTHREAD_MUTEX_NORMAL will cause thread deadlock - if the owner of a mutex tries to relock it without - first unlocking it. It has slightly less overhead + PTHREAD_MUTEX_NORMAL will cause thread deadlock + if the owner of a mutex tries to relock it without + first unlocking it. It has slightly less overhead that other types. - Thomas Pfaff -- Pthreads-win32 mutexes are now based on Win32 - critical sections for all Windows versions. The +- Pthreads-win32 mutexes are now based on Win32 + critical sections for all Windows versions. The implementation no longer depends on TryEnterCriticalSection. - Thomas Pfaff @@ -427,17 +428,24 @@ send email to: Application Development Environments ------------------------------------ + +See the README file for more information. MSVC: MSVC using SEH works. Distribute pthreadVSE.dll with your application. MSVC using C++ EH works. Distribute pthreadVCE.dll with your application. +MSVC using C setjmp/longjmp works. Distribute pthreadVC.dll with your application. + Mingw32: You need gcc-2.95.2-1 modified as per pthreads-win32 FAQ answer (6), with binutils-19990818-1 and msvcrt runtime-2000-03-27. Mingw32 must use the thread-safe MSVCRT library (see the FAQ). You need to distribute -the gcc.dll DLL from Mingw32 with your application (as well as -pthreadGCE.dll of course). +the gcc.dll DLL from Mingw32 with your application. + +Mingw using C++ EH works. Distribute pthreadGCE.dll with your application. +Mingw using C setjmp/longjmp works. Distribute pthreadGC.dll with your application. + Cygwin: (http://sourceware.cygnus.com/cygwin/) Cygwin aims to provide a complete POSIX environment on top of Win32, including @@ -446,6 +454,7 @@ pthreads-win32. At this time, Cygwin has preliminary support for multithreaded development, however, this is not turned on by default. We have not tested pthreads-win32 against Cygwin. + UWIN: UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32 doesn't currently support UWIN (and vice versa), but that may change in the @@ -455,15 +464,20 @@ Generally: For convenience, the following pre-built files are available on the FTP site (see Availability above): - pthread.h - for POSIX 1c threads - semaphore.h - for POSIX 1b semaphores + pthread.h - for POSIX 1c threads + semaphore.h - for POSIX 1b semaphores sched.h - for POSIX 1b scheduling pthreadVCE.dll - built with MSVC++ compiler using C++ EH pthreadVCE.lib + pthreadVC.dll - built with MSVC compiler using C setjmp/longjmp + pthreadVC.lib pthreadVSE.dll - built with MSVC compiler using SEH pthreadVSE.lib - pthreadGCE.dll - built with Mingw32 G++ 2.95.2-1 - libpthreadw32.a - derived from pthreadGCE.dll + pthreadGCE.dll - built with Mingw32 G++ 2.95.2-1 + pthreadGC.dll - built with Mingw32 GCC 2.95.2-1 using setjmp/longjmp + libpthreadGCE.a - derived from pthreadGCE.dll + libpthreadGC.a - derived from pthreadGC.dll + gcc.dll - needed if distributing applications that use pthreadGCE.dll These are the only files you need in order to build POSIX threads applications for Win32 using either MSVC or Mingw32. @@ -471,34 +485,6 @@ applications for Win32 using either MSVC or Mingw32. See the FAQ file in the source tree for additional information. -Building the library with MSVC from source ------------------------------------------- - -A simple makefile for building the library with MSVC is available. Just -run nmake in a command shell in the pthreads source directory for targets -to make either the VSE or VCE version of the library. Eg: - - cd \pthreads - nmake clean VSE -or - nmake clean VCE - -There are currently no nmake targets to make statically linked -versions of the library. - -Building the library with MinGW32 from source ---------------------------------------------- - -Run make in the pthreads source directory. Ie: - - cd \pthreads - make clean - make - -The GNU make utility will find the GNUmakefile in the pthreads source -directory. - - Documentation ------------- @@ -515,7 +501,11 @@ available: Pthreads Programming By Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell O'Reilly (pub) - + +On the web: see the links at the bottom of the pthreads-win32 site: + + http://sources.redhat.com/pthreads-win32/ + Acknowledgements ---------------- @@ -523,15 +513,25 @@ Acknowledgements This library is based substantially on a Win32 pthreads implementation contributed by John Bossom . -The implementation of condition variables is derived from the work -of Douglas Schmidt et al -(http://www.cs.wustl.edu/~schmidt/win32-cv-1.html). +The implementation of Condition Variables uses algorithms developed +by Alexander Terekhov and Louis Thomas. + +The implementation of POSIX mutexes has been improved by Thomas Pfaff. + +The implementation of read/write locks was contributed by +Aurelio Medina and improved by Alexander Terekhov. + +Many others have contributed significant time and effort to solve critical +problems in order to make the library workable, robust and reliable. There is also a separate CONTRIBUTORS file. This file and others are on the web site: http://sources.redhat.com/pthreads-win32 +As much as possible, the ChangeLog file acknowledges contributions to the +code base in more detail. + Enjoy! Ross Johnson diff --git a/Makefile.vc b/Makefile.vc deleted file mode 100644 index b5b10e5..0000000 --- a/Makefile.vc +++ /dev/null @@ -1,58 +0,0 @@ - -# This makefile is compatible with MS nmake and can be used as a -# replacement for buildlib.bat. I've changed the target from an ordinary dll -# (/LD) to a debugging dll (/LDd). -# -# The variables $DLLDEST and $LIBDEST hold the destination directories for the -# dll and the lib, respectively. Probably all that needs to change is $DEVROOT. - -DEVROOT=e: - -DLLDEST=$(DEVROOT)\dll -LIBDEST=$(DEVROOT)\lib - -CLIB=/MD - -OBJ=attr.obj \ - cancel.obj \ - cleanup.obj \ - condvar.obj \ - create.obj \ - dll.obj \ - errno.obj \ - exit.obj \ - fork.obj \ - global.obj \ - misc.obj \ - mutex.obj \ - private.obj \ - rwlock.obj \ - sched.obj \ - semaphore.obj \ - signal.obj \ - sync.obj \ - tsd.obj - -all: pthread.dll - -clean: - del pthread.dll \ - pthread.lib \ - *.obj - - -install: all - copy pthread.dll $(DLLDEST) - copy pthread.lib $(LIBDEST) - -pthread.dll: $(OBJ) pthread.def - cl /LDd /Zi $(CLIB) $(OBJ) /Fepthread.dll pthread.def - -.c.obj:: - cl /W3 $(CLIB) /nologo /Yd /Zi /I. \ - /D_WIN32_WINNT=0x400 \ - /DSTDCALL=_stdcall \ - -c $< - -$(OBJ): - -- cgit v1.2.3