diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2018-04-11 14:37:57 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2018-04-11 15:06:43 +0100 |
commit | a2a99d27c95a6589f397cfd55a49f2571f61b74f (patch) | |
tree | 3af697441b53d6ee8a35bcd53cb5eddaa5d68504 | |
parent | d7af16c8e421ffb151d8a5330d69827fc6778fe5 (diff) | |
download | gtk+-a2a99d27c95a6589f397cfd55a49f2571f61b74f.tar.gz |
Simplify the Wayland code generation
Instead of going through an ancillary script to strip away the
`WL_EXPORT` annotation from the generated code, we should bump up the
required version of Wayland, and use the `private-code` argument for
wayland-scanner, which does the right thing for us.
-rwxr-xr-x | gdk/wayland/genprotocolfiles.py | 45 | ||||
-rw-r--r-- | gdk/wayland/meson.build | 7 | ||||
-rw-r--r-- | gtk/meson.build | 11 | ||||
-rw-r--r-- | meson.build | 2 |
4 files changed, 6 insertions, 59 deletions
diff --git a/gdk/wayland/genprotocolfiles.py b/gdk/wayland/genprotocolfiles.py deleted file mode 100755 index 1edd4e33e3..0000000000 --- a/gdk/wayland/genprotocolfiles.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -import sys -import re -import shutil -import subprocess - -scanner = sys.argv[1] -in_file = sys.argv[2] -out_file = sys.argv[3] -#TODO: We can infer this optinon from the name of the output file! -option = sys.argv[4] - -pc = subprocess.Popen([scanner, option, in_file, out_file], stdout=subprocess.PIPE) -(stdo, _) = pc.communicate() -if pc.returncode != 0: - sys.exit(pc.returncode) - -# Now read the generated file again and remove all WL_EXPORTs -content = "" -with open(out_file, 'r', encoding='utf-8') as content_file: - content = content_file.read() - -content = content.replace('WL_EXPORT ', '') -ofile = open(out_file, 'w') -ofile.write(content) -ofile.close() - - - -# unstable = False - -# if "unstable" in out_file: - # unstable = True - - -# if out_file.endswith("-protocol.c"): - # print("protocol source") -# elif out_file.endswith("-client-protocol.h"): - # print("client protocol header") -# elif out_file.endswith("-server-protocol.h"): - # print("server protocol header") -# else: - # print("ERROR: '",out_file,"' is not a valid output file") diff --git a/gdk/wayland/meson.build b/gdk/wayland/meson.build index 6390e57c19..8bf4718611 100644 --- a/gdk/wayland/meson.build +++ b/gdk/wayland/meson.build @@ -41,7 +41,6 @@ proto_dir = dependency('wayland-protocols').get_pkgconfig_variable('pkgdatadir') assert(proto_dir != '', 'Could not get pkgdatadir from wayland-protocols.pc') wayland_scanner = find_program('wayland-scanner') -genprotocols = find_program('genprotocolfiles.py') # Format: # - protocol name @@ -77,20 +76,18 @@ foreach p: proto_sources input: input, output: '@0@-client-protocol.h'.format(output_base), command: [ - genprotocols, wayland_scanner, - '@INPUT@', '@OUTPUT@', 'client-header', + '@INPUT@', '@OUTPUT@', ]) gdk_wayland_sources += custom_target('@0@ source'.format(output_base), input: input, output: '@0@-protocol.c'.format(output_base), command: [ - genprotocols, wayland_scanner, + 'private-code', '@INPUT@', '@OUTPUT@', - 'code', ]) endforeach diff --git a/gtk/meson.build b/gtk/meson.build index f1e057189d..075cc9069f 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -600,10 +600,6 @@ proto_sources = [ ] im_wayland_sources = files('gtkimcontextwayland.c') -if wayland_enabled - wayland_scanner = find_program('wayland-scanner') - genprotocols = find_program('../gdk/wayland/genprotocolfiles.py') -endif foreach p: proto_sources proto_name = p.get(0) @@ -619,24 +615,23 @@ foreach p: proto_sources endif if wayland_enabled + # wayland_scanner is defined in gdk/wayland/meson.build im_wayland_sources += custom_target('@0@ client header'.format(output_base), input: input, output: '@0@-client-protocol.h'.format(output_base), command: [ - genprotocols, wayland_scanner, - '@INPUT@', '@OUTPUT@', 'client-header', + '@INPUT@', '@OUTPUT@', ]) im_wayland_sources += custom_target('@0@ source'.format(output_base), input: input, output: '@0@-protocol.c'.format(output_base), command: [ - genprotocols, wayland_scanner, + 'private-code', '@INPUT@', '@OUTPUT@', - 'code', ]) endif endforeach diff --git a/meson.build b/meson.build index de66c987eb..fbc23ba257 100644 --- a/meson.build +++ b/meson.build @@ -33,7 +33,7 @@ cairo_req = '>= 1.14.0' gdk_pixbuf_req = '>= 2.30.0' introspection_req = '>= 1.39.0' wayland_proto_req = '>= 1.9' -wayland_req = '>= 1.9.91' +wayland_req = '>= 1.14.91' graphene_req = '>= 1.5.1' epoxy_req = '>= 1.4' cloudproviders_req = '>= 0.2.5' |