mutt_*mktemp--
[apps/madmutt.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index df858de..c3e11bc 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-Supported platforms
-===================
-
-Mutt-ng has been reported to compile and run under the following Unix operating
-systems:
-
-       AIX
-       BSDI
-       Convex
-       Data General Unix (DG/UX)
-       Digital Unix (OSF/1)
-       DYNIX/ptx
-       FreeBSD
-       HP-UX
-       IRIX
-       Linux
-       Atari MiNT
-       MkLinux
-       NetBSD
-       OpenBSD
-       QNX
-       SCO Unix 3.2v4/5
-       Solaris
-       SunOS
-       Ultrix
-       UnixWare
-
-- An ANSI C compiler (such as gcc) is required.
-
-- You must also have a SysV compatible curses library, or you must
-  install either
-
-       GNU ncurses, ftp://prep.ai.mit.edu/pub/gnu/
-
-  or
-
-       S-Lang, ftp://space.mit.edu/pub/davis/slang/
-
-- Mutt-ng needs an implementation of the iconv API for character set
-  conversions.  A free one can be found under the following URL:
-
-       http://www.gnu.org/software/libiconv/
-
-
-
-Installation
-============
-
-Installing Mutt-ng is rather painless through the use of the GNU
-autoconf package.  Simply untar the Mutt-ng distribution, and run the
-``configure'' script.  If you have obtained the distribution from
-the CVS repository, run the ``prepare'' script with the same command
-line parameters you would pass to configure.  It will set up Mutt-ng's
-build environment and add the files which are present in the tar
-balls, but not in the CVS repository.
-
-In most cases, configure will automatically determine everything it
-needs to know in order to compile.  However, there are a few options
-to ``configure'' to help it out, or change the default behavior:
-
---prefix=DIR
-       install Mutt-ng in DIR instead of /usr/local
-
---with-curses=DIR
-       use the curses lib in DIR/lib.  If you have ncurses, ``configure''
-       will automatically look in /usr/include/ncurses for the include
-       files.
-
---with-slang[=DIR]
-       use the S-Lang library instead of ncurses.  This library seems to
-       work better for some people because it is less picky about proper
-       termcap entries than ncurses.  It is recommended that you use at
-       *least* version 0.99-38 with Mutt-ng.
-
---with-mailpath=DIR
-       specify where the spool mailboxes are located on your system
-
---with-homespool[=FILE]
-       treat file in the user's home directory as the spool mailbox.  Note
-       that this is *not* the full pathname, but relative to the user's
-       home directory.  Defaults to "mailbox" if FILE is not specified.
-
---enable-pop
-       enable POP3 support
-
---enable-imap
-       enable IMAP support
-
---with-gss[=PFX]
-       Enable GSSAPI authentication to IMAP servers. This should work with
-       both MIT and Heimdal GSSAPI implementations - others haven't been
-       tested. Note that the Cyrus SASL library also supports GSSAPI,
-       and may be able to encrypt your session with it - you should use
-       SASL instead if you can.
-
---with-ssl[=PFX]
-       enable SSL support with IMAP and POP. SSL support requires you to
-       have OpenSSL headers and libraries properly installed before
-       compiling.  If the OpenSSL headers and libraries are not in the
-       default system pats you can use the optional PFX argument to
-       define the root directory of your installation.  The libraries
-       are then expected to be found in PFX/lib and headers in
-       PFX/include/openssl.
-
---with-sasl[=PFX]
-       Use the Cyrus SASL library for IMAP or POP authentication. This
-       library provides generic support for several authentication methods,
-       and more may be added by the system administrator without recompiling
-       Mutt-ng. SASL may also be able to encrypt your mail session even if
-       SSL is not available.
-
---disable-nls
-       This switch disables Mutt-ng's native language support.
-
---with-included-gettext 
-       Mutt-ng will be built using the GNU gettext library included in
-       the intl/ sub-directory.  You may need to use this switch if
-       your machine has something which looks like gettext to the
-       configure script, but isn't able to cope with Mutt-ng's catalog
-       files.
-
---with-regex
-       use GNU regex instead of local regexp routines.  Many systems
-       don't have the POSIX compliant regcomp/regexec/regfree
-       routines, so this provides a way to support them.
-
---enable-flock
-       use flock() to lock files.  
-
---disable-fcntl
-       by default, Mutt-ng uses fcntl() to lock files.  Over NFS this can
-       result in poor performance on read/write.  Note that using this
-       option could be dangerous if dotlocking is also disabled.
-       
---enable-nfs-fix
-       some implementations of NFS do not always write the
-       atime/mtime of small files.  This means that Mutt-ng's ``mailboxes''
-       feature does not always work properly, as it uses these
-       attributes to work out whether the file has new mail.  This
-       option enables a workaround to this bug.
-
---enable-locales-fix
-       on some systems, the result of isprint() can't be used reliably
-       to decide which characters are printable, even if you set the
-       LANG environment variable.  If you set this option, Mutt-ng will
-       assume all characters in the ISO-8859-* range are printable.  If
-       you leave it unset, Mutt-ng will attempt to use isprint() if either
-       of the environment variables LANG, LC_ALL or LC_CTYPE is set,
-       and will revert to the ISO-8859-* range if they aren't.
-       If you need --enable-locales-fix then you will probably need
-       --without-wc-funcs too. However, on a correctly configured
-       modern system you shouldn't need either (try setting LANG,
-       LC_ALL or LC_CTYPE instead).
-
---without-wc-funcs
-       by default Mutt-ng uses the functions mbrtowc(), wctomb() and
-       wcwidth() provided by the system, when they are available.
-       With this option Mutt-ng will use its own version of those
-       functions, which should work with 8-bit display charsets, UTF-8,
-       euc-jp or shift_jis, even if the system doesn't normally support
-       those multibyte charsets.
-
-       If you find Mutt-ng is displaying non-ascii characters as octal
-       escape sequences (e.g. \243), even though you have set LANG and
-       LC_CTYPE correctly, then you might find you can solve the problem
-       with either or both of --enable-locales-fix and --without-wc-funcs.
-
---with-exec-shell=SHELL
-       on some versions of unix, /bin/sh has a bug that makes using emacs
-       with Mutt-ng very difficult.  If you have the problem that whenever
-       you press control-G in emacs, Mutt-ng and emacs become very confused,
-       you may want to try using a Bourne-derived shell other than
-       /bin/sh here.  Some shells that may work are bash, zsh, and ksh.
-       C shells such as csh and tcsh will amost certainly not work right.
-       Note that this option is unrelated to what shell Mutt-ng gives you
-       when you press '!'.  Only use this option to solve the above problem,
-       and only specify one of the above shells as its argument.
-
-       (If you encounter this problem with your platform's native
-       Bourne shell, please send a short report to mutt-ng-devel@lists.berlios.de, 
-       so a short note on this topic can be added to the Platform notes
-       section below.)
-
-Once ``configure'' has completed, simply type ``make install.''
+This document describes the steps which are necessary to
+install and use Mutt-ng
 
