Building a phoneME
Feature Software Reference Port
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
Note: This document is part of the MR2 development release version of phoneME Feature
software. The instructions have not been verified or tested. The contents will continue to
change as development moves forward.
Building phoneME Feature Software on a Linux/i386 Build Platform
This section provides basic instructions for building a default configuration of the phoneME
Feature software for Linux/i386 and Linux/ARM target platforms.
Setting Variables for a Linux/i386 Build Platform
To build phoneME Feature software on a Linux/i386 build platform, you must set the
environment variables shown in TABLE 5-1.
TABLE 5-1 Linux Platform Environment Variables
|
Name
|
Description
|
|
MIDP_DIR
|
The top-level MIDP directory. For example,
MIDP_DIR=$HOME/midp.
|
|
MIDP_OUTPUT_DIR
|
Location where output from building
phoneME Feature is stored. For example, MIDP_OUTPUT_DIR=$BUILD_OUTPUT_DIR/midp.
|
|
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.
|
|
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.
|
|
USE_PCSL
|
Required for phoneME Feature to
pick up PCSL libraries. Must be set to true.
|
Setting Environment Variables for Both Linux/i386 and Linux/ARM Target Platforms
The following variables should be set as system variables, to build both Linux/i386 and
Linux/ARM target platforms:
$ export MIDP_DIR=$HOME/midp
$ export MIDP_OUTPUT_DIR=$BUILD_0UTPUT_DIR/midp
Building for a Linux/i386 Target Platform
- Change to the default phoneME Feature software build directory for the Linux/i386
target platform.
$ cd $HOME/midp/build/linux_fb_gcc
- Use make to build phoneME Feature software, by specifying the
i386
target CPU, picking up PCSL libraries, enabling multitasking capabilities, and pointing to the
CLDC output directory for the Linux/i386 target platform.
$ make TARGET_CPU=i386 USE_PCSL=true USE_MULTIPLE_ISOLATES=true
CLDC_DIST_DIR=$BUILD_OUTPUT_DIR/cldc/linux_i386/dist
The generated output for the Linux/i386 target platform is found in the following location:
$BUILD_OUTPUT_DIR/midp/bin/i386
Building for a Linux/ARM Target Platform
- Change to the default phoneME Feature software build directory for the Linux/ARM
target platform.
$ cd $HOME/midp/build/linux_qte_gcc
- Use make to build phoneME Feature software, by specifying the
arm
target CPU, picking up PCSL libraries, enabling multitasking capabilities, pointing to the CLDC
output directory for the Linux/ARM target platform, and using MontaVista development tools.
$ make TARGET_CPU=arm USE_PCSL=true USE_MULTIPLE_ISOLATES=true
CLDC_DIST_DIR=$BUILD_OUTPUT_DIR/cldc/linux_arm/dist GNU_TOOLS_DIR=$MONTAVISTA
Note: In the above command line, the variable $MONTAVISTA is a shortcut
for a much longer command string, as described
here.
The generated output for the Linux/i386 target platform is found in the following location:
$BUILD_OUTPUT_DIR/midp/bin/arm
Running usertest on a Linux/i386 Target Platform
Once you have built an implementation of phoneME Feature software, you can quickly run a
MIDlet using the frame buffer (fb) graphics provided by the QT Toolkit:
- Change directory to the following location:
For a Linux/i386 target platform:
$ cd $BUILD_OUTPUT_DIR/midp/bin/i386
For a Linux/ARM target platform:
$ cd $BUILD_OUTPUT_DIR/midp/bin/arm
- Type
./usertest
This launches the frame buffer graphics window.
Building phoneME Feature Software on a Win32/i386 Build Platform
This section provides basicn instructions for building a default phoneME Feature software
configuration of Win32/i386 and Javacall/i386 target platforms.
Setting Variables for a Win32/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-2 Win32/i386 Platform Environment Variables
|
Name
|
Description
|
|
MIDP_DIR
|
The top-level MIDP directory. For example,
MIDP_DIR=%HOME%/midp.
|
|
MIDP_OUTPUT_DIR
|
Location where the output from
building phoneME Feature is stored. For example,
MIDP_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/midp.
|
|
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/dist
|
|
TARGET_CPU
|
Must be set for the platform you are
building on. For example, TARGET_CPU=i386. (If you are building the
JavaCall porting layer, this variable is also set to i386.)
|
|
USE_MULTIPLE_ISOLATES
|
Required for phoneME Feature to
support multitasking. Must be set to true.
|
|
USE_PCSL
|
Required for phoneME Feature to
pick up PCSL libraries. Must be set to true.
|
|
JAVACALL_PLATFORM
|
If you have previously built the
JavaCall porting layer, use this variable to define it as your platform. For
example, JAVACALL_PLATFORM=javacall_i386_vc.
Note: If you have not built an implementation of JavaCall, do not set this
variable.
|
|
JAVACALL_OUTPUT_DIR
|
Indicates the location where JavaCall
output is stored. For example, JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall.
Note: If you have previously built the JavaCall porting layer, this
variable should already be set. If you have not built a JavaCall implementation, do
not set this variable.
|
Setting Environment Variables for Both Win32/i386 and Javacall/i386 Target Platforms
If you are building phoneME Feature software for either the Win32/i386 or Javacall/i386 target
platforms, set the following variables as shown here:
$ set MIDP_DIR=%HOME%/midp
$ set MIDP_OUTPUT_DIR=%BUILD_0UTPUT_DIR%/midp
Building for a Win32/i386 Target Platform
- Change to the default phoneME Feature build directory for the Win32/i386 target
platform.
$ cd %HOME%/midp/build/win32
- Set build-specific environment variables as shown here:
$ set CLDC_DIST_DIR=%BUILD_OUTPUT_DIR%/cldc/win32_i386_vc/dist
- Mount the phoneME Feature software midp directory at the root level.
For example, if you installed the phoneME Feature software in C:\jwc1.1.3,
use the following command:
mount C:\jwc1.1.3\midp /jwc1.1.3/midp
- Use make to build a reference port of the phoneME Feature software, by
specifying the
i386 target CPU, picking up PCSL libraries, and enabling
multitasking capabilities, as shown here.
$ make TARGET_CPU=i386 USE_PCSL USE_MULTIPLE_ISOLATES=true
The generated output for the Win32/i386 target platform is found in the following location:
%BUILD_OUTPUT_DIR%/midp/bin/i386
Building for a Javacall/i386 Target Platform
- Change to the default phoneME Feature build directory for the Javacall/i386 target
platform.
$ cd %HOME%/midp/build/javacall
- Set build-specific environment variables as shown here:
$ set CLDC_DIST_DIR=%BUILD_OUTPUT_DIR%/cldc/javacall_i386_vc/dist
Note: If you have previously built the Javacall porting layer for PCSL and CLDC,
the JAVACALL_PLATFORM and JAVACALL_OUTPUT_DIR environment variables
should already be set. If not, set them as shown here:
$ set JAVACALL_PLATFORM=javacall_i386_vc
$ set JAVACALL_OUTPUT_DIR=%BUILD-OUTPUT_DIR%/javacall
- Mount the phoneME Feature software midp directory at the root level.
For example, if you installed the phoneME Feature software in C:\jwc1.1.3,
use the following command:
mount C:\jwc1.1.3\midp /jwc1.1.3/midp
- Use make to build a reference port of the phoneME Feature software, by
specifying the
i386 target CPU, picking up PCSL libraries, and enabling
multitasking capabilities, as shown here.
$ make TARGET_CPU=i386 USE_PCSL USE_MULTIPLE_ISOLATES=true
The generated output for the Javacall/i386 target platform is found in the following location:
%BUILD_OUTPUT_DIR%/midp/bin/javacall
Running usertest on a Win32/i386 Platform
Once you have built an implementation of phoneME Feature software, you can quickly run a
MIDlet using the Win32/i386 emulator.
- Change directory to the following directory.
$ cd %BUILD_OUTPUT_DIR%/midp/bin/i386
- Type
usertest
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 both Linux/i386 and Win32/i386
platforms.
- Change to the default build directory for your target platform. For example,
this could be the Linux/i386 target platform, as shown here.
$ cd $HOME/midp/build/linux_i386
- Build Javadoc tool HTML documentation.
$ make docs_html
The generated HTML documents are put in the following directory:
$MIDP_OUTPUT_DIR/doc/javadoc/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
first |
prev