WebKit est un excellent noyau de navigateur open source mondialement reconnu. Il présente les avantages d’une vitesse de rendu rapide, d’une flexibilité et d’une personnalisation, ainsi que d’une prise en charge multiplateforme. Les célèbres sociétés nationales Maxthon et UCWeb ont choisi WebKit comme noyau de navigateur. Google et Apple n'ont construit que le navigateur Chrome et le navigateur Safari respectivement basés sur WebKit.
Bien que WebKit soit de plus en plus accepté par les programmeurs, son processus de compilation est très pénible. Ci-dessous, je partagerai avec vous mon expérience dans la compilation de code WebKit.
1) Obtenez le code source du WebKit
Le code source de WebKit est géré à l'aide de l'outil Subversion. Par conséquent, toute personne possédant un client Subversion peut obtenir le code source sur http://svn.webkit.org/repository/webkit/trunk . Cependant, ce n’est pas la meilleure solution. Le code obtenu via svn pendant le processus de compilation proprement dit peut vous causer beaucoup de problèmes. Par conséquent, je recommande de télécharger l’archive tar du code source de WebKit directement à partir de la version Nightly de WebKit. L'adresse spécifique est : http://nightly.webkit.org/builds/trunk/src/1 C'est étonnant qu'un projet aussi gros que WebKit suive toujours le principe du Daily Build.
Au moment de la rédaction de cet article, la version du code source de WebKit est r52221, mais je n'ai pas réussi à compiler cette version de WebKit au cours des deux derniers jours. La raison en est qu'après quelques minutes d'ouverture d'un projet à l'aide de Visual Studio 2005, Visual Studio 2005 cesse de répondre. J'ai testé la version r50006, qui est la première version commençant par 5, et ce problème n'existe pas. Plus le numéro de version est grand, plus le code source est récent et vice versa.
2) Construction de l'environnement de compilation WebKit
Il existe un article sur le site WebKit qui explique la construction de l'environnement de WebKit sous la plateforme Windows : http://webkit.org/building/tools.html Mais cet article est trop simple. C’est là que WebKit dévaste le plus les gens. Après des dizaines d’échecs, j’ai finalement trouvé un raccourci vers mon objectif.
Matériel
Il est préférable de trouver un ordinateur avec plus de 2 Go de mémoire. Le projet WebKit étant trop volumineux, des centaines de fichiers .obj seront générés. Lors de l'exécution d'une opération de liaison, environ 1,6 Go de mémoire seront nécessaires. Si votre ordinateur est installé avec un système d'exploitation gourmand en mémoire tel que Vista, attendez que link.exe vous indique « Mémoire insuffisante ». La mémoire de la machine sur laquelle j'ai installé Vista n'était que de 2G, et j'ai essayé de la relier plusieurs fois sans succès Finalement, j'ai été obligé de compiler en mode sans échec (je n'ai même pas osé charger le pilote de la carte réseau), et. a finalement réussi le test lorsque la mémoire maximale a atteint 1,99G, c'est tellement excitant, tellement excitant.
Bien sûr, plus le disque dur est gros, mieux c'est, car le code source de WebKit occupe 160 à 190 Mo d'espace disque après expansion et les fichiers intermédiaires générés par le processus de compilation nécessitent environ 4 Go d'espace de stockage. En plus de l'espace disque occupé par Cygwin Visual Studio, etc., ceux-ci sont assez volumineux. Le plus important est de réserver environ 4 Go d’espace sur le disque système.
En fait, l'utilisation d'un processeur multicœur est également bénéfique pour la compilation de WebKit. Le script de compilation peut appeler cl.exe pour compiler WebKit en parallèle, ce qui réduit considérablement le temps de compilation.
Logiciel
Vous devez d'abord installer Visual Studio 2005 SP1. S'il s'agit de Vista ou de Windows 7, vous devez installer la mise à jour SP1 pour Vista. Visual C++ 2005 Express peut également compiler WebKit, mais le SDK Platform doit être installé séparément. La pratique a prouvé que WebKit peut être compilé et transmis sur la plateforme 5.0 6.0.
Cela soulève également une question : que se passe-t-il si Visual Studio 2008 est déjà installé sur votre ordinateur ? Ne vous inquiétez pas, Visual Studio 2005 et Visual Studio 2008 peuvent coexister et Visual Studio 2005 peut être installé après Viusal Studio 2008. Cependant, il convient de noter que lorsque Visual Studio 2005 est installé après Visual Studio 2008, le script Perl de WebKit ira uniquement dans "Disque systèmeFichiers programmeMicrosoft Visual Studio" pour trouver le dossier bin VC (c'est-à-dire cl .exe dossier). Si le VS 2005 que vous avez installé ne se trouve pas sur le disque système, vous devez copier le dossier bin VC dans le répertoire du disque système.
Après avoir installé Visual Studio 2005, vous devez installer un autre gros morceau de Cygwin. Cygwin simule en fait un environnement Unix sous Windows. Il est préférable de ne pas utiliser directement le fichier setup.exe fourni sur le site Web de Cygwin lors de l'installation de Cygwin. Utilisez plutôt l'outil cygwin-downloader fourni sur le site WebWebKit.org. cygwin-downloader téléchargera 101 outils nécessaires à la compilation de WebKit (il y en a peut-être quelques autres maintenant), tels que perl, zlib, bash, etc. Une fois le téléchargement terminé, exécutez l'outil d'installation de Cygwin Setup.exe et choisissez d'installer à partir du répertoire local. S'il vous plaît, faites attention ! Cygwin doit être installé sous la partition du disque système. Si le lecteur C est le disque système, alors Cygwin doit être installé sous C:cygwin. Une fois l'installation terminée, elle occupera environ plusieurs centaines de mégaoctets d'espace.
Ensuite, ce qui doit encore être installé, c'est le SDK QuickTime. Certaines personnes disent que vous n'avez pas besoin d'installer le SDK QuickTime, mais j'ai constaté que si vous ne l'installez pas, le projet QTMovie dans la solution WebKit ne sera pas compilé avec succès. QuickTime doit être installé sous :Program FilesQucikTime SDK sur le disque système. Ne modifiez pas le chemin d'installation.
Enfin, après avoir décompressé le fichier de code source de WebKit, vous devez vous rendre sur le site webKit.org pour télécharger le fichier WebKitSupportLibrary.zip. Ce fichier est une version précompilée de certaines bibliothèques tierces sur la plateforme Windows. À utiliser lors de la création de liens vers WebKit. Après le téléchargement, le fichier zip n'a pas besoin d'être décompressé et peut être placé directement dans le répertoire racine de WebKit.
Étapes de compilation
1) Définissez les variables d'environnement. Définissez WEBKITLIBRARIESDIR sur le chemin du répertoire du code source WebKitWebKitLibrarieswin ; définissez WEBKITOUTPUTDIR sur le dossier de sortie dans lequel vous prévoyez de stocker obj et dll. Bien entendu, la partition où se trouve ce dossier doit avoir au moins 4 Go d'espace restant.
2) Exécutez le script de mise à jour. Veuillez exécuter la fenêtre de ligne de commande cygwin sur le bureau, puis utilisez la commande CD (identique à la commande CD DOS) pour accéder au dossier répertoire du code source WebKitWebKitToolsScripts. Par exemple, mon code source WebKit est placé dans le lecteur F, qui est cd F:/WebKit/WebKitTools/Scripts/ et exécutez les deux scripts Update-WebKit et Update-WebKit-Support-libs dans ce répertoire. Cette étape n’est pas mentionnée sur de nombreux blogs. En fait, cette étape est la clé d’une compilation réussie.
3) Après avoir exécuté avec succès les deux étapes ci-dessus, vous pouvez utiliser Visual Studio 2005 pour ouvrir la solution WebKit.sln située dans le répertoire de code source WebKit WebKitwinWebKit.vcproj. Ce sln est livré avec six configurations de compilation Debug, Debug_all, Debug_Cairo, Release, Debug_Internal et Release_Cairo par défaut. La version compilée avec Release utilise le moteur de rendu propre à Apple, qui est cohérent avec celui de Safari. La version compilée avec Release_Cairo prend en charge le moteur de rendu Cairo. Cette version peut être exécutée indépendamment de l'environnement d'Apple, mais elle ne peut pas être exécutée dans l'environnement Safari d'Apple. Pour vérifier si la compilation réussit, vous pouvez utiliser l'application WinLauncher.exe pour charger WebKit à des fins de test.
Je vais l'écrire ici pour l'instant, et j'en ajouterai plus plus tard si je pense à quelque chose.