The CLDC implementation of phoneME Feature builds more or less out of the box. The sources do not need to be patched, but you need to make sure that you have set all the required environment variables for Microsoft eMbedded C++ 4.0 or Visual Studio 2005. There are some batch files in the source tree to help you with that.
Building the MIDP implementation of phoneME Feature is a bit more difficult. The MIDP build for Windows Mobile in the download section of this site was made after combining sources from different branches in the subversion repository. Manual intervention was also needed as some tools generated source code files that the Microsoft compilers do not seem to like. Also, I expect that some of these patches may break other builds, such as the phoneME Advanced dual stack configuration. Your mileage may vary.
Only minor modifications are needed to compile the CLDC sources for the various platforms. There is no need to use PCSL if you do not want MIDP support and you are just interested in the CLDC implementation of phoneME Feature.
Download the patch:
- CLDC.diff: Revert a change that only enabled the segmented rom text block for Visual C++. Also fix the Main_wince.cpp to disable traversing the list with predefined applications.
- Calendar.diff: Initialize the current time when returning an object instance
2. MIDP using PCSL
First of all, MIDP needs PCSL, and therefore we need a working PCSL for WinCE platforms. The PCSL patch adds some configuration files. The MIDP patch makes sure that you can compile the phoneME Feature sources. The source file with the entry point of the main application (runMidlet) was
Download the patch:
- Abstractions.diff: Fix compilation issues when including optional JSRs.
- Alert.diff: Implement audible sounds for the midlet alert notifications.
- Appdb.diff: Automatically determine the location of the AppDB based the location of the executable
- Display.diff: Fix some display issues.
- Font.diff: Use a smaller prerendered bitmap font.
- MIDP.diff: Changes to configuration files and source files.
- PCSL.diff: Enable basic WinCE support for ARM processors and work around some asynchronous network issues.
- SerialFeature.diff: Add support for communication over a serial port.
- WinCEApp.diff: Use plain GDI instead to avoid painting issue and implement some power notifications
3. Build phoneME Feature
You also need to make sure that the following environment variables are set. It is advised to use the old DOS 8.3 style path names. Use the DOS command dir /x at a command prompt to verify these settings match with yours. For example, these settings are needed when you are building for Windows Mobile 2003 with Microsoft eMbedded C++ 4.0:
- export EVC_ARCH_PATH="c:/PROGRA~1/MICROS~1.0/EVC/wce420/bin"
- export EVC_COMMON_PATH="C:/PROGRA~1/MICROS~1.0/Common/EVC/bin"
You should follow the guidelines outlined at https://phoneme.dev.java.net/content/mr4/buildenv_feature.html.
If you have any compilation issues with the win32 file implementation of PCSL, then try the sources of this branch instead: