blob: ca1af929b1dec8a7f4c61486069b09f31d527cc6 [file] [log] [blame]
dnl Used by aclocal to generate configure
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_FIND_JAVAC],
[
user_specified_javac=
CLASSPATH_WITH_GCJ
CLASSPATH_WITH_JIKES
CLASSPATH_WITH_KJC
CLASSPATH_WITH_GCJX
CLASSPATH_WITH_ECJ
if test "x${user_specified_javac}" = x; then
AM_CONDITIONAL(FOUND_GCJ, test "x${GCJ}" != x)
AM_CONDITIONAL(FOUND_JIKES, test "x${JIKES}" != x)
AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x)
else
AM_CONDITIONAL(FOUND_GCJ, test "x${user_specified_javac}" = xgcj)
AM_CONDITIONAL(FOUND_JIKES, test "x${user_specified_javac}" = xjikes)
AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj)
fi
AM_CONDITIONAL(FOUND_KJC, test "x${user_specified_javac}" = xkjc)
AM_CONDITIONAL(FOUND_GCJX, test "x${user_specified_javac}" = xgcjx)
if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx && test "x${user_specified_javac}" != xecj; then
AC_MSG_ERROR([cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx])
fi
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_GCJ],
[
AC_ARG_WITH([gcj],
[AS_HELP_STRING(--with-gcj,bytecode compilation with gcj)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_GCJ(${withval})
else
if test "x${withval}" != xno; then
CLASSPATH_CHECK_GCJ
fi
fi
user_specified_javac=gcj
],
[
CLASSPATH_CHECK_GCJ
])
AC_SUBST(GCJ)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_GCJ],
[
if test "x$1" != x; then
if test -f "$1"; then
GCJ="$1"
else
AC_PATH_PROG(GCJ, "$1")
fi
else
AC_PATH_PROG(GCJ, "gcj")
fi
dnl Test the given GCJ, but use it as C (!) compiler to check version
if test "x$GCJ" != x; then
AC_MSG_CHECKING([gcj version 4.0])
AC_LANG_PUSH([C])
AC_LANG_CONFTEST(
[[#if __GNUC__ <= 3
#error GCJ 4.0.0 or higher is required
#endif
]])
$GCJ -E conftest.c > /dev/null
gcj_4_result=$?
if test "x$gcj_4_result" = "x0"; then
AC_MSG_RESULT([4.0 or higher found])
else
AC_MSG_WARN([4.0 or higher required])
fi
AC_LANG_POP
fi
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_JIKES],
[
AC_ARG_WITH([jikes],
[AS_HELP_STRING(--with-jikes,bytecode compilation with jikes)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_JIKES(${withval})
else
if test "x${withval}" != xno; then
CLASSPATH_CHECK_JIKES
fi
fi
user_specified_javac=jikes
],
[
CLASSPATH_CHECK_JIKES
])
AC_SUBST(JIKES)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_JIKES],
[
if test "x$1" != x; then
if test -f "$1"; then
JIKES="$1"
else
AC_PATH_PROG(JIKES, "$1")
fi
else
AC_PATH_PROG(JIKES, "jikes")
fi
if test "x$JIKES" != "x"; then
dnl Require at least version 1.19
AC_MSG_CHECKING(jikes version)
JIKES_VERSION=`$JIKES --version | awk '/^Jikes Compiler/' | cut -d ' ' -f 5`
JIKES_VERSION_MAJOR=`echo "$JIKES_VERSION" | cut -d '.' -f 1`
JIKES_VERSION_MINOR=`echo "$JIKES_VERSION" | cut -d '.' -f 2`
if expr "$JIKES_VERSION_MAJOR" = 1 > /dev/null; then
if expr "$JIKES_VERSION_MINOR" \< 19 > /dev/null; then
JIKES=""
fi
fi
if test "x$JIKES" != "x"; then
AC_MSG_RESULT($JIKES_VERSION)
else
AC_MSG_WARN($JIKES_VERSION: jikes 1.19 or higher required)
fi
JIKESENCODING=
if test -n "`$JIKES --help 2>&1 | grep encoding`"; then
JIKESENCODING='-encoding UTF-8'
fi
AC_SUBST(JIKESENCODING)
JIKESWARNINGS="+Pno-switchcheck"
if test "x$JIKES_VERSION_MAJOR" = x"1" ; then
if ! test "x$JIKES_VERSION_MINOR" = x"19"; then
JIKESWARNINGS="$JIKESWARNINGS +Pno-shadow"
fi
fi
AC_SUBST(JIKESWARNINGS)
fi
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_KJC],
[
AC_ARG_WITH([kjc],
[AS_HELP_STRING(--with-kjc,bytecode compilation with kjc)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_KJC(${withval})
else
if test "x${withval}" != xno; then
CLASSPATH_CHECK_KJC
fi
fi
user_specified_javac=kjc
],
[
CLASSPATH_CHECK_KJC
])
AC_SUBST(KJC)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_KJC],
[
if test "x$1" != x; then
if test -f "$1"; then
KJC="$1"
else
AC_PATH_PROG(KJC, "$1")
fi
else
AC_PATH_PROG(KJC, "kJC")
fi
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_GCJX],
[
AC_ARG_WITH([gcjx],
[AS_HELP_STRING(--with-gcjx,bytecode compilation with gcjx)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_GCJX(${withval})
else
if test "x${withval}" != xno; then
CLASSPATH_CHECK_GCJX
fi
fi
user_specified_javac=gcjx
],
[
CLASSPATH_CHECK_GCJX
])
AC_SUBST(GCJX)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_GCJX],
[
if test "x$1" != x; then
if test -f "$1"; then
GCJX="$1"
else
AC_PATH_PROG(GCJX, "$1")
fi
else
AC_PATH_PROG(GCJX, "gcjx")
fi
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_JAVAH],
[
AC_ARG_WITH([javah],
[AS_HELP_STRING(--with-javah,specify path or name of a javah-like program)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_JAVAH(${withval})
else
CLASSPATH_CHECK_JAVAH
fi
],
[
CLASSPATH_CHECK_JAVAH
])
AM_CONDITIONAL(USER_SPECIFIED_JAVAH, test "x${USER_JAVAH}" != x)
AC_SUBST(USER_JAVAH)
])
dnl -----------------------------------------------------------
dnl Checking for a javah like program
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_JAVAH],
[
if test "x$1" != x; then
if test -f "$1"; then
USER_JAVAH="$1"
else
AC_PATH_PROG(USER_JAVAH, "$1")
fi
else
for javah_name in gcjh javah; do
AC_PATH_PROG(USER_JAVAH, "$javah_name")
if test "x${USER_JAVAH}" != x; then
break
fi
done
fi
# if test "x${USER_JAVAH}" = x; then
# echo "configure: cannot find javah" 1>&2
# exit 1
# fi
])
dnl -----------------------------------------------------------
dnl CLASSPATH_WITH_CLASSLIB - checks for user specified classpath additions
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_CLASSLIB],
[
AC_ARG_WITH([classpath],
[AS_HELP_STRING(--with-classpath,specify path to a classes.zip like file)],
[
if test "x${withval}" = xyes; then
# set user classpath to CLASSPATH from env
AC_MSG_CHECKING(for classlib)
USER_CLASSLIB=${CLASSPATH}
AC_SUBST(USER_CLASSLIB)
AC_MSG_RESULT(${USER_CLASSLIB})
conditional_with_classlib=true
elif test "x${withval}" != x && test "x${withval}" != xno; then
# set user classpath to specified value
AC_MSG_CHECKING(for classlib)
USER_CLASSLIB=${withval}
AC_SUBST(USER_CLASSLIB)
AC_MSG_RESULT(${withval})
conditional_with_classlib=true
fi
],
[ conditional_with_classlib=false ])
AM_CONDITIONAL(USER_SPECIFIED_CLASSLIB, test "x${conditional_with_classlib}" = xtrue)
AC_ARG_WITH([vm-classes],
[AS_HELP_STRING(--with-vm-classes,specify path to VM override source files)], [vm_classes="$with_vm_classes"],
[vm_classes='${top_srcdir}/vm/reference'])
AC_SUBST(vm_classes)
])
dnl -----------------------------------------------------------
dnl CLASSPATH_WITH_GLIBJ - specify what to install
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_GLIBJ],
[
AC_PATH_PROG(ZIP, zip)
AC_ARG_WITH([fastjar],
[AS_HELP_STRING([--with-fastjar=PATH], [define to use a fastjar style tool])],
[
AC_MSG_CHECKING([for user supplied fastjar])
FASTJAR=${withval}
AC_MSG_RESULT([${FASTJAR}])
],
[AC_PATH_PROG(FASTJAR, fastjar)])
dnl We disable ZIP by default if we find fastjar.
if test x"${FASTJAR}" != x; then
ZIP=""
fi
AC_ARG_WITH([glibj],
[AS_HELP_STRING([--with-glibj],[define what to install (zip|flat|both|none|build) [default=zip]])],
[
if test "x${withval}" = xyes || test "x${withval}" = xzip; then
install_class_files=no
build_class_files=yes
use_zip=yes
elif test "x${withval}" = xboth; then
install_class_files=yes
build_class_files=yes
use_zip=yes
elif test "x${withval}" = xflat; then
install_class_files=yes
build_class_files=yes
use_zip=no
elif test "x${withval}" = xno || test "x${withval}" = xnone; then
install_class_files=no
build_class_files=no
use_zip=no
elif test "x${withval}" = xbuild; then
install_class_files=no
build_class_files=yes
use_zip=no
else
AC_MSG_ERROR([unknown value given to --with-glibj])
fi
],
[
install_class_files=no
use_zip=yes
])
AM_CONDITIONAL(INSTALL_GLIBJ_ZIP, test "x${use_zip}" = xyes)
AM_CONDITIONAL(INSTALL_CLASS_FILES, test "x${install_class_files}" = xyes)
AM_CONDITIONAL(BUILD_CLASS_FILES, test "x${build_class_files}" = xyes)
AC_ARG_ENABLE([examples],
[AS_HELP_STRING(--enable-examples,enable build of the examples [default=yes])],
[case "${enableval}" in
yes) EXAMPLESDIR="examples" ;;
no) EXAMPLESDIR="" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-examples) ;;
esac],
[EXAMPLESDIR="examples"])
if test "x${use_zip}" = xno && test "x${install_class_files}" = xno; then
EXAMPLESDIR=""
fi
AC_SUBST(EXAMPLESDIR)
])
dnl -----------------------------------------------------------
dnl Enable generation of API documentation, with gjdoc if it
dnl has been compiled to an executable (or a suitable script
dnl is in your PATH) or using the argument as gjdoc executable.
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_GJDOC],
[
AC_ARG_WITH([gjdoc],
AS_HELP_STRING([--with-gjdoc],
[generate documentation using gjdoc (default is NO)]),
[if test "x${withval}" = xno; then
WITH_GJDOC=no;
elif test "x${withval}" = xyes -o "x{withval}" = x; then
WITH_GJDOC=yes;
AC_PATH_PROG(GJDOC, gjdoc, "no")
if test "x${GJDOC}" = xno; then
AC_MSG_ERROR("gjdoc executable not found");
fi
else
WITH_GJDOC=yes
GJDOC="${withval}"
AC_CHECK_FILE(${GJDOC}, AC_SUBST(GJDOC),
AC_MSG_ERROR("Cannot use ${withval} as gjdoc executable since it doesn't exist"))
fi],
[WITH_GJDOC=no])
AM_CONDITIONAL(CREATE_API_DOCS, test "x${WITH_GJDOC}" = xyes)
])
dnl -----------------------------------------------------------
dnl Enable regeneration of parsers using jay
dnl http://www.informatik.uni-osnabrueck.de/alumni/bernd/jay/
dnl -----------------------------------------------------------
AC_DEFUN([REGEN_WITH_JAY],
[
AC_ARG_WITH([jay],
[AS_HELP_STRING(--with-jay,Regenerate the parsers with jay must be given the path to the jay executable)],
[
if test -d "${withval}"; then
JAY_DIR_PATH="${withval}"
AC_PATH_PROG(JAY, jay, "no", ${JAY_DIR_PATH})
if test "x${JAY}" = xno; then
AC_MSG_ERROR("jay executable not found");
fi
else
JAY_DIR_PATH=`dirname "${withval}"`
JAY="${withval}"
AC_SUBST(JAY)
fi
JAY_SKELETON="${JAY_DIR_PATH}/skeleton"
AC_CHECK_FILE(${JAY_SKELETON}, AC_SUBST(JAY_SKELETON),
AC_MSG_ERROR("Expected skeleton file in `dirname ${withval}`"))
JAY_FOUND=yes
],
[
JAY_FOUND=no
])
AM_CONDITIONAL(REGEN_PARSERS, test "x${JAY_FOUND}" = xyes)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_ECJ],
[
AC_ARG_WITH([ecj],
[AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)],
[
if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
CLASSPATH_CHECK_ECJ(${withval})
else
if test "x${withval}" != xno; then
CLASSPATH_CHECK_ECJ
fi
fi
user_specified_javac=ecj
],
[
CLASSPATH_CHECK_ECJ
])
AC_SUBST(ECJ)
])
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_CHECK_ECJ],
[
if test "x$1" != x; then
if test -f "$1"; then
ECJ="$1"
else
AC_PATH_PROG(ECJ, "$1")
fi
else
AC_PATH_PROG(ECJ, "ecj")
fi
])
dnl -----------------------------------------------------------
dnl GCJ LOCAL: Calculate toolexeclibdir
dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_TOOLEXECLIBDIR],
[
multi_os_directory=`$CC -print-multi-os-directory`
case $multi_os_directory in
.) toolexeclibdir=${libdir} ;; # Avoid trailing /.
*) toolexeclibdir=${libdir}/${multi_os_directory} ;;
esac
AC_SUBST(toolexeclibdir)
])