summaryrefslogtreecommitdiffstats
path: root/recipes-core/cacao
diff options
context:
space:
mode:
authorHenning Heinold <henning@itconsulting-heinold.de>2014-01-03 21:42:17 +0100
committerHenning Heinold <henning@itconsulting-heinold.de>2014-01-09 01:25:35 +0100
commitb229a38bdb5cc0ebadcd36d6f71380aa932efec3 (patch)
tree545ae58f8099fc490ecc48c05ba92f8a5514d4b6 /recipes-core/cacao
parent14d6ad1608c66b8970d4052dce4cd1fc64fb6ea2 (diff)
downloadmeta-java-b229a38bdb5cc0ebadcd36d6f71380aa932efec3.tar.gz
cacao-initial: add cacao-initial recipe from oe-classic
Diffstat (limited to 'recipes-core/cacao')
-rw-r--r--recipes-core/cacao/cacao-initial_0.98.bb42
-rw-r--r--recipes-core/cacao/files/cacao-0.98-initial.patch45
-rw-r--r--recipes-core/cacao/files/disable_hw_exceptions.patch22
3 files changed, 109 insertions, 0 deletions
diff --git a/recipes-core/cacao/cacao-initial_0.98.bb b/recipes-core/cacao/cacao-initial_0.98.bb
new file mode 100644
index 0000000..b6bcd1c
--- /dev/null
+++ b/recipes-core/cacao/cacao-initial_0.98.bb
@@ -0,0 +1,42 @@
1DESCRIPTION = "CacaoVM for use as OpenEmbedded's Java VM"
2HOMEPAGE = "http://www.cacaojvm.org/"
3LICENSE = "GPL-2.0"
4LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
5SECTION = "interpreters"
6
7PROVIDES = "virtual/java-initial"
8
9inherit native autotools
10
11DEPENDS = "zlib-native libtool-native fastjar-native classpath-initial jikes-initial"
12
13SRC_URI = "\
14 http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2; \
15 file://cacao-0.98-initial.patch \
16 file://disable_hw_exceptions.patch \
17 "
18
19# libjvm disabled - it would conflict with cacao-native installations
20EXTRA_OECONF = "\
21 --enable-debug \
22 --with-classpath-libdir=${libdir} \
23 --with-classpath-includedir=${includedir}/classpath-initial \
24 --with-classpath-classes=${datadir}/classpath-initial/glibj.zip \
25 --with-vm-zip=${datadir}/cacao-initial/vm.zip \
26 --program-suffix=-initial \
27 --disable-libjvm \
28 "
29
30# enforces the usage of jikes-initial
31export JAVAC="jikes-initial"
32
33# enforces the usage of fastjar
34export JAR="fastjar"
35
36do_configure_append() {
37 # Fix the executable name in the wrapper script.
38 sed -i -e "s|exec cacao|exec cacao-initial|" src/scripts/java.in
39}
40
41SRC_URI[md5sum] = "8b8907c8b925761c9410bcadb9705346"
42SRC_URI[sha256sum] = "cb9363add825cedf77764fc49a223aaf43f0a9f485b711ba8c92f16b13fff188"
diff --git a/recipes-core/cacao/files/cacao-0.98-initial.patch b/recipes-core/cacao/files/cacao-0.98-initial.patch
new file mode 100644
index 0000000..30b6d14
--- /dev/null
+++ b/recipes-core/cacao/files/cacao-0.98-initial.patch
@@ -0,0 +1,45 @@
1Index: cacao-0.98/configure.ac
2===================================================================
3--- cacao-0.98.orig/configure.ac 2007-12-19 22:07:55.000000000 +0100
4+++ cacao-0.98/configure.ac 2007-12-19 22:08:02.000000000 +0100
5@@ -27,7 +27,7 @@
6 dnl Process this file with autoconf to produce a configure script.
7
8
9-AC_INIT(cacao, 0.98, cacao@cacaojvm.org)
10+AC_INIT(cacao-initial, 0.98, cacao@cacaojvm.org)
11 AC_CONFIG_SRCDIR(src/cacao/cacao.c)
12 AC_CANONICAL_HOST
13 AC_PREREQ(2.59)
14Index: cacao-0.98/src/vm/vm.c
15===================================================================
16--- cacao-0.98.orig/src/vm/vm.c 2007-12-19 22:31:19.000000000 +0100
17+++ cacao-0.98/src/vm/vm.c 2007-12-19 22:32:36.000000000 +0100
18@@ -623,7 +623,7 @@
19 #else
20 puts(" java.boot.class.path : "CLASSPATH_CLASSES"");
21 #endif
22- puts(" gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath\n");
23+ puts(" gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath-initial\n");
24
25 puts("Runtime variables:\n");
26 printf(" maximum heap size : %d\n", opt_heapmaxsize);
27@@ -828,15 +828,15 @@
28
29 /* and finally set the path to GNU Classpath libraries */
30
31- len = strlen(cacao_prefix) + strlen("/lib/classpath") + strlen("0");
32+ len = strlen(cacao_prefix) + strlen("/lib/classpath-initial") + strlen("0");
33
34 classpath_libdir = MNEW(char, len);
35 strcpy(classpath_libdir, cacao_prefix);
36- strcat(classpath_libdir, "/lib/classpath");
37+ strcat(classpath_libdir, "/lib/classpath-initial");
38 #else
39 cacao_prefix = CACAO_PREFIX;
40 cacao_libjvm = CACAO_LIBDIR"/libjvm";
41- classpath_libdir = CLASSPATH_LIBDIR"/classpath";
42+ classpath_libdir = CLASSPATH_LIBDIR"/classpath-initial";
43 #endif
44
45 /* set the bootclasspath */
diff --git a/recipes-core/cacao/files/disable_hw_exceptions.patch b/recipes-core/cacao/files/disable_hw_exceptions.patch
new file mode 100644
index 0000000..bf2e998
--- /dev/null
+++ b/recipes-core/cacao/files/disable_hw_exceptions.patch
@@ -0,0 +1,22 @@
1Index: cacao-0.98/src/vm/exceptions.c
2===================================================================
3--- cacao-0.98.orig/src/vm/exceptions.c 2007-06-05 09:41:07.000000000 +0200
4+++ cacao-0.98/src/vm/exceptions.c 2014-01-03 16:21:42.430783148 +0100
5@@ -89,17 +89,6 @@
6
7 bool exceptions_init(void)
8 {
9- int pagesize;
10-
11- /* mmap a memory page at address 0x0, so our hardware-exceptions
12- work. */
13-
14- pagesize = getpagesize();
15-
16- (void) memory_mmap_anon(NULL, pagesize, PROT_NONE, MAP_PRIVATE | MAP_FIXED);
17-
18- /* check if we get into trouble with our hardware-exceptions */
19-
20 if (OFFSET(java_bytearray, data) <= EXCEPTION_HARDWARE_PATCHER)
21 vm_abort("signal_init: array-data offset is less or equal the maximum hardware-exception displacement: %d <= %d", OFFSET(java_bytearray, data), EXCEPTION_HARDWARE_PATCHER);
22