diff options
Diffstat (limited to 'recipes/phoneme')
-rw-r--r-- | recipes/phoneme/files/b87-makefile-fix.patch | 144 | ||||
-rw-r--r-- | recipes/phoneme/phoneme-advanced-foundation_0.0.b87.bb | 28 | ||||
-rw-r--r-- | recipes/phoneme/phoneme-advanced-personal-qt3_0.0.b87.bb | 44 | ||||
-rw-r--r-- | recipes/phoneme/phoneme-advanced.inc | 160 |
4 files changed, 376 insertions, 0 deletions
diff --git a/recipes/phoneme/files/b87-makefile-fix.patch b/recipes/phoneme/files/b87-makefile-fix.patch new file mode 100644 index 0000000000..5181087f6f --- /dev/null +++ b/recipes/phoneme/files/b87-makefile-fix.patch @@ -0,0 +1,144 @@ +Index: cdc/build/share/rules_zoneinfo.mk +=================================================================== +--- cdc.orig/build/share/rules_zoneinfo.mk 2008-09-17 17:38:44.424243663 +0200 ++++ cdc/build/share/rules_zoneinfo.mk 2008-09-17 17:46:13.900243700 +0200 +@@ -45,7 +45,7 @@ + .compile.classlist: + $(AT)if [ -s $(ZONEINFO_CLASSES_DIR)/.classes.list ] ; then \ + echo "Compiling zic classes... "; \ +- $(JAVAC_CMD) \ ++ $(JAVAC_CMD) -sourcepath $(CVM_SHAREROOT)/classes \ + -d $(ZONEINFO_CLASSES_DIR) \ + @$(ZONEINFO_CLASSES_DIR)/.classes.list ; \ + fi +Index: cdc/build/share/jcc.mk +=================================================================== +--- cdc.orig/build/share/jcc.mk 2008-09-17 17:38:44.664243074 +0200 ++++ cdc/build/share/jcc.mk 2008-09-17 17:46:13.900243700 +0200 +@@ -93,7 +93,7 @@ + $(CVM_JCC_SRCPATH)/JCCMessage.properties + @echo "... $@" + $(AT)CLASSPATH=$(CVM_JCC_SRCPATH); export CLASSPATH; \ +- $(CVM_JAVAC) $(JAVAC_OPTIONS) -d $(CVM_JCC_CLASSPATH) \ ++ $(CVM_JAVAC) $(JAVAC_OPTIONS) -sourcepath $(CVM_JCC_SRCPATH) -d $(CVM_JCC_CLASSPATH) \ + $(subst /,$(CVM_FILESEP),$(CVM_JCC_SRCPATH)/GenOpcodes.java) + $(AT)rm -f $(CVM_JCC_CLASSPATH)/JCCMessage.properties; \ + cp $(CVM_JCC_SRCPATH)/JCCMessage.properties $(CVM_JCC_CLASSPATH)/JCCMessage.properties +@@ -252,7 +252,7 @@ + $(CVM_JCC_SRCPATH)/JCCMessage.properties + @echo "... $@" + @CLASSPATH=$(CVM_JCC_CLASSPATH)$(PS)$(CVM_JCC_SRCPATH)$(PS)$(CVM_DERIVEDROOT)/javavm/runtime; export CLASSPATH; \ +- $(CVM_JAVAC) $(JAVAC_OPTIONS) -d $(CVM_JCC_CLASSPATH) \ ++ $(CVM_JAVAC) $(JAVAC_OPTIONS) -classpath $(CVM_JCC_CLASSPATH)$(PS)$(CVM_JCC_SRCPATH)$(PS)$(CVM_DERIVEDROOT)/javavm/runtime -d $(CVM_JCC_CLASSPATH) \ + $(CVM_JCC_CLASSES) + @rm -f $(CVM_JCC_CLASSPATH)/JCCMessage.properties; \ + cp $(CVM_JCC_SRCPATH)/JCCMessage.properties $(CVM_JCC_CLASSPATH)/JCCMessage.properties +Index: cdc/build/share/defs.mk +=================================================================== +--- cdc.orig/build/share/defs.mk 2008-09-17 17:38:44.324242543 +0200 ++++ cdc/build/share/defs.mk 2008-09-17 17:46:13.923263871 +0200 +@@ -1205,7 +1205,7 @@ + BUNDLE_VERSION = $(subst -,_,$(J2ME_BUILD_VERSION_STRING)) + BUNDLE_TARGET = $(subst -,_,$(CVM_TARGET)) + +-BINARY_BUNDLE_NAME = \ ++BINARY_BUNDLE_NAME ?= \ + $(BUNDLE_PRODUCT_NAME)-$(BUNDLE_VERSION)-$(BUNDLE_TARGET)-bin + BINARY_BUNDLE_DIRNAME = $(BINARY_BUNDLE_NAME) + +@@ -2193,11 +2193,11 @@ + + # Note, ALL_INCLUDE_FLAGS flags is setup in rules.mk so + # abs2rel only needs to be called on it once. +-CPPFLAGS += $(CVM_DEFINES) $(ALL_INCLUDE_FLAGS) +-CFLAGS_SPEED = $(CFLAGS) $(CCFLAGS_SPEED) $(CPPFLAGS) +-CFLAGS_SPACE = $(CFLAGS) $(CCFLAGS_SPACE) $(CPPFLAGS) +-CFLAGS_LOOP = $(CFLAGS) $(CCFLAGS_LOOP) $(CPPFLAGS) +-CFLAGS_FDLIB = $(CFLAGS) $(CCFLAGS_FDLIB) $(CPPFLAGS) ++CVM_CPPFLAGS += $(CVM_DEFINES) $(ALL_INCLUDE_FLAGS) ++CFLAGS_SPEED = $(CFLAGS) $(CCFLAGS_SPEED) $(CVM_CPPFLAGS) ++CFLAGS_SPACE = $(CFLAGS) $(CCFLAGS_SPACE) $(CVM_CPPFLAGS) ++CFLAGS_LOOP = $(CFLAGS) $(CCFLAGS_LOOP) $(CVM_CPPFLAGS) ++CFLAGS_FDLIB = $(CFLAGS) $(CCFLAGS_FDLIB) $(CVM_CPPFLAGS) + CFLAGS_JCS = + + LINKFLAGS += -g -Wl,-export-dynamic $(LINK_ARCH_FLAGS) +@@ -2205,13 +2205,13 @@ + LINKLIBS_JCS += + + SO_CCFLAGS = $(CCFLAGS_SPEED) +-SO_CFLAGS = $(CFLAGS) $(SO_CCFLAGS) $(CPPFLAGS) ++SO_CFLAGS = $(CFLAGS) $(SO_CCFLAGS) $(CVM_CPPFLAGS) + SO_LINKFLAGS = $(LINKFLAGS) -shared + + # + # commands for running the tools + # +-ASM_CMD = $(AT)$(TARGET_AS) $(ASM_FLAGS) -D_ASM $(CPPFLAGS) \ ++ASM_CMD = $(AT)$(TARGET_AS) $(ASM_FLAGS) -D_ASM $(CVM_CPPFLAGS) \ + -o $@ $(call abs2rel,$<) + + # compileCCC(flags, objfile, srcfiles) +Index: cdc/build/share/rules.mk +=================================================================== +--- cdc.orig/build/share/rules.mk 2008-09-17 17:38:44.636242663 +0200 ++++ cdc/build/share/rules.mk 2008-09-17 17:46:13.947252841 +0200 +@@ -520,7 +520,7 @@ + # As a performance improvement, evaluate some flags in case + # they contain shell commands. + # FIXME: Disabled because this causes GCI build failures +-#$(J2ME_CLASSLIB):: CPPFLAGS := $(CPPFLAGS) ++#$(J2ME_CLASSLIB):: CVM_CPPFLAGS := $(CVM_CPPFLAGS) + + $(J2ME_CLASSLIB):: initbuild + $(J2ME_CLASSLIB):: btclasses $(CVM_BUILDTIME_CLASSESZIP) +@@ -709,14 +709,14 @@ + # command to use to generate dependency makefiles if requested + ifeq ($(GENERATEMAKEFILES), true) + GENERATEMAKEFILES_CMD = \ +- @$(TARGET_CC) $(CCDEPEND) $(CC_ARCH_FLAGS) $(CPPFLAGS) $< \ ++ @$(TARGET_CC) $(CCDEPEND) $(CC_ARCH_FLAGS) $(CVM_CPPFLAGS) $< \ + 2> /dev/null | sed 's!$*\.o!$(dir $@)&!g' > $(@:.o=.d) + endif + + # command to use to generate stack map analysis files if requested + ifeq ($(CVM_CSTACKANALYSIS), true) + CSTACKANALYSIS_CMD = \ +- $(AT)$(TARGET_CC) -S $(CCFLAGS) $(CPPFLAGS) -o $(@:.o=.asm) $< ++ $(AT)$(TARGET_CC) -S $(CCFLAGS) $(CVM_CPPFLAGS) -o $(@:.o=.asm) $< + endif + + # +@@ -752,7 +752,7 @@ + @echo "as $<" + $(ASM_CMD) + ifeq ($(GENERATEMAKEFILES), true) +- @$(TARGET_CC) $(ASM_ARCH_FLAGS) $(CCDEPEND) $(CPPFLAGS) $< \ ++ @$(TARGET_CC) $(ASM_ARCH_FLAGS) $(CCDEPEND) $(CVM_CPPFLAGS) $< \ + 2> /dev/null | sed 's!$*\.o!$(dir $@)&!g' > $(@:.o=.d) + endif + ifeq ($(CVM_CSTACKANALYSIS), true) +@@ -773,7 +773,7 @@ + @echo "cc $<" + $(CC_CMD_FDLIB) + ifeq ($(GENERATEMAKEFILES), true) +- @$(TARGET_CC) $(CC_ARCH_FLAGS) $(CCDEPEND) $(CPPFLAGS) $< \ ++ @$(TARGET_CC) $(CC_ARCH_FLAGS) $(CCDEPEND) $(CVM_CPPFLAGS) $< \ + 2> /dev/null | sed 's!$*\.o!$(dir $@)&!g' > $(@:.o=.d) + endif + +Index: cdc/src/linux-arm/javavm/runtime/segvhandler_arch.c +=================================================================== +--- cdc.orig/src/linux-arm/javavm/runtime/segvhandler_arch.c 2008-09-17 17:41:08.367553837 +0200 ++++ cdc/src/linux-arm/javavm/runtime/segvhandler_arch.c 2008-09-17 17:46:13.963253086 +0200 +@@ -41,8 +41,8 @@ + #include <dlfcn.h> + #include <stddef.h> + /* avoid conflicting ucontext definitions */ +-#define ucontext asm_ucontext +-#include <asm/ucontext.h> ++/*#define ucontext asm_ucontext*/ ++#include <ucontext.h> + #include <unistd.h> + + #define MAXSIGNUM 32 diff --git a/recipes/phoneme/phoneme-advanced-foundation_0.0.b87.bb b/recipes/phoneme/phoneme-advanced-foundation_0.0.b87.bb new file mode 100644 index 0000000000..7348e87ca3 --- /dev/null +++ b/recipes/phoneme/phoneme-advanced-foundation_0.0.b87.bb @@ -0,0 +1,28 @@ +PR = "r1" + +require phoneme-advanced.inc + +BUILDREV = "b87" +SRCREV = "13783" + +SRC_URI += "file://${BUILDREV}-makefile-fix.patch;patch=1;pnum=0" + +FILES_${PN} += "\ + ${COMMON_DIR}/bin/cvm \ + ${COMMON_DIR}/lib/btclasses.zip \ + ${COMMON_DIR}/lib/content-types.properties \ + ${COMMON_DIR}/lib/foundation.jar \ + ${COMMON_DIR}/lib/security/java.security \ + ${COMMON_DIR}/lib/security/java.policy \ + ${COMMON_DIR}/lib/zi/Asia/Novosibirsk \ + ${COMMON_DIR}/lib/zi/Asia/Calcutta \ + ${COMMON_DIR}/lib/zi/ZoneInfoMappings \ + ${COMMON_DIR}/lib/zi/GMT \ + ${COMMON_DIR}/lib/zi/America/Los_Angeles \ + ${COMMON_DIR}/democlasses.jar \ + ${COMMON_DIR}/testclasses.zip \ + ${COMMON_DIR}/legal/license.txt \ + ${COMMON_DIR}/legal/thirdpartylicensereadme.txt \ + ${COMMON_DIR}/legal/copyright.txt \ +" + diff --git a/recipes/phoneme/phoneme-advanced-personal-qt3_0.0.b87.bb b/recipes/phoneme/phoneme-advanced-personal-qt3_0.0.b87.bb new file mode 100644 index 0000000000..675d7b7b9a --- /dev/null +++ b/recipes/phoneme/phoneme-advanced-personal-qt3_0.0.b87.bb @@ -0,0 +1,44 @@ +PR = "r1" + +require phoneme-advanced.inc + +BUILDREV = "b87" +SRCREV = "13783" + +SRC_URI += "file://${BUILDREV}-makefile-fix.patch;patch=1;pnum=0" + +FILES_${PN} += "\ + ${COMMON_DIR}/bin/cvm \ + ${COMMON_DIR}/lib/btclasses.zip \ + ${COMMON_DIR}${COMMON_DIR}/lib/content-types.properties \ + ${COMMON_DIR}/lib/libawtjpeg.so \ + ${COMMON_DIR}/lib/libqtawt.so \ + ${COMMON_DIR}/lib/personal.jar \ + ${COMMON_DIR}/lib/security/java.security \ + ${COMMON_DIR}/lib/security/java.policy \ + ${COMMON_DIR}/lib/zi/Asia/Novosibirsk \ + ${COMMON_DIR}/lib/zi/Asia/Calcutta \ + ${COMMON_DIR}/lib/zi/ZoneInfoMappings \ + ${COMMON_DIR}/lib/zi/GMT \ + ${COMMON_DIR}/lib/zi/America/Los_Angeles \ + ${COMMON_DIR}/democlasses.jar \ + ${COMMON_DIR}/testclasses.zip \ + ${COMMON_DIR}/legal/license.txt \ + ${COMMON_DIR}/legal/thirdpartylicensereadme.txt \ + ${COMMON_DIR}/legal/copyright.txt \ + " + +DEPENDS += "uicmoc3-native qt-x11-free" + +PME_PROFILE = "personal" + +oe_phoneme_configbase() { + pmo CVM_DEBUG false + pmo CVM_JIT true + + pmo AWT_PEERSET qt + pmo QTDIR "${STAGING_DIR_HOST}/qt3" + pmo QT_TARGET_DIR "${STAGING_DIR_HOST}/qt3" + pmo X11_LIB_DIR "${STAGING_LIBDIR}" + pmo MOC "${STAGING_DIR_HOST}/qt3/bin/moc" +} diff --git a/recipes/phoneme/phoneme-advanced.inc b/recipes/phoneme/phoneme-advanced.inc new file mode 100644 index 0000000000..a74bc04504 --- /dev/null +++ b/recipes/phoneme/phoneme-advanced.inc @@ -0,0 +1,160 @@ +DESCRIPTION = "A free CDC JavaVM and class library from Sun Microsystems." +LICENSE = "GPLv2" +HOMEPAGE = "https://phoneme.dev.java.net" +AUTHOR = "Sun Microsystems, Inc." + +DEPENDS = "classpath-tools-native virtual/javac-native linux-libc-headers" + +inherit java update-alternatives + +# The PhoneME Advanced build system is documented here: http://java.sun.com/javame/reference/docs/cdc_build_system.pdf +# NOTE: We need to provide an empty password. pswd='' seems not to be the correct way. +SRC_URI = "\ + svn://guest:''@phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=cdc;proto=https;localdir=cdc \ + svn://guest:''@phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=tools;proto=https;localdir=tools \ + svn://guest:''@phoneme.dev.java.net/svn/phoneme;module=legal;localdir=legal;proto=https \ + " + +PROVIDES = "virtual/java-cdc java-cdc-runtime" +PRIORITY = "optional" +SECTION = "interpreters" + +# PhoneME builds currently cannot be parallel +PARALLEL_MAKE = "" + +S = "${WORKDIR}" + +BUILDREV = ${@bb.fatal('BUILDREV is not defined in this phoneme-advanced recipe!')} +SRCREV = ${@bb.fatal('SRCREV is not defined in this phoneme-advanced recipe!')} + +COMMON_DIR = "${libdir_jvm}/${PN}" + +PME_PROFILE ?= "foundation" + +do_compile() { + set_arch + oe_runmake -C cdc/build/linux-$ARCH-generic bin +} + +do_install() { + install -d ${D}/${libdir_jvm} + + unzip cdc/install/${PN}.zip -d ${D}/${libdir_jvm} + + # Additional link named cvm-${PME_PROFILE} + install -d ${D}/${bindir} + ln -sf ${libdir_jvm}/${PN}/bin/cvm ${D}${bindir}/cvm-${PME_PROFILE} +} + +do_configure() { + set_arch + test ! -d cdc/build/linux-$ARCH-generic && mkdir -p cdc/build/linux-$ARCH-generic + cd cdc/build/linux-$ARCH-generic + + echo "Configuring PhoneME Advanced build" + pmo_start J2ME_CLASSLIB ${PME_PROFILE} + + # Dispatch to arch-specific functions. + oe_phoneme_config$ARCH + + oe_phoneme_configbase + + pmo "# Misc locations and file names." + pmo BINARY_BUNDLE_NAME ${PN} + pmo BINARY_BUNDLE_APPEND_REVISION false + pmo JAVAME_LEGAL_DIR ${WORKDIR}/legal + + pmo "# Java toolchain binaries" + pmo JDK_HOME /dev/null + pmo CVM_TARGET_TOOLS_PREFIX ${CROSS_DIR}/bin/ + pmo CVM_JAVA java + pmo CVM_JAVAC javac + pmo CVM_JAVADOC true + pmo CVM_JAVAH gjavah + pmo CVM_JAR gjar + pmo CVM_INCLUDE_DIR ${STAGING_INCDIR}/classpath + + pmo JAVAC_OPTIONS -nowarn + + pmo "# Host C/C++ toolchain binaries" + pmo HOST_CC "${BUILD_CC}" + pmo HOST_CC_PATH "${BUILD_CC}" + pmo HOST_CCC "${BUILD_CXX}" + pmo HOST_PATH "${BUILD_CXX}" + pmo HOST_LD "${BUILD_LD}" + pmo HOST_RANLIB "${BUILD_RANLIB}" + + pmo "# C/C++ toolchain binaries" + pmo TARGET_CC "${CC}" + pmo TARGET_CC_PATH "${CC}" + pmo CCFLAGS "${CFLAGS}" + pmo TARGET_CCC "${CXX}" + pmo TARGET_PATH "${CXX}" + pmo CCCFLAGS "${CXXFLAGS}" + pmo TARGET_AR "${AR}" + pmo TARGET_LD "${CC}" + pmo TARGET_RANLIB "${RANLIB}" + + pmo USE_GCC2 false + + pmo "include ../share/top.mk" +} + +pmo_start() { + echo "$1 = $2" > GNUmakefile + echo "$1 = $2" +} + +pmo() { + if [ "$2" ] + then + echo "$1 = $2" >> GNUmakefile + echo "$1 = $2" + else + echo "$1" >> GNUmakefile + echo "$1" + fi +} + +set_arch() { + case ${TARGET_ARCH} in + arm*) ARCH=arm ;; + i*86*) ARCH=x86 ;; + mips*) ARCH=mips ;; + powerpc*) ARCH=powerpc ;; + sparc*) ARCH=sparc ;; + x86_64*) ARCH=x86 ;; + *) die "Sorry, your target architecture is not supported!" ;; + esac +} + +# Default non-arch specific configuration +oe_phoneme_configbase() { + pmo CVM_DEBUG false + pmo CVM_JIT true +} + +# Default arch specific configurations +oe_phoneme_configarm() { + tf=true + if [ Xoabi = X${ARM_ABI} ] + then + tf=false + fi + + pmo USE_AAPCS $tf +} + +oe_phoneme_configx86() { + # Taken from linux-x86-generic/GNUmakefile + pmo CVM_JIT_REGISTER_LOCALS false +} + +ALTERNATIVE_NAME = "java-cdc" +ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}" +ALTERNATIVE_PATH = "${libdir}/jvm/${PN}/bin/cvm" +ALTERNATIVE_PRIORITY = "10" + +FILES_${PN} = "${bindir}" +FILES_${PN}-dbg += "${COMMON_DIR}/bin/.debug/cvm" + |