Autobuild is a framework for building packages and for managing the dependencies of a package on other packages. It provides a common interface to configuring and building any package, but it is not a build system like make or cmake. You will still need platform-specific make, cmake, or project files to configure and build your library. Autobuild will, however, allow you invoke these commands and package the product with a common interface.
|Important: Linden Lab Autobuild is not the same as or derived from GNU Autobuild, but they are similar enough to cause confusion.|
- 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.
Autobuild is under active development, so it's recommended that you get the latest version and keep it up to date.
- For the latest developments, see User:Oz Linden/Autobuild Improvements
Inside a DOS command window:
- CD to where you want to install autobuild. Do not have any spaces in the path to this directory.
hg clone http://hg.secondlife.com/autobuild
- Modify your path statement to include the autobuild
Building the Viewer
Windows users see: Viewer_2_Microsoft_Windows_Builds
Everyone else see: Building the Viewer with Autobuild (these instructions may still be in a rough form)
Changing or Adding Build Configuration Details
Supply zero or more options, and one sub-command.
|--debug||Display debug information|
|--dry-run||Run tool in dry run mode if available|
|--help [command]||Find all valid Autobuild tools and show help|
|--quiet||Display minimal output|
|--verbose||Display verbose output|
|-V, --version||Show version information|
|build||Build platform targets.|
|configure||Configure 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||Create an archive of build output.|
|source_environment||Print the shell environment Autobuild-based build scripts to use (by calling 'eval').|
|uninstall||Uninstall package archives.|
|upload||Upload tool for autobuild|
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 Examples
- Links to packages built with autobuild.
- Build Script Anatomy
- An annotated build script typical of those used to build third party libraries.
- Autobuild Shell Functions
- A description of all shell functions provided by Autobuild for use in build scripts.
Contributing to Autobuild
Autobuild is open source. Improvements are most welcome.
- Discussion of and help with Autobuild are available on the opensource-dev mailing list and the #opensl channel on the freenode.org IRC network.
- Bug reports and feature suggestions are tracked in the Open Development project on jira.secondlife.com.