This file contains hints for installing Columbia MM.

If you're reading this file, you've probably untarred MM already.  If
not, you will want to use the command "tar xf mm.tar" to untar the
"mm" directory (and probably the "ccmd" one as well).  (If you have
mm.tar.Z, you will first need to use the compress(1) program to
uncompress it into mm.tar.)

Unless you picked up mm-only, included with MM is the CCMD package.
You will need CCMD to compile MM, and often you will need the most
up-to-date version of CCMD.  Since MM is the first major CCMD
application, it turns up a lot of CCMD bugs and encourages (and
depends on) a lot of the improvements.  CCMD files will be put in the
ccmd subdirectory, and MM files in the mm subdirectory.

The first thing to do (after tar xf) is to specify your OS type.  This
must be done for both CCMD and MM.  Currently, these are done in two
different ways, though we will probably make this more consistent
(eventually).

For CCMD, the file ccmdmd.h contains machine dependent definitions.
XXX Once this is right, you should copy the appropriate makefile.xxx
to "makefile" (or use the -f switch to make).  Now use "make" to
compile CCMD and build a library.  (XXX Move this somewhere?)  You
will also have a test program that tests various CCMD features.  (You
may need this if you have CCMD problems.)

MM knows about several different systems, in files called "s-xxx.h".
As I write this, we have s-ultrix20.h (for DEC's Ultrix 2.0) and
s-hpux.h (for HP's HP-UX), but there will be more soon.  If there is
not a file for your OS type, simply modify one that does exist.  These
files contain copious comments on all the #define's within them, so if
you know your system fairly well you should have no trouble creating
the appropriate file.

Next, you should edit the name of this new file into config.h (replace
whichever s-xxx.h file is there).

MM comes with several supporting files and programs, which must be
available to anyone running MM.  In addition, it uses several programs
that you should already have.  The file pathnames.h contains default
filenames for these, so MM can find them.  To override these defaults,
add #define's to config.h.  (It is intended that you should only have
to modify config.h to install MM.)  Defaults for the editor, speller,
and other non-MM programs can also be set in your system-wide init
file or by individual users.

If your system has curses, but not termcap, you will have to modify
the makefile to use the line with "-lcurses".

Now, just run "make" to compile mm and supporting programs.

At this point, you may want to run sys-prof (the system profiler).
This program will ask various questions, and set up a basic
system-wide initialization file in "mm.conf".  You may modify this if
you like.  (Everything that you set in mm.conf can be set as defaults
in MM source files, but this avoids having to edit source files.
Also, you will not have to reinstall this file when you get a new
version of MM.)

The file mm-install is a script we use to install new versions of MM.
It contains specific pathnames that will not work on your system, but
will give you a general idea of what should go where and with what
type of protection.

Basically, the files mm.conf, mm.help, mmail.el, and movemail should
go into the /usr/local/lib/mm directory.  mm.conf and mmail.el are
text files that contain explanations of themselves.  mm.help (also a
text file) is MM's help database.  "movemail" is similar to the GNU
emacs movemail, but we strongly suggest you use our movemail and not
the GNU one, since there are security holes in the GNU version.
(However, we DO recommend that you use GNU emacs...)  Our
/usr/spool/mail directory is in group "mail", and movemail is setgid'd
to be in the mail group.  (It can work without the setgid bit, but not
as elegantly.)

movemail should be world executable, so that all MM users can run it,
and the other three files should be world readable.

Now, you can install MM wherever appropriate.  In addition, if you
have users migrating from DEC20s you will want to install the
transform program.  Also, you should install the man pages, mm.1 and
transform.1, in your man tree.

A NOTE ON BULLETIN BOARDS: This version of mm has three additional commands
for reading bulletin boards. They are bboard, find, and ignore. These 
commands are well documented in the help command of mm. The file pathnames.h 
has the expected path for locating bulletin boards which is currently

/usr/spool/bboard

Also, one must build the program imapsavebb. Look at examples in the file
ALIAS.EXAMPLES.FOR.BBOARDS for how to set up /etc/aliases which puts the
bboards into mtxt format. One can keep the bboards in mbox format by
having the alias for each bboard simply append each new message to a
file on the bboard directory. We prefer mtxt format because each
message's preheader is more intelligently designed for fast access
since it includes among other things the byte length of the message it 
preceeds.
