Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Chapter 24. Boost.Jam : 3.1.14

Rene Rivera

David Abrahams

Vladimir Prus

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Introduction
Features
Building BJam
Using BJam
Options
Operation
Language
Lexical Features
Targets
Rules
Flow-of-Control
Variables
Modules
Miscellaneous
Diagnostics
Bugs, Limitations
Fundamentals

Introduction

Boost.Jam (BJam) is a build tool based on FTJam, which in turn is based on Perforce Jam. It contains significant improvements made to facilitate its use in the Boost Build System, but should be backward compatible with Perforce Jam.

This is version 3.1.14 of BJam and is based on version 2.4 of Jam/MR:

/+\
+\  Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
+/
This is Release 2.4 of Jam/MR, a make-like program.
License is hereby granted to use this software and distribute it
freely, as long as this copyright notice is retained and modifications
are clearly marked.
ALL WARRANTIES ARE HEREBY DISCLAIMED.

Features

Jam is a make(1) replacement that makes building simple things simple and building complicated things manageable.

Jam's language is expressive, making Jamfiles (c.f. Makefiles) compact.

Jam handles header file dependencies automatically and on-the-fly.

Jam is very portable: it runs on UNIX, VMS, Mac, and NT. Most Jamfiles themselves are portable.

Jam is unintrusive: it is small, it has negligible CPU overhead, and it doesn't create any of its own funny files (c.f. Odin, nmake, SunOS make).

Jam can build large projects spread across many directories in one pass, without recursing, tracking the relationships among all files. Jam can do this with multiple, concurrent processes.

Jam isn't under the blinkin GNU copyright, so you can incorporate it into commercial products.


PrevUpHomeNext