Installation
============

Installing GNUbg is rather painless through the use of the GNU autoconf
package.  Simply untar the GNUbg distribution, and run the ``configure''
script. Then ``make´´ and then, as root, ``make install´´.  If you have
obtained the distribution from the CVS repository, run ``./autogen.sh'' first.

You are likely to want or need the following tools

autoconf		version >= 2.59
automake
libtool
GNU make
bison			version >= 2.4
flex
A C compiler

If bison or flex are missing or too old, the files they create can be copied
from non-src (these are non-src/*_*) to the base directory.

Gcc or clang are the preferred compilers. Those from Intel or Sun/Oracle can
build GNUbg but not necessarily with the SIMD extensions.

The only mandatory development library is

GLib			version >= 2.8 (>= 2.18.4 on Windows)

but you probably want to make use of most of the following ones as well

png (graphics)
freetype2 (graphics)
GTK (GUI)
cairo (graphics)
canberra (sound)
gtkglext (3d boards)
readline (command line editing)
python (extension)	version >= 2.3
sqlite3 (database)
gmp (additional random numbers generator)
curl (Internet random numbers generator)

Python does not have to be from the base system. Another version or a 3rd party
package like Anaconda would be suitable.

To access a MySQL/MariaDB or PostgreSQL database, GNUbg needs to be built
with Python support and the PyMySQL or PyGreSQL module must be installed
on the target host. These modules may themselves have prerequisites.

GNUbg documentation is provided in various viewable formats. Rebuilding it
from sources needs

texinfo
docbook2x


In most cases, configure will automatically determine everything it needs to
know in order to compile.  However, there are a few options to ``configure'' to
help it out, or to disable a certain feature. See ``configure --help´´ for more
info.

  --enable-simd=TYPE      enable SIMD for newer cpus (TYPE=yes,fma,avx,sse2,
                          neon,no) (default=yes)
  --enable-gasserts       enable debugging assertions (default disabled)
  --disable-cputest       disable runtime SIMD CPU test (default no)
  --enable-threads        enable multithread support (default enabled)
  --with-gtk              use GTK+ 2.0 (default if found)
  --with-board3d          compile with 3D boards (default if found)
  --with-python[=PYTHON]  absolute path name of Python executable
  --with-eval-max-threads=size
                          define the maximum number of evaluation threads
                          allowed: (default=48)
  --with-default-browser=program
                          specify the program to open URLs: (default=xdg-open,
                          or default=sensible-browser on Debian distros)

