]> Pileus Git - ~andy/gtk/blob - gtk.m4
docs/gtkfaq.sgml: fix the spelling of Helge Hess's name
[~andy/gtk] / gtk.m4
1 # Configure paths for GTK+
2 # Owen Taylor     97-11-3
3
4 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
5 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
6 dnl
7 AC_DEFUN(AM_PATH_GTK,
8 [dnl 
9 dnl Get the cflags and libraries from the gtk-config script
10 dnl
11   AC_CHECK_PROG(GTK_CONFIG, gtk-config, gtk-config, no)
12   ifelse($1 , ,min_gtk_version=$1,min_gtk_version=0.99.5)
13   AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
14   no_gtk=""
15   if test "$GTK_CONFIG" != "no" ; then
16     GTK_CFLAGS=$($GTK_CONFIG --cflags)
17     GTK_LIBS=$($GTK_CONFIG --libs)
18     ac_save_CFLAGS="$CFLAGS"
19     ac_save_LIBS="$LIBS"
20     CFLAGS="$CFLAGS $GTK_CFLAGS"
21     LIBS="$LIBS $GTK_LIBS"
22 dnl
23 dnl Now check if the installed GTK is sufficiently new. (Also sanity
24 dnl checks the results of gtk-config to some extent
25 dnl
26     AC_TRY_RUN([
27 #include <gtk/gtk.h>
28 #include <stdio.h>
29
30 int 
31 main ()
32 {
33   int major, minor, micro;
34
35   if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
36      printf("%s, bad version string\n", "$min_gtk_version");
37      exit(1);
38    }
39
40    return !((gtk_major_version > major) ||
41             ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
42             ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
43 }
44 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
45      CFLAGS="$ac_save_CFLAGS"
46      LIBS="$ac_save_LIBS"
47   else
48      no_gtk=yes
49   fi
50   if test x$no_gtk == x ; then
51      AC_MSG_RESULT(yes)
52      ifelse([$2], , :, [$2])     
53   else
54      AC_MSG_RESULT(no)
55      GTK_CFLAGS=""
56      GTK_LIBS=""
57      ifelse([$3], , :, [$3])
58   fi
59   AC_SUBST(GTK_CFLAGS)
60   AC_SUBST(GTK_LIBS)
61 ])