Getting started with prc-tools

Palm OS programming requires (at minimum) a C or C++ compiler, a Palm OS SDK, and a UI resource compiler. Most programmers will also use the Palm OS Emulator, and many will have several Palm OS SDKs and other Palm OS-related headers, libraries, and SDKs installed.

These instructions explain how to install prc-tools and where to install SDKs and other Palm OS development material so that the compiler can see them, and give hints about where to obtain the other tools. For full details of installing the SDKs and other packages other than prc-tools, you should consult their respective documentation.

Prebuilt binary packages

We provide prebuilt prc-tools binaries for x86 Linux (in RPM format) and Microsoft Windows. If you use one of these platforms, you should read the particular instructions tuned for users of supported RPM-based Linux distributions or for Microsoft Windows users.

If you use Debian packages, you may be able to install an RPM via alien. Also, the Debian Project maintains prc-tools as a Debian package.

If you use FreeBSD, you may be interested in prc-tools in the ports collection.

Building and installing from source

If no binary packages are available for your system, or if you prefer, you can compile prc-tools from its source code yourself. Source code tarballs of formal releases are available from the downloads page, while the CVS repository contains all versions of the code, including changes made since the most recent release. Selected recent CVS snapshot tarballs may also be available. Source code obtained in any of these ways contains build instructions in the file BUILDING.html.

PRC-Tools contains patches against specific versions of GCC, GDB, and binutils, as detailed in BUILDING.html. You will need source code for these versions of these packages, which can be found at various GNU mirrors or in the miscellaneous files directory.

The various versions of the Palm OS SDK are available as archives containing just the relevant files in various line termination formats, as well as packaged with particular platform-specific installers. (These raw archives are usually listed last on the SDK page and entitled Palm OS SDK Core Components.)

Neither prc-tools nor GCC has any built-in knowledge of what Palm OS SDKs and other header files and libraries (collectively, development material) you happen to have installed. You can use palmdev-prep to provide such knowledge: it analyses the directory structure within, by default, the directory you specify via prc-tools' --with-palmdev-prefix configure option, and provides -I and -L options so that Palm OS GCC will be able to find Palm OS-related headers and libraries automatically.

Palm OS SDKs and other development material should be installed in such a way that palmdev-prep can detect them. If you configured prc-tools with --with-palmdev-prefix=palmdev-prefix, SDK version N should be installed so that its directory structure looks like

palmdev-prefix/sdk-N/include
Header files, arranged in arbitrary directories under include
palmdev-prefix/sdk-N/lib/m68k-palmos-coff
Static (link-time) libraries for m68k-palmos

Building other tools

PilRC is a widely-used Palm OS UI resource compiler that is easily built. Especially if you are not running GTK+, you may want to configure with --disable-pilrcui.

The Palm OS Emulator is written in a modern C++ style, and, on Unix, uses FLTK as its user interface widget set. Modern C++ means that you will need templates and STL implementations that aren't wildly out of date; for example, using an ancient pre-2.95 version of GCC is not really recommended (but if you're still using such a thing, you already knew that!). At the time of writing (version 3.5), the Emulator is easiest to build with a 1.0.x version of FLTK.


Back to prc-tools homepage