forked from 0ad/0ad
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:
parent
14d0bf3768
commit
57ac4228d1
@ -134,8 +134,8 @@ function package_set_build_flags()
|
|||||||
tinsert(package.buildoptions, {
|
tinsert(package.buildoptions, {
|
||||||
-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
|
-- Hide symbols in dynamic shared objects by default, for efficiency and for equivalence with
|
||||||
-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
|
-- Windows - they should be exported explicitly with __attribute__ ((visibility ("default")))
|
||||||
"-fvisibility=hidden",
|
--"-fvisibility=hidden",
|
||||||
"-fvisibility-inlines-hidden",
|
--"-fvisibility-inlines-hidden",
|
||||||
})
|
})
|
||||||
|
|
||||||
if OS == "macosx" then
|
if OS == "macosx" then
|
||||||
|
@ -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.
|
distributions) machines on a LAN, you can significantly reduce build times.
|
||||||
See URL: http://wiki.kde.org/tiki-editpage.php?page=icecream
|
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;
|
$lib := directory where the compiler looks for lib files;
|
||||||
typically = /usr/lib .
|
typically = /usr/lib .
|
||||||
@ -24,6 +28,7 @@ $GL := directory containing OpenGL headers.
|
|||||||
$binaries := directory containing system/ and data/
|
$binaries := directory containing system/ and data/
|
||||||
|
|
||||||
- OpenGL extensions:
|
- OpenGL extensions:
|
||||||
|
on older Linuxes, if you receive errors about OpenGL extensions,
|
||||||
copy libraries/opengl/include/GL/glext.h to $GL.
|
copy libraries/opengl/include/GL/glext.h to $GL.
|
||||||
|
|
||||||
- SpiderMonkey [javascript]
|
- SpiderMonkey [javascript]
|
||||||
@ -34,8 +39,7 @@ $binaries := directory containing system/ and data/
|
|||||||
default - so don't change it to threaded)
|
default - so don't change it to threaded)
|
||||||
|
|
||||||
... download the source
|
... download the source
|
||||||
either choose one from http://ftp.mozilla.org/pub/mozilla.org/js/
|
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
|
|
||||||
... unpack in a temporary directory (let's call it $temp)
|
... unpack in a temporary directory (let's call it $temp)
|
||||||
... chdir into $temp/js/src/
|
... chdir into $temp/js/src/
|
||||||
... make -f Makefile.ref all
|
... make -f Makefile.ref all
|
||||||
@ -50,25 +54,32 @@ $binaries := directory containing system/ and data/
|
|||||||
won't be neccessary to build the engine.
|
won't be neccessary to build the engine.
|
||||||
|
|
||||||
- OpenAL: [sound]
|
- OpenAL: [sound]
|
||||||
<No instructions here yet>
|
you will need the openal, libogg and libvorbis packages for your distribution
|
||||||
|
|
||||||
- cryptopp
|
- 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
|
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
|
copy header files from libraries/cryptopp/include/cryptlib into the same dir
|
||||||
compile per cryptopp instructions (see website)
|
compile per cryptopp instructions (see website)
|
||||||
|
|
||||||
These libraries should have packages available for your distribution. You will
|
The following libraries should have packages available for your distribution.
|
||||||
need to get the corresponding -dev or -devel package for each library.
|
You will need to get the corresponding -dev or -devel package for each library.
|
||||||
- SDL
|
- SDL
|
||||||
|
- boost
|
||||||
|
- boost-signals
|
||||||
- zlib (libz) [resource decompression]
|
- zlib (libz) [resource decompression]
|
||||||
- libpng [PNG texture loading]
|
- 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
|
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.
|
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)
|
- 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
|
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
|
and libraries get installed in $lib and $include. No special config should be
|
||||||
necessary otherwise.
|
necessary otherwise.
|
||||||
|
- wxWidgets (for Atlas)
|
||||||
|
- The Binary File Descriptor (BFD) library for debug utilities, typically called
|
||||||
|
binutils-dev.
|
||||||
|
|
||||||
|
|
||||||
*Notes for the Release Person*
|
*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
|
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
|
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).
|
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.
|
||||||
|
Loading…
Reference in New Issue
Block a user