git » fp-git.git » master » tree

[master] / FP / doc / INSTALL

To install from the CVS (advanced users only):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are a coder type:

export CVS_RSH=ssh
cvs -z3 -d:ext:(USER)@cvs.fp.princed.com.ar:/cvsroot/freeprince co FP

If you aren't just type:

cvs -z3 -d:pserver:anonymous@cvs.fp.princed.com.ar:/cvsroot/freeprince co FP

When the download is finished, you'll get the whole repository.
To make the game for the first time type:

cd FP/src
make install

The dat files will be downloaded (about 200kb), after that the
configuration will be processed and the source compiled.

The CVS code isn't a binary distribution and it needs to be compiled,
some packets are required in both cases (coders and anonymous).

Minimum requiered packages needed for a succesful source build:
 awk gcc make libsdl1.2-dev

Packages needed if you want to do a "make install"
 wget tar bzip2

Recomended packages
 gqview bash vim cvs mawk/gawk dosbox
 
For the moment the only supported platform is x86. This is because of the
endian registers in the processors. We are working to finish the porting of our
abstraction disk library.
Installation (make install) is not needed if you want to build the sources,
but will download the data files needed by the game to be ran.

If you are using debian you can install the packages just typing:
apt-get install wget gcc make libsdl1.2-dev bzip2 tar

Make options:
- make             compiles only the latest modified sources.
- make build       compiles all the sources.
- make install     downloads dat files and compiles the game.
- make checks      checks for the programs needed to perform a right compilation.
- make clean       deletes all the files that are generated by make
                   except the ones that have been downloaded.
                   Note that this is not dangerous at all because make build
                   will regenerate them.
- make download    downloads the dat files.
- make headers     parses the configuration files and builds the headers.
                   This uses all the awk stuff and is very useful to make a
                   package for other machines without awk installed (e.g.
                   machines running Windows systems). See make package.
- make it          does all the necesary stuff to run the game and runs it.
- make run         runs a compiled game.
- make build FS='' rebuilds the game in a non-fullscreen mode.
- make package     creates a tar bz2 package with the generated headers and the
                   source to distribute it to systems without awk.

CVS nightly tarballs:
~~~~~~~~~~~~~~~~~~~~
Is just the last CVS stuff compressed. To install it just uncompress it and
follow the CVS installation steps (except for the cvs command).

To install from the binary distribution files:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There isn't any distribution yet :(

Note:
~~~~
The program is very unestable, don't expect to see the original game, because we
need a lot of time more to reach something similar. Please be patient. Current
CVS distributions are just for developers or to show the improvements.


Ports:
~~~~~

Dependencies:

 There are 3 dependencies:
 - getopt parsing module
 - dirent structure
 - sdl library

Architectures:
 32 bits architectures are fully supported.
 64 bits architectures needs a lot of testing, bacause there are some crashes in the
  state mapping module.
 We need to check out the problem in Big Endian architectures, the images aren't
  uncompressed properly causing Segmentation faults and SDL parachute deployment.

Operating Systems:

GNU/Linux: Fully supported
 Install libsdl1.2-dev package to fix the sdl dependency.
 getopt is provided by the GNU library.
 Since linux is POSIX dirent is supported.

 GCC Compile line:
 make

Windows: Fully supported
 Install the windows sdl1.2 developer package to fix the sdl dependency.
 sdl.dll must be in the same directory where freeprince.exe is
 getopt must be compiled also, but the port is included in the source.
 Since windows is not POSIX dirent structure will be compiled also.

 LCC Compile line:
 make -f makefile.lcc

FreeBSD: Fully supported
 Install libsdl1.2-dev package to fix the sdl dependency.
 getopt must be compiled also, but the port is included in the source;
 you will have to manually enable the getopt compiling adding the parameters
 to the make line.
 Since the OS is POSIX dirent is supported.
 
 GCC Compile line:
 make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'

IRIX: Partially supported
 Nekoware SDL port should work as the sdl dependency.
 remeber to make sdl-config accesible to the path (export PATH=$PATH:/usr/nekoware/bin)
 and to make the proper symlinks for libSDL-1.2.so.1.
 getopt must be compiled also, but the port is included in the source;
 you will have to manually enable the getopt compiling adding the parameters
 to the make line.
 Dirent is supported.
 
 GCC Compile line:
 make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'

 Note: Please read the 64 bits architectures problem above.

Mac OS X: Partially supported
 Install libsdl1.2-dev package to fix the sdl dependency.
 getopt must be compiled also, but the port is included in the source;
 you will have to manually enable the getopt compiling adding the parameters
 to the make line.
 Since the OS is POSIX dirent is supported.
 
 GCC Compile line:
 make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'

 Note: Please read the big endian architectures problem above.

Other *BSD and SunOS: Not yet supported
 On the way.