-
Notifications
You must be signed in to change notification settings - Fork 2
/
INSTALL
139 lines (96 loc) · 4.76 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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 [email protected]
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 strongly 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:
- 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
- one in text mode: mostly useful to debug Eliot
- one using the ncursesw library: nice and almost complete, but not really
graphical
These interfaces can be enabled or disabled at configuration time. Example:
./configure --disable-text --enable-ncurses --enable-qt
2) Linux/Unix build
===================
* Install the dependencies
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-dev libconfig++-dev libncursesw5-dev libexpat-dev
On RPM-based systems, the command should be the following (as root):
yum install boost-devel qt-devel expat-devel libconfig-devel
* Download and build libarabica (unless it is packaged for your distribution):
a) Download the latest release (see link above) and extract the archive
b) Build with the following line:
./configure --enable-static --disable-shared --with-parser=expat && make
c) Install it, as root:
make install
* Build Eliot, with the following command:
./configure && make
* Install it, 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
- 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 CXX=i586-mingw32msvc-g++ \
./configure --host=i586-mingw32msvc --build=i386-linux \
--with-boost=${INST} --with-expat=${INST}
- to compile, run 'make'
- 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
* To compile, run 'make'
* Then, to get a ready to use .dmg file, run 'make package-macosx-dmg'