-Mutt-ng should compile cleanly (without errors) and you should end up with a
-binary called ``muttng.''  If you get errors about undefined symbols like
-A_NORMAL or KEY_MIN, then you probably don't have a SysV compliant curses
-library.  You should install either ncurses or S-Lang (see above), and then
-run the ``configure'' script again.
 
-Please note that "VPATH" builds currently do _not_ work.
+Supported platforms:
+====================
 
+Mutt-ng should run under the following platforms:
 
+AIX, BSDI, Convex, Data General Unix (DG/UX), Digital Unix (OSF/1),
+DYNIX/ptx, FreeBSD, HP-UX, IRIX, Linux, Atari MiNT, MkLinux, NetBSD,
+OpenBSD, QNX, SCO Unix 3.2v4/5, Solaris, SunOS, Ultrix, UnixWare,
+MacOSX
 
-Character set support
-=====================
 
-Mutt-ng no longer contains functions for doing character set conversion.
-Instead, it expects the iconv functions (iconv_open, iconv,
-iconv_close) to be provided. Most up-to-date systems provide these
-functions, often as part of the C library. If you are installing Mutt-ng
-on a system which does not have them, it is recommended that you
-install Bruno Haible's portable libiconv library, which you can obtain
-from:
+Requirements:
+=============
+
+1. ANSI C compilter. The GNU c compiler would be a good choice
+
+2. A SysV compatible semigraphic library. 
+   Mutt-ng supports:
+   - GNU ncurses , ftp://ftp.gnu.org/gnu/ncurses/
+   - S-Lang, ftp://space.mit.edu/pub/davis/slang/
+
+3. An implementation of the iconv API for character set
+  conversions. This one is recommend: 
+  http://www.gnu.org/software/libiconv/
+
+
+Installation:
+=============
+
+1. Installing Mutt-ng is very easy. Just use tar and gzip/bzip2.
+   For example type: `tar xvfz mutt-ng-20050515.tar.gz'.
+   If you have obtained the distribution from
+   the SVN (subversion)  repository, run the `autogen.sh' script with the 
+   same command line parameters like it is described in doc/devel-notes.txt
+   
+2. The next step is to call `configure' to configure your installation
+   depending on your system.
+   In most cases, configure will automatically determine everything it
+   needs to know in order to compile.  However, there are a few options
+   to `configure` to help it out, or change the default behavior:
+
+    Configure options:
+    ==================
+
+    --prefix=DIR
+        install Mutt-ng in DIR instead of /usr/local
+
+    --with-curses=DIR
+        use the curses lib in DIR/lib.  If you have ncurses, `configure'
+        will automatically look in /usr/include/ncurses for the include
+        files.
 
