Prerequisites:

You'll need to have these libraries (with equivalent devel versions) to build Wesnoth:

 libsdl1.2.7
 libsdl-image1.2 (with png support)
 libsdl-mixer1.2 (with Vorbis support)
 libsdl-net
 libfreetype2
 libz
 boost_iostreams >= 1.33.0
 
Recommended (can be deactivated via ./configure --disable-python):
 python2.4

SDL* libraries can be found at http://www.libsdl.org . libfreetype can be found
at http://www.freetype.org/ . python can be found at http://www.python.org .
The boost libraries can be found at http://www.boost.org .

You will also need to have a working installation of gettext to build the
translations.


The .tar.bz2 file is distributed with a working set of configure files. They
are not in the SVN repository. Consequently, if you are building from
SVN, you will need autoconf (>= 2.60) and automake (>= 1.9). Run './autogen.sh'
then to generate the configure files.

Sourcecode:

You can get it here:

 http://www.wesnoth.org/downloads


Compiling:

First untar the package:

 $ tar xfjv wesnoth-x.y.z.tar.bz2

then

 $ cd wesnoth-x.y.z

Do this 

 $ ./configure
 $ make
 $ make install

to compile the wesnoth binary and install it along with the game
data to the default prefix, which is probably /usr/local.

Note: It has been reported (see https://gna.org/bugs/index.php?10326)
that under gcc 3.3.6 you need to turn off optimizations or you will
get a build that doesn't work for multiplayer.  We recommend building
with gcc 4.

If you want to build wesnoth_editor too add the --enable-editor
configure option.

The --enable-display-revision option enables code that shows the SVN
revision number on the main screen -- useful for detecting old builds
you might happen to have in your path, but probably not what you want
in a production release.

If you see lots of messages like "Type 'svnversion --help' for usage.",
you have a Subversion client installed but it is not implementing the 
-n option of svnversion. Time to update it.

In case you want wesnothd to be built you should add:
--enable-server --localstatedir=/var --with-server-uid=user
--with-server-gid=group

$localstatedir/run is the location where a wesnothd subdirectory will be
created owned by user:group. This is relevant if you want to be able
to communicate with wesnothd through a fifo file named socket.
You have to run wesnothd with the user specified while configuring in
order for it to work.
You can also specify the fifodir directly by using --with-fifodir
This way localstatedir won't be used.

If you want to install several versions of wesnoth you should use the
--with-preferences-dir= parameter to get distinct preferences directories.
The default is '.wesnoth'.

See './configure --help' for all available options.

Rebuilding:

You should clean your existing wesnoth release build first with:

 $ make distclean

If you want to clean your wesnoth SVN build do:

 $ make maintainer-clean

