This is a port of FSU Pthreads 3.14 to MSDOS/DJGPP.

  FSU Pthreads is a prototype implementation of POSIX 1003.1c.  It is a
  C-language library that supports multiple threads of control within a
  single process.  It does not implement the entire Pthreads interface but
  it does provide some of the capability of the POSIX 1003.1 base standard
  and POSIX 1003.4 Real-Time Extensions.



1.:     DJGPP specific changes.
        =======================

        The code of the library is almost 20 years old, thus a lot of the coding
        syntax used choke modern versions of gcc.  Here some fixes were required.
        Also DJGPP has changed during the last 20 years, thus some adjustments
        were required to get it compiled.  Especially the fact that neither the
        definition sigset_t nor jmp_buf used by DJGPP nowadays does fully match
        the assumptions made in library code, makes it necessary to adjust it.
        Details are not worth to be explained; if really interested look at the
        diffs file.  It is divided in three parts: the first part describes the
        syntax error fixes, the second one describes the warning fixes and the
        third part discribes the DJGPP specific changes.
    
        The library code offers some degree of debug support.  This code has not
        been ported.  It may work or not.  If it does not work you are alone to
        fix the DJGPP specific part.  As a starting point look at the "tdi" dir.
        It is supposed to make gdb usable with threaded code, but due to age of
        the library I do not know if today's versions of gdb will work with this
        "tdi" interface.  I do not have neither the knowledge nor time to fix or
        implement this support.

        The code offers no testsuite thus it has only be tested by using it
        building other ports that depend on a threading library.

        The code offers no man pages nor other type of documentation in some
        standard reader format.  Thus read the REA>DME and ANNOUNCE files
        carefully.  There may by some more information following the links
        offered at:
          <http://moss.csc.ncsu.edu/~mueller/pthreads/>
        from where the sources have been retrieved.
        I have also never verified that any of the mailing list to ask for
        assistance or to reporting bugs still do work at all after 20 years.

        The port is intended as an alternative to the GNU POSIX threading port
        pth207[b|s].zip.  I have not compared their performance and I am not
        lobbying to use this one instead of the other one.  I have ported this
        one to use it in other ports and to make it available to other users.

        The port has been configured and compiled on WinXP SP3 and Win98SE.
        There is no guarantee that this may be possible with any other DOS-like
        OS.  Due to the massive use of long file names it will not be possible
        to configure and compile without LFN support.

          
        For further information about FSU Pthreads please read the info docs and NEWS file.


2.:     Installing the binary package.
        ==============================

2.1.:   Copy the binary distribution into the top DJGPP installation directory,
        just unzip it preserving the directory structure running *ONE* of the
        following commands:
          unzip32 fpth314b.zip      or
          djtarx fpth314b.zip       or
          pkunzip -d fpth314b.zip


3.:     Building the binaries from sources.
        ===================================

3.1.:   Create a temporary directory and copy the source package into the
        directory.  If you download the source distribution from one of the
        DJGPP sites, just unzip it preserving the directory structure
        running *ONE* of the following commands:
          unzip32 fpth314s.zip      or
          djtarx fpth314s.zip       or
          pkunzip -d fpth314s.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev205.zip (or a later but NOT a prior version)
          bsh205bbr3.zip (or a later but NOT a prior version)
          gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
          shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip,
          mktmpNNb.zip and gwkNNNb.zip.

        NNN represents the latest version number of the binary packages.  All
        this packages can be found in the /v2gnu directory of any
        ftp.delorie.com mirror.
        You will need bsh205bbr3.zip or later and *NOT* a prior version or
        the build will fail.  The same applies to djdev205.zip.

3.3.:   The package has been configured to be build in the src directory under
        the top srcdir (aka fpth-3.14).  To build the binaries cd into
        /src directory.  If for some reason you want to reconfigure the package
        cd into the build directory and run the following command:
          make clean
          ..\djgpp\config

        The batch file will set same environment variables, make MSDOS specific
        modifications to the Makefile.in's and supply all other needed options
        to the configure script.

3.4.:   To compile the package run from the directory where you have configured
        the sources the command:
          make

3.5.:   To install the headers and library run from the directory where you have
        build the sources the command:
          make install

        This will install the products into your DJGPP installation tree given
        by the default prefix "/dev/env/DJDIR".  If you prefer to install them
        into some other directory you will have to set prefix to the appropriate
        value:
          make install prefix=z:/some/other/place



        Send FSU Pthreads specific bug reports to <pthreads-bugs@ada.cs.fsu.edu>.
        Send suggestions and bug reports concerning the DJGPP port to
        comp.os.msdos.djgpp or <djgpp@delorie.com>.


Enjoy.

        Guerrero, Juan Manuel <juan.guerrero@gmx.de>
