ひでっぷの技術メモ

はてなダイアリーから移行しました

Armadillo-9で使用するphoneMEのコンパイル方法

phoneMEのコンパイル方法を書いておこうと思いながらずっとほったらかしていました。
phoneMEのコンパイルで検索してここにたどりついた方もいるようなので残しておきます。
ただし、Armadillo-9で使用するphoneMEのコンパイル方法です。
コンパイルにはATDE2を使用しました。
1.https://phoneme.dev.java.net/からphoneMEのソースコードをダウンロードする。
ダウンロードしたのは
phoneme_advanced-mr2-dev-src-b34-04_oct_2007.zip
2.ダウンロードしたソースファイルを開発用Linux(以下ATDE2とする)の適当な場所で展開する。
3.カレントディレクトリをcdc/build/linux-arm-genericに移動し、以下のようにメイクを実行

make CVM_TARGET_TOOLS_PREFIX=/usr/bin/arm-linux-gnu- J2ME_CLASSLIB=foundation CVM_HOST_TOOLS_PREFIX=/usr/bin/
CVM_JAVA_TOOLS_PREFIX=/usr/local/j2sdk1.4.2_18/bin/ JDK_HOME=/usr/local/j2sdk1.4.2.18/bin/ CC_ARCH_FLAGS=-mcpu=arm920t
CVM_JIT?=false

  • CVM_TARGET_TOOLS_PREFIX:ターゲット(Armadillo-9)用のgccの場所。ターゲットのgccがarm-linux-gccの時はgccの前まで含める。おいらの場合はターゲット(以下Armadillo-9とする)のgccがarm-linux-gnu-gccだったのでgccの手前のarm-linux-gnuまでを含めました。
  • CVM_HOST_TOOLS_PREFIX:ATDE2用のgccの場所。
  • CVM_JAVA_TOOLS_PREFIX:ATDE2にインストールしたJDKの実行ディレクトリ名。phoneMEはjdk1.4.2準拠と聞いていたので1.4.2の最終バージョンにあたる1.4.2_18を使用しました。
  • JDK_HOME:CVM_JAVA_TOOLS_PREFIXと同じにする。

4.makeが成功するとbinディレクトリとlibディレクトリが作成されるのでArmadillo-9の/opt/にphoneME/というディレクトリを作成し、その中にbinディレクトリとlibディレクトリをコピーし終了。
起動するには

/opt/phoneME/bin/cvm

jarファイルを起動する場合は
/opt/phoneME/bin/cvm -jar hogehoge.jar

SableVMのバグを発見し、途方にくれていたときにArmadilloのメーリングリストでphoneMEの存在とコンパイル方法を教えていただいて本当に助かりました。
おいらのように困っている人のためにちょっとでも役に立てばいいんだけど。