   ____  _   _
  |  _ \| |_| |__                      
  | |_) | __| '_ \                     
  |  __/| |_| | | |                    
  |_|    \__|_| |_|                    

  GNU Pth - The GNU Portable Threads

  HACKING
  =======
  
  HOW TO BE ALWAYS UP TO DATE
  ---------------------------

  Those who want to be always at the bleeding edge or even want to
  hack on the Pth sources can fetch the latest Pth source tree via
  Anonymous-CVS from a copy of the master repository. This copy is
  updated in regular intervals from the authors original CVS repository
  and can be used for easily keeping local modifications in a checked
  out tree while the master version is updated over time.

  For this you need CVS 1.10 or later. If you still don't have CVS installed,
  grab it from ftp://download.cyclic.com/pub/ and install it first. Then you
  can check out the Pth source tree via (use ``anoncvs'' as the password):  

    | $ CVSROOT=:pserver:anoncvs@cvs.engelschall.com:/e/cvs
    | $ export CVSROOT
    | $ cvs login
    | (Logging in to anoncvs@cvs.engelschall.com)
    | CVS password:  
    | $ cvs -z3 checkout pth 
    | cvs server: Updating pth
    | U pth/.configure
    | U pth/.cvsignore
    | U pth/.gdbinit
    | U pth/AUTHORS
    | U pth/COPYING
    | U pth/ChangeLog
    | U pth/INSTALL
    | U pth/Makefile.in
    | U pth/NEWS
    | :  :

  Then start hacking in your local changes. You cannot commit it to the
  repository, of course (because you've read-only access). But you can let
  them stay around in the checkout tree and whenever changes occur in the
  master version (because of commits by the author) you can update your
  version from time to time via:

    | $ cd pth
    | $ cvs -z3 update
    | cvs server: Updating .
    | U HACKING
    |  :  :

  If you want to contribute your changes to the author, create a unified
  difference file as described below and send the file generated pth.diff file
  to Ralf S. Engelschall <rse@engelschall.com> or bug-pth@gnu.org.
  
    | $ cd pth
    | $ cvs diff -u3 . >pth.diff

  Read the comprehensive CVS user manual (included in the CVS distrubtion as
  doc/cvs.ps) for more details on how to work with CVS.

  OVERVIEW OF THE SOURCE TREE
  ---------------------------

  Here is a brief overview of the source tree.

  .gdbinit .............. GDB rc file for use with Pth

  AUTHORS ............... List of major package authors
  COPYING ............... Copying conditions (the LGPL)
  ChangeLog ............. The detailed list of every source change
  HACKING ............... This document
  INSTALL ............... Installation Instructions
  Makefile.in ........... Build procedure for a standard Make tool
  NEWS .................. The list of major changes between version
  PORTING ............... Instructions for porting Pth to new platforms
  README ................ The general package introduction text
  SUPPORT ............... Hints for user support
  TESTS ................. Results from tests with real-world applications
  THANKS ................ List of credits to people

  acconfig.h ............ Autoconf header (the input for pth_acdef.h.in)
  aclocal.m4 ............ Autoconf macros (for configure)
  config.guess .......... Autoconf platform guessing tool (part I)
  config.param .......... Autoconf command line parameter collections
  config.sub ............ Autoconf platform guessing tool (part II)
  configure ............. Autoconf script (pre-generated from configure.in)
  configure.in .......... Autoconf script source

  ltconfig .............. Libtool configuration script
  ltmain.sh ............. Libtool main template 

  pth-config.1 .......... Pth config script manual page (pre-generated)
  pth-config.in ......... Pth config script input
  pth-config.pod ........ Pth config script manual page source
  pth.3 ................. Pth manual page (pre-generated)
  pth.pod ............... Pth manual page source

  pth_acdef.h.in ........ Autoconf header with definitions (generated)
  pth_acmac.h.in ........ Autoconf header with macros
  pth.h.in .............. Public header file source
  pth_p.h.in ............ Private header file source

  pth_attr.c ............ Pth module source: attribute objects
  pth_cancel.c .......... Pth module source: cancellation
  pth_clean.c ........... Pth module source: cleanup handler
  pth_compat.c .......... Pth module source: platform compatibility
  pth_data.c ............ Pth module source: thread local data
  pth_debug.c ........... Pth module source: debugging support
  pth_errno.c ........... Pth module source: errno handling
  pth_event.c ........... Pth module source: event objects
  pth_ext.c ............. Pth module source: extensional functionality
  pth_fork.c ............ Pth module source: fork support
  pth_high.c ............ Pth module source: high-level functions
  pth_lib.c ............. Pth module source: standard library functions
  pth_mctx.c ............ Pth module source: maschine context handling
  pth_msg.c ............. Pth module source: message ports
  pth_pqueue.c .......... Pth module source: priority queue data structure
  pth_ring.c ............ Pth module source: ring data structure
  pth_sched.c ........... Pth module source: scheduler
  pth_sync.c ............ Pth module source: synchronizations objects
  pth_syscall.c ......... Pth module source: hard system call support
  pth_tcb.c ............. Pth module source: thread control block
  pth_time.c ............ Pth module source: time handling
  pth_util.c ............ Pth module source: utility functions
  pth_vers.c ............ Pth module source: library version (generated)

  pthread-config.1 ...... Pthread API config script manual page (pre-generated)
  pthread-config.in ..... Pthread API config script input
  pthread-config.pod .... Pthread API config script manual page source
  pthread.3 ............. Pthread API manual page (pre-generated)
  pthread.pod ........... Pthread API manual page source
  pthread.c ............. Pthread API functions
  pthread.h.in .......... Pthread API public header source

  pthread.ps ............ Pthread API overview (from SMI)
  rse-pmt.ps ............ Article `Portable Multithreading' for pth_mctx.c

  shtool ................ Shtool script

  test_common.c ......... Test common functions
  test_common.h ......... Test common header
  test_httpd.c .......... Test module: Faked HTTP Daemon
  test_misc.c ........... Test module: Miscellaneous
  test_mp.c ............. Test module: Message Ports
  test_philo.c .......... Test module: Five Dining Philosophers
  test_pthread.c ........ Test module: Pthread API 
  test_select.c ......... Test module: pth_select(3) handling
  test_sfio.c ........... Test module: AT&T Sfio support
  test_sig.c ............ Test module: Signal handling
  test_std.c ............ Test module: Standard Test

