diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2017-03-19 15:46:55 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2017-05-03 15:10:53 +0100 |
commit | b947e88fbf8de3effa192ab2b09c9ebc99788b6d (patch) | |
tree | 8f51314481a730b41630fe9029c3e1109ccd407c | |
parent | 7966ab6001943ca000e14516f3dd171387f8836f (diff) | |
download | gtk+-b947e88fbf8de3effa192ab2b09c9ebc99788b6d.tar.gz |
meson: gdk: update and sync with Makefiles
Also create gdk.gresource.xml at build-time.
-rw-r--r-- | gdk/gdk.gresource.xml | 15 | ||||
-rw-r--r-- | gdk/gdk.gresource.xml.meson | 6 | ||||
-rw-r--r-- | gdk/gdkversionmacros.h.meson | 415 | ||||
-rw-r--r-- | gdk/gen-gdk-gresources-xml.py | 33 | ||||
-rw-r--r-- | gdk/meson.build | 125 | ||||
-rw-r--r-- | meson.build | 3 |
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) |