Updated build instructions for Linux and commented out visibility options

that make GCC 4.1 fail to link the game.

This was SVN commit r5435.
This commit is contained in:
Matei 2007-11-09 18:48:23 +00:00
parent 14d0bf3768
commit 57ac4228d1
2 changed files with 46 additions and 9 deletions

View File

@ -134,8 +134,8 @@ function package_set_build_flags()
tinsert(package.buildoptions, {
-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
"-fvisibility=hidden",
"-fvisibility-inlines-hidden",
--"-fvisibility=hidden",
--"-fvisibility-inlines-hidden",
})
if OS == "macosx" then

View File

@ -14,7 +14,11 @@ more reasonably homogenous (both Linux, but they may even use different
distributions) machines on a LAN, you can significantly reduce build times.
See URL: http://wiki.kde.org/tiki-editpage.php?page=icecream
Required Libraries
If you are running a multicore machine, you can also run jobs in parallel
using the -j option of make. For example, make -j 4 compiles 4 files at a time
in parallel.
*Required Libraries*
$lib := directory where the compiler looks for lib files;
typically = /usr/lib .
@ -24,6 +28,7 @@ $GL := directory containing OpenGL headers.
$binaries := directory containing system/ and data/
- OpenGL extensions:
on older Linuxes, if you receive errors about OpenGL extensions,
copy libraries/opengl/include/GL/glext.h to $GL.
- SpiderMonkey [javascript]
@ -34,8 +39,7 @@ $binaries := directory containing system/ and data/
default - so don't change it to threaded)
... download the source
either choose one from http://ftp.mozilla.org/pub/mozilla.org/js/
or take http://www.wildfiregames.com/~code/libraries/linux/js-1.5-rc6a.tar.gz
choose one from http://ftp.mozilla.org/pub/mozilla.org/js/
... unpack in a temporary directory (let's call it $temp)
... chdir into $temp/js/src/
... make -f Makefile.ref all
@ -50,25 +54,32 @@ $binaries := directory containing system/ and data/
won't be neccessary to build the engine.
- OpenAL: [sound]
<No instructions here yet>
you will need the openal, libogg and libvorbis packages for your distribution
- cryptopp
this package is typically available as libcrypto++; if it isn't, then
unzip libraries/cryptopp/source_and_build_and_test_files.zip to a temp dir
copy header files from libraries/cryptopp/include/cryptlib into the same dir
compile per cryptopp instructions (see website)
These libraries should have packages available for your distribution. You will
need to get the corresponding -dev or -devel package for each library.
The following libraries should have packages available for your distribution.
You will need to get the corresponding -dev or -devel package for each library.
- SDL
- boost
- boost-signals
- zlib (libz) [resource decompression]
- libpng [PNG texture loading]
- FAM [file alteration monitor]
- FAM [file alteration monitor] or gamin
FAM consists of a daemon and a client library. Both will need to be installed
to build/run PS. You'll need the devel package for the library too.
On some distributions, e.g. Ubuntu, FAM has been replaced by gamin.
- Xerces-C++ (xercesc, xerces-c, xerces-c++, whatever your distro might call it)
If you have to build Xerces-C++ by yourself, just make sure that the headers
and libraries get installed in $lib and $include. No special config should be
necessary otherwise.
- wxWidgets (for Atlas)
- The Binary File Descriptor (BFD) library for debug utilities, typically called
binutils-dev.
*Notes for the Release Person*
@ -83,3 +94,29 @@ set by a script before launching the actual ps executable.
FAM: Pyrogenesis benefits from a running FAM daemon. Either we include the
daemon exec in the distribution and launch it in the start script, or we
just add it as a prereq (i.e. leave it to the user to install).
*Detailed Instructions for Ubuntu 7.10*
On Ubuntu 7.10, you can install the required packages with the following
command:
sudo apt-get install libsdl1.2-dev libxerces27-dev zlib1g-dev libpng12-dev libjpeg62-dev libgamin-dev nasm libwxgtk2.8-dev libboost-dev libboost-signals-dev libopenal-dev libalut-dev libvorbis-dev libogg-dev libcrypto++-dev binutils-dev
You also need build-essential for the make tools and g++.
You will also need to install SpiderMonkey manually. To do this, run:
wget http://ftp.mozilla.org/pub/mozilla.org/js/
tar -xzf js-1.60.tar.gz
cd js/src
make -f Makefile.ref
make -f Makefile.ref export
cd ../../dist/Linux_All_DBG.OBJ
sudo cp lib/* /usr/lib
sudo mkdir /usr/include/js
sudo cp include/* /usr/include/js
ldconfig
You should now be able to build premake and then build the game itself as per
the instructions above.