Overview

Version 5 (Joshua Jensen, 10/01/2008 11:56 pm)

1 1
h1. Overview
2 1
3 5 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 5 Joshua Jensen
The Jamplus Jambase has support for Visual C++ builds only at this time.  Other compilers are forthcoming.
6 1
7 5 Joshua Jensen
h1. Download Jamplus
8 5 Joshua Jensen
9 2 Joshua Jensen
Jamplus may be downloaded from the Files tab above.
10 1
11 1
The Jamplus source code is available in Git from *@git://github.com/jamplus/jamplus.git@*.
12 5 Joshua Jensen
13 5 Joshua Jensen
14 5 Joshua Jensen
h1. Building Jamplus
15 5 Joshua Jensen
16 5 Joshua Jensen
Please be aware that the bootstrapped version of Jamplus is not currently operational.
17 5 Joshua Jensen
18 5 Joshua Jensen
The only method of building Jamplus is via the Visual Studio 2005 solution file: @src/Jam.sln@.  The source distribution ships with Lua support on and is compatible with LuaPlus at svn://svn.luaplus.org/LuaPlus/work51.  Put the LuaPlus distribution in the @src/LuaPlus/@ directory.
19 1
20 1
21 1
h1. Features
22 1
23 1
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 1
* *Batch Compilation*: Jamplus is able to batch files to tools that support it, such as the Visual C++ compiler.
32 1
* *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 4 Joshua Jensen
A list of real-world projects converted to use Jamplus can be found on the [[ExampleProjects]] page.