Building
Source Code
EECS’ source code is located at
http://mancubus.net/svn/hosted/eternity/branches/client-server
. On Windows
you can use TortoiseSVN; Linux users are encouraged to use their distribution’s
package management to install the Subversion binaries. The command-line to
checkout the code is:
svn co http://mancubus.net/svn/hosted/eternity/branches/client-server
Once you’ve successfully checked out the source code from the Subversion
repository, create an eedeps
folder inside of it.
Dependencies
EECS has pre-built dependencies for Windows and Linux located here. If you are using Code::Blocks on Windows you should use the MinGW distribution, but if you are using MSVC on Windows you should use the MSVC distribution. 32-bit Linux users should use the Linux32 distribution, and 64-bit Linux users should use the Linux64 distribution. It is also possible to build EECS using packages installed on your machine. Here is a list of EECS’ dependencies:
- ENet 1.3.x
- libarchive 2.8.x
- bzip2
- zlib
- xz
- curl
- c-ares-1.7.4 (Linux only)
- gnutls-2.8.x
- libgcrypt-1.5.x
- libgpg-error-1.10
- libidn-1.22
- SDL
- SDL_net
- SDL_mixer
- flac-1.2.x
- libmad-0.15.1b
- libmikmod-3.1.11
- libogg-1.2.x
- libvorbis-1.3.x
OpenSSL
Please be aware that while OpenSSL may be substituted for GnuTLS and its myriad dependencies, binaries built against OpenSSL may not be distributed because of a licensing conflict between its license and EECS’ license (GPLv2). They are OK for personal use however.
MP3
MP3 support is on sketchy legal ground due to patents covering MP3 technology. Use at your own risk. We strongly encourage mappers and modders to use the free and superior OGG format.
SMPEG
While SMPEG may be substituted for libmad, SMPEG has reported stability issues and can be difficult to compile.
Adding Pre-Built Dependencies
If you are using a different platform, please consider getting in touch with the development team so they can help you build the dependencies for your platform and add them to the repository.
Installing Pre-Built Dependencies
Windows users can decompress the archives using 7-Zip,
Linux users will need XZ Utils, which can likely be
installed via package management. The dependencies should be placed in the
eedeps
folder inside the main source distribution. For example, a MinGW user
who downloaded the source code to C:\Code\eecs
would have the dependencies
installed at C:\Code\eecs\eedeps\mingw
, and inside the mingw
folder would be
bin
, include
, info
, lib
, man
, sbin
, and share
.
Building: Code::Blocks & Windows
The EECS Code::Blocks project file is located in the codeblocks
folder. No
modifications should be necessary; open and build.
Building: MSVC++ & Windows
The EECS MSVC++ project file is located in the vc2008
folder. This build
platform is still in development, possible issues include problems with the
Solution/Project file (non-relative paths) and a lack of static linking (lots
of DLLs required by the main Eternity.exe executable). Please report problems
with the Solution/Project file; static linking will be added in the future.
Building: Linux
The EECS Linux build system uses CMake. The steps are:
mkdir build
cd build
cmake ../ -G"Unix Makefiles"
make
This builds a binary eternity.real
inside build/source
(in our example).
Installation currently does not work; users who build from source are expected
to install eternity as they see fit.