QUICKSTART

	Read the NEWS file.
	./configure
	make
	make install
	quirc


NOTES

If you have problems installing QuIRC, please visit #QuIRC on irc.dal.net for
assistance, or failing that, mail quirc@patearl.net.

QuIRC is at the moment compatible with TCL 8.x.  There is no gaurantee that it
will always be backwards compatible.  It may lose backwards compatibility
without notice.


GETTING THE FILES

Tcl - http://www.scriptics.com/download/tcl/tcl8_3/tcl8.3.3.tar.gz

Tk - http://www.scriptics.com/download/tcl/tcl8_3/tk8.3.3.tar.gz

QuIRC - http://patearl.net/quirc/
      - http://quirc.sourceforge.net/


CONFIGURING

Be sure Tcl/Tk is installed by this point.

Most people can simply run:

	./configure

However, sometimes you may need to use some of the other options provided by
configure.  You can use:

	./configure --help

to list the available options.

If you do not want to "make install" quirc, you should run configure as:

	./configure --with-no-install

You will need to run quirc out of the source directory however, (ie ./quirc),
because it must be started from within the source directory in order to locate
its data files to use when the --with-no-install option is used.

If QuIRC does not ./configure and make automatically on your machine, and you
don't have an obscure abnormal setup, I would like to get details on what
failed so that I may better automate the process.

Socks5 Suppport

QuIRC has untested socks5 support now.  If you find out this works (or doesn't
work) please let me know.  If you need a socks5 server, or need information
about it, the following site will be helpful:

	http://www.socks.nec.com/

To enable socks support in QuIRC, run:

	./configure --with-socks

If you want to specify a directory for the socks library, use:

	./configure --with-socks=/path/to/libsocks5.*

Configure Tips

To set your own custom C++ compiler flags, set the environment CXXFLAGS to
whatever you want the flags to be, then run:
	./configure
	make
One alternative is -g -ggdb -Wall -pg for gnu debugging and profiling.


COMPILING

This stage is the simplest.  Merely run:

	make

If you are having problems compiling and are using a C compiler (such as gcc)
or an old compiler, you should make sure you have g++ 2.7.2.3 or above
installed.  QuIRC will not compile with gcc's "C++" support, it needs the full
support provided by g++.  If you do not have such a compiler, I suggest
obtaining gcc from http://www.gnu.org/software/gcc/gcc.html

Make Targets

all
	Default target.  Makes entire program and needed files.
install
	Installs the built sources into the appropriate locations.
uninstall
	Removes the files that were installed by the install target.
install-strip
	Same as install, only it strips the debugging information from the
	executable.
clean
	Deletes files that are created by the make process as well as other
	"junk" files.
distclean
	Deletes everything that did not come with the distribution.
mostlyclean
	Same as clean, only it doesn't delete the built executables.
maintainer-clean
	Deletes all files that could possibly be made automatically (except for
	configure and needed files).
allclean
	Deletes ALL files that could possibly be made automatically.  Run
	./autogen.sh to recreate these files.
TAGS
	Updates a tags table for use in vi/emacs.
dist
	Creates a tarball'd distribution.
distcheck
	Creates a tarball'd distribution and checks to make sure it works.
installdirs
	Creates a couple of directories where the quirc files could go.
quirc
	Makes the main binary file.
quircstatic
	Makes a static version of the main binary file.
inst
	Does:  sudo make install
rpm
	Builds the RPMs from the spec file and the source.
quircspec
	Modifies the spec file for the current version.


INSTALLING

Once QuIRC has been succesfully compiled, you can simply run:

	make install

to install it to its proper location.  If you wish to specify a different
location for installation, use the --prefix option to ./configure.  By default
it installs quirc into /usr/local/bin and the data files into
/usr/local/share/quirc.

If you aren't going to do a system-wide install and are just installing QuIRC
for your own use, you can use ./configure --with-no-install.  There is one
stipulation with this option; you must run quirc from within the source
directory so it knows where to find its data files.  If you don't want to have
to run quirc from the source directory, it is suggested you pass configure the
--prefix option to somewhere you have write and read access to, for example,
$HOME/usr.


Installing Individual User's Data Files

Normally, QuIRC is able to automatically detect when its data files need
upgrading and will inform you about the process.  However, under certain
special cases, such as an unofficial upgrade from the author, you may wish to
force QuIRC to install new data files.  To do so, run:

	quirc -i

The data files are installed in ~/.quirc.


UNINSTALLING

Run ./configure with the same --prefix that you used for the install
./configure.  Then run the uninstall target:

	./configure
	make uninstall

If you installed the data files into your home directory, you will also need
to run:

	rm -rf ~/.quirc


EXAMPLE

The following steps should work to install QuIRC on a machine on which you do
not have root priveledges.  It does not install tcl/tk in any meaningful manner
and compiles them as static libraries to be sure it works.  If you have gcc on
your system, you could put --enable-gcc on the configure line as well.

-Download quirc.tar.gz, tk8.1.tar.gz, and tcl8.1.tar.gz into the same
 directory.

tar zxvf tcl8.1.tar.gz (OR gunzip tcl8.1.tar.gz; tar xvf tcl8.1.tar)
cd tcl8.1/unix
./configure --disable-shared
make
cd ../..
tar zxvf tk8.1.tar.gz
cd tk8.1/unix
./configure --disable-shared
make
cd ../..
cp tcl8.1/unix/libtcl8.1.a .
cp tk8.1/unix/libtk8.1.a .
tar zxvf quirc.tar.gz
cd quirc
./configure --prefix=$HOME/usr
make
make install
~/usr/bin/quirc


PROBLEMS

If you get undefined references to Tcl_EvalObjEx, the likely cause is that
the compiler is using the 8.0 libraries and the 8.1 header files.  You will
need to make sure the versions in use are the same by providing options to
configure.  See ./configure --help for information on the options.

If you get dozens of warnings relating to Tcl_CreateFileHandler, and
Tcl_DeleteFileHandler, the compiler is likely using an older version of the
Tcl/Tk headers than 8.0.  You should specify the location of the tcl headers
using the options found in ./configure --help.

I compile the binary versions linked against glibc2.  When used on a libc5
system, even when the binary is statically linked, it crashes on connect.  If
you are using libc5, you will need to use the source version of QuIRC.

QuIRC does not seem to work properly with TCL 8.1 compiled with threads
support.  I believe this is a problem with Tk itself.  The symptoms are high
constant CPU usage whenever the main window has focus, and the occaisional
freeze.
