WebKit es un excelente kernel de navegador de código abierto reconocido mundialmente. Tiene las ventajas de una rápida velocidad de renderizado, flexibilidad y personalización, y soporte multiplataforma. Los conocidos nacionales Maxthon y UCWeb han seleccionado WebKit como núcleo del navegador. Google y Apple solo han creado el navegador Chrome y el navegador Safari, respectivamente, basados en WebKit.
Aunque WebKit ha sido cada vez más aceptado por los programadores, su proceso de compilación es muy complicado. A continuación compartiré con ustedes mi experiencia en la compilación de código WebKit.
1) Obtenga el código fuente de WebKit
El código fuente de WebKit se gestiona mediante la herramienta Subversion. Por lo tanto, cualquier persona con un cliente Subversion puede obtener el código fuente desde http://svn.webkit.org/repository/webkit/trunk . Sin embargo, esta no es la mejor manera. El código obtenido a través de svn durante el proceso de compilación real puede causarle muchos problemas. Por lo tanto, recomiendo descargar el código fuente de WebKit directamente desde la compilación Nightly de WebKit. La dirección específica es: http://nightly.webkit.org/builds/trunk/src/1 Es sorprendente que un proyecto tan grande como WebKit todavía siga el principio de Daily Build.
Al momento de escribir este artículo, la versión del código fuente de WebKit es r52221, pero no he podido compilar con éxito esta versión de WebKit en los últimos dos días. La razón es que después de unos minutos de abrir un proyecto con Visual Studio 2005, Visual Studio 2005 deja de responder. Probé la versión r50006, que es la primera versión que comienza con 5, y no existe tal problema. Cuanto mayor sea el número de versión, más nuevo será el código fuente y viceversa.
2) Construcción del entorno de compilación WebKit
Hay un artículo en el sitio web de WebKit que explica la construcción del entorno de WebKit en la plataforma Windows: http://webkit.org/building/tools.html Pero este artículo es demasiado simple. Aquí es donde WebKit devasta más a la gente. Después de decenas de fracasos, finalmente encontré un atajo hacia mi objetivo.
Hardware
Lo mejor es buscar una computadora con más de 2G de memoria. Debido a que el proyecto WebKit es demasiado grande, se generarán cientos de archivos .obj. Al realizar una operación de enlace, se necesitarán aproximadamente 1,6 G de memoria. Si su máquina tiene instalado un sistema operativo que consume mucha memoria, como Vista, espere hasta que link.exe le indique "Memoria insuficiente". La memoria de la máquina en la que instalé Vista era solo 2G e intenté vincularla varias veces sin éxito. Finalmente, me vi obligado a compilar en modo seguro (ni siquiera me atreví a cargar el controlador de la tarjeta de red). Finalmente pasó la prueba cuando la memoria máxima alcanzó 1,99G, es muy emocionante, muy emocionante.
Por supuesto, cuanto más grande sea el disco duro, mejor, porque el código fuente de WebKit ocupa entre 160 y 190 millones de espacio en disco después de la expansión, y los archivos intermedios generados por el proceso de compilación requieren alrededor de 4G de espacio de almacenamiento. Además del espacio en disco que ocupa Cygwin Visual Studio, etc., estos son bastante grandes. Lo más importante es reservar unos 4G de espacio en el disco del sistema.
De hecho, usar una CPU de múltiples núcleos también es beneficioso para compilar WebKit. El script de compilación puede llamar a cl.exe para compilar WebKit en paralelo, lo que acorta enormemente el tiempo de compilación.
Software
Primero necesita instalar Visual Studio 2005 SP1. Si es Vista o Windows 7, necesita instalar la actualización SP1 para Vista. Visual C++ 2005 Express también puede compilar WebKit, pero el SDK de plataforma debe instalarse por separado. La práctica ha demostrado que WebKit se puede compilar y transmitir en la Plataforma 5.0 6.0.
Esto también plantea una pregunta: ¿qué pasa si Visual Studio 2008 ya está instalado en su máquina? No se preocupe, Visual Studio 2005 y Visual Studio 2008 pueden coexistir y Visual Studio 2005 se puede instalar después de Viusal Studio 2008. Sin embargo, cabe señalar que cuando se instala Visual Studio 2005 después de Visual Studio 2008, el script perl de WebKit sólo irá a "Disco del sistemaArchivos de programaMicrosoft Visual Studio" para buscar la carpeta bin de VC (es decir, cl .exe carpeta). Si el VS 2005 que instaló no está en el disco del sistema, debe copiar la carpeta bin de VC al directorio del disco del sistema.
Después de instalar Visual Studio 2005, necesita instalar otra gran parte de Cygwin. Cygwin en realidad simula un entorno Unix en Windows. Es mejor no utilizar directamente el archivo setup.exe que se proporciona en el sitio web de Cygwin al instalar Cygwin. En su lugar, utilice la herramienta cygwin-downloader que se encuentra en el sitio web WebKit.org. cygwin-downloader descargará 101 herramientas necesarias para compilar WebKit (puede que ahora haya algunas más), como perl, zlib, bash, etc. Una vez completada la descarga, ejecute la herramienta de instalación de Cygwin, Setup.exe, y elija instalar desde el directorio local. ¡Por favor preste atención! Cygwin debe instalarse en la partición del disco del sistema. Si la unidad C es el disco del sistema, entonces Cygwin debe instalarse en C:cygwin. Una vez completada la instalación, ocupará aproximadamente varios cientos de megabytes de espacio.
A continuación, lo que aún queda por instalar es el SDK de QuickTime. Algunas personas dicen que no es necesario instalar QuickTime SDK, pero descubrí que si no lo instala, el proyecto QTMovie en la solución WebKit no se compilará correctamente. QuickTime debe instalarse en:Program FilesQucikTime SDK en el disco del sistema. No cambie la ruta de instalación.
Finalmente, después de descomprimir el archivo de código fuente de WebKit, debe ir al sitio webKit.org para descargar el archivo WebKitSupportLibrary.zip. Este archivo es una versión precompilada de algunas bibliotecas de terceros en la plataforma Windows. Para usar al vincular a WebKit. Después de la descarga, no es necesario descomprimir el archivo zip y se puede colocar directamente en el directorio raíz de WebKit.
Pasos de compilación
1) Establecer variables de entorno. Configure WEBKITLIBRARIESDIR en la ruta del directorio del código fuente de WebKitWebKitLibrarieswin; configure WEBKITOUTPUTDIR en la carpeta de salida donde planea almacenar obj y dll. Por supuesto, la partición donde se encuentra esta carpeta debe tener al menos 4G de espacio restante.
2) Ejecute el script de actualización. Ejecute la ventana de línea de comando cygwin en el escritorio y luego use el comando CD (el mismo que el comando CD de DOS) para saltar al directorio del código fuente de WebKitWebKitToolsScripts. Por ejemplo, el código fuente de mi WebKit se coloca en la unidad F, que es cd F:/WebKit/WebKitTools/Scripts/ y ejecuta los dos scripts Update-WebKit y Update-WebKit-Support-libs en este directorio. Este paso no se menciona en muchos blogs. De hecho, este paso es la clave para una compilación exitosa.
3) Después de ejecutar con éxito los dos pasos anteriores, puede usar Visual Studio 2005 para abrir la solución WebKit.sln ubicada en el directorio del código fuente de WebKit WebKitwinWebKit.vcproj. Este sln viene con seis configuraciones de compilación Debug, Debug_all, Debug_Cairo, Release, Debug_Internal y Release_Cairo de forma predeterminada. La versión compilada con Release utiliza el motor de renderizado propio de Apple, que es consistente con el de Safari. La versión compilada con Release_Cairo es compatible con el motor de renderizado Cairo. Esta versión se puede ejecutar independientemente del entorno de Apple, pero no se puede ejecutar en el entorno Safari de Apple. Para controlar si la compilación se realizó correctamente, puede utilizar la aplicación WinLauncher.exe para cargar WebKit y realizar pruebas.
Lo escribiré aquí por ahora y agregaré más más adelante si se me ocurre algo.