common/autoconf/toolchain.m4

Print this page
rev 902 : 8020779: Improve detection and handling of jtreg/jtdiff executable path
8026988: Makefile is confused if JT_HOME is a different location than jtreg executable
Reviewed-by: duke


1081     *)
1082       ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
1083   esac
1084   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
1085   AC_SUBST(ZERO_ARCHFLAG)
1086 
1087   # Check that the compiler supports -mX flags
1088   # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
1089   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
1090       [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
1091       [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
1092   AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
1093 ])
1094 
1095 # Setup the JTREG paths
1096 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
1097 [
1098   AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
1099       [Regression Test Harness @<:@probed@:>@])],
1100       [],
1101       [with_jtreg=no])
1102 
1103   if test "x$with_jtreg" = xno; then
1104     # jtreg disabled
1105     AC_MSG_CHECKING([for jtreg])
1106     AC_MSG_RESULT(no)



1107   else






1108     if test "x$with_jtreg" != xyes; then
1109       # with path specified.
1110       JT_HOME="$with_jtreg"
1111     fi
1112 
1113     if test "x$JT_HOME" != x; then
1114       AC_MSG_CHECKING([for jtreg])
1115 
1116       # use JT_HOME enviroment var.
1117       BASIC_FIXUP_PATH([JT_HOME])
1118 
1119       # jtreg win32 script works for everybody
1120       JTREGEXE="$JT_HOME/win32/bin/jtreg"



1121 
1122       if test ! -f "$JTREGEXE"; then
1123         AC_MSG_ERROR([JTReg executable does not exist: $JTREGEXE])
1124       fi
1125 
1126       AC_MSG_RESULT($JTREGEXE)










1127     else
1128       # try to find jtreg on path
1129       BASIC_REQUIRE_PROG(JTREGEXE, jtreg)
1130       JT_HOME="`$DIRNAME $JTREGEXE`"


























1131     fi
1132   fi
1133 
1134   AC_SUBST(JT_HOME)
1135   AC_SUBST(JTREGEXE)
1136 ])


1081     *)
1082       ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}"
1083   esac
1084   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
1085   AC_SUBST(ZERO_ARCHFLAG)
1086 
1087   # Check that the compiler supports -mX flags
1088   # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
1089   TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([-m${OPENJDK_TARGET_CPU_BITS}],
1090       [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
1091       [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
1092   AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
1093 ])
1094 
1095 # Setup the JTREG paths
1096 AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
1097 [
1098   AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
1099       [Regression Test Harness @<:@probed@:>@])],
1100       [],
1101       [with_jtreg=optional])
1102 
1103   if test "x$with_jtreg" = xno; then
1104     # jtreg disabled
1105     AC_MSG_CHECKING([for jtreg])
1106     AC_MSG_RESULT(no)
1107     # force undefine.
1108     JTREG=
1109     JTDIFF=
1110   else
1111     if test "x$with_jtreg" = xoptional; then
1112       # non-fatal if not found
1113       jtreg_optional=yes
1114       with_jtreg=yes
1115     fi
1116 
1117     if test "x$with_jtreg" != xyes; then
1118       # with path specified.
1119       JT_HOME="$with_jtreg"
1120     fi
1121 
1122     if test "x$JT_HOME" != x; then
1123       AC_MSG_CHECKING([for jtreg])
1124 
1125       # use JT_HOME enviroment var.
1126       BASIC_FIXUP_PATH([JT_HOME])
1127 
1128       # jtreg win32 script works for everybody
1129       JTREG="$JT_HOME/win32/bin/jtreg"
1130 
1131       # jtdiff win32 script works for everybody
1132       JTDIFF="$JT_HOME/win32/bin/jtdiff"
1133 
1134       if test ! -f "$JTREG"; then
1135         AC_MSG_ERROR([JTReg executable does not exist: $JTREG])
1136       fi
1137 
1138       if test ! -f "$JTDIFF"; then
1139         AC_MSG_ERROR([JTDiff executable does not exist: $JTDIFF])
1140       fi
1141 
1142       AC_MSG_RESULT($JTREG)
1143     else
1144       if test "x$jtreg_optional" != xyes; then
1145          # require that JTReg be on the path
1146          BASIC_REQUIRE_PROG(JTREG, jtreg)
1147          # require that JTDiff be on the path
1148          BASIC_REQUIRE_PROG(JTDIFF, jtdiff)
1149       else
1150          # check if JTReg is on the path
1151          AC_PATH_PROG(JTREG, jtreg)
1152          # check if JTDiff is on the path
1153          AC_PATH_PROG(JTDIFF, jtdiff)
1154       fi
1155     fi
1156 
1157     if test "x$JTREG" != x; then
1158       # check the jtreg version
1159       JTREG_REQUIRED_VERSION="4.1 fcs b07"
1160       AC_MSG_CHECKING([jtreg version])
1161       JTREG_VERSION="`$JTREG -version 2>&1 | $HEAD -n 1`"
1162       JTREGVER="`$ECHO $JTREG_VERSION | $SED -e "s/jtreg, version \([.]*\)/\1/g"`"
1163 #      if test "$JTREGVER" != "$JTREG_REQUIRED_VERSION"; then
1164 #        AC_MSG_ERROR([Unsupported JTReg version : $JTREGVER])
1165 #      fi
1166       AC_MSG_RESULT($JTREGVER)
1167     fi
1168 
1169     if test "x$JTDIFF" != x; then
1170       # check the jtdiff version
1171       JTDIFF_REQUIRED_VERSION="4.1 fcs b07"
1172       AC_MSG_CHECKING([jtdiff version])
1173       JTDIFF_VERSION="`$JTDIFF -version 2>&1 | $HEAD -n 1`"
1174       JTDIFFVER="`$ECHO $JTDIFF_VERSION | $SED -e "s/jtdiff, version \([.]*\)/\1/g"`"
1175 #      if test "$JTREGVER" != "$JTREG_REQUIRED_VERSION"; then
1176 #        AC_MSG_ERROR([Unsupported JTReg version : $JTREGVER])
1177 #      fi
1178       AC_MSG_RESULT($JTDIFFVER)
1179     fi
1180   fi
1181 
1182   AC_SUBST(JTREG)
1183   AC_SUBST(JTDIFF)
1184 ])