meson: stop exporting internal wayland details

With version v1.15 the "code" option was deprecated in favour of
"private-code" or "public-code".

Before the interface symbol generated was exported (which is a bad idea
since it's internal implementation detail) and others may misuse it.

That was the case with libva approx. 1 year ago. Since then libva was
fixed, so we can finally hide it by using "private-code"

Inspired by similar xserver patch by Adam Jackson.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
Emil Velikov 2018-06-28 14:42:08 +01:00 committed by Emil Velikov
parent c077b74ee8
commit 2f1d9e6cb8
2 changed files with 8 additions and 2 deletions

View File

@ -1277,6 +1277,11 @@ endif
if with_platform_wayland
dep_wl_scanner = dependency('wayland-scanner', native: true)
prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
if dep_wl_scanner.version().version_compare('>= 1.15')
wl_scanner_arg = 'private-code'
else
wl_scanner_arg = 'code'
endif
dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.8')
dep_wayland_client = dependency('wayland-client', version : '>=1.11')
dep_wayland_server = dependency('wayland-server', version : '>=1.11')
@ -1292,6 +1297,7 @@ if with_platform_wayland
pre_args += ['-DHAVE_WAYLAND_PLATFORM', '-DWL_HIDE_DEPRECATED']
else
prog_wl_scanner = []
wl_scanner_arg = ''
dep_wl_protocols = null_dep
dep_wayland_client = null_dep
dep_wayland_server = null_dep

View File

@ -24,7 +24,7 @@ wayland_drm_protocol_c = custom_target(
'wayland-drm-protocol.c',
input : 'wayland-drm.xml',
output : 'wayland-drm-protocol.c',
command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'],
command : [prog_wl_scanner, wl_scanner_arg, '@INPUT@', '@OUTPUT@'],
)
wayland_drm_client_protocol_h = custom_target(
@ -61,7 +61,7 @@ linux_dmabuf_unstable_v1_protocol_c = custom_target(
'linux-dmabuf-unstable-v1-protocol.c',
input : wayland_dmabuf_xml,
output : 'linux-dmabuf-unstable-v1-protocol.c',
command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'],
command : [prog_wl_scanner, wl_scanner_arg, '@INPUT@', '@OUTPUT@'],
)
linux_dmabuf_unstable_v1_client_protocol_h = custom_target(