WebKit (windows版) のビルド
WebKit (windows版) のビルド
けっこう苦労したので備忘録として。
開発環境の準備
・VisualStudio 2005 standard をインストール。
・Microsoft Platform SDK for Windows Server 2003 R2 をインストール
・Microsoft DirectX SDK (February 2010) をインストール
・QuickTime SDK をインストール
・VisualStudio2005 のサービスパックとか WindowsUpdate で出てくる VisualStudio 系のパッチを、全てインストール
・Cygwin をインストール。( webkit.org にある cygwin-downloader.zip )
・VisualStudio2005 の メインメニュー [ツール] - [オプション] - VC++ ディレクトリ で、以下を追加
実行可能ファイル
C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Bin
インクルードファイル
C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include
C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include/mfc
C:/Program Files/Microsoft DirectX SDK (February 2010)/Include
C:/Program Files/QuickTime SDK/CIncludes
ライブラリファイル
C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Lib
C:/Program Files/Microsoft DirectX SDK (February 2010)/Lib/x86
C:/Program Files/QuickTime SDK/Libraries
ソ−スの用意
・WebKit Open Source Project の WebKit Nightly Builds から、ソースを取得 ( 自分の場合は WebKit-r149799 )
・C:/cygwin/home/(user)/WebKit に展開。
・WebKitSupportLibrary.zip をダウンロードして、zipファイルのまま上記のフォルダに配置。
・cygwinを起動。
・$ WebKit/Tools/Scripts/update-webkit を実行。成功を確認する。
ビルド
・$ WebKit/Tools/Scripts/build-webkit –debug を実行。
・或いは、C:/cygwin/home/(user)/WebKit/Source/WebKit/win/WebKit.vcproj/WebKit.sln を vs2005 で開き、ビルド。
ビルドエラーを取る
・C:/cygwin/home/(user)/WebKit/Source/WTF/WTF.vcproj/copy-files.cmd の
# FIXME: Why is WTF copying over create_hash_table? の行をコメントアウト。
・warning C4819:ファイルは、現在のコード ページ・・・と出るファイルを全て、unicode 形式で保存しなおす。
実行
・Windows 用 Safari 5.1.7 をインストール。
・WebKit.sln を vs2005 で開き、WebKitLib をスタートアッププロジェクトにする。
・WebKitLib のプロパティページ - デバッグ で以下に設定
コマンド $(PROGRAMFILES)/Safari/Safari.exe
環境 WEBKITNIGHTLY=$(OutDir)
・WebKitLib を実行。
ビルドしたDLLを利用する形で safari が起動する。
がしかし、実行したとたんに、実行時エラーで終了。とりあえずここまでで週末終了。
注意事項
・WebKit Nightly Builds から古いものが取得出来るが、WebKitSupportLibrary.zip とのバージョン不整合が起こるのか、update-webkit が失敗する。解決策不明。
・DirectX SDK は、VisualStudio2005 で使える版を使う。
・プロジェクト : warning PRJ0018 : 以下の環境変数が見つかりませんでした: $(PRODUCTION) とか出ることがあるが無視してOKらしいので無駄に悩まないこと。
以上、webkit の関係者に感謝しつつ、どなたかの参考になれば幸いです。