make/bsd/makefiles/buildtree.make

changeset 3473
e8a4934564b2
parent 3304
8657ec177a14
child 3600
7292cff45988
     1.1 --- a/make/bsd/makefiles/buildtree.make	Tue Jan 24 14:07:03 2012 -0500
     1.2 +++ b/make/bsd/makefiles/buildtree.make	Tue Jan 24 19:33:14 2012 -0500
     1.3 @@ -162,20 +162,6 @@
     1.4    endif
     1.5  endif
     1.6  
     1.7 -ifeq ($(OS_VENDOR), Darwin)
     1.8 -  # MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214)
     1.9 -  ifeq ($(ALWAYS_PASS_TEST_GAMMA),)
    1.10 -    # ALWAYS_PASS_TEST_GAMMA wasn't set so we default to true on MacOS X
    1.11 -    # until MACOSX_PORT-214 is fixed
    1.12 -    ALWAYS_PASS_TEST_GAMMA=true
    1.13 -  endif
    1.14 -endif
    1.15 -ifeq ($(ALWAYS_PASS_TEST_GAMMA), true)
    1.16 -  TEST_GAMMA_STATUS= echo 'exit 0';
    1.17 -else
    1.18 -  TEST_GAMMA_STATUS=
    1.19 -endif
    1.20 -
    1.21  BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION=  JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
    1.22  
    1.23  BUILDTREE	= \
    1.24 @@ -353,12 +339,10 @@
    1.25  	$(BUILDTREE_COMMENT); \
    1.26  	[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
    1.27  	{ \
    1.28 -	echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
    1.29 -	echo "DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
    1.30  	echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
    1.31  	} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
    1.32  	echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
    1.33 -	echo "export JAVA_HOME LD_LIBRARY_PATH DYLD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
    1.34 +	echo "export JAVA_HOME CLASSPATH HOTSPOT_BUILD_USER"; \
    1.35  	) > $@
    1.36  
    1.37  env.csh: env.sh
    1.38 @@ -412,7 +396,7 @@
    1.39  JAVA_FLAG/64 = -d64
    1.40  
    1.41  WRONG_DATA_MODE_MSG = \
    1.42 -	echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
    1.43 +	echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
    1.44  
    1.45  CROSS_COMPILING_MSG = \
    1.46  	echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
    1.47 @@ -420,20 +404,78 @@
    1.48  test_gamma:  $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
    1.49  	@echo Creating $@ ...
    1.50  	$(QUIETLY) ( \
    1.51 -	echo '#!/bin/sh'; \
    1.52 +	echo "#!/bin/sh"; \
    1.53 +	echo ""; \
    1.54  	$(BUILDTREE_COMMENT); \
    1.55 -	echo '. ./env.sh'; \
    1.56 -	echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \
    1.57 -	echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
    1.58 -	echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
    1.59 -	echo "then"; \
    1.60 -	echo "  $(WRONG_DATA_MODE_MSG); exit 0;"; \
    1.61 +	echo ""; \
    1.62 +	echo "# Include environment settings for gamma run"; \
    1.63 +	echo ""; \
    1.64 +	echo ". ./env.sh"; \
    1.65 +	echo ""; \
    1.66 +	echo "# Do not run gamma test for cross compiles"; \
    1.67 +	echo ""; \
    1.68 +	echo "if [ -n \"$(CROSS_COMPILE_ARCH)\" ]; then "; \
    1.69 +	echo "  $(CROSS_COMPILING_MSG)"; \
    1.70 +	echo "  exit 0"; \
    1.71  	echo "fi"; \
    1.72 +	echo ""; \
    1.73 +	echo "# Make sure JAVA_HOME is set as it is required for gamma"; \
    1.74 +	echo ""; \
    1.75 +	echo "if [ -z \"\$${JAVA_HOME}\" ]; then "; \
    1.76 +	echo "  $(NO_JAVA_HOME_MSG)"; \
    1.77 +	echo "  exit 0"; \
    1.78 +	echo "fi"; \
    1.79 +	echo ""; \
    1.80 +	echo "# Check JAVA_HOME version to be used for the test"; \
    1.81 +	echo ""; \
    1.82 +	echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion > /dev/null 2>&1"; \
    1.83 +	echo "if [ \$$? -ne 0 ]; then "; \
    1.84 +	echo "  $(WRONG_DATA_MODE_MSG)"; \
    1.85 +	echo "  exit 0"; \
    1.86 +	echo "fi"; \
    1.87 +	echo ""; \
    1.88 +	echo "# Use gamma_g if it exists"; \
    1.89 +	echo ""; \
    1.90 +	echo "GAMMA_PROG=gamma"; \
    1.91 +	echo "if [ -f gamma_g ]; then "; \
    1.92 +	echo "  GAMMA_PROG=gamma_g"; \
    1.93 +	echo "fi"; \
    1.94 +	echo ""; \
    1.95 +	echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
    1.96 +	echo "  # Ensure architecture for gamma and JAVA_HOME is the same."; \
    1.97 +	echo "  # NOTE: gamma assumes the OpenJDK directory layout."; \
    1.98 +	echo ""; \
    1.99 +	echo "  GAMMA_ARCH=\"\`file \$${GAMMA_PROG} | awk '{print \$$NF}'\`\""; \
   1.100 +	echo "  JVM_LIB=\"\$${JAVA_HOME}/jre/lib/libjava.$(LIBRARY_SUFFIX)\""; \
   1.101 +	echo "  if [ ! -f \$${JVM_LIB} ]; then"; \
   1.102 +	echo "    JVM_LIB=\"\$${JAVA_HOME}/jre/lib/$${LIBARCH}/libjava.$(LIBRARY_SUFFIX)\""; \
   1.103 +	echo "  fi"; \
   1.104 +	echo "  if [ ! -f \$${JVM_LIB} ] || [ -z \"\`file \$${JVM_LIB} | grep \$${GAMMA_ARCH}\`\" ]; then "; \
   1.105 +	echo "    $(WRONG_DATA_MODE_MSG)"; \
   1.106 +	echo "    exit 0"; \
   1.107 +	echo "  fi"; \
   1.108 +	echo "fi"; \
   1.109 +	echo ""; \
   1.110 +	echo "# Compile Queens program for test"; \
   1.111 +	echo ""; \
   1.112  	echo "rm -f Queens.class"; \
   1.113  	echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
   1.114 -	echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
   1.115 -	echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
   1.116 -	$(TEST_GAMMA_STATUS) \
   1.117 +	echo ""; \
   1.118 +	echo "# Set library path solely for gamma launcher test run"; \
   1.119 +	echo ""; \
   1.120 +	echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
   1.121 +	echo "export LD_LIBRARY_PATH"; \
   1.122 +	echo "unset LD_LIBRARY_PATH_32"; \
   1.123 +	echo "unset LD_LIBRARY_PATH_64"; \
   1.124 +	echo ""; \
   1.125 +	echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
   1.126 +	echo "  DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/native_threads:\$${JAVA_HOME}/jre/lib:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
   1.127 +	echo "  export DYLD_LIBRARY_PATH"; \
   1.128 +	echo "fi"; \
   1.129 +	echo ""; \
   1.130 +	echo "# Use the gamma launcher and JAVA_HOME to run the test"; \
   1.131 +	echo ""; \
   1.132 +	echo "./\$${GAMMA_PROG} $(TESTFLAGS) Queens < /dev/null"; \
   1.133  	) > $@
   1.134  	$(QUIETLY) chmod +x $@
   1.135  

mercurial