Overview

Version 7 (Joshua Jensen, 10/03/2008 10:40 pm)

1 1
h1. Overview
2 1
3 7 Joshua Jensen
JamPlus is a software build tool, similar to *make*.  It is built on Perforce's Jam 2.5 and contains necessary and useful patches from the Perforce Jamming mailing list and Perforce Public Depot.  JamPlus also has a number of new features above and beyond any published patches.
4 1
5 7 Joshua Jensen
The JamPlus Jambase has support for Visual C++ builds only at this time.  Other compilers are forthcoming.
6 1
7 7 Joshua Jensen
h1. Download JamPlus
8 5 Joshua Jensen
9 7 Joshua Jensen
JamPlus may be downloaded from the Files tab above.
10 1
11 7 Joshua Jensen
The JamPlus source code is available in Git from *@git://github.com/jamplus/jamplus.git@*.
12 5 Joshua Jensen
13 5 Joshua Jensen
14 7 Joshua Jensen
h1. Building JamPlus
15 5 Joshua Jensen
16 7 Joshua Jensen
Please be aware that the bootstrapped version of JamPlus is not currently operational, nor can Jam build itself through the provided Jamfiles.
17 5 Joshua Jensen
18 7 Joshua Jensen
Go to the [[BuildingJamplus|Detailed instructions for building JamPlus]].
19 1
20 1
21 1
h1. Features
22 1
23 7 Joshua Jensen
A sampling of the new features in the JamPlus distribution is below.  More detailed accounts can be found on the New Features page.
24 1
25 1
* All the power of the core Perforce Jam 2.5 software.
26 1
* *Multiple Passes:* The ability to run multiple internal passes, collecting unknown dependencies, and executing them in a future pass.
27 1
* *Network Cache:* Any to-be-built target can be retrieved from one or more shared network caches of prebuilt targets.
28 1
* *Command-line Dependencies:* When the 'command line' of a target (not necessarily the real command line) changes, the target is rebuilt.
29 1
* *Powerful New Variable Expansion:* Convert between slash types, expand literal text, include or exclude list components, recursive file globs, and more.
30 1
* *Dependency (Header) Cache:* When dependency information is scanned, it is cached for the next build, offering a huge performance boost.
31 7 Joshua Jensen
* *Batch Compilation*: JamPlus is able to batch files to tools that support it, such as the Visual C++ compiler.
32 7 Joshua Jensen
* *Workspace/Project Generator*: JamPlus can output project files for the Visual Studio IDE.
33 3 Joshua Jensen
34 3 Joshua Jensen
35 3 Joshua Jensen
h1. Documentation
36 3 Joshua Jensen
37 3 Joshua Jensen
Find all available documentation on the [[Documentation]] page.
38 4 Joshua Jensen
39 4 Joshua Jensen
40 4 Joshua Jensen
41 4 Joshua Jensen
h1. Example Projects
42 4 Joshua Jensen
43 7 Joshua Jensen
A list of real-world projects converted to use JamPlus can be found on the [[ExampleProjects]] page.