changeset 3855:71fc00fc11be

Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs. The 'gamma' launcher only works with HotSpot based bootstrap JDKs because it uses the freshly build libjvm.so in the context and together with the class library of the boot JDK which was used to build it. This combination will not work for other JDKs.
author simonis
date Mon, 17 Mar 2014 13:40:34 +0000
parents 2fbc5b8d63b3
children 9747f83d7a38
files make/linux/makefiles/buildtree.make
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/make/linux/makefiles/buildtree.make	Thu Dec 26 19:52:45 2013 +0000
+++ b/make/linux/makefiles/buildtree.make	Mon Mar 17 13:40:34 2014 +0000
@@ -384,6 +384,7 @@
 DATA_MODE/sparcv9 = 64
 DATA_MODE/amd64   = 64
 DATA_MODE/ia64    = 64
+DATA_MODE/ppc64   = 64
 DATA_MODE/zero    = $(ARCH_DATA_MODEL)
 
 JAVA_FLAG/32 = -d32
@@ -392,6 +393,9 @@
 WRONG_DATA_MODE_MSG = \
 	echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
 
+WRONG_JDK_MSG = \
+	echo "JAVA_HOME must point to a HotSpot based JDK \\\(genuine Sun/Oracle or OpenJDK\\\)."
+
 CROSS_COMPILING_MSG = \
 	echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
 
@@ -428,6 +432,14 @@
 	echo "  exit 0"; \
 	echo "fi"; \
 	echo ""; \
+	echo "# 'gamma' only runs with HotSpot based JDKs (genuine Sun/Oracle or OpenJDK)"; \
+	echo ""; \
+	echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -version 2>&1 | grep -E 'OpenJDK|HotSpot' > /dev/null"; \
+	echo "if [ \$$? -ne 0 ]; then "; \
+	echo "  $(WRONG_JDK_MSG)"; \
+	echo "  exit 0"; \
+	echo "fi"; \
+	echo ""; \
 	echo "# Use gamma_g if it exists"; \
 	echo ""; \
 	echo "GAMMA_PROG=gamma"; \