Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Popular variants of Jam  



1.1  FT Jam  





1.2  Boost.Jam  





1.3  Haiku Jam  





1.4  JamPlus  







2 Jambase  





3 See also  





4 References  





5 External links  














Perforce Jam






Deutsch
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Jam
Original author(s)Christopher Seiwald
Final release

2.6 / August 7, 2014; 9 years ago (2014-08-07)

Written inC
Operating systemCross-platform
TypeSoftware development tools
Licenseopen-source
Websitewww.perforce.com/resources/documentation/jamArchived 18 January 2017 at the Wayback Machine

Perforce Jam was an open-source build system developed by Christopher Seiwald of Perforce Software. It was used as a replacement for make. Its primary feature was its ability to express build patterns in an imperative language which supported structured namespaces (similar to Pascal records) and simple lists. Jam could be used with autoconf, although it was often not necessary because of Jam's 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 Windows 9x using MinGWorCygwin.

The company announced that version 2.6 released in August 2014 was the last Perforce Jam release.[1]

[edit]

FT Jam

[edit]

FT Jam is a popular variant and 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

[edit]

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

Haiku Jam

[edit]

Haiku Jam is a custom fork of Perforce's Jam used by Haiku.

JamPlus

[edit]

JamPlus adds new features to Jam and integrates a number of patches from the Jamming mailing list and the Perforce Public Depot.

Jambase

[edit]

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 dependencies, only list the source code files themselves. Jambase is usually compiled into the executable file itself.

Jambase is notorious[citation needed] among Jam users for its bugs 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

[edit]

References

[edit]
  1. ^ "Jam Documentation". perforce.com. Retrieved 2018-01-02.
[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Perforce_Jam&oldid=1189888369"

Categories: 
Compiling tools
Build automation
Hidden categories: 
Articles needing additional references from November 2017
All articles needing additional references
Webarchive template wayback links
All articles with unsourced statements
Articles with unsourced statements from April 2010
 



This page was last edited on 14 December 2023, at 17:30 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki