< prev index next >

make/autoconf/lib-tests.m4

Print this page
rev 52573 : 8061281: Microbenchmark suite build support, directory layout and sample benchmarks
8061282: Migrate jmh-jdk-microbenchmarks into the JDK
Reviewed-by: ecaspole, mchung, erikj, ihse
Contributed-by: magnus.ihse.bursie@oracle.com, erik.joelsson@oracle.com, claes.redestad@oracle.com, sfriberg@kth.se

*** 53,57 **** --- 53,119 ---- BASIC_FIXUP_PATH([GRAALUNIT_LIB]) AC_SUBST(GRAALUNIT_LIB) ]) + ############################################################################### + # + # Setup and check the Java Microbenchmark Harness + # + AC_DEFUN_ONCE([LIB_TESTS_SETUP_JMH], + [ + AC_ARG_WITH(jmh, [AS_HELP_STRING([--with-jmh], + [Java Microbenchmark Harness for building the OpenJDK Microbenchmark Suite])]) + + AC_MSG_CHECKING([for jmh (Java Microbenchmark Harness)]) + if test "x$with_jmh" = xno || test "x$with_jmh" = x; then + AC_MSG_RESULT([no, disabled]) + elif test "x$with_jmh" = xyes; then + AC_MSG_RESULT([no, error]) + AC_MSG_ERROR([--with-jmh requires a directory containing all jars needed by JMH]) + else + # Path specified + JMH_HOME="$with_jmh" + if test ! -d [$JMH_HOME]; then + AC_MSG_RESULT([no, error]) + AC_MSG_ERROR([$JMH_HOME does not exist or is not a directory]) + fi + BASIC_FIXUP_PATH([JMH_HOME]) + + jar_names="jmh-core jmh-generator-annprocess jopt-simple commons-math3" + for jar in $jar_names; do + found_jar_files=$($ECHO $(ls $JMH_HOME/$jar-*.jar 2> /dev/null)) + + if test "x$found_jar_files" = x; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([--with-jmh does not contain $jar-*.jar]) + elif ! test -e "$found_jar_files"; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([--with-jmh contain multiple $jar-*.jar: $found_jar_files]) + fi + + found_jar_var_name=found_${jar//-/_} + eval $found_jar_var_name='"'$found_jar_files'"' + done + AC_MSG_RESULT([yes]) + + JMH_CORE_JAR=$found_jmh_core + JMH_GENERATOR_JAR=$found_jmh_generator_annprocess + JMH_JOPT_SIMPLE_JAR=$found_jopt_simple + JMH_COMMONS_MATH_JAR=$found_commons_math3 + + + if [ [[ "$JMH_CORE_JAR" =~ jmh-core-(.*)\.jar$ ]] ] ; then + JMH_VERSION=${BASH_REMATCH[[1]]} + else + JMH_VERSION=unknown + fi + + AC_MSG_NOTICE([JMH core version: $JMH_VERSION]) + fi + + AC_SUBST(JMH_CORE_JAR) + AC_SUBST(JMH_GENERATOR_JAR) + AC_SUBST(JMH_JOPT_SIMPLE_JAR) + AC_SUBST(JMH_COMMONS_MATH_JAR) + AC_SUBST(JMH_VERSION) + ])
< prev index next >