+INSTALL file for fortune-mod
+============================
+Shlomi Fish <shlomif@cpan.org>
+:Date: 2016-12-29
-*****************WARNING******************
-Do not attempt to compile individual programs
-in individual program subdirectories!
-*****************WARNING******************
-
-MAKE CHANGES IN THE TOP-LEVEL MAKEFILE
-
-CALL MAKE FROM THE TOP LEVEL
-
-I have a weakness for complex, multilevel makefiles. Therefore, the
-makefiles included here are complex and multilevel. Always run make from
-the top-level directory. Try 'make help' for a listing of possible
-targets (the only one left out is randstr: compile it with make randstr).
-All the important variables are defined in the top-level makefile, and
-most of the make targets will crash and burn if they do not find the
-variables that they are looking for.
-
-The good part of this is that except for the datfiles tree, the
-sub-makefiles are all very simple. All the programs have rules of
-the form: program: program.o, with the appropriate link command.
-The only target safe to call in individual directories is clean.
-
-The makefiles for the datfiles subdirectory are complex in an attempt to
-avoid distributing any more data than needed. The offensive files are
-distributed in unrotated format; the make files have to rotate these
-files before strfiling them. The make clean routine has to be able to
-delete the rotated files without touching the unrotated ones.
-
-Pretty much everything is configurable in the top-level makefile, and it
-mostly has pretty decent comments telling you what it is that you're
-configuring. Read and change it as necessary.
-
-Amy A. Lewis alewis@email.unc.edu
-
-
-Notes for non-Linux users
--------------------------
-
-The only system-dependant thing you should need to worry about is which
-C function library to use for regular expressions. Two are supported:
-the BSD regex library (re_comp/re_exec), and the POSIX regex library
-(regcomp/regexec). Which you should use depends on what functions are
-available, and which performs faster for you.
-
-If neither are available, you could try compiling the GNU Rx library,
-which offers a high-performance regular expression library with both BSD
-and POSIX interfaces. This is available at your nearest GNU software
-mirror.
-
-To select the BSD regex library, add -DBSD_REGEX to REGEXDEFS in the
-top-level Makefile. To select the POSIX regex library, add add
--DPOSIX_REGEX to REGEXDEFS. If neither is defined, no regular
-expression support will be included.
-
-Using the POSIX regex library requires the POSIX regex data structures
-to be declared. This might be in the <regex.h> header, or in the <rx.h>
-header. Define -DHAVE_REGEX_H in REGEXDEFS if it is in the <regex.h>
-header, or -DHAVE_RX_H if it is in the <rx.h> header. If it turns out
-to be somewhere else for your platform, please report this to the
-current fortune-mod maintainer.
-
-The -DHAVE_REGEX_H and -HAVE_RX_H defines are also applicable to the BSD
-regex library, but as they do not use custom data structures, not using
-them should not result in anything more than "function not declared"
-warnings.
-
- -- Dennis L. Clark <dbugger@progsoc.uts.edu.au>
+Quick and Dirty Compilation
+---------------------------
+
+fortune-mod is using CMake ( http://www.cmake.org/ )
+for its build system. You'll need to install CMake version 3.0
+or later from your distribution's repository or from its source
+distribution. *NOTE*: CMake 2.6.2 (that ships with some releases of Ubuntu)
+won't work due to a regression bug so please don't report any errors with
+it.
+
+Next, run:
+
+ mkdir build
+ cd build
+ cmake-gui .. # For the GUI configuration applet
+
+Or:
+
+ ccmake .. # For the Curses-based configuration applet
+
+With a fallback to:
+
+ cmake .. # Non-interactive application.
+
+This will build and install all the executables and install the fortune
+collections.
+
+Installing under Win32
+----------------------
+
+Consult the CMake documentation for generating a Visual C++ , MinGW32
+etc. compatible makefile or project. It may only work under cygwin or similar
+environment.
+
+Testing
+-------
+
+To test the Black Hole Solitaire Solver, you need to:
+
+1. Configure it.
+
+2. Build it.
+
+3. Run "make check".
+
+Please report any errors to me ( http://www.shlomifish.org/me/contact-me/ ).
--- /dev/null
+
+*****************WARNING******************
+Do not attempt to compile individual programs
+in individual program subdirectories!
+*****************WARNING******************
+
+MAKE CHANGES IN THE TOP-LEVEL MAKEFILE
+
+CALL MAKE FROM THE TOP LEVEL
+
+I have a weakness for complex, multilevel makefiles. Therefore, the
+makefiles included here are complex and multilevel. Always run make from
+the top-level directory. Try 'make help' for a listing of possible
+targets (the only one left out is randstr: compile it with make randstr).
+All the important variables are defined in the top-level makefile, and
+most of the make targets will crash and burn if they do not find the
+variables that they are looking for.
+
+The good part of this is that except for the datfiles tree, the
+sub-makefiles are all very simple. All the programs have rules of
+the form: program: program.o, with the appropriate link command.
+The only target safe to call in individual directories is clean.
+
+The makefiles for the datfiles subdirectory are complex in an attempt to
+avoid distributing any more data than needed. The offensive files are
+distributed in unrotated format; the make files have to rotate these
+files before strfiling them. The make clean routine has to be able to
+delete the rotated files without touching the unrotated ones.
+
+Pretty much everything is configurable in the top-level makefile, and it
+mostly has pretty decent comments telling you what it is that you're
+configuring. Read and change it as necessary.
+
+Amy A. Lewis alewis@email.unc.edu
+
+
+Notes for non-Linux users
+-------------------------
+
+The only system-dependant thing you should need to worry about is which
+C function library to use for regular expressions. Two are supported:
+the BSD regex library (re_comp/re_exec), and the POSIX regex library
+(regcomp/regexec). Which you should use depends on what functions are
+available, and which performs faster for you.
+
+If neither are available, you could try compiling the GNU Rx library,
+which offers a high-performance regular expression library with both BSD
+and POSIX interfaces. This is available at your nearest GNU software
+mirror.
+
+To select the BSD regex library, add -DBSD_REGEX to REGEXDEFS in the
+top-level Makefile. To select the POSIX regex library, add add
+-DPOSIX_REGEX to REGEXDEFS. If neither is defined, no regular
+expression support will be included.
+
+Using the POSIX regex library requires the POSIX regex data structures
+to be declared. This might be in the <regex.h> header, or in the <rx.h>
+header. Define -DHAVE_REGEX_H in REGEXDEFS if it is in the <regex.h>
+header, or -DHAVE_RX_H if it is in the <rx.h> header. If it turns out
+to be somewhere else for your platform, please report this to the
+current fortune-mod maintainer.
+
+The -DHAVE_REGEX_H and -HAVE_RX_H defines are also applicable to the BSD
+regex library, but as they do not use custom data structures, not using
+them should not result in anything more than "function not declared"
+warnings.
+
+ -- Dennis L. Clark <dbugger@progsoc.uts.edu.au>