mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-02-05 01:50:28 +01:00
Pango, Cairo, and fontconfig, all want to leave thread-global data hanging around in order to maintain a cache. Try to clean up as much of it as we possibly can on exit, apart from the Pango language string which appears to be unfreeable, so has been added to LSan suppressions. Signed-off-by: Daniel Stone <daniels@collabora.com>
105 lines
2.5 KiB
Meson
105 lines
2.5 KiB
Meson
srcs_libshared = [
|
|
'config-parser.c',
|
|
'option-parser.c',
|
|
'signal.c',
|
|
'file-util.c',
|
|
'os-compatibility.c',
|
|
]
|
|
deps_libshared = [dep_wayland_client, dep_wayland_server]
|
|
|
|
lib_libshared = static_library(
|
|
'shared',
|
|
srcs_libshared,
|
|
include_directories: common_inc,
|
|
dependencies: deps_libshared,
|
|
pic: true,
|
|
install: false
|
|
)
|
|
dep_libshared = declare_dependency(
|
|
link_with: lib_libshared,
|
|
include_directories: public_inc,
|
|
dependencies: deps_libshared
|
|
)
|
|
|
|
xcb_dep = dependency('xcb', required: false)
|
|
|
|
xcb_xwayland_srcs = [
|
|
'xcb-xwayland.c',
|
|
]
|
|
|
|
lib_xcb_xwayland = static_library(
|
|
'xcb-xwayland',
|
|
xcb_xwayland_srcs,
|
|
include_directories: common_inc,
|
|
dependencies: [ xcb_dep ],
|
|
install: false,
|
|
build_by_default: false,
|
|
)
|
|
|
|
dep_xcb_xwayland = declare_dependency(
|
|
link_with: lib_xcb_xwayland,
|
|
include_directories: public_inc,
|
|
)
|
|
|
|
srcs_cairo_shared = [
|
|
'image-loader.c',
|
|
'cairo-util.c',
|
|
'frame.c',
|
|
]
|
|
|
|
deps_cairo_shared = [
|
|
dep_libshared,
|
|
dependency('cairo'),
|
|
dependency('libpng'),
|
|
dep_pixman,
|
|
dep_libm,
|
|
]
|
|
|
|
dep_pango = dependency('pango', required: false)
|
|
dep_pangocairo = dependency('pangocairo', required: false)
|
|
dep_fontconfig = dependency('fontconfig', required: false)
|
|
dep_glib = dependency('glib-2.0', version: '>= 2.36', required: false)
|
|
|
|
if dep_pango.found() and dep_pangocairo.found() and dep_fontconfig.found() and dep_glib.found()
|
|
deps_cairo_shared += [ dep_pango, dep_pangocairo, dep_fontconfig, dep_glib ]
|
|
config_h.set('HAVE_PANGO', '1')
|
|
endif
|
|
|
|
if get_option('image-jpeg')
|
|
dep_libjpeg = dependency('libjpeg', required: false)
|
|
if not dep_libjpeg.found()
|
|
dep_libjpeg = cc.find_library('jpeg', required: false)
|
|
endif
|
|
if not dep_libjpeg.found()
|
|
error('JPEG image loading requires libjpeg or jpeg, neither was found. Or, you can use \'-Dimage-jpeg=false\'.')
|
|
endif
|
|
deps_cairo_shared += dep_libjpeg
|
|
config_h.set('HAVE_JPEG', '1')
|
|
endif
|
|
|
|
if get_option('image-webp')
|
|
dep_webp = dependency('libwebp', required: false)
|
|
if not dep_webp.found()
|
|
error('WEBP image loading requires libwebp which was not found. Or, you can use \'-Dimage-webp=false\'.')
|
|
endif
|
|
deps_cairo_shared += dep_webp
|
|
config_h.set('HAVE_WEBP', '1')
|
|
endif
|
|
|
|
lib_cairo_shared = static_library(
|
|
'cairo-shared',
|
|
srcs_cairo_shared,
|
|
include_directories: common_inc,
|
|
dependencies: deps_cairo_shared,
|
|
install: false
|
|
)
|
|
dep_lib_cairo_shared = declare_dependency(
|
|
link_with: lib_cairo_shared,
|
|
dependencies: deps_cairo_shared
|
|
)
|
|
|
|
dep_matrix_c = declare_dependency(
|
|
sources: 'matrix.c',
|
|
include_directories: public_inc,
|
|
dependencies: dep_libm
|
|
)
|