                      TinyFugue for UNIX-like systems


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 "sh unixmake" in the top directory.  The tfconfig 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 unix/Config file.  Changes should be
  made in unix/Config only.


unixmake options:

 install	Compile and install (this is the default).
 files		Compile, but do not install (the "install" option should be
			run later to install the files).
 clean		Remove object files and other junk from source directory.
 uninstall	Remove tf executable, help files, and library from their
			installed locations.


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

If you do not explicitly define the file locations in unix/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 unix/Config, using a full path name.

If SYMLINK is set in unix/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 unix/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 unix/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 the /restrict commands in %{TFLIBDIR}/local.tf.  See ../README.


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
unix/Config.


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

The unix/tfconfig script can usually figure out everything it needs to
know to configure TinyFugue for your unix-like system.  But if it fails
because your system is brain damaged, you may need to edit some lines
in the unix/Config file.  Try running "sh unixmake" at least once before
making any of these changes.

  Problem					Possible fix
  -------					-----------------------------
> On SunOS 5.4 (Solaris 2.4), connections 	Install patch 101945 from
    fail with "Resource temporarily available"	  sunsite.unc.edu/pub/patches
> hostnames don't work on SunOS 4.0.x		add '-lresolv' to LIBS
> ioctl errors (compiled with gcc)		FLAGS='-traditional'
> tcgetattr errors (compiled with gcc)		FLAGS='-traditional'
> your system is Apollo Domain/OS.		FLAGS='-U__STDC__'


Firewalls
---------

TF supports the SOCKS proxy server.  If your site uses SOCKS to connect
to outside hosts through a firewall (this is probably true if you use
"rtelnet" instead of "telnet"), then set SOCKS='yes' in the unix/Config file.

TF can also be made to connect through a generic proxy server by setting
the %proxy_host variable at runtime.  See "/help proxy".


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 (please send it in plaintext, not MIME format).  If
TF does compile, but has other problems, read "/help bugs" before
mailing a report.


  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 (on unix, type "uname -a" in the shell).
    If tf won't compile, send the Build.log file (in plaintext form).
    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 file.

