Compiling VDrift

From VDrift
Revision as of 11:15, 11 February 2010 by NaN (talk | contribs) (→‎Prerequisites)
Jump to: navigation, search

Compiling VDrift is different depending on the operating system on which it is compiled.

Linux

Prerequisites

Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries.

The required build tools include:

  • g++ - The GNU C++ compiler
  • scons - A replacement for Make

The required libraries include:

  • libsdl - Simple Direct Media Layer
  • libglew - OpenGL extension utilities
  • sdl-gfx - Graphics drawing primitives library for SDL
  • sdl-image - Image file loading library for SDL
  • vorbisfile - File loading library for the ogg vorbis format
  • libvorbis - The Vorbis General Audio Compression Codec
  • Boost C++ Libraries (header-file-only)
  • ASIO C++ Libraries (header-file-only)

Your Linux distribution may have different package names and/or bundled differently. The list above should give enough information to search for applicable packages within your distribution's package manager.

For Ubuntu, all the required packages may be installed using this command:

sudo apt-get install g++ scons libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-net1.2-dev libvorbis-dev libglew-dev libasio-dev libboost-dev

On Ubuntu 8.04 you additionally need:

sudo apt-get install libboost-date-time-dev libboost-regex-dev

Bullet

As of SVN R2358 (2009-06-15 release and later), no steps are required to build bullet and you can continue to the next section.

For the 2009-02-15 release, the only step required is to expand the Bullet source archive:

tar zxvf bullet-2.73-sp1.tgz
Note: For older versions of VDrift, you will need to follow the Old Method of Compiling Bullet.

SCons

As of the 2005-10-02 release, VDrift no longer uses ./configure, make, etc. (autotools). Now the project is built with SCons. You may want to read a little about Using SCons.

There are two ways to use SCons. The first way is to install scons on your system through your package manager, then you can use it simply by the name of the program, "scons". If you followed the directions for installing prerequisites for Ubuntu above, then you're done and can continue on to the next section. The second way is to use the scons-local package (included with VDrift) which will do the same thing but doesn't require that you install scons on your system. To do this, you must move the scons-local-0.96.95.tar.gz archive from tools to the root vdrift folder, un-tar the archive, and then use the ./scons.py command instead of scons.

Get the Code

You can get the code from a source package for a particular version, or you can get the development version.

Source Package

Download the latest VDrift Linux source package. All the files in the package are in a directory called vdrift-version-src where version is something like 2009-06-15.

Unpack the archive.

tar jxvf vdrift-2009-06-15-src.tar.bz2
Enter directory

Now change directories into the location of your newly created VDrift source tree.

cd vdrift-2009-06-15

Optional: Using scons-local instead of installing SCons

If you have decided not to install SCons on your system, you can use scons-local. To set it up, do the following:

tar zxvf tools/scons-local-0.96.1.tar.gz
Note: Some of the following steps refer to the scons command, you should now replace that with ./scons.py.

Compiling

To compile VDrift, just use the scons command.

scons

Optional: Compile Options

You can use one or more compile options. To compile with optimization for a certain platform, you can use the arch option.

scons arch=a64

Compiling VDrift in release mode will turn off debugging options, and enable more compiler optimizations. VDrift runs much more quickly in release mode.

scons release=1
Note: These options are probably best left off the first time you compile. If you have problems compiling or running VDrift, it is easier to debug with them off. Once you verify that VDrift is compiling, then recompile with these optimizations to improve performance.

Installing

VDrift does not need to be installed to work and you can run it from the folder where you compiled it. If you do want to install, use the SCons build target install. This command must be run as root.

