Don't re-define auto cleanup symbols

Starting from GLib 2.49, the gdbus-codegen tool automatically generates
the auto cleanup symbols for the GDBus proxy and skeleton interfaces.

Since we don't depend on a specific version of GLib we need to
conditionally generate the auto cleanup symbols in case an older version
of gdbus-codegen is used when building Mutter.

This commit unbreaks the build under GNOME Continuous, which has been
failing with:

usr/include/glib-2.0/glib/gmacros.h:415:43: error: redefinition of 'glib_autoptr_cleanup_Login1Session'
 #define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
                                           ^
[...]
/usr/include/glib-2.0/glib/gmacros.h:415:43: note: previous definition of 'glib_autoptr_cleanup_Login1Session' was here
./meta-dbus-login1.h:82:1: note: in expansion of macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
 G_DEFINE_AUTOPTR_CLEANUP_FUNC (Login1Session, g_object_unref)
 ^
This commit is contained in:
Emmanuele Bassi 2016-05-03 07:54:42 +01:00
parent a4ba72b0bf
commit aeda556af1

View File

@ -49,8 +49,13 @@
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevDevice, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevDevice, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevClient, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevClient, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevEnumerator, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GUdevEnumerator, g_object_unref)
#ifndef glib_autoptr_cleanup_Login1Session
G_DEFINE_AUTOPTR_CLEANUP_FUNC(Login1Session, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(Login1Session, g_object_unref)
#endif
#ifndef glib_autoptr_cleanup_Login1Seat
G_DEFINE_AUTOPTR_CLEANUP_FUNC(Login1Seat, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(Login1Seat, g_object_unref)
#endif
struct _MetaLauncher struct _MetaLauncher
{ {