Possibly fixing another memory leak
[supertux.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 025bfcf..9dac706 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-
 - Install instructions for SuperTux -
-http://super-tux.sf.net/
+http://supertux.lethargik.org/
+
+Last update: December 20, 2007 by Christoph Sommer 
+
+BINARIES
+--------
+    
+  We try to provide precompiled binaries of SuperTux for a number of platforms.
+  You should check
 
-Last update: April 26, 2004
+    http://supertux.lethargik.org/wiki/Download
+    
+  for the packages and instructions on how to install them. If there are no
+  prebuilt binaries for your platform, then you might still be able to compile
+  the source code yourself. In this case read the next sections.
 
 REQUIREMENTS
 ------------
 
-  CONTROLS
-  --------
-    The game can be played with either a the keyboard or a joystick.
-
-  SDL
-  ---
-    "SuperTux" was programed using the "Simple DirectMedia Layer"
-    libraries by Sam Lantinga.  This means that the game can
-    theoretically run under any environment that the SDL libraries support.
-
-    (As of this program's release, this includes: Linux X11/DGA,
-    Win32 WinDIB/DirectX, BeOS BWindow, and Solaris X11, as well
-    as unofficually supported: Linux SVGAlib, IRIX 6.x X11,
-    FreeBSD 3.x X11, and MacOS.)
-
-    The Simple DirectMedia Layer is required to compile this game.
-
-    You can download the SDL libraries from:
-      http://www.libsdl.org/
-
-  SDL_image
-  ---------
-    SDL_image is also required.  (It is used to load the PNG format images
-    that come with SuperTux!)
-
-  SDL_mixer
-  ---------
-    Sound and music are available, but are not required (see below).
-    You will need the "SDL_mixer" library compiled and installed if
-    you want sound.
-
-  OpenGL implementation (optional)
-  ---------------------
-    Mesa should be installed in order to compile, but it is painly
-    slow when running, so we advise you to install your videocard
-    drivers (of course, it has to be an accelerated videocard).
-    For linux, nvidia vendor is the only one that makes decent drivers.
-    But the ATI drivers should run with the same performance, since
-    it only uses accelerated 2d, not 3d.
-
-    Anyway, you can use the SDL frontend and you most likely won't
-    notice any difference.
-
-
-INSTALLING UNDER LINUX/UNIX
----------------------------
-  -----------------------------------------------------------------
-  Note: Read this entire section before you start issuing commands!
-  -----------------------------------------------------------------
-
-  SuperTux uses a script that checks for dependency and disables
-  features, in case they are not found.
-  The script is the configure and you can specify a few stuff
-  like the directory to which you want to install SuperTux,
-  by giving the argument --prefix=/usr/local (ie). For more
-  informations, type './configure --help'.
-  (Note: SuperTux does not need to be installed in the system,
-  you can run it from its own directory.)
-
-  If there isn't any configure script (ie. in case, you got it
-  via cvs), just run the autogen.sh script.
-
-  To compile it, a 'make' is enough.
-  Type 'make install' (as root) to copy it into the system.
-  (default directory is /usr/local, see above how to change
-  this.)
-
-  So, in short, just type:
-  sh autogen.sh (in case there isn't any configure file already)
-  sh configure
-  make
-
-  And in case you want to copy SuperTux to the system:
-  make install (as root)
-
-
-ICON FILE
----------
-  A 32x32, XPM-format icon file is available if you wish to use
-  an icon for a menu entry for this game.
-
-  The file is "icon.xpm", and can be found at  the data/images/
-  directory.
+  To build SuperTux from source, you need to have a number of tools and
+  libraries installed. Note that most of these things should already be
+  available prepackaged and optimized for your distribution, it is recommended
+  that you check your distribution first before downloading from the websites.
+  You can also check
+
+    http://supertux.lethargik.org/wiki/Building_SuperTux
+
+  for up-to-date build instructions for a variety of different platforms and
+  distributions.
+
+* Linux development tools (your distribution should come with these):
+    - gcc compiler suite version 3.2 or newer (you need the c++ compiler g++)
+        http://gcc.gnu.org
+    - gnu binutils
+        http://www.gnu.org/software/binutils
+    - a shell and POSIX commandline tools
+
+* CMake 2.6 or later
+    Download: http://www.cmake.org/HTML/Download.html
+    Homepage: http://www.cmake.org/
+* OpenGL headers and libraries
+    OpenGL libraries and headers are specific to your graphics card. Make sure
+    that you have hardware accelerated OpenGL drivers installed. Software
+    renderers like Mesa will make SuperTux unplayable slow.
+
+* SDL 1.2.5 or later (1.2.8 is recommended on Mac OS X)
+    http://www.libsdl.org
+
+* SDL_image (any version that includes PNG and JPEG support)
+    http://www.libsdl.org/projects/SDL_image
+
+* PhysicsFS (1.0.x or 2.0.x)
+    http://www.icculus.org/physfs
+
+* OpenAL
+    There are no official Linux releases of OpenAL yet, you should grab the
+    latest CVS snapshot (any snapshot from 2005 should work, earlier snapshots
+    tend to have bugs). OpenAL 1.0 or later implementations on other systems
+    like Mac OS X or windows should work.
+    
+    http://www.openal.org
+* GLEW
+    http://glew.sourceforge.net/
+
+* Boost's smart_ptr and format headers
+    http://www.boost.org/
+
+  Note: We tried to write our code clean, portable and platform neutral, so it
+  should be possible to compile it on a wide range of platforms and also with
+  other compilers than gcc. However we have no resources to test other setups
+  and it is likely that you hit small problems. Reports and binary compiled
+  packages are of course always welcome. Send them to
+  supertux-devel@lists.lethargik.org
+
+INSTALLING UNDER LINUX/UNIX USING CMAKE
+---------------------------------------
+
+  SuperTux uses CMake to generate a set of Makefiles for the build process. To
+  generate these Makefiles and build SuperTux, perform the following steps:
+
+    1. `cd' to the directory where you unpacked the SuperTux source 
+       archive, i.e. to the directory containing `src' and `data'.
+
+    2. Create and change to a new, empty build directory by running
+       `mkdir build', `cd build'.
+
+    3. Run `cmake ..' to create the Makefiles needed to build SuperTux with 
+       standard options. If you are missing any libraries needed to build
+       SuperTux, install those first, then try running CMake again. See below
+       for instructions on how to change to standard options.
+
+    4. Type `make' to start the build process.
+
+    5. Type `make install' to install the programs and any data files and
+       documentation. (You should be a root user on Linux systems.
+       You can become a root user with the `su' command or by using
+       `sudo make install')
+
+       Note that there is no uninstall target, so you might wish to create a
+       package or other system-specific installation instead.
+
+    6. The game should work now and you can remove the source directory.
+
+  You can customize the build process by setting additional options for CMake.
+  The easiest way to do this is to use run `ccmake ..' instead of `cmake ..' 
+  to bring up the curses-based user interface of CMake. Select an option using the
+  arrow keys, change the selected option by pressing the Enter key, then
+  hit the `c' (repeatedly, if necessary) to apply your changes and bring
+  up new options resulting from your newly set ones. When you are done, press 
+  the `g' key to generate a new set of Makefiles and exit.
+
+  Alternatively, you can pass options to `cmake ..' via the command line. 
+  Some common command line switches are:
+
+    -DCMAKE_VERBOSE_MAKEFILE=ON
+        Generates Makefiles that print all commands prior to executing them.
+    -Dxxx_LIBRARY=/path/to/library.so -Dxxx_INCLUDE_DIR=/path/to/headerfiles
+        Manually specify the installation directory of a library.
+    -DCMAKE_BUILD_TYPE=DEBUG
+        Enables debug mode and compiles extra debug symbols into the SuperTux
+        executable. This is useful when sending in bug reports to the
+        developers.
+    -DCMAKE_BUILD_TYPE=RELEASE
+        Enables release mode and compiles some sanity checks out of the build.
+
+Note for SVN users:
+  SuperTux does not need to be installed on the system, you can run it from
+  its own directory.
+
+SUPPORT
+-------
+
+  You can contact us at supertux-devel@lists.lethargik.org and in the #supertux
+  channel on the irc.freenode.net IRC server.
+