]> diplodocus.org Git - nmh/blobdiff - MACHINES
Replace printf("%s", foo) with fputs(foo, stdout).
[nmh] / MACHINES
index 71f5362d6574d3ae167751e72b347af4cf81eb8b..920628d8fd322cd6e0d3beacccd4ec173222dfef 100644 (file)
--- a/MACHINES
+++ b/MACHINES
 #
 #
-# MACHINE -- operating system specific information
+# MACHINES -- operating system specific information
 #
 #
-# $Id$
-#
-
---------------------------------------
-
-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
-
---------------------------------------
 
 
-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)
+    libcurl (if configured with --with-oauth)
+
+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)
+    libcurl-devel / libcurl-dev (if configured with --with-oauth)
+
+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
+    ftp/curl (if configured with --with-oauth)
+
+------------------------------------------------------------------------------
+                                    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)
+    libcurl (if configured with --with-oauth)
+
+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)
+    libcurl-devel (if configured with --with-oauth)
+
+    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,
 
 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.
-
-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 the line
-
-#undef hpux
-
-after line 15 of the file zotnet/tws/lexstring.c.
-
---------------------------------------
-
-Irix (SGI):
-
-If you are compiling nmh with POP support, then the configuration
-process will search for (and find) the Irix version of "ruserpass".
-Unfortunately, this version is buggy and causes core dumps.  The best
-bet is to use the version that comes with nmh.  After running configure,
-edit the Makefile in the "sbr" directory, and add "ruserpass.o" to the
-LIBOBJS line.  Then run "make" as normal.
-
---------------------------------------
-
-Linux:
-
-Make sure you uncomment the Linux section in the config.h file after
-running configure.
-
-The configuration script does a test to discover the functions
-sigsetjmp/siglongjmp.  Since they are macros on Linux, the configuration
-process doesn't find them.  After running configure, you should change
-the line in config.h to define HAVE_SIGSETJMP.
-
-For some Linux distributions, the configure script doesn't find the
-ndbm/gdbm library (dbm_open, dbm_close).  In this case, you should try to
-configure nmh like this:
-
-    LIBS=-lgdbm ./configure [configure options]
-
-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.
-
---------------------------------------
-
-SCO:
-
-Make sure you uncomment the SCO section in the config.h file after
-running configure.
-
---------------------------------------
+problems with `scan' giving incorrect dates (everything is 01/00).  It is
+highly recommended that you use `gcc' instead.
 
 
-Solaris:
+------------------------------------------------------------------------------
+                                  Irix (SGI)
+------------------------------------------------------------------------------
 
 
-Builds ok.
+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
+------------------------------------------------------------------------------
 
 
-SunOS 4.1.3:
+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.
 
 
-You can't use the C compiler that comes with SunOS 4.1.3 since
-it isn't ANSI C.  But nmh builds just fine with gcc.
+------------------------------------------------------------------------------
 
 
---------------------------------------
+----------
+The nmh team
+nmh-workers@nongnu.org