Building a phoneME Feature Software Reference Port (MR4)

first | prev

The phoneME Feature Software is the Open Source version of Sun Microsystems' commercial implementation, the Sun Java Wireless Client software. The phoneME Feature software is built on top of CLDC, the Open Source version of Sun Microsystems' Connected Limited Device Configuration, HotSpot Implementation.

This document has the following sections:

For proper building and performance, your system must meet the requirements provided in Before You Begin.


Building phoneME Feature Software on a Windows x86 Build Platform

This section provides basic instructions for building a default phoneME Feature software implementation for the JavaCall porting layer on a Windows x86 target platform.

Setting Variables for a Windows x86 Build Platform

To properly build the phoneME Feature software on a Windows platform, you must set the environment variables shown in TABLE 5-1.

TABLE 5-1 Required Windows x86 Build Variables

Name

Description

EMULATOR_DIR

The location where you install the emulator software. For example, EMULATOR_DIR=C:/home/chocolate/mr4_emulator/phoneme_feature.

For more information on setting the %EMULATOR_DIR% variable, see Downloading the Qsound and Emulator Binary Files.

MIDP_OUTPUT_DIR

Location where the output from building phoneME Feature is stored. For example, MIDP_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/midp.

PCSL_OUTPUT_DIR

Location where the output from building PCSL is stored. Required for phoneME Feature to pick up PCSL libraries. For example, PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl.

CLDC_DIST_DIR

Required for building phoneME Feature software. Must point to the location of CLDC software build output. For example, CLDC_DIST_DIR=%BUILD_OUTPUT_DIR%/cldc/javacall_i386_vc/dist.

TOOLS_DIR

Location of tools generated during build process. Required for building phoneME Feature software. For example, TOOLS_DIR=%COMPONENTS_DIR%/tools.

TOOLS_OUTPUT_DIR

Defines a directory location for tools-specific output. For example, TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools

USE_MULTIPLE_ISOLATES

Required for phoneME Feature to support multitasking. Must be set to true. If not explicitly set to true, the build defaults to false and phoneME Feature is built without multitasking capability.

Note: If you set USE_MULTIPLE_ISOLATES=true to build phoneME Feature software, you must also set ENABLE_ISOLATES=true to build CLDC, as described in Building a CLDC Reference Port.

JAVACALL_PLATFORM

Defines the JavaCall porting layer platform, cpu, and compiler. For example, JAVACALL_PLATFORM=win32_i386_vc.

JAVACALL_OUTPUT_DIR

Indicates the location where JavaCall porting layer output is stored. For example, JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall.

USE_VS2005

Tells the build system to use Microsoft Visual Studio 2005 as the default compiler setting, as shown here: USE_VS2005=true.

Note: If Microsoft Visual Studio 2005 is your default compiler, you do not need to set this variable. USE_VS2005=true is set for you in the MR4 build scripts. However, if you are using some other compiler (which is possible, but not supported, in MR4), you must set this variable to USE_VS2005=false.

USE_ON_DEVICE_DEBUG

Supports the use of the emulator binary plugin. For example, USE_ON_DEVICE_DEBUG=true.

Note: This variable must be set to true or building for the emulator will fail.

USE_JAVA_DEBUGGER

Supports the use of the emulator binary plugin. For example, USE_JAVA_DEBUGGER=true.

PRECOMPILED_ODD

Supports the use of the On-Device Debugger (ODD) binary plugin. For example, PRECOMPILED_ODD=true.

Note: This variable must be set to true or building for the emulator will fail.

ODD_JAR

Sets the path to the On-Device Debugger (ODD) binary plugin. For example, ODD_JAR=%COMPONENTS_DIR%/phoneme-lib/odd.jar.

Note: This variable must point to a valid jar location or building for the emulator will fail.

Building for a Windows x86 Target Platform

To build the phoneME Feature software for a Windows x86 target platform, take the following steps.

  1. Set the MIDP_OUTPUT_DIR variable, as shown here.

    C:\> set MIDP_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/midp

  2. Run the make command as a single command-line string, using the -C option, as shown here.

    C:\> make -C %COMPONENTS_DIR%/midp/build/javacall PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl CLDC_DIST_DIR=%BUILD_OUTPUT_DIR%/cldc/javacall_i386_vc/dist TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools USE_MULTIPLE_ISOLATES=true JAVACALL_PLATFORM=win32_i386_vc JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall USE_ON_DEVICE_DEBUG=true USE_JAVA_DEBUGGER=true PRECOMPILED_ODD=true ODD_JAR=%EMULATOR_DIR%/phoneme-lib/odd.jar

    Note: It is possible to include optional packages in your Windows x86 target build. For more information, see Including Optional Packages in Your Build.

The generated output for Windows x86 target platform is found under %BUILD_OUTPUT_DIR%/midp.

Running phoneME Feature on a Windows x86 Target Platform

Once you build an implementation of phoneME Feature software, you can run a MIDlet using the emulator. However, before you can do this, you must start the phoneME Feature emulator:

  1. Right click on the Device Manager icon to display the Device Manager menu and select Exit to stop the Device Manager. (The Device Manager icon is in the lower right corner system tray.)

  2. Remove the folder %USERPROFILE%\javame-sdk-pmef

  3. Copy the contents of the %BUILD_OUTPUT_DIR%/midp/SDK directory (not the directory itself) into %EMULATOR_DIR%, the top-level (root) directory of the emulation environment. For example, C:\mr4\emulator.

  4. Change to the emulation root directory. For example:

    C:\>cd %EMULATOR_DIR%

  5. Start your phoneME Feature implementation:

    C:\>bin\emulator.exe

    The Device Manager appears in the lower right corner system tray; on the console, the command line help appears. You can now use it to run MIDlets.

For additional information on working with the emulator, see the Sun Java Wireless Client Software Build Guide.


Building phoneME Feature Software Documentation

You can create HTML API documents for phoneME Feature software from porting interfaces. To do this for the phoneME Feature software, use the make docs_html build target.

Generating Javadoc Tool Documentation

Building Javadoc tool documentation is the same for all platforms.

  1. Change to the default build directory for your target platform.

    For example, this could be the Windows x86 target platform, as shown here.

    C:\> cd %COMPONENTS_DIR%/javacall-com/configuration/phoneme_feature/win32_emul

  2. Build Javadoc tool HTML documentation.

    C:\> make docs_html

Viewing phoneME Feature Software Documents

Use any browser to display the Javadoc output file at the following URL:



first | prev