[gtk+] Fix up abi checking



commit 7644ac519a2b3335ea65a5afc6259d13db12c07d
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Jun 7 06:16:21 2010 -0400

    Fix up abi checking
    
    The abicheck script was hardcoding assumptions about XI2 being used,
    making it fail on e.g. RHEL5.

 gdk/abicheck.sh                |    2 +-
 gdk/gdk.symbols                |   12 ++++++++++++
 gdk/makegdkalias.pl            |    2 +-
 gdk/x11/gdkdevicemanager-xi.c  |    5 +++++
 gdk/x11/gdkdevicemanager-xi.h  |    1 -
 gdk/x11/gdkdevicemanager-xi2.h |    2 +-
 6 files changed, 20 insertions(+), 4 deletions(-)
---
diff --git a/gdk/abicheck.sh b/gdk/abicheck.sh
index bd35405..422cee9 100755
--- a/gdk/abicheck.sh
+++ b/gdk/abicheck.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
 
-cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
+cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -include ${srcdir:-.}/../config.h -include ${srcdir:-.}/gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
 nm -D -g --defined-only .libs/libgdk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
 diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols
index 971bc61..3567606 100644
--- a/gdk/gdk.symbols
+++ b/gdk/gdk.symbols
@@ -90,10 +90,22 @@ gdk_device_manager_core_get_type
 #if IN_HEADER(__GDK_DEVICE_MANAGER_XI2_H__)
 #if IN_FILE(__GDK_DEVICE_MANAGER_XI2_C__)
 #ifdef GDK_WINDOWING_X11
+#ifdef XINPUT_2
 gdk_device_manager_xi2_get_type
 #endif
 #endif
 #endif
+#endif
+
+#if IN_HEADER(__GDK_DEVICE_MANAGER_XI_H__)
+#if IN_FILE(__GDK_DEVICE_MANAGER_XI_C__)
+#ifdef GDK_WINDOWING_X11
+#ifdef XINPUT_XFREE
+gdk_device_manager_xi_get_type
+#endif
+#endif
+#endif
+#endif
 
 #if IN_HEADER(__GDK_H__)
 #if IN_FILE(__GDK_MAIN_X11_C__)
diff --git a/gdk/makegdkalias.pl b/gdk/makegdkalias.pl
index 8f0665d..02ba61d 100755
--- a/gdk/makegdkalias.pl
+++ b/gdk/makegdkalias.pl
@@ -83,7 +83,7 @@ while (<>) {
       next;
   }
 
-  if ($_ =~ /^\#ifn?def\s+G/)
+  if ($_ =~ /^\#ifn?def/)
   {
       print $_;
       
diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c
index e11cb58..6190799 100644
--- a/gdk/x11/gdkdevicemanager-xi.c
+++ b/gdk/x11/gdkdevicemanager-xi.c
@@ -25,6 +25,8 @@
 #include "gdkintl.h"
 #include "gdkx.h"
 
+#include "gdkalias.h"
+
 #include <X11/extensions/XInput.h>
 
 
@@ -654,3 +656,6 @@ gdk_device_manager_xi_list_devices (GdkDeviceManager *device_manager,
   else
     return NULL;
 }
+
+#define __GDK_DEVICE_MANAGER_XI_C__
+#include "gdkaliasdef.c"
diff --git a/gdk/x11/gdkdevicemanager-xi.h b/gdk/x11/gdkdevicemanager-xi.h
index 6fd7d6d..e2028fd 100644
--- a/gdk/x11/gdkdevicemanager-xi.h
+++ b/gdk/x11/gdkdevicemanager-xi.h
@@ -50,7 +50,6 @@ struct _GdkDeviceManagerXIClass
   GdkDeviceManagerCoreClass parent_class;
 };
 
-G_GNUC_INTERNAL
 GType gdk_device_manager_xi_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
diff --git a/gdk/x11/gdkdevicemanager-xi2.h b/gdk/x11/gdkdevicemanager-xi2.h
index d47bcdb..828aec3 100644
--- a/gdk/x11/gdkdevicemanager-xi2.h
+++ b/gdk/x11/gdkdevicemanager-xi2.h
@@ -58,4 +58,4 @@ GType gdk_device_manager_xi2_get_type (void) G_GNUC_CONST;
 
 G_END_DECLS
 
-#endif /* __GDK_DEVICE_MANAGER_CORE_H__ */
+#endif /* __GDK_DEVICE_MANAGER_XI2_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]