Fix up abi checking

The abicheck script was hardcoding assumptions about XI2 being used,
making it fail on e.g. RHEL5.
This commit is contained in:
Matthias Clasen
2010-06-07 06:16:21 -04:00
parent da8643e457
commit 7644ac519a
6 changed files with 20 additions and 4 deletions

View File

@@ -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

View File

@@ -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__)

View File

@@ -83,7 +83,7 @@ while (<>) {
next;
}
if ($_ =~ /^\#ifn?def\s+G/)
if ($_ =~ /^\#ifn?def/)
{
print $_;

View File

@@ -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"

View File

@@ -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

View File

@@ -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__ */