summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2018-04-11 14:37:57 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2018-04-11 15:06:43 +0100
commita2a99d27c95a6589f397cfd55a49f2571f61b74f (patch)
tree3af697441b53d6ee8a35bcd53cb5eddaa5d68504
parentd7af16c8e421ffb151d8a5330d69827fc6778fe5 (diff)
downloadgtk+-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-xgdk/wayland/genprotocolfiles.py45
-rw-r--r--gdk/wayland/meson.build7
-rw-r--r--gtk/meson.build11
-rw-r--r--meson.build2
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'