#
# MACHINES -- operating system specific information
#

nmh is routinely built and tested on recent versions of the following
platforms:
    Cygwin (32- and 64-bit)
    FreeBSD 9
    FreeBSD 10
    Linux (Fedora and Ubuntu distributions)
    Mac OS X 10.9
    OpenBSD 5.4
    Solaris 11

nmh was known in the distant past to compile on the following platforms (save
the exceptions noted below), using an ANSI C compiler, such as gcc:
    AIX 4.1.5.0.01
    IRIX 6.5
    NetBSD 1.4.2
    Solaris 7 and 8 (sparc,x86)
    SunOS 4.1

Platform-specific notes follow.

------------------------------------------------------------------------------
                                    Linux
------------------------------------------------------------------------------

Run-time package requirements:
    ncurses-libs
    gdbm, db4, or libdb (only needed for slocal(1))
    readline (if you want readline support)
    cyrus-sasl-lib / libsasl2 (if configured with --with-cyrus-sasl)
    openssl-libs / libssl (if configured with --with-tls)

Additional build-time package requirements:
    flex
    ncurses-devel / libncurses5-devel
    gdbm-devel, db4-devel or libdb-devel/libdb-dev (only needed for slocal(1))
    readline-devel (if you want readline support)
    cyrus-sasl-devel / libsasl2-dev (if configuring with --with-cyrus-sasl)
    openssl-devel / libssl-dev (if configuring with --with-tls)

Packages required to regenerate the configure script:
    autoconf
    automake

------------------------------------------------------------------------------
                                   Mac OS X
------------------------------------------------------------------------------

If configured with --with-tls on Mac OS 10.7 or later, there will be
compile warnings from mts/smtp/smtp.c about the deprecated OpenSSL
that is supplied with that system.  nmh will build and run with that
OpenSSL, though it may be an old version.  Alternatively, the OpenSSL
source code is available from http://www.openssl.org/source/.  To
build 64-bit libraries, the OpenSSL configure command should start
with, e.g.,
    ./Configure darwin64-x86_64-cc

To build nmh with those OpenSSL libraries, the CPPFLAGS and LDFLAGS
can be set by adding the following to the nmh configure command line,
or in the shell environment before calling configure or build_nmh:
    CPPFLAGS='-D__arch64__ -IOpenSSL-include-path' LDFLAGS=-LOpenSSL-lib-path

------------------------------------------------------------------------------
                                   FreeBSD
------------------------------------------------------------------------------

Additional build-time package requirements:
    devel/autotools

------------------------------------------------------------------------------
                                    Cygwin
------------------------------------------------------------------------------

Run-time package requirements:
    file
    libncurses10 or libncursesw10
    libgdbm4 (only needed for slocal(1))
    libiconv or libiconv2 (if you want iconv support)
    libreadline7 (if you want readline support)
    libsasl2_3 (if configured with --with-cyrus-sasl)
    openssl (if configured with --with-tls)

Additional build-time package requirements:
    flex
    libncurses-devel or libncursesw-devel
    libgdbm4-devel (only needed for slocal(1))
    libiconv-devel (if you want iconv support)
    libreadline-devel (if you want readline support)
    libsasl2-devel (if configuring with --with-cyrus-sasl)
    openssl-devel (if configuring with --with-tls)

    Older versions of libncurses-devel do not install /usr/include/curses.h,
    /usr/include/term.h, and /usr/include/termcap.h.  If yours does not,
    either add symlinks in /usr/include/ to those files in its ncurses/
    subdirectory, or build with:
        make DEFAULT_INCLUDES='-I. -I/usr/include/ncurses'

Packages required to regenerate the configure script:
    autoconf
    automake

When running the nmh test suite ("make check"), it helps to have /usr/bin/
ahead of any Windows directories on your PATH.

Note that the -link switch to refile cannot be used on FAT32 and similar
filesystems.

------------------------------------------------------------------------------
                                     HPUX
------------------------------------------------------------------------------

Lots of problems have been reported with using HPUX `cc'.  In particular,
problems with `scan' giving incorrect dates (everything is 01/00).  It is
highly recommended that you use `gcc' instead.

------------------------------------------------------------------------------
                                  Irix (SGI)
------------------------------------------------------------------------------

Irix make is notoriously buggy. If you're using it, you should "touch
config.h.in" before configuring to prevent a problem where it tries to rebuild
targets that shouldn't be rebuilt. (Alternately, you can just use GNU make
instead of Irix make.)

------------------------------------------------------------------------------
                           SunOS 4.1.1/4.1.3/4.1.4
------------------------------------------------------------------------------

You can't use the C compiler that comes with SunOS 4 since it isn't ANSI C.
But nmh builds just fine with gcc.

------------------------------------------------------------------------------

----------
The nmh team
nmh-workers@nongnu.org
