glib/Makefile.am | 43 ++++++++++++----------------------------- glib/poppler-enums.c.template | 44 ++++++++++++++++++++++++++++++++++++++++++ glib/poppler-enums.h.template | 25 +++++++++++++++++++++++ 3 files changed, 82 insertions(+), 30 deletions(-)
New commits: commit 7406337ed2d38a86308f20f8273a152538e524de Author: Carlos Garcia Campos <[email protected]> Date: Sat Feb 21 11:11:20 2009 +0100 [glib] Use template files to create poppler-enums diff --git a/glib/Makefile.am b/glib/Makefile.am index faa85a6..fe75c67 100644 --- a/glib/Makefile.am +++ b/glib/Makefile.am @@ -27,38 +27,21 @@ stamp_files = stamp-poppler-enums.h poppler-enums.h: stamp-poppler-enums.h @true -stamp-poppler-enums.h: $(poppler_glib_public_headers) - ( cd $(srcdir) && $(GLIB_MKENUMS) \ - --fhead "#ifndef __POPPLER_TYPE_ENUMS_H__\n" \ - --fhead "#define __POPPLER_TYPE_ENUMS_H__ 1\n\n" \ - --fhead "#include <glib-object.h>\n\n" \ - --fhead "G_BEGIN_DECLS\n\n" \ - --ftail "G_END_DECLS\n\n" \ - --ftail "#endif /* __POPPLER_TYPE_ENUMS_H__ */\n" \ - --fprod "\n/* --- @filename@ --- */" \ - --eprod "#define poppler_ty...@enumshort@ (@enum_n...@_get_type())\n" \ - --eprod "GType @enum_n...@_get_type (void) G_GNUC_CONST;\n" \ - $(poppler_glib_public_headers) ) > xgen-$(@F) \ - && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \ - && rm -f xgen-$(@F) \ + +stamp-poppler-enums.h: poppler-enums.h.template $(poppler_glib_public_headers) + $(GLIB_MKENUMS) --template $< $(filter-out $<,$^) > xgen-etbh \ + && (cmp -s xgen-etbh poppler-enums.h || cp xgen-etbh poppler-enums.h ) \ + && rm -f xgen-etbh \ && echo timestamp > $(@F) -poppler-enums.c: $(poppler_glib_public_headers) - ( cd $(srcdir) && $(GLIB_MKENUMS) \ - --fhead "#include \"poppler-enums.h\"\n\n" \ - --fprod "\n/* enumerations from \"@filen...@\" */" \ - --fprod "\n#include \"@filen...@\"" \ - --vhead "static const g...@type@Value _...@enum_name@_values[] = {" \ - --vprod " { @VALUENAME@, \"@valuen...@\", \"@valuen...@\" }," \ - --vtail " { 0, NULL, NULL }\n};\n\n" \ - --vtail "gtyp...@enum_name@_get_type (void)\n{\n" \ - --vtail " static GType type = 0;\n\n" \ - --vtail " if (G_UNLIKELY (type == 0))\n" \ - --vtail " type = g...@type@_register_static (\"@enumn...@\", _...@enum_name@_values);\n\n" \ - --vtail " return type;\n}\n\n" \ - $(poppler_glib_public_headers) ) > xgen-$(@F) \ - && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \ - && rm -f xgen-$(@F) +poppler-enums.c: poppler-enums.c.template $(poppler_glib_public_headers) + $(GLIB_MKENUMS) --template $< $(filter-out $<,$^) > xgen-etbc \ + && (cmp -s xgen-etbc poppler-enums.c || cp xgen-etbc poppler-enums.c ) \ + && rm -f xgen-etbc + +EXTRA_DIST = \ + poppler-enums.h.template \ + poppler-enums.c.template poppler_glib_public_headers = \ poppler-action.h \ diff --git a/glib/poppler-enums.c.template b/glib/poppler-enums.c.template new file mode 100644 index 0000000..26a51b4 --- /dev/null +++ b/glib/poppler-enums.c.template @@ -0,0 +1,44 @@ +/*** BEGIN file-header ***/ +#include <config.h> + +#include "poppler-enums.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@filename@" */ +#include "@filename@" +/*** END file-production ***/ + + +/*** BEGIN value-header ***/ +GType +...@enum_name@_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const g...@type@Value values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } + }; + GType g_define_type_id = + g...@type@_register_static (g_intern_static_string ("@EnumName@"), values); + + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + + return g_define_type_id__volatile; +} + +/*** END value-tail ***/ + +/*** BEGIN file-tail ***/ + +/*** END file-tail ***/ diff --git a/glib/poppler-enums.h.template b/glib/poppler-enums.h.template new file mode 100644 index 0000000..5d056dd --- /dev/null +++ b/glib/poppler-enums.h.template @@ -0,0 +1,25 @@ +/*** BEGIN file-header ***/ + +#ifndef POPPLER_ENUMS_H +#define POPPLER_ENUMS_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_n...@_get_type (void) G_GNUC_CONST; +#define poppler_ty...@enumshort@ (@enum_n...@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS + +#endif /* !POPPLER_ENUMS_H */ +/*** END file-tail ***/ _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
