From patchwork Wed Jan 12 22:42:54 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/2] icedtea6-native 1.7.5: fix build on old build hosts Date: Wed, 12 Jan 2011 22:42:54 -0000 From: Michael Smith X-Patchwork-Id: 264 Message-Id: <1294872175-23969-1-git-send-email-msmith@cbnco.com> To: openembedded-devel@lists.openembedded.org Set ALT_FREETYPE_HEADERS_PATH so openjdk-ecj doesn't look in /usr/include for freetype2 headers. Build xawt sizer.32 on x86_64. A precompiled sizer.32 is included in the icedtea tarball, but this could be an accident, and it doesn't run on older build systems that can't handle DT_GNU_HASH executables; this later causes the openjdk-6 build to fail for 32-bit targets. Signed-off-by: Michael Smith Cc: Henning Heinold --- .../icedtea-jdk-build-sizer-32-on-amd64.patch | 36 ++++++++++++++++++++ recipes/icedtea/icedtea6-native.inc | 6 +++- recipes/icedtea/icedtea6-native_1.7.5.bb | 2 + 3 files changed, 43 insertions(+), 1 deletions(-) create mode 100644 recipes/icedtea/icedtea6-native-1.7.5/icedtea-jdk-build-sizer-32-on-amd64.patch diff --git a/recipes/icedtea/icedtea6-native-1.7.5/icedtea-jdk-build-sizer-32-on-amd64.patch b/recipes/icedtea/icedtea6-native-1.7.5/icedtea-jdk-build-sizer-32-on-amd64.patch new file mode 100644 index 0000000..3baeb5d --- /dev/null +++ b/recipes/icedtea/icedtea6-native-1.7.5/icedtea-jdk-build-sizer-32-on-amd64.patch @@ -0,0 +1,36 @@ +Build the xawt sizer.32 binary on Linux/x86_64 so we can use it when +compiling openjdk for 32-bit platforms. + +--- openjdk/jdk/make/sun/xawt/Makefile.orig 2011-01-08 01:53:22.000000000 -0500 ++++ openjdk/jdk/make/sun/xawt/Makefile 2011-01-11 15:12:17.000000000 -0500 +@@ -184,6 +184,22 @@ + + else # !solaris + ++ifeq ($(PLATFORM), linux) ++ ++ifeq ($(ARCH), amd64) ++# On amd64 we generate both 32 and 64-bit sizers in spite of ARCH_DATA_MODEL. ++SIZERS = $(SIZER).32 $(SIZER).64 ++SIZERS_C = $(SIZER_32_C) $(SIZER_64_C) ++SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 $(WRAPPER_GENERATOR_DIR)/sizes.64 ++CFLAGS_32 = $(CFLAGS) -m32 ++else # !amd64 ++SIZERS = $(SIZER).32 ++SIZERS_C = $(SIZER_32_C) ++SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32 ++endif # amd64 ++ ++else # !linux ++ + ifeq ($(ARCH_DATA_MODEL), 32) + SIZERS = $(SIZER).32 + SIZERS_C = $(SIZER_32_C) +@@ -194,6 +210,7 @@ + SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64 + endif # 32 + ++endif # linux + endif # solaris + + # XXX Hack for 6185483 - use hard-coded sizes. diff --git a/recipes/icedtea/icedtea6-native.inc b/recipes/icedtea/icedtea6-native.inc index 5be2dc6..39ecdad 100644 --- a/recipes/icedtea/icedtea6-native.inc +++ b/recipes/icedtea/icedtea6-native.inc @@ -1,7 +1,7 @@ DESCRIPTION = "Harness to build the source code from OpenJDK using Free Software build tools" HOMEPAGE = "http://icedtea.classpath.org" LICENSE = "GPL with Classpath Exception" -INC_PR = "r2" +INC_PR = "r3" DEPENDS = "virtual/javac-native classpath-tools-native \ virtual/java-native classpath-native \ @@ -18,6 +18,10 @@ JAVA_HOME[unexport] = "1" # No parallel build yet. PARALLEL_MAKE = "" +# openjdk-ecj looks in /usr/include and /usr/lib for freetype by default. +export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2" +export ALT_FREETYPE_LIB_PATH = "${STAGING_LIBDIR}" + # Configure options compatible with Cacao >= 0.99 only! EXTRA_OECONF = "\ --with-parallel-jobs=1 \ diff --git a/recipes/icedtea/icedtea6-native_1.7.5.bb b/recipes/icedtea/icedtea6-native_1.7.5.bb index 308da11..373d1c4 100644 --- a/recipes/icedtea/icedtea6-native_1.7.5.bb +++ b/recipes/icedtea/icedtea6-native_1.7.5.bb @@ -24,6 +24,7 @@ ICEDTEA_PATCHES = "\ file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \ file://icedtea-jdk-sane-x86-arch.patch;apply=no \ file://icedtea-unbreak-float.patch;apply=no \ + file://icedtea-jdk-build-sizer-32-on-amd64.patch;apply=no \ " export DISTRIBUTION_PATCHES = "\ @@ -33,4 +34,5 @@ export DISTRIBUTION_PATCHES = "\ patches/icedtea-hotspot-make-arch-sane-for-x86.patch \ patches/icedtea-jdk-sane-x86-arch.patch \ patches/icedtea-unbreak-float.patch \ + patches/icedtea-jdk-build-sizer-32-on-amd64.patch \ "