summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/cacao/cacao.inc33
-rw-r--r--packages/cacao/cacao_0.98+hg20071001.bb3
-rw-r--r--packages/cacao/cacao_0.98+hg20080519.bb17
-rw-r--r--packages/cacao/cacao_0.99.1.bb14
-rw-r--r--packages/cacao/cacaoh-native.inc12
-rw-r--r--packages/cacao/cacaoh-native_0.98+hg20071001.bb2
-rw-r--r--packages/cacao/cacaoh-native_0.98+hg20080519.bb8
-rw-r--r--packages/cacao/cacaoh-native_0.99.1.bb5
-rw-r--r--packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch53
-rw-r--r--packages/cacao/files/cacao-0.98+svn-libdir.diff30
-rw-r--r--packages/cacao/files/cacao-hg20080519-classpath_var.patch67
-rw-r--r--packages/cacao/files/cacao-hg20080519-libdir.patch30
12 files changed, 103 insertions, 171 deletions
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>,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>,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