Difference between revisions of "Building phoneME (for Java Mobile - J2ME support in webOS) with scratchbox2"

From WebOS Internals
Jump to navigation Jump to search
m (update)
m (→‎Links used to do the webOS port: add more useful links)
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
 
* Get the phoneME Advanced source code :
 
* Get the phoneME Advanced source code :
 
  svn export https://svn.java.net/svn/phoneme~svn/builds/phoneme_advanced-mr2-dev-b167/ phoneme_advanced-mr2-dev-b167
 
  svn export https://svn.java.net/svn/phoneme~svn/builds/phoneme_advanced-mr2-dev-b167/ phoneme_advanced-mr2-dev-b167
* Download and install Java 2 Platform, SE Development Kit 1.4.2_19 from http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html
+
 
 +
* Download and install Java 2 Platform, SE Development Kit 1.4.2_19 from http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html and copy it in the folder /home/ubuntu/java-mobile-project
 +
cd /home/ubuntu/java-mobile-project
 +
mv j2sdk-1_4_2_19-linux-i586.bin /home/ubuntu/java-mobile-project
 +
chmoad a+x j2sdk-1_4_2_19-linux-i586.bin
 +
./j2sdk-1_4_2_19-linux-i586.bin
 +
 
* Detailed instructions can be found at: http://web.archive.org/web/20070621032023/https://phoneme.dev.java.net/content/mr2/buildenv_feature.html
 
* Detailed instructions can be found at: http://web.archive.org/web/20070621032023/https://phoneme.dev.java.net/content/mr2/buildenv_feature.html
 +
 +
* Create a file, /home/ubuntu/java-mobile-project/myenv.sh, on your host, then copy and paste the following into it. Then edit your paths appropriately (first 3 lines), followed by: host# source myenv.sh
 +
export MEHOME=/home/ubuntu/java-mobile-project/phoneme_advanced-mr2-dev-b167
 +
export JDK_DIR=/home/ubuntu/java-mobile-project/j2sdk1.4.2_19
 +
export SB2=/srv/preware/cross-compile/toolchain/arm-2009q1/arm-none-linux-gnueabi or /srv/preware/cross-compile/staging/mapping-armv7 ????
 +
export PATH=$PATH:$JDK_DIR/bin
 +
export BuildDir=$MEHOME/javacall-com/configuration/phoneMEFeature/win32_x86
 +
export JAVACALL_DIR=$MEHOME/javacall
 +
export JAVACALL_PROJECT_DIR=$MEHOME/javacall-com
 +
export JAVACALL_OUTPUT_DIR=$MEHOME/javacall-com
 +
export PCSL_OUTPUT_DIR=$MEHOME/output/pcsl
 +
export PCSL_PLATFORM=linux_arm_gcc
 +
export NETWORK_MODULE=bsd/generic
 +
export ENABLE_PCSL=true
 +
export ENABLE_ISOLATES=true
 +
export JVMWorkSpace=$MEHOME/cldc
 +
export JVMBuildSpace=$MEHOME/output/cldc
 +
export MIDP_OUTPUT_DIR=$MEHOME/output/midp
 +
export CLDC_DIST_DIR=$MEHOME/output/cldc/linux_arm/dist
 +
export TOOLS_DIR=$MEHOME/tools
 +
export TARGET_CPU=arm
 +
export USE_MULTIPLE_ISOLATES=true
 +
 +
= Compiling phoneME Advanced for webOS =
 +
 +
* Start by: host# cd phoneme_advanced-mr2-dev-b167/pcsl
 +
* To build PCSL: host# make NETWORK_MODULE=$NETWORK_MODULE PCSL_PLATFORM=$PCSL_PLATFORM GNU_TOOLS_DIR=$SB2
 +
* Then: host# cd phoneme_advanced-mr2-dev-b167/cldc/build/linux_arm
 +
* To build CLDC: host# make ENABLE_PCSL=$ENABLE_PCSL PCSL_OUTPUT_DIR=$PCSL_OUTPUT_DIR ENABLE_ISOLATES=$ENABLE_ISOLATES GNU_TOOLS_DIR=$SB2
 +
* Then: host# cd phoneme_advanced-mr2-dev-b167/midp/build/linux_fb_gcc
 +
* To build MIDP: host# make PCSL_OUTPUT_DIR=$PCSL_OUTPUT_DIR CLDC_DIST_DIR=$CLDC_DIST_DIR TOOLS_DIR=$TOOLS_DIR TARGET_CPU=$TARGET_CPU USE_MULTIPLE_ISOLATES=$USE_MULTIPLE_ISOLATES GNU_TOOLS_DIR=$SB2
  
 
= Links used to do the webOS port =
 
= Links used to do the webOS port =
Line 22: Line 59:
 
