From 2f1d9e6cb842e3cff8ae7b73f669ea8d6c411ac8 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Thu, 28 Jun 2018 14:42:08 +0100 Subject: [PATCH] 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 Reviewed-by: Dylan Baker Reviewed-by: Eric Engestrom --- meson.build | 6 ++++++ src/egl/wayland/wayland-drm/meson.build | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index a155905312d..661cbba9b43 100644 --- a/meson.build +++ b/meson.build @@ -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 diff --git a/src/egl/wayland/wayland-drm/meson.build b/src/egl/wayland/wayland-drm/meson.build index c627deaa1c3..983bf55fac8 100644 --- a/src/egl/wayland/wayland-drm/meson.build +++ b/src/egl/wayland/wayland-drm/meson.build @@ -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( -- 2.30.2