You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

200 lines
5.3 KiB

From 20f85200472835180a6302928f05b86063dfb00d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Tue, 24 Oct 2017 02:45:00 +0200
Subject: [PATCH 4/4] Revert "build: Use new mkenums_simple() function"
This reverts commit ab0e98dfdd49d73373eb4367a299593b96211f80.
---
src/meson.build | 6 ++++--
src/shell-enum-types.c.in | 30 ++++++++++++++++++++++++++++++
src/shell-enum-types.h.in | 25 +++++++++++++++++++++++++
src/st/meson.build | 8 +++-----
src/st/st-enum-types.c.in | 33 +++++++++++++++++++++++++++++++++
src/st/st-enum-types.h.in | 29 +++++++++++++++++++++++++++++
6 files changed, 124 insertions(+), 7 deletions(-)
create mode 100644 src/shell-enum-types.c.in
create mode 100644 src/shell-enum-types.h.in
create mode 100644 src/st/st-enum-types.c.in
create mode 100644 src/st/st-enum-types.h.in
diff --git a/src/meson.build b/src/meson.build
index 3e5557351..1e88bf5d5 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -182,8 +182,10 @@ if enable_recorder
endif
-libshell_enums = gnome.mkenums_simple('shell-enum-types',
- sources: libshell_public_headers
+libshell_enums = gnome.mkenums('shell-enum-types',
+ sources: libshell_public_headers,
+ c_template: 'shell-enum-types.c.in',
+ h_template: 'shell-enum-types.h.in'
)
libshell_gir_sources = [
diff --git a/src/shell-enum-types.c.in b/src/shell-enum-types.c.in
new file mode 100644
index 000000000..b350d0016
--- /dev/null
+++ b/src/shell-enum-types.c.in
@@ -0,0 +1,30 @@
+/*** BEGIN file-header ***/
+#include "shell-enum-types.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 GType enum_type_id = 0;
+ if (G_UNLIKELY (!enum_type_id))
+ {
+ static const G@Type@Value values[] = {
+/*** END value-header ***/
+
+/*** BEGIN value-production ***/
+ { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
+/*** END value-production ***/
+
+/*** BEGIN value-tail ***/
+ { 0, NULL, NULL }
+ };
+ enum_type_id = g_@type@_register_static("@EnumName@", values);
+ }
+ return enum_type_id;
+}
+/*** END value-tail ***/
diff --git a/src/shell-enum-types.h.in b/src/shell-enum-types.h.in
new file mode 100644
index 000000000..a6aea7d17
--- /dev/null
+++ b/src/shell-enum-types.h.in
@@ -0,0 +1,25 @@
+/*** BEGIN file-header ***/
+#ifndef __SHELL_ENUM_TYPES_H__
+#define __SHELL_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+#endif /* !__SHELL_ENUM_TYPES_H__ */
+/*** END file-tail ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name@_get_type (void) G_GNUC_CONST;
+#define SHELL_TYPE_@ENUMSHORT@ (@enum_name@_get_type())
+
+/*** END value-header ***/
diff --git a/src/st/meson.build b/src/st/meson.build
index fa9d6bbf4..46378a2f1 100644
--- a/src/st/meson.build
+++ b/src/st/meson.build
@@ -82,12 +82,10 @@ st_sources = [
'st-widget.c'
]
-st_enums = gnome.mkenums_simple('st-enum-types',
+st_enums = gnome.mkenums('st-enum-types',
sources: st_headers,
- header_prefix: '''
-#if !defined(ST_H_INSIDE) && !defined(ST_COMPILATION)
-#error "Only <st/st.h> can be included directly.h"
-#endif'''
+ c_template: 'st-enum-types.c.in',
+ h_template: 'st-enum-types.h.in'
)
st_gir_sources = st_sources + st_private_headers + st_headers + st_enums
diff --git a/src/st/st-enum-types.c.in b/src/st/st-enum-types.c.in
new file mode 100644
index 000000000..bf0c54470
--- /dev/null
+++ b/src/st/st-enum-types.c.in
@@ -0,0 +1,33 @@
+/*** BEGIN file-header ***/
+#ifndef ST_COMPILATION
+#define ST_COMPILATION
+#endif
+#include "st-enum-types.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 GType enum_type_id = 0;
+ if (G_UNLIKELY (!enum_type_id))
+ {
+ static const G@Type@Value values[] = {
+/*** END value-header ***/
+
+/*** BEGIN value-production ***/
+ { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
+/*** END value-production ***/
+
+/*** BEGIN value-tail ***/
+ { 0, NULL, NULL }
+ };
+ enum_type_id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+ }
+ return enum_type_id;
+}
+/*** END value-tail ***/
diff --git a/src/st/st-enum-types.h.in b/src/st/st-enum-types.h.in
new file mode 100644
index 000000000..b3dd0e74e
--- /dev/null
+++ b/src/st/st-enum-types.h.in
@@ -0,0 +1,29 @@
+/*** BEGIN file-header ***/
+#if !defined(ST_H_INSIDE) && !defined(ST_COMPILATION)
+#error "Only <st/st.h> can be included directly.h"
+#endif
+
+#ifndef __ST_ENUM_TYPES_H__
+#define __ST_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+#endif /* !__ST_ENUM_TYPES_H__ */
+/*** END file-tail ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name@_get_type (void) G_GNUC_CONST;
+#define ST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())
+
+/*** END value-header ***/
--
2.14.2