	      Calendar Generation Program
	    Copyright 1986 David H. Brierley

Permission is granted to anyone to use this software for any
purpose on any computer system, and to redistribute it freely,
subject to the following restrictions:
1. The author is not responsible for the consequences of use of
	this software, no matter how awful, even if they arise
	from defects in it.
2. The origin of this software must not be misrepresented, either
	by explicit claim or by omission.
3. Altered versions must be plainly marked as such, and must not
	be misrepresented as being the original software.

David H. Brierley
Portsmouth, RI
{allegra,ihnp4,linus}!rayssd!dhb

Note:  I claim the programs as my own but disavow all
knowledge of the associated data file.

PLEASE read this file all the way through before installing
the program.  Installation instructions and notes are at the
end of this file.


The files in this directory are the source and data files
for the calndr program.  There is no manual page but the
program operation is fairly simple.  The program has the
name of the default data file compiled into it so all the
user normally has to do is specify what to do with the
output. The program is almost completely interactive and
there is a built in help facility which explains all the
program inputs.  Since I have a thing against duplication
of effort, run the program if you want an explantion of
the input formats.

calndr.c
    This is the main calendar program.  Command line
    options are as follows:
    -f filename    alternate data file in internal format
    -r filename    alternate data file in raw format
    -o filename    create calendar in named file
    -P printer     send calendar to specified printer

pic_h2m.c
    This program converts data files from the raw (human
    readable) format to the internal format.  See the comments
    in the source file for an explantion of the two formats.
    In order to use the -r option of the calndr program,
    this program must be installed somewhere where the calndr
    program can find it.  This program takes arguments of the
    input file name and the output file name.

pic_m2h.c
    This program is the reverse of pic_h2m.  The main reason
    for having this program is that it has a '-c' option
    which produces a 'compressed' version of the raw data file.
    The compress format is defined in the comments in the
    source.  This program takes an optional argument of -c,
    followed by the names of the input and output file names.

compress.data
    This file is the compressed version of the raw data file.
    This file should be transformed into internal format using
    the pic_h2m program.  If you want an easily readable version
    of this file you may run the pic_m2h program on the resultant
    file.



	Installation Instructions:

1. Decide where you want to put the default data file.
2. Edit the makefile and change the line that says 'PICDATA=' to
   reflect the choice made in step 1.  You should also edit the
   line that says 'GETOPT=' to define where to find the getopt
   routine if it is not in your site's standard library.  This may
   be a library which contains getopt, or just a .o file.
[   2a. Also check the PAGER variable in the makefile.  If your site
	does not have a favorite "more" like program, then set this
	variable to nothing.
		    - moderator
]
3. type 'make'
4. There is no 'make install', simply move the executables to
   wherever you want them.  If you want to allow use of the '-r'
   option to the calndr program you must install the 'pic_h2m'
   program, otherwise all you have to install is 'calndr'.
5. Enjoy.


	Installation Notes:

1.  The current version of this program has only been tested on
    4.1/4.2 BSD using both a VAX and a PYRAMID although previous
    versions of the program (in various languages) have been run
    on 4.1(VAX), V7/PWB(PDP11/55), and OS/VS1(IBM3032).  In other
    words, I know the algorithms work but I dont gaurantee that
    the program is portable to other versions of UNIX (or anything
    else).

2.  The getopt routine is not included in this distribution.  If
    for some strange reason you do not have getopt you can get it
    from the mod.sources archive or you can probably get it from
    one of your neighbors or you can get it from me.
