[Xfce4-commits] <libxfce4menu:master> add enum-types (enum value symbols).
Danny Milosavljevic
noreply at xfce.org
Sun Jan 2 21:10:02 CET 2011
Updating branch refs/heads/master
to 60310e06364f913c0a2bd21b2935689047f175b1 (commit)
from 85c7226797540218db058652c91ab85eac5b0d81 (commit)
commit 60310e06364f913c0a2bd21b2935689047f175b1
Author: Danny Milosavljevic <dannym at xfce.org>
Date: Sun Jan 2 21:08:08 2011 +0100
add enum-types (enum value symbols).
libxfce4menu/Makefile.am | 45 ++++++++++++++++++++++++++++++++++++++++++-
libxfce4menu/libxfce4menu.h | 1 +
2 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/libxfce4menu/Makefile.am b/libxfce4menu/Makefile.am
index 2bf778c..61c04f5 100644
--- a/libxfce4menu/Makefile.am
+++ b/libxfce4menu/Makefile.am
@@ -12,7 +12,12 @@ INCLUDES = \
lib_LTLIBRARIES = \
libxfce4menu-0.1.la
+libxfce4menu_enum_headers = \
+ xfce-menu-layout.h \
+ xfce-menu-monitor.h
+
libxfce4menu_headers = \
+ libxfce4menu-enum-types.h \
xfce-menu.h \
xfce-menu-element.h \
xfce-menu-separator.h \
@@ -48,6 +53,10 @@ libxfce4menu_sources = \
xfce-menu-monitor.c \
xfce-menu-item.c
+libxfce4menu_built_sources = \
+ libxfce4menu-enum-types.c \
+ libxfce4menu-enum-types.h
+
libxfce4menuincludedir = $(includedir)/xfce4/libxfce4menu-0.1/libxfce4menu
libxfce4menuinclude_HEADERS = \
@@ -57,7 +66,8 @@ libxfce4menuinclude_HEADERS = \
libxfce4menu_0_1_la_SOURCES = \
$(libxfce4menu_sources) \
- $(libxfce4menu_headers)
+ $(libxfce4menu_headers) \
+ $(libxfce4menu_built_sources)
libxfce4menu_0_1_la_CFLAGS = \
$(GLIB_CFLAGS) \
@@ -90,3 +100,36 @@ pkgconfig_DATA = libxfce4menu-0.1.pc
# required for gtk-doc
dist-hook: all
+
+if MAINTAINER_MODE
+CLEANFILES =
+DISTCLEANFILES = \
+ $(libxfce4menu_built_sources)
+
+BUILT_SOURCES = \
+ $(libxfce4menu_built_sources)
+
+libxfce4menu-enum-types.h: stamp-libxfce4menu-enum-types.h
+ @true
+stamp-libxfce4menu-enum-types.h: $(libxfce4menu_enum_headers) Makefile
+ $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
+ --fhead "#ifndef __LIBXFCE4UI_ENUM_TYPES_H__\n#define __LIBXFCE4UI_ENUM_TYPES_H__\n\nG_BEGIN_DECLS\n\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n\n" \
+ --vhead "GType @enum_name at _get_type(void) G_GNUC_CONST;\n#define XFCE_TYPE_ at ENUMSHORT@ (@enum_name at _get_type())\n\n" \
+ --ftail "G_END_DECLS\n\n#endif /* !__LIBXFCE4UI_ENUM_TYPES_H__ */" \
+ $(libxfce4menu_enum_headers) ) >xgen-leth
+ cmp -s xgen-leth libxfce4menu-enum-types.h || cp xgen-leth libxfce4menu-enum-types.h
+ rm -f xgen-leth
+ echo timestamp > $(@F)
+libxfce4menu-enum-types.c: $(libxfce4menu_enum_headers) Makefile
+ $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
+ --fhead "#include <libxfce4menu/libxfce4menu.h>\n\n" \
+ --fprod "/* enumerations from \"@filename@\" */\n\n" \
+ --vhead "GType\n at enum_name@_get_type(void)\n{\n static GType type = 0;\n\n if(!type) {\n static const G at Type@Value values[] = {"\
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n\t};\n\ttype = g_ at type@_register_static(\"@EnumName@\", values);\n }\n\n return type;\n}\n\n" \
+ --ftail "\n#define __LIBXFCE4UI_ENUM_TYPES_C__\n\n" \
+ $(libxfce4menu_enum_headers) ) > xgen-letc
+ cp xgen-letc libxfce4menu-enum-types.c
+ rm -f xgen-letc
+endif
diff --git a/libxfce4menu/libxfce4menu.h b/libxfce4menu/libxfce4menu.h
index 15c18b3..05758e0 100644
--- a/libxfce4menu/libxfce4menu.h
+++ b/libxfce4menu/libxfce4menu.h
@@ -40,6 +40,7 @@
#include <libxfce4menu/xfce-menu-separator.h>
#include <libxfce4menu/xfce-menu.h>
#include <libxfce4menu/xfce-menu-monitor.h>
+#include <libxfce4menu/libxfce4menu-enum-types.h>
#define LIBXFCE4MENU_INSIDE_LIBXFCE4MENU_H
More information about the Xfce4-commits
mailing list