Compilation and installation notes for tin - 2001-07-23 (still incomplete!)
-------------------------------------------------------

Note: Tin requires a valid fully qualified domain name for the host you are
      running tin on. IF YOU DON'T HAVE A HOST NAME WITH A VALID DOMAIN GO
      AND GET ONE AND CONFIGURE YOUR HOST -- NOW! (This will prevent
      problems with other software, too.) Otherwise users may get "Invalid
      Sender" error messages and won't be able to post using the internal
      inews. You may optionally have a look at the tin.defaults file (watch
      out for disable_sender) and install it in the --with-defaults-dir
      directory using `make install_sysdefs`.

Note: The section 'News machine names' is now at the beginning as it
      seemed to be the most sought after section.

The following configure options and defines are documented in detail:
---------------------------------------------------------------------

  --disable-fcntl                         --with-dbmalloc
  --enable-8bit-keys                      --with-defaults-dir
  --enable-append-pid                     --with-dmalloc
  --enable-break-long-lines               --with-domain-name
  --enable-broken-listgroup-fix           --with-editor
  --enable-color                          --with-gpg
  --enable-curses                         --with-inews-dir
  --enable-debug                          --with-inn-nntplib
  --enable-echo                           --with-iso-to-ascii
  --enable-etiquette                      --with-ispell
  --enable-fascist-newsadmin              --with-libdir
  --enable-flock                          --with-local-charset
  --enable-inverse-video                  --with-mailbox
  --enable-locale                         --with-mailer
  --enable-lockf                          --with-metamail
  --enable-mh-mail-handling               --with-mime-default-charset
  --enable-mime-strict-charset            --with-ncurses
  --enable-mmdf-mailer                    --with-nntp-default-server
  --enable-nntp                           --with-nov-dir
  --enable-nntp-only                      --with-nov-fname
  --enable-pgp-gpg                        --with-pcre
  --enable-piping                         --with-pgp
  --enable-posting                        --with-pgpk
  --enable-printing                       --with-screen
  --enable-prototypes                     --with-shell
  --enable-shell-escape                   --with-spooldir
  --enable-warnings                       --with-trace
  --enable-xhdr-xref

  ENFORCE_RFC1034                         NNTP_SERVER_FILE
  EVIL_INSIDE                             PROFILE
  FORGERY                                 REQUIRE_BRACKETS_IN_DOMAIN_LITERAL
  HAVE_LIBUU                              SMALL_MEMORY_MACHINE
  HAVE_UUDEVIEW_H                         THREAD_SUM
  NETLIBS                                 THREAD_WEIGHT
  NNTP_INEWS                              USE_CANLOCK
  FOLLOW_USEFOR_DRAFT

Not yet documented configure options and defines:
-------------------------------------------------

TIN related:
  --enable-included-msgs                  --with-included-gettext
  --enable-ipv6                           --with-socks
  --enable-nls                            --with-socks5
  --with-catgets                          --with-sum

  DEBUG                                   MATCH_TAR_PATTERN
  DEBUG_NEWSRC                            NEW_HASH_METHOD
  DEBUG_NEWSRC_FIXME                      OPTIMIZE_JUST_STAR
  DEBUG_REFS (see doc/DEBUG_REFS)         REREAD_ACTIVE_FILE_SECS
  JUST_TESTING

System related:
  --bindir                                --oldincludedir
  --datadir                               --prefix
  --exec-prefix                           --program-prefix
  --includedir                            --program-suffix
  --infodir                               --program-transform-name
  --install-prefix                        --sbindir
  --libdir                                --sharedstatedir
  --libexecdir                            --srcdir
  --localstatedir                         --sysconfdir
  --mandir


News machine names
------------------

--with-domain-name (default: unset)
Defines the name of your news gateway machine. Useful if you don't want
your internal network visible to the outside world, or if your inews script
or NNTP server rewrites your address for you.
If the first letter of the string is a '/' the gateway name will be read from
the specified file.

Example: If you are on machine 'tragic' at network domain 'confusion.com',
Tin will assume your From: line should read "user@tragic.confusion.com". If
your inews script instead rewrites your address as "user@confusion.com", you
will be unable to cancel your own postings. To make your posts and cancels
work properly, configure using --with-domain-name="confusion.com".

General Notes on Building Tin
-----------------------------

Tin has been compiled on a wide range of Un*x machines with cc and gcc.
It has even been ported to other systems like the Amiga.
A list of these machines can be found at the end of this file.

