disapproval of revision 'ba3fd04d7fb91b031d23b8b8abdfd77186ece799'
authorRobert Schuster <thebohemian@gmx.net>
Thu, 26 Jun 2008 23:34:57 +0000 (23:34 +0000)
committerRobert Schuster <thebohemian@gmx.net>
Thu, 26 Jun 2008 23:34:57 +0000 (23:34 +0000)
packages/cacao/cacao.inc
packages/cacao/cacao_0.98+hg20071001.bb
packages/cacao/cacao_0.98+hg20080519.bb
packages/cacao/cacao_0.99.1.bb [deleted file]
packages/cacao/cacaoh-native.inc
packages/cacao/cacaoh-native_0.99.1.bb [deleted file]
packages/cacao/files/cacao-0.98+hg20080519-build-java-runtime-library-classes.patch [deleted file]
packages/cacao/files/cacao-0.98+svn-libdir.diff [new file with mode: 0644]
packages/cacao/files/cacao-0.99-build-java-runtime-library-classes.patch [deleted file]
packages/cacao/files/cacao-hg20080519-classpath_var.patch [new file with mode: 0644]
packages/cacao/files/cacao-hg20080519-libdir.patch [new file with mode: 0644]

index e08cd5e..0d2b4c7 100644 (file)
@@ -15,33 +15,17 @@ 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-classpath-libdir=${libdir_jni}:${libdir} \
+       --with-vm-zip=${datadir}/cacao/vm.zip \
+       --with-classpath-libdir=${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}"
@@ -52,3 +36,16 @@ 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
+}
+
index e897cfa..878827c 100644 (file)
@@ -1,9 +1,10 @@
 require cacao.inc
 
-PR = "r9"
+PR = "r8"
 
 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 \
index 81ff1c2..efe0fbb 100644 (file)
@@ -1,11 +1,24 @@
 require cacao.inc
 
-PR = "r1"
+PR = "r0"
 
 SRC_URI = "http://downloads.openmoko.org/sources/cacao-0.98+hg20080519.tar.gz;md5sum=1c6e0530be63ec8a4c0ab2935c2fdc8f \
-           file://cacao-${PV}-build-java-runtime-library-classes.patch;patch=1 \ \
+           file://cacao-hg20080519-classpath_var.patch;patch=1 \
+           file://cacao-hg20080519-libdir.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
deleted file mode 100644 (file)
index a503c7d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-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"
index 420df95..3e7fdd6 100644 (file)
@@ -11,14 +11,9 @@ PR = "r1"
 inherit autotools native
 
 EXTRA_OECONF = " \
-  --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 \
-  "
-
+    --with-classpath-includedir=${STAGING_INCDIR}/classpath \
+    --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \
+    "
 
 do_compile() {
   # Compile the header generator only (and what is needed for it).
diff --git a/packages/cacao/cacaoh-native_0.99.1.bb b/packages/cacao/cacaoh-native_0.99.1.bb
deleted file mode 100644 (file)
index 11735d4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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
deleted file mode 100644 (file)
index 7df1c48..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-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
new file mode 100644 (file)
index 0000000..f5cf9ba
--- /dev/null
@@ -0,0 +1,30 @@
+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-0.99-build-java-runtime-library-classes.patch b/packages/cacao/files/cacao-0.99-build-java-runtime-library-classes.patch
deleted file mode 100644 (file)
index dffc37b..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -r 8484332b813c configure.ac
---- a/configure.ac     Sun Jun 22 18:19:54 2008 +0200
-+++ b/configure.ac     Mon Jun 23 08:53:17 2008 +0200
-@@ -550,6 +550,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
-diff -r 8484332b813c m4/java-runtime-library.m4
---- a/m4/java-runtime-library.m4       Sun Jun 22 18:19:54 2008 +0200
-+++ b/m4/java-runtime-library.m4       Mon Jun 23 08:53:17 2008 +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-hg20080519-classpath_var.patch b/packages/cacao/files/cacao-hg20080519-classpath_var.patch
new file mode 100644 (file)
index 0000000..a3e39e0
--- /dev/null
@@ -0,0 +1,67 @@
+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
new file mode 100644 (file)
index 0000000..1be13b3
--- /dev/null
@@ -0,0 +1,30 @@
+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