* [https://docs.google.com/viewer?a=v&q=cache:tyeWgwFB_A0J:docs.oracle.com/javame/config/cldc/cldc-opt-impl/cldc-hi-2.0-web/doc/porting/pdf/CLDC-Hotspot-Port.pdf+j2me+phoneme+porting+pdf&hl=fr&gl=fr&pid=bl&srcid=ADGEESiW6f75Gk7nxO8SQKbSHg-_IS3jXPuPivIU04yWH6QnGKEANgwGZPpgp7ypxGJsrWlnlhcUQTaFWKRDAD_xgvrP_NyMDgF5jKkNsaU8X6TVsyvsLH5j2baog2qUpHrTNyyC0rt8&sig=AHIEtbSop5dcSJWOzT6qu8i5CbEf_8yKzQ CLDC HotSpot™ Implementation Porting Guide / CLDC HotSpot Implementation, Version 2.0]
 
* [https://docs.google.com/viewer?a=v&q=cache:tyeWgwFB_A0J:docs.oracle.com/javame/config/cldc/cldc-opt-impl/cldc-hi-2.0-web/doc/porting/pdf/CLDC-Hotspot-Port.pdf+j2me+phoneme+porting+pdf&hl=fr&gl=fr&pid=bl&srcid=ADGEESiW6f75Gk7nxO8SQKbSHg-_IS3jXPuPivIU04yWH6QnGKEANgwGZPpgp7ypxGJsrWlnlhcUQTaFWKRDAD_xgvrP_NyMDgF5jKkNsaU8X6TVsyvsLH5j2baog2qUpHrTNyyC0rt8&sig=AHIEtbSop5dcSJWOzT6qu8i5CbEf_8yKzQ CLDC HotSpot™ Implementation Porting Guide / CLDC HotSpot Implementation, Version 2.0]
 
* [http://free-electrons.com/doc/embedded_linux_java.pdf Java in Embedded Linux Systems]
 
* [http://free-electrons.com/doc/embedded_linux_java.pdf Java in Embedded Linux Systems]
 +
* [http://linux.omap.com/pipermail/davinci-linux-open-source/2008-June/007044.html arm-linux-gcc version on montavista 4.0.1 release]
 +
* [http://marcin.juszkiewicz.com.pl/2010/10/19/how-to-cross-compile-arm-kernel-under-ubuntu-10-10/ How to cross compile ARM kernel under Ubuntu 10.10]
 +
* [http://www.mobiledevmag.com/2010/10/developing-mobile-business-applications-with-java/ Developing Mobile Business Applications With Java]
 +
* [http://blog.sina.com.cn/s/blog_6b6170d10100koro.html How to build JavaCall for phoneme feature]
 +
* [http://blogs.oracle.com/wittyman/entry/building_jdbc_for_cdc_foundation Building JDBC for CDC/Foundation]
 +
* [http://hi.baidu.com/jakmax/blog/item/710fad0905d030b82fddd4bb.html build phoneME Advanced-MIDP]
 +
* [http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvanced Wiki phoneME Advanced with infos with several ports]

Latest revision as of 13:08, 15 January 2012

Requirements

First, follow the tutorial WebOS Internals PDK to set up the cross compilation environment.

Setting up your environment

  • Create your working folder :
cd /home/ubuntu
mkdir java-mobile-project
cd java-mobile-project
  • Get the phoneME Advanced source code :
svn export https://svn.java.net/svn/phoneme~svn/builds/phoneme_advanced-mr2-dev-b167/ phoneme_advanced-mr2-dev-b167
cd /home/ubuntu/java-mobile-project
mv j2sdk-1_4_2_19-linux-i586.bin /home/ubuntu/java-mobile-project
chmoad a+x j2sdk-1_4_2_19-linux-i586.bin
./j2sdk-1_4_2_19-linux-i586.bin

  • Create a file, /home/ubuntu/java-mobile-project/myenv.sh, on your host, then copy and paste the following into it. Then edit your paths appropriately (first 3 lines), followed by: host# source myenv.sh
export MEHOME=/home/ubuntu/java-mobile-project/phoneme_advanced-mr2-dev-b167
export JDK_DIR=/home/ubuntu/java-mobile-project/j2sdk1.4.2_19
export SB2=/srv/preware/cross-compile/toolchain/arm-2009q1/arm-none-linux-gnueabi or /srv/preware/cross-compile/staging/mapping-armv7 ????
export PATH=$PATH:$JDK_DIR/bin
export BuildDir=$MEHOME/javacall-com/configuration/phoneMEFeature/win32_x86
export JAVACALL_DIR=$MEHOME/javacall
export JAVACALL_PROJECT_DIR=$MEHOME/javacall-com
export JAVACALL_OUTPUT_DIR=$MEHOME/javacall-com
export PCSL_OUTPUT_DIR=$MEHOME/output/pcsl
export PCSL_PLATFORM=linux_arm_gcc
export NETWORK_MODULE=bsd/generic
export ENABLE_PCSL=true
export ENABLE_ISOLATES=true
export JVMWorkSpace=$MEHOME/cldc
export JVMBuildSpace=$MEHOME/output/cldc
export MIDP_OUTPUT_DIR=$MEHOME/output/midp
export CLDC_DIST_DIR=$MEHOME/output/cldc/linux_arm/dist
export TOOLS_DIR=$MEHOME/tools
export TARGET_CPU=arm
export USE_MULTIPLE_ISOLATES=true

Compiling phoneME Advanced for webOS

  • Start by: host# cd phoneme_advanced-mr2-dev-b167/pcsl
  • To build PCSL: host# make NETWORK_MODULE=$NETWORK_MODULE PCSL_PLATFORM=$PCSL_PLATFORM GNU_TOOLS_DIR=$SB2
  • Then: host# cd phoneme_advanced-mr2-dev-b167/cldc/build/linux_arm
  • To build CLDC: host# make ENABLE_PCSL=$ENABLE_PCSL PCSL_OUTPUT_DIR=$PCSL_OUTPUT_DIR ENABLE_ISOLATES=$ENABLE_ISOLATES GNU_TOOLS_DIR=$SB2
  • Then: host# cd phoneme_advanced-mr2-dev-b167/midp/build/linux_fb_gcc
  • To build MIDP: host# make PCSL_OUTPUT_DIR=$PCSL_OUTPUT_DIR CLDC_DIST_DIR=$CLDC_DIST_DIR TOOLS_DIR=$TOOLS_DIR TARGET_CPU=$TARGET_CPU USE_MULTIPLE_ISOLATES=$USE_MULTIPLE_ISOLATES GNU_TOOLS_DIR=$SB2

Links used to do the webOS port