summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2017-03-19 15:46:55 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2017-05-03 15:10:53 +0100
commitb947e88fbf8de3effa192ab2b09c9ebc99788b6d (patch)
tree8f51314481a730b41630fe9029c3e1109ccd407c
parent7966ab6001943ca000e14516f3dd171387f8836f (diff)
downloadgtk+-b947e88fbf8de3effa192ab2b09c9ebc99788b6d.tar.gz
meson: gdk: update and sync with Makefiles
Also create gdk.gresource.xml at build-time.
-rw-r--r--gdk/gdk.gresource.xml15
-rw-r--r--gdk/gdk.gresource.xml.meson6
-rw-r--r--gdk/gdkversionmacros.h.meson415
-rw-r--r--gdk/gen-gdk-gresources-xml.py33
-rw-r--r--gdk/meson.build125
-rw-r--r--meson.build3
6 files changed, 82 insertions, 515 deletions
diff --git a/gdk/gdk.gresource.xml b/gdk/gdk.gresource.xml
deleted file mode 100644
index 6eff39c1c8..0000000000
--- a/gdk/gdk.gresource.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<gresources>
- <gresource prefix='/org/gtk/libgdk'>
- <file alias='glsl/gl2-texture-2d.fs.glsl'>resources/glsl/gl2-texture-2d.fs.glsl</file>
- <file alias='glsl/gl2-texture-2d.vs.glsl'>resources/glsl/gl2-texture-2d.vs.glsl</file>
- <file alias='glsl/gl2-texture-rect.fs.glsl'>resources/glsl/gl2-texture-rect.fs.glsl</file>
- <file alias='glsl/gl2-texture-rect.vs.glsl'>resources/glsl/gl2-texture-rect.vs.glsl</file>
- <file alias='glsl/gl3-texture-2d.fs.glsl'>resources/glsl/gl3-texture-2d.fs.glsl</file>
- <file alias='glsl/gl3-texture-2d.vs.glsl'>resources/glsl/gl3-texture-2d.vs.glsl</file>
- <file alias='glsl/gl3-texture-rect.fs.glsl'>resources/glsl/gl3-texture-rect.fs.glsl</file>
- <file alias='glsl/gl3-texture-rect.vs.glsl'>resources/glsl/gl3-texture-rect.vs.glsl</file>
- <file alias='glsl/gles2-texture.fs.glsl'>resources/glsl/gles2-texture.fs.glsl</file>
- <file alias='glsl/gles2-texture.vs.glsl'>resources/glsl/gles2-texture.vs.glsl</file>
- </gresource>
-</gresources>
diff --git a/gdk/gdk.gresource.xml.meson b/gdk/gdk.gresource.xml.meson
deleted file mode 100644
index 96cbff4bf2..0000000000
--- a/gdk/gdk.gresource.xml.meson
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<gresources>
- <gresource prefix='/org/gtk/libgdk'>
-@GDK_GRESOURCE_XML_FILES@
- </gresource>
-</gresources>
diff --git a/gdk/gdkversionmacros.h.meson b/gdk/gdkversionmacros.h.meson
deleted file mode 100644
index 1720a08220..0000000000
--- a/gdk/gdkversionmacros.h.meson
+++ /dev/null
@@ -1,415 +0,0 @@
-/* gdkversionmacros.h - version boundaries checks
- * Copyright (C) 2012 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.▸ See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
-#error "Only <gdk/gdk.h> can be included directly."
-#endif
-
-#ifndef __GDK_VERSION_MACROS_H__
-#define __GDK_VERSION_MACROS_H__
-
-#include <glib.h>
-
-#mesondefine GDK_MAJOR_VERSION
-#mesondefine GDK_MINOR_VERSION
-#mesondefine GDK_MICRO_VERSION
-
-#ifndef _GDK_EXTERN
-#define _GDK_EXTERN extern
-#endif
-
-/**
- * GDK_DISABLE_DEPRECATION_WARNINGS:
- *
- * A macro that should be defined before including the gdk.h header.
- * If it is defined, no compiler warnings will be produced for uses
- * of deprecated GDK and GTK+ APIs.
- */
-
-#ifdef GDK_DISABLE_DEPRECATION_WARNINGS
-#define GDK_DEPRECATED _GDK_EXTERN
-#define GDK_DEPRECATED_FOR(f) _GDK_EXTERN
-#define GDK_UNAVAILABLE(maj,min) _GDK_EXTERN
-#else
-#define GDK_DEPRECATED G_DEPRECATED _GDK_EXTERN
-#define GDK_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GDK_EXTERN
-#define GDK_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GDK_EXTERN
-#endif
-
-/* XXX: Every new stable minor release bump should add a macro here */
-
-/**
- * GDK_VERSION_3_0:
- *
- * A macro that evaluates to the 3.0 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_0 (G_ENCODE_VERSION (3, 0))
-
-/**
- * GDK_VERSION_3_2:
- *
- * A macro that evaluates to the 3.2 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_2 (G_ENCODE_VERSION (3, 2))
-
-/**
- * GDK_VERSION_3_4:
- *
- * A macro that evaluates to the 3.4 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.4
- */
-#define GDK_VERSION_3_4 (G_ENCODE_VERSION (3, 4))
-
-/**
- * GDK_VERSION_3_6:
- *
- * A macro that evaluates to the 3.6 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.6
- */
-#define GDK_VERSION_3_6 (G_ENCODE_VERSION (3, 6))
-
-/**
- * GDK_VERSION_3_8:
- *
- * A macro that evaluates to the 3.8 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.8
- */
-#define GDK_VERSION_3_8 (G_ENCODE_VERSION (3, 8))
-
-/**
- * GDK_VERSION_3_10:
- *
- * A macro that evaluates to the 3.10 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.10
- */
-#define GDK_VERSION_3_10 (G_ENCODE_VERSION (3, 10))
-
-/**
- * GDK_VERSION_3_12:
- *
- * A macro that evaluates to the 3.12 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.12
- */
-#define GDK_VERSION_3_12 (G_ENCODE_VERSION (3, 12))
-
-/**
- * GDK_VERSION_3_14:
- *
- * A macro that evaluates to the 3.14 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.14
- */
-#define GDK_VERSION_3_14 (G_ENCODE_VERSION (3, 14))
-
-/**
- * GDK_VERSION_3_16:
- *
- * A macro that evaluates to the 3.16 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.16
- */
-#define GDK_VERSION_3_16 (G_ENCODE_VERSION (3, 16))
-
-/**
- * GDK_VERSION_3_18:
- *
- * A macro that evaluates to the 3.18 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.18
- */
-#define GDK_VERSION_3_18 (G_ENCODE_VERSION (3, 18))
-
-/**
- * GDK_VERSION_3_20:
- *
- * A macro that evaluates to the 3.20 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.18
- */
-#define GDK_VERSION_3_20 (G_ENCODE_VERSION (3, 20))
-
-/**
- * GDK_VERSION_3_22:
- *
- * A macro that evaluates to the 3.22 version of GDK, in a format
- * that can be used by the C pre-processor.
- *
- * Since: 3.20
- */
-#define GDK_VERSION_3_22 (G_ENCODE_VERSION (3, 22))
-
-/* evaluates to the current stable version; for development cycles,
- * this means the next stable target
- */
-#if (GDK_MINOR_VERSION % 2)
-#define GDK_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION + 1))
-#else
-#define GDK_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION))
-#endif
-
-/* evaluates to the previous stable version */
-#if (GDK_MINOR_VERSION % 2)
-#define GDK_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION - 1))
-#else
-#define GDK_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION - 2))
-#endif
-
-/**
- * GDK_VERSION_MIN_REQUIRED:
- *
- * A macro that should be defined by the user prior to including
- * the gdk.h header.
- * The definition should be one of the predefined GDK version
- * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,...
- *
- * This macro defines the lower bound for the GDK API to use.
- *
- * If a function has been deprecated in a newer version of GDK,
- * it is possible to use this symbol to avoid the compiler warnings
- * without disabling warning for every deprecated function.
- *
- * Since: 3.4
- */
-#ifndef GDK_VERSION_MIN_REQUIRED
-# define GDK_VERSION_MIN_REQUIRED (GDK_VERSION_CUR_STABLE)
-#endif
-
-/**
- * GDK_VERSION_MAX_ALLOWED:
- *
- * A macro that should be defined by the user prior to including
- * the gdk.h header.
- * The definition should be one of the predefined GDK version
- * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,...
- *
- * This macro defines the upper bound for the GDK API to use.
- *
- * If a function has been introduced in a newer version of GDK,
- * it is possible to use this symbol to get compiler warnings when
- * trying to use that function.
- *
- * Since: 3.4
- */
-#ifndef GDK_VERSION_MAX_ALLOWED
-# if GDK_VERSION_MIN_REQUIRED > GDK_VERSION_PREV_STABLE
-# define GDK_VERSION_MAX_ALLOWED GDK_VERSION_MIN_REQUIRED
-# else
-# define GDK_VERSION_MAX_ALLOWED GDK_VERSION_CUR_STABLE
-# endif
-#endif
-
-/* sanity checks */
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_MIN_REQUIRED
-#error "GDK_VERSION_MAX_ALLOWED must be >= GDK_VERSION_MIN_REQUIRED"
-#endif
-#if GDK_VERSION_MIN_REQUIRED < GDK_VERSION_3_0
-#error "GDK_VERSION_MIN_REQUIRED must be >= GDK_VERSION_3_0"
-#endif
-
-#define GDK_AVAILABLE_IN_ALL _GDK_EXTERN
-
-/* XXX: Every new stable minor release should add a set of macros here */
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_0
-# define GDK_DEPRECATED_IN_3_0 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_0_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_0 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_0_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_0
-# define GDK_AVAILABLE_IN_3_0 GDK_UNAVAILABLE(3, 0)
-#else
-# define GDK_AVAILABLE_IN_3_0 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_2
-# define GDK_DEPRECATED_IN_3_2 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_2_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_2 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_2_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_2
-# define GDK_AVAILABLE_IN_3_2 GDK_UNAVAILABLE(3, 2)
-#else
-# define GDK_AVAILABLE_IN_3_2 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_4
-# define GDK_DEPRECATED_IN_3_4 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_4_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_4 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_4_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_4
-# define GDK_AVAILABLE_IN_3_4 GDK_UNAVAILABLE(3, 4)
-#else
-# define GDK_AVAILABLE_IN_3_4 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_6
-# define GDK_DEPRECATED_IN_3_6 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_6_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_6 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_6_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_6
-# define GDK_AVAILABLE_IN_3_6 GDK_UNAVAILABLE(3, 6)
-#else
-# define GDK_AVAILABLE_IN_3_6 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_8
-# define GDK_DEPRECATED_IN_3_8 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_8_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_8 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_8_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_8
-# define GDK_AVAILABLE_IN_3_8 GDK_UNAVAILABLE(3, 8)
-#else
-# define GDK_AVAILABLE_IN_3_8 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_10
-# define GDK_DEPRECATED_IN_3_10 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_10_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_10 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_10_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_10
-# define GDK_AVAILABLE_IN_3_10 GDK_UNAVAILABLE(3, 10)
-#else
-# define GDK_AVAILABLE_IN_3_10 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_12
-# define GDK_DEPRECATED_IN_3_12 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_12_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_12 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_12_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_12
-# define GDK_AVAILABLE_IN_3_12 GDK_UNAVAILABLE(3, 12)
-#else
-# define GDK_AVAILABLE_IN_3_12 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_14
-# define GDK_DEPRECATED_IN_3_14 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_14_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_14 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_14_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_14
-# define GDK_AVAILABLE_IN_3_14 GDK_UNAVAILABLE(3, 14)
-#else
-# define GDK_AVAILABLE_IN_3_14 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_16
-# define GDK_DEPRECATED_IN_3_16 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_16_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_16 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_16_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_16
-# define GDK_AVAILABLE_IN_3_16 GDK_UNAVAILABLE(3, 16)
-#else
-# define GDK_AVAILABLE_IN_3_16 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_18
-# define GDK_DEPRECATED_IN_3_18 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_18_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_18 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_18_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_18
-# define GDK_AVAILABLE_IN_3_18 GDK_UNAVAILABLE(3, 18)
-#else
-# define GDK_AVAILABLE_IN_3_18 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_20
-# define GDK_DEPRECATED_IN_3_20 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_20_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_20 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_20_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_20
-# define GDK_AVAILABLE_IN_3_20 GDK_UNAVAILABLE(3, 20)
-#else
-# define GDK_AVAILABLE_IN_3_20 _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_22
-# define GDK_DEPRECATED_IN_3_22 GDK_DEPRECATED
-# define GDK_DEPRECATED_IN_3_22_FOR(f) GDK_DEPRECATED_FOR(f)
-#else
-# define GDK_DEPRECATED_IN_3_22 _GDK_EXTERN
-# define GDK_DEPRECATED_IN_3_22_FOR(f) _GDK_EXTERN
-#endif
-
-#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_22
-# define GDK_AVAILABLE_IN_3_22 GDK_UNAVAILABLE(3, 22)
-#else
-# define GDK_AVAILABLE_IN_3_22 _GDK_EXTERN
-#endif
-
-#endif /* __GDK_VERSION_MACROS_H__ */
diff --git a/gdk/gen-gdk-gresources-xml.py b/gdk/gen-gdk-gresources-xml.py
new file mode 100644
index 0000000000..694a9159aa
--- /dev/null
+++ b/gdk/gen-gdk-gresources-xml.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+#
+# Generate gdk.gresources.xml
+#
+# Usage: gen-gdk-gresources-xml SRCDIR_GDK [OUTPUT-FILE]
+
+import os, sys
+
+srcdir = sys.argv[1]
+
+xml = '''<?xml version='1.0' encoding='UTF-8'?>
+<gresources>
+ <gresource prefix='/org/gtk/libgdk'>
+
+'''
+
+def get_files(subdir,extension):
+ return sorted(filter(lambda x: x.endswith((extension)), os.listdir(os.path.join(srcdir,subdir))))
+
+for f in get_files('resources/glsl', '.glsl'):
+ xml += ' <file alias=\'glsl/{0}\'>resources/glsl/{0}</file>\n'.format(f)
+
+xml += '''
+ </gresource>
+</gresources>'''
+
+if len(sys.argv) > 2:
+ outfile = sys.argv[2]
+ f = open(outfile, 'w')
+ f.write(xml)
+ f.close()
+else:
+ print(xml)
diff --git a/gdk/meson.build b/gdk/meson.build
index ec1bc0f1c4..10d00cecb9 100644
--- a/gdk/meson.build
+++ b/gdk/meson.build
@@ -38,7 +38,7 @@ gdk_sources = files([
'gdkwindowimpl.c',
])
-gdk_public_h_sources = files([
+gdk_public_headers = files([
'gdk-autocleanup.h',
'gdk.h',
'gdkapplaunchcontext.h',
@@ -74,6 +74,7 @@ gdk_public_h_sources = files([
'gdkvisual.h',
'gdkwindow.h',
])
+install_headers(gdk_public_headers, subdir: 'gtk-4.0/gdk/')
gdk_private_h_sources = files([
'gdkdevicetoolprivate.h',
@@ -231,75 +232,34 @@ gdk_broadway_private_sources = files([
'broadway/gdkprivate-broadway.h'
])
-# glsl_sources = [
- # 'gl3-texture-2d.fs.glsl',
- # 'gl3-texture-2d.vs.glsl',
- # 'gl3-texture-rect.fs.glsl',
- # 'gl3-texture-rect.vs.glsl',
- # 'gl2-texture-2d.fs.glsl',
- # 'gl2-texture-2d.fs.glsl',
- # 'gl2-texture-rect.vs.glsl',
- # 'gl2-texture-rect.vs.glsl',
- # 'gles2-texture.fs.glsl',
- # 'gles2-texture.vs.glsl',
-# ]
-# resource_xml = ''
-# foreach glsl_file : glsl_sources
- # resource_xml += ' <file alias="glsl/@0@">resources/glsl/@0@</file>\n'.format(glsl_file)
-# endforeach
-
-
-# cdata = configuration_data()
-# cdata.set('GDK_GRESOURCE_XML_FILES', resource_xml)
-# gdkresources_xml = configure_file(
- # input : 'gdk.gresource.xml.meson',
- # output : 'gdk.gresource.xml',
- # configuration : cdata
-# )
-
-gdkresources = gnome.compile_resources(
- 'gdkresources',
- 'gdk.gresource.xml',
+gdk_gresource_xml = configure_file(output : 'gdk.gresource.xml',
+ input : 'gen-gsk-resources-xml.py',
+ command : [find_program('gen-gdk-gresources-xml.py'),
+ meson.current_source_dir(), '@OUTPUT@'])
+
+gdkresources = gnome.compile_resources('gdkresources',
+ gdk_gresource_xml,
source_dir: '.',
c_name: '_gdk',
- extra_args: '--manual-register'
-)
-
-
-gdk_headers = gdk_public_h_sources + gdk_private_h_sources
+ extra_args: '--manual-register')
-gdkenum_h = custom_target(
- 'gdkenum_h',
- output : 'gdkenumtypes.h',
- input : gdk_headers,
- command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.h.template', '@OUTPUT@', '@INPUT@'])
+gdk_headers = gdk_public_headers + gdk_private_h_sources
-gdkenum_c = custom_target(
- 'gdkenum_c',
- output : 'gdkenumtypes.c',
- input : gdk_headers,
- depends : gdkenum_h,
- command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.c.template', '@OUTPUT@', '@INPUT@'])
+gdk_enums = gnome.mkenums('gdkenumtypes',
+ sources: gdk_public_headers,
+ c_template : 'gdkenumtypes.c.template',
+ h_template : 'gdkenumtypes.h.template',
+ install_dir : 'gtk-4.0/gdk',
+ install_header : true)
-gdkmarshal_h = custom_target(
- 'gdkmarshal_h',
- output : 'gdkmarshalers.h',
- input : 'gdkmarshalers.list',
- command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@']
-)
-
-gdkmarshal_c = custom_target(
- 'gdkmarshal_c',
- output : 'gdkmarshalers.c',
- input : 'gdkmarshalers.list',
- command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@']
-)
+gdkenum_h = gdk_enums[1]
-cdata = configuration_data()
-cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
-cdata.set('GTK_MINOR_VERSION', gtk_minor_version)
-cdata.set('GTK_MICRO_VERSION', gtk_micro_version)
+gdk_marshalers = gnome.genmarshal('gdkmarshalers',
+ sources : 'gdkmarshalers.list',
+ prefix : '_gdk_marshal',
+ valist_marshallers : true)
+gdkmarshal_h = gdk_marshalers[1]
gdkconfig_cdata = configuration_data()
gdkconfig_cdata.set('GDK_WINDOWING_X11', x11_enabled)
@@ -311,15 +271,19 @@ gdkconfig = configure_file(
input : 'gdkconfig.h.meson',
output : 'gdkconfig.h',
configuration : gdkconfig_cdata,
- install_dir: 'include/gtk-4.0/gdk/' # XXX ???
-)
+ install_dir: 'include/gtk-4.0/gdk/')
+
+
+gdkversion_cdata = configuration_data()
+gdkversion_cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
+gdkversion_cdata.set('GTK_MINOR_VERSION', gtk_minor_version)
+gdkversion_cdata.set('GTK_MICRO_VERSION', gtk_micro_version)
gdkversionmacros = configure_file(
input : 'gdkversionmacros.h.in',
output : 'gdkversionmacros.h',
- configuration: cdata,
- install_dir: 'include/gtk-4.0/gdk/' # XXX ???
-)
+ configuration: gdkversion_cdata,
+ install_dir: 'include/gtk-4.0/gdk/')
xinc = include_directories('x11')
wlinc = include_directories('.')
@@ -339,16 +303,26 @@ gdk_deps = [
vulkan_lib
]
-gdk_sources = [
+# add generated gdk sources
+gdk_sources += [
gdkconfig,
- gdk_sources,
- gdkenum_c, gdkenum_h,
- gdkmarshal_c, gdkmarshal_h,
+ gdk_enums,
+ gdk_marshalers,
gdkresources,
gdkversionmacros,
gdk_headers
]
+if wayland_enabled or broadway_enabled
+ if cc.has_function('shm_open', name : 'shm_open() in libc')
+ shmlib = []
+ elif cc.has_function('shm_open', args : '-lrt', name : 'shm_open() in librt')
+ shmlib = cc.find_library('rt')
+ else
+ shmlib = []
+ endif
+endif
+
if x11_enabled
gdk_deps += [
xrender_dep,
@@ -397,12 +371,9 @@ if broadway_enabled
]
endif
-
-# install_headers(gdk_public_h_sources, subdir: 'gtk-3.0/gdk/')
-
libgdk = static_library('gdk',
- sources: [gdk_sources, gdkconfig, gdkenum_h],
- c_args: ['-DHAVE_CONFIG_H', '-DGDK_COMPILATION'],
+ sources: [gdk_sources, gdkconfig],
+ c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"'],
include_directories: [confinc, xinc, wlinc],
dependencies: gdk_deps,
)
diff --git a/meson.build b/meson.build
index e07391a507..62d76475fc 100644
--- a/meson.build
+++ b/meson.build
@@ -256,8 +256,7 @@ if x11_enabled
endif
endif
-mlib = cc.find_library('m', required: false)
-shmlib = cc.find_library('rt')
+mlib = cc.find_library('m', required: false)
if giounix_dep.found()
cdata.set('HAVE_GIO_UNIX', 1)