mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-09-06 09:56:14 +00:00
![Pekka Paalanen](/assets/img/avatar_default.png)
We have two kinds of libweston users: internal and external. Weston, the frontend, counts as an external user, and should not have access to libweston private headers. The shell plugins are external users as well, because we intend people to be able to write them. Renderers, backends, and some plugins are internal users who will need access to private headers. Create two different Meson dependency objects, one for each kind. This makes it less likely to accidentally use a private header. Screen-share is a Weston plugin and therefore counts as an external user, but it needs the backend API to deliver input. Until we are comfortable exposing public API for that purpose, let it use internal headers. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
45 lines
899 B
Meson
45 lines
899 B
Meson
if not get_option('xwayland')
|
|
subdir_done()
|
|
endif
|
|
|
|
srcs_xwayland = [
|
|
'launcher.c',
|
|
'window-manager.c',
|
|
'selection.c',
|
|
'dnd.c',
|
|
'hash.c',
|
|
]
|
|
|
|
dep_names_xwayland = [
|
|
'xcb',
|
|
'xcb-composite',
|
|
'xcb-shape',
|
|
'xcb-xfixes',
|
|
'xcursor',
|
|
'cairo-xcb',
|
|
]
|
|
|
|
deps_xwayland = [ dep_libweston_public ]
|
|
|
|
foreach name : dep_names_xwayland
|
|
d = dependency(name, required: false)
|
|
if not d.found()
|
|
error('xwayland requires @0@ which was not found. Or, you can use \'-Dxwayland=false\'.'.format(name))
|
|
endif
|
|
deps_xwayland += d
|
|
endforeach
|
|
|
|
plugin_xwayland = shared_library(
|
|
'xwayland',
|
|
srcs_xwayland,
|
|
link_with: lib_cairo_shared,
|
|
include_directories: common_inc,
|
|
dependencies: deps_xwayland,
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_libweston
|
|
)
|
|
env_modmap += 'xwayland.so=@0@;'.format(plugin_xwayland.full_path())
|
|
|
|
install_headers(xwayland_api_h, subdir: dir_include_libweston_install)
|