Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Perforce Jam
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{More citations needed|date=November 2017}} {{Infobox software | name = Jam | logo = <!-- [[File: ]] --> | screenshot = <!-- [[File: ]] --> | caption = | collapsible = | author = Christopher Seiwald | developer = | released = <!-- {{start date|YYYY|MM|DD}} --> | discontinued = Yes | latest release version = 2.6 | latest release date = {{start date and age|2014|08|07}} | latest preview version = | latest preview date = <!-- {{start date and age|YYYY|MM|DD}} --> | frequently updated = | programming language = [[C (programming language)|C]] | operating system = [[Cross-platform]] | platform = | size = | language = | status = | genre = [[Software development tools]] | license = open-source<!-- [[MIT License]] --> | website = {{URL|http://www.perforce.com/resources/documentation/jam}}{{webarchive|url=https://web.archive.org/web/20170118000907/https://www.perforce.com/resources/documentation/jam|date=18 January 2017}} }} '''Perforce Jam''' was an [[open-source software|open-source]] [[build automation|build system]] developed by Christopher Seiwald of [[Perforce Software]]. It was used as a replacement for [[make (software)|make]]. Its primary feature was its ability to express build patterns in an [[Imperative programming language|imperative]] language which supported structured namespaces (similar to [[Pascal (programming language)|Pascal]] [[Storage record|records]]) and simple [[List (computing)|lists]]. Jam could be used with [[autoconf]], although it was often not necessary because of Jam's [[Software portability|portability]] features. Perforce Jam ran on [[Unix]] (including many clones), [[OpenVMS]], [[Windows NT]] (including [[Windows 2000]] and [[Windows XP]]), [[Mac OS]], and [[BeOS]]. It was also possible to configure it to work on [[Microsoft Windows|Windows 9x]] using [[MinGW]] or [[Cygwin]]. The company announced that version 2.6 released in August 2014 was the last Perforce Jam release.<ref>{{cite web|url=https://www.perforce.com/documentation/jam-documentation |title=Jam Documentation |website=perforce.com |date= |accessdate=2018-01-02}}</ref> == Popular variants of Jam == === FT Jam === FT Jam is a popular variant maintained by [[FreeType|The FreeType Project]] and is fully [[backward compatible]], although its features are being integrated into Perforce Jam. Users of FT Jam often refer to Perforce Jam as "Classic Jam". === Boost.Jam === The [[Boost C++ Libraries]] is using a Jam variant called "Boost.Jam" (or "BJam"). It is incompatible with other variants, and is not a standalone tool, but part of [http://www.boost.org/build Boost.Build]. === Haiku Jam === Haiku Jam is a custom fork of Perforce's Jam used by [[Haiku_(operating_system)|Haiku]]. === JamPlus === JamPlus adds new features to Jam and integrates a number of patches from the Jamming mailing list and the Perforce Public Depot. == Jambase == Jam comes with a set of rules called "Jambase", which define rules for building various things. Jambase is "smart" and knows, for instance, that if a [[header file]] is modified, all files that include it must be rebuilt. Unlike with makefiles, the writer of the Jamfile need not manage these [[Dependency (computer science)|dependencies]], only list the source code files themselves. Jambase is usually compiled into the executable file itself. Jambase is notorious{{Citation needed|date=April 2010}} among Jam users for its [[Computer bug|bug]]s and the infrequency with which fixes are integrated into the distribution, though few bugs are critical. There are some packages such as [[AutoJam]] designed to solve some of the problems of Jambase. == See also == * [[Boost library|Boost]] β includes a package called Boost.Build, which uses a special version of Jam called Boost.Jam * [[Perforce|Perforce Helix Core]] β the main product of [[Perforce Software]], a commercial, proprietary revision control system == References == <references /> == External links == * [http://www.perforce.com/jam/jam.html Perforce Jam] * [https://freetype.org/jam/ FT Jam] [[Category:Compiling tools]] [[Category:Build automation|Jam]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:More citations needed
(
edit
)
Template:Template other
(
edit
)