
  TinyFugue.  Copyright (C) 1994 Ken Keys.

  Regexp package is Copyright (c) 1986 by University of Toronto.  See
  src/regexp/README for details.  I made one minor change:  the
  addition of prototype declarations in regexp.h.  This should have no
  effect on the portability of the package as a seperate unit.

=======

  TinyFugue is the result of several years of voluntary work.  If you
  use it, please send a donation to the author.  A reasonable amount
  might be $10, but send whatever you think is appropriate.  Your
  donation will cover the past time and effort put into TinyFugue, as
  well as possible future support and maintainance.  Be sure to
  include your name and email address with your donation sent to:

    Ken Keys
    1820 Cottonwood Ave.
    Carlsbad, CA 92009
    USA

  For bug reports, questions, suggestions, etc., I can be reached by
  email at hawkeye@tcp.com.  Please provide the following information:

    The version of TF (type "/version" in tf).
    The operating system version (type "uname -a" in the shell).
    If tf won't compile, send the Build.log file.
    If you have a bug or core, give me all error messages from tf.
    If you have a bug or core, tell me what you did or what happened
        before the problem, and if the problem is repeatable.
    If you have a core, do _not_ send the core.

  TinyFugue is not associated in any way with the GNU Project, it
  merely uses the same license.

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


                       INSTALLING TINYFUGUE

TinyFugue should work on any Unix-like system that has BSD-style
select().  This includes almost everything except some SVr3-like
systems which either do not have select(), or have a select() that
works only on STREAMS devices but not terminals.

Installing TinyFugue is quite easy on most Unix-like systems:  simply
type "make" in the directory you unarchived.  The autoconfig script
will attempt to figure out everything it needs to know about your
system and install all files in their proper location.  If you have any
problems, or want to change a default installation option, be sure to
read the rest of this file, and the Config file.  Changes should be
made in Config only.

Make options:

 make             Compile and install all required files.
 make install     Same as "make".
 make files       Compile, but do not install ("make install" should be
			run later to install the files).
 make clean       Remove object files and other junk from source directory.
 make uninstall   Remove tf executable, help files, and library from their
			installed locations.


File Locations
--------------

If you do not explicitly define the file locations in Config, TF will
try to install them in these places:

   /usr/local/bin and /usr/local/lib, if you have write permission; or,
   ~$USER/bin and ~$USER/lib, if they exist; or,
   ~$USER, if all of the above fail.

(Note: "~user" is tf syntax, also used by many shells, to describe the
home directory of "user".  Here, $USER is the name of the user
installing tf, not a user who runs tf.) The man page is not installed
by default.  To change the location of a file, edit the appropriate
variable in Config, using a full path name.

If SYMLINK is set in Config, its value will be used as the name of a
symbolic link to the file named by EXE.  This is useful for giving
all the files a name that includes a version number, so they can be
installed without problem even if old versions are currently in use.

If you move or rename any files after installing (this includes copying
TF to another machine where the file paths are different), you must let
TF know.  One way is to edit Config and compile again.  The other is to
set environment variable TFLIBDIR to the new path before running tf.
This can be done with a shell script like this:

    #!/bin/sh
    TFLIBDIR=/new/location/of/lib/tf.lib
    export TFLIBDIR
    exec /new/location/of/bin/tf.exe $*

The variables TFHELP and TFLIBRARY can also be set in the environment,
but this should not be necessary, since their default values are based
on TFLIBDIR.


Public Installation
-------------------

If you have write permission in /usr/local/bin and /usr/local/lib,
TinyFugue will be installed there by default.  Or you can change the
locations by editing Config as described above.  The Makefile will then
put all files in their proper location with the proper permissions.

Some features of TF can be disabled for secure public installation, by
using one of these /restrict commands in %{TFLIBDIR}/local.tf:

    /restrict SHELL  Prevents all access to shell or external commands.
                     Disables TF builtins "/sh" and "/quote !", and
                     uncompression during /load and /help.

    /restrict FILE   Prevents reading and writing of files.  Disables
                     TF builtins "/load", "/save", "/saveworld", "/log",
                     and "/quote '", and sockmload feature.
                     Implies /restrict shell.

    /restrict WORLD  Prevents the user from defining new worlds and
                     connecting to undefined worlds.  TF builtins
                     /addworld and the "/world <host> <port>" semantics
                     are disabled.  Implies /restrict file.


Terminal Handling
-----------------

By default, TF will use the termcap library if it can, otherwise it
will use hardcoded vt100 codes.  You can explcitly configure TF to
use termcap, vt100, or neither by setting the TERMINAL option in
Config.


Compression
-----------

If you are short on disk space, you can compress the helpfile.
Make sure the COMPRESS_SUFFIX and COMPRESS_READ macros are set
correctly; set them in the %{TFLIBDIR}/local.tf file if needed.
Note that compresion can not be used if /restrict is used.


Installation Problems
---------------------

Autoconfig can usually figure out everything it needs to know.  But if
it fails because your system is brain damaged, you may need to edit
some lines in the Config file.  Try running "make" at least once before
making any of these changes.

  Problem				   Possible Solution in "Config"
  -------				   -----------------------------
  hostnames don't work on SunOS 4.0.x	   add '-lresolv' to LIBS
  runtime ioctl() errors, with gcc	   FLAGS='-traditional'
  your system is Apollo Domain/OS.	   FLAGS='-U__STDC__'


Firewalls
---------

If you have to use use "rtelnet" instead of "telnet" (i.e. your site
uses the SOCKS proxy package) to connect to outside hosts through a
firewall, then set SOCKS='yes' in the Config file.


Last Resort
-----------

If you think TF won't compile because of a bug or incompatibility with
your system (you followed all the instructions, and it still won't
work), email the author at hawkeye@tcp.com.  Please include the version
number of TF, and describe the type of system on which you are trying
to compile, or at the very least, the address of the system.  Use
"uname -a", if available, to get the system type; if not, look at the
message you see when you log in.  Also include the file "Build.log",
generated by make.  If TF does compile, but has other problems, read
"/help bugs" before mailing a report.

