Perforce Jam

Perforce Jam

Perforce Jam ist ein quelloffenes Build-System, geschrieben von Cristopher Seiwald bei Perforce Software. Es kann als Ersatz für make verwendet werden. Jam läuft auf Unix (inklusive vielen Derivaten), OpenVMS, Linux, Windows NT, und Mac OS. Mithilfe von MinGW oder Cygwin läuft Jam auch auf Windows 9.x. Man kann es, genau wie make, auch zusammen mit Autoconf verwenden. Jedoch ist das dank der Portabilität von Jam nicht immer nötig.

Ein Build-System ist für die automatische Übersetzung von Computerprogrammen zuständig. Es ruft unter verschiedenen Systemen die jeweiligen Compiler und Linker auf. Außerdem werden notwendige Dateien kopiert oder generiert. Oft wird auch eine automatische Installation/Deinstallation oder die Generierung eines Downloadpakets für Endnutzer angeboten.

Inhaltsverzeichnis

Vorteile gegenüber make

  • Jamfiles, also die Regeln zum Übersetzen des Programms, sind normalerweise portabel, das heißt sie können auf allen unterstützten Systemen ohne Anpassungen ausgeführt werden.
  • Abhängigkeiten müssen nicht explizit angegeben werden, Jam findet sie automatisch in den C++-, oder anderen unterstützten Quelldateien.
  • Die Sprache ist sehr einfach und übersichtlich. Jamfiles sind erheblich kürzer als Makefiles.
  • Die sogenannte Jambase, die die mitgelieferten Regeln enthält, bringt sehr viele komfortable Regeln mit, was in make alles selbst geschrieben, bzw. mit Automake generiert werden müsste.
  • Die Sprache ist nach Belieben erweiterbar, auch Regeln aus der Jambase können überschrieben werden.

Sprache

Die Sprache von Jam hat einige Besonderheiten. Alle Sprachbestandteile müssen mit einem Leerzeichen abgetrennt werden, ansonsten würden sie als Teil einer Zeichenkette, dem einzigen Datentyp in Jam, interpretiert werden. Über sogenannte Actions kann innerhalb des Jamfiles bash- bzw. Batch-Code ausgeführt werden.

Ein einfaches Jamfile:

Main hello : hello.cc ;
Library mytools : mytools.cc ;
LinkLibraries hello : mytools ;

Gebrauch

Im Wurzelverzeichnis des Softwareprojekts wird das Kommando jam aufgerufen. Dabei wird dann zunächst die Datei Jamfile inklusive allen darin eingebunden Dateien ausgelesen und danach die notwendigen Schritte zum Übersetzten des Programms ausgeführt. Als Kommandozeilenparameter kann ein bestimmtes Jamfile mit -fDateiname oder ein gewünschtes Target angegeben werden. Mit diesen Targets kann z.B. nur ein Bestimmter Teil des Programms übersetzt werden. Zur Installation des Programms wird gewöhnlich jam install aufgerufen

Varianten

FT Jam ist vollkommen rückwärtskompatibel zu Perforce Jam. Es hat zusätzliche eingebaute Regeln und Unterstützung für mehr Compiler. Außerdem wird Windows 9.x unterstützt und es wurden viele Schönheitsfehler korrigiert.

KJam ist eine komplette Neuschreibung von Jam. Es soll stabiler, einfacher und leistungsfähiger sein. KJam unterstützt neben anderen Verbesserungen netzwerkübergreifendes Kompilieren.

Boost Jam, auch BJam oder Boost.Jam, basiert auf FT Jam und ist auch rückwärtskompatibel zu Perforce Jam. Es wurde im Rahmen der Boost C++ Libraries entwickelt.

Autojam bietet eine erweiterte Jambase mit mehr Regeln.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Perforce Jam — is an open source build system developed by Christopher Seiwald of Perforce Software. It can be used as a replacement for make. Its primary feature is its ability to express build patterns in an imperative language which supports structured… …   Wikipedia

  • Perforce — is a commercial, proprietary revision control system developed by Perforce Software, Inc.ArchitecturePerforce is a client/server system.The server manages a central database and a master repository of file versions. Users work on files in local… …   Wikipedia

  • JAM — steht in der Musik für: Jam (Hip Hop), eine Art Hip Hop Party, siehe Jam FM, ein Berliner Radiosender Jamsession, eine Musikveranstaltung Pearl Jam, eine US amerikanische Rockband The Jam, eine englische Rockband Jam steht außerdem für: Jam… …   Deutsch Wikipedia

  • Jam (disambiguation) — Jam is a type of sweet spread or condiment made with certain fruits or vegetables.In music, jam may refer to: * Jam session, a musical act without preparation or detailed arrangements * Jam band, a band who plays extensive jams (mostly in live… …   Wikipedia

  • Jam — steht in der Musik für: Jam (Hip Hop), eine Art Hip Hop Party Jam FM, ein Berliner Radiosender Jamsession, eine Musikveranstaltung Jam (Lied), ein Lied von Michael Jackson Pearl Jam, eine US amerikanische Rockband The Jam, eine englische Rockband …   Deutsch Wikipedia

  • List of build automation software — Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with the build automation process. Contents 1 Make based tools 2 Non Make based tools 3… …   Wikipedia

  • Kdevelop — KDevelop, IDEAl Mode Basisdaten Entwickler: Das KDevelop Team Aktuelle Version: 3.5.4 ( …   Deutsch Wikipedia

  • Boost C++ Libraries — infobox software name = Boost C++ Libraries caption = Boost logo latest release version = 1.36.0 latest release date = 14 August 2008 genre = Libraries license = [http://www.boost.org/LICENSE 1 0.txt Boost Software License] website =… …   Wikipedia

  • OCROpus — Entwickler: Thomas Breuel, DFKI Aktuelle Version: 0.3.1 (16. Oktober 2008) Betriebssystem: Linux Kateg …   Deutsch Wikipedia

  • Ocropus — Entwickler: Thomas Breuel, DFKI Aktuelle Version: 0.3.1 (16. Oktober 2008) Betriebssystem: Linux Kateg …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”