This file is long (so was the yellow brick road) but please read it all
as it could save you problems later and we don't want an unhappy ending
do we? :-)

Tin can be compiled to read news in any of the following ways:

  o  locally from your machines news spool dir (default /var/spool/news,
     can be set via --with-spool-dir).

  o  locally and remotely via NNTP (rtin or tin -r option) (--enable-nntp).

  o  remotely via NNTP (--enable-nntp-only).

If the remote server supports NOV overview indexing, then tin will retrieve
overview data on the fly using the NNTP XOVER extension. Otherwise tin will
create its own NOV style index files on the local machine for each user in
$HOME/.tin/.index

Many machines require the name of the news gateway machine or the news
domain to be set via the --with-domain-name configure options. This is
true of both NNTP and local news systems.


Building the Normal version:
----------------------------

1)  Type './configure --help' to see which options are needed for your
    local setup. These options are described below, too.

2)  Change conf-tin for your needs or run ./configure with all needed
    options.

3)  Type 'make build' to build tin in the src/ directory.
    Alternatively go to the src subdirectory and type 'make'.

4)  Type 'make install' to install.

5)  Have a look at doc/tin.defaults and set options as you need them (if
    they differ from your compile time options). If you make any changes,
    type 'make install_sysdefs' afterwards.


Testing Tin
-----------

Of course you _were_ going to test it before installing it for anyone else
to use, weren't you? This is just a little reminder and some suggestions
on what to test first, and where to look first if it's broken.

Things to test:

1) Check that you can read news from several local and world-wide groups.
   If this fails, check that the NNTP define directives are correctly set,
   and for local news systems, that the News directory structure define
   directives are correctly set. For NNTP versions, check that the server is
   actually running and can be connected to from your machine. This should
   help you find and fix some of the most common problems.

   If reading news works fine, then:

2) Check that you can post a test message to a local distribution group,
   preferably a test-only group. (Remember, the world does not care to know
   whether you are testing Tin.) If it fails, check that the
   --with-inews-dir option is correctly set, that NNTP_INEWS is correctly
   set, and that the News machine name define directives are correctly set.
   If possible, check whether you can post via some other mechanism, such
   as Pnews. This should help you isolate and fix the most common problems.

   If posting news works fine, then:

3) Check that you can cancel one of your test postings. If not, it is
   almost certain that your News machine defines need to be set correctly,
   because Tin thinks your From: line is different from what has actually
   been posted. See the section on News machine names above and below.

Further testing is desirable, but left to your individual conscience and
ingenuity.


Detailed list of configure options (beginning with '--') and compiler flags
(-D<name> directives)

Compiler and machine options
----------------------------

--enable-warnings (default: off)
Enable if you want to see all GCC compiler warnings during compilation.

--enable-echo (default: off)
Enable if you want to see full display compiling commands during compilation.

--enable-prototypes (default: off)
Enable if you want configure to check for various fallback prototype
declarations.

SMALL_MEMORY_MACHINE (default: not set, except on Amiga)
Define if you are running a machine with little memory (<4MB). Tin will
run slightly slower but be more efficient in how memory is allocated and
reclaimed.


News directory structure
------------------------

--with-libdir=PATH (default: /usr/lib/news or not set)
Define if news software is not in /usr/lib/news. (Only needed if not
running --enable-nntp-only.) Compiled-in value can be overridden by setting
the newslibdir entry in doc/tin.defaults (don't forget to 'make
install_sysdefs' to install the tin.defaults file at a location where tin
can find it!).

--with-spooldir=PATH (default: /var/spool/news or not set)
Define if news articles are not in /var/spool/news. (Only needed if not
running --enable-nntp-only.) Compiled-in value can be overridden by setting
the spooldir entry in tin.defaults (don't forget to 'make install_sysdefs'
to install the tin.defaults file at a location where tin can find it!).

--with-nov-dir=PATH (default: same as --with-spooldir)
Define if news overview (NOV) files are not stored in SPOOLDIR. (only
needed if not running --enable-nntp-only) Compiled-in value can be
overridden by setting the overviewdir entry in tin.defaults (don't forget
to 'make install_sysdefs' to install the tin.defaults file at a location
where tin can find it!).

--with-nov-fname=NAME (default: .overview or not set)
Define if your news overview files are not named .overview. (Only needed if
not running --enable-nntp-only.) Compiled-in value can be overridden by
setting the overviewfile entry in tin.defaults (don't forget to 'make
install_sysdefs' to install the tin.defaults file at a location where tin
can find it!).

