-->

Building the JavaCall Porting Layer (MR4)

first | prev | next | last

The JavaCall porting layer provides a uniform set of APIs that improve and simplify the phoneME Feature software porting process.

To build a default implementation of the JavaCall porting layer, you take the following general steps:


Setting JavaCall Porting Layer Environment Variables

The JavaCall has several environment variables that must be set, as shown in Table 2-1.

Note: Make note of the values you choose for these variables. When executing the build procedures for PCSL, CLDC, and the phoneME Feature software client, you must set corresponding values.

TABLE 2-1 Required JavaCall Porting Layer Build Variables

Name

Description

BuildDir

The location of your phoneME Feature build directory.

For example, BuildDir=%COMPONENTS_DIR%/javacall-com/configuration/phoneMEFeature/win32_emul.

JAVACALL_DIR

Specifies the location of the base JavaCall API source code and makefiles, which contains MIDP and specific optional packages, including the following:

Java Wireless Messaging (JSR 120)
Mobile Media API (JSR 135)
Security and Trust Services (JSR 177)
Content Handler API (JSR 211)

For example, JAVACALL_DIR=%COMPONENTS_DIR%/javacall.

PROJECT_JAVACALL_DIR

Specifies the location of additional JavaCall API source code and makefiles, which includes additional optional packages, including the following:

Personal Information and File Management (JSR 75)
Bluetooth (JSR 82)
Location API (JSR 179)
Wireless Messaging (JSR 205)
Advanced Multimedia Supplements (JSR 234)
Mobile Sensor API (JSR 256)

For example, PROJECT_JAVACALL_DIR=%COMPONENTS_DIR%/javacall-com.

JAVACALL_OUTPUT_DIR

Defines the directory where the build system places its output. For example, JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall.

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 the JavaCall porting layer and phoneME Feature software client, you must also set ENABLE_ISOLATES=true to build CLDC, as described in Building a CLDC Reference Port.

TOOLS_DIR

Defines the directory where needed build tools are located. 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_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_OUTPUT_REDIRECTION

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

Note: The phoneME Feature client software is complex and flexible, and many build options are available. For more information on build options, see Sun Java Wireless Client Software Build Guide.


Building the JavaCall Porting Layer

To build an implementation of the JavaCall porting layer, take the following steps:

  1. Set the BuildDir variable, as shown here:

    C:\> set BuildDir=%COMPONENTS_DIR%/javacall-com/configuration/phoneMEFeature/win32_emul

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

    C:\> make -C %BuildDir% JAVACALL_DIR=%COMPONENTS_DIR%/javacall PROJECT_JAVACALL_DIR=%COMPONENTS_DIR%/javacall-com JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall USE_MULTIPLE_ISOLATES=true TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools USE_OUTPUT_REDIRECTION=true

Note: It is possible to include optional packages in your JavaCall porting layer build. The makefiles for building these optional packages are picked up from the repository and zip archive with the JavaCall source, but no optional packages are built unless other variables are set. For more information, see Including Optional Packages in Your Build.

When the make command has successfully completed, the JavaCall porting layer output is found in %JAVACALL_OUTPUT_DIR%.



first | prev | next | last