この項目はかなり古くなっています いわゆる、参考の参考程度に御供覧ください
Windowsでのビルドができたので、流れを書いてみます
大体、http://webkit.org に書いてあることと同じです
VC Express Edition で評価されている方で、毎回毎回WebCore/WebKitがフルコンパイルされてしまう方は、EnablePREfastに関する修正が必要です。
最近のものは、対処されています。更新してください。
大体、http://webkit.org に書いてあることと同じです
VC Express Edition で評価されている方で、毎回毎回WebCore/WebKitがフルコンパイルされてしまう方は、EnablePREfastに関する修正が必要です。
最近のものは、対処されています。更新してください。
- 開発用パーティション確保。凄いファイル数になる。
- cygdownloadでcygwin環境ダウンロード 推奨パッケージセットが落ちてくるのがナイス。
- 落ちてきたcygwinのsetup.exeを起動。InstallFromLocalで一式インストール
- すでにcygwinを使われているようでしたら、以下のパッケージがあればいいっぽいです ただし、テスト一式を実行するのには不足ありの模様。
- プリプロセッサをclに置き換えることはできますが、cygwinのperlのchomp()が、CR+LFを正しくchompできないことがあるのには気をつけてください
svn | |
curl | |
zip/unzip | zipはペアでおまけ |
perl/perl-libwin32 | perl-libwin32は、.../Scripts/num-cpusのみで使用 |
make | |
bison/flex | |
gperf | |
gcc | プリプロセッサとして -E -P -x c++が通ればよい |
diff | テストが呼ぶ ビルドでは不要 |
- (これはなくてもビルド成功したが)一部に、%SystemDrive%\Cygwinという表記がみられるので、別ドライブに置いた場合は念のためジャンクションを張る
- cygwin環境に入る。
- ソース入れる。.tar.bz2が破損しておれば、落とし直す。多い。この時点で開発パーティションがほぼ1GBに。
- サポートライブラリをダウンロードして配置。【展開せずそのまま配置する】
- アップデートを実行する(初回は強制)と、補助ライブラリがダウンロードされる。
- svnで落としてきた人は、一応この時点でバックアップ。
- tar -cvf /cygdrive/c/snapshot.tar * -> 500MB強になる
次に、VisualC++を導入する。Safariでは、大量のmakefileではなく、VCのIDE+makeが使われる
Express Editionで十分。MacOS Xでは、X codeがあるのに対応したものと思えばいいようだ
Express Editionで十分。MacOS Xでは、X codeがあるのに対応したものと思えばいいようだ
- Windowsに手を加えてCOM+削っている人はインストールしよう。MDACも必要?
- .NET framework 2いれる。LangPackも一応いれる。
- VC8Expressいれる。
- VC8ExpressSP1いれる。中身は .msp ファイルだった。先に言ってくれよそういうことは。
- PSDK部分をいれる。手動なら、%VSINSTALLDIR%/VC/PlatformSDKにつっこんでおけばいい
- $(VCInstallDir)PlatformSDK\[include|lib|bin] が呼ばれるから、どこかに置いておいて、PlatformSDK にジャンクションでも張っておけばいいかと
- MFCのincludeにincludeパスを通す。
- SDKのバージョンにより、MFCがない人は、winres.h,afxres.hを準備する。WinResrc.hにジャンクション張っておいたら、一応通りました
いよいよビルドに入る。
- vcvars32ならぬ、vsvars32を実行しておく。
- cygwin環境に入る。
- バックグラウンドでビルドさせる場合、ビルドに入る前に、bashの優先度を落としておく
- WebKit/WebKitTools/Scripts/build-webkit
- ログは保存されるが、ひたすら何も表示されない。タスクマネージャでも見ていよう。
うまくいっていれば、~/WebKit/WebKitBuild/binに、WebKit.dllができています
safari.exeと同じところに置いて、/customWebKit 付けて、呼んでみてください