Gecko SDK
出典: MDC
目次 |
[編集] 概観
Gecko SDK とは、例えば XUL から JavaScript を用いてアクセスできる XPCOM コンポーネントを開発するための XPIDL ファイル、ヘッダ、ツールからなるセットです。
このようなコンポーネントを開発するために例えば Firefox のソースをすべて揃える必要はありません。これはコンポーネント内部からフロントエンド部分にアクセスすることはないためです。さらに、コンポーネントは基本的な機能を備えているため、Mozilla プラットフォームのどの製品とでも動くようになっています。そのため、一般的な機能をビルドするがためにある特定の製品を使用することは全く意味がありません。これが Gecko SDK が出てきた理由です。
Gecko SDK を XULRunner と混同しないでください。Gecko SDK は、既存のプラットフォームに機能を追加する一般的な XPCOM コンポーネントを開発するためのヘッダファイルとツールからなるものです。それに対して XULRunner は Mozilla フレームワークに基づいたスタンドアロンアプリケーションや組み込みアプリケーションを実行するのに使用するフレームワークです。
[編集] SDK の入手
[編集] 更新
通常、Gecko SDK 内のヘッダや glue ライブラリはセキュリティアップデートがされても変更されないので、Mozilla (例えば Mozilla 1.7.3) のセキュリティアップデートに対応する Gecko SDK をダウンロードしたり、ビルドし直したりする必要はありません。しかし、最新の Gecko コンポーネント (gklayout.dll など) を取得し、配布しなければなりません。
[編集] ダウンロード
Gecko SDK をダウンロードする際は、ターゲットにしたい Mozilla の最も古いバージョンに対応したバージョンを選ぶようにしてください。すなわち、Mozilla 1.6 でコンポーネントを使用したい場合は 1.7 の Gecko SDK をダウンロードしないようにしてください。バイナリ互換性が将来のバージョンの Gecko ランタイムとしか保証されていないため、これは重要なことです。このチュートリアルでは作成するコンポーネントが Mozilla 1.7 (および Firefox 1.0 や Netscape 7.2 のようなあらゆる派生製品) とバイナリ互換になるように、Gecko SDK の 1.7 バージョンを使用していきます。
| ダウンロード リンク | Gecko 1.8 (Firefox 1.5 および 2.0) |
|---|---|
| Windows | ダウンロード |
| Mac | ダウンロード |
| Linux i686 | ダウンロード |
SDK は他のプラットフォーム向けには公式にはリリースされていません。そのため、必要ならばおそらく自分でビルドする必要があるでしょう。
SDK の Nightly ビルドはこちらにあります。これらは現在 Gecko 1.9 (Firefox 3) 向けです。
適当な場所に SDK の tar ボールを解凍します。
[編集] SDK のビルド
SDK をビルドするには XULRunner をビルドするのがよいでしょう (Gecko SDK は XULRunner のビルドプロセスの一部としてビルドされます)。ビルド方法の詳細は Build Documentation を参照してください。
Gecko SDK はオブジェクトディレクトリの dist/sdk 下に出力されます。そうしたらこのディレクトリをどこにでもコピーできます。また、XULRunner のツリーから取り除いても結構です。
[編集] SDK の内容
SDK は以下のものから成り立っています。
- 凍結されたインターフェースの IDL ファイル (
idl/下) - 凍結されたインターフェース、XPCOM 関数、および NSPR 関数のヘッダファイル (
include/下) - インポートライブラリまたは共有ライブラリ (
lib/下) - スタティックユーティリティライブラリ (
lib/下) - 各種ツール (
bin/下)
XPCOM の "glue" ライブラリを用いた XPCOM コンポーネントの安全なリンクについての詳細は XPCOM Glue をご覧ください。
[編集] リソース
- スタティックな xpidl.exe (非公式) スタティックリンクされた xpidl.exe が必要であればここからダウンロードできます。
- Mac Intel Gecko SDK 公式の Mac SDK は PPC 版です。これは Intel ビルドです。