======================================================================== Build Notes for the Palm OS Emulator Copyright 1998-1999 Palm Computing, Inc. Please send bug reports, comments, suggestions, etc. to devsupp@palm.com ======================================================================== ======================================================================== Windows ======================================================================== To build the Palm OS Emulator under Windows, you will need Visual C++ 6.0. The Emulator runs under Windows 95, Windows 98, and Windows NT 4.0, so you should be able to build under those environments, too. To build, simply load the workspace (Emulator.dsw) or project (Emulator.dsp) from the BuildWin directory, select the project target (you'll mostly likely be interested in building "Win 32 Release"), and select the the "Build/Build Emulator.exe" menu item. For that target, the resulting executable will end up in ".../BuildWin/Release/Emulator.exe". If you want to build the ROM Transfer Palm OS application, you will need CodeWarrior for Palm OS Release 5 with Metrowerks' two updates applied (aka CodeWarrior for Palm OS 5.2). ======================================================================== Macintosh ======================================================================== To build the Palm OS Emulator under Mac OS, you will need CodeWarrior Pro 5. You shouldn't need any Metrowerks patches, but currently the Emulator is being built at Palm on a system that has been updated with the CodeWarrior Pro 5.2 patches. To build, simply load the project Emulator.mcp in the BuildMac folder, select the project target (you'll mostly likely be interested in building "POSER PPC"), and select the the "Make" menu item. For that target, the resulting executable will end up in "...:BuildMac:Built:Palm OS Emulator". If you want to build the ROM Transfer Palm OS application, you will need CodeWarrior for Palm OS Release 5 with Metrowerks' two updates applied (aka CodeWarrior for Palm OS 5.2). ======================================================================== Unix ======================================================================== Palm OS Emulator for Unix has been built on a number of platforms, but the one it's developed under is RedHat Linux 6.0 (kernel 2.2.5, glibc-devel 2.1.1-6 using XFree86 3.3.3.1-49 running a 16 bit display). People have also built it under Solaris 2.6 and 2.7, as well as QNX Neutrino, so you may have luck under those or other environments. We use pthreads, so you need GNU glibc2 (aka Linux libc6) C library and a 2.x kernel on a Linux system. Other operating systems need to support true threads. The source makes heavy use of C++ templates and exceptions. On Linux, you must have egcs-1.1.1 or better to compile it. egcs-1.1 or any gcc below 2.95 may not work. RedHat Linux 6.0 comes with egcs 1.1.2, so you should be OK there. If you are running RedHat Linux 5.2, you will need to download the latest from and build it. For other OS'es, either use egcs, or be sure your compiler supports these C++ features. (Note that egcs needs to be built with the HANDLE_SYSV_PRAGMA option turned on in order to have the support to pack structures correctly. The Linux version of egcs has this turned on, but other variants -- such as the compiler that comes with FreeBSD -- may not. If you're using gcc 2.95 or later, make sure it was compiled with the HANDLE_PRAGMA_PACK option.) (Sparc note: the Sparc assembler doesn't seem able to handle the mangled C++ names emitted by GCC. You may have to follow the instructions in the GCC FAQ "How to work around too long C++ symbol names?") We use the FLTK X toolkit. I'm not going to get into an X GUI Toolkit religious war, so don't ask why not some other toolkit. You are encouraged to add support for other toolkits, like Qt or GTK+ or even Xt. I have tried to keep all of the FLTK code in the fltk_*.cpp files. If you add support for another toolkit, please follow that pattern. Don't pollute the UNIX-generic code with toolkit specific code. FLTK is available from , is a quick download, and is easy to build on a variety of OS'es. We've tested with the binary install RPMs for 1.0.3 and 1.0.4. (Note that not all FLTK's install the same way. Some install their includes in an "Fl" directory, some install their includes in an "FL" directory. Poser is written to look for them in "FL". If you don't have that directory, you may need to create a symbolic link with that name to "Fl".) To build the Emulator, switch to the BuildUnix directory and execute the following commands: ./configure make You will end up with an application called "pose" that you can run. If you want, the "configure" script understands the following command- line switches: --enable-palm-profile Include support for profiling Palm applications --enable-profile Include support for profiling Poser itself --enable-debug Include debugging symbols. This option also turns on palm-profile, turns off profile, compiles the source code without optimizations.