XPCOM関連メモ
Firefox1.5での自作C++ xpcomの動かしかた
先生に聞いたら教えてくれた。さすがは本家。
自作XPCOMは,mozillaソースtop/simpleに配置したと仮定
- 最後のMakefile以外はhttp://books.mozdev.org/html/mozilla-chp-8-sect-2.htmlでOK。
- Makefile -> Makefile.inにする。
Makefile.inの先頭は
DEPTH = ..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
のようにする)
- allmakefiles.shに追加。
add_makefiles "
Makefile
...
simple/Makefile
"
のように追加。
- mozillaソースtopで,./configure
これで,Makefileが生成される。
cd simple;make
でmake できる。
ちなみにjavascriptのXPCOMは,今までどおりの方法でOK.
Firefox1.5ビルド時の注意
基本はここ。
http://developer.mozilla.org/en/docs/Build_Documentation
.mozconfigだけ注意。
ac_add_options --enable-debug
ac_add_options --disable-static --enable-shared
ac_add_options --enable-application=browser
のようにする。sharedビルド,--enable-applicationを忘れないように。
また,mk_add_options MOZ_OBJDIR=
は設定しないほうがいい。xpcomのコンパイルがうまくいかなくなるかも。
mozilla文字列
http://www.mozilla-japan.org/projects/xpcom/string-guide.html
独自型が定義されまくり。もはやC++というかmozilla言語。
その他
色んなクラスが定義されているが,意味不明になってきた。
lxr.mozilla.orgで使われている例を適当にコピペするしかない。
しかも,自動的に生成されるヘッダファイルは,lxrで引っかからないらしい。なので,定義が見つからず途方にくれることも。
メモ:http://lxr.mozilla.org/seamonkey/source/embedding/minimo/app/mozilla_api.cpp#438
確かに,この授業はOSSのソース読む勉強になる気がする。Mozillaを題材でなく,カーネルを題材に学んでみたかった気がする。