replaced main.cpp's NO_CATCH define by DEBUG
[supertux.git] / INSTALL
1 - Install instructions for SuperTux -
2 http://supertux.lethargik.org/
3
4 Last update: December 20, 2007 by Christoph Sommer 
5
6 BINARIES
7 --------
8     
9   We try to provide precompiled binaries of SuperTux for a number of platforms.
10   You should check
11
12     http://supertux.lethargik.org/wiki/Download
13     
14   for the packages and instructions on how to install them. If there are no
15   prebuilt binaries for your platform, then you might still be able to compile
16   the source code yourself. In this case read the next sections.
17
18 REQUIREMENTS
19 ------------
20
21   To build SuperTux from source, you need to have a number of tools and
22   libraries installed. Note that most of these things should already be
23   available prepackaged and optimized for your distribution, it is recommended
24   that you check your distribution first before downloading from the websites.
25   You can also check
26
27     http://supertux.lethargik.org/wiki/Building_SuperTux
28
29   for up-to-date build instructions for a variety of different platforms and
30   distributions.
31
32 * Linux development tools (your distribution should come with these):
33     - gcc compiler version 3.2 or newer (you need the c++ compiler g++)
34         http://gcc.gnu.org
35     - gnu binutils
36         http://www.gnu.org/software/binutils
37     - a shell and POSIX commandline tools
38
39 * CMake 2.4.7 or later
40     Download: http://www.cmake.org/HTML/Download.html
41     Homepage: http://www.cmake.org/
42  
43 * OpenGL headers and libraries
44     OpenGL libraries and headers are specific to your graphics card. Make sure
45     that you have hardware accelerated OpenGL drivers installed. Software
46     renderers like Mesa will make SuperTux unplayable slow.
47
48 * SDL 1.2.5 or later (1.2.8 is recommended on Mac OS X)
49     http://www.libsdl.org
50
51 * SDL_image (any version)
52     http://www.libsdl.org/projects/SDL_image
53
54 * PhysicsFS (1.0.0, the development branch 1.1.x is buggy and does not work,
55              1.2.0 and later should work when it is released)
56     http://www.icculus.org/physfs
57
58 * OpenAL
59     There are no official Linux releases of OpenAL yet, you should grab the
60     latest CVS snapshot (any snapshot from 2005 should work, earlier snapshots
61     tend to have bugs). OpenAL 1.0 or later implementations on other systems
62     like Mac OS X or windows should work.
63     
64     http://www.openal.org
65
66   Note: We tried to write our code clean, portable and platform neutral, so it
67   should be possible to compile it on a wide range of platforms and also with
68   other compilers than gcc. However we have no resources to test other setups
69   and it is likely that you hit small problems. Reports and binary compiled
70   packages are of course always welcome. Send them to
71   supertux-devel@lists.lethargik.org
72
73 INSTALLING UNDER LINUX/UNIX USING CMAKE
74 ---------------------------------------
75
76   SuperTux uses CMake to generate a set of Makefiles for the build process. To
77   generate these Makefiles and build SuperTux, perform the following steps:
78
79     1. `cd' to the directory where you unpacked the SuperTux source 
80        archive, i.e. to the directory containing `src' and `data'.
81
82     2. Create and change to a new, empty build directory by running
83        `mkdir build', `cd build'.
84
85     3. Run `cmake ..' to create the Makefiles needed to build SuperTux with 
86        standard options. If you are missing any libraries needed to build
87        SuperTux, install those first, then try running CMake again. See below
88        for instructions on how to change to standard options.
89
90     2. Type `make' to start the build process.
91
92     3. Type `make install' to install the programs and any data files and
93        documentation. (You should be a root user on Linux systems.
94        You can become a root user with the `su' command or by using
95        `sudo make install')
96
97     4. The game should work now and you can remove the source directory.
98
99   You can customize the build process by setting additional options for CMake.
100   The easiest way to do this is to use run `ccmake ..' instead of `cmake ..' 
101   to bring up the curses-based user interface of CMake. Select an option using the
102   arrow keys, change the selected option by pressing the Enter key, then
103   hit the `c' (repeatedly, if necessary) to apply your changes and bring
104   up new options resulting from your newly set ones. When you are done, press 
105   the `g' key to generate a new set of Makefiles and exit.
106
107   Alternatively, you can pass options to `cmake ..' via the command line. 
108   Some common command line switches are:
109
110     -DCMAKE_VERBOSE_MAKEFILE=ON
111         Generates Makefiles that print all commands prior to executing them.
112     -Dxxx_LIBRARY=/path/to/library.so -Dxxx_INCLUDE_DIR=/path/to/headerfiles
113         Manually specify the installation directory of a library.
114     -DDEBUG=ON
115         Enables debug mode and compiles extra debug symbols into the SuperTux
116         executable. This is useful when sending in bug reports to the
117         developers.
118
119 Note for SVN users:
120   SuperTux does not need to be installed on the system, you can run it from
121   its own directory.
122
123 SUPPORT
124 -------
125
126   You can contact us at supertux-devel@lists.lethargik.org and in the #supertux
127   channel on the irc.freenode.net IRC server.
128