--with-inews-dir=PATH (default: same as --with-libdir or /usr/lib/news)
Define if the 'inews' program is not in the directory specified with
--with-libdir (if not running --enable-nntp-only) or /usr/lib/news (if
running --enable-nntp-only). Compiled-in value can be overridden by setting
the inewsdir entry in tin.defaults (don't forget to 'make install_sysdefs'
to install the tin.defaults file at a location where tin can find it!).


NNTP - Reading & posting news
-----------------------------

--enable-nntp (default: on)
Enable if you wish to read news locally and remotely via an NNTP
server. Disable if you only want to read from local spool. Note: If you
disable this feature, you won't be able to connect to any NNTP server.

--enable-nntp-only (default: off)
Enable if you [want to | can] ONLY read news remotely via an NNTP server.

--with-nntp-default-server (default: news.$DOMAIN_NAME)
Defines the name of the default NNTP server that tin should connect to.
Can be overridden by setting the environment variable NNTPSERVER.

--enable-broken-listgroup-fix (default: off)
Bypass a bug in some broken NNTPservers which need an extra GROUP command
before accepting a LISTGROUP command.

--with-inn-nntplib=PATH (default: not set)
Define if you want to use the INN library functions GetConfigValue()
& GetFQDN(). PATH must be the correct path to the INN library.

--enable-xhdr-xref (default: on)
If disabled, don't allow using XHDR XREF if XOVER doesn't work to mark
crossposted articles as read in all groups.

The following options determine which locking method should be used when
appending posted or postponed messages to mailbox-style files. Tin will
try each method that can be configured, in succession. If none of your
selections can be configured, tin will try each possibility anyway. The
intent of these options is to prevent particular locking methods from
being configured into the executable.

        --disable-fcntl         disable fcntl() locking
        --enable-lockf          enable lockf() locking
        --enable-flock          enable flock() locking

NNTP_INEWS (default: set if using VMS, --enable-nntp, or enable-nntp-only;
                     unset if building an INDEX_DAEMON or not using NNTP)
Define if you want to use the built-in NNTP POST routine so that you no
longer have to rely on the mini-inews from NNTP to be installed on each
client machine. Also check that --with-domain-name is correctly set to
produce a correct From: headers for your site. If defined then the
~/.tin/tinrc variable "inews_prog" default will be set to --internal.
The tinrc file is created automatically for each user the first
time they use tin.

NNTP_SERVER_FILE (default: /etc/nntpserver, on Amiga: uulib:nntpserver)
Only define if your NNTP-server file is other than /etc/nntpserver.

NETLIBS (default: empty)
Contains the networking libraries needed to link with nntplib.o file.


Options to set some default values
----------------------------------

--with-shell=PROG (default: sh, except on BSD where csh is used)
Define the default shell which is used if the $SHELL variable is not set,
and the user has not defined it in their tinrc file. Do not give the
directory as part of the program name; the configure script will look for
it in standard locations.

--with-defaults-dir=PATH (default: /etc/tin)
Define the directory for the tin.defaults file. With the entries in the
tin.defaults you can set some machine specific options and override some
compile time defaults. See the tin.defaults file in the doc directory for
more information.

--with-editor=PROG (default: empty)
Define if the standard editor should be anything other than the value of
your EDITOR or VISUAL environment variable or, at as the last resort, vi.
You can also add some default command line options to the editor. Users
can overwrite this value by setting default_editor_format in their tinrc
file.

--with-mailer=PROG (default: empty)
Define the default mailer program.

--with-mailbox=PATH (default: empty)
Define the directory for incoming mailboxes. If none is given,
/var/spool/mail, /usr/spool/mail, /var/mail, /usr/mail, and /mail are
checked automatically.

--enable-etiquette (default: on)
If enabled, prints netiquette before posting by default. Users can turn
this off by setting beginner_level to OFF in their tinrc. If disabled,
netiquette is never displayed (cannot be turned on without recompiling).


Input and screen output options
-------------------------------

--enable-locale (default: on)
If enabled, tin uses multi language support, as described in locale(7). If
you don't have locale support installed on your system, try
--disable-locale, otherwise you won't see any 8-bit-characters. See
doc/umlauts.txt (english text) or doc/umlaute.txt (german text) for further
information.

