# HG changeset patch # User dcubed # Date 1323125716 28800 # Node ID 8657ec177a14014a6be595d1a9ee6861a5ca8f67 # Parent fde2a39ed7f39233b287fbc278f437aac06c275b 7117748: SA_APPLE_BOOT_JAVA and ALWAYS_PASS_TEST_GAMMA settings should not be required on MacOS X Summary: Replace SA_APPLE_BOOT_JAVA with logic that checks the boot JDK for the location of JDI classes. ALWAYS_PASS_TEST_GAMMA is true by default on Darwin. Reviewed-by: kvn, swingler diff -r fde2a39ed7f3 -r 8657ec177a14 make/bsd/makefiles/buildtree.make --- a/make/bsd/makefiles/buildtree.make Fri Nov 18 15:15:54 2011 -0800 +++ b/make/bsd/makefiles/buildtree.make Mon Dec 05 14:55:16 2011 -0800 @@ -55,6 +55,9 @@ # The makefiles are split this way so that "make foo" will run faster by not # having to read the dependency files for the vm. +# needs to be set here since this Makefile doesn't include defs.make +OS_VENDOR:=$(shell uname -s) + include $(GAMMADIR)/make/scm.make include $(GAMMADIR)/make/altsrc.make @@ -159,8 +162,15 @@ endif endif -# MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214) -ifdef ALWAYS_PASS_TEST_GAMMA +ifeq ($(OS_VENDOR), Darwin) + # MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214) + ifeq ($(ALWAYS_PASS_TEST_GAMMA),) + # ALWAYS_PASS_TEST_GAMMA wasn't set so we default to true on MacOS X + # until MACOSX_PORT-214 is fixed + ALWAYS_PASS_TEST_GAMMA=true + endif +endif +ifeq ($(ALWAYS_PASS_TEST_GAMMA), true) TEST_GAMMA_STATUS= echo 'exit 0'; else TEST_GAMMA_STATUS= diff -r fde2a39ed7f3 -r 8657ec177a14 make/bsd/makefiles/sa.make --- a/make/bsd/makefiles/sa.make Fri Nov 18 15:15:54 2011 -0800 +++ b/make/bsd/makefiles/sa.make Mon Dec 05 14:55:16 2011 -0800 @@ -37,11 +37,24 @@ TOPDIR = $(shell echo `pwd`) GENERATED = $(TOPDIR)/../generated -# tools.jar is needed by the JDI - SA binding -ifeq ($(SA_APPLE_BOOT_JAVA),true) - SA_CLASSPATH = $(BOOT_JAVA_HOME)/bundle/Classes/classes.jar +# SA-JDI depends on the standard JDI classes. +# Default SA_CLASSPATH location: +DEF_SA_CLASSPATH=$(BOOT_JAVA_HOME)/lib/tools.jar +ifeq ($(ALT_SA_CLASSPATH),) + # no alternate specified; see if default exists + SA_CLASSPATH=$(shell test -f $(DEF_SA_CLASSPATH) && echo $(DEF_SA_CLASSPATH)) + ifeq ($(SA_CLASSPATH),) + # the default doesn't exist + ifeq ($(OS_VENDOR), Darwin) + # A JDK from Apple doesn't have tools.jar; the JDI classes are + # are in the regular classes.jar file. + APPLE_JAR=$(BOOT_JAVA_HOME)/bundle/Classes/classes.jar + SA_CLASSPATH=$(shell test -f $(APPLE_JAR) && echo $(APPLE_JAR)) + endif + endif else - SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar + _JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)") + SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH)) endif # TODO: if it's a modules image, check if SA module is installed. @@ -72,8 +85,8 @@ echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ exit 1; \ fi - $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \ - echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\ + $(QUIETLY) if [ ! -f "$(SA_CLASSPATH)" -a ! -d $(MODULELIB_PATH) ] ; then \ + echo "Cannot find JDI classes. Use 1.6.0 or later version of JDK."; \ echo ""; \ exit 1; \ fi