Freier Ersatz für make aus der Chrome-Entwicklung

Ein neues Werkzeug soll das automatische Erstellen ausführbarer Programme nach Änderungen am Quellcode deutlich beschleunigen. Das freie Tool stammt aus der Entwicklung von Googles Browser Chrome.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Unzufrieden mit dem Tempo des unter Unix üblichen make-Programms zum Erzeugen ausführbarer Programme, hat der an der Chrome-Entwicklung beteiligte Evan Martin Ninja als Alternative entwickelt. Der Code des freien Tools steht auf Github zur Verfügung, nachdem Martins Arbeitgeber Google der Freigabe zugestimmt hat.

In seinem Blog erläutert Martin die Gründe für die Entwicklung. Ursprünglich habe Scons das Build-Management des aus 30000 Quellcode-Dateien erzeugten Chrome übernommen. Es habe sich jedoch schon früh herausgestellt, dass dieses Werkzeug "recht langsam" ist: "Scons brauchte bis zu 40 Sekunden, bis es sich entschloss, etwas zu bauen." Das herkömmliche make sei zwar unter Linux schneller gewesen, zumal nach einigen Anpassungen an den Makefiles. So habe ein Build nur noch zwischen 10 und 20 Sekunden gedauert. Allerdings brauchte auch make noch 10 Sekunden bis zum Beginn des Übersetzens. Diese Zeit soll Ninja nun auf ein Zehntel gedrückt haben. Nach dem Ändern einer Quelldatei dauere ein Chrome-Build "auf einem schnellen Rechner" nun nur noch sechs Sekunden.

Das neue Tool verzichtet auf implizite Regeln, die make etwa für das automatische Erzeugen von Objekt- aus C-Dateien verwendet. Seine Steuerungsdateien bestehen im Wesentlichen aus Regeln und Build-Statements. Regeln sind Abkürzungen für Kommandos, etwa Compiler-Aufrufe; Build-Statements verwenden diese Regeln zum Erzeugen von Objekt- oder Programmdateien. (ck)