Linuxにおけるpalmware開発環境の構築手順

2002年の夏、RedHat 7.3環境にPalmware開発のための環境を構築した。この文書はそのときの手順をまとめたものである。
Linuxコミュニティにいる開発者の一助になれば幸いである。

CodeWarriorなヒトはSimple-PalmのCodeWarrior講座が、 FreeBSDなヒトは、Prc-Tools講座が、 Windowsなヒトは、prc-tools On Windows with Cygwinが 参考になるでしょう。

アウトライン

Palmwareの開発に必要なものは、以下のとおりである:

PRC-Tools
Palm上で動作するバイナリは、gccのm68kクロスコンパイルを用いて作成する。さまざまなオプションをラップしているPrc-toolsという環境があるので、これをgccとともに用いる。
PalmOS SDK
PalmOSのためのヘッダとライブラリ群である。執筆時点では SDK-5が公開されているが、Linux上の開発にあたっては、まだ若干の不具合がある。今回は、SDK 4.0 upd1 を用いることとする。
Pilrc
Palmwareでは、フォームやラベルといったものはリソースとして取扱っている。Pilrcは、リソース定義ファイルからリソースを作成する、リソースコンパイラである。
PalmOS搭載機
後述するPOSEを用いるか、実機を用いてデバッグする。POSEのほうがチェックが厳しいので、POSEで警告がでても、実機で問題なく動作する場合がある。
PalmOS Emulator
Linux上で動作するPalmのエミュレータである。CopilotとかPOSEと呼ばれる。
PalmOS ROM File
POSEの上で動作させるROMイメージである。実機から吸い出すほか、PalmSource Inc.と契約することで入手できる。

以降の節で、それぞれの導入方法に言及する。


prc-toolsの導入

http://prc-tools.sourceforge.net/から、prc-tools-2.2-1.i386.rpmを入手し、以下のようにして導入する。

# rpm -ivh prc-tools-2.2-1.i386.rpm

/usr/bin/m68k-palmos-gcc などのコマンドが導入される。

sdk-4の導入

http://www.palmos.com/dev/tools/sdk/から "PalmOS SDK 4.0"というリンクをたどって、 sdk40.tar.gz sdk40upd1.tar.gz sdk40-docs.tar.gzを入手し、以下のように展開、導入する:

# tar zxvf sdk40.tar.gz # rpm -ivh palmos-sdk-4.0-1.noarch.rpm # tar xzf sdk40upd1.tar.gz # cp -Rf *-Update-1/PalmOS-Unix/PalmOS-Support/include /opt/palmdev/sdk-4/ # cp -Rf *-Update-1/PalmOS-Unix/PalmOS-Support/lib /opt/palmdev/sdk-4/

テストしてみよう。以下のように出力されていれば、sdk-4の導入は完了である。

# /usr/bin/palmdev-prep Checking SDKs in /opt/palmdev sdk-4 headers in 'include', libraries in 'lib' When GCC is given no -palmos options, SDK '4' will be used by default Writing SDK details to target specs files...

なお、sdk40-core は全て sdk-40 に含まれているので、インストールする必要はない。

sdk Documentの導入

sdkの入手のついでに入手した sdk40-doc.tar.gz を以下のように展開する*:

# cd /opt/palmdev/sdk-4 # unzip sdk40-doc.tar.gz

その結果、/opt/palmdev/sdk-4/Documentation というフォルダの中に、PDFファイルが7つ展開される。 このうち、 Palm OS Companion.pdfPalm OS Companion2.pdfPalm OS Reference.pdf の三つに、Palm API の How To とリファレンスが載っている。
また、http://www.palmos.com/dev/support/docs/ から、UIGuidelines.zip (Palm OS User Interface Guidelines)も入手して目を通しておこう。

* .tar.gz とかいう拡張子がついているが、これは Zipped file である。Unzipで展開できる。

pilrcの導入

http://www.ardiri.com/ から pilrc_src.tgz を入手、展開し、導入する:

# tar xzf pilrc_src.tgz # cd pilrc-2.9 # ./configure # make # make install

その結果、 /usr/local/bin/pilrc などがインストールされる。


PalmOS Emulatorの導入

fltkライブラリの導入

http://www.fltk.org/から、fltk-1.0.11-source.tar.gzを入手、展開し、導入する:

# tar xzf fltk-1.0.11-source.tar.gz # cd fltk-1.0.11 # ./configure # make # make install

その結果、 /usr/local/lib/libfltk.a などがインストールされる。

fltk 1.1.0rc6 だとコンパイルに失敗する。 1.0_COMPATとか定義すればよさそうだが、とりあえず 1.0.11 で構築しといたほうが無難かな。

POSEの導入

http://www.palmos.com/dev/tools/emulator/から、emulator_src_3.5.tar.gz を入手、展開し、導入する:

# tar xzf emulator_src_3.5.tar.gz # cd Emulator*/BuildUnix # ./configure # make

なんかしらんがやけに時間がかかる。途中で5分位ダンマったりするが、じっくり待て。warningも結構でる。気にしないことにする。

make installしても、なにもインストールしない模様。なんだ?

# cp ./pose /usr/local/bin/

としておこう。

Skinsの導入

http://www.palmos.com/dev/tools/emulator/から、emulator_skins-19.tar.gz を入手、展開し、導入する:

# mkdir /usr/share/pose # cd /usr/share/pose # tar xzf emulator-skins-19.tar.gz # ln -s Skins_v1.9 Skins

ROMイメージの入手

こればっかりはどうにも。どっかから手に入れて下さい。
シリアルクレードルなヒトなら、POSEに同梱されている、ROMTransfer.prc を使うと、実機から吸い出すことができる。


環境のチェック

pilrc-2.9/examplesにサンプルソースがあるので、これを構築してみよう。
このサンプルは sdk-3.5 用に作成されており、sdk-4 を用いている場合、このままではコンパイルがとおらないので、以下のように修正する:

Makefileの修正

CCFLAGS = -O2 -Wall -palmos3.5

の部分を、以下のように修正する。

CCFLAGS = -O2 -Wall -palmos4 -DALLOW_ACCESS_TO_INTERNALS_OF_LISTS

メイクしてみる

以下のようにして pilrctst.prc が出来れば、コンパイル & リンク環境はOK. $ make clean $ make
Next
Last Modified: Sept. 16, 2002. Copyright © 2002 by matobaa.