npruntimeのサンプルをビルド、実行してみる
npruntimeとは:
https://developer.mozilla.org/En/Gecko_Plugin_API_Reference:Scripting_plugins(英語)をみるべし。
要はFirefox、Google ChromeとかOperaで使われている外部プラグインであるNPAPIの機能の一つ。
これができると何が嬉しいかというと「Javascriptからプラグインを叩ける」ということ。
例えば、ブラウザを経由せずにファイルをダウンロードしたい、とかそういうときに使う。
プラグインの拡張子はWindowsだったら.dllファイル、Linuxだったら.so、Macは・・・しらん。
このプラグインのサンプルがFirefoxのソースコードにあるので、それを実際にmakeして動かしてみる。
環境はUbuntu 10.04でやります。Linux。
以下のページを参考にやりました。
http://www.cmiss.org/cmgui/wiki/BuildingSampleNpruntimePlugins(英語)
ソース、SDKのダウンロード
まずはFirefoxのソースファイル
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
をDL。
適当なバージョンを選んで、sourceディレクトリを見つけてOSに併せてDL。
自分はバージョン3.6.20を選びました。
また、SDKもDLしておく。(いるのか不明)
Gecko SDK - Mozilla | MDN
これもOSにあわせて。自分はGecko 1.9.2 (Firefox 3.6)のLinux i686を選択。
下準備
ビルドの前に以下をインストールしておく。(不要かも)
sudo apt-get install auto-make
sudo apt-get install libdbus-glib-1-dev
sudo apt-get install libcurl4-gnutls-dev
ビルドの準備
ソースとSDKを適当なディレクトリに解凍。とりあえずホームが無難。
次に解凍したmozillaのディレクトリに行き、
toolkit/toolkit-makefiles.shを編集。
MAKEFILES_pluginのグループを見つけて以下の行を追加。
$ cp browser/config/mozconfig .
http://d.hatena.ne.jp/uniker/20070427/1177654300
んで、SDKのディレクトリを指定してconfigureする。
$ ./configure --with-libxul-sdk=解凍したSDKのディレクトリ
$ ./configure