summaryrefslogtreecommitdiff
path: root/recipes/classpath
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/classpath')
-rw-r--r--recipes/classpath/classpath-native.inc1
-rw-r--r--recipes/classpath/classpath-native_0.97.2.bb3
-rw-r--r--recipes/classpath/classpath-native_0.98.bb3
-rw-r--r--recipes/classpath/classpath_0.97.2.bb3
-rw-r--r--recipes/classpath/classpath_0.98.bb3
-rw-r--r--recipes/classpath/files/toolwrapper-exithook.patch46
6 files changed, 55 insertions, 4 deletions
diff --git a/recipes/classpath/classpath-native.inc b/recipes/classpath/classpath-native.inc
index e7570c4f98..35a2485619 100644
--- a/recipes/classpath/classpath-native.inc
+++ b/recipes/classpath/classpath-native.inc
@@ -30,6 +30,7 @@ EXTRA_OECONF = "\
--disable-gtk-peer \
--disable-plugin \
--disable-dssi \
+ --disable-gjdoc \
--enable-examples \
--enable-tools \
--includedir=${STAGING_INCDIR}/classpath \
diff --git a/recipes/classpath/classpath-native_0.97.2.bb b/recipes/classpath/classpath-native_0.97.2.bb
index 8a2c36b5c7..b026f40410 100644
--- a/recipes/classpath/classpath-native_0.97.2.bb
+++ b/recipes/classpath/classpath-native_0.97.2.bb
@@ -1,6 +1,6 @@
require classpath-native.inc
-PR = "r5"
+PR = "r7"
# The code affected by the javanet-local patch
# is usually not compiled. However if someone changes
@@ -15,6 +15,7 @@ SRC_URI += "\
file://decimalformat.patch;patch=1 \
file://cp-byte-loophelper.patch;patch=1;pnum=0 \
file://miscompilation.patch;patch=1 \
+ file://toolwrapper-exithook.patch;patch=1 \
"
do_unpackpost() {
diff --git a/recipes/classpath/classpath-native_0.98.bb b/recipes/classpath/classpath-native_0.98.bb
index 9f4c8f9077..a924b8a676 100644
--- a/recipes/classpath/classpath-native_0.98.bb
+++ b/recipes/classpath/classpath-native_0.98.bb
@@ -3,7 +3,7 @@ require classpath-native.inc
# Deadlocks occur on at least amd64 hosts.
DEFAULT_PREFERENCE = "-1"
-PR = "r1"
+PR = "r3"
# The code affected by the javanet-local patch
# is usually not compiled. However if someone changes
@@ -14,6 +14,7 @@ SRC_URI += "\
file://ecj_java_dir.patch;patch=1 \
file://autotools.patch;patch=1 \
file://miscompilation.patch;patch=1 \
+ file://toolwrapper-exithook.patch;patch=1 \
"
do_unpackpost() {
diff --git a/recipes/classpath/classpath_0.97.2.bb b/recipes/classpath/classpath_0.97.2.bb
index e3b22fb6c5..3ec5bc4f15 100644
--- a/recipes/classpath/classpath_0.97.2.bb
+++ b/recipes/classpath/classpath_0.97.2.bb
@@ -10,9 +10,10 @@ SRC_URI += "\
file://cp-byte-loophelper.patch;patch=1;pnum=0 \
file://drawpolyline.patch;patch=1;pnum=0 \
file://gtk-fix.patch;patch=1;pnum=0 \
+ file://toolwrapper-exithook.patch;patch=1; \
"
-PR = "r9"
+PR = "r10"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/classpath/classpath_0.98.bb b/recipes/classpath/classpath_0.98.bb
index 6dc1e9e28b..ce695b34ea 100644
--- a/recipes/classpath/classpath_0.98.bb
+++ b/recipes/classpath/classpath_0.98.bb
@@ -5,9 +5,10 @@ SRC_URI += "\
file://ecj_java_dir.patch;patch=1 \
file://autotools.patch;patch=1 \
file://fix-gmp.patch;patch=1 \
+ file://toolwrapper-exithook.patch;patch=1 \
"
-PR = "r2"
+PR = "r3"
DEPENDS += "gtk+ gconf libxtst"
diff --git a/recipes/classpath/files/toolwrapper-exithook.patch b/recipes/classpath/files/toolwrapper-exithook.patch
new file mode 100644
index 0000000000..49b6631daf
--- /dev/null
+++ b/recipes/classpath/files/toolwrapper-exithook.patch
@@ -0,0 +1,46 @@
+Index: classpath-0.97.2/tools/toolwrapper.c
+===================================================================
+--- classpath-0.97.2.orig/tools/toolwrapper.c 2006-12-13 18:56:44.000000000 +0100
++++ classpath-0.97.2/tools/toolwrapper.c 2009-12-24 13:16:44.295000627 +0100
+@@ -59,6 +59,10 @@
+ /* Typedef for JNI_CreateJavaVM dlopen call. */
+ typedef jint createVM (JavaVM **, void **, void *);
+
++void exit_hook(jint);
++
++int return_code = 1;
++
+ int
+ main (int argc, const char** argv)
+ {
+@@ -143,6 +147,17 @@
+ vm_args.options[vm_args.nOptions++].optionString = "-Xbootclasspath/p:" TOOLS_ZIP;
+ }
+
++ /* Set the exit hook */
++ vm_args.options = (JavaVMOption*) realloc (vm_args.options, (vm_args.nOptions + 1) * sizeof (JavaVMOption));
++
++ if (vm_args.options == NULL)
++ {
++ fprintf (stderr, TOOLNAME ": realloc failed.\n");
++ goto destroy;
++ }
++ vm_args.options[vm_args.nOptions].optionString = "exit";
++ vm_args.options[vm_args.nOptions++].extraInfo = (void *) exit_hook;
++
+ /* Terminate vm_args.options with a NULL element. */
+ vm_args.options = (JavaVMOption*) realloc (vm_args.options, (vm_args.nOptions + 1) * sizeof (JavaVMOption));
+ if (vm_args.options == NULL)
+@@ -260,5 +275,11 @@
+ if (lt_dlexit () != 0)
+ fprintf (stderr, TOOLNAME ": lt_dlexit failed.\n");
+
+- return 1;
++ return return_code;
++}
++
++void exit_hook(jint code)
++{
++ return_code = code;
+ }
++