-              ftp://ftp.ilog.fr/pub/Users/haible/gnu/
+    --with-slang[=DIR]
+        use the S-Lang library instead of ncurses.  This library seems to
+        work better for some people because it is less picky about proper
+        termcap entries than ncurses.
 
-Even if your system does provide the iconv functions, you might want
-to install libiconv, as some systems provide only a very limited
-version of iconv.
+    This are just a few configure options to get a complete list type:
+    `configure --help'
 
+3. Once `configure' has completed, simply type `make install.'
+
+Mutt-ng should compile cleanly (without errors) and you should end up with a
+binary called `muttng.'  If you get errors about undefined symbols like
+A_NORMAL or KEY_MIN, then you probably don't have a SysV compliant curses
+library.  You should install either ncurses or S-Lang (see above), and then
+run the `configure' script again.
+Depending on the features you included via configure you can get similliar
+errors from other libraries that are missing.
+
+
+Iconv character set support
+=====================
 
 If you decide to use your system's iconv implementation, you may
 need to tell Mutt-ng about implementation-defined names for some
@@ -223,10 +88,9 @@ like
 
      source /usr/local/doc/muttng/samples/iconv/iconv.osf1-4.0d.rc
 
-into your system's global Muttrc, which normally resides in /etc or
+into your system's global Muttngrc, which normally resides in /etc or
 /usr/local/etc.
 
-
 If you really want to, you can configure Mutt-ng --disable-iconv, but
 there will then be no character set conversion.
 
@@ -236,55 +100,45 @@ Platform Notes
 
 All platforms
 
-       There is a bug in most (if not all) S-Lang versions which
-       prevents the Meta key from working with Mutt-ng.  A patch can
-       be found in the file contrib/patch.slang-1.2.2.keypad.1 in
-       this Mutt-ng distribution.
-
-
-Solaris 2.4
-
-       The system regcomp() and regexec() routines are very badly
-       broken.  This should be automatically detected by the
-       configure script.  If not, use the --with-regex switch when
-       configuring Mutt-ng.
-
-       We are also hearing reports that Solaris 2.4's NLS libraries
-       dump core with Mutt-ng when using a locale different from "C".
-       Use the --with-included-gettext configuration switch if you
-       experience this problem.
+There is a bug in most (if not all) S-Lang versions which
+prevents the Meta key from working with Mutt-ng.  A patch can
+be found in the file contrib/patch.slang-1.2.2.keypad.1 in
+this Mutt-ng distribution.
 
-       Color does not work right with Solaris curses.  You will
-       have to compile with either ncurses or slang to get working
-       color support.
+- Solaris 2.4
 
-Solaris 2.6
+The system regcomp() and regexec() routines are very badly
+broken.  This should be automatically detected by the
+configure script.  If not, use the --with-regex switch when
+configuring Mutt-ng.
 
-       There are reports that Mutt-ng behaves strangely when linked with
-       the system regexp library.  Please use the --with-regex switch
-       when configuring on this platform.
+We are also hearing reports that Solaris 2.4's NLS libraries
+dump core with Mutt-ng when using a locale different from "C".
+Use the --with-included-gettext configuration switch if you
+experience this problem.
 
-       For the real fix, applying Sun patches # 105490-05 (linker
-       patch) and # 105210-17 (libc and malloc patch) from
-       sunsolve.sun.com has been reported to stop these problems
-       from occuring.
+Color does not work right with Solaris curses.  You will
+have to compile with either ncurses or slang to get working
+color support.
 
-Linux
+- Solaris 2.6
 
-       On recent Linux systems, flock() and fcntl() locks don't mix.  If
-       you use the --enable-flock switch on such systems, be sure to
-       give the --disable-fcntl argument as well.
+There are reports that Mutt-ng behaves strangely when linked with
+the system regexp library.  Please use the --with-regex switch
+when configuring on this platform.
 
-Sparc Linux
+For the real fix, applying Sun patches # 105490-05 (linker
+patch) and # 105210-17 (libc and malloc patch) from
+sunsolve.sun.com has been reported to stop these problems
+from occuring.
 
-       Redhat 4.2 Sparc users reported problems with some system
-       include files when building Mutt-ng.  Configuring Mutt-ng with the
-       --disable-warnings switch is said to help against this problem.
+- Linux
 
+On recent Linux systems, flock() and fcntl() locks don't mix.  If
+you use the --enable-flock switch on such systems, be sure to
+give the --disable-fcntl argument as well.
 
-Digital Unix (OSF/1)
 
-       The system curses library is said to be badly broken.  Use GNU
-       ncurses or SLang instead.
+Mo Mai 23 19:52:22 CEST 2005 Nico 'nion' Golde <nion@muttng.org>
 
-$Id: INSTALL,v 3.1 2002/11/25 14:16:46 roessler Exp $
+ * updated/rewrote document