changeset 1550:802bb547f651

2009-05-18 Robert Schuster <robertschuster@fsfe.org> * acinclude.m4: Set TARGET_ARCH. * Makefile.am: Set TARGET_ARCH in IcedTea and IcedTea-ECJ builds when ENABLE_CROSS_COMPILATION is true. * patches/icedtea-explicit-target-arch.patch: New patch (SCA in place).
author Robert Schuster <robertschuster@fsfe.org>
date Tue, 19 May 2009 13:11:47 +0200
parents 84a527d1a06c
children 926c38e2b283
files ChangeLog Makefile.am acinclude.m4 patches/icedtea-explicit-target-arch.patch
diffstat 4 files changed, 92 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon May 18 22:07:21 2009 -0400
+++ b/ChangeLog	Tue May 19 13:11:47 2009 +0200
@@ -1,3 +1,10 @@
+2009-05-18  Robert Schuster  <robertschuster@fsfe.org>
+
+	* acinclude.m4: Set TARGET_ARCH.
+	* Makefile.am: Set TARGET_ARCH in IcedTea and IcedTea-ECJ builds
+	when ENABLE_CROSS_COMPILATION is true.
+	* patches/icedtea-explicit-target-arch.patch: New patch (SCA in place).
+
 2009-05-17  Lillian Angel  <langel@redhat.com>
 
 	* configure.ac: Set version back to 1.5.
--- a/Makefile.am	Mon May 18 22:07:21 2009 -0400
+++ b/Makefile.am	Tue May 19 13:11:47 2009 +0200
@@ -201,7 +201,8 @@
 
 if ENABLE_CROSS_COMPILATION
 ICEDTEA_ENV += \
-	"CROSS_COMPILATION=true"
+	"CROSS_COMPILATION=true" \
+	"TARGET_ARCH=$(TARGET_ARCH)"
 endif
 
 if USE_ALT_JAR
@@ -283,7 +284,8 @@
 
 if ENABLE_CROSS_COMPILATION
 ICEDTEA_ENV_ECJ += \
-	"CROSS_COMPILATION=true"
+	"CROSS_COMPILATION=true" \
+	"TARGET_ARCH=$(TARGET_ARCH)"
 endif
 
 env-ecj:
@@ -661,6 +663,7 @@
 	patches/icedtea-java2d-stroker-internal-joint.patch \
 	patches/icedtea-java2d-stroker-internal-close-joint.patch \
 	patches/icedtea-disable-cc-incompatible-sanity-checks.patch \
+	patches/icedtea-explicit-target-arch.patch \
 	$(DISTRIBUTION_PATCHES)
 
 stamps/extract.stamp: stamps/download.stamp
--- a/acinclude.m4	Mon May 18 22:07:21 2009 -0400
+++ b/acinclude.m4	Tue May 19 13:11:47 2009 +0200
@@ -5,65 +5,77 @@
       BUILD_ARCH_DIR=amd64
       INSTALL_ARCH_DIR=amd64
       JRE_ARCH_DIR=amd64
+      TARGET_ARCH=x86_64
       ;;
     i?86-*-*)
       BUILD_ARCH_DIR=i586
       INSTALL_ARCH_DIR=i386
       JRE_ARCH_DIR=i386
       ARCH_PREFIX=${LINUX32}
+      TARGET_ARCH=i386
       ;;
     alpha*-*-*)
       BUILD_ARCH_DIR=alpha
       INSTALL_ARCH_DIR=alpha
       JRE_ARCH_DIR=alpha
+      TARGET_ARCH=alpha
       ;;
     arm*-*-*)
       BUILD_ARCH_DIR=arm
       INSTALL_ARCH_DIR=arm
       JRE_ARCH_DIR=arm
+      TARGET_ARCH=arm
       ;;
     mips-*-*)
       BUILD_ARCH_DIR=mips
       INSTALL_ARCH_DIR=mips
       JRE_ARCH_DIR=mips
+      TARGET_ARCH=mips
        ;;
     mipsel-*-*)
       BUILD_ARCH_DIR=mipsel
       INSTALL_ARCH_DIR=mipsel
       JRE_ARCH_DIR=mipsel
+      TARGET_ARCH=mipsel
        ;;
     powerpc-*-*)
       BUILD_ARCH_DIR=ppc
       INSTALL_ARCH_DIR=ppc
       JRE_ARCH_DIR=ppc
       ARCH_PREFIX=${LINUX32}
