INSTALL file for Freecell Solver
================================

Quick and Dirty Compilation
---------------------------

Usually typing "./configure" followed by "make" and "make install" will 
build and install "fc-solve" which is the Freecell Solver executable for you.

It will also build and install the board generation program, more 
information about which can be found in the "board_gen" sub-directory of
this distribution.

Changing the Maximal number of Freecells or Stacks or Cards per Stack
---------------------------------------------------------------------

The following parameters to the "configure" script which accept an argument
control the hard-coded parameters of the Freecell Solver executables:

"--enable-max-num-freecells=$NUM" - The maximal number of freecells

"--enable-max-num-stacks=$NUM"  - The maximal number of stacks

"--enable-max-num-initial-cards-per-stack=$NUM" - The maximal number of initial
cards per stack.

Notice that it's very important to set the maximal number of initial cards
per stack, or else it's possible that a stack will eventually overflow.

"Compact" States
---------------------

In Compact States, the contents of the card stacks are stored inside the 
states, rather than in a central collection (where the states contain only
pointers). Despite its name, it actually consume more memory than Indirect
Stack States which is the default.

Compact states used to be faster than Indirect Stack States, but now it
seems indirect stack states is at least slightly faster even for games
whose stacks are not very long. If you still would wish to enable it,
run ./configure with the "--enable-states-type=compact" flag.

Installing under Win32
----------------------

Freecell Solver is distributed with a makefile suitable for use with 
Microsoft Visual C++. To build it using it follow the following steps:

1. Copy "config.h.win32" to "config.h" and "prefix.h.win32" to "prefix.h";
In the directory Presets/ copy presetrc.win32 to presetrc.

2. Optionally, edit it to set its preferences

3. Type "nmake /f Makefile.win32".

If you have an IDE of some sort you can take the following steps to compile
Freecell Solver:

1. Open a project for Freecell Solver.

2. Add all the C files except "test_multi_parallel.c" to the project.

3. Copy the file config.h.win32 to config.h and prefix.h.win32 to prefix.h.

4. Build.

If you are using gcc or some other command-line compiler, you should 
write the makefile based on the files "Makefile" or "Makefile.lite", 
and then compile according to it.

