Copyright (c) 1993 Sanjay Ghemawat

Simple Cookbook (see below for more details)
===============

1.  Get a C++ compiler
2.  Make sure Tcl/Tk library and header files are installed.
3.  Execute "./configure" (in the directory that contains this file).
4.  Execute "make"
5.  Execute "make install"

Configuration notes
===================

In the directory that this file is in, type `./configure'.  If you're
using `csh' on an old version of System V, you might need to type `sh
configure' instead to prevent `csh' from trying to execute `configure'
itself.

The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation, and
creates the Makefile.

Usually configure will be able to guess appropriate values for all
`make' variables, However, sometimes you will want to override its
choices.  If you just want to use G++ instead of the C++ compiler
picked by configure, invoke configure as follows --

	configure -with-gcc

You can ovverride other variables by setting environment variables
before you run configure.  For the following variables, any value
given in the environment overrides the value that `configure' would
choose:

CCC		C++ compiler program (for .cc files).
INSTALL		Program for installing files.
prefix		Installation prefix

tcllib		Directory that contains tcl library (e.g. /usr/local/lib)
tklib		Directory that contains tk library (e.g. /usr/local/lib)
tclinc		Directory that contains tcl.h (e.g. /usr/local/include)
tkinc		Directory that contains tk.h (e.g. /usr/local/include)

Installation Directories
========================

If you have "wish" installed on your system, then by default this
package will be installed in the same location as wish.  I.e., if
"wish" is installed in /foo/bin, then the package will be installed in
/foo/{bin,lib,man}.  If you do not have "wish" installed, then the
package will be installed in "/usr/local/{bin,lib,man}".

You can specify another installation prefix by giving `configure' the
option `--prefix=PATH'.  Or, you can change the `prefix' variable in
the Makefile that `configure' creates.

	Binaries go in			<prefix>/bin
	Ical library files go in	<prefix>/lib/ical
	Man pages go in			<prefix>/man/man1

Compiling in a different directory
==================================

To compile the package in a different directory from the one
containing the source code, you must use GNU make (or a version of
make that supports VPATH in the same way as GNU make).  `cd' to the
directory where you want the object files and executables to go and
run `<source directory>/configure'.  `configure' automatically checks
for the source code in the directory that `configure' is in and in
`..'.  If for some reason `configure' is not in the source code
directory that you are configuring, then it will report that it can't
find the source code.  In that case, run `configure' with the option
`--srcdir=DIR', where DIR is the directory that contains the source
code.

Before Installation
===================

You can play with ical and check out its features before you install
it.  Build ical as described in steps 1--4 above.  Then execute
"./ical.test" in the directory where you built ical.  Go ahead, try
it.

Problems
========

If you need to do unusual things to compile the package, we
encourage you to figure out how `configure' could check whether to
do them, and mail diffs or instructions to the address given in the
README so we can include them in the next release.

Here are some problems and solutions reported by various people.

-------
CPU:	IBM RS/6000
OS:	AIX 3.2.4
C++:	IBM xlC 1.1.2.28

Symptom:
	invalid command name "addtag"

	Trace:
	invalid command name "addtag"
	    while executing
	"addtag oldinterest withtag interest"
	    invoked from within
	"de_interest $name.days $slot(date)"
	    (procedure "DateEditor::calc_interest" line 7)
	...

Workaround:
	The C++ compiler does not seem to handle calls to Tcl_VarEval
	correctly under optimization.  The person who reported this
	problem compiled everything with optimization turned off to
	solve this problem.  It might be sufficient just to compile
	dateeditor.cc without optimization.
