source: trunk/third/gcc/libjava/acinclude.m4 @ 21199

Revision 21199, 10.5 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21198, which included commits to RCS files with non-trunk default branches.
Line 
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
Note: See TracBrowser for help on using the repository browser.