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