weston/xwayland/meson.build
Marius Vlad cfe35b591f shared/cairo-util: Re-use the PangoContext for layout creation
Rather than creating a new PangoContext each time the menu redraw
handler is triggered re-use it if one was created previously.

All toytoolkit clients do create a layout (and implicitly a
PangoContext) but only those that have menu redraw
handler installed will create a new layout for each redraw of the menu,
effectively creating a new PangoContext each time.

Reported-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
2022-11-10 11:07:12 +02:00

51 lines
1.1 KiB
Meson

if not get_option('xwayland')
subdir_done()
endif
xwayland_dep = dependency('xwayland', required: false)
if xwayland_dep.found()
if xwayland_dep.get_pkgconfig_variable('have_listenfd') == 'true'
config_h.set('HAVE_XWAYLAND_LISTENFD', '1')
endif
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, dep_xcb_xwayland, dep_lib_cairo_shared ]
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,
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)