Building a phoneME Feature Software Reference Port (MR4)
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:
* Building phoneME Feature Software on a Windows x86 Build Platform
* Building phoneME Feature Software Documentation
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-1Required Windows x86 Build Variables
Name
Description
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. For example, USE_VS2005=true.
USE_ON_DEVICE_DEBUG
Supports the use of the emulator binary plugin. For example, USE_ON_DEVICE_DEBUG=true.
USE_JAVA_DEBUGGER
Supports the use of the emulator binary plugin. For example, USE_JAVA_DEBUGGER=true.
SDK_ODD_DIR
Supports the use of the emulator binary plugin. For example, SDK_ODD_DIR=$COMPONENTS_DIR/sdk/components/jme-remoting.
VM_PROFILES_CONFIG_FILE
Supports the use of the emulator binary plugin. For example, VM_PROFILES_CONFIG_FILE=$COMPONENTS_DIR/sdk/harness/runtime-builders/cldc-builder/midp/vm_profiles.config.
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.
$ set MIDP_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/midp
2. Change to the build directory, as shown here.
$ cd %COMPONENTS_DIR%/midp/build/javacall
Note: You can skip this step and use the make -C build option. For more information, see Building with the make -C Option.
3. Run the make command as a single command-line string, as shown here.
$ make 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_VS2005=true USE_ON_DEVICE_DEBUG=true USE_JAVA_DEBUGGER=true SDK_ODD_DIR=$COMPONENTS_DIR/sdk/components/jme-remoting VM_PROFILES_CONFIG_FILE=$COMPONENTS_DIR/sdk/harness/runtime-builders/cldc-builders/midp/vm_profiles.config
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 Wireless Toolkit emulation device. However, before you can do this, you must take a few additional steps.
To prepare your phoneME Feature implementation for running, follow these steps:
1. Ensure you have emulator binary plugin installed on your machine.
2. Copy the contents of the /SDK directory (not the directory itself) into the top-level (root) directory of the emulator binary plugin environment. For example, C:\Emulator.
To start your phoneME Feature implementation:
1. Change to the emulation root directory.
2. Remove the folder %USERPROFILE%\javame-sdk-sjwc
3. Restart the emulator Device Manager. The Device Manager is in the lower right hand system tray. Right click to disply the menu and select Restart.
For additional information on running in 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.
$ cd %COMPONENTS_DIR%/javacall-com/configuration/phoneMEFeature/win32_emul
2. Build Javadoc tool HTML documentation.
$ make docs_html
Viewing phoneME Feature Software Documents
Use any browser to display the Javadoc output file at the following URL:
file://%MIDP_OUTPUT_DIR%/doc/javadoc/html/index.html