make/bsd/makefiles/sa.make

changeset 3304
8657ec177a14
parent 3202
436b4a3231bf
child 4093
5a98bf7d847b
     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

mercurial