Building a phoneME Feature Software Reference Port (MR2)

first | prev

The phoneME Feature Software is an Open Source version of Sun Microsystems' commercial implementation, the Sun Java Wireless Client software, version 2.0. The commercial version is based upon, and incorporates code from, the Open Source MR2 version of phoneME Feature software. The phoneME Feature software is built on top of CLDC, an Open Source version of Sun Microsystems' Connected Limited Device Configuration, HotSpot Implementation, version 2.0.

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 Linux on i386 Build Platform

This section provides basic instructions for building a default configuration of the phoneME Feature software for Linux on i386 and Linux on ARM target platforms.

Setting Variables for a Linux on i386 Build Platform

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

TABLE 5-1Required Linux on i386 Build Variables

Name

Description

MIDP_OUTPUT_DIR

Location where 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/linux_i386/dist.

TOOLS_DIR

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

TARGET_CPU

Must be set for the platform you are building on. For example, TARGET_CPU=i386.

USE_MULTIPLE_ISOLATES

Required for phoneME Feature to support multitasking. Must be set to true.

Building for a Linux on i386 Target Platform

To build phoneME Feature software for the Linux on i386 target platform, take the following steps.

  1. Set the MIDP_OUTPUT_DIR variable, as shown here.

    $ export MIDP_OUTPUT_DIR=$BUILD_OUTPUT_DIR/midp

  2. Change to the build directory, as shown here.

    $ cd $MEHOME/midp/build/linux_fb_gcc

    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/linux_i386/dist TOOLS_DIR=$MEHOME/tools TARGET_CPU=i386 USE_MULTIPLE_ISOLATES=true

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

The generated output for the Linux on i386 target platform is found under $BUILD_OUTPUT_DIR/midp/bin/i386.

Building for a Linux on ARM Target Platform

To build phoneME Feature software for the Linux on ARM target platform, take the following steps.

  1. Set the MIDP_OUTPUT_DIR variable, as shown here.

    $ export MIDP_OUTPUT_DIR=$BUILD_OUTPUT_DIR/midp

  2. Change to the build directory, as shown here.

    $ cd $MEHOME/midp/build/linux_fb_gcc

    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/linux_arm/dist TOOLS_DIR=$MEHOME/tools TARGET_CPU=arm USE_MULTIPLE_ISOLATES=true GNU_TOOLS_DIR=$MONTAVISTA

    In this command line, the variable $MONTAVISTA is a shortcut for a much longer command string, as described here.

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

The generated output for the Linux/i386 target platform is found under $BUILD_OUTPUT_DIR/midp/bin/arm.

Running runPhoneME on a Linux on i386 or Linux on ARM Target Platform

Once you build an implementation of phoneME Feature software, you can quickly run a MIDlet using the phoneME Feature emulation device.

  1. Change to the output directory.

    $ cd $BUILD_OUTPUT_DIR/midp

  2. Type ./runPhoneME.

    This displays the phoneME Feature emulation device.

Note: To run runPhoneME on the Linux on ARM target platform, some additional steps are needed. For more information, see Sun Java Wireless Client Build Guide.


Building phoneME Feature Software on a Win32 on i386 Build Platform

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

Setting Variables for a Win32 on i386 Build Platform

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

TABLE 5-2Required Win32 on i386 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=%MEHOME%/tools.

USE_MULTIPLE_ISOLATES

Required for phoneME Feature to support multitasking. Must be set to true.

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.

Building for a JavaCall Porting Layer on i386 Target Platform

To build the phoneME Feature software for for the JavaCall porting layer on i386 target platform, take the following steps.

  1. Set the MIDP_OUTPUT_DIR variable, as shown here.

    $ export MIDP_OUTPUT_DIR=$BUILD_OUTPUT_DIR/midp

  2. Change to the build directory, as shown here.

    $ cd $MEHOME/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=%MEHOME%/tools USE_MULTIPLE_ISOLATES=true JAVACALL_PLATFORM=win32_i386_vc JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall

    Note: It is possible to include optional packages in your JavaCall porting layer on I386 target build. For more information, see Including Optional Packages in Your Build.

The generated output for the JavaCall porting layer on i386 target platform is found under $BUILD_OUTPUT_DIR/midp/bin/javacall.

Running runPhoneME on a JavaCall porting layer on i386 Target Platform

Once you build an implementation of phoneME Feature software, you can quickly run a MIDlet using the phoneME Feature emulation device.

  1. Change to the output directory.

    $ cd %BUILD_OUTPUT_DIR%/midp

  2. Click or type runPhoneME.

    This displays the phoneME Feature emulation device.


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 Linux on i386 target platform, as shown here.

    $ cd $MEHOME/midp/build/linux_i386

  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:



first | prev