WebKit ist ein weltweit anerkannter, hervorragender Open-Source-Browserkernel. Es bietet die Vorteile einer schnellen Rendering-Geschwindigkeit, Flexibilität und Anpassung sowie Unterstützung für mehrere Plattformen. Die bekannten inländischen Unternehmen Maxthon und UCWeb haben WebKit als Browserkern ausgewählt. Google und Apple haben nur den Chrome-Browser bzw. den Safari-Browser basierend auf WebKit entwickelt.
Obwohl WebKit von Programmierern zunehmend akzeptiert wird, ist der Kompilierungsprozess sehr mühsam. Im Folgenden werde ich meine Erfahrungen beim Kompilieren von WebKit-Code mit Ihnen teilen.
1) Holen Sie sich den WebKit-Quellcode
Der WebKit-Quellcode wird mit dem Subversion-Tool verwaltet. Daher kann jeder mit einem Subversion-Client den Quellcode von http://svn.webkit.org/repository/webkit/trunk erhalten. Dies ist jedoch nicht der beste Weg. Der während des eigentlichen Kompilierungsprozesses über SVN erhaltene Code kann Ihnen viele Probleme bereiten. Daher empfehle ich, den WebKit-Quellcode-Tarball direkt aus dem Nightly-Build von WebKit herunterzuladen. Die konkrete Adresse lautet: http://nightly.webkit.org/builds/trunk/src/1 Es ist erstaunlich, dass ein so großes Projekt wie WebKit immer noch dem Prinzip des Daily Build folgt.
Zum Zeitpunkt des Schreibens dieses Artikels lautet die Version des WebKit-Quellcodes r52221, aber ich konnte diese Version von WebKit in den letzten zwei Tagen nicht erfolgreich kompilieren. Der Grund dafür ist, dass Visual Studio 2005 einige Minuten nach dem Öffnen eines Projekts mit Visual Studio 2005 nicht mehr reagiert. Ich habe Version r50006 getestet, die erste Version, die mit 5 beginnt, und es gibt kein solches Problem. Je größer die Versionsnummer, desto neuer ist der Quellcode und umgekehrt.
2) Aufbau einer WebKit-Kompilierungsumgebung
Auf der WebKit-Website gibt es einen Artikel, der den Umgebungsaufbau von WebKit unter der Windows-Plattform erklärt: http://webkit.org/building/tools.html Dieser Artikel ist jedoch zu einfach. Hier ist WebKit für die Menschen am verheerendsten. Nach Dutzenden Fehlschlägen habe ich endlich eine Abkürzung zu meinem Ziel gefunden.
Hardware
Am besten finden Sie einen Computer mit mehr als 2 GB Arbeitsspeicher. Da das WebKit-Projekt zu groß ist, werden Hunderte von .obj-Dateien generiert. Für die Durchführung eines Verbindungsvorgangs sind etwa 1,6 GB Speicher erforderlich. Wenn auf Ihrem Computer ein speicherhungriges Betriebssystem wie Vista installiert ist, warten Sie, bis link.exe Ihnen „Nicht genügend Speicher“ meldet. Der Speicher des Computers, auf dem ich Vista installiert habe, war nur 2 GB groß und ich habe mehrmals erfolglos versucht, ihn zu verknüpfen. Schließlich musste ich im abgesicherten Modus kompilieren (ich traute mich nicht einmal, den Netzwerkkartentreiber zu laden). Endlich den Test bestanden, als der Spitzenspeicher 1,99 G erreichte, es ist so aufregend, so aufregend.
Je größer die Festplatte, desto besser, da der WebKit-Quellcode nach der Erweiterung 160 bis 190 MB Speicherplatz einnimmt und die durch den Kompilierungsprozess generierten Zwischendateien etwa 4 GB Speicherplatz erfordern. Zusätzlich zu dem von Cygwin Visual Studio usw. belegten Speicherplatz sind diese recht groß. Das Wichtigste ist, etwa 4 GB Speicherplatz auf der Systemfestplatte zu reservieren.
Tatsächlich ist die Verwendung einer Multi-Core-CPU auch für die Kompilierung von WebKit von Vorteil. Das Kompilierungsskript kann gleichzeitig cl.exe aufrufen, um WebKit zu kompilieren, was die Kompilierungszeit erheblich verkürzt.
Software
Zuerst müssen Sie Visual Studio 2005 SP1 installieren. Wenn es sich um Vista oder Windows 7 handelt, müssen Sie das SP1-Update für Vista installieren. Visual C++ 2005 Express kann auch WebKit kompilieren, das Plattform-SDK muss jedoch separat installiert werden. Die Praxis hat gezeigt, dass WebKit auf Plattform 5.0 6.0 kompiliert und weitergegeben werden kann.
Dies wirft auch die Frage auf, was passiert, wenn Visual Studio 2008 bereits auf Ihrem Computer installiert ist? Keine Sorge, Visual Studio 2005 und Visual Studio 2008 können nebeneinander existieren und Visual Studio 2005 kann nach Viusal Studio 2008 installiert werden. Es ist jedoch zu beachten, dass das Perl-Skript von WebKit bei der Installation von Visual Studio 2005 nach Visual Studio 2008 nur zu „SystemdatenträgerProgrammeMicrosoft Visual Studio“ wechselt, um den VC-Bin-Ordner (d. h. cl.exe) zu finden Ordner). Wenn sich das von Ihnen installierte VS 2005 nicht auf der Systemfestplatte befindet, müssen Sie den VC-bin-Ordner in das Verzeichnis auf der Systemfestplatte kopieren.
Nach der Installation von Visual Studio 2005 müssen Sie einen weiteren großen Teil von Cygwin installieren. Cygwin simuliert tatsächlich eine Unix-Umgebung unter Windows. Es ist am besten, bei der Installation von Cygwin nicht direkt die auf der Cygwin-Website bereitgestellte Datei setup.exe zu verwenden. Verwenden Sie stattdessen das Cygwin-Downloader-Tool auf der Website WebKit.org. cygwin-downloader lädt 101 Tools herunter, die zum Kompilieren von WebKit erforderlich sind (es könnten jetzt noch ein paar mehr sein), wie Perl, Zlib, Bash usw. Nachdem der Download abgeschlossen ist, führen Sie das Installationstool Setup.exe von Cygwin aus und wählen Sie die Installation aus dem lokalen Verzeichnis. Bitte aufgepasst! Cygwin muss unter der Systemfestplattenpartition installiert werden. Wenn das Laufwerk C die Systemfestplatte ist, muss Cygwin unter C:cygwin installiert werden. Nach Abschluss der Installation wird es etwa mehrere hundert Megabyte Speicherplatz belegen.
Als nächstes muss noch das QuickTime SDK installiert werden. Einige Leute sagen, dass Sie das QuickTime SDK nicht installieren müssen, aber ich habe festgestellt, dass das QTMovie-Projekt in der WebKit-Lösung nicht erfolgreich kompiliert werden kann, wenn Sie es nicht installieren. QuickTime muss unter:ProgrammeQucikTime SDK auf der Systemfestplatte installiert werden. Ändern Sie den Installationspfad nicht.
Schließlich müssen Sie nach dem Dekomprimieren der WebKit-Quellcodedatei auf die Website webKit.org gehen, um die Datei WebKitSupportLibrary.zip herunterzuladen. Bei dieser Datei handelt es sich um eine vorkompilierte Version einiger Bibliotheken von Drittanbietern auf der Windows-Plattform. Zur Verwendung bei der Verknüpfung mit WebKit. Nach dem Herunterladen muss die Zip-Datei nicht dekomprimiert werden und kann direkt im Stammverzeichnis von WebKit abgelegt werden.
Kompilierungsschritte
1) Umgebungsvariablen festlegen. Legen Sie WEBKITLIBRARIESDIR auf den Pfad WebKit-QuellcodeverzeichnisWebKitLibrarieswin fest; legen Sie WEBKITOUTPUTDIR auf den Ausgabeordner fest, in dem Sie obj und dll speichern möchten. Natürlich muss die Partition, in der sich dieser Ordner befindet, über mindestens 4 GB verbleibenden Speicherplatz verfügen.
2) Führen Sie das Update-Skript aus. Bitte führen Sie das Cygwin-Befehlszeilenfenster auf dem Desktop aus und verwenden Sie dann den CD-Befehl (derselbe wie der DOS-CD-Befehl), um zum Ordner WebKit-QuellcodeverzeichnisWebKitToolsScripts zu springen. Beispielsweise wird mein WebKit-Quellcode im Laufwerk F abgelegt, also cd F:/WebKit/WebKitTools/Scripts/, und in diesem Verzeichnis werden die beiden Skripte Update-WebKit und Update-WebKit-Support-libs ausgeführt. Dieser Schritt wird in vielen Blogs nicht erwähnt. Tatsächlich ist dieser Schritt der Schlüssel zur erfolgreichen Kompilierung.
3) Nachdem Sie die beiden oben genannten Schritte erfolgreich ausgeführt haben, können Sie Visual Studio 2005 verwenden, um die WebKit.sln-Lösung zu öffnen, die sich im WebKit-Quellcodeverzeichnis WebKitwinWebKit.vcproj befindet. Diese SLN verfügt standardmäßig über sechs Kompilierungskonfigurationen: Debug, Debug_all, Debug_Cairo, Release, Debug_Internal und Release_Cairo. Die mit Release kompilierte Version verwendet Apples eigene Rendering-Engine, die mit der von Safari konsistent ist. Die mit Release_Cairo kompilierte Version unterstützt die Cairo-Rendering-Engine. Diese Version kann unabhängig von der Apple-Umgebung ausgeführt werden, kann jedoch nicht in der Safari-Umgebung von Apple ausgeführt werden. Um zu überwachen, ob die Kompilierung erfolgreich ist, können Sie WebKit mit der Anwendung WinLauncher.exe zum Testen laden.
Ich schreibe es vorerst hier auf und füge später noch mehr hinzu, wenn mir etwas einfällt.