+      TARGET_ARCH=ppc
        ;;
     powerpc64-*-*)
       BUILD_ARCH_DIR=ppc64
       INSTALL_ARCH_DIR=ppc64
       JRE_ARCH_DIR=ppc64
+      TARGET_ARCH=ppc64
        ;;
     sparc64-*-*)
       BUILD_ARCH_DIR=sparcv9
       INSTALL_ARCH_DIR=sparcv9
       JRE_ARCH_DIR=sparc64
+      TARGET_ARCH=sparc64
        ;;
     s390-*-*)
       BUILD_ARCH_DIR=s390
       INSTALL_ARCH_DIR=s390
       JRE_ARCH_DIR=s390
       ARCH_PREFIX=${LINUX32}
+      TARGET_ARCH=s390
        ;;
     *)
       BUILD_ARCH_DIR=`uname -m`
       INSTALL_ARCH_DIR=$BUILD_ARCH_DIR
       JRE_ARCH_DIR=$INSTALL_ARCH_DIR
+      TARGET_ARCH=$BUILD_ARCH_DIR
       ;;
   esac
   AC_SUBST(BUILD_ARCH_DIR)
   AC_SUBST(INSTALL_ARCH_DIR)
   AC_SUBST(JRE_ARCH_DIR)
   AC_SUBST(ARCH_PREFIX)
+  AC_SUBST(TARGET_ARCH)
 ])
 
 AC_DEFUN([SET_OS_DIRS],
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-explicit-target-arch.patch	Tue May 19 13:11:47 2009 +0200
@@ -0,0 +1,68 @@
+Index: openjdk/hotspot/make/linux/makefiles/defs.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/defs.make	2009-05-18 14:09:57.812930043 +0200
++++ openjdk/hotspot/make/linux/makefiles/defs.make	2009-05-18 14:30:46.318871170 +0200
+@@ -1,4 +1,4 @@
+-#
++
+ # Copyright 2006-2008 Sun Microsystems, Inc.  All Rights Reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+@@ -29,7 +29,11 @@
+ SLASH_JAVA ?= /java
+ 
+ # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
+-ARCH:=$(shell uname -m)
++ifndef CROSS_COMPILATION
++  ARCH:=$(shell uname -m)
++else
++  ARCH:=$(TARGET_ARCH)
++endif
+ PATH_SEP = :
+ ifeq ($(LP64), 1)
+   ARCH_DATA_MODEL ?= 64
+Index: openjdk/jdk/make/common/shared/Platform.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/shared/Platform.gmk	2009-05-18 14:09:57.950854863 +0200
++++ openjdk/jdk/make/common/shared/Platform.gmk	2009-05-18 14:18:59.387528133 +0200
+@@ -190,9 +190,13 @@
+   OS_NAME = linux
+   OS_VERSION := $(shell uname -r)
+   # Arch and OS name/version
+-  mach := $(shell uname -m)
+-  ifneq (,$(wildcard /usr/bin/dpkg-architecture))
+-    mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
++  ifndef CROSS_COMPILATION
++    mach := $(shell uname -m)
++    ifneq (,$(wildcard /usr/bin/dpkg-architecture))
++      mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
++    endif
++  else
++    mach := $(TARGET_ARCH)
+   endif
+   archExpr = case "$(mach)" in \
+                 i[3-9]86) \
+Index: openjdk/corba/make/common/shared/Platform.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/shared/Platform.gmk	2009-05-18 14:09:58.044921758 +0200
++++ openjdk/corba/make/common/shared/Platform.gmk	2009-05-18 14:17:30.760805124 +0200
+@@ -179,10 +179,15 @@
+   PLATFORM = linux
+   OS_NAME = linux
+   OS_VERSION := $(shell uname -r)
+-  # Arch and OS name/version
+-  mach := $(shell uname -m)
+-  ifneq (,$(wildcard /usr/bin/dpkg-architecture))
+-    mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
++  ifndef CROSS_COMPILATION
++    # Not cross-compiling. Take architecture from running system.
++    mach := $(shell uname -m)
++    ifneq (,$(wildcard /usr/bin/dpkg-architecture))
++      mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
++    endif
++  else
++    # Cross-compilation: Assume target archicture is given.
++    mach := $(TARGET_ARCH)
+   endif
+   archExpr = case "$(mach)" in \
+                 i[3-9]86) \