aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/.gitignore1
-rw-r--r--libempathy-gtk/Makefile.am21
-rw-r--r--libempathy-gtk/empathy-chat.c4
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c4
-rw-r--r--libempathy/Makefile.am12
-rw-r--r--libempathy/empathy-marshal.list15
6 files changed, 38 insertions, 19 deletions
diff --git a/libempathy-gtk/.gitignore b/libempathy-gtk/.gitignore
index a3a15a1a4..3e3f6f051 100644
--- a/libempathy-gtk/.gitignore
+++ b/libempathy-gtk/.gitignore
@@ -1 +1,2 @@
+empathy-gtk-marshal.*
*.gladep
diff --git a/libempathy-gtk/Makefile.am b/libempathy-gtk/Makefile.am
index 987e28f2e..6d5eeab7d 100644
--- a/libempathy-gtk/Makefile.am
+++ b/libempathy-gtk/Makefile.am
@@ -6,6 +6,9 @@ AM_CPPFLAGS = \
$(WARN_CFLAGS)
BUILT_SOURCES = \
+ empathy-gtk-marshal.h \
+ empathy-gtk-marshal.c \
+ empathy-gtk-marshal.list \
empathy-gtk-enum-types.h \
empathy-gtk-enum-types.c
@@ -137,6 +140,24 @@ glade_DATA = \
empathy-chat.glade \
empathy-new-message-dialog.glade
+empathy-gtk-marshal.list: $(libempathy_gtk_la_SOURCES) Makefile.am
+ ( cd $(srcdir) && \
+ sed -n -e 's/.*empathy_gtk_marshal_\([[:upper:]]*__[[:upper:]_]*\).*/\1/p' \
+ $(libempathy_gtk_la_SOURCES) ) \
+ | sed -e 's/__/:/' -e 'y/_/,/' | sort -u > $@.tmp
+ if cmp -s $@.tmp $@; then \
+ rm $@.tmp; \
+ else \
+ mv $@.tmp $@; \
+ fi
+
+%-marshal.h: %-marshal.list Makefile
+ $(GLIB_GENMARSHAL) --header --prefix=_$(subst -,_,$*)_marshal $< > $*-marshal.h
+
+%-marshal.c: %-marshal.list Makefile
+ echo "#include \"empathy-gtk-marshal.h\"" > $@ && \
+ $(GLIB_GENMARSHAL) --body --prefix=_$(subst -,_,$*)_marshal $< >> $*-marshal.c
+
empathy-gtk-enum-types.h: stamp-empathy-gtk-enum-types.h
@true
stamp-empathy-gtk-enum-types.h: Makefile $(libempathy_gtk_headers)
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 2594ac201..f7c013820 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -40,7 +40,6 @@
#include <libempathy/empathy-log-manager.h>
#include <libempathy/empathy-debug.h>
#include <libempathy/empathy-utils.h>
-#include <libempathy/empathy-marshal.h>
#include "empathy-chat.h"
#include "empathy-chat-window.h"
@@ -50,6 +49,7 @@
#include "empathy-spell.h"
#include "empathy-spell-dialog.h"
#include "empathy-ui-utils.h"
+#include "empathy-gtk-marshal.h"
#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EMPATHY_TYPE_CHAT, EmpathyChatPriv))
@@ -279,7 +279,7 @@ empathy_chat_class_init (EmpathyChatClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- _empathy_marshal_VOID__OBJECT_BOOLEAN,
+ _empathy_gtk_marshal_VOID__OBJECT_BOOLEAN,
G_TYPE_NONE,
2, EMPATHY_TYPE_MESSAGE, G_TYPE_BOOLEAN);
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index 7dbc9dd87..ad8191398 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -43,7 +43,6 @@
#include <libempathy/empathy-contact-groups.h>
#include <libempathy/empathy-debug.h>
#include <libempathy/empathy-utils.h>
-#include <libempathy/empathy-marshal.h>
#include "empathy-contact-list-view.h"
#include "empathy-contact-list-store.h"
@@ -57,6 +56,7 @@
//#include "empathy-ft-window.h"
#include "empathy-log-window.h"
#include "empathy-gtk-enum-types.h"
+#include "empathy-gtk-marshal.h"
#define DEBUG_DOMAIN "ContactListView"
@@ -322,7 +322,7 @@ empathy_contact_list_view_class_init (EmpathyContactListViewClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- _empathy_marshal_VOID__OBJECT_STRING_STRING,
+ _empathy_gtk_marshal_VOID__OBJECT_STRING_STRING,
G_TYPE_NONE,
3, EMPATHY_TYPE_CONTACT, G_TYPE_STRING, G_TYPE_STRING);
diff --git a/libempathy/Makefile.am b/libempathy/Makefile.am
index a114ad7c8..5d0c021b2 100644
--- a/libempathy/Makefile.am
+++ b/libempathy/Makefile.am
@@ -8,6 +8,7 @@ AM_CPPFLAGS = \
BUILT_SOURCES = \
empathy-marshal.h \
empathy-marshal.c \
+ empathy-marshal.list \
empathy-enum-types.h \
empathy-enum-types.c \
empathy-filter-glue.h \
@@ -84,6 +85,17 @@ libempathy_include_HEADERS = \
$(libempathy_headers) \
empathy-enum-types.h
+empathy-marshal.list: $(libempathy_la_SOURCES) Makefile.am
+ ( cd $(srcdir) && \
+ sed -n -e 's/.*empathy_marshal_\([[:upper:]]*__[[:upper:]_]*\).*/\1/p' \
+ $(libempathy_la_SOURCES) ) \
+ | sed -e 's/__/:/' -e 'y/_/,/' | sort -u > $@.tmp
+ if cmp -s $@.tmp $@; then \
+ rm $@.tmp; \
+ else \
+ mv $@.tmp $@; \
+ fi
+
%-marshal.h: %-marshal.list Makefile
$(GLIB_GENMARSHAL) --header --prefix=_$(subst -,_,$*)_marshal $< > $*-marshal.h
diff --git a/libempathy/empathy-marshal.list b/libempathy/empathy-marshal.list
deleted file mode 100644
index 1a79b058a..000000000
--- a/libempathy/empathy-marshal.list
+++ /dev/null
@@ -1,15 +0,0 @@
-VOID:VOID
-VOID:OBJECT,UINT
-VOID:OBJECT,BOOLEAN
-VOID:OBJECT,POINTER
-VOID:OBJECT,STRING
-VOID:OBJECT,STRING,STRING
-VOID:OBJECT,STRING,BOOLEAN
-VOID:OBJECT,OBJECT
-VOID:OBJECT,OBJECT,UINT
-VOID:OBJECT,OBJECT,UINT,STRING
-VOID:OBJECT,OBJECT,UINT,STRING,BOOLEAN
-VOID:OBJECT,OBJECT,STRING
-VOID:INT,STRING
-VOID:UINT,BOOLEAN
-