[oe] [meta-java][PATCH 2/2] openjdk-6: Fix cross compilation for e5500 machines

Khem Raj raj.khem at gmail.com
Mon Jul 23 00:02:32 UTC 2012


This is only way for compile for now since qemu can not
run the sizers binary for e5500 machines. It segfaults
so we disable generating sizes and also xawt and jawt
which depends on sizers, this lets jre to cross compile
for ppc/e5500

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 .../icedtea-jdk-sizers-crosscompile-hack.patch     |   61 ++++++++++++++++++++
 recipes-core/openjdk/openjdk-6-release-6b24.inc    |   13 ++++-
 2 files changed, 73 insertions(+), 1 deletions(-)
 create mode 100644 recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch

diff --git a/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch
new file mode 100644
index 0000000..54d6a19
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6-6b24/icedtea-jdk-sizers-crosscompile-hack.patch
@@ -0,0 +1,61 @@
+Disable xawt and jawt along with sizes generation which does not work well if
+you cant generated sizes in cross env. So for architectures which dont have
+working qemu this is an option
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+Upstream-Status: Inappropriate [Cross-compile specific hack]
+
+--- openjdk/jdk/make/sun/xawt/Makefile.khem	2012-07-21 23:54:47.396405922 -0700
++++ openjdk/jdk/make/sun/xawt/Makefile	2012-07-21 23:55:52.032405922 -0700
+@@ -245,18 +245,19 @@
+ 	    $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+ 
+ $(SIZES): $(SIZERS)
+-	@if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+-	    $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+-	    $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+-	    $(CHMOD) +w $@;\
+-	else	\
+-	    $(ECHO) GENERATING $@; \
+-	    $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+-	fi
+-	@if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+-	    $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-	    $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-	fi	
++	touch $(SIZES)
++#	@if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
++#	    $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
++#	    $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
++#	    $(CHMOD) +w $@;\
++#	else	\
++#	    $(ECHO) GENERATING $@; \
++#	    $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++#	fi
++#	@if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
++#	    $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#	    $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#	fi	
+ 
+ $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
+ 	$(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
+--- openjdk/jdk/make/sun/Makefile.khem	2011-11-14 14:11:40.000000000 -0800
++++ openjdk/jdk/make/sun/Makefile	2012-07-22 00:42:04.980409296 -0700
+@@ -50,7 +50,7 @@
+     MOTIF_SUBDIRS   = motif12 motif21
+   endif
+   HEADLESS_SUBDIR = headless
+-  XAWT_SUBDIR     = xawt
++  XAWT_SUBDIR     =
+ endif
+ 
+ ifndef OPENJDK
+@@ -65,7 +65,7 @@
+ 	  awt splashscreen $(XAWT_SUBDIR) $(MOTIF_SUBDIRS) \
+           $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
+ 	  font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \
+-	  jawt text nio launcher management $(ORG_SUBDIR) \
++	  text nio launcher management $(ORG_SUBDIR) \
+           native2ascii serialver tools jconsole
+ 
+ all build clean clobber::
diff --git a/recipes-core/openjdk/openjdk-6-release-6b24.inc b/recipes-core/openjdk/openjdk-6-release-6b24.inc
index b867fb3..1da7ffb 100644
--- a/recipes-core/openjdk/openjdk-6-release-6b24.inc
+++ b/recipes-core/openjdk/openjdk-6-release-6b24.inc
@@ -83,7 +83,12 @@ ICEDTEAPATCHES = "\
         file://icedtea-zero-hotspotfix.patch;apply=no \
         file://icedtea-jdk-powerpc-atomic64.patch;apply=no \
 	"
-
+ICEDTEAPATCHES_append_e5500-64b = " \
+        file://icedtea-jdk-sizers-crosscompile-hack.patch;apply=no \
+	"
+ICEDTEAPATCHES_append_e5500 = " \
+        file://icedtea-jdk-sizers-crosscompile-hack.patch;apply=no \
+	"
 ICEDTEAPATCHES_append_libc-uclibc = " \
         file://icedtea-hotspot-isfinte.patch;apply=no \
         file://icedtea-hotspot-glibc-version.patch;apply=no \
@@ -119,5 +124,11 @@ DISTRIBUTION_PATCHES_append_libc-uclibc = "\
         patches/icedtea-jdk-unpack-uclibc.patch \
 	patches/icedtea-hotspot-dlvsym-uclibc.patch \
         "
+DISTRIBUTION_PATCHES_append_e5500-64b = " \
+       patches/icedtea-jdk-sizers-crosscompile-hack.patch \
+       "
 
+DISTRIBUTION_PATCHES_append_e5500 = " \
+       patches/icedtea-jdk-sizers-crosscompile-hack.patch \
+       "
 export DISTRIBUTION_PATCHES
-- 
1.7.5.4





More information about the Openembedded-devel mailing list