mirror of
git://git.savannah.nongnu.org/eliot.git
synced 2024-11-16 07:47:39 +01:00
143 lines
4.9 KiB
Text
143 lines
4.9 KiB
Text
Summary
|
|
=======
|
|
|
|
This file contains instructions on how to buid Eliot on various platforms.
|
|
In case of compilation problem, you can send a mail to the eliot-dev@nongnu.org
|
|
mailing-list.
|
|
|
|
1) General information: useful information for any platform
|
|
2) Linux/Unix build
|
|
3) Windows build
|
|
4) Mac OS X build
|
|
|
|
|
|
|
|
1) General information
|
|
======================
|
|
|
|
If you build Eliot from a CVS snapshot, you need to run ./bootstrap to generate
|
|
the configure script. This is not needed when building from a release tarball.
|
|
|
|
In the following, do not forget that the ./configure command can take options.
|
|
Run ./configure --help to have the list of available options.
|
|
|
|
Here are the external dependencies of Eliot, with a link to the relevant website.
|
|
You need to install them (at least the mandatory ones) before building Eliot.
|
|
Note that the OS-specific instructions may contain hints on how to install them easily.
|
|
|
|
- libboost (mandatory): http://www.boost.org/
|
|
--> Used for many things
|
|
|
|
- libarabica (mandatory): http://www.jezuk.co.uk/cgi-bin/view/arabica
|
|
--> Used for saving/loading games
|
|
You can use any XML back-end supported by Arabica (like expat, or libxml2)
|
|
|
|
- libconfig (optional): http://www.hyperrealm.com/libconfig/
|
|
--> Used for saving/loading preferences
|
|
|
|
- Qt (optional, but recommended): http://qt.nokia.com/
|
|
--> Used for the graphical interface (see below)
|
|
|
|
- libncursesw (optional): http://www.gnu.org/software/ncurses/
|
|
--> Used for the ncurses interface (see below)
|
|
|
|
There are in fact several interfaces to Eliot:
|
|
- one in text mode: mostly useful to debug Eliot
|
|
- one using the ncursesw library: nice and almost 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
|
|
|
|
|
|
|
|
2) Linux/Unix build
|
|
===================
|
|
|
|
On Debian-based systems (like Ubuntu), the following command should install
|
|
the needed dependencies (you may need to adjust the version numbers):
|
|
|
|
sudo apt-get install libboost-dev libqt4-core libqt4-gui libconfig++8-dev libncursesw5-dev
|
|
|
|
In addition, you need to download and build libarabica (this is straight-forward).
|
|
|
|
To build Eliot, you only have to run the following command:
|
|
./configure && make
|
|
|
|
Then, as root:
|
|
make install
|
|
|
|
|
|
|
|
3) 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 will be downloaded and cross-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
|
|
|
|
|
|
|
|
4) Mac OS X build
|
|
=================
|
|
|
|
* Installing dependencies can be done easily using MacPorts (http://www.macports.org/):
|
|
sudo port install libconfig-hr
|
|
sudo port install boost
|
|
sudo port install arabica
|
|
sudo port install qt4-mac
|
|
|
|
* Configure: you can use the following command (assuming the dependencies are installed in /opt/local):
|
|
CPPFLAGS="-I/opt/local/include/libxml2 -I/opt/local/include" \
|
|
LDFLAGS="-L/opt/local/lib" \
|
|
LIBS="-lxml2" \
|
|
./configure --enable-qt --disable-text
|
|
|
|
* You may need to remove the moc files manually:
|
|
rm qt/*.moc.cpp
|
|
|
|
* To compile, run 'make'
|
|
|
|
* Then, to get a ready to use .dmg file, run 'make package-macosx-dmg'
|