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
./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
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.
+ want to customize some #defines for your environment, though
+ that is usually unnecessary. Note the configure options below
+ control some of the #defines.
3) make
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'.
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 ("masquerade" may be of particular interest, though its
+ default value allows the most flexibility. See the discussion of the
+ --enable-masquerade configure option below).
6) Edit the file `mhn.defaults' (installed in the nmh `etc' directory).
This file contains the default profile entries for the nmh command
"MH & xmh: Email for Users and Programmers", 3rd edition, by Jerry Peek,
on the Internet at <http://rand-mh.sourceforge.net/book/mh/confmhn.html>.
-7) Add an optional global mh.profile, if desired. This profile should be
+7) make check
+
+ This takes a bit of time, around one minute on a modern machine,
+ but is highly recommended. If you're going to run it, it must be
+ run after installation. If you want to run the nmh test suite
+ prior to installation, use "make distcheck".
+
+8) Add an optional global mh.profile, if desired. This profile should be
placed in the nmh `etc' directory with the name `mh.profile'. This
file will be used to construct the initial .mh_profile of a new nmh
user, but will not be consulted after that.
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 in its environment. Using a
-Bourne-compatible shell, such as sh, ksh, zsh, or bash, you can do
-that on the command line like this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+"configure" initial values for these on its command line or in its
+environment. For example,
-Or on systems that have the "env" program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-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
+If you wish to add options that are only used at compile time instead of
+link time, you can use the CPPFLAGS variable:
-If you want to add to both compile and link flags at build time
-without putting them in the configuration, you can use an otherwise
-unused Makefile macro, like this:
- make AM_CFLAGS=--coverage
+ ./configure CPPFLAGS='-Wextra -Wno-sign-compare'
-That does not include that setting in the configuration, so you will
-have to repeat it if you re-run "make". One example would be if you
-build the test suite as a separate step:
- make test AM_CFLAGS=--coverage
+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:
-Though note that the Makefile test target depends on the default
-target, so both be can built in one step with "make test".
+ make AM_CFLAGS=--coverage
----------------------------------------
Building nmh on additional architectures
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
---------------------
Enable debugging support.
--enable-masquerade[='draft_from mmailid username_extension']
+ By default, all three masquerade options are enabled.
+
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.
+ the right value will be there.
See the mh-tailor(5) man page for full documentation of "masquerade:".
+ This option will likely be removed in a future version of nmh.
+
--enable-pop
Enable client-side support for pop.