This is the official download site for the latest packages originating from the MinGW.OSDN Project, (formerly the MinGW.org Project; however, that domain is no longer associated with this project).
MinGW is a native Windows port of the GNU Compiler Collection (GCC), with freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. Although (currently) offering only a 32-bit compiler suite, all of MinGW's software will execute on the 64bit Windows platforms.
MinGW is a registered trademark of Software in the Public Interest Inc., registration number 86017856; this trademark has been registered on behalf of the MinGW.OSDN Project, and its use by any other project is unauthorized.
This release of pthreads-win32 is derived from the upstream pthreads4w git repository, which may be found at:
Unlike the previous pthreads-w32-2.9.1-mingw32 release, this release has been extensively patched, to correct some minor defects in the upstream implementation, and to remove significant namespace pollution from the public header files. Specifically:--
This pthreads-win32-2.10-mingw32 release may be reproduced, building from the pthreads-w32-2.10-mingw32-pre-20160821-1-src.tar.xz tarball, after unpacking, by:--
$ cd pthreads-win32-2.10 $ for p in arch/mingw32/*.patch ; do patch -p1 < $p ; done $ mkdir build && cd build $ ../configure --prefix=/mingw $ make allwhich will deliver:--
libpthreadGC-3.a libpthreadGC-3.dll.a pthreadGC-3.dll libpthreadGCE-3.a libpthreadGCE-3.dll.a pthreadGCE-3.dllEach of these, together with their associated header files, may then be installed, into the ${prefix} tree, (nominally /mingw), by:--
$ make installwhich will place copies of the respective files at:--
${prefix}/bin: pthreadGC-3.dll pthreadGCE-3.dll ${prefix}/include: pthread.h ptw32_errno.h _ptw32.h sched.h semaphore.h ${prefix}/lib libpthread.a libpthreadGC-3.a libpthreadGCE-3.a libpthread.dll.a libpthreadGC-3.dll.a libpthreadGCE-3.dll.a(with libpthread.a and libpthread.dll.a being verbatim copies of each of libpthreadGC-3.a and libpthreadGC-3.dll.a, respectively).
Running the supplied testsuite results in 147 passed tests, from a total of 148 tests run, for each of the pthreadGC libraries, (the "semaphore5" test fails), while in the case of the pthreadGCE libraries the results are slightly less encouraging, with just 141 of the 148 tests passing, (each of the "context1", "cancel3", "cancel5", "cancel6a", "cleanup1", "exception1", and "semaphore5" tests fail).
For those users who may prefer to install pre-built binary packages, the following are available, (with content as listed, and noting that each of the pre-built DLLs, and the SDK components specific to the experimental libpthreadGCE API, are provided in segregated release containers):--
include/pthread.h include/ptw32_errno.h include/_ptw32.h include/sched.h include/semaphore.h lib/libpthread.a lib/libpthread.dll.a lib/libpthreadGC-3.dll.a lib/libpthreadGC-3.a
bin/pthreadGC-3.dll
lib/libpthreadGCE-3.a lib/libpthreadGCE-3.dll.a
bin/pthreadGCE-3.dll
Additionally, package licensing information is available in tarball:--
share/doc/pthreads-win32/2.10/COPYING share/doc/pthreads-win32/2.10/COPYING.FSF
package documentation, in HTML format, is provided in:--
share/doc/pthreads-win32/2.10/...
and finally, for each of the above named package tarballs, a detached GPG signature, (which may be verified using my public key with footprint C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F, and available from keys.gnupg.net), is provided in a file bearing the same name as the respective tarball, suffixed by the ".sig" extension.
Use of the pthreads-GCE-win32 development kit is NOT recommended; please note that, if you do choose to experiment with it, the pre-built package is NOT free-standing -- you must also install the pthreads-GC-win32 SDK.
-- Keith Marshall -- 02-Apr-2018