--with-mime-default-charset=charset (default: US-ASCII)
Define if your users usually post messages in another charset than
US-ASCII. Europeans should use one of the ISO-8859-X series here.
Compiled-in default value can be overridden by setting the mm_charset entry
in tin.defaults (don't forget to 'make install_sysdefs' to install the
tin.defaults file at a location where tin can find it!). Users can override
this value by setting MM_CHARSET in the options menu or using the
MM_CHARSET environment variable.

--enable-mime-strict-charset (default: on)
If this option is turned on, any characters of charsets other than that
defined in MM_CHARSET will be considered non-displayable. If your standard
encoding is ISO-8859-X then you probably want to disable this option.

--with-iso-to-ascii=value (default: -1)
Define if you want tin to do ISO-8859-1 to ASCII charset conversions by
default for all groups. You must specify a value of "0-6" to get tin to use
one of the following 7 conversion tables for different languages

        0  replace 8-bit letters by 7-bit counterpart without diacritics
           (Ä -> A) and other characters by similar 7-bit ones (» -> >>)
        1  same as 0, but use only one character (preserves layout)
        2  convert 8-bit letters to 7-bit replacements (Ä -> Ae)
           (useful for Danish, Dutch, German, Norwegian and Swedish)
        3  replace 8-bit letters by 7-bit ISO 646 characters
           (mostly for Danish, Finnish, Norwegian and Swedish)
        4  convert 8-bit characters according to RFC 1345
        5  build 8-bit characters by combining serveral 7-bit chars and
           using backspace (useful for printers)
        6  ???

E.g., adding --with-iso-to-ascii=2 to the configure options would be useful
in german language newsgroups. For more detailed info read the file
./doc/iso2asc.txt. Default value for --with-iso-to-ascii is "-1", which
means no conversion at all. Users can override this value by setting an
environment variable ISO2ASC.

--with-local-charset=identifier
Define if you want charset conversions. You only need this if you compile
tin for a Microsoft or NeXT operating system. Set identifier to one of the
following values:

        437     ibm437<->iso-8859-1 conversion
        850     ibm850<->iso-8859-1 conversion
        1       next<->iso-8859-1 conversion
        unset   no conversion (default)

--with-screen=type (default: termcap)
This is a simpler way (than --with-ncurses and --enable-curses) to specify the
screen library. If you give none of these options, the configure script will
look for the termcap or terminfo interfaces, and attempt to use the most
appropriate one that your system supports. The other screen types which
you may select are: curses, ncurses, ncursesw, pdcurses.

--with-ncurses
Define this if you want to link with ncurses instead of termcap. Note: This
is required on some Linux distributions (i.e., SuSE) where there is either a
curses or termcap library which is not ncurses. If ncurses is installed as the
curses library, this option is usually not needed.

--enable-curses (default: off)
Enable this if you wish to use the curses screen optimizing rather than
termcap. This has been tested well starting with ncurses 4.1; it should work
(except for mouse support and screen resizing) with SVr4 curses (Solaris
2.5 is known to have a bug in libc which prevents use of curses, ncurses
works well on that platform). To build with ncurses screen optimizing,
you must give both the --with-ncurses and --enable-curses options or
give the --with-screen=ncurses option.

--enable-inverse-video (default: on)
Disable if you want inverse video and highlighted bar disabled by default.
Can be toggled in tin by the 'I' command. Users can also set draw_arrow and
inverse_ok variables in their tinrc to override this default.

--enable-8bit-keys (default: on)
Enable if your terminal generates 8-bit controls. For Unix systems we
assume this may imply your arrow keys begin either with CSI (0x9b) or SS3
(0x8f). Most ANSI terminals generate 7-bit controls (e.g., CSI is
"<esc>["), but some such as VT220 can be configured more efficiently to
generate 8-bit prefix codes, saving a byte per control sequence. This
applies to cursor movement at the same time. The actual codes are read
from termcap (this does not affect the curses configuration).


Feature options
---------------

--enable-color (default: on)
Enable if you want to have ANSI-color support. This works on most color
displays and the color xterm. The color mode can be switched on/off in
~/.tin/tinrc (use_color) and can be toggled with option -a or key '&'.

--enable-pgp-gpg (default: on)
Use --disable-pgp-gpg to turn off all pgp/gpg support, use
--with[out]-[pgp|pgpk|gpg] to select exactly one of the encryption
systems!

--with-pcre[=PATH] (default: bundled copy of pcre)
Define if you wish to use an externally-installed copy of PCRE
(Perl-compatible regular expressions). If you specify a PATH, it should
be the root of a directory containing the include- and lib-directories
where PCRE is installed. If you do not specify a PATH, the makefile
will use the standard locations for this library. Tin will build with
PCRE 2.08 and later.

