Skip to content
Surf Wiki
Save to docs
general/compiling-tools

From Surf Wiki (app.surf) — the open knowledge base

Perforce Jam


FieldValue
nameJam
logo
screenshot
authorChristopher Seiwald
released
discontinuedYes
latest release version2.6
latest release date
latest preview date
programming languageC
operating systemCross-platform
genreSoftware development tools
licenseopen-source
website

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 MinGW or Cygwin.

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

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

Jambase is notorious 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.

References

References

  1. "Jam Documentation".
Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Perforce Jam — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report