diff options
Diffstat (limited to 'libjava/configure.in')
-rw-r--r-- | libjava/configure.in | 131 |
1 files changed, 130 insertions, 1 deletions
diff --git a/libjava/configure.in b/libjava/configure.in index 142cffa7902..fd524b413dc 100644 --- a/libjava/configure.in +++ b/libjava/configure.in @@ -32,8 +32,137 @@ AC_ARG_ENABLE(version-specific-runtime-libs, [version_specific_libs=no] ) +dnl Default to --enable-multilib +AC_ARG_ENABLE(multilib, +[ --enable-multilib build many library versions (default)], +[case "${enableval}" in + yes) multilib=yes ;; + no) multilib=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;; + esac], [multilib=yes])dnl + +dnl We may get other options which we don't document: +dnl --with-target-subdir, --with-multisrctop, --with-multisubdir + +# When building with srcdir == objdir, links to the source files will +# be created in directories within the target_subdir. We have to +# adjust toplevel_srcdir accordingly, so that configure finds +# install-sh and other auxiliary files that live in the top-level +# source directory. +if test "${srcdir}" = "."; then + if test -z "${with_target_subdir}"; then + toprel=".." + else + if test "${with_target_subdir}" != "."; then + toprel="${with_multisrctop}../.." + else + toprel="${with_multisrctop}.." + fi + fi +else + toprel=".." +fi + +libgcj_basedir=$srcdir/$toprel/./libjava +AC_SUBST(libgcj_basedir) + +AC_CONFIG_AUX_DIR(${srcdir}/$toprel) +if :; then :; else + # This overrides the previous occurrence for automake, but not for + # autoconf, which is exactly what we want. + AC_CONFIG_AUX_DIR(..) +fi + +# This works around an automake problem. +mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs" +AC_SUBST(mkinstalldirs) + +AC_CANONICAL_SYSTEM + +dnl This shouldn't be needed, as long as top-level dependencies are +dnl defined correctly and shared-library paths are set up so that +dnl execution tests succeed. FIXME. +define([AC_PROG_CC_WORKS],[]) +define([AC_PROG_CXX_WORKS],[]) + +AC_PROG_CC + +# We use the libstdc++-v3 version of LIB_AC_PROG_CXX, but use +# glibjava_CXX instead of glibcpp_CXX. That's because we're passed a +# different definition of CXX than other directories, since we don't +# depend on libstdc++-v3 having already been built. +AC_DEFUN(LIB_AC_PROG_CXX, +[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl +dnl Fool anybody using AC_PROG_CXX. +AC_PROVIDE([AC_PROG_CXX]) +# Use glibjava_CXX so that we do not cause CXX to be cached with the +# flags that come in CXX while configuring libjava. They're different +# from those used for all other target libraries. If CXX is set in +# the environment, respect that here. +glibjava_CXX=$CXX +AC_CHECK_PROGS(glibjava_CXX, $CCC c++ g++ gcc CC cxx cc++, gcc) +AC_SUBST(CXX) +CXX=$glibjava_CXX +test -z "$glibjava_CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH]) + +AC_PROG_CXX_GNU + +if test $ac_cv_prog_gxx = yes; then + GXX=yes +dnl Check whether -g works, even if CXXFLAGS is set, in case the package +dnl plays around with CXXFLAGS (such as to build both debugging and +dnl normal versions of a library), tasteless as that idea is. + ac_test_CXXFLAGS="${CXXFLAGS+set}" + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS= + AC_PROG_CXX_G + if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS="$ac_save_CXXFLAGS" + elif test $ac_cv_prog_cxx_g = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-O2" + fi +else + GXX= + test "${CXXFLAGS+set}" = set || CXXFLAGS="-g" +fi +]) + +LIB_AC_PROG_CXX + +dnl version is pulled out to make it a bit easier to change using sed. +version=0.0.7 +dnl Still use "libjava" here to placate dejagnu. +AM_INIT_AUTOMAKE(libjava, $version) + +AC_CHECK_TOOL(AS, as) +AC_CHECK_TOOL(AR, ar) +AC_CHECK_TOOL(RANLIB, ranlib, :) + +AC_PROG_INSTALL + +AM_MAINTAINER_MODE + +AC_EXEEXT + +# configure.host sets the following important variables +# libgcj_cflags - host specific C compiler flags +# libgcj_cxxflags - host specific C++ compiler flags +# libgcj_javaflags - host specific Java compiler flags + +libgcj_cflags= +libgcj_cxxflags= +libgcj_javaflags= + +. [$]{srcdir}/configure.host -LIBGCJ_CONFIGURE(.) +LIBGCJ_CFLAGS="[$]{libgcj_cflags}" +LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}" +LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}" +AC_SUBST(LIBGCJ_CFLAGS) +AC_SUBST(LIBGCJ_CXXFLAGS) +AC_SUBST(LIBGCJ_JAVAFLAGS) AM_CONFIG_HEADER(include/config.h gcj/libgcj-config.h) |