[opensource-dev] Using 'autobuild' to build the viewer

Oz Linden (Scott Lawrence) oz at lindenlab.com
Thu Jan 27 15:41:51 PST 2011


We now have changes ready for building the viewer with the new Linden 
Lab "autobuild" tool (not to be confused with any other similarly named 
tool written by anyone else).  Autobuild is a framework for maintaining 
and building libraries and other programs. It acts as director providing 
a common interface to build and package libraries and programs, but it 
is not a build system like make or cmake (it uses them "under the covers").

The autobuild framework has now been applied to the viewer build as a 
whole, so that we'll soon have a common command-line method to build on 
all platforms.

Once these changes are merged, you'll be able to build with just two 
commands starting from a clean checkout: one to configure (which only 
need be done once in each working copy), and one to actually do the build.

To configure your clean working copy:

    A default Linden developer build:

        autobuild configure -c RelWithDebInfo

    A default non-Linden developer build:

        autobuild configure -c OpenSourceRelWithDebInfo 

    A "standalone" non-Linden developer build:

        autobuild configure -c OpenSourceStandaloneRelWithDebInfo 

    Needless to say, there are ways to provide more detailed and
    fine-grained controls, and there are other possible targets for the
    -c (--configuration) option.

The actual build command is:

    autobuild build-c OpenSourceRelWithDebInfo 

Most of the components that the viewer depends on have either been 
converted to building with autobuild, or are in the process of being 
converted.  The open source dependencies will eventually all be in 
bitbucket.org/lindenlab  (aka hg.secondlife.com) repositories; many are 
already there, and you build each of them in exactly the same way.

To begin experimenting with this new way of doing things, you'll need to 
check out autobuild itself (it's written in python, and is open source) 
from:

    https://bitbucket.org/lindenlab/autobuild

You can either run it directly from the checkout, or install it as a 
normal python package using the command:

    setup.py install

There are some pages on the wiki that describe how to use autobuild; 
like all wiki content, improvements are welcome.

The viewer repository modified to use autobuild is at:

    https://bitbucket.org/mani_linden/viewer-autobuild

How soon this is merged into viewer-development depends in large part on 
the feedback we get from this email, but our hope is that it will be 
very soon.  When it is merged, this will be the only "supported" way to 
build the viewer - which is to say that:

   1. Doing it any other idiosyncratic way is up to you and
      contributions to support them are ok as long as they don't break
      the supported method.
   2. All contributions must build cleanly using the supported method.

If you are on windows, you must ensure that the Visual Studio executable 
(devenv.com) is in the path that the shell you run autobuild in is 
using.   You can set the path using the 'vsvars32.bat' file, found in 
the directory referenced by the variable VSxxCOMNTOOLS, where 'xx' 
depends on the version of VS that you're using (the "supported" value is 
still '80', but upgrading that is coming real soon now....).

So... download and try these out.  Feedback to the list rather than jira 
issues until we merge this into viewer-development, please.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20110127/c8091232/attachment.htm 


More information about the opensource-dev mailing list