weston/shared/meson.build
Derek Foreman 0df0dccc84 shared: Make xalloc.h stand alone
Make fail_on_null static inline and put it in xalloc.h so we can use the
header exclusively instead of having to link with the library for it.

This is so we can use xalloc in places (like the RDP backend) without
having to bring in libshared.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
2022-06-28 10:43:39 +00:00

104 lines
2.4 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_glib = dependency('glib-2.0', version: '>= 2.36', required: false)
if dep_pango.found() and dep_pangocairo.found() and dep_glib.found()
deps_cairo_shared += [ dep_pango, dep_pangocairo, 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
)