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

Henning Heinold heinold at inf.fu-berlin.de
Fri Aug 17 07:47:58 UTC 2012


On Tue, Jul 31, 2012 at 12:03:10PM -0700, Khem Raj wrote:
> 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

Patch is applied to master, thanks and do not forget to update patch-work.

Bye Henning





More information about the Openembedded-devel mailing list