9e20730e04
With commit e825fe38
, we no longer display the pointer if no movement is
detected, which will cause screen share to fail to start if that is the
case. There could be also legitimate cases where there's no pointer, so
let's allow screen share to function in those cases as well. Makes uses
of previous helper methods to find a proper output to share in case we
don't have an pointer.
Re-uses the shell utils functions.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
188 lines
4.9 KiB
Meson
188 lines
4.9 KiB
Meson
srcs_weston = [
|
|
git_version_h,
|
|
'main.c',
|
|
'text-backend.c',
|
|
'weston-screenshooter.c',
|
|
text_input_unstable_v1_server_protocol_h,
|
|
text_input_unstable_v1_protocol_c,
|
|
input_method_unstable_v1_server_protocol_h,
|
|
input_method_unstable_v1_protocol_c,
|
|
weston_screenshooter_server_protocol_h,
|
|
weston_screenshooter_protocol_c,
|
|
]
|
|
deps_weston = [
|
|
dep_libshared,
|
|
dep_libweston_public,
|
|
dep_libinput,
|
|
dep_libevdev,
|
|
dep_libdl,
|
|
dep_threads,
|
|
]
|
|
|
|
if get_option('xwayland')
|
|
config_h.set('BUILD_XWAYLAND', '1')
|
|
|
|
srcs_weston += 'xwayland.c'
|
|
config_h.set_quoted('XSERVER_PATH', get_option('xwayland-path'))
|
|
endif
|
|
|
|
libexec_weston = shared_library(
|
|
'exec_weston',
|
|
sources: srcs_weston,
|
|
include_directories: common_inc,
|
|
dependencies: deps_weston,
|
|
install_dir: dir_module_weston,
|
|
install: true,
|
|
version: '0.0.0',
|
|
soversion: 0
|
|
)
|
|
dep_libexec_weston = declare_dependency(
|
|
link_with: libexec_weston,
|
|
include_directories: [ include_directories('.'), public_inc ],
|
|
dependencies: dep_libweston_public
|
|
)
|
|
exe_weston = executable(
|
|
'weston',
|
|
'executable.c',
|
|
include_directories: common_inc,
|
|
dependencies: dep_libexec_weston,
|
|
install_rpath: dir_module_weston,
|
|
install: true
|
|
)
|
|
install_headers('weston.h', subdir: 'weston')
|
|
|
|
pkgconfig.generate(
|
|
filebase: 'weston',
|
|
name: 'Weston Plugin API',
|
|
version: version_weston,
|
|
description: 'Header files for Weston plugin development',
|
|
requires_private: [ lib_weston ],
|
|
variables: [
|
|
'libexecdir=' + join_paths('${prefix}', get_option('libexecdir')),
|
|
'pkglibexecdir=${libexecdir}/weston'
|
|
],
|
|
subdirs: 'weston'
|
|
)
|
|
|
|
install_data(
|
|
'weston.desktop',
|
|
install_dir: join_paths(dir_data, 'wayland-sessions')
|
|
)
|
|
|
|
if get_option('screenshare')
|
|
srcs_screenshare = [
|
|
'screen-share.c',
|
|
fullscreen_shell_unstable_v1_client_protocol_h,
|
|
fullscreen_shell_unstable_v1_protocol_c,
|
|
]
|
|
deps_screenshare = [
|
|
dep_libexec_weston,
|
|
dep_libshared,
|
|
dep_shell_utils,
|
|
dep_libweston_public,
|
|
dep_libweston_private_h, # XXX: https://gitlab.freedesktop.org/wayland/weston/issues/292
|
|
dep_wayland_client,
|
|
]
|
|
plugin_screenshare = shared_library(
|
|
'screen-share',
|
|
srcs_screenshare,
|
|
include_directories: common_inc,
|
|
dependencies: deps_screenshare,
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_weston,
|
|
install_rpath: '$ORIGIN'
|
|
)
|
|
env_modmap += 'screen-share.so=@0@;'.format(plugin_screenshare.full_path())
|
|
endif
|
|
|
|
if get_option('color-management-lcms')
|
|
config_h.set('HAVE_LCMS', '1')
|
|
|
|
srcs_lcms = [
|
|
'cms-static.c',
|
|
'cms-helper.c',
|
|
]
|
|
|
|
dep_lcms2 = dependency('lcms2', required: false)
|
|
if not dep_lcms2.found()
|
|
error('cms-static requires lcms2 which was not found. Or, you can use \'-Dcolor-management-lcms=false\'.')
|
|
endif
|
|
|
|
plugin_lcms = shared_library(
|
|
'cms-static',
|
|
srcs_lcms,
|
|
include_directories: common_inc,
|
|
dependencies: [ dep_libexec_weston, dep_libweston_public, dep_lcms2 ],
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_weston,
|
|
install_rpath: '$ORIGIN'
|
|
)
|
|
env_modmap += 'cms-static.so=@0@;'.format(plugin_lcms.full_path())
|
|
endif
|
|
|
|
if get_option('color-management-colord')
|
|
if not get_option('color-management-lcms')
|
|
error('LCMS must be enabled to support colord. Or, you can use \'-Dcolor-management-colord=false\'.')
|
|
endif
|
|
|
|
srcs_colord = [
|
|
'cms-colord.c',
|
|
'cms-helper.c',
|
|
]
|
|
|
|
dep_colord = dependency('colord', version: '>= 0.1.27', required: false)
|
|
if not dep_colord.found()
|
|
error('cms-colord requires colord >= 0.1.27 which was not found. Or, you can use \'-Dcolor-management-colord=false\'.')
|
|
endif
|
|
|
|
plugin_colord_deps = [ dep_libweston_public, dep_colord, dep_lcms2 ]
|
|
|
|
foreach depname : [ 'glib-2.0', 'gobject-2.0' ]
|
|
dep = dependency(depname, required: false)
|
|
if not dep.found()
|
|
error('cms-colord requires \'@0@\' which was not found. If you rather not build this, set \'-Dcolor-management-colord=false\'.'.format(depname))
|
|
endif
|
|
plugin_colord_deps += dep
|
|
endforeach
|
|
|
|
plugin_colord = shared_library(
|
|
'cms-colord',
|
|
srcs_colord,
|
|
include_directories: common_inc,
|
|
dependencies: plugin_colord_deps,
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_weston
|
|
)
|
|
env_modmap += 'cms-colord.so=@0@;'.format(plugin_colord.full_path())
|
|
endif
|
|
|
|
if get_option('systemd')
|
|
dep_libsystemd = dependency('libsystemd', required: false)
|
|
if not dep_libsystemd.found()
|
|
error('systemd-notify requires libsystemd which was not found. Or, you can use \'-Dsystemd=false\'.')
|
|
endif
|
|
|
|
plugin_systemd_notify = shared_library(
|
|
'systemd-notify',
|
|
'systemd-notify.c',
|
|
include_directories: common_inc,
|
|
dependencies: [ dep_libweston_public, dep_libsystemd ],
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_weston
|
|
)
|
|
env_modmap += 'systemd-notify.so=@0@;'.format(plugin_systemd_notify.full_path())
|
|
endif
|
|
|
|
weston_ini_config = configuration_data()
|
|
weston_ini_config.set('bindir', dir_bin)
|
|
weston_ini_config.set('libexecdir', dir_libexec)
|
|
configure_file(
|
|
input: '../weston.ini.in',
|
|
output: 'weston.ini',
|
|
configuration: weston_ini_config
|
|
)
|