1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
|
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
Date: Fri, 10 Mar 2023 07:59:16 +0100
Subject: clutter/meson: Produce all Clutter gir files
---
clutter/meson.build | 101 +++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 89 insertions(+), 12 deletions(-)
diff --git a/clutter/meson.build b/clutter/meson.build
index 2bbea81..fa35984 100644
--- a/clutter/meson.build
+++ b/clutter/meson.build
@@ -328,7 +328,7 @@ clutter_version_h.set('CLUTTER_MAJOR_VERSION', clutter_major_version)
clutter_version_h.set('CLUTTER_MINOR_VERSION', clutter_minor_version)
clutter_version_h.set('CLUTTER_MICRO_VERSION', clutter_micro_version)
clutter_version_h.set('CLUTTER_VERSION', meson.project_version())
-configure_file(
+clutter_version_header = configure_file(
input: 'clutter-version.h.in',
output: 'clutter-version.h',
configuration: clutter_version_h,
@@ -375,7 +375,7 @@ clutter_config += '#define CLUTTER_INPUT_NULL "null"'
clutter_config_h = configuration_data()
clutter_config_h.set('CLUTTER_CONFIG_DEFINES', '\n'.join(clutter_config))
-configure_file(
+clutter_config_header = configure_file(
input: 'clutter-config.h.in',
output: 'clutter-config.h',
configuration: clutter_config_h,
@@ -439,7 +439,7 @@ if enabled_backends.contains('x11')
backend_deps += x11_deps
- backend_sources += [
+ x11_sources = [
'x11/clutter-backend-x11.c',
'x11/clutter-device-manager-core-x11.c',
'x11/clutter-event-x11.c',
@@ -451,27 +451,31 @@ if enabled_backends.contains('x11')
]
if build_xi2
- backend_sources += [
+ x11_sources += [
'x11/clutter-device-manager-xi2.c',
'x11/clutter-input-device-xi2.c',
]
endif
- backend_sources += [
+ x11_sources += [
'x11/xsettings/xsettings-client.c',
'x11/xsettings/xsettings-common.c',
]
- install_headers([
- 'x11/clutter-x11.h',
- 'x11/clutter-x11-texture-pixmap.h',
+ x11_headers = [
+ 'x11/clutter-x11.h',
+ 'x11/clutter-x11-texture-pixmap.h',
- 'x11/clutter-glx.h',
- 'x11/clutter-glx-texture-pixmap.h',
- ],
+ 'x11/clutter-glx.h',
+ 'x11/clutter-glx-texture-pixmap.h',
+ ]
+
+ install_headers(x11_headers,
install_dir: join_paths(clutter_full_includedir, 'x11'),
)
+ backend_sources += x11_sources
+
backend_pc_files += [
[ 'clutter-x11-@0@'.format(clutter_api_version), 'Clutter (X11)', x11_deps ],
[ 'clutter-glx-@0@'.format(clutter_api_version), 'Clutter (X11)', x11_deps ],
@@ -483,14 +487,16 @@ if enabled_backends.contains('gdk')
backend_deps += gdk_dep
- backend_sources += [
+ gdk_sources = [
'gdk/clutter-backend-gdk.c',
'gdk/clutter-device-manager-gdk.c',
'gdk/clutter-event-gdk.c',
'gdk/clutter-input-device-gdk.c',
'gdk/clutter-master-clock-gdk.c',
'gdk/clutter-stage-gdk.c',
+ 'gdk/clutter-gdk.h',
]
+ backend_sources += gdk_sources
backend_pc_files += [
[ 'clutter-gdk-@0@'.format(clutter_api_version), 'Clutter (GDK)', [gdk_dep] ],
@@ -753,6 +759,8 @@ libclutter = library(
)
introspected_sources = [
+ clutter_config_header,
+ clutter_version_header,
clutter_public_headers,
sources,
clutter_deprecated_headers,
@@ -783,6 +791,75 @@ if get_option('introspection')
'-DCLUTTER_COMPILATION=1',
],
)
+
+ libclutter_gir_target = libclutter_gir[0]
+
+ gnome.generate_gir(
+ libclutter,
+ sources: cally_sources + cally_headers,
+ namespace: 'Cally',
+ nsversion: clutter_api_version,
+ export_packages: 'cally-' + clutter_api_version,
+ includes: libclutter_gir_target,
+ header: 'cally/cally.h',
+ install: true,
+ extra_args: [
+ '--quiet',
+ '-DCLUTTER_COMPILATION=1',
+ ],
+ )
+
+ if enabled_backends.contains('x11')
+
+ glx_clutter_glx_texture = custom_target(
+ 'glx-clutter-glx-texture-pixmap.h',
+ output : 'clutter-glx-texture-pixmap.h',
+ input : 'x11/clutter-glx-texture-pixmap.h',
+ command : [
+ 'sh', '-c',
+ 'mkdir $1/glx && cp -v $2 $1/glx/$(basename $3) && touch $3', '--',
+ '@OUTDIR@', '@INPUT@', '@OUTPUT@'],
+ )
+
+ gnome.generate_gir(
+ libclutter,
+ sources: x11_sources + x11_headers + glx_clutter_glx_texture,
+ namespace: 'ClutterX11',
+ nsversion: clutter_api_version,
+ export_packages: 'clutter-x11-' + clutter_api_version,
+ includes: [
+ libclutter_gir_target,
+ 'xlib-2.0',
+ ],
+ header: 'clutter/x11/clutter-x11.h',
+ install: true,
+ extra_args: [
+ '-I' + meson.current_source_dir() / '..',
+ '--quiet',
+ '-DCLUTTER_COMPILATION=1',
+ ],
+ )
+ endif
+
+ if (enabled_backends.contains('gdk'))
+ gnome.generate_gir(
+ libclutter,
+ sources: gdk_sources,
+ namespace: 'ClutterGdk',
+ nsversion: clutter_api_version,
+ export_packages: 'clutter-gdk-' + clutter_api_version,
+ includes: [
+ libclutter_gir_target,
+ 'Gdk-3.0',
+ ],
+ header: 'clutter/gdk/clutter-gdk.h',
+ install: true,
+ extra_args: [
+ '--quiet',
+ '-DCLUTTER_COMPILATION=1',
+ ],
+ )
+ endif
else
libclutter_gir = []
endif
|