diff configure.in @ 103022:15bf0d8a6099

Make Emacs compile when Gtk+ and -DGTK_DISABLE_DEPRECATED is used. * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar): Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated. (xg_initialize): Use g_type_class_ref instead of gtk_type_class which is deprecated. * configure.in (HAVE_GTK_FILE_SELECTION, HAVE_GTK_FILE_CHOOSER): Check if it is declared in gtk.h.
author Jan Djärv <jan.h.d@swipnet.se>
date Sun, 19 Apr 2009 10:53:15 +0000
parents d2548396cedd
children 88c9e3d2daf2
line wrap: on
line diff
--- a/configure.in	Sat Apr 18 13:52:29 2009 +0000
+++ b/configure.in	Sun Apr 19 10:53:15 2009 +0000
@@ -1573,15 +1573,28 @@
               [Define to 1 if GTK can handle more than one display.])
   fi
 
-  dnl  Check if we have the old file selection dialog.
-  dnl  If gdk_display_open exists, assume all others are there also.
+  dnl  Check if we have the old file selection dialog declared and
+  dnl  in the link library.  In 2.x it may be in the library,
+  dnl  but not declared if deprecated featured has been selected out.
+  dnl  AC_CHECK_DECL checks for a macro, so check for GTK_TYPE_FILE_SELECTION.
   HAVE_GTK_FILE_SELECTION=no
-  AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes)
+  AC_CHECK_DECL(GTK_TYPE_FILE_SELECTION, HAVE_GTK_FILE_SELECTION=yes,
+                   HAVE_GTK_FILE_SELECTION=no, [AC_INCLUDES_DEFAULT
+#include <gtk/gtk.h>])
+  if test "$HAVE_GTK_FILE_SELECTION" = yes; then
+    AC_CHECK_FUNCS(gtk_file_selection_new, HAVE_GTK_FILE_SELECTION=yes,
+                   HAVE_GTK_FILE_SELECTION=no)
+  fi
 
   dnl  Check if we have the new file chooser dialog
-  dnl  If gdk_display_open exists, assume all others are there also.
   HAVE_GTK_FILE_CHOOSER=no
-  AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes)
+  AC_CHECK_DECL(GTK_TYPE_FILE_CHOOSER, HAVE_GTK_FILE_CHOOSER=yes,
+                HAVE_GTK_FILE_CHOOSER=no, [AC_INCLUDES_DEFAULT
+#include <gtk/gtk.h>])
+  if test "$HAVE_GTK_FILE_CHOOSER" = yes; then
+    AC_CHECK_FUNCS(gtk_file_chooser_dialog_new, HAVE_GTK_FILE_CHOOSER=yes,
+                   HAVE_GTK_FILE_CHOOSER=no)
+  fi
 
   if test "$HAVE_GTK_FILE_SELECTION" = yes \
      && test "$HAVE_GTK_FILE_CHOOSER" = yes;  then