diff options
Diffstat (limited to 'recipes-core')
-rw-r--r-- | recipes-core/cacao/cacao-initial_0.98.bb | 42 | ||||
-rw-r--r-- | recipes-core/cacao/files/cacao-0.98-initial.patch | 45 | ||||
-rw-r--r-- | recipes-core/cacao/files/disable_hw_exceptions.patch | 22 |
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 @@ | |||
1 | DESCRIPTION = "CacaoVM for use as OpenEmbedded's Java VM" | ||
2 | HOMEPAGE = "http://www.cacaojvm.org/" | ||
3 | LICENSE = "GPL-2.0" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | SECTION = "interpreters" | ||
6 | |||
7 | PROVIDES = "virtual/java-initial" | ||
8 | |||
9 | inherit native autotools | ||
10 | |||
11 | DEPENDS = "zlib-native libtool-native fastjar-native classpath-initial jikes-initial" | ||
12 | |||
13 | SRC_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 | ||
20 | EXTRA_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 | ||
31 | export JAVAC="jikes-initial" | ||
32 | |||
33 | # enforces the usage of fastjar | ||
34 | export JAR="fastjar" | ||
35 | |||
36 | do_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 | |||
41 | SRC_URI[md5sum] = "8b8907c8b925761c9410bcadb9705346" | ||
42 | SRC_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 @@ | |||
1 | Index: 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) | ||
14 | Index: 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 @@ | |||
1 | Index: 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 | |||