sudo scons install
Note: The scons install process was broken for several releases including the 2009-02-15 release and may fail to install needed datafiles. If you have release 2009-02-15 or earlier, run "sudo scons install" as noted above and then manually re-copy the data files to the installed destination folder:
sudo cp -r data/* /usr/share/games/vdrift/data

Optional: Installation Location

You can change the installation prefix. For example, if you want VDrift to go in /usr/local/share/games/vdrift, you can change the prefix setting.

scons install prefix=/usr/local
Note: There are many more build and install options, see the Using SCons page for more information.

Running

For release 2009-02-15 and earlier, if you used the default install locations, VDrift can be run with the command:

/usr/share/games/vdrift/bin/vdrift

For release 2009-06-15 and later, if you used the default install locations, VDrift can be run with the command:

/usr/local/bin/vdrift

Mac OS X

Prerequisites

The VDrift Mac OS X project requires Xcode version 2.2 with the "10.4 Universal SDK" and the "X11 SDK" installed.

Download

Get the VDrift source code, either from the latest source release on the VDrift downloads page, or the development version.

Build

Finally open tools/osx/vdrift.xcodeproj and hit "Build" from XCode's "Build" menu.

Windows

In order to build VDrift for Windows, you must set up the tools to build the software, build VDrift, and then install VDrift into a runtime folder.

Source and Data

VDrift

Get the VDrift source code and data, either from the latest source release on the VDrift downloads page, or the development version.

Note: From this point on the directory in which you checked out VDrift will be referred to as the root VDrift directory. The development environment setup script puts this in an environment variable $VDRIFT_DIR.

Boost

Download a Boost distribution from this link:

http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=679861

Uncompress Boost, and move the boost_1_39_0/boost folder to VDrift/tools/win/include

ASIO

Download the ASIO distribution from this link:

http://sourceforge.net/project/showfiles.php?group_id=122478&package_id=134200&release_id=665620

Uncompress ASIO, and move asio-1.4.1/include/* to VDrift/tools/win/include

Install and Configure Build Tools

Note: The versions listed for these tools were the ones used at time of this writing (current stable versions of all packages), there may be new versions. This is a known working configuration.

MinGW

  • Download MinGW 5.1.3 or TDM's GCC/mingw32
  • Run the installer.
  • When asked to select components for install, you only need the base system and the g++ compiler.
  • Choose the default install location.
  • Your PATH Environment Variable should contain the MinGW bin path(e.g. C:\MinGW\bin;).

Building with Code::Blocks

Building with Scons

Note: SCons will prefer the MSVC tools over the MinGW tools. So if you have Microsoft Visual Studio installed, you might have problems building VDrift with Scons.
  • Download SCons 1.20
  • Run the installer. It should find your Python installation, accept all defaults.
  • Your PATH Environment Variable should contain the Python and Python scripts paths(e.g. C:\Python26;C:\Python26\Scripts;).
Building with batch script
  • Open a new CMD prompt by choosing START, RUN, cmd, OK.
  • Change directories to the spot where you checked VDrift out.
  • Now, to build VDrift, run the command:
tools/win/bin/build_vdrift.bat
Building with MSYS
  • Download MSYS 1.0.10
  • Run the installer.
  • Choose the default install location.
  • When presented with a terminal asking if you want to continue with the post-install, type y, then press enter.
  • When asked if MinGW is installed, enter C:/MinGW, then press enter.
  • The MSYS post install script should find your MinGW installation now and configure itself.
  • To build VDrift you must use the MSYS terminal to run the build script.
  • Launch MSYS by clicking Start -> Programs -> MinGW -> MSYS -> msys.
  • Change directories to the spot where you checked VDrift out. If your username is Administrator and you put it on your Desktop in a directory named VDrift, you would enter this command:
cd /c/Documents\ and\ Settings/Administrator/Desktop/VDrift
  • Now, to build VDrift, run the command:
sh tools/win/bin/build_vdrift.sh

Run VDrift

  • Move or copy the VDrift data to a directory named data within the root VDrift directory. This can be done in a few different ways, depending on how you obtained the VDrift data. You could check it out directly here, or you could check it out in another place and use TortoiseSVN to export it to this location. If you downloaded a VDrift data archive you can extract it here, or extract it elsewhere and then move or copy the necessary files to runtime. In the end, just make sure you have a directory structure with paths like VDrift/data/cars/, VDrift/data/tracks/, etc.
  • Now, to run VDrift, you just need to double-click on the file vdrift.exe within the root VDrift directory.