Difference between revisions of "Building the Viewer with Autobuild"

From Second Life Wiki
Jump to: navigation, search
Line 1: Line 1:
{{Autobuild Nav}}
=== Install autobuild ===
=== Install autobuild ===
If you haven't done so already, install ''autoubuild''.  Full instructions can be found on the [[Autobuild]] page, but most users may simply use
If you haven't done so already, install ''autoubuild''.  Full instructions can be found on the [[Autobuild]] page, but most users may simply use

Revision as of 14:45, 23 March 2011

Install autobuild

If you haven't done so already, install autoubuild. Full instructions can be found on the Autobuild page, but most users may simply use

 easy_install autobuild


pip install autobuild

to install.

Build a desired configuration

With a properly configured developer machine (see compiling), building the viewer with autobuild is as simple as invoking

 autobuild build -c [CONFIGURATION]

where CONFIGURATION stands for the build configuration you would like to build. The build configurations defined in the viewer's autobuild.xml file follow some simple conventions which we describe below. As a developer you should choose the appropriate build configuration for your needs. After a build has completed, the resulting product will be found in the build directory named build-* where the * is wildcard representing the platform dependent part of the name.

Developers who wish to build a viewer with an IDE don't have to do a full command line build. Using

 autobuild configure -c [CONFIGURATION]

Will install any dependencies (if the build configuration uses them) and construct an appropriate project or solution file (.xcodeproj for mac and .sln for windows) inside the build directory.

Base build configurations

There are three basic types of build configurations which are used to vary the debugability of the resulting build versus optimization. These configurations are:

  • Debug — unoptomized with debugging information.
  • RelWithDebInfo — optomized but with debugging information.
  • Release — optimized with no debug information.

Debug will result in a slow client but is the easiest to use with a debugger. RelWithDebInfo is significantly faster and is often easy to debug, but code optimizations may occasionally make tracking program flow in a debugger challenging. Release is used for building a shipping version of the viewer.

Build variations for open source developers

The unmodified build configuraitons defined in the previous section are configured for use by Linden developers and may require access to installables which are not publicly available. For open source developers two variations are provided to support development by third parties using the following prefixes:

  • OpenSource — build a viewer using only publicly distributed installables.
  • OpenSourceStandAlone — build a viewer without using any installable packages provided by Linden.
    Developers will need to install any 3rd party dependencies manually.

To build an open source configuration choose a build configuration which is a concatonation of one of the two above prefixes with a base configuraiton name. For example to build a stand alone viewer with release optimization including debug information run

autobuild build -c OpenSourceStandAloneRelWithDebInfo