[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