Solaris/x86におけるMIDPアプリの開発環境の続き。
J2ME Wireless Toolkitに含まれるエミュレータとpreverifyがプラットフォーム依存なため、
結局Solarisでは動かない(SPARCもx86)と判断した。
ある意味Sun純正の開発環境なんだけど… orz
そこでさらに調べると、素のMIDP開発キットがあって
Solaris(SPARC), Linux(x86), Windowsで動作するらしい。
前述のJ2ME Wireless Toolkitはこの開発キットが前身で、
これを簡易IDE風にまとめたものらしい。
ならばこれをSolaris/x86用にビルドしてやろうか… というのが以下のメモ。
- J2ME CLDC 1.0.4 RIとJ2ME MIDP 2.0FCSを入手。
どちらもSolaris/SPARC版を選ぶ。 - 伸長
% unzip archive/j2me_cldc-1_0_4-src-winunix.zip
% unzip archive/midp-2_0-src-solaris-sparc.zip - パッチあて
% ln -s j2me_cldc kvm
% (cd j2me_cldc; gpatch -p0 -b -z .ORG < ../patch/j2me_cldc-1.0.4ri.patch)
% touch midp2.0fcs/build/solaris/dummy_ssl.c
% (cd midp2.0fcs; gpatch -p0 -b -z .ORG < ../patch/midp2.0fcs.patch) - ビルド
% cd midp2.0fcs/build/solaris
% gmake - サンプルを実行
% bin/midp -classpath classes -descriptor games.jad
まあ、下のパッチを見ると分かるようにSSL関連の関数をダミーで置き換えていて、
相当あやしいシロモノである。
j2me_cldc-1.0.4ri.patch
--- ./api/Makefile.ORG Thu Nov 14 08:07:07 2002
+++ ./api/Makefile Sat Jul 1 17:46:51 2006
@@ -20,7 +20,7 @@
DEBUGFLAG=":none"
endif
-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
PREVERIFY = ../tools/preverifier/build/$(PLATFORM)/preverify
JAR = jar
--- ./tools/jcc/Makefile.ORG Thu Nov 14 08:07:09 2002
+++ ./tools/jcc/Makefile Sat Jul 1 17:43:27 2006
@@ -15,7 +15,7 @@
include $(TOP)/build/Makefile.inc
JAVA = java
-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
JAR = jar
JAVAFILES = $(shell find src -name "*.java"|grep -v SCCS)
--- ./tools/kdp/Makefile.ORG Thu Nov 14 08:07:10 2002
+++ ./tools/kdp/Makefile Sat Jul 1 17:43:27 2006
@@ -14,7 +14,7 @@
all: tools
JAVA = java
-JAVAC = javac
+JAVAC = javac -source 1.4 -encoding ISO-8859-1
JAR = jar
JAVAFILES = $(shell find src -name "*.java"|grep -v SCCS)
midp2.0fcs.patch
--- ./build/share/makefiles/Defs.gmk.ORG Fri Nov 8 06:02:05 2002
+++ ./build/share/makefiles/Defs.gmk Sat Jul 1 17:36:03 2006
@@ -156,7 +156,7 @@
#
JAR = $(BOOTDIR)/bin/jar$(EXE)
JAVA = $(BOOTDIR)/bin/java$(EXE)
-JAVAC = $(BOOTDIR)/bin/javac$(EXE)
+JAVAC = $(BOOTDIR)/bin/javac$(EXE) -source 1.3 -encoding ISO-8859-1
JAVADOC = $(BOOTDIR)/bin/javadoc$(EXE)
# MIDP tools
@@ -304,7 +304,9 @@
PLATFORM_OBJ_FILES += $(patsubst %.rc,$(OBJ_DIR)/%.res,$(filter %.rc, $(PLATFORM_SRC_FILES)))
SSL_OBJ_DIR = ssl_obj$(g)$(ARCH_DIR)
-SSL_SRC_FILES = nativecrypto.c MD5.c SHA.c bnlib.c MD2.c messagedigest.c
+#SSL_SRC_FILES = nativecrypto.c MD5.c SHA.c bnlib.c MD2.c messagedigest.c
+#SSL_OBJ_FILES = $(patsubst %.c,$(SSL_OBJ_DIR)/%.o,$(SSL_SRC_FILES))
+SSL_SRC_FILES = dummy_ssl.c
SSL_OBJ_FILES = $(patsubst %.c,$(SSL_OBJ_DIR)/%.o,$(SSL_SRC_FILES))
# generate OBJ_FILES list; we need to sort the files due to a linker
--- ./build/solaris/makefiles/Defs-pre.gmk.ORG Fri Nov 8 06:02:07 2002
+++ ./build/solaris/makefiles/Defs-pre.gmk Sat Jul 1 14:34:19 2006
@@ -76,6 +76,7 @@
endif
ifeq ($(ARCH), i386)
_BOOTDIR = /usr/local/java/jdk1.3/x86
+_BOOTDIR = /usr/java
endif
# Uncomment the following definition if you want to build both Solaris/x86
--- ./build/solaris/dummy_ssl.c.ORG Sat Jul 1 17:36:48 2006
+++ ./build/solaris/dummy_ssl.c Sat Jul 1 17:36:48 2006
@@ -1,0 +1,8 @@
+void Java_com_sun_midp_ssl_Alg2_modExp(void) {}
+void Java_com_sun_midp_ssl_Alg3_nativetx(void) {}
+void Java_com_sun_midp_ssl_MD5_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_MD5_nativeFinal(void) {}
+void Java_com_sun_midp_ssl_MD2_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_MD2_nativeFinal(void) {}
+void Java_com_sun_midp_ssl_SHA_nativeUpdate(void) {}
+void Java_com_sun_midp_ssl_SHA_nativeFinal(void) {}
0 件のコメント:
コメントを投稿