1sinclude(../config/accross.m4) 2 3AC_DEFUN(LIBGCJ_CONFIGURE, 4[ 5dnl Default to --enable-multilib 6AC_ARG_ENABLE(multilib, 7[ --enable-multilib build many library versions (default)], 8[case "${enableval}" in 9 yes) multilib=yes ;; 10 no) multilib=no ;; 11 *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;; 12 esac], [multilib=yes])dnl 13 14dnl We may get other options which we don't document: 15dnl --with-target-subdir, --with-multisrctop, --with-multisubdir 16 17# When building with srcdir == objdir, links to the source files will 18# be created in directories within the target_subdir. We have to 19# adjust toplevel_srcdir accordingly, so that configure finds 20# install-sh and other auxiliary files that live in the top-level 21# source directory. 22if test "${srcdir}" = "."; then 23 if test -z "${with_target_subdir}"; then 24 toprel=".." 25 else 26 if test "${with_target_subdir}" != "."; then 27 toprel="${with_multisrctop}../.." 28 else 29 toprel="${with_multisrctop}.." 30 fi 31 fi 32else 33 toprel=".." 34fi 35 36libgcj_basedir=$srcdir/$toprel/$1/libjava 37AC_SUBST(libgcj_basedir) 38 39AC_CONFIG_AUX_DIR(${srcdir}/$toprel) 40if :; then :; else 41 # This overrides the previous occurrence for automake, but not for 42 # autoconf, which is exactly what we want. 43 AC_CONFIG_AUX_DIR(..) 44fi 45 46# This works around an automake problem. 47mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs" 48AC_SUBST(mkinstalldirs) 49 50AC_CANONICAL_SYSTEM 51 52dnl This shouldn't be needed, as long as top-level dependencies are 53dnl defined correctly and shared-library paths are set up so that 54dnl execution tests succeed. FIXME. 55define([AC_PROG_CC_WORKS],[]) 56define([AC_PROG_CXX_WORKS],[]) 57 58AC_PROG_CC 59 60# We use the libstdc++-v3 version of LIB_AC_PROG_CXX, but use 61# glibjava_CXX instead of glibcpp_CXX. That's because we're passed a 62# different definition of CXX than other directories, since we don't 63# depend on libstdc++-v3 having already been built. 64AC_DEFUN(LIB_AC_PROG_CXX, 65[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl 66dnl Fool anybody using AC_PROG_CXX. 67AC_PROVIDE([AC_PROG_CXX]) 68# Use glibjava_CXX so that we do not cause CXX to be cached with the 69# flags that come in CXX while configuring libjava. They're different 70# from those used for all other target libraries. If CXX is set in 71# the environment, respect that here. 72glibjava_CXX=$CXX 73AC_CHECK_PROGS(glibjava_CXX, $CCC c++ g++ gcc CC cxx cc++, gcc) 74AC_SUBST(CXX) 75CXX=$glibjava_CXX 76test -z "$glibjava_CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH]) 77 78AC_PROG_CXX_GNU 79 80if test $ac_cv_prog_gxx = yes; then 81 GXX=yes 82dnl Check whether -g works, even if CXXFLAGS is set, in case the package 83dnl plays around with CXXFLAGS (such as to build both debugging and 84dnl normal versions of a library), tasteless as that idea is. 85 ac_test_CXXFLAGS="${CXXFLAGS+set}" 86 ac_save_CXXFLAGS="$CXXFLAGS" 87 CXXFLAGS= 88 AC_PROG_CXX_G 89 if test "$ac_test_CXXFLAGS" = set; then 90 CXXFLAGS="$ac_save_CXXFLAGS" 91 elif test $ac_cv_prog_cxx_g = yes; then 92 CXXFLAGS="-g -O2" 93 else 94 CXXFLAGS="-O2" 95 fi 96else 97 GXX= 98 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g" 99fi 100]) 101 102LIB_AC_PROG_CXX 103 104dnl version is pulled out to make it a bit easier to change using sed. 105version=0.0.7 106dnl Still use "libjava" here to placate dejagnu. 107AM_INIT_AUTOMAKE(libjava, $version) 108 109AC_CHECK_TOOL(AS, as) 110AC_CHECK_TOOL(AR, ar) 111AC_CHECK_TOOL(RANLIB, ranlib, :) 112 113AC_PROG_INSTALL 114 115AM_MAINTAINER_MODE 116 117AC_EXEEXT 118 119# configure.host sets the following important variables 120# libgcj_cflags - host specific C compiler flags 121# libgcj_cxxflags - host specific C++ compiler flags 122# libgcj_javaflags - host specific Java compiler flags 123 124libgcj_cflags= 125libgcj_cxxflags= 126libgcj_javaflags= 127 128. [$]{srcdir}/configure.host 129 130LIBGCJ_CFLAGS="[$]{libgcj_cflags}" 131LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}" 132LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}" 133AC_SUBST(LIBGCJ_CFLAGS) 134AC_SUBST(LIBGCJ_CXXFLAGS) 135AC_SUBST(LIBGCJ_JAVAFLAGS) 136])dnl 137 138sinclude(../libtool.m4) 139dnl The lines below arrange for aclocal not to bring libtool.m4 140dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake 141dnl to add a definition of LIBTOOL to Makefile.in. 142ifelse(yes,no,[ 143AC_DEFUN([AM_PROG_LIBTOOL],) 144AC_DEFUN([AC_LIBTOOL_DLOPEN],) 145AC_DEFUN([AC_LIBLTDL_CONVENIENCE],) 146AC_DEFUN([LT_AC_PROG_GCJ],) 147AC_SUBST(GCJ) 148AC_SUBST(LIBTOOL) 149]) 150 151#serial AM2 152 153dnl From Bruno Haible. 154 155AC_DEFUN([AM_ICONV], 156[ 157 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and 158 dnl those with the standalone portable GNU libiconv installed). 159 160 am_cv_lib_iconv_ldpath= 161 AC_ARG_WITH([libiconv-prefix], 162[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ 163 for dir in `echo "$withval" | tr : ' '`; do 164 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi 165 if test -d $dir/lib; then am_cv_lib_iconv_ldpath="-L$dir/lib"; fi 166 done 167 ]) 168 169 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ 170 am_cv_func_iconv="no, consider installing GNU libiconv" 171 am_cv_lib_iconv=no 172 AC_TRY_LINK([#include <stdlib.h> 173#include <iconv.h>], 174 [iconv_t cd = iconv_open("",""); 175 iconv(cd,NULL,NULL,NULL,NULL); 176 iconv_close(cd);], 177 am_cv_func_iconv=yes) 178 if test "$am_cv_func_iconv" != yes; then 179 am_save_LIBS="$LIBS" 180 LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" 181 AC_TRY_LINK([#include <stdlib.h> 182#include <iconv.h>], 183 [iconv_t cd = iconv_open("",""); 184 iconv(cd,NULL,NULL,NULL,NULL); 185 iconv_close(cd);], 186 am_cv_lib_iconv=yes 187 am_cv_func_iconv=yes) 188 LIBS="$am_save_LIBS" 189 fi 190 ]) 191 if test "$am_cv_func_iconv" = yes; then 192 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 193 AC_MSG_CHECKING([for iconv declaration]) 194 AC_CACHE_VAL(am_cv_proto_iconv, [ 195 AC_TRY_COMPILE([ 196#include <stdlib.h> 197#include <iconv.h> 198extern 199#ifdef __cplusplus 200"C" 201#endif 202#if defined(__STDC__) || defined(__cplusplus) 203size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 204#else 205size_t iconv(); 206#endif 207], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") 208 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) 209 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` 210 AC_MSG_RESULT([$]{ac_t:- 211 }[$]am_cv_proto_iconv) 212 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, 213 [Define as const if the declaration of iconv() needs const.]) 214 fi 215 LIBICONV= 216 if test "$am_cv_lib_iconv" = yes; then 217 LIBICONV="$am_cv_lib_iconv_ldpath -liconv" 218 fi 219 AC_SUBST(LIBICONV) 220]) 221 222# Check whether LC_MESSAGES is available in <locale.h>. 223# Ulrich Drepper <drepper@cygnus.com>, 1995. 224# 225# This file can be copied and used freely without restrictions. It can 226# be used in projects which are not available under the GNU General Public 227# License or the GNU Library General Public License but which still want 228# to provide support for the GNU gettext functionality. 229# Please note that the actual code of the GNU gettext library is covered 230# by the GNU Library General Public License, and the rest of the GNU 231# gettext package package is covered by the GNU General Public License. 232# They are *not* in the public domain. 233 234# serial 2 235 236AC_DEFUN([AM_LC_MESSAGES], 237 [AC_CHECK_HEADERS(locale.h) 238 if test $ac_cv_header_locale_h = yes; then 239 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, 240 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], 241 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) 242 if test $am_cv_val_LC_MESSAGES = yes; then 243 AC_DEFINE(HAVE_LC_MESSAGES, 1, 244 [Define if your <locale.h> file defines LC_MESSAGES.]) 245 fi 246 fi]) 247 248AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD], 249[ 250AC_MSG_CHECKING(whether 'ld' is at least 2.13) 251LD_PROG=`$CC --print-prog-name=ld` 252LD_VERSION=`$LD_PROG --version` 253LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4` 254LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2` 255if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then 256 LD_OK="ok" 257else 258 if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then 259 LD_OK="ok" 260 fi 261fi 262if test "x$LD_OK" != x; then 263 AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR]) 264else 265 AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR]) 266 AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...]) 267 AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1, 268 [Indicate that linker is not able to 8-byte align static data]) 269fi[]dnl 270])# CHECK_FOR_BROKEN_MINGW_LD 271 272dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) 273dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page 274dnl also defines GSTUFF_PKG_ERRORS on error 275AC_DEFUN(PKG_CHECK_MODULES, [ 276 succeeded=no 277 278 if test -z "$PKG_CONFIG"; then 279 AC_PATH_PROG(PKG_CONFIG, pkg-config, no) 280 fi 281 282 if test "$PKG_CONFIG" = "no" ; then 283 echo "*** The pkg-config script could not be found. Make sure it is" 284 echo "*** in your path, or set the PKG_CONFIG environment variable" 285 echo "*** to the full path to pkg-config." 286 echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." 287 else 288 PKG_CONFIG_MIN_VERSION=0.9.0 289 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then 290 AC_MSG_CHECKING(for $2) 291 292 if $PKG_CONFIG --exists "$2" ; then 293 AC_MSG_RESULT(yes) 294 succeeded=yes 295 296 AC_MSG_CHECKING($1_CFLAGS) 297 $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` 298 AC_MSG_RESULT($$1_CFLAGS) 299 300 AC_MSG_CHECKING($1_LIBS) 301 $1_LIBS=`$PKG_CONFIG --libs "$2"` 302 AC_MSG_RESULT($$1_LIBS) 303 else 304 $1_CFLAGS="" 305 $1_LIBS="" 306 ## If we have a custom action on failure, don't print errors, but 307 ## do set a variable so people can do so. 308 $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` 309 ifelse([$4], ,echo $$1_PKG_ERRORS,) 310 fi 311 312 AC_SUBST($1_CFLAGS) 313 AC_SUBST($1_LIBS) 314 else 315 echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." 316 echo "*** See http://www.freedesktop.org/software/pkgconfig" 317 fi 318 fi 319 320 if test $succeeded = yes; then 321 ifelse([$3], , :, [$3]) 322 else 323 ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) 324 fi 325]) 326 327 328