1General information
2-------------------
3
4Gambit uses the standard autotools mechanism for configuring and building.
5This should be familiar to most users of Un*ces and MacOS X.  In general,
6you just need to unpack the sources, change directory to the top level
7of the sources (typically of the form gambit-0.yyyy.mm.dd), and do the
8usual
9
10./configure
11make
12sudo make install
13
14Command-line options are available to modify the configuration process;
15do `./configure --help` for information.
16
17By default Gambit will be installed in /usr/local.  You can change this
18by replacing configure step with one of the form
19
20./configure --prefix=/your/path/here
21
22NOTE: The graphical interface relies on external calls to other
23programs built in this process, especially for the computation of
24equilibria.  It is strongly recommended that you install the Gambit
25executables to a directory in your path!
26
27Note that if you install to a different location than the default, on
28some systems (especially linux) you may have to run ldconfig manually.
29
30Building from git repository
31----------------------------
32
33If you want to live on the bleeding edge, you can get the latest
34version of the Gambit sources from the Gambit repository on
35github.com, via ::
36
37  git clone git://github.com/gambitproject/gambit.git
38  cd gambit
39
40After this, you will need to set up the build scripts by executing ::
41
42  aclocal
43  libtoolize
44  automake --add-missing
45  autoconf
46
47For this, you will need to have automake, autoconf, and libtool2
48installed on your system.
49
50At this point, you can then continue with the configuration and build
51stages as in the previous section.
52
53Supported compilers
54-------------------
55
56Currently, gcc is the only compiler supported.  The version of gcc needs
57to be new enough to handle templates correctly.  The oldest versions
58of gcc known to compile Gambit are 3.4.6 (Linux, Ubuntu) and 3.4.2 (MinGW for
59Windows, Debian stable).
60
61If you wish to use another compiler, the most likely stumbling block is
62that Gambit uses templated member functions for classes, so the compiler
63must support these.  (Version of gcc prior to 3.4 do not, for example.)
64
65For 64-bit users
66----------------
67
68The program gambit-enumpoly does not compile on 64-bit systems.  A new
69version of that program is being developed.  It is currently being distributed
70separately on the Gambit website.  In the meanwhile, to compile the other
71programs in Gambit, 64-bit users should add the switch --disable-enumpoly
72to the configuration step, e.g.
73
74./configure --disable-enumpoly [other options here]
75
76
77For Windows users
78-----------------
79
80For Windows users wanting to compile Gambit on their own, you'll need
81to use either the Cygwin or MinGW environments.  We do compilation and
82testing of Gambit on Windows using MinGW, which can be gotten from
83
84http://www.mingw.org
85
86We prefer MinGW over Cygwin because MinGW will create native Windows
87applications, whereas Cygwin requires an extra compatibility layer.
88
89Note that support for the Borland C++ 5.5 compiler has been removed from
90Gambit.  This is because that compiler is now sufficiently old that
91significant numbers of special cases had to be handled to reconcile
92the C++ it accepts with that accepted by modern versions of gcc
93(which attempt to adhere to the C++ standard).  We are open to supporting
94other compilers in Gambit if there are volunteers willing to contribute
95and maintain build systems for them.
96
97For OS X users
98--------------
99
100OS X users should being by following the Un*x/Linux instructions above.
101This will create the command-line tools, and the graphical interface
102binary called 'gambit'.  This graphical interface binary requires the
103X server to run correctly.
104
105For a more native OS X experience, after completing the Un*x/Linux
106instructions, additionally issue the command
107
108make osx-bundle
109
110This will create a directory Gambit.app with the graphical interface
111in an application bundle.  This bundle can then be copied (e.g., to
112/Applications) and used like any other OS X application.
113
114Depending on which version of OS X you use, the version of wxWidgets
115that comes bundled may not be new enough to meet Gambit's requirements.
116The version that shipped with OS X Tiger, for instance, is not.
117If you need to build wxWidgets yourself (see below),
118be sure to tell the ./configure step where to find the version you built
119by using the --with-wx-prefix parameter.  For example, if you install
120wxWidgets into /usr/local (the default when you build it), configure
121Gambit with
122
123./configure --with-wx-prefix=/usr/local
124
125
126The graphical interface and wxWidgets
127-------------------------------------
128
129Gambit requires wxWidgets version 2.8.0 or higher for the
130graphical interface.  See their website at
131
132http://www.wxwidgets.org
133
134to download this if you need it.  Packages of this should be available
135for most Un*x users through their package managers (apt or rpm).  Note
136that you'll need the appropriate -dev package for wxWidgets to get the
137header files needed to build Gambit.
138
139Un*x users, please note that Gambit at this time only supports the
140GTK port of wxWidgets, and not the Motif/Lesstif or the Universal ports.
141Neither of the latter ports support drag-and-drop features, which are
142heavily used in the graphical interface.
143
144If wxWidgets it isn't installed in a standard place (e.g., /usr or
145/usr/local), you'll need to tell configure where to find it with the
146--with-wx-prefix=PREFIX option, for example:
147
148./configure --with-wx-prefix=/home/mylogin/wx
149
150Finally, if you don't want to build the graphical interface, you
151can either (a) simply not install wxWidgets, or (b) pass the argument
152--disable-gui to the configure step, for example,
153
154./configure --disable-gui
155
156This will just build the command-line tools, and will not require
157a wxWidgets installation.
158
159
160
161