Comments
Patch
new file mode 100644
@@ -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.
@@ -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 \
@@ -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 \
"
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 <msmith@cbnco.com> Cc: Henning Heinold <heinold@inf.fu-berlin.de> --- .../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