俺と OS/2 と Qt と WebKit と(ry

OS/2 版の Qt は現時点で 4.6.3 が最新版です。Qt 本家でつい最近 4.7.2 がリリースされたところですが、4.7 がいつ OS/2 に移植されるのか…というかそもそも移植されるのかどうかが不明なのでした。
先のことはわからんし(というか Qt そのものの将来もどうなることやらって感じが)、このさい Web ブラウザ的な部分だけでも追随してみるかーてなわけで、4.7.2 の QtWebKit 部分だけ OS/2 に移植してみました。
おおまかな手順:

  1. 本家の Qt4.6.3 のソースと、OS/2 版のソースとの差分をとっておく。
  2. OS/2 版 4.6.3 のソースを展開し、ひとまずぜんぶビルドしておく。
  3. src/3rdparty/webkit の下を 4.7.2 のもので置き換え。
  4. 最初にとっておいた差分を参考にして、適当にソースを手作業で修正。
  5. jscore のスタティックライブラリ作成(src/3rdparty/webkit/JavaScriptCore に降りて qmake && make)
  6. QtWebKit の DLL 作成(src/3rdparty/webkit/WebCore に降りて qmake && make)

相変わらずドメスティック…。

んでできたのがこれ:qtwebkit-qt472-os2-20110307.zip

おまけで QNetwork の DLL も更新してあります。内蔵されてるルート証明書Mozilla の最新のやつにしてあるだけです。てゆうか更新しないと https 経由の通信にかなり支障が…某有名サイトなんかかなり悲惨な状況になるし…。
使い方はインストールされている Qt 4.6.3 の同名 DLL と置き換えるだけおk(元ファイルのバックアップをお忘れなく)。

Qt 4.6.3 同梱の webkit のバージョンは 532.4 らしいですが、Qt 4.7.2 では 533.3 となります。とはいっても何がどの程度違うのか、実はよくわからない…手元の環境で SunSpider 走らせてみたらいちおう速くなっているような気がするけど、コンパイラの最適化レベルの差異かもしれないし…

(しかも VirtualBox 内の OS/2 でやったらカーネルがダブルフォールトで落ちましたヨ…。どうも実機に比べると不安定だなあ)