この翻訳は不完全です。英語から この記事を翻訳 してください。
概要
Gecko SDK (XULRunner SDK としても知られています) とは、例えば JavaScript を用いて XUL からアクセスできる XPCOM コンポーネントを開発するための XPIDL ファイル、ヘッダ、ツールからなるセットです。
このようなコンポーネントを開発するために例えば Firefox のソースをすべて揃える必要はありません。これはコンポーネント内部からフロントエンド部分にアクセスすることはないためです。さらに、コンポーネントは基本的な機能を備えているため、Mozilla プラットフォームのどの製品とでも動くようになっています。そのため、一般的な機能をビルドするがためにある特定の製品を使用することは全く意味がありません。これが Gecko SDK が出てきた理由です。
Gecko/XULRunner SDK を XULRunner そのものと混同しないでください。Gecko SDK は、既存のプラットフォームに機能を追加する一般的な XPCOM コンポーネントを開発するためのヘッダファイルとツールからなるものです。それに対して XULRunner は Mozilla フレームワークに基づいたスタンドアロンアプリケーションや組み込みアプリケーションを実行するのに使用するフレームワークです。
The Gecko SDK contains all of the necessary tools and headers for making scriptable NPAPI plugins including the xpidl compiler/linker and the latest npapi.h
.
SDK の入手
更新
通常、Gecko SDK 内のヘッダや glue ライブラリはセキュリティアップデートがされても変更されないので、Mozilla (例えば Mozilla 1.7.3) のセキュリティアップデートに対応する Gecko SDK をダウンロードしたり、ビルドし直したりする必要はありません。しかし、最新の Gecko コンポーネント (gklayout.dll など) を取得し、配布しなければなりません。
ダウンロード
Gecko SDK をダウンロードする際は、ターゲットにしたい Mozilla の最も古いバージョンに対応したバージョンを選ぶようにしてください。すなわち、Firefox 1.5 でコンポーネントを使用したい場合は 1.9 の Gecko SDK をダウンロードしないようにしてください。バイナリの互換性が将来のバージョンの Gecko ランタイムでしか保証されないので十分に注意してください。
In addition to the below versions, you can find other versions (including Beta) here: Xulrunner Releases (files include "sdk" in the name). The SDK follows the same release schedule as Firefox/Thunderbird. Once the SDK enters Beta, it is suitable for building extensions; your component should work with release builds of the SDK without any modifications. Due to the Rapid Release process, it may be a good idea to target the SDK in Beta.
ダウンロード リンク
<th>Gecko 1.7 (Firefox 1.0) |
Gecko 1.8 (Firefox 1.5 および 2.0) | Gecko 1.9 (Firefox 3.0) |
---|---|---|
Windows
<td>ダウンロード |
ダウンロード | ダウンロード |
Mac PPC
<td>なし |
ダウンロード | ダウンロード |
Mac i368
<td>N/A |
N/A | ダウンロード |
Linux i686
<td>ダウンロード |
ダウンロード | ダウンロード |
SDK は他のプラットフォーム向けには公式にはリリースされていません。そのため、必要ならばおそらく自分でビルドする必要があるでしょう。
Note: You can subscribe to a calendar of the Firefox release schedule. Also, you can view the schedule on the Web.
適当な場所に SDK の tar ボールを解凍します。
OS X SDK の問題
OS X 上で IDL ファイルをコンパイルするために xpidl
ユーティリティを使用する必要がある場合、ツールを実行した時、次のような奇妙なエラーを受け取るでしょう:
dyld: Library not loaded: /opt/local/lib/libintl.3.dylib Referenced from: /Users/varmaa/xulrunner-sdk/bin/./xpidl Reason: image not found Trace/BPT trap
残念ながら、これは SDK のビルドプロセスが抱える、まだ解決できていない問題が原因です (Bugzilla の バグ 430274 をご覧ください)。これを回避するには、 Mac OS X Build Prerequisites に書かれている通り、先に MacPorts と libidl
をインストールする必要があります。インストール後、次のコマンドを実行してください:
ln -s /opt/local/lib/libintl.8.dylib /opt/local/lib/libintl.3.dylib
これで問題が修正されます。
SDK のビルド
SDK をビルドするには XULRunner をビルドするのがよいでしょう (Gecko SDK は XULRunner のビルドプロセスの一部としてビルドされます)。ビルド方法の詳細は Build Documentation を参照してください。XULRunner のビルド完了後、オブジェクトディレクトリから make sdk
を実行すると dist
内に SDK のパッケージが作成されます。
SDK の内容
SDK は以下のものから成り立っています。
- 凍結されたインターフェースの IDL ファイル (
idl/
下) - 凍結されたインターフェース、XPCOM 関数、および NSPR 関数のヘッダファイル (
include/
下) - インポートライブラリまたは共有ライブラリ (
lib/
下) - スタティックユーティリティライブラリ (
lib/
下) - 各種ツール (
bin/
下)
XPCOM の "glue" ライブラリを用いた XPCOM コンポーネントの安全なリンクについての詳細は XPCOM Glue をご覧ください。
Mozilla Build System と一緒にこのSDKを使用する
Mozilla Build System でこのSDKを一緒に使用することが可能です。これはFirefoxソースコードをダウンロードしてきた後に設定に--with-libxul-sdkを使用することで使用可能です。
リソース
- スタティックな xpidl.exe (非公式) スタティックリンクされた xpidl.exe が必要であればここからダウンロードできます。
- Mac Intel Gecko 1.8 SDK 公式の Mac 1.8 SDK は PPC 版です。これは非公式の Intel ビルドです。