--with-pgp=PATH (default: from system $PATH)
Define if you have PGP-2 (Pretty Good Privacy encryption system)
installed and want the option of checking signatures, extract keys,
sign messages and add public key to messages. This is bound to the
key 'g' or '^G'. Say --without-pgp if you don't want pgp-2 support.

--with-pgpk=PATH (default: from system $PATH)
Define if you have PGP-5 (Pretty Good Privacy encryption system)
installed and want the option of checking signatures, extract keys,
sign messages and add public key to messages. This is bound to the
key 'g' or '^G'. Say --without-pgpk if you don't want pgp-5 support.

--with-gpg=PATH (default: from system $PATH)
Define if you have GPG (GNU Privacy Guard encryption system)
installed and want the option of checking signatures, extract keys,
sign messages and add public key to messages. This is bound to the
key 'g' or '^G'. Say --without-gpg if you don't want gpg support.

--with-ispell=PATH (default: set automatically)
Define if you have ispell (interactive spell-checker) installed and want
the option of checking your articles, mails before posting/mailing them. If
found in search path, this is used automatically.

--with-metamail=PATH (default: set automatically)
Define if you want metamail display your MIME messages. If found in search
path, this is used automatically.

--enable-posting (default: on)
If disabled, TIN does not allow posting/followup of articles.

--enable-fascist-newsadmin (default: off)
Enable if you want to restrict articles posted with your tin a bit to
enforce some formal rules. This will change the following warnings to an
error in the article checking routine therefore causing the user to reenter
the editor and change the article or to abort posting:
 - Group(s) in Newsgroups: or Followup-To: header were not found in
   the sites' active file
 - Approved: header was found when user was in beginner level
 - Signature has more than MAX_SIG_LINES (see include/tin.h) lines
 - Crossposting without Followup-To: header
 - Followup-To: header with more than one newsgroup

--enable-shell-escape (default: on)
If disabled, do not allow shell escapes. Note: There may still be
possibilities for users to start a shell (e.g. from within an editor or
using a shell as the "editor"), even if you disable this feature here.
They are just not able to use the '!' key to do so.

--enable-piping (default: on)
Disable if your system does not support piping of articles to shell commands
or if you don't want your users to have such support. Note: There may still
be possibilities for users to "pipe" an article to a command, even if you
disable this feature. They are just not able to use the '|' key to do so.

--enable-printing (default: on)
Disable if your system does not support printing or if you don't want your
users to have such support. Note: There may still be possibilities for users
to print an article, even if you disable this feature. They are just not
able to use the 'o' key to do so.

--enable-mh-mail-handling (default: off)
Enable if you want to use the MH style mail handling & reading code in
mail.c. It should be noted that mail handling is not well tested and not
yet fully implemented. You can expect errors if you use this option so let
me know the problems by sending me a bug report ('R' bug command from
within tin). See doc/reading-mail.txt for further information.

--enable-mmdf-mailer (default: off, except on SCO Unix)
If enabled, MMDF type mail handling is used as the default (instead of
mbox format). On SCO Unix this is always the case, no matter what you use
here. It can be dynamically changed by setting the tinrc variable
save_to_mmdf_mailbox to ON or OFF, respectively.

[NOTE: To change the default behaviour on SCO Unix, have a look to
 include/tin.h and search for HAVE_MMDF_MAILER.]

HAVE_LIBUU (default: set automatically)
HAVE_UUDEVIEW_H (default: set automatically)
Define *both* if you want to use libuu for uudecoding and collecting
multipart binary articles (libuu is part of uudeview, which can be found at
<http://zeus.informatik.uni-frankfurt.de/~fp/uudeview/>). libuu must be
somewhere in the library paths, uudeview.h somewhere in the include paths
when compiling. If they are found there by configure, these defines are set
automatically.


Debug/test options
------------------
--with-dbmalloc (default: off)
Link with Conor Cahill's dbmalloc library, used to check for memory leaks,
incorrect frees, etc.

--enable-debug (default: off)
Define if you want tin to log debug information to files in /tmp. Activated
by tin -Dn where n is 1 for NNTP only debug logging and n is 2 for logging
all debug info. Debug files written to /tmp are ARTS, ACTIVE, BASE and
NNTP.

--with-trace (default: off)
Trace data which is formatted and written to the screen. Use this to debug
changes to the curses or termcap interfaces.

--with-dmalloc (default: off)
Link with Gray Watson's dmalloc library, used to check for memory leaks,
incorrect frees, etc.

PROFILE
profile time consuming opperations


Miscellaneous options
---------------------

--enable-append-pid (default: on)
Enable if you want tin to append its process id to any file that a user
edits (.article, .cancel, .letter etc.). Highly recommended if a user wants
to start several instances of tin at a time; otherwise files might be
overwritten.

--enable-break-long-lines (default: off)
Enable if you want tin to break long MIME encoded header lines in
accordance with RFC 2047 (i.e. after 76 characters) in postings as well as
in e-mail. Default is to not break ("fold") such lines in news postings
because some news servers and clients can't handle them very well (doing
folding right seems to be a major problem). This option only affects
headers in postings; e-mail headers are always folded if they have MIME
encoded words and are longer than 76 characters.

