From d22def9309d4051ebd82b76f6704f65ad39d98b5 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Mon, 19 Dec 2011 17:24:33 +0100 Subject: build: let enum and error templates be completely generic Don't include anything in the templates specific to the file to be built, like #ifdef guards in headers or #include in sources. --- build-aux/Makefile.am | 8 +++---- build-aux/mm-enums-template.c | 38 +++++++++++++++++++++++++++++++ build-aux/mm-enums-template.h | 21 ++++++++++++++++++ build-aux/mm-enums-types.c.template | 40 --------------------------------- build-aux/mm-enums-types.h.template | 24 -------------------- build-aux/mm-errors-template.c | 40 +++++++++++++++++++++++++++++++++ build-aux/mm-errors-template.h | 23 +++++++++++++++++++ build-aux/mm-errors-types.c.template | 43 ------------------------------------ build-aux/mm-errors-types.h.template | 27 ---------------------- libmm-common/Makefile.am | 22 +++++++++++------- 10 files changed, 140 insertions(+), 146 deletions(-) create mode 100644 build-aux/mm-enums-template.c create mode 100644 build-aux/mm-enums-template.h delete mode 100644 build-aux/mm-enums-types.c.template delete mode 100644 build-aux/mm-enums-types.h.template create mode 100644 build-aux/mm-errors-template.c create mode 100644 build-aux/mm-errors-template.h delete mode 100644 build-aux/mm-errors-types.c.template delete mode 100644 build-aux/mm-errors-types.h.template diff --git a/build-aux/Makefile.am b/build-aux/Makefile.am index 1bf1c38d..8d4ff535 100644 --- a/build-aux/Makefile.am +++ b/build-aux/Makefile.am @@ -1,7 +1,7 @@ EXTRA_DIST = \ header-generator.xsl \ - mm-enums-types.h.template \ - mm-enums-types.c.template \ - mm-enums-errors.h.template \ - mm-enums-errors.c.template + mm-enums-template.h \ + mm-enums-template.c \ + mm-errors-template.h \ + mm-errors-template.c diff --git a/build-aux/mm-enums-template.c b/build-aux/mm-enums-template.c new file mode 100644 index 00000000..1e789c39 --- /dev/null +++ b/build-aux/mm-enums-template.c @@ -0,0 +1,38 @@ +/*** BEGIN file-header ***/ + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@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/build-aux/mm-enums-template.h b/build-aux/mm-enums-template.h new file mode 100644 index 00000000..bf7a059c --- /dev/null +++ b/build-aux/mm-enums-template.h @@ -0,0 +1,21 @@ +/*** BEGIN file-header ***/ + +#include + +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 @ENUMPREFIX@TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS + +/*** END file-tail ***/ diff --git a/build-aux/mm-enums-types.c.template b/build-aux/mm-enums-types.c.template deleted file mode 100644 index 680a3264..00000000 --- a/build-aux/mm-enums-types.c.template +++ /dev/null @@ -1,40 +0,0 @@ -/*** BEGIN file-header ***/ -#include "ModemManager-enums.h" -#include "mm-enums-types.h" - -/*** END file-header ***/ - -/*** BEGIN file-production ***/ -/* enumerations from "@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/build-aux/mm-enums-types.h.template b/build-aux/mm-enums-types.h.template deleted file mode 100644 index 0f016630..00000000 --- a/build-aux/mm-enums-types.h.template +++ /dev/null @@ -1,24 +0,0 @@ -/*** BEGIN file-header ***/ -#ifndef __MM_ENUMS_TYPES_H__ -#define __MM_ENUMS_TYPES_H__ - -#include - -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 @ENUMPREFIX@TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) -/*** END value-header ***/ - -/*** BEGIN file-tail ***/ -G_END_DECLS - -#endif /* __MM_ENUMS_TYPES_H__ */ -/*** END file-tail ***/ diff --git a/build-aux/mm-errors-template.c b/build-aux/mm-errors-template.c new file mode 100644 index 00000000..3b3127f5 --- /dev/null +++ b/build-aux/mm-errors-template.c @@ -0,0 +1,40 @@ +/*** BEGIN file-header ***/ +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ + +/* @enum_name@_quark() implemented in mm-errors-quarks.c */ + +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/build-aux/mm-errors-template.h b/build-aux/mm-errors-template.h new file mode 100644 index 00000000..78124d4d --- /dev/null +++ b/build-aux/mm-errors-template.h @@ -0,0 +1,23 @@ +/*** BEGIN file-header ***/ + +#include + +G_BEGIN_DECLS +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GQuark @enum_name@_quark (void); /* implemented in mm-errors-quarks.c */ +GType @enum_name@_get_type (void) G_GNUC_CONST; +#define @ENUMNAME@ (@enum_name@_quark ()) +#define @ENUMPREFIX@TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS + +/*** END file-tail ***/ diff --git a/build-aux/mm-errors-types.c.template b/build-aux/mm-errors-types.c.template deleted file mode 100644 index 4505b7d9..00000000 --- a/build-aux/mm-errors-types.c.template +++ /dev/null @@ -1,43 +0,0 @@ -/*** BEGIN file-header ***/ -#include "ModemManager-errors.h" -#include "mm-errors-types.h" - -/*** END file-header ***/ - -/*** BEGIN file-production ***/ -/* enumerations from "@filename@" */ -/*** END file-production ***/ - -/*** BEGIN value-header ***/ - -/* @enum_name@_quark() implemented in mm-errors-quarks.c */ - -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/build-aux/mm-errors-types.h.template b/build-aux/mm-errors-types.h.template deleted file mode 100644 index 1a9baf42..00000000 --- a/build-aux/mm-errors-types.h.template +++ /dev/null @@ -1,27 +0,0 @@ -/*** BEGIN file-header ***/ - -#ifndef __MM_ERRORS_TYPES_H__ -#define __MM_ERRORS_TYPES_H__ - -#include - -G_BEGIN_DECLS -/*** END file-header ***/ - -/*** BEGIN file-production ***/ - -/* enumerations from "@filename@" */ -/*** END file-production ***/ - -/*** BEGIN value-header ***/ -GQuark @enum_name@_quark (void); /* implemented in mm-errors-quarks.c */ -GType @enum_name@_get_type (void) G_GNUC_CONST; -#define @ENUMNAME@ (@enum_name@_quark ()) -#define @ENUMPREFIX@TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) -/*** END value-header ***/ - -/*** BEGIN file-tail ***/ -G_END_DECLS - -#endif /* __MM_ERRORS_TYPES_H__ */ -/*** END file-tail ***/ \ No newline at end of file diff --git a/libmm-common/Makefile.am b/libmm-common/Makefile.am index 56e059a5..83259a9c 100644 --- a/libmm-common/Makefile.am +++ b/libmm-common/Makefile.am @@ -35,25 +35,31 @@ GENERATED_DOC = \ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml # Enum types -mm-enums-types.h: $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-types.h.template +mm-enums-types.h: Makefile.am $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-template.h $(AM_V_GEN) glib-mkenums \ - --template $(top_srcdir)/build-aux/mm-enums-types.h.template \ + --fhead "#ifndef __MM_ENUMS_TYPES_H__\n#define __MM_ENUMS_TYPES_H__\n" \ + --template $(top_srcdir)/build-aux/mm-enums-template.h \ + --ftail "#endif /* __MM_ENUMS_TYPES_H__ */\n" \ $(top_srcdir)/include/ModemManager-enums.h > $@ -mm-enums-types.c: $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-types.c.template mm-enums-types.h +mm-enums-types.c: Makefile.am $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-template.c mm-enums-types.h $(AM_V_GEN) glib-mkenums \ - --template $(top_srcdir)/build-aux/mm-enums-types.c.template \ + --fhead "#include \n#include \"mm-enums-types.h\"\n" \ + --template $(top_srcdir)/build-aux/mm-enums-template.c \ $(top_srcdir)/include/ModemManager-enums.h > $@ # Error types -mm-errors-types.h: $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-types.h.template +mm-errors-types.h: Makefile.am $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-template.h $(AM_V_GEN) glib-mkenums \ - --template $(top_srcdir)/build-aux/mm-errors-types.h.template \ + --fhead "#ifndef __MM_ERRORS_TYPES_H__\n#define __MM_ERRORS_TYPES_H__\n" \ + --template $(top_srcdir)/build-aux/mm-errors-template.h \ + --ftail "#endif /* __MM_ERRORS_TYPES_H__ */\n" \ $(top_srcdir)/include/ModemManager-errors.h > $@ -mm-errors-types.c: $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-types.c.template mm-errors-types.h +mm-errors-types.c: Makefile.am $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-template.c mm-errors-types.h $(AM_V_GEN) glib-mkenums \ - --template $(top_srcdir)/build-aux/mm-errors-types.c.template \ + --fhead "#include \n#include \"mm-errors-types.h\"\n" \ + --template $(top_srcdir)/build-aux/mm-errors-template.h \ $(top_srcdir)/include/ModemManager-errors.h > $@ # Manager interface -- cgit v1.2.3-70-g09d2