home *** CD-ROM | disk | FTP | other *** search
- TINYFUGUE INSTALLATION FILE
- ---------------------------
-
- Installing TinyFugue is quite easy on most systems: simply type "make
- install". However, it is designed to handle many different system and
- terminal types and public installation, so you may have to make some
- minor changes to the Makefile.
-
-
- File Locations
- --------------
-
- The default file locations are based on the HOME variable. Some versions
- of make do not import HOME from the environment. If, after installing,
- TF tries to load "/.tfrc", you probably have one of these versions of make.
- The solution is to define HOME yourself in the Makefile, like this:
- HOME = /my/home/directory
-
- The Makefile defines the names of the tf executable file (EXE), the
- helpfile (HELPFILE), the default macro file (TFLIBRARY), and the manual
- page (MANPAGE). These should be full path names. The default
- directories for these are your home directory; public locations are
- also suggested, if you want to allow other users to run TF. Setting
- the MANPAGE or HELPFILE filenames to blank will disable installation of
- that file.
-
- IMPORTANT: If you move or change the name of the macro library after
- installing, you must edit the TFLIBRARY line in the Makefile, and run
- "make install" again. If you move or change the name of the helpfile
- after installing, you can either edit the HELPFILE line in the Makefile
- and "make install" again, or you can just change the HELPFILE macro in
- the macro library.
-
-
- Public Installation
- -------------------
-
- A set of file locations in /usr/local is suggested in the Makefile.
- Uncomment these lines, and comment out the single-user defaults.
- "make install" will then put all files in their proper location with
- the proper permissions.
-
-
- Make Options
- ------------
- If you're not sure which to use, use "make install".
-
- make install Compile tf, (optionally) compile the Connector, build the
- help index, build macro library, and put all files in their
- proper locations.
- make uninstall Remove tf, Connector, help file and index, and macro library.
- make clean Remove object files and other junk from source directory.
- make tf Compile tf.
- make TFCONNECT Compile and install Connector.
- make TFLIBRARY Build and install standard macro library.
- make HELP Build and install helpfiles.
-
-
- Modifications
- -------------
-
- If you make any modifications to the source (other than the Makefile),
- please add your name or other identification to the version[] variable
- in main.c (primarily to avoid confusion). I ask that any redistributions
- contain my name, all the files from the orginal distribution, and the
- location of the original source.
-
-
- System types
- ------------
-
- Also see the section on Nonblocking Connections.
-
- BSD 4.2 or 4.3-derived systems: No modifications necessary.
-
- Dual-universe with SysV termio: add -DSYSVTTY to the FLAGS line in
- the Makefile.
-
- SysV with WINS: add -DSYSVTTY and -DWINS to the FLAGS line in the
- Makefile. Also add '-lnet -lnsl_s' to the LIBRARIES line, in
- that order.
-
- Apollo DomainOS, using cc: add -U__STDC__ to the FLAGS line.
-
-
- Termcap
- -------
-
- Fugue's Makefile is originally configured to run with the termcap
- library. If your termcap library is buggy, you have two
- alternatives:
-
- 1. You can erase the -DTERMCAP and -ltermcap from the FLAGS and
- LIBRARIES lines respectively in the Makefile. Fugue will then
- operate without hilites, without visual mode as an option.
-
- 2. You can erase the -DTERMCAP and -ltermcap as above, and then
- add -DHARDCODE to the FLAGS line. This will cause tf to
- emulate a 25x80 VT-100 or ANSI terminal.
-
- You can change the default lines and columns by changing the
- #DEFINEs in output.c near the top of the file. It is recommended
- that you check the attributes_on() and attributes_off() functions
- inside the HARDCODE code block of termcap functions to see if the
- strings they output are ones that will work they way you want them
- to with your particular terminal emulation. The ones currently used
- are "<ESC>[4m" for underline, "<ESC>[7m" for reverse, "<ESC>[5m" for
- flashing, "<ESC>[1m" for hilite, and "<ESC>[m" for attributes off.
-
- If you are not using VT-100 or ANSI and wish to hardcode your
- terminal sequences, simply go into the HARDCODE code block of
- termcap functions and change the sequences to ones that will
- work. Two things to note:
-
- A. The upper-left corner of the screen for VT-100 and ANSI is
- (1,1). If your terminal type uses (0,0), make sure to
- decrement the x and y arguments in the sprintf() call in xy().
-
- B. Not all terminal emulations have the capability to set the
- scroll area. If you cannot do this, have the scroll()
- macro do nothing, and in the HARDCODE code block in init_term()
- set have_scroll = 0 instead of 1.
-
-
- Screen size
- -----------
-
- TF initially determines the screen size using the termcap capabilities
- or the defaults in output.c. It also attempts to read the window size
- from the tty at startup and whenever you change your window size,
- although it may fail to do this if the window size in the tty hasn't
- been set or is not supported by your system.
-
-
- Mail checking
- -------------
-
- Tinyfugue defaults to checking mail every sixty seconds. This comes
- from the -DMAILDELAY=60 on the Makefile FLAGS line. You can get rid
- of mail checking by eliminating this option, or modify the delay by
- changing that number.
-
- TinyFugue checks the MAIL environment variable for the name of the mail
- file (MAIL is usually set in sh, but not csh). If MAIL is not set, it
- will look for a file with your user name in MAILDIR, defined in tf.h.
- Some dual-universe systems may use "/usr/mail" instead of
- "/usr/spool/mail" as the mail path. If this is the case, replace:
- #define MAILDIR "/usr/spool/mail/"
- with:
- #define MAILDIR "/usr/mail/"
- in the file tf.h. Remember the trailing '/'. Other mail paths can
- obviously also be used. If the path is incorrect, TF will not complain
- but mail checking will not occur.
-
-
- LP-MUDs
- -------
-
- With /lp on, Tinyfugue's method of dealing with LP prompts is to
- attempt to recognize them using a delay of 1/4 second, and treat
- prompts and input as a cohesive block, so they are refreshed together
- in non-visual mode and both appear in the input window in visual mode.
-
- The delay can be changed by putting -DLP_SWAIT=<seconds> and
- -DLP_UWAIT=<microseconds> (default is 0 and 250000 respectively;
- you need define only the one or other you want to change) on the
- FLAGS line of the Makefile.
-
- Delay recognition will not always work; the more the delay, the
- more annoying the wait between receiving the prompt and displaying
- it will be, and the more the chance of the prompt being
- concatenated onto the next socket line will be. You can have
- prompts by the old method by putting -DOLD_LPPROMPTS on the FLAGS
- line of the Makefile. This is not as aesthetic as the default
- method and tends to allow prompts to run together with regular
- socket input, but will not cause the quirks that result when TF
- confuses a partial line with a prompt.
-
-
- Nonblocking Connections
- -----------------------
-
- On some systems, TF can be compiled to perform nonblocking connections
- to worlds. That is, if a new /world command does not complete right
- away because of net lag, TF will continue trying in the background,
- allowing you to do other things. It does this by running the connect()
- in a child process. Nonblocking connect can be very nice on fast
- forking systems, but on slower machines can be annoying. TF requires
- either socketpair() and sendmsg() (found in 4.3 BSD and most "modern"
- systems); OR pipe() with file descriptor passing, and the I_SENDFD and
- I_RECVFD ioctl() calls (found in System V Revision 4, but not SVR3).
- To install this option, you must make these changes to the Makefile:
- add either -DCONNECT_BSD or -DCONNECT_SVR4 to the CONNECT line, and
- define TFCONNECT as the full path of the connection server
- (/usr/local/bin/tf.connect is recomended).
-
-
- Miscellaneous
- -------------
-
- If your compiler is complaining about doubly declaring or defining
- strstr, remove the -D_STRSTR from the FLAGS line.
-
- If you want TF to snarf blank lines (display them locally, but not
- send them to the remote) add -DSNARF_BLANKS.
-
- If you want to be able to specify multiple-word arguments using " and '
- quotes (for world fields and macro arguments), add -DQUOTED_ARGS to
- the FLAGS line.
-
- A "refresh" is a redisplaying of your input in non-visual mode after
- being overwritten by a socket line. If you want to change the time it
- takes for refreshes to occur after socket lines , you can do
- -DREFRESH_TIME=<x>, where <x> is a number in microseconds (defaults to
- 250000, or 1/4 second).
-
- If you don't want TF to catch coredumps, add -DNO_COREHANDLERS.
-
- If your compiler is non-ANSI but does support ANSI-style prototypes, you
- can add -DPROTOTYPES to the FLAGS line.
-
- You can reduce the executable size slightly by using "strip tf"
- after compiling.
-
-