meson: stop exporting internal wayland details
authorEmil Velikov <emil.velikov@collabora.com>
Thu, 28 Jun 2018 13:42:08 +0000 (14:42 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 7 Aug 2018 16:23:17 +0000 (17:23 +0100)
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>
meson.build
src/egl/wayland/wayland-drm/meson.build

index a155905312da3bbb45ea81ee1d24492617559ed2..661cbba9b430db82bdcf4ab4ba26aa5816e7eb50 100644 (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
index c627deaa1c34b8cbe323ae12d32f8cba3c594a9c..983bf55fac8488af4471b5246cb18035fe27a9c4 100644 (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(