BUILDING AND INSTALLING XCONQ

0. A package with an already-built version may be available for your
system.  If you have one, follow that package's instructions for
installation.  You install a Linux RPM with "rpm -i", while for
Windows and Mac it suffices to unpack the .zip or .hqx files and
run the programs from wherever you unpack them.

The following instructions are for people building and installing
Xconq starting from source code.

1. Decide what the kind of system you want to build for.  For Mac,
read INSTALL-mac.  For Unix and Windows 95/98/NT, keep reading here.

2. Provide the required supporting software.

The Unix/Windows graphical interface is based on tcl/tk 8.x, so both
the tcl and tk libraries must be already built and available.  Many
recent systems, such as Linux, have tcl/tk preinstalled, and you can
just use those.

If you don't have tcl/tk installed, and don't have permissions to
install it in a standard place, build them with --prefix set to a
place that you can write to, and install there.  Then use the Xconq
configure options --with-tclconfig and --with-tkconfig to point to
the location of the tclConfig.sh and tkConfig.sh scripts, which are
installed in the lib dir (/usr/lib by default).

On Unix, you must have an ANSI/ISO C compiler, such as GCC.

On Windows, you must use Cygnus' GNU-based Cygwin system to build.
tcl/tk is not preinstalled on Windows (that'll be the day...), and the
standard 8.0 version is not Cygwin-compatible, so you should use the
modified tcl/tk package that is available with Xconq.  To do this, get
the package and unpack it in the main Xconq directory; you should get
directories "tcl" and "tk" that are siblings of "kernel", "win", etc.
Then cd into tcl and (using bash, of course) do "./configure" then
"make", cd over into tk and do the same there.  If both of those go
well, then you're ready to configure and build Xconq proper.

3. Type "./configure".

If you want to be able to read XPM (X PixMap) files, and the XPM
library is available on your system, add the argument "--with-xpm" to
your configure command.  (This is mainly of interest to people
designing new games and using X paint programs.)

If you want to install into different place, such as /usr/games, add
the argument "--prefix=/usr/games".  This will put executables into
/usr/games/bin, and game library files into /usr/games/share/xconq.  The
default is to install everything under /usr/local; executables in
/usr/local/bin, library files in /usr/local/share/xconq.

In either case, scorefiles will end up in /var/lib/xconq/scores.  To
change this, configure with --enable-alternate-scoresdir=<path>.

4. Type "make".

If you need to specify special compilation flags, set the variable
CFLAGS on the make command line.  If you need special linktime flags,
such as a path to library directories, use LDFLAGS.

If you want to install, but don't have root, set the prefix and
scoresdir to be places you can write into, and on the make command
line, set the variables GAMEUID and GAMEGRP to your own uid and group.

5. If you want test things out before installing, just cd to "x11" (or
"win" if on Windows) and say "./xconq".  You will need to add an
argument like "-L ../lib" if you want to get the game libraries in
this distribution; otherwise Xconq will load whatever games have been
installed already, or fail if no game library has been installed
previously.

6. If you want to install Xconq in your system, type "make install".
The default installation is into /usr/local/bin for xconq and design
tools, and into /usr/local/share/xconq for the game modules and
support files.

If you want to put the executables into the traditional /usr/games
instead of /usr/local/bin, add "bindir=/usr/games" to the make install
command.

If you need to install X application defaults somewhere other than
/usr/lib/X11/app-defaults, add "appdefaultsdir=<xxx>" to the make
install command.

If you do not have a program or script "install" on your path,
you can use the "install.sh" in this directory by adding
"INSTALL=<abspath>install.sh" to the "make install", or you can
even use "cp" by saying "INSTALL=cp INSTALL_DATA=cp".

7. The man pages just tell how to start up the programs; the full
Xconq manual has complete details on everything.  A lot of behavior
can be figured out by experimentation and by using the extensive
online help; you can always get to it by typing '?'.

All of the manuals are written in ``Texinfo'', which is based on TeX
but is like HTML in many ways.  Texinfo files are readable text files
themselves, and there are tools to translate them into various viewing
formats.

The standard distribution comes with preformatted documentation in the
form of HTML files, which you can look at using your favorite Web
browser.  You can also print them out using the browser.  These files
are to be found in the directory doc-html.

The next easiest option is to look at the ``info'' files, ideally with
Emacs so as to get the hypertext abilities, but any other text viewer
will do.

To make a nicely printed manual from the sources, you will need a
version of TeX.  TeX is widely available.  Under Unix or Windows
with cygwin, you can make DVI files by going to the doc subdir and
saying "make dvi", then using dvi2ps or similar tool to send to
the printer.

8. If installed in a public place on a multi-user system, announce
availability.  The library file "news.txt" provides a convenient place
to put in any notes about changes, new games/scenarios, and so forth.

Congratulations!  You're ready to go forth and conquer!


VARIATIONS

The curses interface is still available, if you're nostalgic for the
old days of text console games.  Do "make all-cconq" and "make
install-cconq" to get it.


GUIDE TO SUBDIRECTORIES:

"lib" contains the game designs and image families.

"doc" contains Xconq manuals and supporting documentation, mostly in
Texinfo form.

"images" contains pictures in standard image formats (GIF, etc).

"kernel" contains the source code for the kernel, which is the part of
Xconq shared by all interfaces.
 
"bitmaps" contains bitmaps used by some interfaces.

"mac" contains the source code specific to the Mac interface.

"tcltk" contains the portable source code specific to the tcl/tk
interface.

"x11" contains the source code specific to the X11 interface.

"win" contains the source code specific to the Windows interface.

"curses" contains the source code specific to the curses interface.

"SelFile" contains a file selection dialog for X11 programs.

"Ad2C" contains a tool to generate fallback resources for X11 programs.

"misc" contains scripts that do a partial conversions of 5.x period
and other files to 7.x game designs.

"test" includes scripts and game modules oriented towards testing.
The test scripts should be run after hacking on anything in the
"kernel" directory (this is important).

"tcl" and "tk", if present, contain copies of the tcl and tk packages.

"libcurses", if present, contains a copy of a DOS & Mac implementation
of curses.

The directories "lib-mac", if present, contains optional library files
for the Mac version.
