Changed msg_style and msg_delim to be file static to m_getfld.c
[mmh] / INSTALL
diff --git a/INSTALL b/INSTALL
index 71a9004..eb2971d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,9 +2,18 @@
 # INSTALL -- installation instructions
 #
 
---------------
-Installing nmh
---------------
+--------------------------------
+Installing nmh, guided by script
+--------------------------------
+For routine installation on popular platforms, the shell script in
+docs/contrib/build_nmh can be used to guide you through configuration.
+It will then build and optionally (with -i) install in the configured
+location.
+
+
+------------------------
+Installing nmh, manually
+------------------------
 Please read all of the following instructions before you begin
 building nmh.
 
@@ -12,11 +21,11 @@ You should check the MACHINES file to see if there are any specific
 build instructions for your operating system.  To build nmh, you will
 need an ANSI C compiler such as gcc.
 
-0) If you have obtained nmh by checking it out of CVS, you will
-   need to run the GNU autotools to regenerate some files.
-   (If your directory already contains a file 'config.h.in'
-   then this has already been done and you do not need to do it.)
-   You can regenerate the files by running the command
+0) If you have obtained nmh by checking it out of the git repository,
+   you will need to run the GNU autotools to regenerate some files.
+   (If your directory already contains a file 'config.h.in' then this
+   has already been done and you do not need to do it.)  You can
+   regenerate the files by running the command
 
    ./autogen.sh
 
@@ -34,7 +43,7 @@ need an ANSI C compiler such as gcc.
    ./configure [options]
 
    This will check the configuration of your OS, and create the
-   include file config.h, as well as the various Makefiles.
+   include file config.h, as well as the Makefile.
 
    The configure script accepts various options.  The options of
    most interest are listed in a section below.  To see the list
@@ -42,22 +51,23 @@ need an ANSI C compiler such as gcc.
 
    ./configure --help
 
-2) Look through the user configuration section at the beginning
-   of the generated include file `config.h'. You may
-   want to customize some #defines for your environment.
+2) make
 
-3) make
+3) (Optional) make check
+
+   This takes a bit of time, around one minute on a modern machine,
+   but is highly recommended.
+
+   test/inc/test-deb359167 uses valgrind, which detects use of an
+   uninitialized variable on older Linux distributions such as
+   Mandriva 2007.0 and CentOS 5.4.  That particular failure is
+   beyond the scope of nmh and can be ignored.
 
 4) make install
 
    Note that if you have [n]mh files in your install directories with
    the same names as the files being installed, the old ones will get
-   overwritten without any warning.  The only directory that isn't
-   true for is the `etc' directory -- in that directory, the previous
-   copy of each <file> will be backed up as <file>.prev if it differs
-   from the newly-installed copy.  Watch for any diff output while
-   make is processing that directory to see if you need to merge
-   changes from *.prev files into the new versions.
+   overwritten without any warning.
 
 5) Edit the file `mts.conf' (installed in the nmh `etc' directory)
    and make any necessary changes for the mail transport interface
@@ -81,14 +91,14 @@ need an ANSI C compiler such as gcc.
        which `inc' and `msgchk' will always query for new mail.
 
     c) "servers" defines the server to which you send outgoing SMTP
-       traffic.
+       traffic.  See the discussion of the --with-smtpserver configure
+       option below.
 
-   If you compile with POP support, but don't want to use it exclusively,
-   you can use the `-host' and `-user' options to `inc' and `msgchk'
-   rather than hardcoding pophost in `mts.conf'.
+   If you don't want to hardcode pophost in `mts.conf', you can use
+   the `-host' and `-user' options to `inc' and `msgchk'.
 
    Check the `mh-tailor' man page for a list of all the available options
-   for this file ("masquerade" may be of particular interest).
+   for this file.
 
 6) Edit the file `mhn.defaults' (installed in the nmh `etc' directory).
    This file contains the default profile entries for the nmh command
@@ -119,22 +129,25 @@ need an ANSI C compiler such as gcc.
 -----------------------------------------------
 Compiler options, or using a different compiler
 -----------------------------------------------
-By default, configure will use the "gcc" compiler if found.  You can use a
-different compiler, or add unusual options for compiling or linking that
-the "configure" script does not know about, by either editing the user
-configuration section of the top level Makefile (after running configure)
-or giving "configure" initial values for these variables by setting them
-in the environment.  Using a Bourne-compatible shell (such as sh,ksh,zsh),
 
