Getting Started with phoneME Feature Software (MR2)

# Before You Begin first I prev | next | last This document contains the following sections: Document Notes and Conventions Setting Variables for Your Build Environment Default Build Configuration Building a Complete Audio Implementation Note: This section contains information you may find useful while working through the phoneME Feature installation process. It is for your information only. If you want to begin downloading and installing the phoneME Feature software right away, see Downloading the phoneME Feature Software Source Code. 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. ### Document Notes and Conventions For your ease of use, this guide uses the following conventions: The document variable `$HOME` means "the location where you have installed the phoneME Feature software." For example, if you install the phoneME Feature software into the directory `/home/chocolate/phoneME_feature`, changing directory to `$HOME/midp` means to change directory to `/home/chocolate/phoneME_feature/midp`. For all procedures and examples carried out on the Linux platform, the Bash shell is assumed. If you are not using the Bash shell, be sure to enter variables and commands for the shell you are using. For all procedures and examples carried out on the Windows platform, the use of Cygwin (Cyg4Me) is assumed. Instructions for installing Cyg4Me are provided here. ### Setting Variables for Your Build Environment Preparing your build environment requires you to set environment variables for your Linux/i386 or Win32/i386 build platform. This section describes how to do this on both Linux/i386 and win32/i386 build platforms. The specific variables that need to be set for each platform are described in the remainder of this document. BuIld environment variables can be set in two ways: As a system variable On the command line, when you run `make` Setting System Variables On a Linux/i386 build platform, a system variable is set in the following way: `$ export VARIABLE=value` For example, to set `TARGET_CPU` as a system variable on a Linux/i386 platform , type: `$ export TARGET_CPU=i386` On a Win32/i386 build platform, a system variable is set in the following way: `$ set VARIABLE=value` For example, to set the `TARGET_CPU` as a system variable on a Win32/i386 platform, type: `$ set TARGET_CPU=i386` Setting Command Line Variables On Linux/i386 and Win32/i386 build platforms, a command line variable is set in the following way: `$ make VARIABLE=value make_target` For example, to set `TARGET_CPU` on a `make` command line for a Linux/i386 platform, use the following format: `$ make TARGET_CPU=i386 all` Note: Typing `make` on the command line by itself is the same as typing `make all`. ### Default Build Configuration The default build configuration for your target platform is named using a combination of operating system (Linux or Win32), platform (i386 or ARM), and one or more build options. Setting (or not setting) specific build options determines the configuration of the build. For example, for the Linux/ARM target platform (P2 board), the default build configuration uses Frame Buffer graphics (`fb`), with Adaptive User Interface Technology (`chameleon`), and multitasking (`mvm`). Therefore, the default build configuration is named `linux_arm_fb_chameleon_mvm`. On the Win32/i386 platform, the default build configuration is `win32_i386`. If you build using the JavaCall porting layer for the Win32/i386 target platform, the build configuration is `javacall_i386`. ### Building a Complete Audio Implementation In order to build a complete implementation of JSR 135, the following files need to be modified. On a Win32/i386 platform: `jsr135/win32-jsr135/src/native/AMRDecoder.c` `jsr135/win32-jsr135/src/native/qsoundnative.c` On a Linux/ARM platform: `jsr135/linux-abb/src/native/qsoundnative.c` These files contain stubbed implementations of all native methods for the following classes. On a Win32/i386 platform: `com.sun.mmedia.AMRDecoder` On Win32/i386 and Linux/ARM platforms: `com.sun.mmedia.QSound*` Sun Microsystems' compliant Mobile Media API (JSR 135) implementation utilizes audio libraries licensed from QSound Labs, Inc. (www.qsound.com). Note: Other libraries are possible. If you choose other audio libraries, you will need to modify the listed files for those libraries.
first | prev | next | last