diff options
-rw-r--r-- | recipes/jamvm/files/jamvm_1.5.0-initial.patch | 91 | ||||
-rwxr-xr-x | recipes/jamvm/files/java-initial | 17 | ||||
-rw-r--r-- | recipes/jamvm/jamvm-initial/jamvm-initial.patch (renamed from recipes/jamvm/files/jamvm_1.4.5-initial.patch) | 19 | ||||
-rw-r--r-- | recipes/jamvm/jamvm-initial_1.4.5.bb | 22 | ||||
-rw-r--r-- | recipes/jamvm/jamvm/debian-jni.patch (renamed from recipes/jamvm/files/debian-jni.patch) | 0 | ||||
-rw-r--r-- | recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch (renamed from recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch) | 0 | ||||
-rw-r--r-- | recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch (renamed from recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch) | 0 | ||||
-rw-r--r-- | recipes/jamvm/jamvm/libffi.patch | 66 |
8 files changed, 95 insertions, 120 deletions
diff --git a/recipes/jamvm/files/jamvm_1.5.0-initial.patch b/recipes/jamvm/files/jamvm_1.5.0-initial.patch deleted file mode 100644 index 1f63dba3e3..0000000000 --- a/recipes/jamvm/files/jamvm_1.5.0-initial.patch +++ /dev/null @@ -1,91 +0,0 @@ -Index: jamvm-1.5.0/configure.ac -=================================================================== ---- jamvm-1.5.0.orig/configure.ac 2007-12-20 00:01:08.000000000 +0100 -+++ jamvm-1.5.0/configure.ac 2007-12-20 00:03:40.000000000 +0100 -@@ -22,7 +22,7 @@ - dnl Process this file with autoconf to produce a configure script. - - AC_INIT(src/jam.c) --AM_INIT_AUTOMAKE(jamvm, 1.5.0) -+AM_INIT_AUTOMAKE(jamvm-initial, 1.5.0) - AC_CONFIG_HEADERS([src/config.h]) - AC_PREFIX_DEFAULT(/usr/local/jamvm) - -Index: jamvm-1.5.0/java-initial -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ jamvm-1.5.0/java-initial 2007-12-20 00:03:27.000000000 +0100 -@@ -0,0 +1,14 @@ -+#!/bin/sh -+# -+# Wrapper which (almost) silently restarts the VM in case of segfaults. -+ -+redo_from_start=1; -+while [ $redo_from_start -eq 1 ]; do -+ echo "Running JamVM-initial: ${@}" -+ redo_from_start=0; -+ jamvm-initial ${1+"$@"} -+ if [ $? -eq 139 ]; then -+ echo "JamVM-initial crashed - silently trying again" -+ redo_from_start=1; -+ fi -+done -Index: jamvm-1.5.0/lib/Makefile.am -=================================================================== ---- jamvm-1.5.0.orig/lib/Makefile.am 2007-12-20 00:05:24.000000000 +0100 -+++ jamvm-1.5.0/lib/Makefile.am 2007-12-20 00:05:28.000000000 +0100 -@@ -19,7 +19,7 @@ - ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - ## - --CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath -+CP_LIB_DIR = ${with_classpath_install_dir}/share/classpath-initial - GLIBJ_ZIP = ${CP_LIB_DIR}/glibj.zip - - SUBDIRS = jamvm java gnu sun -Index: jamvm-1.5.0/src/class.h -=================================================================== ---- jamvm-1.5.0.orig/src/class.h 2007-12-20 00:06:34.000000000 +0100 -+++ jamvm-1.5.0/src/class.h 2007-12-20 00:16:41.000000000 +0100 -@@ -39,11 +39,11 @@ - separate class files in a directory structure */ - - #ifdef USE_ZIP --#define JAMVM_CLASSES INSTALL_DIR"/share/jamvm/classes.zip" --#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath/glibj.zip" -+#define JAMVM_CLASSES CLASSPATH_INSTALL_DIR"/share/jamvm-initial/classes.zip" -+#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath-initial/glibj.zip" - #else --#define JAMVM_CLASSES INSTALL_DIR"/share/jamvm/classes" --#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath" -+#define JAMVM_CLASSES CLASSPATH_INSTALL_DIR"/share/jamvm-initial/classes" -+#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath-initial" - #endif - - #define DFLT_BCP JAMVM_CLASSES":"CLASSPATH_CLASSES -Index: jamvm-1.5.0/src/dll.c -=================================================================== ---- jamvm-1.5.0.orig/src/dll.c 2007-12-20 00:01:24.000000000 +0100 -+++ jamvm-1.5.0/src/dll.c 2007-12-20 00:03:27.000000000 +0100 -@@ -294,7 +294,7 @@ - } - - char *getBootDllPath() { -- return CLASSPATH_INSTALL_DIR"/lib/classpath"; -+ return CLASSPATH_INSTALL_DIR"/lib/classpath-initial"; - } - - char *getDllName(char *name) { -Index: jamvm-1.5.0/src/Makefile.am -=================================================================== ---- jamvm-1.5.0.orig/src/Makefile.am 2007-12-20 00:21:37.000000000 +0100 -+++ jamvm-1.5.0/src/Makefile.am 2007-12-20 00:21:46.000000000 +0100 -@@ -23,7 +23,7 @@ - DIST_SUBDIRS = os arch interp - - bin_PROGRAMS = jamvm --include_HEADERS = jni.h -+noinst_HEADERS = jni.h - - lib_LTLIBRARIES = libjvm.la - noinst_LTLIBRARIES = libcore.la diff --git a/recipes/jamvm/files/java-initial b/recipes/jamvm/files/java-initial new file mode 100755 index 0000000000..1b27f8134a --- /dev/null +++ b/recipes/jamvm/files/java-initial @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Wrapper which (almost) silently restarts the VM in case of segfaults. + +error_counter=0; +error_occured=139 +while [ ${error_counter} -le 50 -a ${error_occured} -eq 139 ]; do + echo "Running JamVM-initial: ${@}" + jamvm-initial ${1+"$@"} + error_occured=$? + if [ ${error_occured} -eq 139 ]; then + echo "JamVM-initial crashed - silently trying again" + error_counter=$(( $error_counter + 1 )) + fi +done + +exit ${error_occured} diff --git a/recipes/jamvm/files/jamvm_1.4.5-initial.patch b/recipes/jamvm/jamvm-initial/jamvm-initial.patch index 175052dbf3..fb069f85b8 100644 --- a/recipes/jamvm/files/jamvm_1.4.5-initial.patch +++ b/recipes/jamvm/jamvm-initial/jamvm-initial.patch @@ -10,25 +10,6 @@ Index: jamvm-1.4.5/configure.ac AC_CONFIG_HEADERS([src/config.h]) AC_PREFIX_DEFAULT(/usr/local/jamvm) -Index: jamvm-1.4.5/java-initial -=================================================================== ---- /dev/null -+++ jamvm-1.4.5/java-initial -@@ -0,0 +1,14 @@ -+#!/bin/sh -+# -+# Wrapper which (almost) silently restarts the VM in case of segfaults. -+ -+redo_from_start=1; -+while [ $redo_from_start -eq 1 ]; do -+ echo "Running JamVM-initial: ${@}" -+ redo_from_start=0; -+ jamvm-initial ${1+"$@"} -+ if [ $? -eq 139 ]; then -+ echo "JamVM-initial crashed - silently trying again" -+ redo_from_start=1; -+ fi -+done Index: jamvm-1.4.5/lib/Makefile.am =================================================================== --- jamvm-1.4.5.orig/lib/Makefile.am diff --git a/recipes/jamvm/jamvm-initial_1.4.5.bb b/recipes/jamvm/jamvm-initial_1.4.5.bb index 55bd5f94aa..a662077e45 100644 --- a/recipes/jamvm/jamvm-initial_1.4.5.bb +++ b/recipes/jamvm/jamvm-initial_1.4.5.bb @@ -1,17 +1,20 @@ SUMMARY = "A compact Java Virtual Machine which conforms to the JVM specification version 2." HOMEPAGE = "http://jamvm.sourceforge.net/" LICENSE = "GPL" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" DEPENDS = "zlib-native classpath-initial jikes-initial libffi-native" -PR = "r3" - PROVIDES = "virtual/java-initial" +PR = "r4" + S = "${WORKDIR}/jamvm-${PV}" SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz \ - file://jamvm_${PV}-initial.patch \ + file://libffi.patch \ + file://jamvm-initial.patch \ + file://java-initial \ " # This uses 32 bit arm, so force the instruction set to arm, not thumb @@ -25,20 +28,19 @@ EXTRA_OECONF = "\ --with-classpath-install-dir=${prefix} \ --program-suffix=-initial \ --libdir=${STAGING_LIBDIR}/jamvm-initial \ + --enable-ffi \ " # jamvm-initial has to run some binaries which need lots of memory. CFLAGS += "-DDEFAULT_MAX_HEAP=512*MB" -do_compile() { - oe_runmake \ - JAVAC=jikes-initial \ - GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath-initial/glibj.zip -} - +# Enforce usage of jikes-initial. +EXTRA_OEMAKE = "JAVAC=${STAGING_BINDIR_NATIVE}/jikes-initial \ + GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath-inital/glibj.zip \ + " do_install_append() { install -d ${D}${bindir}/ - install -m 0755 java-initial ${D}${bindir}/ + install -m 0755 ${WORKDIR}/java-initial ${D}${bindir}/ } SRC_URI[md5sum] = "3f538bab6e1c77aed331e5e71f754f5b" diff --git a/recipes/jamvm/files/debian-jni.patch b/recipes/jamvm/jamvm/debian-jni.patch index 040163da69..040163da69 100644 --- a/recipes/jamvm/files/debian-jni.patch +++ b/recipes/jamvm/jamvm/debian-jni.patch diff --git a/recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch b/recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch index a41beee982..a41beee982 100644 --- a/recipes/jamvm/files/jamvm-1.3.1-size-defaults.patch +++ b/recipes/jamvm/jamvm/jamvm-1.3.1-size-defaults.patch diff --git a/recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch b/recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch index f0884fd838..f0884fd838 100644 --- a/recipes/jamvm/files/jamvm-1.5.3-jni_h-noinst.patch +++ b/recipes/jamvm/jamvm/jamvm-1.5.3-jni_h-noinst.patch diff --git a/recipes/jamvm/jamvm/libffi.patch b/recipes/jamvm/jamvm/libffi.patch new file mode 100644 index 0000000000..c705ad280c --- /dev/null +++ b/recipes/jamvm/jamvm/libffi.patch @@ -0,0 +1,66 @@ +diff -Nurd /home/sledz/jamvm-1.4.5.orig/configure.ac jamvm-1.4.5/configure.ac +--- /home/sledz/jamvm-1.4.5.orig/configure.ac 2012-10-02 15:14:03.000000000 +0200 ++++ jamvm-1.4.5/configure.ac 2012-10-02 15:14:49.000000000 +0200 +@@ -166,10 +166,25 @@ + enable_zip=no + fi]) + +-AC_CHECK_LIB(ffi,ffi_call,, +- [if test "$enable_ffi" != no; then +- AC_MSG_ERROR(cannot find libffi) +- fi]) ++LIBFFI_FOUND=no ++if test "$enable_ffi" = yes ++then ++PKG_CHECK_MODULES([LIBFFI], [libffi], [LIBFFI_FOUND=yes], [LIBFFI_FOUND=no]) ++if test "x${LIBFFI_FOUND}" = xno ++then ++ LIBFFI_FOUND= ++ AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no]) ++ AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no]) ++ if test "x${LIBFFI_FOUND}" = xno ++ then ++ AC_MSG_ERROR([Could not find libffi headers - \ ++ Instal libffi-devel or libffi-dev.]) ++ fi ++fi ++fi ++AC_SUBST(LIBFFI_CFLAGS) ++AC_SUBST(LIBFFI_LIBS) ++ + + dnl Checks for header files. + AC_HEADER_STDC +@@ -180,11 +195,6 @@ + enable_zip=no + fi]) + +-AC_CHECK_HEADER(ffi.h,, +- [if test "$enable_ffi" != no; then +- AC_MSG_ERROR(cannot find ffi.h) +- fi]) +- + if test "$enable_zip" != no; then + AC_DEFINE([USE_ZIP],1,[use zip]) + use_zip_yes= +@@ -197,7 +207,7 @@ + AC_SUBST(use_zip_yes) + AC_SUBST(use_zip_no) + +-if test "$enable_ffi" != no; then ++if test "x${LIBFFI_FOUND}" != no; then + AC_DEFINE([USE_FFI],1,[use FFI]) + fi + +diff -Nurd /home/sledz/jamvm-1.4.5.orig/src/Makefile.am jamvm-1.4.5/src/Makefile.am +--- /home/sledz/jamvm-1.4.5.orig/src/Makefile.am 2012-10-02 15:14:03.000000000 +0200 ++++ jamvm-1.4.5/src/Makefile.am 2012-10-02 15:14:49.000000000 +0200 +@@ -19,6 +19,7 @@ + + jamvm_LDADD = libcore.la + libjvm_la_LIBADD = libcore.la +-libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la ++libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la $(LIBFFI_LIBS) ++libcore_la_CPPFLAGS = $(LIBFFI_CFLAGS) + + DISTCLEANFILES = arch.h |