WebKit é um excelente kernel de navegador de código aberto reconhecido mundialmente. Tem as vantagens de rápida velocidade de renderização, flexibilidade e personalização e suporte multiplataforma. Os conhecidos Maxthon e UCWeb domésticos selecionaram o WebKit como o núcleo do navegador. O Google e a Apple criaram apenas o navegador Chrome e o navegador Safari, respectivamente, baseados no WebKit.
Embora o WebKit tenha sido cada vez mais aceito pelos programadores, seu processo de compilação é muito penoso. Abaixo compartilharei com vocês minha experiência na compilação de código WebKit.
1) Obtenha o código-fonte do WebKit
O código-fonte do WebKit é gerenciado usando a ferramenta Subversion. Portanto, qualquer pessoa com um cliente Subversion pode obter o código fonte em http://svn.webkit.org/repository/webkit/trunk . No entanto, este não é o melhor caminho. O código obtido através do svn durante o processo de compilação real pode causar muitos problemas. Portanto, recomendo baixar o tarball do código-fonte do WebKit diretamente da versão Nightly do WebKit. O endereço específico é: http://nightly.webkit.org/builds/trunk/src/1 É incrível que um projeto tão grande como o WebKit ainda siga o princípio do Daily Build.
No momento em que escrevo este artigo, a versão do código-fonte do WebKit é r52221, mas não consegui compilar esta versão do WebKit com êxito nos últimos dois dias. O motivo é que após alguns minutos de abertura de um projeto usando o Visual Studio 2005, o Visual Studio 2005 para de responder. Testei a versão r50006, que é a primeira versão começando com 5, e não existe esse problema. Quanto maior o número da versão, mais recente será o código-fonte e vice-versa.
2) Construção de ambiente de compilação WebKit
Há um artigo no site do WebKit que explica a construção do ambiente do WebKit na plataforma Windows: http://webkit.org/building/tools.html Mas este artigo é muito simples. É aqui que o WebKit mais devasta as pessoas. Depois de dezenas de fracassos, finalmente encontrei um atalho para meu objetivo.
Hardware
É melhor encontrar um computador com mais de 2G de memória. Como o projeto WebKit é muito grande, centenas de arquivos .obj serão gerados. Ao realizar uma operação de link, serão necessários aproximadamente 1,6 G de memória. Se a sua máquina estiver instalada com um sistema operacional que consome muita memória, como o Vista, espere até que link.exe diga "Sem memória". A memória da máquina em que instalei o Vista era apenas 2G, e tentei vinculá-la várias vezes sem sucesso. Por fim, fui forçado a compilar em modo de segurança (nem me atrevi a carregar o driver da placa de rede), e. finalmente passei no teste quando o pico de memória atingiu 1,99G, é tão emocionante, tão emocionante.
Claro, quanto maior o disco rígido, melhor, porque o código-fonte do WebKit ocupa 160M-190M de espaço em disco após a expansão, e os arquivos intermediários gerados pelo processo de compilação requerem cerca de 4G de espaço de armazenamento. Além do espaço em disco ocupado pelo Cygwin Visual Studio, etc., estes são bastante grandes. O mais importante é reservar cerca de 4G de espaço no disco do sistema.
Na verdade, usar uma CPU multi-core também é benéfico para compilar o WebKit. O script de compilação pode chamar cl.exe para compilar o WebKit em paralelo ao mesmo tempo, o que reduz bastante o tempo de compilação.
Programas
Primeiro você precisa instalar o Visual Studio 2005 SP1. Se for o Vista ou o Windows 7, você precisa instalar a atualização do SP1 para o Vista. O Visual C++ 2005 Express também pode compilar o WebKit, mas o Platform SDK precisa ser instalado separadamente. A prática provou que o WebKit pode ser compilado e transmitido na Plataforma 5.0 6.0.
Isso também levanta uma questão: e se o Visual Studio 2008 já estiver instalado em sua máquina? Não se preocupe, o Visual Studio 2005 e o Visual Studio 2008 podem coexistir e o Visual Studio 2005 pode ser instalado após o Viusal Studio 2008. No entanto, deve-se notar que quando o Visual Studio 2005 é instalado após o Visual Studio 2008, o script perl do WebKit irá apenas para "System DiskProgram FilesMicrosoft Visual Studio" para encontrar a pasta bin VC (ou seja, cl .exe pasta). Se o VS 2005 que você instalou não estiver no disco do sistema, será necessário copiar a pasta VC bin para o diretório no disco do sistema.
Depois de instalar o Visual Studio 2005, você precisa instalar outra grande parte do Cygwin. Na verdade, o Cygwin simula um ambiente Unix no Windows. É melhor não usar diretamente o arquivo setup.exe fornecido no site do Cygwin ao instalar o Cygwin. Em vez disso, use a ferramenta cygwin-downloader fornecida no site WebKit.org. O cygwin-downloader baixará 101 ferramentas necessárias para compilar o WebKit (pode haver mais algumas agora), como perl, zlib, bash, etc. Após a conclusão do download, execute a ferramenta de instalação Setup.exe do Cygwin e escolha instalar a partir do diretório local. Por favor, preste atenção! O Cygwin precisa ser instalado na partição do disco do sistema. Se a unidade C for o disco do sistema, o Cygwin deverá ser instalado em C:cygwin. Após a conclusão da instalação, ele ocupará aproximadamente várias centenas de megabytes de espaço.
A seguir, o que ainda precisa ser instalado é o QuickTime SDK. Algumas pessoas dizem que você não precisa instalar o QuickTime SDK, mas descobri que se você não instalá-lo, o projeto QTMovie na solução WebKit não será compilado com sucesso. O QuickTime deve ser instalado em:Program FilesQucikTime SDK no disco do sistema. Não altere o caminho de instalação.
Finalmente, após descompactar o arquivo de código-fonte do WebKit, você precisa acessar o site webKit.org para baixar o arquivo WebKitSupportLibrary.zip. Este arquivo é uma versão pré-compilada de algumas bibliotecas de terceiros na plataforma Windows. Para uso ao vincular ao WebKit. Após o download, o arquivo zip não precisa ser descompactado e pode ser colocado diretamente no diretório raiz do WebKit.
Etapas de compilação
1) Defina variáveis de ambiente. Defina WEBKITLIBRARIESDIR para o diretório do código-fonte do WebKitWebKitLibrarieswin; defina WEBKITOUTPUTDIR para a pasta de saída onde você planeja armazenar obj e dll. Obviamente, a partição onde esta pasta está localizada deve ter pelo menos 4G de espaço restante.
2) Execute o script de atualização. Execute a janela da linha de comando cygwin na área de trabalho e, em seguida, use o comando CD (o mesmo que o comando CD do DOS) para ir para o diretório do código-fonte do WebKitWebKitToolsScripts. Por exemplo, meu código-fonte do WebKit é colocado na unidade F, que é cd F:/WebKit/WebKitTools/Scripts/ e execute os dois scripts Update-WebKit e Update-WebKit-Support-libs neste diretório. Esta etapa não é mencionada em muitos blogs. Na verdade, é a chave para uma compilação bem-sucedida.
3) Depois de executar com êxito as duas etapas acima, você pode usar o Visual Studio 2005 para abrir a solução WebKit.sln localizada no diretório de código-fonte do WebKit WebKitwinWebKit.vcproj. Este sln vem com seis configurações de compilação: Debug, Debug_all, Debug_Cairo, Release, Debug_Internal e Release_Cairo por padrão. A versão compilada com o Release usa o mecanismo de renderização da própria Apple, que é consistente com o do Safari. A versão compilada com Release_Cairo suporta o mecanismo de renderização Cairo. Esta versão pode ser executada independentemente do ambiente Apple, mas não pode ser executada no ambiente Safari da Apple. Para monitorar se a compilação foi bem-sucedida, você pode usar o aplicativo WinLauncher.exe para carregar o WebKit para teste.
Vou escrever aqui por enquanto e adicionarei mais depois, se pensar em alguma coisa.