FORGERY (default: not set)
Define if you want to be able to cancel postings you did not write
yourself. The !cyberspam and cancel conventions are supported. Be
careful with this feature, it should not be used in an free accessible
tin. This feature does not work with INN using the INN-inews (when
using without NNTP), because INN-inews rejects these cancels.

ENFORCE_RFC1034
require domain name components not to start with a digit (GNKSA-check)

REQUIRE_BRACKETS_IN_DOMAIN_LITERAL
require domain literals to be enclosed in square brackets (GNKSA-check)

TINC_DNS
allow additional toplevel domains (GNKSA-check)

THREAD_SUM
sum the score of the thread and show the sum of the whole thread instead
of the score of the first unread art in the thread

THREAD_WEIGHT
divide the sum of the score of the articles in the thread by the number
of articles in th thread, requires THREAD_WEIGHT

EVIL_INSIDE
let tin generate message-ids

USE_CANLOCK
turn on cancel-locks, you need to compile libcanlock first by running
./Build in the libcanlock dir

HAVE_MBOXRD
quote quoted and plain From_ lines in the body. mboxo is more common.

FOLLOW_USEFOR_DRAFT
issue a warning instead of an error-message if Newsgroups: or
Followup-To:-header contains spaces, newlines or tabs.

Compiled & installed on the following machines:
-----------------------------------------------
alphaev6-unknown-linux-gnu  (glibc 2.2.0)  gcc 2.95.2    (1.5.9 release 20010723)          <urs@tin.org>
alphaev67-unknown-linux-gnu (glibc 2.1.3)  gcc 2.95.3    (1.5.9 release 20010723)          <urs@tin.org>
armv4l-unknown-linux-gnu    (glibc 2.1.2)  gcc 2.95.1    (1.5.9 release 20010723)          <urs@tin.org>
hppa1.1-unknown-linux-gnu   (glibc 2.2.4)  gcc 3.0.3     (1.5.10 release 20011117)         <urs@tin.org>
i486-pc-linux-gnulibc1      (libc 5.4.33)  gcc 2.7.2.1   (1.4.0 release 19991113)          <urs@tin.org>
i486-pc-linux-gnuoldld      (libc 4.5.26)  gcc 2.5.8     (1.4.5 release 20010409)          <dennis@pcde.inka.de>
i586-pc-linux-gnu           (glibc 2.2.2)  gcc 2.95.3    (1.5.9 release 20010723)          <urs@tin.org>
i586-pc-linux-gnu           (glibc 2.0.7)  tcc 4.1.2     (1.4.0 release 19991113)   [3]    <urs@tin.org>
i586-pc-linux-gnu           (glibc 2.1.1)  lcc 4.27      (1.4.0 release 19991113)   [3][4] <urs@tin.org>
i586-pc-linux-gnu           (glibc 2.1.1)  fcc 1.0       (1.5.1 release 20000103)          <urs@tin.org>
i686-pc-linux-gnu           (glibc 2.2.4)  gcc 3.0.3     (1.5.10 release 20011117)         <urs@tin.org>
i686-pc-linux-gnu           (glibc 2.2.4)  icc 5.0.1     (1.5.10 release 20011117)         <urs@tin.org>
ia64-unknown-linux          (glibc 2.2.0)  sgicc 0.01.0  (1.5.8 release 20010221)          <urs@tin.org>
ia64-unknown-linux          (glibc 2.2.3)  gcc 2.96-ia64 (1.5.8 release 20010221)          <urs@tin.org>
m68k-unknown-linux-gnu      (glibc 2.1.3)  gcc 2.95.2    (1.4.5 release 20010409)          <st.weichert@gmx.de>
mipsel-unknown-linux-gnu    (glibc 2.0.7)  gcc 2.7.2     (1.4.0 release 19991113)          <urs@tin.org>
powerpc-unknown-linux-gnu   (glibc 2.1.3)  gcc 2.95.2    (1.5.6 release 20000803)          <urs@tin.org>
s390-ibm-linux              (glibc 2.1.3)  gcc 2.95.2    (1.5.9 release 20010723)          <urs@tin.org>
sparc-unknown-linux-gnu     (glibc 2.2.4)  gcc 2.95.3    (1.5.10 release 20011117)         <urs@tin.org>

