2016-05-10 15 views
2

Nach nur den Anweisungen hier - https://www.chromium.org/developers/how-tos/get-the-code Ich konnte erfolgreich erstellen und eine Chromium ausführbare Datei erhalten, die ich dann ausführen kann.Wie man Chromium schneller baut?

Also habe ich mit dem Code herum gespielt (Hinzufügen neuer Tasten zum Browser etc.) zu Lernzwecken. Jedes Mal, wenn ich eine Änderung vornimmt (z. B. eine neue Schaltfläche in der Einstellungssymbolleiste hinzufügt) und den Ninja-Befehl zum Erstellen verwendet, dauert es mehr als 3 Stunden, bis ich fertig bin, bevor ich die ausführbare Datei ausführen kann. Es baut jede Datei wieder auf, denke ich.

Ich habe eine anständig leistungsfähige Maschine (i7, 8GB RAM) mit 64-Bit-Ubuntu. Gibt es Möglichkeiten, die Builds zu beschleunigen? (Im Moment habe ich buchstäblich nur die Anweisungen in der oben genannten Link und keine anderen Optimierungen, um es zu beschleunigen.)

Vielen Dank!

Antwort

7

Wenn Sie nur ein paar Dateien ändern und neu erstellen, erstellt Ninja nur die Objekte neu, die von diesen Dateien betroffen waren. Wenn Sie ninja -C ... ausführen, zeigt die Konsole die Anzahl der Ziele an, die erstellt werden müssen. Wenn Sie nur ein paar Dateien modifizieren, sollte das ~ 2000 am oberen Ende sein (das Ändern populärer Header-Dateien kann viele Objekte berühren). Durch das Ändern einer einzelnen CPP-Datei wird nur dieses Objekt neu erstellt.

Natürlich müssen Sie noch neu verknüpfen, was sehr lange dauern kann. Um das Verlinken zu beschleunigen, versuchen Sie es mit einem Component-Build, bei dem alles in separaten, gemeinsam genutzten Bibliotheken gespeichert wird und nicht auf einer großen Seite, die für jede Änderung neu verknüpft werden muss. Wenn Sie GN verwenden, fügen Sie is_component_build=true zu hinzu. Für GYP siehe this page.

Sie können auch faster linux builds durchsehen und sehen, ob einige dieser Tipps für Sie gelten. Leider ist Chrome ein riesiges Projekt, daher werden Builds natürlich lange dauern. Sobald Sie jedoch den ersten Build erstellt haben, sollten inkrementelle Builds in der Größenordnung von Minuten statt Stunden liegen.

+2

Danke sehr, sehr viel:

Sie können die Build-Argumente auf einem Build-Verzeichnis von bearbeiten! :) –

2

Folgen Sie den Anweisungen aktualisiert hier:

https://chromium.googlesource.com/chromium/src/+/lkcr/docs/windows_build_instructions.md#Faster-builds

Neben der Verwendung von Komponente baut Sie nacl deaktivieren können, baut Verwendung Jumbo, schalten Sie Symbole für WebCore usw. Jumbo Builds sind noch experimentell auf diese Punkt, aber sie helfen schon Zeiten aufzubauen und sie werden allmählich mehr helfen.

Vollständige Builds werden auch bei Jumbo-Builds immer sehr lange dauern, aber bei Component-Builds sollten inkrementelle Builds in vielen Fällen ziemlich schnell sein.