2013年3月16日土曜日

Win8 SDKだけではFirefoxのビルドができない件とその対策

最新のmozilla-buildを使うとWindows SDK for Windows 8を認識して、そちらを使うようになる。このバージョンからはWindows  SDKとDirect Xが統合されたので、別途DirectX SDKは不要となるはずなのだが、Firefoxのビルドに関しては訳あって別途Direct X SDK(June 2010)が必要とされる。

その原因はfirefoxに含まれるgfx/angleが廃止予定のd3dx9を使っているからだ。これは困る。

ところで、最新のangleprojectのソースではd3dx9を使用していない。 これを利用して、FirefoxをDirectX SDK(June 2010)なしでビルドしてみようと試してみた。

そのために必要な修正が必要となるソースは次の通り。詳しい修正内容はパッチを見てほしい。
  1. browser/installer/package-manifest.in DirectX関連dllをインストーラから外す。
  2. configure.in Windows SDKがインストール済みのときはDirectX SDKの検索をしない
  3. content/canvas/src/WebGLContextGL.cpp 最新のangleに対応するための修正
  4. content/canvas/src/WebGLProgram.h 同上
  5. content/canvas/src/WebGLShader.h 同上
  6. gfx/angle以下 angleを最新にする。
  7. gfx/gl/GLLibraryEGL.cpp d3dx9_*.dllの呼び込みを止める
  8. layout/media/Makefile.in Windows SDKがインストール済みのときは、リンクするライブラリディレクトリにDirectX SDKのディレクトリを含めないようにする。
  9. toolkit/library/Makefile.in 同上
苦労したところで分かったことは、こんな面倒なことをするくらいならDirectX SDKをインストールする方が簡単ということだった。
しかし、生来の捻くれ者の僕はDirectX SDKをインストールしないという方向でビルドしていこうと思う。

0 件のコメント:

コメントを投稿