From 112f0a4352b46a805c466ffebd664cfc9f64872d Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Thu, 26 Jun 2008 23:51:12 +0000 Subject: Add a new cacao revision and add support for changed configure options (new in 0.99) cacao: Cleanup and new recipe. * removed the need for the 'libdir' patches and simplified cacao.inc * removed those patches * added with-build-java-library-classes patch (applied upstream already) * usage of changed configure options cacao 0.98+hg20080519: Simplified. * adjusted with-build-java-library-classes patch for this version * increased PR cacao 0.99.1: New recipe. cacaoh-native: * usage of changed configure options cacaoh-native 0.98+hg20080519: Simplified. cacaoh-native 0.99.1: New recipe. --- packages/cacao/cacao.inc | 33 ++++++----- packages/cacao/cacao_0.98+hg20071001.bb | 3 +- packages/cacao/cacao_0.98+hg20080519.bb | 17 +----- packages/cacao/cacao_0.99.1.bb | 14 +++++ packages/cacao/cacaoh-native.inc | 12 ++-- packages/cacao/cacaoh-native_0.98+hg20071001.bb | 2 + packages/cacao/cacaoh-native_0.98+hg20080519.bb | 8 +-- packages/cacao/cacaoh-native_0.99.1.bb | 5 ++ ...080519-build-java-runtime-library-classes.patch | 53 +++++++++++++++++ packages/cacao/files/cacao-0.98+svn-libdir.diff | 30 ---------- .../files/cacao-hg20080519-classpath_var.patch | 67 ---------------------- packages/cacao/files/cacao-hg20080519-libdir.patch | 30 ---------- 12 files changed, 103 insertions(+), 171 deletions(-) create mode 100644 packages/cacao/cacao_0.99.1.bb create mode 100644 packages/cacao/cacaoh-native_0.99.1.bb create mode 100644 packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch delete mode 100644 packages/cacao/files/cacao-0.98+svn-libdir.diff delete mode 100644 packages/cacao/files/cacao-hg20080519-classpath_var.patch delete mode 100644 packages/cacao/files/cacao-hg20080519-libdir.patch (limited to 'packages/cacao') diff --git a/packages/cacao/cacao.inc b/packages/cacao/cacao.inc index 0d2b4c7ae1..e08cd5ec80 100644 --- a/packages/cacao/cacao.inc +++ b/packages/cacao/cacao.inc @@ -15,17 +15,33 @@ RPROVIDES_cacao = "java2-runtime" inherit java autotools update-alternatives +# Old and new options do not interfere. EXTRA_OECONF = "\ ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \ --enable-debug \ + --with-vm-zip=${datadir}/cacao/vm.zip \ --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-${PV} \ + ${OLD_CACAO_OECONF} \ + ${NEW_CACAO_OECONF} \ + " + +# Options needed for Cacao < 0.99 (including hg snapshots) +OLD_CACAO_OECONF = "\ --with-classpath-includedir=${STAGING_INCDIR}/classpath \ --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \ --with-target-classpath-classes=${datadir}/classpath/glibj.zip \ - --with-vm-zip=${datadir}/cacao/vm.zip \ - --with-classpath-libdir=${libdir} \ + --with-classpath-libdir=${libdir_jni}:${libdir} \ " +# Options needed for Cacao >= 0.99 +NEW_CACAO_OECONF = "\ + --with-build-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \ + --with-java-runtime-library-classes=${datadir}/classpath/glibj.zip \ + --with-java-runtime-library-libdir=${libdir_jni}:${libdir} \ + --with-jni_md_h=${STAGING_INCDIR}/classpath \ + --with-jni_h=${STAGING_INCDIR}/classpath \ + " + PACKAGES = "${PN} ${PN}-doc ${PN}-dbg" FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}" @@ -36,16 +52,3 @@ ALTERNATIVE_NAME = "java" ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}" ALTERNATIVE_PATH = "${bindir}/cacao" ALTERNATIVE_PRIORITY = "10" - -do_configure_prepend() { - # Replaces the placeholder OE_LIBDIR_JNI with the JNI library directory - # configured in OE. - if [ -e src/vm/properties.c ]; then - sed -i -e "s|OE_LIBDIR_JNI|${libdir_jni}|" src/vm/properties.c - fi - - if [ -e src/vm/properties.c ]; then - sed -i -e "s|OE_LIBDIR_JNI|${libdir_jni}|" src/vm/vm.c - fi -} - diff --git a/packages/cacao/cacao_0.98+hg20071001.bb b/packages/cacao/cacao_0.98+hg20071001.bb index 878827c28e..e897cfad41 100644 --- a/packages/cacao/cacao_0.98+hg20071001.bb +++ b/packages/cacao/cacao_0.98+hg20071001.bb @@ -1,10 +1,9 @@ require cacao.inc -PR = "r8" +PR = "r9" SRC_URI = "\ http://jalimo.evolvis.org/repository/sources/cacao-${PV}.tar.bz2;md5sum=9ff10c929bd0cbf15909107c1aff7518 \ - file://cacao-0.98+svn-libdir.diff;patch=1 \ file://cacao-0.98+svn-classpath_var.patch;patch=1 \ file://cacao-0.98+hg-arm-cacheflush-fix.patch;patch=1 \ file://cacao-0.98+hg-attachthread.patch;patch=1 \ diff --git a/packages/cacao/cacao_0.98+hg20080519.bb b/packages/cacao/cacao_0.98+hg20080519.bb index efe0fbb898..81ff1c2879 100644 --- a/packages/cacao/cacao_0.98+hg20080519.bb +++ b/packages/cacao/cacao_0.98+hg20080519.bb @@ -1,24 +1,11 @@ require cacao.inc -PR = "r0" +PR = "r1" SRC_URI = "http://downloads.openmoko.org/sources/cacao-0.98+hg20080519.tar.gz;md5sum=1c6e0530be63ec8a4c0ab2935c2fdc8f \ - file://cacao-hg20080519-classpath_var.patch;patch=1 \ - file://cacao-hg20080519-libdir.patch;patch=1 \ + file://cacao-${PV}-build-java-runtime-library-classes.patch;patch=1 \ \ " S = "${WORKDIR}/cacao" -EXTRA_OECONF = "\ - ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \ - --enable-debug \ - --with-vm-zip=${datadir}/cacao/vm.zip \ - --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-${PV} \ - --with-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \ - --with-target-java-runtime-library-classes=${datadir}/classpath/glibj.zip \ - --with-java-runtime-library-libdir=${libdir} \ - --with-jni_md_h=${STAGING_INCDIR}/classpath \ - --with-jni_h=${STAGING_INCDIR}/classpath \ - " - DEFAULT_PREFERENCE = "-1" diff --git a/packages/cacao/cacao_0.99.1.bb b/packages/cacao/cacao_0.99.1.bb new file mode 100644 index 0000000000..a503c7d3d4 --- /dev/null +++ b/packages/cacao/cacao_0.99.1.bb @@ -0,0 +1,14 @@ +require cacao.inc + +PR = "r0" + +SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=a5641452c7ba173060c99ed700950b3d \ + file://cacao-${PV}-build-java-runtime-library-classes.patch;patch=1 \ + " + +# Quirks for Nokia N800: +# - with mfloat-abi=softfp the runtime fails to run anything +# - without --enable-softfloat it cannot find files within Jars +TARGET_CC_ARCH_nokia800 = "-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=soft" + +EXTRA_OECONF_append_nokia800 = "--enable-softfloat" diff --git a/packages/cacao/cacaoh-native.inc b/packages/cacao/cacaoh-native.inc index 3e7fdd60c6..3dfc7b1b98 100644 --- a/packages/cacao/cacaoh-native.inc +++ b/packages/cacao/cacaoh-native.inc @@ -6,14 +6,16 @@ DEPENDS = "libtool-native zlib-native virtual/javac-native classpath-native" S = "${WORKDIR}/cacao-${PV}" -PR = "r1" - inherit autotools native EXTRA_OECONF = " \ - --with-classpath-includedir=${STAGING_INCDIR}/classpath \ - --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \ - " + --with-classpath-includedir=${STAGING_INCDIR}/classpath \ + --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \ + \ + --with-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \ + --with-jni_md_h=${STAGING_INCDIR}/classpath \ + --with-jni_h=${STAGING_INCDIR}/classpath \ + " do_compile() { # Compile the header generator only (and what is needed for it). diff --git a/packages/cacao/cacaoh-native_0.98+hg20071001.bb b/packages/cacao/cacaoh-native_0.98+hg20071001.bb index cb552df827..75f5a306f4 100644 --- a/packages/cacao/cacaoh-native_0.98+hg20071001.bb +++ b/packages/cacao/cacaoh-native_0.98+hg20071001.bb @@ -1,5 +1,7 @@ require cacaoh-native.inc +PR = "r1" + SRC_URI = "http://jalimo.evolvis.org/repository/sources/cacao-${PV}.tar.bz2;md5sum=9ff10c929bd0cbf15909107c1aff7518" diff --git a/packages/cacao/cacaoh-native_0.98+hg20080519.bb b/packages/cacao/cacaoh-native_0.98+hg20080519.bb index 91880b20f9..7b930c4640 100644 --- a/packages/cacao/cacaoh-native_0.98+hg20080519.bb +++ b/packages/cacao/cacaoh-native_0.98+hg20080519.bb @@ -1,15 +1,9 @@ require cacaoh-native.inc -PR = "r0" +PR = "r1" SRC_URI = "http://downloads.openmoko.org/sources/cacao-0.98+hg20080519.tar.gz;md5sum=1c6e0530be63ec8a4c0ab2935c2fdc8f" S = "${WORKDIR}/cacao" -EXTRA_OECONF = " \ - --with-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \ - --with-jni_md_h=${STAGING_INCDIR}/classpath \ - --with-jni_h=${STAGING_INCDIR}/classpath \ - " - DEFAULT_PREFERENCE = "-1" diff --git a/packages/cacao/cacaoh-native_0.99.1.bb b/packages/cacao/cacaoh-native_0.99.1.bb new file mode 100644 index 0000000000..11735d4f31 --- /dev/null +++ b/packages/cacao/cacaoh-native_0.99.1.bb @@ -0,0 +1,5 @@ +require cacaoh-native.inc + +PR = "r0" + +SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=a5641452c7ba173060c99ed700950b3d" diff --git a/packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch b/packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch new file mode 100644 index 0000000000..7df1c480ea --- /dev/null +++ b/packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch @@ -0,0 +1,53 @@ +Index: cacao/configure.ac +=================================================================== +--- cacao.orig/configure.ac 2008-06-27 01:23:44.000000000 +0200 ++++ cacao/configure.ac 2008-06-27 01:24:02.000000000 +0200 +@@ -772,6 +772,7 @@ + + AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_PREFIX + AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_CLASSES ++AC_CHECK_WITH_BUILD_JAVA_RUNTIME_LIBRARY_CLASSES + + if test x"${ENABLE_JRE_LAYOUT}" = "xno"; then + AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR +Index: cacao/m4/java-runtime-library.m4 +=================================================================== +--- cacao.orig/m4/java-runtime-library.m4 2008-06-27 01:23:44.000000000 +0200 ++++ cacao/m4/java-runtime-library.m4 2008-06-27 01:24:02.000000000 +0200 +@@ -93,20 +93,32 @@ + AC_DEFINE_UNQUOTED([JAVA_RUNTIME_LIBRARY_CLASSES], "${JAVA_RUNTIME_LIBRARY_CLASSES}", [Java runtime library classes]) + AC_SUBST(JAVA_RUNTIME_LIBRARY_CLASSES) + ++dnl where are Java core library classes located at compilation time ++ ++AC_DEFUN([AC_CHECK_WITH_BUILD_JAVA_RUNTIME_LIBRARY_CLASSES],[ ++AC_MSG_CHECKING(where Java core library classes are located at compile time) ++AC_ARG_WITH([build-java-runtime-library-classes], ++ [AS_HELP_STRING(--with-build-java-runtime-library-classes=,path to Java core library classes (includes the name of the file and may be flat) [[default=${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip]])], ++ [BUILD_JAVA_RUNTIME_LIBRARY_CLASSES=${withval}], ++ [BUILD_JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip]) ++AC_MSG_RESULT(${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES}) ++AC_DEFINE_UNQUOTED([BUILD_JAVA_RUNTIME_LIBRARY_CLASSES], "${BUILD_JAVA_RUNTIME_LIBRARY_CLASSES}", [Java core library classes at compile time]) ++AC_SUBST(BUILD_JAVA_RUNTIME_LIBRARY_CLASSES) ++]) ++ + dnl define BOOTCLASSPATH for Makefiles + case "${WITH_JAVA_RUNTIME_LIBRARY}" in + cldc1.1 | gnuclasspath) +- BOOTCLASSPATH="\$(top_builddir)/src/classes/classes:\$(JAVA_RUNTIME_LIBRARY_CLASSES)" ++ BOOTCLASSPATH="\$(top_builddir)/src/classes/classes:\$(BUILD_JAVA_RUNTIME_LIBRARY_CLASSES)" + ;; + *) +- BOOTCLASSPATH="\$(JAVA_RUNTIME_LIBRARY_CLASSES)" ++ BOOTCLASSPATH="\$(BUILD_JAVA_RUNTIME_LIBRARY_CLASSES)" + ;; + esac + AC_SUBST(BOOTCLASSPATH) + ]) + +- +-dnl where are Java runtime library native libraries installed ++dnl where are Java runtime library native libraries installed (at compilation time) + + AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR],[ + AC_MSG_CHECKING(where Java runtime library native libraries are installed) diff --git a/packages/cacao/files/cacao-0.98+svn-libdir.diff b/packages/cacao/files/cacao-0.98+svn-libdir.diff deleted file mode 100644 index f5cf9ba5a1..0000000000 --- a/packages/cacao/files/cacao-0.98+svn-libdir.diff +++ /dev/null @@ -1,30 +0,0 @@ -Index: cacao-trunk/src/vm/properties.c -=================================================================== ---- cacao-trunk.orig/src/vm/properties.c 2007-08-31 13:20:41.000000000 +0200 -+++ cacao-trunk/src/vm/properties.c 2007-09-04 14:54:19.000000000 +0200 -@@ -210,15 +210,22 @@ - - # if defined(WITH_CLASSPATH_GNU) - -- boot_library_path = CLASSPATH_LIBDIR"/classpath"; -+ boot_library_path = CLASSPATH_LIBDIR"/classpath:OE_LIBDIR_JNI"; - - # elif defined(WITH_CLASSPATH_SUN) - -- boot_library_path = CLASSPATH_LIBDIR; -+ boot_library_path = CLASSPATH_LIBDIR":OE_LIBDIR_JNI"; - - # elif defined(WITH_CLASSPATH_CLDC1_1) - -- /* No boot_library_path required. */ -+ /* No boot_library_path required. -+ Well, don't be that strict on Debian-like -+ environments. Setting this to /usr/lib/jni -+ makes it unneccessary to fumble with -+ LD_LIBRARY_PATH to get things like MIDPath -+ running. -+ */ -+ boot_library_path = "OE_LIBDIR_JNI"; - - # else - # error unknown classpath configuration diff --git a/packages/cacao/files/cacao-hg20080519-classpath_var.patch b/packages/cacao/files/cacao-hg20080519-classpath_var.patch deleted file mode 100644 index a3e39e0062..0000000000 --- a/packages/cacao/files/cacao-hg20080519-classpath_var.patch +++ /dev/null @@ -1,67 +0,0 @@ -Index: cacao/configure.ac -=================================================================== ---- cacao.orig/configure.ac 2008-05-21 14:16:33.000000000 +0800 -+++ cacao/configure.ac 2008-05-21 15:57:42.000000000 +0800 -@@ -772,6 +772,7 @@ - - AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_PREFIX - AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_CLASSES -+AC_CHECK_WITH_TARGET_JAVA_RUNTIME_LIBRARY_CLASSES - - if test x"${ENABLE_JRE_LAYOUT}" = "xno"; then - AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR -Index: cacao/m4/java-runtime-library.m4 -=================================================================== ---- cacao.orig/m4/java-runtime-library.m4 2008-05-21 14:16:34.000000000 +0800 -+++ cacao/m4/java-runtime-library.m4 2008-05-21 16:18:23.000000000 +0800 -@@ -106,6 +106,29 @@ - ]) - - -+dnl where are Java runtime library classes installed on the target -+ -+AC_DEFUN([AC_CHECK_WITH_TARGET_JAVA_RUNTIME_LIBRARY_CLASSES],[ -+AC_MSG_CHECKING(where Java runtime library classes are installed on the target) -+AC_ARG_WITH([target-java-runtime-library-classes], -+ [AS_HELP_STRING(--with-target-java-runtime-library-classes=,path to Java runtime library classes (includes the name of the file and may be flat) [[default=(gnuclasspath:${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip,openjdk:${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes,*:${JAVA_RUNTIME_LIBRARY_PREFIX})]])], -+ [TARGET_JAVA_RUNTIME_LIBRARY_CLASSES=${withval}], -+ [case "${WITH_JAVA_RUNTIME_LIBRARY}" in -+ gnuclasspath) -+ TARGET_JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}/share/classpath/glibj.zip -+ ;; -+ openjdk) -+ TARGET_JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX}/control/build/${OS_DIR}-${JAVA_ARCH}/classes -+ ;; -+ *) -+ TARGET_JAVA_RUNTIME_LIBRARY_CLASSES=${JAVA_RUNTIME_LIBRARY_PREFIX} -+ ;; -+ esac]) -+AC_MSG_RESULT(${TARGET_JAVA_RUNTIME_LIBRARY_CLASSES}) -+AC_DEFINE_UNQUOTED([TARGET_JAVA_RUNTIME_LIBRARY_CLASSES], "${TARGET_JAVA_RUNTIME_LIBRARY_CLASSES}", [Java runtime library classes on the target]) -+AC_SUBST(TARGET_JAVA_RUNTIME_LIBRARY_CLASSES) -+]) -+ - dnl where are Java runtime library native libraries installed - - AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY_LIBDIR],[ -Index: cacao/src/vm/properties.c -=================================================================== ---- cacao.orig/src/vm/properties.c 2008-05-21 14:16:34.000000000 +0800 -+++ cacao/src/vm/properties.c 2008-05-21 16:16:24.000000000 +0800 -@@ -295,14 +295,14 @@ - len = - strlen(CACAO_VM_ZIP) + - strlen(":") + -- strlen(JAVA_RUNTIME_LIBRARY_CLASSES) + -+ strlen(TARGET_JAVA_RUNTIME_LIBRARY_CLASSES) + - strlen("0"); - - boot_class_path = MNEW(char, len); - - strcpy(boot_class_path, CACAO_VM_ZIP); - strcat(boot_class_path, ":"); -- strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_CLASSES); -+ strcat(boot_class_path, TARGET_JAVA_RUNTIME_LIBRARY_CLASSES); - - # elif defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK) - diff --git a/packages/cacao/files/cacao-hg20080519-libdir.patch b/packages/cacao/files/cacao-hg20080519-libdir.patch deleted file mode 100644 index 1be13b3cfd..0000000000 --- a/packages/cacao/files/cacao-hg20080519-libdir.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: cacao/src/vm/properties.c -=================================================================== ---- cacao.orig/src/vm/properties.c 2008-05-21 15:26:21.000000000 +0800 -+++ cacao/src/vm/properties.c 2008-05-21 15:28:59.000000000 +0800 -@@ -211,15 +211,22 @@ - - # if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH) - -- boot_library_path = JAVA_RUNTIME_LIBRARY_LIBDIR"/classpath"; -+ boot_library_path = JAVA_RUNTIME_LIBRARY_LIBDIR"/classpath:OE_LIBDIR_JNI"; - - # elif defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK) - -- boot_library_path = JAVA_RUNTIME_LIBRARY_LIBDIR; -+ boot_library_path = JAVA_RUNTIME_LIBRARY_LIBDIR":OE_LIBDIR_JNI"; - - # elif defined(WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1) - -- /* No boot_library_path required. */ -+ /* No boot_library_path required. -+ Well, don't be that strict on Debian-like -+ environments. Setting this to /usr/lib/jni -+ makes it unneccessary to fumble with -+ LD_LIBRARY_PATH to get things like MIDPath -+ running. -+ */ -+ boot_library_path = "OE_LIBDIR_JNI"; - - # else - # error unknown classpath configuration -- cgit v1.2.3