Contents Previous Next

Chapter   2

Installation Notes


2.1 General Comments

The CLDC reference implementation source code release is aimed primarily at device manufacturers and other companies and individuals who want to port a small-footprint, general-purpose Java platform implementation onto their devices and platforms.

This release package contains the full source code of the K Virtual Machine and CLDC libraries, as well as a KVM Porting Guide document that is intended to help you in platform-specific porting efforts. The package does not contain the MIDP APIs or any other J2ME profile APIs that you may need for building a complete J2ME implementation for a particular target device.

If you are not interested in porting efforts and are looking for a more “end-user-friendly” release package for J2ME application development, we encourage you to download and use the following package:

J2ME Wireless Toolkit ( http://java.sun.com/products/j2mewtoolkit/)

The installation instructions below are applicable only to those situations in which you intend to build the CLDC reference implementation from source code.

2.2 Unzipping the Distribution

Unzip the distribution into any directory of your choice. It creates the directory j2me_cldc with the following subdirectories:

Please refer to the KVM Porting Guide (CLDC 1.1), (Sun Microsystems, Inc., 2003) (included with this release) for further information on the contents of these directories.

2.3 Building the Source Code Release

The K Virtual Machine and the associated preverification tool have been written in the ANSI C programming language. This software has been compiled successfully with the following compilers:

In order to compile the Java library files, sample applications, and additional tools provided in the source release, Java Development Kit (JDK) 1.3 or later is required.

You can build all the binaries included in this release from the source code files shipped with the release. The necessary GNU tools for building the binaries – such as GNU Make – are not provided with this release, but are available either as part of the MKS Toolkit product, or as a separate download:

http://www.gnu.org/software/software.html

or

http://sources.redhat.com/cygwin

GNU Make is included in the commercial product, MKS Toolkit. MKS Toolkit can be purchased online at:

http://webstore.mkssoftware.com/webstore

To build the reference implementation on Windows 2000, a UNIX-like shell such as the one provided with MKS Toolkit is required. Building on all platforms is done with GNU Make, which expects UNIX-style file paths as arguments. GNU Make requires UNIX-style arguments: that is, case sensitive, using forward slashes for file paths. This applies to any environment variable that is consumed by the makefile, including variables set in batch files.

On any of the following platforms, running gnumake creates the necessary class library ROM images and produces a KVM executable containing the ROMized class libraries.

2.3.1 Building the Release on Windows 2000

Enter the build/win32 subdirectory and type gnumake.

2.3.2 Building the Release on Linux

Enter the build/linux subdirectory and type gnumake.

2.3.3 Building the Release on Solaris

Enter the build/solaris subdirectory and type gnumake.

2.4 Most Commonly Used Build Options

The following parameters are commonly used when using gnumake to build the KVM.

 
gnumake ROMIZING=false 

Build the KVM with ROMizing disabled, that is, without linking all the system library classes statically into the KVM executable.

 
gnumake DEBUG=true 

Build the KVM with the Java-level debugger interface enabled.

 
gnumake USE_JAM=true 

Build the KVM with the Java Application Manager (JAM) enabled.

 
gnumake GCC=true 

Use GNU C compiler when compiling the KVM source code.

 
gnumake USE_KNI=true 

Build the KVM with the K Native Interface (KNI) enabled.

For more information on build options, as well as the various KVM compilation options, please refer to the KVM Porting Guide (CLDC 1.1), (Sun Microsystems, Inc., 2003).

 


Contents Previous Next Release Notes
CLDC, 1.1