HowTo Build

1. Install your tool chain

Install your build environment including:

  • J2SDK 1.4.2: Best not use JDK 1.5 or higher
  • Cygwin: make, bison, flex, gcc, g++, diffutils, subversion, ... (for phoneME Advanced)
  • Cyg4Me: modified Cygwin for phoneME Feature
  • Microsoft Visual Studio 2005 (Windows Mobile 5)
  • Microsoft Embedded Visual C++ 4 with SP4 (Windows Mobile 2003) or Microsoft Embedded Visual Tools 3 (PocketPC 2002)
  • Platform SDK
  • Microsoft Macro Assembler (MASM)
  • Windows Mobile 2003 or Windows Mobile 5 SDKs.


2. Download the sources and the patches

Check out the most recent version of phoneME with subversion from https://phoneme.dev.java.net/svn/phoneme/ using the following shell script:

#!/bin/bash
mkdir -p c:/phoneme
cd c:/phoneme

svn checkout https://phoneme.dev.java.net/svn/phoneme/legal legal --username guest
for i in javacall pcsl cldc midp cdc tools jpeg jump abstractions xmlparser restricted_crypto; do
      svn checkout https://phoneme.dev.java.net/svn/phoneme/components/$i/trunk $i --username guest
done

This script assumes you are checking the sources on a Linux host or that you have installed either Cygwin or Cyg4me with the binaries
accessible from your PATH environment variable.

Important Note: If you want to build phoneME Feature, and you are having POSIX related build issues for the 'file' layer of PCSL, you may wish to download the implementation that uses the Win32 API. Just copy the GNUmakefile, pcsl_dir_win32.c and pcsl_win32.c files from the following branch into your pcsl/file/win32 directory:
https://phoneme.dev.java.net/source/browse/phoneme/components/pcsl/branc...

All my patches are available in the Patches section. Some of them may be out of date or only useful for testing purposes. Others may conflict with one another because they change the same file or only work for one particular profile, platform or compiler. You do not need to download all the patches, only the ones for the specific platform (Feature or Advanced) you wish to build. See below.

3. Platform specific instructions

Follow the detailed instructions for either phoneME Feature or phoneME Advanced depending on what type of virtual machine you want to build: