Installation on Linux/Unix
==========================

In the following, do not forget that the ./configure command can take options.
Run ./configure --help to have the list of available options.

* If you build from a CVS snapshot, run the following commands:
    ./bootstrap
    ./configure
    make

Then, as root:
    make install

See below for more details on the available interfaces.


* If you build from a release tarball, run the following commands:
    ./configure
    make

Then, as root:
    make install

See below for more details on the available interfaces.


There are in fact several interfaces to Eliot:
 - one in text mode: mostly useful to debug Eliot
 - one using the ncursesw library: nice and complete, but not really graphical
 - a Qt interface: the best interface to use, it supports all the features.
   This one is enabled by default if Qt development files are detected, but
   you can force it with --enable-qt

These interfaces can be enabled or disabled at configuration time. Example:
    ./configure --disable-text --enable-ncurses --enable-qt



Windows build
=============

There are 2 ways to proceed:
* cross-compilation from a Linux host, using the mingw32 cross-compiler
* directly on Windows, using Cygwin (http://www.cygwin.com/)
Only the cross-compilation is officially supported (but adapting these
instructions for Cygwin shouldn't be too hard; patches welcome!).

Here are the steps for the cross-compilation:

* install the build environment (this step is not documented here,
  as it is out of the scope of this document)

* build and install dependencies:
  The Makefile in the 'extras/contrib' directory should be able to do it for you:

    cd extras/contrib && make all

  Eliot dependencies (libiconv, boost, and Qt) will be downloaded
  and cross-compiled (except Qt, which is already compiled).
  The dependencies are installed in 'extras/contrib/inst'

* build Eliot:

    - if you don't have the 'configure' script, generate it:
            ./bootstrap

    - because of a bug in gettext, you may need to apply a little patch to the files
      installed in the 'intl' directory:
            - download the patch here (link in the top-left-hand corner)
              http://www.koders.com/noncode/fid46DF595700FEB564B6EF45BFF55067F95DCF0420.aspx
            - apply the patch:
              patch -p2 < gettext-win32.patch

    - configure with the following command:
            export INST=`pwd`/extras/contrib/inst && \
            PKG_CONFIG_PATH="${INST}/lib/pkgconfig:${PKG_CONFIG_PATH}" \
            CPPFLAGS=-I${INST}/include LDFLAGS=-L${INST}/lib \
            CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
            ./configure --host=i586-mingw32msvc --build=i386-linux \
            --with-boost=${INST}

    - to compile, run 'make', possibly followed with 'make install'

    - run 'make package-win32-zip' to get everything packed up in a nice .zip

