X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=INSTALL;h=251ba7b08471c1f629540f3e12f4739eb623842b;hb=3bebe0e894828d80183926d4fc19fc01cd3c274e;hp=feea184a98a6ab23aa3c31f10289c4b1fb6cfbea;hpb=6749991db7847b6b9fb253a55cc081b150867da5;p=mmh diff --git a/INSTALL b/INSTALL index feea184..251ba7b 100644 --- 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 @@ -44,11 +53,18 @@ need an ANSI C compiler such as gcc. 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 -4) make install +4) make check + + This takes a bit of time, around one minute on a modern machine, + but is highly recommended. + +5) 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 @@ -59,7 +75,7 @@ need an ANSI C compiler such as gcc. make is processing that directory to see if you need to merge changes from *.prev files into the new versions. -5) Edit the file `mts.conf' (installed in the nmh `etc' directory) +6) Edit the file `mts.conf' (installed in the nmh `etc' directory) and make any necessary changes for the mail transport interface you are using. @@ -81,16 +97,16 @@ 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). +7) Edit the file `mhn.defaults' (installed in the nmh `etc' directory). This file contains the default profile entries for the nmh command `mhn' and is created by the script `mhn.defaults.sh'. This script will search a generic path (essentially your $PATH) for programs to @@ -111,7 +127,7 @@ need an ANSI C compiler such as gcc. "MH & xmh: Email for Users and Programmers", 3rd edition, by Jerry Peek, on the Internet at . -7) Add an optional global mh.profile, if desired. This profile should be +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. @@ -123,30 +139,21 @@ 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 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 @@ -169,7 +176,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 --------------------- @@ -195,25 +202,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 @@ -222,16 +210,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",