Synced TinyGetText with lincity-ng.
[supertux.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 70e2b29..6bee39d 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 
 
-Last update: April 26, 2004
+BINARIES
+--------
+    
+  We try to provide precompiled binaries of SuperTux for a number of platforms.
+  You should check
+
+    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
-  ---
-    "Super Tux" was programed using the "Simple Direct Media" 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 Super Tux!)
-
-  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)
-
+  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 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.4.7 or later (if you do not want to use jam)
+    Download: http://www.cmake.org/HTML/Download.html
+    Homepage: http://www.cmake.org/
+* perforce jam 2.5 or later (if you do not want to use CMake)
+    Download: ftp://ftp.perforce.com/pub/jam
+    Homepage: http://www.perforce.com/jam/jam.html
+
+* 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)
+    http://www.libsdl.org/projects/SDL_image
+
+* PhysicsFS (1.0.0, the development branch 1.1.x is buggy and does not work,
+             1.2.0 and later should work when it is released)
+    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
+
+  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
+---------------------------------------
+
+  This section details how to build SuperTux using CMake. If you want to use 
+  perforce jam to build SuperTux, please skip to the appropriate section.
+
+  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.
+
+    2. Type `make' to start the build process.
+
+    3. 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')
+
+    4. 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 and 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.
+    -DDEBUG=ON
+        Enables debug mode and compiles extra debug symbols into the SuperTux
+        executable. This is useful when sending in bug reports to the
+        developers.
+
+Note for SVN users:
+  SuperTux does not need to be installed on the system, you can run it from
+  its own directory.
+
+INSTALLING UNDER LINUX/UNIX USING JAM
+-------------------------------------
+
+  SuperTux uses a normal Autoconf configure script. The simplest way to compile
+  this package is:
+
+    1. `cd' to the directory containing the package's source code and type
+       `./configure' to configure the package for your system.  If you're
+       using `csh' on an old version of System V, you might need to type
+       `sh ./configure' instead to prevent `csh' from trying to execute
+       `configure' itself.
+
+       If no configure script exists (e.g. in case you've retrieved SuperTux
+       from SVN), just run the autogen.sh script. You'll need Autoconf
+       for this.
+
+       Running `configure' takes awhile.  While running, it prints some
+       messages telling which features it is checking for.
+
+    2. Type `jam' to compile the package.
+
+    3. Type `jam install' to install the programs and any data files and
+       documentation. (You should be root user on Linux systems.
+       You can become root user with the `su' command or by using
+       `sudo jam install')
+
+    4. The game should work now and you can remove the source directory
+
+  You can customize the build process by specifying additional parameters for
+  the configure script. Type `./configure --help' for additional informations.
+  Some common options are:
+
+    --prefix=$HOME/.local
+        Installs SuperTux in your HOME directory in the .local folder.
+        This avoids the need for system administrator privileges when
+        installing the game
+    --with-XXX=Prefix
+        Manually specify the installation directory of a library
+    --enable-debug
+        Enables debug mode and compiles extra debug symbols into the SuperTux
+        executable. This is useful when sending in bug reports to the
+        developers.
+
+Note for SVN users:
+  SuperTux does not need to be installed on the system, you can run it from
+  its own directory.
 
 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.
+  The file is "supertux.xpm", and can be found in the
+  data/images/engine/icons/ directory.
+
+SUPPORT
+-------
+
+  You can contact us at supertux-devel@lists.lethargik.org and in the #supertux
+  channel on the irc.freenode.net IRC server.
+