   ____  _   _     
  |  _ \| |_| |__                      ``All the good things you want
  | |_) | __| '_ \                       to do in your life have to be
  |  __/| |_| | | |                      started in the next few hours,
  |_|    \__|_| |_|                      days or weeks.''
                                                -- Tom DeMarco
  GNU Pth - GNU Portable Threads

  INSTALL
  =======

  To install the Pth library into /path/to/pth/{bin,lib,include,man}/
  perform the following steps in your shell:
      
    $ ./configure
         --prefix=/path/to/pth 
        [--enable-batch]
        [--enable-pthread]
        [--enable-debug]
        [--enable-profile]
        [--disable-shared]
        [--disable-static]
        [--enable-syscall-soft]
        [--enable-syscall-hard]
        [--with-sfio[=DIR]]
        [--with-mctx-mth=ID]
        [--with-mctx-dsp=ID]
        [--with-mctx-stk=ID]
    $ make
    $ make test
    $ make install

  The supported options have the following meaning:

  --enable-batch: build in batch mode (default=no)
      This enables batch building. Currently this does
      nothing more than supressing some displayed hints.

  --enable-pthread: build with pthread library (default=no)
      This enables the building and installation of the 
      POSIX Threads ("pthread") emulation API for Pth.
      This per default forces --enable-syscall-soft.

  --enable-debug: build for debugging (default=no)
      This is for debugging Pth and only interesting
      for developers.

  --enable-profile: build for profiling (default=no)
      This enables profiling with gprof and is only
      interesting for developers.

  --disable-static: build static libraries (default=yes)
      This disables the building of static libraries (libxx.a).

  --disable-shared: build shared libraries (default=yes)
      This disables the building of shared libraries (libxx.so).

  --enable-syscall-soft: use soft system call mapping (default=no)
      This enables the soft system call mapping for pth.h and pthread.h

  --enable-syscall-hard: use hard system call mapping (default=no)
      This enables the hard system call mapping inside pth_syscall.c which
      means that wrappers for system calls are exported by libpth.

  --with-sfio[=DIR]
      This can be used to enable Sfio support (see pth_sfiodisc function) for
      Pth. The paths to the include and library file of Sfio has to be either
      given via CFLAGS and LDFLAGS or the DIR argument has to specify the root
      of the Sfio installation tree. Sfio can be found at
      http://www.research.att.com/sw/tools/sfio/.

  The remaining three options are really for experts only.  They force
  particular variants for the machine context implementation.  Be carefully
  here: Not all possibly variants of the three knobs actually work (they could
  not work, even when we want!).

  --with-mctx-mth=ID       [EXPERTS ONLY]
      This forces Pth to use a particular machine context method.
      Available variants are:
      mcsc .... makecontext(2)/swapcontext(2)
      sjlj .... setjmp(2)/longjmp(2)

  --with-mctx-dsp=ID       [EXPERTS ONLY]
      This forces Pth to use a particular machine context dispatching 
      approach. Available variants are:
      sc ...... swapcontext(2)
      ssjlj ... sigsetjmp(3)/siglongjmp(3)
      sjlj .... setjmp(3)/longjmp(3) (signal mask aware)
      usjlj ... _setjmp(3)/_longjmp(3) (signal mask aware)
      sjlje ... setjmp(3)/longjmp(3) [emulated = plus sigprocmask(2)]
  
  --with-mctx-stk=ID       [EXPERTS ONLY]
      This forces Pth to use a particular machine context stack setup 
      approach. Available variants are:
      mc ...... makecontext(2)
      sas ..... sigaltstack(2)
      ss ...... sigstack(2)

