[gtk/matthiasc/for-master] gsk: Don't autoinclude backend-specific headers
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] gsk: Don't autoinclude backend-specific headers
- Date: Sat, 25 Apr 2020 01:41:59 +0000 (UTC)
commit 79e1c66657957eea7f2b63a88c73c0bf09cd3a02
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Apr 24 21:38:52 2020 -0400
gsk: Don't autoinclude backend-specific headers
Don't install headers for code that we don't build.
And don't include those headers in gsk.h.
Just as we do in gdk, require applications to include
the backend-specific headers they need explicitly.
Update the one affected demo, gtk4-node-editor.
demos/node-editor/node-editor-window.c | 7 +++++++
gsk/gsk.h | 3 ---
gsk/meson.build | 24 ++++++++++++++----------
3 files changed, 21 insertions(+), 13 deletions(-)
---
diff --git a/demos/node-editor/node-editor-window.c b/demos/node-editor/node-editor-window.c
index b9b28afd81..7bda0679d4 100644
--- a/demos/node-editor/node-editor-window.c
+++ b/demos/node-editor/node-editor-window.c
@@ -24,6 +24,13 @@
#include "gtkrendererpaintableprivate.h"
#include "gsk/gskrendernodeparserprivate.h"
+#include "gsk/gl/gskglrenderer.h"
+#ifdef GDK_WINDOWING_BROADWAY
+#include "gsk/broadway/gskbroadwayrenderer.h"
+#endif
+#ifdef GDK_RENDERING_VULKAN
+#include "gsk/vulkan/gskvulkanrenderer.h"
+#endif
#ifndef NODE_EDITOR_SOURCE_DIR
#define NODE_EDITOR_SOURCE_DIR "." /* Fallback */
diff --git a/gsk/gsk.h b/gsk/gsk.h
index b1ae837946..523b24c81a 100644
--- a/gsk/gsk.h
+++ b/gsk/gsk.h
@@ -27,9 +27,6 @@
#include <gsk/gsktransform.h>
#include <gsk/gskcairorenderer.h>
-#include <gsk/gl/gskglrenderer.h>
-#include <gsk/broadway/gskbroadwayrenderer.h>
-#include <gsk/vulkan/gskvulkanrenderer.h>
#include <gsk/gsktypes.h>
#include <gsk/gskenumtypes.h>
diff --git a/gsk/meson.build b/gsk/meson.build
index 8aeae9e7e8..9cc22359cb 100644
--- a/gsk/meson.build
+++ b/gsk/meson.build
@@ -66,17 +66,21 @@ gsk_public_gl_headers = files([
install_headers(gsk_public_gl_headers, subdir: 'gtk-4.0/gsk/gl')
gsk_public_headers += gsk_public_gl_headers
-gsk_public_broadway_headers = files([
- 'broadway/gskbroadwayrenderer.h'
-])
-install_headers(gsk_public_broadway_headers, subdir: 'gtk-4.0/gsk/broadway')
-gsk_public_headers += gsk_public_broadway_headers
+if get_variable('broadway_enabled')
+ gsk_public_broadway_headers = files([
+ 'broadway/gskbroadwayrenderer.h'
+ ])
+ install_headers(gsk_public_broadway_headers, subdir: 'gtk-4.0/gsk/broadway')
+ gsk_public_headers += gsk_public_broadway_headers
+endif
-gsk_public_vulkan_headers = files([
- 'vulkan/gskvulkanrenderer.h'
-])
-install_headers(gsk_public_vulkan_headers, subdir: 'gtk-4.0/gsk/vulkan')
-gsk_public_headers += gsk_public_vulkan_headers
+if have_vulkan
+ gsk_public_vulkan_headers = files([
+ 'vulkan/gskvulkanrenderer.h'
+ ])
+ install_headers(gsk_public_vulkan_headers, subdir: 'gtk-4.0/gsk/vulkan')
+ gsk_public_headers += gsk_public_vulkan_headers
+endif
gsk_private_vulkan_shaders = []
# This is an odd split because we use configure_file() below to workaround
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]