+ dnl It's a version of gcj >= 4.3. Assume the classfile versions are correct.
+ dnl Try gcj.
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then
+ dnl Try adding -fsource option if it is useful.
+ rm -f conftest.class
+ rm -f conftestfail.class
+ if { echo "$as_me:__oline__: gcj -C -fsource=$source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -fsource="$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \
+ && { echo "$as_me:__oline__: gcj -C -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftestfail.class \
+ && ! { echo "$as_me:__oline__: gcj -C -fsource=$source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -fsource="$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ }; then
+ CONF_JAVAC="gcj -C -fsource=$source_version"
+ HAVE_JAVAC_ENVVAR=1
+ HAVE_JAVACOMP=1
+ else
+ CONF_JAVAC="gcj -C"
+ HAVE_JAVAC_ENVVAR=1
+ HAVE_JAVACOMP=1
+ fi
+ else
+ dnl Try with -fsource and -ftarget options.
+ rm -f conftest.class
+ rm -f conftestfail.class
+ if { echo "$as_me:__oline__: gcj -C -fsource=$source_version -ftarget=$target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -fsource="$source_version" -ftarget="$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then
+ CONF_JAVAC="gcj -C -fsource=$source_version -ftarget=$target_version"
+ HAVE_JAVAC_ENVVAR=1
+ HAVE_JAVACOMP=1
+ fi
+ fi
+ else
+ dnl It's a version of gcj < 4.3. Ignore the version of conftest.class.
+ dnl Now test whether it supports the desired target-version and
+ dnl source-version.
+ if test "$target_version" = 1.4 && test "$source_version" = 1.4; then
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class; then
+ CONF_JAVAC="gcj -C"
+ HAVE_GCJ_C=1
+ HAVE_JAVACOMP=1
+ fi
+ else
+ if test "$target_version" = 1.4 && test "$source_version" = 1.3; then
+ dnl Try gcj and "gcj -fno-assert". But add -fno-assert only if
+ dnl it works (not gcj < 3.3).
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: gcj -C -fno-assert -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -fno-assert -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class; then
+ CONF_JAVAC="gcj -C -fno-assert"
+ HAVE_GCJ_C=1
+ HAVE_JAVACOMP=1
+ else
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: gcj -C -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ gcj -C -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class; then
+ CONF_JAVAC="gcj -C"
+ HAVE_GCJ_C=1
+ HAVE_JAVACOMP=1
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_JAVAC_IN_PATH"; then
+ dnl Test whether javac is usable.
+ if { javac -version >/dev/null 2>/dev/null || test $? -le 2; } \
+ && ( if javac -help 2>&1 >/dev/null | grep at.dms.kjc.Main >/dev/null && javac -help 2>/dev/null | grep 'released.*2000' >/dev/null ; then exit 1; else exit 0; fi ); then
+ dnl OK, javac works.
+ dnl Now test whether it supports the desired target-version and
+ dnl source-version.
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: javac -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ javac -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then
+ dnl Try adding -source option if it is useful.
+ rm -f conftest.class
+ rm -f conftestfail.class
+ if { echo "$as_me:__oline__: javac -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ javac -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \
+ && { echo "$as_me:__oline__: javac -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ javac -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftestfail.class \
+ && ! { echo "$as_me:__oline__: javac -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ javac -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ }; then
+ CONF_JAVAC="javac -source $source_version"
+ HAVE_JAVAC=1
+ HAVE_JAVACOMP=1
+ else
+ CONF_JAVAC="javac"
+ HAVE_JAVAC=1
+ HAVE_JAVACOMP=1
+ fi
+ else
+ dnl Try with -target option alone. (Sun javac 1.3.1 has the -target
+ dnl option but no -source option.)
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: javac -target $target_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ javac -target "$target_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then
+ dnl Try adding -source option if it is useful.
+ rm -f conftest.class
+ rm -f conftestfail.class
+ if { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ javac -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD \
+ && { echo "$as_me:__oline__: javac -target $target_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ javac -target "$target_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftestfail.class \
+ && ! { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftestfail.java" >&AS_MESSAGE_LOG_FD
+ javac -target "$target_version" -source "$source_version" -d . conftestfail.java >&AS_MESSAGE_LOG_FD 2>&1
+ }; then
+ CONF_JAVAC="javac -target $target_version -source $source_version"
+ HAVE_JAVAC=1
+ HAVE_JAVACOMP=1
+ else
+ CONF_JAVAC="javac -target $target_version"
+ HAVE_JAVAC=1
+ HAVE_JAVACOMP=1
+ fi
+ else
+ dnl Maybe this -target option requires a -source option? Try with
+ dnl -target and -source options. (Supported by Sun javac 1.4 and
+ dnl higher.)
+ rm -f conftest.class
+ if { echo "$as_me:__oline__: javac -target $target_version -source $source_version -d . conftest.java" >&AS_MESSAGE_LOG_FD
+ javac -target "$target_version" -source "$source_version" -d . conftest.java >&AS_MESSAGE_LOG_FD 2>&1
+ } \
+ && test -f conftest.class \
+ && expr `func_classfile_version conftest.class` '<=' $cfversion >/dev/null 2>&AS_MESSAGE_LOG_FD; then
+ CONF_JAVAC="javac -target $target_version -source $source_version"
+ HAVE_JAVAC=1
+ HAVE_JAVACOMP=1
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -z "$HAVE_JAVACOMP" && test -n "$HAVE_JIKES_IN_PATH"; then
+ dnl Test whether jikes is usable.
+ if { jikes >/dev/null 2>/dev/null || test $? = 1; } \
+ && (
+ # See if the existing CLASSPATH is sufficient to make jikes work.
+ unset JAVA_HOME
+ jikes conftestlib.java >&AS_MESSAGE_LOG_FD 2>&1
+ error=$?
+ rm -f conftestlib.class
+ exit $error
+ ); then
+ dnl OK, jikes works.
+ dnl Now test whether it supports the desired target-version and
+ dnl source-version.
+ if test "$source_version" = 1.3; then
+ CONF_JAVAC="jikes"
+ HAVE_JIKES=1
+ HAVE_JAVACOMP=1
+ fi
+ fi
+ fi
+ fi
+ rm -f conftest*.java conftest*.class
+ if test -n "$HAVE_JAVACOMP"; then
+ ac_result="$CONF_JAVAC"
+ else
+ ac_result="no"