@(#)$eterna: INSTALL,v 2.27 2024/01/11 18:51:53 mrg Exp $

to compile ircii

  o  ircii now requires an C99 compiler.  this was not the case in
     in any version prior to 2014, but 15 years of C99 is long
     enough...

  o  using configure:
      - we recommend that you create an object directory in the same
	directory that this file is in.  you should then cd into your
        new directory and run the `configure' script in the source
	directory.  eg:

	% mkdir obj-sparc
	% cd obj-sparc
	% ../configure

      - this script tries to guess various things about your system
        that are important to it compiling.  it creates various files
        in this process.  configure takes a couple of minutes to run.

      - when this has finished, you might want to check the Makefile
        for the places ircii will be installed.  the defaults are
        /usr/local/share, /usr/local/bin and /usr/local/man.  you can
        either do `make prefix=/local' or set it with configure, by
        calling configure with the `--prefix=/local' switch.

      - you can set the compile-time paranoid switch (currently
	turns of CTCP VERSION and FINGER commands returning host
	system, and user details) with the `--with-paranoid' flag to
	configure.

      - you can run `./configure --help' to see all the options that
	you may pass to ./configure.

  o  to compiling ircii, type `make' in your object directory.
     this will compile the `irc', `ircflush', `ircio', and `wserv'
     programs that reside in the source sub directory.

  o  once the programs are compiled, you can install them with
     `make install'.  this will install all the binaries, scripts,
     translation tables, help files, and the ircii manual page.  if
     you don't install the scripts then ircii becomes much less usable.

  o  you can now delete the object files and binaries from your object
     directory with `make clean'.  `make distclean' will also delete
     any file that `configure' created.  this is useful for then
     using the same sources to compile on a different architecture.

  o  there is a relatively "lame" Makefile generated if you try to use
     the old method of "./configure && make" while in the ircii root
     directory.  if you're using the old method, you're probably not
     even going to read this file...


notes on SOCKS support.

  o  in order to compile in SOCKS support, you must use `configure'
     and specify the `--with-socks' switch.  you can optionally specify
     a path (e.g. `--with-socks=/usr/local/lib/libsocks.a').  otherwise,
     configure will look for the SOCKS library only in the directory
     specified by the `--prefix' option (`/usr/local/lib' by default).
     there are also --with-socks4 and --with-socks5 options to force
     the use of SOCKS4 or SOCKS5 library.

  o  an irc server getting a connection through a SOCKS proxy will
     not be able to do RFC1413 identification properly.  if you have
     an identd running on the SOCKS proxy host, the irc server will
     incorrectly identify all users as `root'.

  o  SOCKS support is incompatible with ircii's support for non-blocking
     connects.  if you don't know what this means, don't worry about it.


notes on portability and bugs.

  o  if you encounter a bug, try the provided `ircbug' script which will
     submit a bug report and have it entered automatically into the
     ircii bugs database.  send email with the subject of `--help' (no
     body necessary, but it is ignored) to query-pr@eterna23.net
     to see how to use this service.

  o  if you are using linux and receive a message from `configure' that
     it can't find tgetent or you get missing tputs symbols, try
     installing the ncurses-devel or libtermcap-devel package.

  o  apparently you will get errors of "__inet_addr" or "__inet_ntoa"
     as being undefined, if you have BIND version 8 installed into
     /usr/local (the default) and you use gcc.  this is caused by the
     annoyingly stupid defines in the BIND provided <arpa/inet.h> header
     file, which gcc will happily pick up from /usr/local/include.
     the solution to this is to add -lbind to the LIBS= line in the
     Makefile, once configure has run.

  o  on solaris systems with libresolv patches incorporated may see
     instability (crashes) in the client.  (sunos 5.5.1 patches
     103680-01, 103683-01, 103686-01, 103743-01, and 103663-01).

  o  Under NEXTSTEP, after you have run configure, you can change the
     CFLAGS and add "-arch m68k -arch i486 -arch hppa -arch sparc" (without
     the quotes) to create a multiple architecture binary for all supported
     hardware platforms.
