WebKit adalah kernel browser open source luar biasa yang diakui dunia. Ini memiliki keunggulan kecepatan rendering yang cepat, fleksibilitas dan penyesuaian, serta dukungan multi-platform. Maxthon dan UCWeb domestik terkenal telah memilih WebKit sebagai inti browser. Google dan Apple masing-masing hanya membuat browser Chrome dan browser Safari berdasarkan WebKit.
Meskipun WebKit semakin diterima oleh para pemrogram, proses kompilasinya sangat sulit. Di bawah ini saya akan berbagi dengan Anda pengalaman saya dalam mengkompilasi kode WebKit.
1) Dapatkan kode sumber WebKit
Kode sumber WebKit dikelola menggunakan alat Subversion. Oleh karena itu, siapa pun yang memiliki klien Subversion dapat memperoleh kode sumber dari http://svn.webkit.org/repository/webkit/trunk . Namun, ini bukanlah cara terbaik. Kode yang diperoleh melalui svn selama proses kompilasi sebenarnya dapat menyebabkan banyak masalah bagi Anda. Oleh karena itu, saya sarankan mengunduh tarball kode sumber WebKit langsung dari build Nightly WebKit. Alamat spesifiknya adalah: http://nightly.webkit.org/builds/trunk/src/1 Sungguh menakjubkan bahwa proyek sebesar WebKit masih mengikuti prinsip Daily Build.
Pada saat artikel ini ditulis, versi kode sumber WebKit adalah r52221, tetapi saya belum berhasil mengkompilasi versi WebKit ini dalam dua hari terakhir. Alasannya adalah setelah beberapa menit membuka proyek menggunakan Visual Studio 2005, Visual Studio 2005 berhenti merespons. Saya telah menguji versi r50006, yang merupakan versi pertama dimulai dengan 5, dan tidak ada masalah seperti itu. Semakin besar nomor versinya, semakin baru kode sumbernya, dan sebaliknya.
2) Pembangunan lingkungan kompilasi WebKit
Ada artikel di situs WebKit yang menjelaskan konstruksi lingkungan WebKit di bawah platform Windows: http://webkit.org/building/tools.html Namun artikel ini terlalu sederhana. Di sinilah WebKit paling merugikan banyak orang. Setelah puluhan kegagalan, saya akhirnya menemukan jalan pintas menuju tujuan saya.
Perangkat keras
Yang terbaik adalah mencari komputer dengan memori lebih dari 2G. Karena proyek WebKit terlalu besar, ratusan file .obj akan dihasilkan. Saat melakukan operasi tautan, diperlukan sekitar 1,6G memori. Jika mesin Anda diinstal dengan sistem operasi yang haus memori seperti Vista, tunggu hingga link.exe memberi tahu Anda "Memori habis". Memori mesin tempat saya menginstal Vista hanya 2G, dan saya mencoba menghubungkannya beberapa kali tanpa hasil. Akhirnya, saya terpaksa mengkompilasi dalam mode aman (saya bahkan tidak berani memuat driver kartu jaringan), dan akhirnya lulus tes ketika memori puncak mencapai 1,99G, seru sekali.
Tentu saja, semakin besar hard disk, semakin baik, karena kode sumber WebKit memerlukan ruang disk 160M-190M setelah perluasan, dan file perantara yang dihasilkan oleh proses kompilasi memerlukan ruang penyimpanan sekitar 4G. Selain ruang disk yang ditempati oleh Cygwin Visual Studio, dll., ini juga cukup besar. Yang paling penting adalah mencadangkan ruang sekitar 4G pada disk sistem.
Faktanya, menggunakan CPU multi-core juga bermanfaat untuk mengkompilasi WebKit. Skrip kompilasi dapat memanggil cl.exe untuk mengkompilasi WebKit secara paralel pada waktu yang sama, yang sangat mempersingkat waktu kompilasi.
Perangkat lunak
Pertama, Anda perlu menginstal Visual Studio 2005 SP1. Jika itu adalah Vista atau Window 7, Anda perlu menginstal pembaruan SP1 untuk vista. Visual C++ 2005 Express juga dapat mengkompilasi WebKit, tetapi Platform SDK perlu diinstal secara terpisah. Praktek telah membuktikan bahwa WebKit dapat dikompilasi dan diteruskan pada Platform 5.0 6.0.
Hal ini juga menimbulkan pertanyaan, bagaimana jika Visual Studio 2008 sudah terinstal di mesin Anda? Jangan khawatir, Visual Studio 2005 dan Visual Studio 2008 dapat hidup berdampingan, dan Visual Studio 2005 dapat diinstal setelah Viusal Studio 2008. Namun, perlu dicatat bahwa ketika Visual Studio 2005 diinstal setelah Visual Studio 2008, skrip perl WebKit hanya akan menuju ke "System DiskProgram FilesMicrosoft Visual Studio" untuk menemukan folder VC bin (yaitu, cl .exe map). Jika VS 2005 yang Anda instal tidak ada di disk sistem, Anda perlu menyalin folder VC bin ke direktori di disk sistem.
Setelah menginstal Visual Studio 2005, Anda perlu menginstal Cygwin besar lainnya. Cygwin sebenarnya mensimulasikan lingkungan Unix di Windows. Sebaiknya jangan langsung menggunakan file setup.exe yang diberikan di situs Cygwin saat menginstal Cygwin. Sebagai gantinya, gunakan alat pengunduh cygwin yang diberikan di situs web WebKit.org. cygwin-downloader akan mengunduh 101 alat yang diperlukan untuk mengkompilasi WebKit (sekarang mungkin ada beberapa lagi), seperti Perl, zlib, bash, dll. Setelah pengunduhan selesai, jalankan alat instalasi Cygwin Setup.exe dan pilih untuk menginstal dari direktori lokal. Mohon perhatiannya! Cygwin perlu diinstal pada partisi disk sistem. Jika drive C adalah disk sistem, maka Cygwin harus diinstal pada C:cygwin. Setelah instalasi selesai, ini akan memakan ruang sekitar beberapa ratus megabyte.
Selanjutnya yang masih perlu diinstal adalah QuickTime SDK. Beberapa orang mengatakan Anda tidak perlu menginstal QuickTime SDK, tetapi saya menemukan bahwa jika Anda tidak menginstalnya, proyek QTMovie dalam solusi WebKit tidak akan berhasil dikompilasi. QuickTime harus diinstal di:Program FilesQucikTime SDK pada disk sistem.
Terakhir, setelah mendekompresi file kode sumber WebKit, Anda perlu membuka situs webKit.org untuk mengunduh file WebKitSupportLibrary.zip. File ini adalah versi pra-kompilasi dari beberapa perpustakaan pihak ketiga di platform Windows. Untuk digunakan saat menautkan ke WebKit. Setelah diunduh, file zip tidak perlu didekompresi dan dapat ditempatkan langsung di direktori root WebKit.
Langkah-langkah kompilasi
1) Tetapkan variabel lingkungan. Setel WEBKITLIBRARIESDIR ke direktori kode sumber WebKitWebKitLibrarieswin path; setel WEBKITOUTPUTDIR ke folder keluaran tempat Anda berencana menyimpan obj dan dll. Tentu saja, partisi tempat folder ini berada harus memiliki sisa ruang minimal 4G.
2) Jalankan skrip pembaruan. Silakan jalankan jendela baris perintah cygwin di desktop, lalu gunakan perintah CD (sama dengan perintah CD DOS) untuk melompat ke direktori kode sumber WebKitfolder WebKitToolsScripts. Misalnya, kode sumber WebKit saya ditempatkan di drive F, yaitu cd F:/WebKit/WebKitTools/Scripts/ dan jalankan dua skrip Update-WebKit dan Update-WebKit-Support-libs di direktori ini. Langkah ini tidak disebutkan di banyak blog. Faktanya, langkah ini adalah kunci keberhasilan kompilasi.
3) Setelah berhasil menjalankan dua langkah di atas, Anda dapat menggunakan Visual Studio 2005 untuk membuka solusi WebKit.sln yang terletak di direktori kode sumber WebKit WebKitwinWebKit.vcproj direktori. Sln ini hadir dengan enam konfigurasi kompilasi Debug, Debug_all, Debug_Cairo, Release, Debug_Internal, dan Release_Cairo secara default. Versi yang dikompilasi dengan Rilis menggunakan mesin rendering milik Apple, yang konsisten dengan milik Safari. Versi yang dikompilasi dengan Release_Cairo mendukung mesin rendering Kairo. Versi ini dapat dijalankan secara independen di lingkungan Apple, tetapi tidak dapat dijalankan di lingkungan Safari Apple. Untuk memantau apakah kompilasi berhasil, Anda dapat menggunakan aplikasi WinLauncher.exe untuk memuat WebKit untuk pengujian.
Saya akan menulisnya di sini untuk saat ini, dan saya akan menambahkan lebih banyak lagi nanti jika saya memikirkan sesuatu.