Autobuild

From Second Life Wiki
Revision as of 18:37, 13 February 2011 by Oz Linden (talk | contribs)
Jump to navigation Jump to search

Autobuild is an in-house framework for maintaining and building libraries. It acts as director providing a common interface to build and package libraries, but it is not a build system like make or cmake. You will still need platform specific make, cmake, or project files to actually configure and build your library. Autobuild will, however, allow you invoke these commands and package the product with a common interface. (for Linden old hands: Autobuild is designed as a replacement for the old lindenlib policies, doing the right thing so you don't have to.)

KBcaution.png Important: Linden Lab Autobuild is not the same as or derived from GNU Autobuild, but they are similar enough to cause confusion.

Getting Autobuild

Autobuild is available as a Mercurial repository:

https://bitbucket.org/lindenlab/autobuild  

Running Autobuild

You can either run the autobuild command directly from the "bin" directory in a working copy of that repository, or install it as a normal python package by running

python setup.py install

from the top level directory of the working copy. You may need administrative privilege on your system to install into system command directories.

Running Autobuild

Usage:

      autobuild [-v] [--help [HELP]] [--dry-run] [--quiet] [--verbose]
                [--debug]
                
                {installables,configure,package,edit,upload,manifest,build,install,print,source_environment,uninstall}
                ...

Sub Commands:

build
Builds platform targets.
configure
Configures platform targets.
edit
Manage build and package configuration.
install
Fetch and install package archives.
installables
Manipulate installable package entries in the autobuild configuration.
manifest
Manipulate manifest entries to the autobuild configuration.
package
Creates an archive of build output.
print
Print configuration.
source_environment
Prints out the shell environment Autobuild-based buildscripts to use (by calling 'eval').
uninstall
Uninstall package archives.
upload
upload tool for autobuild

Options:

-v, --version
--help [HELP] find all valid Autobuild Tools and show help
--dry-run run tool in dry run mode if available
--quiet minimal output
--verbose verbose output
--debug

Background and Tutorials

Autobuild How To
A tutorial introduction to using autobuild
Autobuild Lexicon
A list of terms and how they are used in the context of autobuild
Autobuild Package Layout
Describes the standard directory tree for packages managed with autobuild
Autobuild Quick Start
A basic walkthrough of how to add autobuild management to an existing software project
Autobuild Class Model
Describes the fundamental objects in the autobuild design and the relationships between them.
Autobuild Package Examples

Contributing to Autobuild

Autobuild is open source. Improvements are most welcome.