1.1 --- a/make/bsd/makefiles/sa.make Fri Nov 18 15:15:54 2011 -0800 1.2 +++ b/make/bsd/makefiles/sa.make Mon Dec 05 14:55:16 2011 -0800 1.3 @@ -37,11 +37,24 @@ 1.4 TOPDIR = $(shell echo `pwd`) 1.5 GENERATED = $(TOPDIR)/../generated 1.6 1.7 -# tools.jar is needed by the JDI - SA binding 1.8 -ifeq ($(SA_APPLE_BOOT_JAVA),true) 1.9 - SA_CLASSPATH = $(BOOT_JAVA_HOME)/bundle/Classes/classes.jar 1.10 +# SA-JDI depends on the standard JDI classes. 1.11 +# Default SA_CLASSPATH location: 1.12 +DEF_SA_CLASSPATH=$(BOOT_JAVA_HOME)/lib/tools.jar 1.13 +ifeq ($(ALT_SA_CLASSPATH),) 1.14 + # no alternate specified; see if default exists 1.15 + SA_CLASSPATH=$(shell test -f $(DEF_SA_CLASSPATH) && echo $(DEF_SA_CLASSPATH)) 1.16 + ifeq ($(SA_CLASSPATH),) 1.17 + # the default doesn't exist 1.18 + ifeq ($(OS_VENDOR), Darwin) 1.19 + # A JDK from Apple doesn't have tools.jar; the JDI classes are 1.20 + # are in the regular classes.jar file. 1.21 + APPLE_JAR=$(BOOT_JAVA_HOME)/bundle/Classes/classes.jar 1.22 + SA_CLASSPATH=$(shell test -f $(APPLE_JAR) && echo $(APPLE_JAR)) 1.23 + endif 1.24 + endif 1.25 else 1.26 - SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar 1.27 + _JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)") 1.28 + SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH)) 1.29 endif 1.30 1.31 # TODO: if it's a modules image, check if SA module is installed. 1.32 @@ -72,8 +85,8 @@ 1.33 echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ 1.34 exit 1; \ 1.35 fi 1.36 - $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \ 1.37 - echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\ 1.38 + $(QUIETLY) if [ ! -f "$(SA_CLASSPATH)" -a ! -d $(MODULELIB_PATH) ] ; then \ 1.39 + echo "Cannot find JDI classes. Use 1.6.0 or later version of JDK."; \ 1.40 echo ""; \ 1.41 exit 1; \ 1.42 fi