-INSTALL.txt for Super Tux
+- Install instructions for SuperTux -
+http://supertux.lethargik.org/
-by Bill Kendrick
-bill@newbreedsoftware.com
-http://www.newbreedsoftware.com/supertux/
+Last update: December 20, 2007 by Christoph Sommer
-Version 0.0.6 (in development)
-
-December 26th, 2003
+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.
-
-
-INSTALLING UNDER LINUX/UNIX
----------------------------
- -----------------------------------------------------------------
- Note: Read this entire section before you start issuing commands!
- -----------------------------------------------------------------
-
- First make sure SDL, SDL_image and, optionally, SDL_mixer, are
- installed on your system.
-
- The "Makefile" that comes with "Super Tux" assumes a number
- of defaults about your system. You can edit their values in
- the "Makefile" itself, or specify their values when you run
- the "make" command (ie, "make VARIABLE=value").
-
- The things you will wish to edit are:
-
- SDL_PREFIX=/usr/local
-
- This defines the base location where the "include/SDL/"
- and "lib/SDL/" directories will be found. (They contain
- the C header files and compiled object files for SDL,
- respectively.)
-
-
- DATA_PREFIX=$(PWD)/data/
-
- This defines where "Super Tux"'s "data/" directory is
- to be found. The default assumes that you wish to leave
- it where it is right now ("$(PWD)" expands to become the
- current direcotry.
-
- This variable is useful if you plan on moving the "data/"
- directory elsewhere, say a globally-accessible
- "/usr/local/games/supertux-data/".
-
- JOY=YES
-
- This causes "Super Tux" to be compiled with joystick
- support. If you don't have a version of SDL that supports
- joystick, or just don't want joystick support, set this to "NO".
-
- DEBUG_FLAG=-DDEBUG
-
- This tells the compiler to generate an executable file with
- internal debugging messages. If you don't want to see those
- annoying texts, just edit it as below:
-
- DEBUG_FLAG=
-
- To compile the game, type the command:
-
- make [ with whatever variable changes you want, if any ]
-
- If you decided that you wanted the data somewhere else, make sure
- to move it there. If you wanted it to be accessible to others
- (ie, you're an administrator installing a new game for your users),
- make sure to set the permissions for the files! (You'll also want
- to move the "supertux" binary to somewhere globally accessible,
- and set its permissions, as well, of course!)
-
- Note: If you do not have the SDL_mixer library, or wish to not
- compile sound support into the game, you can compile it like this:
-
- make nosound [ with whatever variable changes you want, if any ]
-
- If you wish to return the directory to its distribution state,
- (remove the ".o" object files, and the "supertux" executable program
- file), you can run:
-
- make clean
-
-
-ICON FILE
----------
- A 32x32, XPM-format icon file (using the standard 23-color "cmap.xpm"
- color palette) is available if you wish to use an icon for this game.
-
- The file is "supertux-icon.xpm", and installed in Super Tux's
- "data/images/" directory.
-
-
-The End!
+ 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
+ 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)
+ 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
+---------------------------------------
+
+ 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.
+
+SUPPORT
+-------
+
+ You can contact us at supertux-devel@lists.lethargik.org and in the #supertux
+ channel on the irc.freenode.net IRC server.
+