Building:FreeBSD:SCons

From FIFE development wiki

Jump to: navigation, search
Image:Freebsd.png

Platform-dependent information: FreeBSD.

The following passage contains information that is specific to FreeBSD systems.

[edit] Introduction

This guide describes how you can compile the FIFE sourcecode into a binary on your FreeBSD (and most likely other BSD's) system.

[edit] Dependencies

There is a separate article listing all build dependencies.

[edit] Getting the latest version with svn

Instructions how to get the latest version is described in Subversion repository.

[edit] Customize dependency paths

Copy build/freebsd6-config-dist.py or build/freebsd7-config-dist.py depending on your version of FreeBSD, and save it as freebsd6-config.py or freebsd7-config.py in the same folder. Now you can edit the file to customize dependency paths and other build options. It will override the default settings.

[edit] Compiling

You need to make sure you have installed the dependencies via ports before compiling FIFE.

FIFE uses scons as a build-wrapper. If you have already installed it via ports, just change into the trunk directory of the checked out sources and run:

Image:Command.png
scons ext=1 && scons
 

After FIFE has been successfully built for the first time it's sufficent to run just this command in the future:

Image:Command.png
scons
 

[edit] Compile flags

You can see them, the descriptions, default and actual values by running:

Image:Command.png
scons -h
 

outside the source directory.

[edit] Possible builds problems

[edit] Required lib XXX not found :(

Check:

  • Are you sure you have installed the dependencies via ports?

[edit] The damn lib is fine, but scons ignores it

You have to ensure that scons finds the libs/headers; you can either:

  • register the libs (system-wide) for pkg-config
  • register the libs (as non-root) for pkg-config and build with:
Image:Command.png
export PKG_CONFIG_PATH=/some/path
 
Image:Command.png
scons useenv=yes
 

This may sound complicated, but if you know what the -I and -L compiler flags do, it isn't. Search for the pkg-config lib dir (e.g. /usr/lib/pkgconfig) and look at one of the files. If you want to register lib foo, the filename should be foo.pc; so just a copy an existing file and edit as required (probably Libs: and CFlags:, maybe Name:, too).

  • edit freebsd6-config-dist.py or freebsd7-config-dist.py

Use context.env.Append() to add search paths either with CPPPATH or LIBPATH.


[edit] Additional information.

There are separate articles that cover the topics how to launch FIFE, how to use the compiled binary with Fallout content, what the available key bindings are and how the ingame console works.

Personal tools