Installation Instructions
*************************

Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007 Free Software Foundation, Inc.

This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.

Basic Installation
==================

Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package.  The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.

   The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions.  Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').

The simplest way to compile this package is:

  1. `cd' to the directory containing the package's source code and type
     `./configure' to configure the package for your system.

     Running `configure' might take a while.  While running, it prints
     some messages telling which features it is checking for.

  2. Type `make' to compile the package.

  3. Type `make install' to install the programs and any data files and
     documentation.


Parallel operation mode
=======================

The parallel bitslice algorithm implementation heavily relies on
logical operations. Its performances can change dramatically depending
on selected bit manipulation method.

Some method can be best suited for your processor. Performance can be
checked using the benchmarking utilities located in the `test/'
package sub-directory.

The following methods are available:

  * 32 bits native integers, default on target where sizeof (long) == 4

  * 64 bits native integers, default on target where sizeof (long) == 8

  * MMX 64 bits operation, available on i386 and x86_64 targets

  * SSE2 128 bits operation, available on i386 and x86_64 targets

  * Altivec 128 bits operation, available on PowerPC targets

The default choice can be changed with `--enable-uint32',
`--enable-uint64', `--enable-mmx', `--enable-sse2' and
`--enable-altivec' switches of the `configure' script.

