Home / MinGW / Base / pthreads-w32 / pthreads-w32-2.10-pre-20160821-1
Name Modified Size InfoDownloads / Week
Parent folder
pthreads-w32-2.10-mingw32-pre-20160821-1-src.tar.xz 2017-05-21 343.8 kB
pthreads-w32-2.10-mingw32-pre-20160821-1-src.tar.xz.sig 2017-05-21 543 Bytes
pthreads-w32-2.10-mingw32-README.txt 2016-08-22 5.7 kB
pthreads-w32-2.10-mingw32-pre-20160821-1-lic.tar.xz 2016-08-22 10.6 kB
pthreads-w32-2.10-mingw32-pre-20160821-1-doc.tar.xz 2016-08-22 39.5 kB
pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz 2016-08-22 31.5 kB
pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz 2016-08-22 43.7 kB
pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz 2016-08-22 45.2 kB
pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz 2016-08-22 43.7 kB
pthreads-w32-2.10-mingw32-pre-20160821-1-doc.tar.xz.sig 2016-08-22 543 Bytes
pthreads-w32-2.10-mingw32-pre-20160821-1-lic.tar.xz.sig 2016-08-22 543 Bytes
pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz.sig 2016-08-22 543 Bytes
pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz.sig 2016-08-22 543 Bytes
pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz.sig 2016-08-22 543 Bytes
pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz.sig 2016-08-22 543 Bytes
Totals: 15 Items   567.4 kB 45,617
pthreads-win32-2.10-mingw32-pre-20160821-1
==========================================

This  release  of pthreads-win32 is derived from the upstream pthreads4w
git repository, which may be found at:

  https://sourceforge.net/p/pthreads4w/code/ci/master/tree/

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:

- The  source tarball comprises a verbatim copy of the upstream source
  tree, modified only to the extent that the file attributes have been
  corrected  to remove the executable attribute from a significant set
  of files which had been incorrectly identified as executable, and  a
  significant  set  of files with improperly encoded line endings have
  had this defect corrected.

- All applicable MinGW.org patches, identified in order of application
  by  numerically ascending prefix, are provided in the "arch/mingw32"
  subdirectory of the source tarball; (this is a  MinGW.org  addition,
  which is not present in the upstream repository).

- The  corresponding mingw-pkg package specification is also provided,
  in the "arch/mingw32" subdirectory, within the source tarball.

- All implementation specific detail, which can be safely removed from
  public headers, has been relocated to implementation-private files.

- Any  implementation  specific  symbols, which must remain exposed in
  public headers, have been  renamed  with  two  initial  underscores;
  users  should  have  no  need  to  ever refer to such implementation
  reserved symbols, within their own applications.

- Any implementation specific symbols serving as feature test  macros,
  which users may have cause to pre-define, have been renamed with one
  initial underscore, conforming to the POSIX.1-2008 requirement  that
  such feature test macros should be so named.

- Contrary  to assertions by the upstream maintainer, the ABI for this
  release is NOT binary-compatible with  that  of  previous  releases;
  thus,  this  release dispenses with the upstream convention, whereby
  DLL/ABI version numbers are tied to package  major  version  number,
  and adopts the libtool/cygwin/mingw32 convention, based on libtool's
  current:revision:age notation,  which is not corellated with package
  version,  and  is  specified, in this case, as 3:0:0, such that this
  release delivers DLL/ABI version 3.

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 all

which will deliver:

  libpthreadGC-3.a   libpthreadGC-3.dll.a   pthreadGC-3.dll 
  libpthreadGCE-3.a  libpthreadGCE-3.dll.a  pthreadGCE-3.dll 

Each  of these, together with their associated header files, may then be
installed, into the ${prefix} tree, (nominally /mingw), by:

  $ make install

which 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):

- pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz
    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

- pthreads-GC-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz
    bin/pthreadGC-3.dll

- pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dev.tar.xz
    lib/libpthreadGCE-3.a
    lib/libpthreadGCE-3.dll.a

- pthreads-GCE-w32-2.10-mingw32-pre-20160821-1-dll-3.tar.xz
    bin/pthreadGCE-3.dll

Additionally, package licensing information is available in tarball:

- pthreads-w32-2.10-mingw32-pre-20160821-1-lic.tar.xz
    share/doc/pthreads-win32/2.10/COPYING
    share/doc/pthreads-win32/2.10/COPYING.FSF

package documemtation, in HTML format, is provided in:

- pthreads-w32-2.10-mingw32-pre-20160821-1-doc.tar.xz
    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 kit.

-- 
Keith Marshall -- 22-Aug-2016
Source: pthreads-w32-2.10-mingw32-README.txt, updated 2016-08-22