-you can do that on the command line like this:
-    CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+By default, configure will use the "gcc" compiler if found.  You can
+use a different compiler, or add unusual options for compiling or
+linking that the "configure" script does not know about, by giving
+"configure" initial values for these on its command line or in its
+environment.  For example,
+
+    ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+If you wish to add options that are only used at compile time instead of
+link time, you can use the CPPFLAGS variable:
+
+   ./configure CPPFLAGS='-Wextra -Wno-sign-compare'
 
-Or on systems that have the "env" program, you can do it like this:
-    env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+If you want to add to both compile and link flags at build time
+without putting them in the configuration, you can use the AM_CFLAGS
+Makefile macro:
 
-If you want to add to, not replace, compile flags, you can use
-OURDEFS with env or like this:
-    OURDEFS='-Wextra -Wno-sign-compare' ./configure
+    make AM_CFLAGS=--coverage
 
 ----------------------------------------
 Building nmh on additional architectures
@@ -157,7 +170,7 @@ run the "configure" script.  "configure" automatically checks for the
 source code in the directory that "configure" is in.  For example,
 
     cd /usr/local/solaris/nmh
-    /usr/local/src/nmh-1.0/configure
+    /usr/local/src/nmh-1.5/configure
     make
 
 ---------------------
@@ -183,25 +196,6 @@ Options for configure
 --enable-debug
      Enable debugging support.
 
---enable-masquerade[='draft_from mmailid username_extension']
-     If this option is disabled, the mts.conf file will contain the
-     line "masquerade: " (with no value), which may be manually edited
-     later.  You may find it convenient to specify a value at
-     configure-time, however, so that each time nmh is reinstalled,
-     the right value will be there.  By default, it is enabled.
-
-     The above usage shows the default, with all three masquerade
-     options being specified.  Any subset of the three may be
-     specified.
-
-     See the mh-tailor(5) man page for full documentation of "masquerade:".
-
---enable-pop
-     Enable client-side support for pop.
-
---enable-apop
-     Enable client-side support for apop (Authenticated POP).
-
 --with-editor=EDITOR  (DEFAULT is vi)
      specify the full path of the default editor to use.  If this
      option is not given, then the configuration process will search
@@ -210,16 +204,6 @@ Options for configure
      nmh command `prompter'.  If you specify `prompter', then you don't
      need to give the full pathname.
 
---with-hesiod=PREFIX
-     Specify the location of Hesiod.
-
---with-krb4=PREFIX
-     Specify the location of Kerberos V4 for KPOP support. After
-     running configure, you will need to change the POPSERVICE #define in
-     config.h if you want to use KPOP exclusively (rather than being able
-     to switch between KPOP and normal POP3).  See the comments inside
-     config.h for details.
-
 --with-locking=LOCKTYPE    (DEFAULT is dot)
      Specify the locking mechanism when attempting to "inc" or
      "msgchk" a local mail spool. Valid options are "dot",
@@ -235,6 +219,11 @@ Options for configure
      is not world- or user-writeable, and thus a lock file cannot
      be created.
 
+--enable-lockdir=DIR   (DEFAULT is disabled)
+     If dot locking is being used, store all dot-lock files in "DIR".
+     The default is to store them in the directory of the file being
+     locked.
+
 --with-mts=MTS   (DEFAULT is smtp)
      Specify the default mail transport system you want to use.  The two
      acceptable options are "smtp" (which is the default), and
@@ -282,6 +271,20 @@ Options for configure
 
      See the mh-tailor(5) man page for full documentation of "servers:".
 
+--with-cyrus-sasl      (DEFAULT is without)
+     Enable SASL support for SMTP and POP via the Cyrus SASL library.
+     This is used for the POP AUTH and SMTP AUTH protocols.  This supports
+     a wide variety of security mechanisms, including Kerberos/GSSAPI.
+     Session encryption via SASL is supported for both POP and SMTP
+     (depending on server-side support and the security mechanism in use).
+
+--with-tls             (DEFAULT is without)
+     Enable TLS session encryption support for SMTP via the STARTTLS command.
+
+--with-readline                (DEFAULT is to autodetect)
+     Enable support for readline functionality (command history/editing) at
+     the WhatNow? prompt.
+
 --
 The nmh team
 nmh-workers@nongnu.org