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. |