summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2007-11-26 17:32:19 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2007-11-26 17:32:19 +0000
commit736f86b303eab2c8cec5a5817c5c07628b4704d5 (patch)
tree5ed7bde92b521bc857f559ea9d9ca942883882e9 /gtk
parentd5eb6847e58cd6276aa4cb68d31225c02f0c21ac (diff)
downloadgtk+-736f86b303eab2c8cec5a5817c5c07628b4704d5.tar.gz
Use templates for glib-mkenums calls instead of complicated commandlines
2007-11-26 Matthias Clasen <mclasen@redhat.com> Use templates for glib-mkenums calls instead of complicated commandlines in Makefiles. (#429910) * gdk-pixbuf/Makefile.am: * gdk/Makefile.am: * gtk/Makefile.am: * perf/Makefile.am: Use templates for glib-mkenums * gdk-pixbuf/gdk-pixbuf-enum-types.[ch].template: * gdk/gdkenumtypes.[ch].template: * gtk/gtktypebuiltings.[ch].template: * perf/typebuiltins.[ch].template: The templates svn path=/trunk/; revision=19053
Diffstat (limited to 'gtk')
-rw-r--r--gtk/Makefile.am25
-rw-r--r--gtk/gtktypebuiltins.c.template40
-rw-r--r--gtk/gtktypebuiltins.h.template24
3 files changed, 73 insertions, 16 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 79e2327320..33b7695bbe 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -795,28 +795,18 @@ gtkmarshal.c: @REBUILD@ gtkmarshal.list
echo "#define __gtk_marshal_MARSHAL_C__"; \
echo "#include \"gtkaliasdef.c\"") >> xgen-gmc \
&& cp xgen-gmc gtkmarshal.c \
- && rm -f xgen-gmc
+ && rm -f xgen-gmc
gtktypebuiltins.h: stamp-gtktypebuiltins.h
@true
-stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
- ( cd $(srcdir) && $(GLIB_MKENUMS) \
- --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
+stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template
+ ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \
$(gtk_public_h_sources) ) >> xgen-gtbh \
&& (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
&& rm -f xgen-gtbh \
&& echo timestamp > $(@F)
-gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
- ( cd $(srcdir) && $(GLIB_MKENUMS) \
- --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"\n#include \"gtkalias.h\"\n" \
- --ftail "#define __GTK_TYPE_BUILTINS_C__\n#include \"gtkaliasdef.c\"\n" \
- --fprod "\n/* enumerations from \"@filename@\" */" \
- --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \
+gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template
+ ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \
$(gtk_public_h_sources) ) > xgen-gtbc \
&& cp xgen-gtbc gtktypebuiltins.c \
&& rm -f xgen-gtbc
@@ -1219,6 +1209,9 @@ EXTRA_DIST += \
makegtkalias.pl \
aliasfilescheck.sh \
abicheck.sh \
- pltcheck.sh
+ pltcheck.sh \
+ gtktypebuiltins.c.template \
+ gtktypebuiltins.h.template
+
install-data-local:
diff --git a/gtk/gtktypebuiltins.c.template b/gtk/gtktypebuiltins.c.template
new file mode 100644
index 0000000000..648b5db1d0
--- /dev/null
+++ b/gtk/gtktypebuiltins.c.template
@@ -0,0 +1,40 @@
+/*** BEGIN file-header ***/
+#undef GTK_DISABLE_DEPRECATED
+#define GTK_ENABLE_BROKEN
+#include "gtk.h"
+#include "gtkprivate.h"
+#include "gtkalias.h"
+
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+GType
+@enum_name@_get_type (void)
+{
+ static GType etype = 0;
+ if (G_UNLIKELY(etype == 0)) {
+ static const G@Type@Value values[] = {
+/*** END value-header ***/
+
+/*** BEGIN value-production ***/
+ { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
+/*** END value-production ***/
+
+/*** BEGIN value-tail ***/
+ { 0, NULL, NULL }
+ };
+ etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+ }
+ return etype;
+}
+
+/*** END value-tail ***/
+
+/*** BEGIN file-tail ***/
+#define __GTK_TYPE_BUILTINS_C__
+#include "gtkaliasdef.c"
+/*** END file-tail ***/
diff --git a/gtk/gtktypebuiltins.h.template b/gtk/gtktypebuiltins.h.template
new file mode 100644
index 0000000000..8c45c84dbc
--- /dev/null
+++ b/gtk/gtktypebuiltins.h.template
@@ -0,0 +1,24 @@
+/*** BEGIN file-header ***/
+#ifndef __GTK_TYPE_BUILTINS_H__
+#define __GTK_TYPE_BUILTINS_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name@_get_type (void) G_GNUC_CONST;
+#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
+/*** END value-header ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+#endif /* __GTK_TYPE_BUILTINS_H__ */
+/*** END file-tail ***/