[oe] [meta-java][PATCH v2] cacao: fix problem with internal garbage collector

Hugo Vasconcelos Saldanha hugo.saldanha at aker.com.br
Tue Mar 31 16:39:59 UTC 2015


Cacao uses an internal version of bdwgc that was being installed
(headers, libs, etc.) together with the JVM, unnecessarily conflicting
with original bdwgc package.

A patch from Gentoo is applied so the system's bdwgc is used instead.

Signed-off-by: Hugo Vasconcelos Saldanha <hugo.saldanha at aker.com.br>
---
 .../cacao/cacao-1.6.1/system-boehm-gc.patch        | 60 ++++++++++++++++++++++
 recipes-core/cacao/cacao_1.6.1.bb                  |  8 +--
 2 files changed, 64 insertions(+), 4 deletions(-)
 create mode 100644 recipes-core/cacao/cacao-1.6.1/system-boehm-gc.patch

diff --git a/recipes-core/cacao/cacao-1.6.1/system-boehm-gc.patch b/recipes-core/cacao/cacao-1.6.1/system-boehm-gc.patch
new file mode 100644
index 0000000..c30f5be
--- /dev/null
+++ b/recipes-core/cacao/cacao-1.6.1/system-boehm-gc.patch
@@ -0,0 +1,60 @@
+cacao: use system's boehm garbage collector
+
+This is a Gentoo's patch [1] to force the use of system's bdwgc.
+
+Cacao was installing an internal version of bdwgc which conflicts
+with the system's version.
+
+[1] https://gitweb.gentoo.org/proj/java.git/plain/dev-java/cacao/files/system-boehm-gc.patch
+
+Upstream-Status: Inappropriate [not author]
+
+Signed-off-by: Hugo Vasconcelos Saldanha <hugo.saldanha at aker.com.br>
+
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -691,6 +691,8 @@
+ 
+ AC_CHECK_ENABLE_PIC_ASM
+ 
++PKG_CHECK_MODULES([BOEHM], bdw-gc,,AC_MSG_ERROR[boehm-gc not found])
++
+ dnl Define version numbers.
+ AC_VERSION_DETAIL
+ AC_VERSION_CONFIG
+@@ -793,12 +795,6 @@
+ )
+ 
+ 
+-dnl We only build the shared library objects but we use it as
+-dnl noinst_LTLIBRARIES.
+-ac_configure_args="$ac_configure_args --disable-static"
+-AC_CONFIG_SUBDIRS(src/mm/boehm-gc)
+-
+-
+ AC_OUTPUT
+ 
+ 
+diff --git a/src/mm/Makefile.am b/src/mm/Makefile.am
+--- a/src/mm/Makefile.am
++++ b/src/mm/Makefile.am
+@@ -35,14 +35,13 @@
+ endif
+ 
+ if ENABLE_GC_BOEHM
+-SUBDIRS = \
+-	boehm-gc
+-
+ GC_FILE = \
+ 	gc-boehm.cpp
+ 
+-GC_LIB = \
+-	$(top_builddir)/src/mm/boehm-gc/libgc.la
++AM_CPPFLAGS += $(BOEHM_CFLAGS)
++
++GC_LIB = $(BOEHM_LIBS)
++
+ endif
+ 
+ if ENABLE_GC_CACAO
diff --git a/recipes-core/cacao/cacao_1.6.1.bb b/recipes-core/cacao/cacao_1.6.1.bb
index 9f07946..65aaf93 100644
--- a/recipes-core/cacao/cacao_1.6.1.bb
+++ b/recipes-core/cacao/cacao_1.6.1.bb
@@ -4,14 +4,14 @@ LICENSE  = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 SECTION  = "interpreters"
 
-DEPENDS_class-native = "zlib-native libtool-native ecj-initial-native fastjar-native classpath-native"
+DEPENDS_class-native = "zlib-native libtool-native ecj-initial-native fastjar-native classpath-native bdwgc-native"
 PROVIDES_class-native = "virtual/java-native"
 
-DEPENDS = "zlib libtool classpath virtual/javac-native"
-DEPENDS_${PN} = "classpath"
+DEPENDS = "zlib libtool classpath virtual/javac-native bdwgc"
 RPROVIDES_${PN} = "java2-runtime"
 
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.xz"
+SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.xz \
+           file://system-boehm-gc.patch"
 SRC_URI[md5sum] = "2c18478404afd1cffdd15ad1e9d85a57"
 SRC_URI[sha256sum] = "eecc8bd1b528a028f43d9d1d0c06b97855bbf1d40e03826d911ebbc0b6971e12"
 
-- 
2.3.4





More information about the Openembedded-devel mailing list