#
-# MACHINE -- operating system specific information
+# MACHINES -- operating system specific information
#
-nmh is known 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
-Cygwin, setup version 2.763 (though it does not run correctly, see below)
-FreeBSD
-IRIX 6.5
-Linux 2.2 to current (glibc 2.1 to current)
-Mac OS X
-NetBSD 1.4.2
-OpenBSD
-Solaris 7 and 8 (sparc,x86)
-SunOS 4.1
-
-Known Compilation problems:
---------------------------------------
-FreeBSD:
-OpenBSD:
-NetBSD:
-
-Some BSD4.4 machines have problems when running nmh's configure script.
-They will be unable to find the location of vi and sendmail. This is
-due to POSIX features (breakage?) in the shell sh. The solution is to
-run the configure script under the shell `bash':
-
- % bash configure
-
---------------------------------------
-Mac OS X/Rhapsody 5:
-
-Version 5.3 at least has the same sh/bash bug as the *BSD systems
-above. This appears to be fixed in 5.5.
-
-Will not compile correctly unless you configure with the --enable-debug
-option. It appears to find conflicts in the headers only when debugging
-is disabled. With debugging enabled, it compiles and runs happily.
-
---------------------------------------
-Cygwin:
-
-Be sure to install Cygwin package libncurses-devel, in the Devel or
-Libs category. And libncurses10 or later in the Lib category.
-
-Which nmh builds on Cygwin, not all of its programs operate. If
-you're willing to help fix them, please contact the nmh maintainters
-at nmh-workers@nongnu.org.
-
---------------------------------------
-HPUX:
+nmh is routinely built and tested on recent versions of the following
+platforms:
+ Cygwin (32- and 64-bit)
+ FreeBSD 9
+ FreeBSD 10
+ Linux (Fedora, Ubuntu, and CentOS 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
+
+On all platforms, the following programs are required to build nmh from a
+snapshot of the source code repository:
+ autoconf 2.68 or later
+ automake 1.12 or later
+ flex 2.5.4 or later
+ bison 2.3 or later, Berkeley yacc 1.9 or later, or Solaris yacc 4.0
+They are not required if building from an nmh distribution (.tar.gz) file.
+
+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:
+ 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)
+
+Test suite package requirements:
+ ncurses (tput is needed to run test/format/test-curses)
+
+------------------------------------------------------------------------------
+ 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:
+ 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'
+
+Test suite package requirements:
+ ncurses (tput is needed to run test/format/test-curses)
+
+Note that the -link switch to refile cannot be used on FAT32 and other
+filesystems that do not support hard links.
+
+------------------------------------------------------------------------------
+ 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.
+problems with `scan' giving incorrect dates (everything is 01/00). It is
+highly recommended that you use `gcc' instead.
-Also, new versions of HPUX (10.20?) will core dump in `scan' because
-of some workaround code in zotnet/tws/lexstring.c. This workaround is
-needed for older versions of HPUX, but causes problems on newer versions.
-The solution is the added line (minus our indentation):
+------------------------------------------------------------------------------
+ Irix (SGI)
+------------------------------------------------------------------------------
- #undef hpux
+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.)
-after line 15 of the file zotnet/tws/lexstring.c.
+------------------------------------------------------------------------------
+ SunOS 4.1.1/4.1.3/4.1.4
+------------------------------------------------------------------------------
---------------------------------------
-Irix (SGI):
+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.
-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.)
-
---------------------------------------
-Linux:
-
-The configuration script does a test to discover if your vi is broken
-(if it reports non-zero exit codes on certain pseudo-errors). This test
-will hang if the program `ex' on your system is a link to the vi clone
-`vile'. The workaround is to replace the command ex as a link to another
-vi clone such as nvi or elvis.
-
---------------------------------------
-Solaris:
-
-With --enable-debug you'll see a lot of warnings. This is even worse
-when compiling using the Sun Workshop compiler since it issues a
-warning for every instance of a problem instead of summarizing them.
-The main one concerns arrays with an index of type char. This is ok.
-The array itself is a hash of chars, so the array size and the type
-match. There isn't another safe and portable way to do this at the
-moment. An explicit cast would get rid of the warnings, but I think
-it's better to leave it complaining for now until we come up with
-a better solution. The whole thing is probablly going to be chucked
-with UTF-8 support anyway.
-
-Other than the warnings, it builds ok.
---------------------------------------
-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. With
---enable-debug you will see a lot of warnings.
---------------------------------------
-
---
+------------------------------------------------------------------------------
+
+----------
The nmh team
nmh-workers@nongnu.org