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.  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.

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...), so
you should pick up and build a standard distribution [or use the
package that is available with Xconq].

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 a nonstandard 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/lib/xconq.
The default is to install everything under /usr/local; executables
in /usr/local/bin, library files in /usr/local/lib/xconq.

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.

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/lib/xconqdir 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, 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

a. The old Xaw-based version of X11 Xconq is still available, as
"xtconq".  Do "make all-xtconq" and "make install-xtconq" to get it.

The SelFile file dialog library may have problems compiling and/or
linking, but it is not required for xtconq.  If you don't want to try
to fix it, you can disable by adding the argument "--disable-selfile".

Some systems may need you to add CFLAGS=-DSYSV to your make command,
in order for SelFile to compile correctly.

The old version can be built with imake, although this has not been
maintained.  To use it, customize "Local.config" for your site, then
type "xmkmf", "make Makefiles", and "make".

b. The curses interface is still available, if anyone cares.  Do
"make all-cconq" and "make install-cconq" to get it.

c. It is possible to build the old Xaw version of Xconq for Windows,
using Cygnus Solutions' compatibility package cygwin.  Raj Menon,
rxmtemp@mcdata.com, reports that the procedure below works for him:

"- Install Cygwin32 19.1 from http://www.cygnus.com.
- Install X11R6.3 libs from
     http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/
- Install the free Starnet X Server (XWin32) from http://www.starnet.com
- Get the source distribution for Xconq.
- add a symlink in /bin to bash in the cygwin distribution (NOTE:
     do not use cygwin sh.  It has a bug that causes xmkmf not to work).
- xmkmf
- make all
- make install

"Note: I still have not figured out a way to get the StarNet X Server
to read the defaults from the app-defaults directory.  So for now,
you will need to add the xconq and xshowimf defaults to your
~/.Xdefaults file."

The result looks exactly like the old Unix version of Xconq, and will
not run unless an X server is also running on your PC.


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.