alpha-unknown-netbsd1.5.1                  egcs 2.91.66  (1.5.10 release 20011117)         <urs@tin.org>
i386-unknown-netbsd1.4.1                   egcs 2.91.60  (1.5.1 release 20000103)          <urs@tin.org>
i386-unknown-netbsdelf1.5                  egcs-2.91.66  (1.5.9 release 20010723)          <urs@tin.org>
m68k-cbm-netbsd1.4                         egcs 2.91.60  (pre-1.4 release 19990927)        <rhoenie@many.de>
vax-unknown-netbsd1.4M                     egcs 2.91.60  (pre-1.4 release 19990927)        <laura@tin.org>

alpha-unknown-freebsd4.3                   gcc 2.95.3    (1.5.9 release 20010723)          <urs@tin.org>
i386-unknown-freebsd2.2                    gcc 2.7.2.1   (1.5.6 release 20000803)   [7]    <urs@tin.org>
i386-unknown-freebsd3.1                    gcc 2.7.2.1   (pre-1.4 release 19990927)        <goose@muffin.org>
i386-unknown-freebsd3.2                    egcs 2.91.60  (pre-1.4 release 19990927)        <goose@muffin.org>
i386-unknown-freebsd4.3                    gcc 2.95.3    (1.5.9 release 20010723)          <urs@tin.org>

alpha-unknown-openbsd3.0                   gcc 2.95.3    (1.5.10 release 20011117)         <urs@tin.org>
i386-unknown-openbsd2.7                    gcc 2.95.2    (1.4.4 release 20000803)          <ry04@rz.uni-karlsruhe.de>

m68k-sun-sunos4.1.1                        gcc 2.7.2.2   (pre-1.4 release 981002)          <urs@tin.org>
sparc-sun-sunos4.1.3                       gcc 2.6.0     (pre-1.4 release 19990927)        <andy@tin.org>
sparc-sun-solaris2.5                       gcc 2.7.2     (pre-1.4 release 19990927)        <urs@tin.org>
sparc-sun-solaris2.5.1                     gcc 2.8.1     (1.5.10 release 20011117)         <urs@tin.org>
sparc-sun-solaris2.6                       gcc 2.8.1     (pre-1.4 release 19990927)        <dk@ssw.krakow.pl>
sparc-sun-solaris2.7                       gcc 2.95.2    (1.5.6 release 20000803)   [6]    <urs@tin.org>
sparc-sun-solaris2.8                       gcc 2.95.2    (1.5.9 release 20010723)   [6]    <urs@tin.org>

mips-sgi-irix5.2                           cc 3.18       (1.4.3 release 20000502)          <sven@tin.org>
mips-sgi-irix5.3                           cc 3.19       (1.4.3 release 20000502)          <sven@tin.org>
mips-sgi-irix6.2                           cc 7.000      (1.4.0 release 19991113)          <andy@tin.org>
mips-sgi-irix6.2                           gcc 2.7.2.2   (pre-1.4 release 19990927)        <turin@incubus.de>
mips-sgi-irix6.4            (IRIX64)       cc 7.10       (pre-1.4 release 19990927)        <laura@tin.org>
mips-sgi-irix6.5                           gcc 2.95.2    (1.4.3 release 20000502)          <sven@tin.org>

mips-dec-ultrix4.4                         cc            (pre-1.4 release 19990927) [1]    <urs@tin.org>

