PR c++/11595
[official-gcc.git] / libjava / aclocal.m4
blob29e3a1a2a97ba1ef4ca4336d25ac02b2cc4a5171
1 dnl aclocal.m4 generated automatically by aclocal 1.4
3 dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 dnl This program is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 dnl PARTICULAR PURPOSE.
13 sinclude(../config/accross.m4)
15 AC_DEFUN(LIBGCJ_CONFIGURE,
17 dnl Default to --enable-multilib
18 AC_ARG_ENABLE(multilib,
19 [  --enable-multilib       build many library versions (default)],
20 [case "${enableval}" in
21   yes) multilib=yes ;;
22   no)  multilib=no ;;
23   *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
24  esac], [multilib=yes])dnl
26 dnl We may get other options which we don't document:
27 dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
29 # When building with srcdir == objdir, links to the source files will
30 # be created in directories within the target_subdir.  We have to
31 # adjust toplevel_srcdir accordingly, so that configure finds
32 # install-sh and other auxiliary files that live in the top-level
33 # source directory.
34 if test "${srcdir}" = "."; then
35   if test -z "${with_target_subdir}"; then
36     toprel=".."
37   else
38     if test "${with_target_subdir}" != "."; then
39       toprel="${with_multisrctop}../.."
40     else
41       toprel="${with_multisrctop}.."
42     fi
43   fi
44 else
45   toprel=".."
48 libgcj_basedir=$srcdir/$toprel/$1/libjava
49 AC_SUBST(libgcj_basedir)
51 AC_CONFIG_AUX_DIR(${srcdir}/$toprel)
52 if :; then :; else
53   # This overrides the previous occurrence for automake, but not for
54   # autoconf, which is exactly what we want.
55   AC_CONFIG_AUX_DIR(..)
58 # This works around an automake problem.
59 mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
60 AC_SUBST(mkinstalldirs)
62 AC_CANONICAL_SYSTEM
64 dnl This shouldn't be needed, as long as top-level dependencies are
65 dnl defined correctly and shared-library paths are set up so that
66 dnl execution tests succeed.  FIXME.
67 define([AC_PROG_CC_WORKS],[])
68 define([AC_PROG_CXX_WORKS],[])
70 AC_PROG_CC
72 # We use the libstdc++-v3 version of LIB_AC_PROG_CXX, but use
73 # glibjava_CXX instead of glibcpp_CXX.  That's because we're passed a
74 # different definition of CXX than other directories, since we don't
75 # depend on libstdc++-v3 having already been built.
76 AC_DEFUN(LIB_AC_PROG_CXX,
77 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
78 dnl Fool anybody using AC_PROG_CXX.
79 AC_PROVIDE([AC_PROG_CXX])
80 # Use glibjava_CXX so that we do not cause CXX to be cached with the
81 # flags that come in CXX while configuring libjava.  They're different
82 # from those used for all other target libraries.  If CXX is set in
83 # the environment, respect that here.
84 glibjava_CXX=$CXX
85 AC_CHECK_PROGS(glibjava_CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
86 AC_SUBST(CXX)
87 CXX=$glibjava_CXX
88 test -z "$glibjava_CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
90 AC_PROG_CXX_GNU
92 if test $ac_cv_prog_gxx = yes; then
93   GXX=yes
94 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
95 dnl plays around with CXXFLAGS (such as to build both debugging and
96 dnl normal versions of a library), tasteless as that idea is.
97   ac_test_CXXFLAGS="${CXXFLAGS+set}"
98   ac_save_CXXFLAGS="$CXXFLAGS"
99   CXXFLAGS=
100   AC_PROG_CXX_G
101   if test "$ac_test_CXXFLAGS" = set; then
102     CXXFLAGS="$ac_save_CXXFLAGS"
103   elif test $ac_cv_prog_cxx_g = yes; then
104     CXXFLAGS="-g -O2"
105   else
106     CXXFLAGS="-O2"
107   fi
108 else
109   GXX=
110   test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
114 LIB_AC_PROG_CXX
116 dnl version is pulled out to make it a bit easier to change using sed.
117 version=0.0.7
118 dnl Still use "libjava" here to placate dejagnu.
119 AM_INIT_AUTOMAKE(libjava, $version)
121 AC_CHECK_TOOL(AS, as)
122 AC_CHECK_TOOL(AR, ar)
123 AC_CHECK_TOOL(RANLIB, ranlib, :)
125 AC_PROG_INSTALL
127 AM_MAINTAINER_MODE
129 AC_EXEEXT
131 # configure.host sets the following important variables
132 #       libgcj_cflags    - host specific C compiler flags
133 #       libgcj_cxxflags  - host specific C++ compiler flags
134 #       libgcj_javaflags - host specific Java compiler flags
136 libgcj_cflags=
137 libgcj_cxxflags=
138 libgcj_javaflags=
140 . [$]{srcdir}/configure.host
142 LIBGCJ_CFLAGS="[$]{libgcj_cflags}"
143 LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}"
144 LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}"
145 AC_SUBST(LIBGCJ_CFLAGS)
146 AC_SUBST(LIBGCJ_CXXFLAGS)
147 AC_SUBST(LIBGCJ_JAVAFLAGS)
148 ])dnl
150 sinclude(../libtool.m4)
151 dnl The lines below arrange for aclocal not to bring libtool.m4
152 dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake
153 dnl to add a definition of LIBTOOL to Makefile.in.
154 ifelse(yes,no,[
155 AC_DEFUN([AM_PROG_LIBTOOL],)
156 AC_DEFUN([AC_LIBTOOL_DLOPEN],)
157 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],)
158 AC_DEFUN([LT_AC_PROG_GCJ],)
159 AC_SUBST(GCJ)
160 AC_SUBST(LIBTOOL)
163 #serial AM2
165 dnl From Bruno Haible.
167 AC_DEFUN([AM_ICONV],
169   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
170   dnl those with the standalone portable GNU libiconv installed).
172   am_cv_lib_iconv_ldpath=
173   AC_ARG_WITH([libiconv-prefix],
174 [  --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib], [
175     for dir in `echo "$withval" | tr : ' '`; do
176       if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
177       if test -d $dir/lib; then am_cv_lib_iconv_ldpath="-L$dir/lib"; fi
178     done
179    ])
181   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
182     am_cv_func_iconv="no, consider installing GNU libiconv"
183     am_cv_lib_iconv=no
184     AC_TRY_LINK([#include <stdlib.h>
185 #include <iconv.h>],
186       [iconv_t cd = iconv_open("","");
187        iconv(cd,NULL,NULL,NULL,NULL);
188        iconv_close(cd);],
189       am_cv_func_iconv=yes)
190     if test "$am_cv_func_iconv" != yes; then
191       am_save_LIBS="$LIBS"
192       LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
193       AC_TRY_LINK([#include <stdlib.h>
194 #include <iconv.h>],
195         [iconv_t cd = iconv_open("","");
196          iconv(cd,NULL,NULL,NULL,NULL);
197          iconv_close(cd);],
198         am_cv_lib_iconv=yes
199         am_cv_func_iconv=yes)
200       LIBS="$am_save_LIBS"
201     fi
202   ])
203   if test "$am_cv_func_iconv" = yes; then
204     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
205     AC_MSG_CHECKING([for iconv declaration])
206     AC_CACHE_VAL(am_cv_proto_iconv, [
207       AC_TRY_COMPILE([
208 #include <stdlib.h>
209 #include <iconv.h>
210 extern
211 #ifdef __cplusplus
213 #endif
214 #if defined(__STDC__) || defined(__cplusplus)
215 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
216 #else
217 size_t iconv();
218 #endif
219 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
220       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);"])
221     am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
222     AC_MSG_RESULT([$]{ac_t:-
223          }[$]am_cv_proto_iconv)
224     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
225       [Define as const if the declaration of iconv() needs const.])
226   fi
227   LIBICONV=
228   if test "$am_cv_lib_iconv" = yes; then
229     LIBICONV="$am_cv_lib_iconv_ldpath -liconv"
230   fi
231   AC_SUBST(LIBICONV)
234 # Check whether LC_MESSAGES is available in <locale.h>.
235 # Ulrich Drepper <drepper@cygnus.com>, 1995.
237 # This file can be copied and used freely without restrictions.  It can
238 # be used in projects which are not available under the GNU General Public
239 # License or the GNU Library General Public License but which still want
240 # to provide support for the GNU gettext functionality.
241 # Please note that the actual code of the GNU gettext library is covered
242 # by the GNU Library General Public License, and the rest of the GNU
243 # gettext package package is covered by the GNU General Public License.
244 # They are *not* in the public domain.
246 # serial 2
248 AC_DEFUN([AM_LC_MESSAGES],
249   [if test $ac_cv_header_locale_h = yes; then
250     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
251       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
252        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
253     if test $am_cv_val_LC_MESSAGES = yes; then
254       AC_DEFINE(HAVE_LC_MESSAGES, 1,
255         [Define if your <locale.h> file defines LC_MESSAGES.])
256     fi
257   fi])
259 AC_DEFUN([CHECK_FOR_BROKEN_MINGW_LD],
261 AC_MSG_CHECKING(whether 'ld' is at least 2.13)
262 LD_PROG=`$CC --print-prog-name=ld`
263 LD_VERSION=`$LD_PROG --version`
264 LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
265 LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
266 if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
267   LD_OK="ok"
268 else
269   if expr "$LD_VERSION_MAJOR" = 2 && expr "$LD_VERSION_MINOR" \>= 13 > /dev/null; then
270     LD_OK="ok"
271   fi
273 if test "x$LD_OK" != x; then
274   AC_MSG_RESULT([yes; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
275 else
276   AC_MSG_RESULT([no; major=$LD_VERSION_MAJOR, minor=$LD_VERSION_MINOR])
277   AC_MSG_WARN([ld <2.13 detected; enabling JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS hack...])
278   AC_DEFINE(JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS, 1,
279             [Indicate that linker is not able to 8-byte align static data])
280 fi[]dnl
281 ])# CHECK_FOR_BROKEN_MINGW_LD
283 # Do all the work for Automake.  This macro actually does too much --
284 # some checks are only needed if your package does certain things.
285 # But this isn't really a big deal.
287 # serial 1
289 dnl Usage:
290 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
292 AC_DEFUN(AM_INIT_AUTOMAKE,
293 [AC_REQUIRE([AC_PROG_INSTALL])
294 PACKAGE=[$1]
295 AC_SUBST(PACKAGE)
296 VERSION=[$2]
297 AC_SUBST(VERSION)
298 dnl test to see if srcdir already configured
299 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
300   AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
302 ifelse([$3],,
303 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
304 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
305 AC_REQUIRE([AM_SANITY_CHECK])
306 AC_REQUIRE([AC_ARG_PROGRAM])
307 dnl FIXME This is truly gross.
308 missing_dir=`cd $ac_aux_dir && pwd`
309 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
310 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
311 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
312 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
313 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
314 AC_REQUIRE([AC_PROG_MAKE_SET])])
317 # Check to make sure that the build environment is sane.
320 AC_DEFUN(AM_SANITY_CHECK,
321 [AC_MSG_CHECKING([whether build environment is sane])
322 # Just in case
323 sleep 1
324 echo timestamp > conftestfile
325 # Do `set' in a subshell so we don't clobber the current shell's
326 # arguments.  Must try -L first in case configure is actually a
327 # symlink; some systems play weird games with the mod time of symlinks
328 # (eg FreeBSD returns the mod time of the symlink's containing
329 # directory).
330 if (
331    set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
332    if test "[$]*" = "X"; then
333       # -L didn't work.
334       set X `ls -t $srcdir/configure conftestfile`
335    fi
336    if test "[$]*" != "X $srcdir/configure conftestfile" \
337       && test "[$]*" != "X conftestfile $srcdir/configure"; then
339       # If neither matched, then we have a broken ls.  This can happen
340       # if, for instance, CONFIG_SHELL is bash and it inherits a
341       # broken ls alias from the environment.  This has actually
342       # happened.  Such a system could not be considered "sane".
343       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
344 alias in your environment])
345    fi
347    test "[$]2" = conftestfile
348    )
349 then
350    # Ok.
351    :
352 else
353    AC_MSG_ERROR([newly created file is older than distributed files!
354 Check your system clock])
356 rm -f conftest*
357 AC_MSG_RESULT(yes)])
359 dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
360 dnl The program must properly implement --version.
361 AC_DEFUN(AM_MISSING_PROG,
362 [AC_MSG_CHECKING(for working $2)
363 # Run test in a subshell; some versions of sh will print an error if
364 # an executable is not found, even if stderr is redirected.
365 # Redirect stdin to placate older versions of autoconf.  Sigh.
366 if ($2 --version) < /dev/null > /dev/null 2>&1; then
367    $1=$2
368    AC_MSG_RESULT(found)
369 else
370    $1="$3/missing $2"
371    AC_MSG_RESULT(missing)
373 AC_SUBST($1)])
375 # Add --enable-maintainer-mode option to configure.
376 # From Jim Meyering
378 # serial 1
380 AC_DEFUN(AM_MAINTAINER_MODE,
381 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
382   dnl maintainer-mode is disabled by default
383   AC_ARG_ENABLE(maintainer-mode,
384 [  --enable-maintainer-mode enable make rules and dependencies not useful
385                           (and sometimes confusing) to the casual installer],
386       USE_MAINTAINER_MODE=$enableval,
387       USE_MAINTAINER_MODE=no)
388   AC_MSG_RESULT($USE_MAINTAINER_MODE)
389   AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
390   MAINT=$MAINTAINER_MODE_TRUE
391   AC_SUBST(MAINT)dnl
395 # Define a conditional.
397 AC_DEFUN(AM_CONDITIONAL,
398 [AC_SUBST($1_TRUE)
399 AC_SUBST($1_FALSE)
400 if $2; then
401   $1_TRUE=
402   $1_FALSE='#'
403 else
404   $1_TRUE='#'
405   $1_FALSE=
406 fi])
408 # Like AC_CONFIG_HEADER, but automatically create stamp file.
410 AC_DEFUN(AM_CONFIG_HEADER,
411 [AC_PREREQ([2.12])
412 AC_CONFIG_HEADER([$1])
413 dnl When config.status generates a header, we must update the stamp-h file.
414 dnl This file resides in the same directory as the config header
415 dnl that is generated.  We must strip everything past the first ":",
416 dnl and everything past the last "/".
417 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
418 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
419 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
420 <<am_indx=1
421 for am_file in <<$1>>; do
422   case " <<$>>CONFIG_HEADERS " in
423   *" <<$>>am_file "*<<)>>
424     echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
425     ;;
426   esac
427   am_indx=`expr "<<$>>am_indx" + 1`
428 done<<>>dnl>>)
429 changequote([,]))])
431 # Configure paths for GTK+
432 # Owen Taylor     1997-2001
434 dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
435 dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, 
436 dnl pass to pkg-config
438 AC_DEFUN(AM_PATH_GTK_2_0,
439 [dnl 
440 dnl Get the cflags and libraries from pkg-config
442 AC_ARG_ENABLE(gtktest, [  --disable-gtktest       do not try to compile and run a test GTK+ program],
443                     , enable_gtktest=yes)
445   pkg_config_args=gtk+-2.0
446   for module in . $4
447   do
448       case "$module" in
449          gthread) 
450              pkg_config_args="$pkg_config_args gthread-2.0"
451          ;;
452       esac
453   done
455   no_gtk=""
457   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
459   if test x$PKG_CONFIG != xno ; then
460     if pkg-config --atleast-pkgconfig-version 0.7 ; then
461       :
462     else
463       echo *** pkg-config too old; version 0.7 or better required.
464       no_gtk=yes
465       PKG_CONFIG=no
466     fi
467   else
468     no_gtk=yes
469   fi
471   min_gtk_version=ifelse([$1], ,2.0.0,$1)
472   AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
474   if test x$PKG_CONFIG != xno ; then
475     ## don't try to run the test against uninstalled libtool libs
476     if $PKG_CONFIG --uninstalled $pkg_config_args; then
477           echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
478           enable_gtktest=no
479     fi
481     if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
482           :
483     else
484           no_gtk=yes
485     fi
486   fi
488   if test x"$no_gtk" = x ; then
489     GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
490     GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
491     gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
492            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
493     gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
494            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
495     gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
496            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
497     if test "x$enable_gtktest" = "xyes" ; then
498       ac_save_CFLAGS="$CFLAGS"
499       ac_save_LIBS="$LIBS"
500       CFLAGS="$CFLAGS $GTK_CFLAGS"
501       LIBS="$GTK_LIBS $LIBS"
503 dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
504 dnl checks the results of pkg-config to some extent)
506       rm -f conf.gtktest
507       AC_TRY_RUN([
508 #include <gtk/gtk.h>
509 #include <stdio.h>
510 #include <stdlib.h>
512 int 
513 main ()
515   int major, minor, micro;
516   char *tmp_version;
518   system ("touch conf.gtktest");
520   /* HP/UX 9 (%@#!) writes to sscanf strings */
521   tmp_version = g_strdup("$min_gtk_version");
522   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
523      printf("%s, bad version string\n", "$min_gtk_version");
524      exit(1);
525    }
527   if ((gtk_major_version != $gtk_config_major_version) ||
528       (gtk_minor_version != $gtk_config_minor_version) ||
529       (gtk_micro_version != $gtk_config_micro_version))
530     {
531       printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", 
532              $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
533              gtk_major_version, gtk_minor_version, gtk_micro_version);
534       printf ("*** was found! If pkg-config was correct, then it is best\n");
535       printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
536       printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
537       printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
538       printf("*** required on your system.\n");
539       printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
540       printf("*** to point to the correct configuration files\n");
541     } 
542   else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
543            (gtk_minor_version != GTK_MINOR_VERSION) ||
544            (gtk_micro_version != GTK_MICRO_VERSION))
545     {
546       printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
547              GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
548       printf("*** library (version %d.%d.%d)\n",
549              gtk_major_version, gtk_minor_version, gtk_micro_version);
550     }
551   else
552     {
553       if ((gtk_major_version > major) ||
554         ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
555         ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
556       {
557         return 0;
558        }
559      else
560       {
561         printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
562                gtk_major_version, gtk_minor_version, gtk_micro_version);
563         printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
564                major, minor, micro);
565         printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
566         printf("***\n");
567         printf("*** If you have already installed a sufficiently new version, this error\n");
568         printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
569         printf("*** being found. The easiest way to fix this is to remove the old version\n");
570         printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
571         printf("*** correct copy of pkg-config. (In this case, you will have to\n");
572         printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
573         printf("*** so that the correct libraries are found at run-time))\n");
574       }
575     }
576   return 1;
578 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
579        CFLAGS="$ac_save_CFLAGS"
580        LIBS="$ac_save_LIBS"
581      fi
582   fi
583   if test "x$no_gtk" = x ; then
584      AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
585      ifelse([$2], , :, [$2])     
586   else
587      AC_MSG_RESULT(no)
588      if test "$PKG_CONFIG" = "no" ; then
589        echo "*** A new enough version of pkg-config was not found."
590        echo "*** See http://pkgconfig.sourceforge.net"
591      else
592        if test -f conf.gtktest ; then
593         :
594        else
595           echo "*** Could not run GTK+ test program, checking why..."
596           ac_save_CFLAGS="$CFLAGS"
597           ac_save_LIBS="$LIBS"
598           CFLAGS="$CFLAGS $GTK_CFLAGS"
599           LIBS="$LIBS $GTK_LIBS"
600           AC_TRY_LINK([
601 #include <gtk/gtk.h>
602 #include <stdio.h>
603 ],      [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
604         [ echo "*** The test program compiled, but did not run. This usually means"
605           echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
606           echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
607           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
608           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
609           echo "*** is required on your system"
610           echo "***"
611           echo "*** If you have an old version installed, it is best to remove it, although"
612           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
613         [ echo "*** The test program failed to compile or link. See the file config.log for the"
614           echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
615           CFLAGS="$ac_save_CFLAGS"
616           LIBS="$ac_save_LIBS"
617        fi
618      fi
619      GTK_CFLAGS=""
620      GTK_LIBS=""
621      ifelse([$3], , :, [$3])
622   fi
623   AC_SUBST(GTK_CFLAGS)
624   AC_SUBST(GTK_LIBS)
625   rm -f conf.gtktest
628 # Configure paths for GLIB
629 # Owen Taylor     1997-2001
631 dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
632 dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or 
633 dnl gthread is specified in MODULES, pass to pkg-config
635 AC_DEFUN(AM_PATH_GLIB_2_0,
636 [dnl 
637 dnl Get the cflags and libraries from pkg-config
639 AC_ARG_ENABLE(glibtest, [  --disable-glibtest      do not try to compile and run a test GLIB program],
640                     , enable_glibtest=yes)
642   pkg_config_args=glib-2.0
643   for module in . $4
644   do
645       case "$module" in
646          gmodule) 
647              pkg_config_args="$pkg_config_args gmodule-2.0"
648          ;;
649          gobject) 
650              pkg_config_args="$pkg_config_args gobject-2.0"
651          ;;
652          gthread) 
653              pkg_config_args="$pkg_config_args gthread-2.0"
654          ;;
655       esac
656   done
658   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
660   no_glib=""
662   if test x$PKG_CONFIG != xno ; then
663     if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
664       :
665     else
666       echo *** pkg-config too old; version 0.7 or better required.
667       no_glib=yes
668       PKG_CONFIG=no
669     fi
670   else
671     no_glib=yes
672   fi
674   min_glib_version=ifelse([$1], ,2.0.0,$1)
675   AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
677   if test x$PKG_CONFIG != xno ; then
678     ## don't try to run the test against uninstalled libtool libs
679     if $PKG_CONFIG --uninstalled $pkg_config_args; then
680           echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
681           enable_glibtest=no
682     fi
684     if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
685           :
686     else
687           no_glib=yes
688     fi
689   fi
691   if test x"$no_glib" = x ; then
692     GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
693     GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
694     GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
696     GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
697     GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
698     glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
699            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
700     glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
701            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
702     glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
703            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
704     if test "x$enable_glibtest" = "xyes" ; then
705       ac_save_CFLAGS="$CFLAGS"
706       ac_save_LIBS="$LIBS"
707       CFLAGS="$CFLAGS $GLIB_CFLAGS"
708       LIBS="$GLIB_LIBS $LIBS"
710 dnl Now check if the installed GLIB is sufficiently new. (Also sanity
711 dnl checks the results of pkg-config to some extent)
713       rm -f conf.glibtest
714       AC_TRY_RUN([
715 #include <glib.h>
716 #include <stdio.h>
717 #include <stdlib.h>
719 int 
720 main ()
722   int major, minor, micro;
723   char *tmp_version;
725   system ("touch conf.glibtest");
727   /* HP/UX 9 (%@#!) writes to sscanf strings */
728   tmp_version = g_strdup("$min_glib_version");
729   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
730      printf("%s, bad version string\n", "$min_glib_version");
731      exit(1);
732    }
734   if ((glib_major_version != $glib_config_major_version) ||
735       (glib_minor_version != $glib_config_minor_version) ||
736       (glib_micro_version != $glib_config_micro_version))
737     {
738       printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", 
739              $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
740              glib_major_version, glib_minor_version, glib_micro_version);
741       printf ("*** was found! If pkg-config was correct, then it is best\n");
742       printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
743       printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
744       printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
745       printf("*** required on your system.\n");
746       printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
747       printf("*** to point to the correct configuration files\n");
748     } 
749   else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
750            (glib_minor_version != GLIB_MINOR_VERSION) ||
751            (glib_micro_version != GLIB_MICRO_VERSION))
752     {
753       printf("*** GLIB header files (version %d.%d.%d) do not match\n",
754              GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
755       printf("*** library (version %d.%d.%d)\n",
756              glib_major_version, glib_minor_version, glib_micro_version);
757     }
758   else
759     {
760       if ((glib_major_version > major) ||
761         ((glib_major_version == major) && (glib_minor_version > minor)) ||
762         ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
763       {
764         return 0;
765        }
766      else
767       {
768         printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
769                glib_major_version, glib_minor_version, glib_micro_version);
770         printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
771                major, minor, micro);
772         printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
773         printf("***\n");
774         printf("*** If you have already installed a sufficiently new version, this error\n");
775         printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
776         printf("*** being found. The easiest way to fix this is to remove the old version\n");
777         printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
778         printf("*** correct copy of pkg-config. (In this case, you will have to\n");
779         printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
780         printf("*** so that the correct libraries are found at run-time))\n");
781       }
782     }
783   return 1;
785 ],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
786        CFLAGS="$ac_save_CFLAGS"
787        LIBS="$ac_save_LIBS"
788      fi
789   fi
790   if test "x$no_glib" = x ; then
791      AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version))
792      ifelse([$2], , :, [$2])     
793   else
794      AC_MSG_RESULT(no)
795      if test "$PKG_CONFIG" = "no" ; then
796        echo "*** A new enough version of pkg-config was not found."
797        echo "*** See http://www.freedesktop.org/software/pkgconfig/"
798      else
799        if test -f conf.glibtest ; then
800         :
801        else
802           echo "*** Could not run GLIB test program, checking why..."
803           ac_save_CFLAGS="$CFLAGS"
804           ac_save_LIBS="$LIBS"
805           CFLAGS="$CFLAGS $GLIB_CFLAGS"
806           LIBS="$LIBS $GLIB_LIBS"
807           AC_TRY_LINK([
808 #include <glib.h>
809 #include <stdio.h>
810 ],      [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
811         [ echo "*** The test program compiled, but did not run. This usually means"
812           echo "*** that the run-time linker is not finding GLIB or finding the wrong"
813           echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
814           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
815           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
816           echo "*** is required on your system"
817           echo "***"
818           echo "*** If you have an old version installed, it is best to remove it, although"
819           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
820         [ echo "*** The test program failed to compile or link. See the file config.log for the"
821           echo "*** exact error that occured. This usually means GLIB is incorrectly installed."])
822           CFLAGS="$ac_save_CFLAGS"
823           LIBS="$ac_save_LIBS"
824        fi
825      fi
826      GLIB_CFLAGS=""
827      GLIB_LIBS=""
828      GLIB_GENMARSHAL=""
829      GOBJECT_QUERY=""
830      GLIB_MKENUMS=""
831      ifelse([$3], , :, [$3])
832   fi
833   AC_SUBST(GLIB_CFLAGS)
834   AC_SUBST(GLIB_LIBS)
835   AC_SUBST(GLIB_GENMARSHAL)
836   AC_SUBST(GOBJECT_QUERY)
837   AC_SUBST(GLIB_MKENUMS)
838   rm -f conf.glibtest
841 # Configure paths for LIBART
842 # Raph Levien 98-11-18
843 # stolen from Manish Singh    98-9-30
844 # stolen back from Frank Belew
845 # stolen from Manish Singh
846 # Shamelessly stolen from Owen Taylor
848 dnl AM_PATH_LIBART([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
849 dnl Test for LIBART, and define LIBART_CFLAGS and LIBART_LIBS
851 AC_DEFUN(AM_PATH_LIBART,
852 [dnl 
853 dnl Get the cflags and libraries from the libart-config script
855 AC_ARG_WITH(libart-prefix,[  --with-libart-prefix=PFX   Prefix where LIBART is installed (optional)],
856             libart_prefix="$withval", libart_prefix="")
857 AC_ARG_WITH(libart-exec-prefix,[  --with-libart-exec-prefix=PFX Exec prefix where LIBART is installed (optional)],
858             libart_exec_prefix="$withval", libart_exec_prefix="")
859 AC_ARG_ENABLE(libarttest, [  --disable-libarttest       Do not try to compile and run a test LIBART program],
860                     , enable_libarttest=yes)
862   if test x$libart_exec_prefix != x ; then
863      libart_args="$libart_args --exec-prefix=$libart_exec_prefix"
864      if test x${LIBART_CONFIG+set} != xset ; then
865         LIBART_CONFIG=$libart_exec_prefix/bin/libart-config
866      fi
867   fi
868   if test x$libart_prefix != x ; then
869      libart_args="$libart_args --prefix=$libart_prefix"
870      if test x${LIBART_CONFIG+set} != xset ; then
871         LIBART_CONFIG=$libart_prefix/bin/libart-config
872      fi
873   fi
875   AC_PATH_PROG(LIBART_CONFIG, libart2-config, no)
876   if test "$LIBART_CONFIG" = "no" ; then
877     AC_PATH_PROG(LIBART_CONFIG, libart-config, no)
878   fi
879   min_libart_version=ifelse([$1], ,0.2.5,$1)
880   AC_MSG_CHECKING(for LIBART - version >= $min_libart_version)
881   no_libart=""
882   if test "$LIBART_CONFIG" = "no" ; then
883     no_libart=yes
884   else
885     LIBART_CFLAGS=`$LIBART_CONFIG $libartconf_args --cflags`
886     LIBART_LIBS=`$LIBART_CONFIG $libartconf_args --libs`
888     libart_major_version=`$LIBART_CONFIG $libart_args --version | \
889            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
890     libart_minor_version=`$LIBART_CONFIG $libart_args --version | \
891            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
892     libart_micro_version=`$LIBART_CONFIG $libart_config_args --version | \
893            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
894     if test "x$enable_libarttest" = "xyes" ; then
895       ac_save_CFLAGS="$CFLAGS"
896       ac_save_LIBS="$LIBS"
897       CFLAGS="$CFLAGS $LIBART_CFLAGS"
898       LIBS="$LIBS $LIBART_LIBS"
900 dnl Now check if the installed LIBART is sufficiently new. (Also sanity
901 dnl checks the results of libart-config to some extent
903       rm -f conf.libarttest
904       AC_TRY_RUN([
905 #include <stdio.h>
906 #include <stdlib.h>
907 #include <string.h>
908 #include <libart_lgpl/libart.h>
910 char*
911 my_strdup (char *str)
913   char *new_str;
914   
915   if (str)
916     {
917       new_str = malloc ((strlen (str) + 1) * sizeof(char));
918       strcpy (new_str, str);
919     }
920   else
921     new_str = NULL;
922   
923   return new_str;
926 int main ()
928   int major, minor, micro;
929   char *tmp_version;
931   system ("touch conf.libarttest");
933   /* HP/UX 9 (%@#!) writes to sscanf strings */
934   tmp_version = my_strdup("$min_libart_version");
935   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
936      printf("%s, bad version string\n", "$min_libart_version");
937      exit(1);
938    }
940    if (($libart_major_version > major) ||
941       (($libart_major_version == major) && ($libart_minor_version > minor)) ||
942       (($libart_major_version == major) && ($libart_minor_version == minor) && ($libart_micro_version >= micro)))
943     {
944       return 0;
945     }
946   else
947     {
948       printf("\n*** 'libart-config --version' returned %d.%d.%d, but the minimum version\n", $libart_major_version, $libart_minor_version, $libart_micro_version);
949       printf("*** of LIBART required is %d.%d.%d. If libart-config is correct, then it is\n", major, minor, micro);
950       printf("*** best to upgrade to the required version.\n");
951       printf("*** If libart-config was wrong, set the environment variable LIBART_CONFIG\n");
952       printf("*** to point to the correct copy of libart-config, and remove the file\n");
953       printf("*** config.cache before re-running configure\n");
954       return 1;
955     }
958 ],, no_libart=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
959        CFLAGS="$ac_save_CFLAGS"
960        LIBS="$ac_save_LIBS"
961      fi
962   fi
963   if test "x$no_libart" = x ; then
964      AC_MSG_RESULT(yes)
965      ifelse([$2], , :, [$2])     
966   else
967      AC_MSG_RESULT(no)
968      if test "$LIBART_CONFIG" = "no" ; then
969        echo "*** The libart-config script installed by LIBART could not be found"
970        echo "*** If LIBART was installed in PREFIX, make sure PREFIX/bin is in"
971        echo "*** your path, or set the LIBART_CONFIG environment variable to the"
972        echo "*** full path to libart-config."
973      else
974        if test -f conf.libarttest ; then
975         :
976        else
977           echo "*** Could not run LIBART test program, checking why..."
978           CFLAGS="$CFLAGS $LIBART_CFLAGS"
979           LIBS="$LIBS $LIBART_LIBS"
980           AC_TRY_LINK([
981 #include <stdio.h>
982 #include <libart_lgpl/libart.h>
983 ],      [ return 0; ],
984         [ echo "*** The test program compiled, but did not run. This usually means"
985           echo "*** that the run-time linker is not finding LIBART or finding the wrong"
986           echo "*** version of LIBART. If it is not finding LIBART, you'll need to set your"
987           echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
988           echo "*** to the installed location  Also, make sure you have run ldconfig if that"
989           echo "*** is required on your system"
990           echo "***"
991           echo "*** If you have an old version installed, it is best to remove it, although"
992           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
993         [ echo "*** The test program failed to compile or link. See the file config.log for the"
994           echo "*** exact error that occured. This usually means LIBART was incorrectly installed"
995           echo "*** or that you have moved LIBART since it was installed. In the latter case, you"
996           echo "*** may want to edit the libart-config script: $LIBART_CONFIG" ])
997           CFLAGS="$ac_save_CFLAGS"
998           LIBS="$ac_save_LIBS"
999        fi
1000      fi
1001      LIBART_CFLAGS=""
1002      LIBART_LIBS=""
1003      ifelse([$3], , :, [$3])
1004   fi
1005   AC_SUBST(LIBART_CFLAGS)
1006   AC_SUBST(LIBART_LIBS)
1007   rm -f conf.libarttest