全部博文(626)
分类: WINDOWS
2013-09-29 14:10:03
Building the JavaCall Porting Layer (phoneME Feature MR4)
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:
* Set environment variables for your platform
* Run make to build the JavaCall porting layer
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-1Required 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. For example, USE_VS2005=true.
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 based on where you picked up your JavaCall porting layer source files.
For more information, see Table 2-1.
2. Run the make command as a single command-line string, as shown here.
$ 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_VS2005=true 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%.