1 dnl -*-fundamental-*- *@--GLOB-HEADER--@*
3 dnl $Id: aclocal.glob,v 1.8 1999/11/26 01:23:17 mdw Exp $
5 dnl Common library of autoconf macros
7 dnl (c) 1997 Mark Wooding, except for macros and documentation where noted.
10 dnl----- Licensing notice ---------------------------------------------------
12 dnl This file is part of the Common Files Distribution (`common')
14 dnl `Common' is free software; you can redistribute it and/or modify
15 dnl it under the terms of the GNU General Public License as published by
16 dnl the Free Software Foundation; either version 2 of the License, or
17 dnl (at your option) any later version.
19 dnl `Common' is distributed in the hope that it will be useful,
20 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
21 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 dnl GNU General Public License for more details.
24 dnl You should have received a copy of the GNU General Public License
25 dnl along with `common'; if not, write to the Free Software Foundation,
26 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28 dnl----- Revision history ---------------------------------------------------
30 dnl $Log: aclocal.glob,v $
31 dnl Revision 1.8 1999/11/26 01:23:17 mdw
32 dnl And support for MXD (not yet released).
34 dnl Revision 1.7 1999/11/11 20:03:58 mdw
35 dnl Add support for mgLib too.
37 dnl Revision 1.6 1999/11/11 17:49:33 mdw
38 dnl New macros for configuring clients of mLib and Catacomb.
40 dnl Revision 1.5 1999/07/27 18:27:37 mdw
41 dnl Fix typo in header line for mdw_DECL_ENVIRON.
43 dnl Revision 1.4 1999/07/26 23:44:32 mdw
44 dnl Reorder and tidy documentation.
46 dnl Revision 1.3 1999/07/17 10:27:44 mdw
47 dnl More useful macros added.
49 dnl Revision 1.2 1999/05/13 22:57:23 mdw
50 dnl Change `-ise' to `-ize' throughout.
52 dnl Revision 1.1.1.1 1999/05/05 19:23:47 mdw
53 dnl New import. The old CVS repository was lost in a disk disaster.
56 dnl----- Common files distribution --------------------------- *@--NOTICE--@*
58 dnl $Id: aclocal.glob,v 1.8 1999/11/26 01:23:17 mdw Exp $
60 dnl --- *@-AC_PROG_CC_STDC-@* ---
62 dnl Author: Franc,ois Pinard
64 dnl Synopsis: AC_PROG_CC_STDC
68 dnl Use: If the C compiler in not in ANSI C mode by default, try to
69 dnl add an option to output variable `CC' to make it so. This
70 dnl macro tries various options that select ANSI C on some system
71 dnl or another. It considers the compiler to be in ANSI C mode
72 dnl if it defines `__STDC__' to 1 and handles function prototypes
75 dnl If you use this macro, you should check after calling it
76 dnl whether the C compiler has been set to accept ANSI C; if not,
77 dnl the shell variable `ac_cv_prog_cc_stdc' is set to `no'. If
78 dnl you wrote your source code in ANSI C, you can make an
79 dnl un-ANSIfied copy of it by using the program `ansi2knr', which
80 dnl comes with Ghostscript.
82 dnl (documentation by Franc,ois Pinard)
84 AC_DEFUN(AM_PROG_CC_STDC,
85 [AC_REQUIRE([AC_PROG_CC])
86 AC_BEFORE([$0], [AC_C_INLINE])
87 AC_BEFORE([$0], [AC_C_CONST])
88 AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
89 AC_CACHE_VAL(am_cv_prog_cc_stdc,
90 [am_cv_prog_cc_stdc=no
92 # Don't try gcc -ansi; that turns off useful extensions and
93 # breaks some systems' header files.
95 # Ultrix and OSF/1 -std1
96 # HP-UX -Aa -D_HPUX_SOURCE
97 # SVR4 -Xc -D__EXTENSIONS__
98 for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
100 CC="$ac_save_CC $ac_arg"
102 [#if !defined(__STDC__) || __STDC__ != 1
105 /* DYNIX/ptx V4.1.3 can't compile sys/stat.h with -Xc -D__EXTENSIONS__. */
107 # include <sys/types.h>
108 # include <sys/stat.h>
111 int test (int i, double x);
112 struct s1 {int (*f) (int a);};
113 struct s2 {int (*f) (double a);};],
114 [am_cv_prog_cc_stdc="$ac_arg"; break])
118 if test -z "$am_cv_prog_cc_stdc"; then
119 AC_MSG_RESULT([none needed])
121 AC_MSG_RESULT($am_cv_prog_cc_stdc)
123 case "x$am_cv_prog_cc_stdc" in
125 *) CC="$CC $am_cv_prog_cc_stdc" ;;
129 dnl----- AutoMake macros ------------------------------------- *@--IGNORE--@*
131 dnl --- *@-AM_CONDITIONAL-@* ---
135 dnl Synopsis: AM_CONDITIONAL(NAME, TEST)
137 dnl Arguments: NAME = name of the conditional
138 dnl TEST = a shell list to execute
140 dnl Use: Allows conditional sections in Makefiles.
142 AC_DEFUN(AM_CONDITIONAL,
153 dnl --- *@-AM_CYGWIN32-@* ---
155 dnl Author: Cygnus (I guess)
157 dnl Synopsis: AM_CYGWIN32
161 dnl Use: Check to see if we're running under Cygwin32, without using
162 dnl AC_CANONICAL_*. If so, set output variable EXEEXT to
163 dnl ".exe". Otherwise set it to "".
166 dnl You might think we can do this by checking for a cygwin32-specific
167 dnl cpp define. We can't, because cross-compilers that target
168 dnl cygwin32 don't use the .exe suffix. I don't know why.
169 AC_DEFUN(AM_CYGWIN32,
170 [AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
171 [cat > conftest.$ac_ext << 'EOF'
176 if AC_TRY_EVAL(ac_link) && test -s conftest.exe; then
183 test "$am_cv_cygwin32" = yes && EXEEXT=.exe
186 dnl --- *@-AM_WITH_DMALLOC-@* ---
188 dnl Author: Franc,ois Pinard
190 dnl Synopsis: AM_WITH_DMALLOC
194 dnl Use: Links with `-dmalloc' if told to by the user.
196 ## ----------------------------------- ##
197 ## Check if --with-dmalloc was given. ##
198 ## From Franc,ois Pinard ##
199 ## ----------------------------------- ##
203 AC_DEFUN(AM_WITH_DMALLOC,
204 [AC_MSG_CHECKING(if malloc debugging is wanted)
206 [ --with-dmalloc use dmalloc, as in
207 ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz],
208 [if test "$withval" = yes; then
210 AC_DEFINE(WITH_DMALLOC)
211 LIBS="$LIBS -ldmalloc"
212 LDFLAGS="$LDFLAGS -g"
215 fi], [AC_MSG_RESULT(no)])
218 dnl --- *@-AM_FUNC_ERROR_AT_LINE-@* ---
220 dnl Author: Jim Meyering
222 dnl Synopsis: AM_FUNC_ERROR_AT_LINE
226 dnl Use: Use this if you use the GNU error.[ch].
228 dnl FIXME: Migrate into libit
230 AC_DEFUN(AM_FUNC_ERROR_AT_LINE,
231 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
232 [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
233 am_cv_lib_error_at_line=yes,
234 am_cv_lib_error_at_line=no)])
235 if test $am_cv_lib_error_at_line = no; then
236 LIBOBJS="$LIBOBJS error.o"
241 dnl --- *@-AM_INIT_GUILE_MODULE-@* ---
245 dnl Synopsis: AM_INIT_GUILE_MODULE(MODNAME)
247 dnl Arguments: MODNAME = value to initialize `module' variable with
249 dnl Use: This macro will automatically get the guile version from the
250 dnl top-level srcdir, and will initialize automake. It also
251 dnl defines the `module' variable.
253 AC_DEFUN([AM_INIT_GUILE_MODULE],[
254 . $srcdir/../GUILE-VERSION
255 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
256 AC_CONFIG_AUX_DIR(..)
260 dnl --- *@-AM_CONFIG_HEADER-@* ---
264 dnl Synopsis: AM_CONFIG_HEADER(HEADER ...)
266 dnl Arguments: HEADER = a header spec, as for AC_CONFIG_HEADER
268 dnl Use: Like AC_CONFIG_HEADER, but automatically create stamp file.
270 AC_DEFUN(AM_CONFIG_HEADER,
272 AC_CONFIG_HEADER([$1])
273 dnl When config.status generates a header, we must update the stamp-h file.
274 dnl This file resides in the same directory as the config header
275 dnl that is generated. We must strip everything past the first ":",
276 dnl and everything past the last "/".
277 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
278 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
279 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/
280 \)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
282 for am_file in <<$1>>; do
283 case " <<$>>CONFIG_HEADERS " in
284 *" <<$>>am_file "*<<)>>
285 echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
288 am_indx=`expr "<<$>>am_indx" + 1`
292 dnl --- *@-AM_INIT_AUTOMAKE-@*
296 dnl Synopsis: AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
298 dnl Arguments: PACKAGE = package name
299 dnl VERSION = version number
300 dnl NO-DEFINE = if set, don't define package and version number
302 dnl Use: Do all the work for Automake. This macro actually does too
303 dnl much -- some checks are only needed if your package does
304 dnl certain things. But this isn't really a big deal.
308 AC_DEFUN(AM_INIT_AUTOMAKE,
309 [AC_REQUIRE([AM_PROG_INSTALL])
314 dnl test to see if srcdir already configured
315 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
316 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
319 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
320 AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
323 dnl FIXME This is truly gross.
324 missing_dir=`cd $ac_aux_dir && pwd`
325 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
326 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
327 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
328 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
329 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
332 dnl --- *@-AM_PROG_INSTALL-@* ---
334 dnl Author: Franc,ois Pinard
336 dnl Synopsis: AM_PROG_INSTALL
340 dnl Use: Calls `AC_PROG_INSTALL' to find an installer. Then it sets
341 dnl `INSTALL_SCRIPT' to a suitable value if necessary.
345 AC_DEFUN(AM_PROG_INSTALL,
347 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755'
348 AC_SUBST(INSTALL_SCRIPT)dnl
351 dnl --- *@-AM_PROG_LEX-@* ---
353 dnl Author: Alexandre Oliva
355 dnl Synopsis: AM_PROG_LEX
359 dnl Use: Replacement for AC_PROG_LEX and AC_DECL_YYTEXT
362 dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
363 AC_DEFUN(AM_PROG_LEX,
364 [missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
365 AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
369 dnl --- *@-AM_PROG_LIBTOOL-@* ---
373 dnl Synopsis: AM_PROG_LIBTOOL
377 dnl Use: Configures `libtool' for the target architecture.
380 ## Configure libtool for the target system.
382 # serial 1 AM_PROG_LIBTOOL
383 AC_DEFUN(AM_PROG_LIBTOOL,
384 [AC_REQUIRE([AC_CANONICAL_HOST])
385 AC_REQUIRE([AC_PROG_CC])
386 AC_REQUIRE([AC_PROG_RANLIB])
388 # Always use our own libtool.
389 LIBTOOL='$(top_builddir)/libtool'
392 dnl Allow the --disable-shared flag to stop us from building shared libs.
393 AC_ARG_ENABLE(shared,
394 [ --enable-shared build shared libraries [default=yes]],
395 test "$enableval" = no && libtool_shared=" --disable-shared",
398 libtool_flags="$libtool_shared"
399 test "$silent" = yes && libtool_flags="$libtool_flags --silent"
400 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
402 # Actually configure libtool. ac_aux_dir is where install-sh is found.
403 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" LD="$LD" RANLIB="$RANLIB" \
404 $ac_aux_dir/ltconfig $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
405 || AC_MSG_ERROR([libtool configure failed])
408 dnl --- *@-AM_PATH_LISPDIR-@* ---
410 dnl Author: Ulrich Drepper
412 dnl Synopsis: AM_PATH_LISPDIR
416 dnl Use: Sets the variable `lispdir' to point to a place to install
417 dnl Emacs lisp files.
419 ## ------------------------
420 ## Emacs LISP file handling
421 ## From Ulrich Drepper
422 ## ------------------------
426 AC_DEFUN(AM_PATH_LISPDIR,
427 [# If set to t, that means we are running in a shell under Emacs.
428 # If you have an Emacs named "t", then use the full path.
429 test "$EMACS" = t && EMACS=
430 AC_PATH_PROG(EMACS, emacs xemacs, no)
431 if test $EMACS != "no"; then
432 AC_MSG_CHECKING([where .elc files should go])
433 dnl Set default value
434 lispdir="\$(datadir)/emacs/site-lisp"
435 if test "x$prefix" = "xNONE"; then
436 if test -d $ac_default_prefix/share/emacs/site-lisp; then
437 lispdir="\$(prefix)/share/emacs/site-lisp"
439 if test -d $ac_default_prefix/lib/emacs/site-lisp; then
440 lispdir="\$(prefix)/lib/emacs/site-lisp"
444 if test -d $prefix/share/emacs/site-lisp; then
445 lispdir="\$(prefix)/share/emacs/site-lisp"
447 if test -d $prefix/lib/emacs/site-lisp; then
448 lispdir="\$(prefix)/lib/emacs/site-lisp"
452 AC_MSG_RESULT($lispdir)
456 dnl --- *@-AM_MAINTAINTER_MODE-@* ---
458 dnl Author: Jim Meyering
460 dnl Synopsis: jm_MAINTAINER_MODE
464 dnl Use: Provides an option `--enable-maintainer-mode' which turns
465 dnl on rules which might normally be commented out. The
466 dnl substitution variable `MAINT' is set to be a comment when
467 dnl this option is disabled, which it is by default.
471 AC_DEFUN(AM_MAINTAINER_MODE,
472 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
473 dnl maintainer-mode is disabled by default
474 AC_ARG_ENABLE(maintainer-mode,
475 [ --enable-maintainer-mode enable make rules and dependencies not useful
476 (and sometimes confusing) to the casual installer],
477 USE_MAINTAINER_MODE=$enableval,
478 USE_MAINTAINER_MODE=no)
479 AC_MSG_RESULT($USE_MAINTAINER_MODE)
480 if test $USE_MAINTAINER_MODE = yes; then
489 dnl --- *@-AM_MISSING_PROG-@* ---
493 dnl Synopsis: AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
495 dnl Arguments: NAME = variable to set to the file's location
496 dnl PROGRAM = name of program to find
497 dnl DIRECTORY = directory to look in
499 dnl Use: Fakes existence of a useful GNU maintainer tool.
501 AC_DEFUN(AM_MISSING_PROG,
502 [AC_MSG_CHECKING(for working $2)
503 # Run test in a subshell; some versions of sh will print an error if
504 # an executable is not found, even if stderr is redirected.
505 # Redirect stdin to placate older versions of autoconf. Sigh.
506 if ($2 --version) < /dev/null > /dev/null 2>&1; then
511 AC_MSG_RESULT(missing)
515 dnl --- *@-AM_FUNC_MKTIME-@* ---
517 dnl Author: Jim Meyering
519 dnl Synopsis: AM_FUNC_MKTIME
523 dnl Use: Checks for a working mktime function.
525 AC_DEFUN(AM_FUNC_MKTIME,
526 [AC_REQUIRE([AC_HEADER_TIME])dnl
527 AC_CHECK_HEADERS(sys/time.h)
528 AC_CACHE_CHECK([for working mktime], am_cv_func_working_mktime,
530 changequote(<<, >>)dnl
531 <</* Test program from Paul Eggert (eggert@twinsun.com)
532 and Tony Leneis (tony@plaza.ds.adp.com). */
533 #if TIME_WITH_SYS_TIME
534 # include <sys/time.h>
538 # include <sys/time.h>
544 static time_t time_t_max;
546 /* Values we'll use to set the TZ environment variable. */
547 static const char *const tz_strings[] = {
548 NULL, "GMT0", "JST-9", "EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
550 #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
556 if (mktime (localtime (&now)) != now)
558 now = time_t_max - now;
559 if (mktime (localtime (&now)) != now)
569 for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
572 delta = time_t_max / 997; /* a suitable prime number */
573 for (i = 0; i < N_STRINGS; i++)
576 putenv (tz_strings[i]);
578 for (t = 0; t <= time_t_max - delta; t += delta)
580 mktime_test ((time_t) 60 * 60);
581 mktime_test ((time_t) 60 * 60 * 24);
587 am_cv_func_working_mktime=yes, am_cv_func_working_mktime=no,
588 dnl When crosscompiling, assume mktime is missing or broken.
589 am_cv_func_working_mktime=no)
591 if test $am_cv_func_working_mktime = no; then
592 LIBOBJS="$LIBOBJS mktime.o"
596 dnl --- *@-AM_FUNC_OBSTACK-@* ---
598 dnl Author: Jim Meyering
600 dnl Synopsis: AM_FUNC_OBSTACK
604 dnl Use: Checks for GNU obstacks.
606 AC_DEFUN(AM_FUNC_OBSTACK,
607 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
608 [AC_TRY_LINK([#include "obstack.h"],
609 [struct obstack *mem;obstack_free(mem,(char *) 0)],
610 am_cv_func_obstack=yes,
611 am_cv_func_obstack=no)])
612 if test $am_cv_func_obstack = yes; then
613 AC_DEFINE(HAVE_OBSTACK)
615 LIBOBJS="$LIBOBJS obstack.o"
619 dnl --- *@-AC_C_PROTOTYPES-@* ---
621 dnl Author: Franc,ois Pinard
623 dnl Synopsis: AC_C_PROTOTYPES
627 dnl Use: If the C compiler understands ANSI C, define `PROTOTYPES',
628 dnl and clear the `U' and `ANSI2KNR' variables. Otherwise,
629 dnl set `U' to be `_' and `ANSI2KNR' to be `./ansi2knr'.
633 AC_DEFUN(fp_C_PROTOTYPES,
634 [AC_REQUIRE([fp_PROG_CC_STDC])
635 AC_MSG_CHECKING([for function prototypes])
636 if test "$ac_cv_prog_cc_stdc" != no; then
638 AC_DEFINE(PROTOTYPES)
642 U=_ ANSI2KNR=./ansi2knr
645 AC_SUBST(ANSI2KNR)dnl
648 dnl --- *@-AM_PATH_GTK-@* ---
650 dnl Author: Owen Taylor
652 dnl Synopsis: AM_PATH_GTK(MIN-VERSION, [ACTION-IF-FOUND], [ACTION-IF-NOT])
654 dnl Arguments: MIN-VERSION = minimum version of GTK required
655 dnl ACTION-IF-FOUND = executed if GTK found OK
656 dnl ACTION-IF-NOT-FOUND = what to do if GTK not available
658 dnl Use: Sets up compilation environment suitably for GTK programming.
660 # Configure paths for GTK+
661 # Owen Taylor 97-11-3
663 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
664 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
666 AC_DEFUN(AM_PATH_GTK,
668 dnl Get the cflags and libraries from the gtk-config script
670 AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
671 gtk_config_prefix="$withval", gtk_config_prefix="")
672 AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
673 gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
674 AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
675 , enable_gtktest=yes)
677 if test x$gtk_config_exec_prefix != x ; then
678 gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
679 if test x${GTK_CONFIG+set} != xset ; then
680 GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
683 if test x$gtk_config_prefix != x ; then
684 gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
685 if test x${GTK_CONFIG+set} != xset ; then
686 GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
690 AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
691 min_gtk_version=ifelse([$1], ,0.99.7,$1)
692 AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
694 if test "$GTK_CONFIG" = "no" ; then
697 GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
698 GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
699 gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
700 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
701 gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
702 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
703 gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
704 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
705 if test "x$enable_gtktest" = "xyes" ; then
706 ac_save_CFLAGS="$CFLAGS"
708 CFLAGS="$CFLAGS $GTK_CFLAGS"
709 LIBS="$LIBS $GTK_LIBS"
711 dnl Now check if the installed GTK is sufficiently new. (Also sanity
712 dnl checks the results of gtk-config to some extent
722 int major, minor, micro;
725 system ("touch conf.gtktest");
727 /* HP/UX 9 (%@#!) writes to sscanf strings */
728 tmp_version = g_strdup("$min_gtk_version");
729 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
730 printf("%s, bad version string\n", "$min_gtk_version");
734 if ((gtk_major_version != $gtk_config_major_version) ||
735 (gtk_minor_version != $gtk_config_minor_version) ||
736 (gtk_micro_version != $gtk_config_micro_version))
738 printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
739 $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
740 gtk_major_version, gtk_minor_version, gtk_micro_version);
741 printf ("*** was found! If gtk-config was correct, then it is best\n");
742 printf ("*** to remove the old version of GTK+. 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 gtk-config was wrong, set the environment variable GTK_CONFIG\n");
747 printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
748 printf("*** before re-running configure\n");
752 if ((gtk_major_version > major) ||
753 ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
754 ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
760 printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
761 gtk_major_version, gtk_minor_version, gtk_micro_version);
762 printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
763 major, minor, micro);
764 printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
766 printf("*** If you have already installed a sufficiently new version, this error\n");
767 printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
768 printf("*** being found. The easiest way to fix this is to remove the old version\n");
769 printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
770 printf("*** correct copy of gtk-config. (In this case, you will have to\n");
771 printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
772 printf("*** so that the correct libraries are found at run-time))\n");
777 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
778 CFLAGS="$ac_save_CFLAGS"
782 if test "x$no_gtk" = x ; then
784 ifelse([$2], , :, [$2])
787 if test "$GTK_CONFIG" = "no" ; then
788 echo "*** The gtk-config script installed by GTK could not be found"
789 echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
790 echo "*** your path, or set the GTK_CONFIG environment variable to the"
791 echo "*** full path to gtk-config."
793 if test -f conf.gtktest ; then
796 echo "*** Could not run GTK test program, checking why..."
797 CFLAGS="$CFLAGS $GTK_CFLAGS"
798 LIBS="$LIBS $GTK_LIBS"
802 ], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
803 [ echo "*** The test program compiled, but did not run. This usually means"
804 echo "*** that the run-time linker is not finding GTK or finding the wrong"
805 echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
806 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
807 echo "*** to the installed location Also, make sure you have run ldconfig if that"
808 echo "*** is required on your system"
810 echo "*** If you have an old version installed, it is best to remove it, although"
811 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
813 echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
814 echo "*** came with the system with the command"
816 echo "*** rpm --erase --nodeps gtk gtk-devel" ],
817 [ echo "*** The test program failed to compile or link. See the file config.log for the"
818 echo "*** exact error that occured. This usually means GTK was incorrectly installed"
819 echo "*** or that you have moved GTK since it was installed. In the latter case, you"
820 echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
821 CFLAGS="$ac_save_CFLAGS"
827 ifelse([$3], , :, [$3])
834 dnl --- *@-AC_TYPE_PTRDIFF_T-@* ---
836 dnl Author: Ulrich Drepper
838 dnl Synopsis: AC_TYPE_PTRDIFF_T
842 dnl Use: Sets HAVE_PTRDIFF_T if the type exists.
844 AC_DEFUN(AM_TYPE_PTRDIFF_T,
845 [AC_CACHE_CHECK([for ptrdiff_t], am_cv_type_ptrdiff_t,
846 [AC_TRY_COMPILE([#include <stddef.h>], [ptrdiff_t p],
847 am_cv_type_ptrdiff_t=yes, am_cv_type_ptrdiff_t=no)])
848 if test $am_cv_type_ptrdiff_t = yes; then
849 AC_DEFINE(HAVE_PTRDIFF_T)
853 dnl --- *@-AM_WITH_REGEX-@* ---
855 dnl Author: Unknown (possibly Franc,ois Pinard)
857 dnl Synopsis: AM_WITH_REGEX
862 dnl The idea is to distribute rx.[hc] and regex.[hc] together,
863 dnl for a while. The WITH_REGEX symbol (which should also be
864 dnl documented in acconfig.h) is used to decide which of regex.h
865 dnl or rx.h should be included in the application. If
866 dnl `./configure --with-regex' is given (the default), the
867 dnl package will use gawk's regex. If `./configure
868 dnl --without-regex', a check is made to see if rx is already
869 dnl installed, as with newer Linux'es. If not found, the package
870 dnl will use the rx from the distribution. If found, the package
871 dnl will use the system's rx which, on Linux at least, will
872 dnl result in a smaller executable file.
874 AC_DEFUN(AM_WITH_REGEX,
875 [AC_MSG_CHECKING(which of GNU rx or gawk's regex is wanted)
877 [ --without-regex use GNU rx in lieu of gawk's regex for matching],
878 [test "$withval" = yes && am_with_regex=1],
880 if test -n "$am_with_regex"; then
882 AC_DEFINE(WITH_REGEX)
883 AC_CACHE_CHECK([for GNU regex in libc], am_cv_gnu_regex,
884 AC_TRY_LINK([], [extern int re_max_failures; re_max_failures = 1],
885 am_cv_gnu_regex=yes, am_cv_gnu_regex=no))
886 if test $am_cv_gnu_regex = no; then
887 LIBOBJS="$LIBOBJS regex.o"
891 AC_CHECK_FUNC(re_rx_search, , [LIBOBJS="$LIBOBJS rx.o"])
896 dnl --- *@-AM_SANITY_CHECK-@*
900 dnl Synopsis: AM_SANITY_CHECK
904 dnl Use: Check for build environment sanity.
906 AC_DEFUN(AM_SANITY_CHECK,
907 [AC_MSG_CHECKING([whether build environment is sane])
910 echo timestamp > conftestfile
911 # Do `set' in a subshell so we don't clobber the current shell's
912 # arguments. Must try -L first in case configure is actually a
913 # symlink; some systems play weird games with the mod time of symlinks
914 # (eg FreeBSD returns the mod time of the symlink's containing
917 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
918 if test "$@" = "X"; then
920 set X `ls -t $srcdir/configure conftestfile`
922 test "[$]2" = conftestfile
928 AC_MSG_ERROR([newly created file is older than distributed files!
929 Check your system clock])
934 dnl --- *@-AM_FUNC_STRDOD-@* ---
936 dnl Author: Jim Meyering
938 dnl Synopsis: AM_FUNC_STRTOD
942 dnl Use: Checks for a working strtod function.
944 ## Copyright (C) 1996 Free Software Foundation, Inc.
946 ## This program is free software; you can redistribute it and/or modify
947 ## it under the terms of the GNU General Public License as published by
948 ## the Free Software Foundation; either version 2, or (at your option)
949 ## any later version.
951 ## This program is distributed in the hope that it will be useful,
952 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
953 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
954 ## GNU General Public License for more details.
956 ## You should have received a copy of the GNU General Public License
957 ## along with this program; if not, write to the Free Software
958 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
961 ## From Jim Meyering.
965 ## @defmac AC_FUNC_STRTOD
966 ## @maindex FUNC_STRTOD
968 ## If the @code{strtod} function is not available, or does not work
969 ## correctly (like the one on SunOS 5.4), add @samp{strtod.o} to output
970 ## variable @code{LIBOBJS}.
973 AC_DEFUN(AM_FUNC_STRTOD,
974 [AC_CACHE_CHECK(for working strtod, am_cv_func_strtod,
981 /* Some versions of Linux strtod mis-parse strings with leading '+'. */
982 char *string = " +69";
985 value = strtod (string, &term);
986 if (value != 69 || term != (string + 4))
991 /* Under Solaris 2.4, strtod returns the wrong value for the
992 terminating character under some conditions. */
994 ## @defmac AC_FUNC_STRTOD
995 ## @maindex FUNC_STRTOD
997 ## If the @code{strtod} function is not available, or does not work
998 ## correctly (like the one on SunOS 5.4), add @samp{strtod.o} to output
999 ## variable @code{LIBOBJS}.
1002 AC_DEFUN(AM_FUNC_STRTOD,
1003 [AC_CACHE_CHECK(for working strtod, am_cv_func_strtod,
1010 /* Some versions of Linux strtod mis-parse strings with leading '+'. */
1011 char *string = " +69";
1014 value = strtod (string, &term);
1015 if (value != 69 || term != (string + 4))
1020 /* Under Solaris 2.4, strtod returns the wrong value for the
1021 terminating character under some conditions. */
1022 char *string = "NaN";
1024 strtod (string, &term);
1025 if (term != string && *(term - 1) == 0)
1030 ], am_cv_func_strtod=yes, am_cv_func_strtod=no, am_cv_func_strtod=no)])
1031 test $am_cv_func_strtod = no && LIBOBJS="$LIBOBJS strtod.o"
1032 AC_SUBST(LIBOBJS)dnl
1033 am_cv_func_strtod_needs_libm=no
1034 if test $am_cv_func_strtod = no; then
1036 if test $ac_cv_func_pow = no; then
1037 AC_CHECK_LIB(m, pow, [am_cv_func_strtod_needs_libm=yes],
1038 [AC_MSG_WARN(can't find library containing definition of pow)])
1043 dnl --- *@-AM_SYS_POSIX_TERMIOS-@* ---
1045 dnl Author: Jim Meyering
1047 dnl Synopsis: AM_SYS_POSIX_TERMIOS
1051 dnl Use: Checks for a POSIX termios.h.
1053 AC_DEFUN(AM_SYS_POSIX_TERMIOS,
1054 [AC_CACHE_CHECK([POSIX termios], am_cv_sys_posix_termios,
1055 [AC_TRY_LINK([#include <sys/types.h>
1057 #include <termios.h>],
1058 [/* SunOS 4.0.3 has termios.h but not the library calls. */
1060 am_cv_sys_posix_termios=yes,
1061 am_cv_sys_posix_termios=no)])
1064 dnl----- Macros by Mark Wooding ------------------------------ *@--IGNORE--@*
1066 dnl --- *@-mdw_REQUIRE-@* ---
1068 dnl Author: Mark Wooding
1070 dnl Synopsis: mdw_REQUIRE(MACRO, ARGS...)
1072 dnl Arguments: MACRO = name of a macro which should have been called
1073 dnl ARGS = arguments to pass
1075 dnl Use: Like `AC_REQUIRE', only it handles arguments.
1077 AC_DEFUN(mdw_REQUIRE,
1078 [ifdef([AC_PROVIDE_$1], ,
1079 [AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))dnl
1084 dnl --- *@-mdw_CURSES-@* ---
1086 dnl Author: Mark Wooding
1088 dnl Synopsis: mdw_CURSES
1092 dnl Use: Searches for a `curses' library (one of `ncurses' or
1093 dnl `curses') using mdw_CHECK_MANYLIBS. If one is found, the
1094 dnl preprocessor macro HAVE_CURSES is defined, and a search is
1095 dnl made for a `curses' header file (one of <ncurses.h>,
1096 dnl <ncurses/ncurses.h> or <curses.h>) using AC_CHECK_HEADERS
1097 dnl and the appropriate preprocessor symbol is defined.
1098 dnl Finally, a check is made for the function `wresize' using
1101 AC_DEFUN(mdw_CURSES,
1102 [mdw_CHECK_MANYLIBS(newwin, ncurses curses, AC_DEFINE(HAVE_CURSES))
1103 if test $mdw_cv_lib_newwin != no; then
1104 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h curses.h], [break])
1105 if test "$ac_cv_header_ncurses_h" = "no" &&
1106 test "$ac_cv_header_ncurses_ncurses_h" = "no" &&
1107 test "$ac_cv_header_curses_h" = "no"; then
1108 AC_MSG_WARN([couldn't find a \`curses' header. Assuming \`curses.h'.])
1109 AC_DEFINE(HAVE_CURSES_H)
1111 AC_CHECK_FUNCS(wresize)
1114 dnl --- *@-mdw_TYPE_SSIZE_T-@* ---
1116 dnl Author: Mark Wooding
1118 dnl Synopsis: mdw_TYPE_SSIZE_T
1122 dnl Use: Checks whether the Posix type `ssize_t' is defined. If not,
1123 dnl it defaults to `int'.
1125 AC_DEFUN(mdw_TYPE_SSIZE_T,
1126 [AC_REQUIRE([AC_HEADER_STDC])
1127 AC_CACHE_CHECK(for ssize_t, mdw_cv_ssize_t,
1128 [AC_EGREP_CPP(ssize_t,
1129 [#include <sys/types.h>
1137 [mdw_cv_ssize_t=yes], [mdw_cv_ssize_t=no])])
1138 if test $mdw_cv_ssize_t = no; then
1139 AC_DEFINE(ssize_t, int)
1142 dnl --- *@-mdw_DECL_ENVIRON-@* ---
1144 dnl Author: Mark Wooding
1146 dnl Synopsis: mdw_DECL_ENVIRON
1150 dnl Use: Searches for a declaration of the global `environ' variable.
1151 dnl If one is found in one of the `usual' places, DECL_ENVIRON
1152 dnl is defined as a preprocessor symbol.
1154 AC_DEFUN(mdw_DECL_ENVIRON,
1155 [AC_CACHE_CHECK([for declaration of \`environ'], mdw_cv_environ,
1156 [AC_EGREP_CPP(environ,
1157 [#include <sys/types.h>
1164 #endif], [mdw_cv_environ=yes], [mdw_cv_environ=no])])
1165 if test $mdw_cv_environ = yes; then
1166 AC_DEFINE(DECL_ENVIRON)
1169 dnl --- *@-mdw_CHECK_MANYLIBS-@* ---
1171 dnl Author: Mark Wooding
1173 dnl Synopsis: mdw_CHECK_MANYLIBS(FUNC, LIBS, [IF-FOUND], [IF-NOT-FOUND])
1175 dnl Arguments: FUNC = a function to try to find
1176 dnl LIBS = a whitespace-separated list of libraries to search
1177 dnl IF-FOUND = what to do when the function is found
1178 dnl IF-NOT-FOUND = what to do when the function isn't found
1180 dnl Use: Searches for a library which defines FUNC. It first tries
1181 dnl without any libraries; then it tries each library specified
1182 dnl in LIBS in turn. If it finds a match, it adds the
1183 dnl appropriate library to `LIBS'.
1185 dnl This is particularly handy under DIREIX: if you link with
1186 dnl `-lnsl' then you get non-NIS-aware versions of getpwnam and
1187 dnl so on, which is clearly a Bad Thing.
1189 AC_DEFUN(mdw_CHECK_MANYLIBS,
1190 [AC_CACHE_CHECK([for library containing $1], [mdw_cv_lib_$1],
1191 [mdw_save_LIBS="$LIBS"
1193 AC_TRY_LINK(,[$1()], [mdw_cv_lib_$1="none required"])
1194 test "$mdw_cv_lib_$1" = "no" && for i in $2; do
1195 LIBS="-l$i $mdw_save_LIBS"
1196 AC_TRY_LINK(,[$1()],
1197 [mdw_cv_lib_$1="-l$i"
1200 LIBS="$mdw_save_LIBS"])
1201 if test "$mdw_cv_lib_$1" != "no"; then
1202 test "$mdw_cv_lib_$1" = "none required" || LIBS="$mdw_cv_lib_$1 $LIBS"
1208 dnl --- *@-mdw__PERL_VERSION-@* ---
1210 dnl AC_DEFUN relies on `[', `]' being quotes, so I have to drop down a level.
1213 define(mdw__PERL_VERSION, <<$1 -e 'exit ($] < $2);' >&5 2>&5>>)
1216 dnl --- *@-mdw_PROG_PERL-@* ---
1218 dnl Author: Mark Wooding
1220 dnl Synopsis: mdw_PROG_PERL(VERSION, [IF-FOUND], [IF-NOT-FOUND])
1222 dnl Arguments: VERSION = version number of Perl required
1223 dnl IF-FOUND = what to do if it's found
1224 dnl IF-NOT-FOUND = what to do if it isn't
1226 dnl Use: Attempts to find a working version of Perl with a late
1227 dnl enough version number. It supplies an option `--with-perl'
1228 dnl to allow the user to provide a Perl interpreter. If one
1229 dnl isn't provided explicitly, it searches for `perl' and `perl5'
1230 dnl in the current PATH, asking them whether they have a late
1231 dnl enough version number. The path of the working Perl is
1232 dnl put into the `PERL' environment variable; `AC_SUBST' is used
1233 dnl to substitute its value into Perl scripts. If there is no
1234 dnl Perl to be found, the value of `PERL' is set to be `none'.
1236 AC_DEFUN(mdw_PROG_PERL,
1237 [AC_ARG_WITH([perl],
1238 [ --with-perl=PERL specify path to Perl version $1 or newer],
1240 if test -z "$PERL"; then
1241 [AC_CACHE_CHECK([for Perl version $1 or later], mdw_cv_prog_perl,
1242 [mdw_cv_prog_perl="none"
1243 for p in `echo "$PATH:/usr/local/bin" | tr ":" " "`; do
1244 case $p in /*) ;; *) p=`pwd`/$p ;; esac
1245 if mdw__PERL_VERSION(["$p/perl"], $1); then
1246 mdw_cv_prog_perl="$p/perl"
1249 if mdw__PERL_VERSION(["$p/perl5"], $1); then
1250 mdw_cv_prog_perl="$p/perl5"
1254 PERL="$mdw_cv_prog_perl"])
1258 if test "$PERL" = "none"; then :
1264 dnl --- *@-mdw_CHECK_PERL-@* ---
1266 dnl Author: Mark Wooding
1268 dnl Synopsis: mdw_CHECK_PERL(VERSION)
1270 dnl Arguments: VERSION = version number of Perl required
1272 dnl Use: Verifies that the Perl interpreter in the `PERL' shell
1273 dnl variable actually works and is of the right version. If it's
1274 dnl not, an error is raised and configuration is aborted.
1276 AC_DEFUN(mdw_CHECK_PERL,
1277 [mdw_REQUIRE([mdw_PROG_PERL], [$1])
1278 AC_MSG_CHECKING([whether Perl ($PERL) works])
1279 if test "$PERL" != "none" && mdw__PERL_VERSION("$PERL", $1); then
1280 AC_MSG_RESULT([yes])
1283 AC_MSG_ERROR([Perl version $1 or newer not found.
1284 If you have a recent enough Perl, and I just failed to find it, try using
1285 the --with-perl=PERL option to give me an explicit pathname.])
1288 dnl --- *@-mdw_PERLLIB_CHECK-@* ---
1290 dnl Author: Mark Wooding
1292 dnl Synopsis: mdw_PERLLIB_CHECK(LIBRARY)
1294 dnl Arguments: LIBRARY = name of a Perl library to check for
1296 dnl Use: Ensures that a Perl script can `use LIBRARY;'. If it can,
1297 dnl all's well and good; if it can't, `LIBRARY.pm' is added to
1298 dnl the variable `NEEDED_PERLLIBS' and a line which adds
1299 dnl `pkgdatadir' to Perl's `@INC' array is placed in the
1300 dnl variable `INC_PERLLIBS'; `AC_SUBST' is called for both of
1301 dnl these variables. It's expected that `NEEDED_PERLLIBS' will
1302 dnl be used in the `Makefile.in' to decide which versions from
1303 dnl the distribution need installing.
1305 dnl This macro isn't terribly useful in the general case. It
1306 dnl Also implicitly assumes that `$PERL' is Perl 5 or later.
1308 AC_DEFUN(mdw__PERLLIB_INIT,
1309 [AC_SUBST(INC_PERLLIBS)dnl
1310 AC_SUBST(NEEDED_PERLLIBS)dnl
1313 AC_DEFUN(mdw_PERLLIB_CHECK,
1314 [AC_REQUIRE([mdw__PERLLIB_INIT])
1315 mdw_REQUIRE([mdw_CHECK_PERL], 5)
1316 AC_CACHE_CHECK([for Perl library $1], mdw_cv_perllib_$1,
1317 [if $PERL -e 'use $1;' >&5 2>&5; then
1318 mdw_cv_perllib_$1="yes"
1320 mdw_cv_perllib_$1="no"
1323 if test "$mdw_cv_perllib_$1" = "no"; then
1324 NEEDED_PERLLIBS="$NEEDED_PERLLIBS $1.pm"
1326 # --- Deal with autoconf lossage ---
1328 # It doesn't want to define `prefix' until rather later on, so I have
1331 if test -z "$INC_PERLLIBS"; then
1332 mdw_old_prefix="$prefix"
1333 test "$prefix" = "NONE" && prefix="$ac_default_prefix";
1334 INC_PERLLIBS="BEGIN { push @INC, \"`eval echo $datadir/$PACKAGE`\"; }"
1335 prefix="$mdw_old_prefix";
1339 dnl --- *@-mdw_GCC_FLAGS-@* ---
1341 dnl Author: Mark Wooding
1343 dnl Synopsis: mdw_GCC_FLAGS([FLAGS], [CFLAGS], [C++FLAGS])
1345 dnl Arguments: FLAGS = GCC compiler flags to add (default is
1346 dnl `-pedantic -Wall')
1347 dnl CFLAGS = GCC C compiler flags to add (default is empty)
1348 dnl C++FLAGS = GCC C++ compiler flags to add (default is
1349 dnl `-fhandle-exceptions').
1351 dnl Use: If the C compiler is GCC, add the compiler flags.
1353 AC_DEFUN(mdw_GCC_FLAGS,
1354 [if test "$GCC" = "yes"; then
1355 CFLAGS="$CFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
1356 CFLAGS="$CFLAGS ifelse([$2], [], [], [$2])"
1358 if test "$GXX" = "yes"; then
1359 CXXFLAGS="$CXXFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
1360 CXXFLAGS="$CXXFLAGS ifelse([$3], [], [-fhandle-exceptions], [$3])"
1365 dnl Author: Mark Wooding
1367 dnl Synopsis: mdw_MLIB(VERSION, IF-FOUND, IF-NOT-FOUND
1369 dnl Arguments: VERSION = version of library required
1370 dnl IF-FOUND = what to do if found
1371 dnl IF-NOT-FOUND = what to do if not found
1373 dnl Use: Configures an mLib client program. The default
1374 dnl version is 1.0.0pre0; the default action is to add
1375 dnl everything to the CFLAGS and LIBS variables, and complain
1376 dnl if the library couldn't be found.
1378 dnl The variable MLIB_VERSION contains the version number of
1379 dnl the library; MLIB_CFLAGS is the C compiler flags required
1380 dnl and MLIB_LIBS is the linker flags.
1382 AC_DEFUN([mdw_MLIB],
1383 [AC_MSG_CHECKING([for mLib library])
1384 if mLib-config --check $1 >/dev/null 2>&1; then
1385 MLIB_VERSION=`mLib-config --version`
1386 MLIB_CFLAGS=`mLib-config --cflags`
1387 MLIB_LIBS=`mLib-config --libs`
1388 AC_SUBST(MLIB_VERSION) AC_SUBST(MLIB_CFLAGS) AC_SUBST(MLIB_LIBS)
1390 [CFLAGS="$CFLAGS $MLIB_CFLAGS"
1391 LIBS="$MLIB_LIBS $LIBS"],
1393 AC_MSG_RESULT([$MLIB_VERSION])
1396 AC_MSG_ERROR([mLib library not found or too old.]),
1398 AC_MSG_RESULT([not found])
1403 dnl Author: Mark Wooding
1405 dnl Synopsis: mdw_MGLIB(VERSION, IF-FOUND, IF-NOT-FOUND
1407 dnl Arguments: VERSION = version of library required
1408 dnl IF-FOUND = what to do if found
1409 dnl IF-NOT-FOUND = what to do if not found
1411 dnl Use: Configures an mgLib client program. The default
1412 dnl version is 1.0.0pre0; the default action is to add
1413 dnl everything to the CFLAGS and LIBS variables, and complain
1414 dnl if the library couldn't be found.
1416 dnl The variable MGLIB_VERSION contains the version number of
1417 dnl the library; MGLIB_CFLAGS is the C compiler flags required
1418 dnl and MGLIB_LIBS is the linker flags.
1420 AC_DEFUN([mdw_MGLIB],
1421 [mdw_REQUIRE([mdw_MGLIB], [1.6.0])
1422 AC_MSG_CHECKING([for mgLib library])
1423 if mgLib-config --check $1 >/dev/null 2>&1; then
1424 MGLIB_VERSION=`mgLib-config --version`
1425 MGLIB_CFLAGS=`mgLib-config --cflags`
1426 MGLIB_LIBS=`mgLib-config --libs`
1427 AC_SUBST(MGLIB_VERSION) AC_SUBST(MGLIB_CFLAGS) AC_SUBST(MGLIB_LIBS)
1429 [CFLAGS="$CFLAGS $MGLIB_CFLAGS"
1430 LIBS="$MGLIB_LIBS $LIBS"],
1432 AC_MSG_RESULT([$MGLIB_VERSION])
1435 AC_MSG_ERROR([mgLib library not found or too old.]),
1437 AC_MSG_RESULT([not found])
1442 dnl Author: Mark Wooding
1444 dnl Synopsis: mdw_MXD(VERSION, IF-FOUND, IF-NOT-FOUND
1446 dnl Arguments: VERSION = version of library required
1447 dnl IF-FOUND = what to do if found
1448 dnl IF-NOT-FOUND = what to do if not found
1450 dnl Use: Configures an MXD client program. The default
1451 dnl version is 1.0.0pre0; the default action is to add
1452 dnl everything to the CFLAGS and LIBS variables, and complain
1453 dnl if the library couldn't be found.
1455 dnl The variable MXD_VERSION contains the version number of
1456 dnl the library; MXD_CFLAGS is the C compiler flags required
1457 dnl and MXD_LIBS is the linker flags.
1460 [AC_MSG_CHECKING([for MXD library])
1461 if mxd-config --check $1 >/dev/null 2>&1; then
1462 MXD_VERSION=`mxd-config --version`
1463 MXD_CFLAGS=`mxd-config --cflags`
1464 MXD_LIBS=`mxd-config --libs`
1465 AC_SUBST(MXD_VERSION) AC_SUBST(MXD_CFLAGS) AC_SUBST(MXD_LIBS)
1467 [CFLAGS="$CFLAGS $MXD_CFLAGS"
1468 LIBS="$MXD_LIBS $LIBS"],
1470 AC_MSG_RESULT([$MXD_VERSION])
1473 AC_MSG_ERROR([MXD library not found or too old.]),
1475 AC_MSG_RESULT([not found])
1478 dnl *@-mdw_CATACOMB-@*
1480 dnl Author: Mark Wooding
1482 dnl Synopsis: mdw_CATACOMB([VERSION], [IF-FOUND], [IF-NOT-FOUND])
1484 dnl Arguments: VERSION = version of Catacomb required
1485 dnl IF-FOUND = what to do if found
1486 dnl IF-NOT-FOUND = what to do if not found
1488 dnl Use: Configures the program as a Catacomb client. The default
1489 dnl version is 1.0.0pre0; the default action is to add
1490 dnl everything to the CFLAGS and LIBS variables, and complain
1491 dnl if the library couldn't be found.
1493 dnl The variable CATACOMB_VERSION contains the version number of
1494 dnl the library; CATACOMB_CFLAGS is the C compiler flags required
1495 dnl and CATACOMB_LIBS is the linker flags.
1497 AC_DEFUN([mdw_CATACOMB],
1498 [mdw_REQUIRE([mdw_MLIB], [1.6.0])
1499 AC_MSG_CHECKING([for Catacomb library])
1500 if catacomb-config --check $1 >/dev/null 2>&1; then
1501 CATACOMB_VERSION=`catacomb-config --version`
1502 CATACOMB_CFLAGS=`catacomb-config --cflags`
1503 CATACOMB_LIBS=`catacomb-config --libs`
1504 AC_SUBST(CATACOMB_VERSION)
1505 AC_SUBST(CATACOMB_CFLAGS) AC_SUBST(CATACOMB_LIBS)
1507 [CFLAGS="$CFLAGS $CATACOMB_CFLAGS"
1508 LIBS="$CATACOMB_LIBS $LIBS"],
1510 AC_MSG_RESULT([$CATACOMB_VERSION])
1513 AC_MSG_ERROR([Catacomb library not found or too old.]),
1515 AC_MSG_RESULT([not found])
1518 dnl --- *@-mdw_OPT_NDEBUG-@* ---
1520 dnl Author: Mark Wooding
1522 dnl Synopsis: mdw_OPT_NDEBUG
1526 dnl Use: Turns off the `NDEBUG' flag if the user wants to do
1529 AC_DEFUN(mdw_OPT_NDEBUG,
1530 [AC_ARG_ENABLE(debugging,
1531 [ --enable-debugging spews vast swathes of useless information],
1532 [if test "$enableval" = "no"; then
1533 AC_DEFINE(NDEBUG, 1)
1535 [AC_DEFINE(NDEBUG, 1)])])
1537 dnl --- *@-mdw_OPT_EFENCE-@* ---
1539 dnl Author: Mark Wooding
1541 dnl Synopsis: mdw_OPT_EFENCE
1545 dnl Use: Links with the Electric Fence library.
1547 AC_DEFUN(mdw_OPT_EFENCE,
1548 [AC_ARG_WITH(electric-fence,
1549 [ --with-electric-fence link programs with Electric Fence],
1550 [if test "$withval" = "yes"; then
1551 AC_CHECK_LIB(efence, malloc)
1554 dnl --- *@-mdw_OPT_mLib_DEBUG-@* ---
1556 dnl Author: Mark Wooding
1558 dnl Synopsis: mdw_OPT_mLib_DEBUG(PROGRAM)
1562 dnl Use: Provides options for mLib debugging. In particular, the
1563 dnl following are defined:
1565 dnl --enable-tracing turns off the NTRACE variable
1566 dnl --enable-track turns on malloc tracking
1567 dnl --enable-blame-PROGRAM tracks malloc contexts in PROGRAM
1569 dnl There must be a separate `blame' option, so that the various
1570 dnl blame options work properly.
1572 AC_DEFUN(mdw_OPT_mLib_DEBUG,
1576 AC_ARG_ENABLE(tracing,
1577 [ --enable-tracing enable output of tracing information],
1578 [if test "$enableval" = "no"; then
1579 AC_DEFINE(NTRACE, 1)
1581 [AC_DEFINE(NTRACE, 1)])
1583 AC_ARG_ENABLE(track,
1584 [ --enable-track enable tracking of malloc and free],
1585 [AC_DEFINE(TRACK_ENABLE, 1)])
1587 AC_ARG_ENABLE(blame-$1,
1589 track malloc contexts while in $1],
1590 [AC_DEFINE(TRACK_BLAME, 1)])])
1592 dnl----- That's all, folks --------------------------------- *@--GLOB-END--@*