ALE 0.8.11.2 Installation Guide

  David Hilvert

   Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007 David Hilvert

   This article is free documentation; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 3 of the License, or (at your
   option) any later version.

   This article is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
   for more details.

   You should have received a copy of the GNU General Public License along
   with this article; if not, write to the Free Software Foundation, Inc., 51
   Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

   Abstract

   This article includes download, build, and installation instructions.

     ----------------------------------------------------------------------

   1. Compiling from source

                1.1. URLs

                1.2. Build prerequisites

                1.3. Extraction

                1.4. Running configure

                1.5. Configuration options

                1.6. Cross-compilation

                1.7. Further details

   2. On-line resources

                2.1. Mailing list

1.  Compiling from source

  1.1.  URLs

     o http://auricle.dyndns.org/ALE/download/ale-0.8.11.2.tar.gz

  1.2.  Build prerequisites

    1.2.1.  GCC C++ compiler

   GCC version 3.2.3 with C++ support is known to build ALE successfully.
   Older versions of GCC may fail to compile some versions of ALE.

    1.2.2.  Prerequisites for building on Windows

   Successfully running the configuration script on Windows (e.g., for native
   builds) may require installation of Cygwin. For more information on
   Cygwin, see:

     o http://www.cygwin.com/

   Alternatively, this package can be cross-compiled for Windows on a
   non-Windows architecture, provided that the appropriate cross-compilers
   and libraries are available.

  1.3.  Extraction

   Download the source archive file from the URL indicated in the section
   'URLs', and invoke:

 tar xzf ale-0.8.11.2.tar.gz
 cd ale-0.8.11.2

   Invoking 'ls configure' afterward should reveal an executable script
   'configure'. This script is used to determine the capabilities of the
   system that will run the software.

  1.4.  Running configure

   This package uses a configuration script, 'configure', generated by the
   GNU project build tools ("autotools"). For most cases, it should be
   sufficient to invoke:

 ./configure
 make
 make install

   In cases where the defaults are not adequate, configuration options can be
   passed to the configuration script.

  1.5.  Configuration options

   Configuration options can be passed to the 'configure' script prior to
   build and installation, as:

 ./configure --config-option1 --config-option2 ...
 make
 make install

   Options specific to this package are described in the following
   subsections. General configuration options are described in the file
   'INSTALL' included in the source package.

    1.5.1.  ImageMagick Support

   Enabling ImageMagick support allows ALE to make use of the file-handling
   capabilities of ImageMagick ( http://imagemagick.org/ ). This includes
   reading and writing a variety of file formats, including, among many
   others, PNG and JPEG (two formats commonly used in web publishing) as well
   as common interchange formats such as PPM and TIFF. ImageMagick 6.0.6 is
   known to work with this version of ALE; certain older versions of
   ImageMagick may cause compile, link, or runtime errors. By default,
   support is automatically detected.

 --with-imagemagick=auto  Auto-detect ImageMagick support [default]
 --with-imagemagick=yes   Enable ImageMagick support
 --with-imagemagick=no    Disable ImageMagick support

    1.5.2.  Color Data Precision

   ALE's internal data structures store each color channel within a pixel as
   floating-point data; similarly, arithmetic operations on color channels
   are performed in floating point. The available data-type configurations
   are listed below, with typical data sizes indicated in parentheses.

 --with-colors=single   Use C++ 'float' data type (32-bit)  [default]
 --with-colors=double   Use C++ 'double' data type (64-bit)

    1.5.3.  Coordinate Data Precision

   In general, coordinate transformations used by ALE produce results outside
   of the set of integers; hence, coordinates are treated as floating-point
   data. The two available data-type configurations are listed below, with
   typical data sizes indicated in parentheses.

 --with-coords=single   Use C++ 'float' data type (32-bit)  [default]
 --with-coords=double   Use C++ 'double' data type (64-bit)

    1.5.4.  Thread support

   Threads can improve performance on multiprocessor machines. POSIX threads
   are currently supported.

 --enable-threads=auto  Auto-detect thread support.  [default]
 --enable-threads=yes   Enable thread support.
 --enable-threads=no    Disable thread support.

    1.5.5.  FFTW Support

   This feature is required in order to use the --fl option; it also
   determines the approach to calculation of discrete Fourier transforms used
   by the Irani-Peleg renderer. For more information on FFTW, see
   http://fftw.org/.

 --with-fftw3=auto      Auto-detect FFTW3.  [default]
 --with-fftw3=yes       Use FFTW3 discrete Fourier transform.
 --with-fftw3=no        Use built-in discrete Fourier transform.

    1.5.6.  Enable --wmx

   This build option is required in order to use the --wmx option. If
   --enable-wmx is specified, it is expected that fork() and execlp() calls
   are available.

 --enable-wmx=auto      Automatically detect whether to enable --wmx
 --enable-wmx=yes       Enable --wmx
 --enable-wmx=no        Do not enable --wmx

    1.5.7.  Getsize

   This build option is required to obtain additional output from --ui=tty.
   If TIOCGWINSZ is not defined in <sys/ioctl.h>, however, additional output
   will not be provided even if --enable-getsize is specified at build time.

 --enable-getsize=auto   Check for TIOCGWINSZ at build time.  [default]
 --enable-getsize=yes    Configure to attempt to use TIOCGWINSZ
 --enable-getsize=no     Do not attempt to use TIOCGWINSZ

    1.5.8.  Assertions

   Finding bugs within ALE, or within custom modifications to ALE, can be
   simplified by enabling run-time assertions. These checks enforce
   conditions believed to be necessary or desirable for correct program
   operation. If a condition is not satisfied, ALE will abort and display a
   message indicating the failed assertion.

 --enable-assertions    Enable assertions.  [default]
 --disable-assertions   Disable assertions.

  1.6.  Cross-compilation

   For cross-compilation, it may be necessary to specify both host and build
   machine types, using the configure --host and --build options. For more
   information on these options, see the file 'INSTALL' in the source
   package.

  1.7.  Further details

   General operation of the configure script is described in more detail in
   the file 'INSTALL' in the source package.

2.  On-line resources

 Home Page               http://auricle.dyndns.org/ALE/
 git repository          http://repo.or.cz/w/Ale.git
 Mailing list archive    http://ventricle.dyndns.org/pipermail/ale/

  2.1.  Mailing list

   Bug reports, feature requests, patch and release announcements, and
   related discussion can be sent to ale@ventricle.dyndns.org. Archives of
   past postings and subscription information are available at the URLs
   indicated below.

 Posting address         ale@ventricle.dyndns.org
 Subscription info       http://ventricle.dyndns.org/cgi-bin/mailman/listinfo/ale
 Archives                http://ventricle.dyndns.org/pipermail/ale/