alpha-dec-osf4.0b                          cc 5.2-033    (pre-1.4 release 19990927)        <roland@tin.org>
alphaev56-dec-osf4.0g                      cc 6.3-126    (1.5.9 release 20010723)          <urs@tin.org>
alphaev6-dec-osf4.0f                       gcc 2.95.2    (1.5.3 release 20000221)          <jason@radar.tele2.co.uk>
alphaev6-dec-osf5.0                        cc 6.3-126    (1.5.6 release 20000803)          <urs@tin.org>
alphaev6-dec-osf5.1                        cc 6.3-126    (1.5.6 release 20000803)          <urs@tin.org>
alphaev67-dec-osf5.1                       cc 6.4-212    (1.5.9 release 20010723)          <urs@tin.org>

powerpc-ibm-aix4.3.1.0                     egcs 2.91.60  (pre-1.4 release 19990927)        <rhoenie@mayn.de>
powerpc-ibm-aix4.3.3.0                     gcc 2.95.3    (1.5.10 release 20011117)         <nils@bissingstrasse36.de>
rs6000-ibm-aix3.2.5                        xlc 1.3       (pre-1.4 release 19990927)        <andy@tin.org>
rs6000-ibm-aix4.1.5.0                      xlc 3.1       (1.4.0 release 19991113)          <andy@tin.org>
rs6000-ibm-aix4.1.5.0                      gcc 2.8.1     (pre-1.4 release 19990927)        <andy@tin.org>

hppa1.0-hp-hpux8.00                        cc 8.39       (pre-1.4 release 980226)          <urs@tin.org>
hppa1.1-hp-hpux9.05                        cc 9.84       (1.4.4 release 20000803)          <andy@tin.org>
hppa1.1-hp-hpux9.07                        cc 9.77       (1.5.1 release 20000103)          <urs@tin.org>
hppa1.1-hp-hpux9.07                        gcc 2.7.2.3   (1.4.0 release 19991113)          <urs@tin.org>
hppa1.1-hp-hpux10.20                       cc 10.32.20   (1.4.4 release 20000803)          <andy@tin.org>
hppa1.1-hp-hpux10.20                       gcc 2.8.1     (1.4.0 release 19991113)          <andy@tin.org>
hppa1.1-hp-hpux11.00                       cc 11.11.02   (1.5.10 release 20011117)         <urs@tin.org>
hppa1.1-hp-hpux11.00                       gcc 2.95.2    (1.5.6 release 20000803)          <urs@tin.org>
hppa2.0-hp-hpux10.20                       cc 10.32.05   (1.5.6 release 20000803)          <urs@tin.org>
hppa2.0-hp-hpux10.20                       gcc 2.7.2.3   (1.4.0 release 19991113)          <urs@tin.org>

i386-sni-sysv4                             cc 3.5F       (1.5.6 release 20000803)          <urs@tin.org>

f300-fujitsu-uxpv4.1_ES                    cc 1.04       (pre-1.4 release 19990927)        <andy@tin.org>

i686-pc-cygwin              (Cygwin 1.1.6) gcc 2.95.2    (1.5.8 release 20010221)   [2]    <urs@tin.org>

powerpc-apple-rhapsody5.6                  gcc 2.7.2.3   (1.5.4 release 20000523)   [5]    <bkuemmer@gmx.net>

powerpc-apple-darwin1.3                    gcc 2.95.2    (1.4.5 release 20010409)          <ventora-public@gmx.de>
powerpc-apple-darwin1.3.7                  gcc 2.95.2    (1.5.9 release 20010723)          <urs@tin.org>

i386-unknown-gnu0.2                        gcc 2.95.3    (1.5.9 release 20010723)          <urs@tin.org>

i386-pc-nto-qnx                            gcc 2.95.2    (1.5.9 release 20010723)          <urs@tin.org>

[i586-pc-beos                              gcc 2.9-beos  (1.5.9 release 20010723)   [8][9] <urs@tin.org>]


[1] add extra space at the end of buf[] in src/screen.c:spin_cursor()
    (fixed in the 1.4.0 release)
[2] see README.WIN
[3] parsdate.c can't be compiled with lcc (use gcc), tcc -Xp or -Xs (if
    created with bison, use byacc or compile with tcc -Xc) - should be
    fixed.
[4] alloca detection fails, remove alloca.o from src/Makefile before
    compiling
[5] two small patches to config.guess and config.sub needed
    (fixed in the 1.5.5 release)
[6] don't use --enable-curses if linking against Solaris curses
[7] src/curses.c:get_termcaps() needs t declared
    (fixed in the 1.5.7 release)
[8] curses.c and read.c need #include <net/socket.h> for fd_set
    (fixed in the 1.5.10 release)
[9] networking doesn't work; reading from a faked local spool works fine
