# Shared library and language bindings libfeedback_libdir = get_option('libdir') libfeedback_header_dir = get_option('includedir') / libname lfb_enum_headers = files([ 'lfb-event.h', ]) lfb_enum_sources = gnome.mkenums_simple('lfb-enums', sources : lfb_enum_headers, install_header : true, install_dir: libfeedback_header_dir, ) libfeedback_headers = [ 'libfeedback.h', 'lfb-event.h', ] libfeedback_sources = [ generated_dbus_sources, lfb_enum_sources, libfeedback_headers, 'libfeedback.c', 'lfb-event.c', ] libfeedback_deps = [ gio, gio_unix, glib, ] libfeedback_c_args = [ '-DG_LOG_DOMAIN="libfeedback"', '-DFEEDBACK_COMPILATION', '-DLIBFEEDBACK_USE_UNSTABLE_API', ] libtype = 'shared_library' libfeedback = build_target( 'feedback-' + apiversion, libfeedback_sources, soversion : 0, c_args : libfeedback_c_args, dependencies : libfeedback_deps, install : true, install_dir : libfeedback_libdir, target_type : libtype, ) libfeedback_inc = include_directories('.') libfeedback_dep = declare_dependency( sources : [generated_dbus_sources, lfb_enum_sources], link_with : libfeedback, dependencies: libfeedback_deps, include_directories : libfeedback_inc, ) install_headers(libfeedback_headers, subdir : libname) pkgconfig = import('pkgconfig') pkgconfig.generate( libraries : [libfeedback], subdirs : libname, version : meson.project_version(), name : 'Feedback', filebase : 'libfeedback-@0@'.format(apiversion), description : 'GNOME feedback library', requires : 'gio-2.0', install_dir : join_paths(libfeedback_libdir, 'pkgconfig'), ) if introspection libhandy_gir_extra_args = [ '-I' + dbus_header_dir, '--c-include=libfeedback.h', '--quiet', '-DLIBFEEDBACK_COMPILATION', '-DLIBFEEDBACK_USE_UNSTABLE_API', '--warn-error', '--warn-all', ] libfeedback_gir = gnome.generate_gir(libfeedback, sources : libfeedback_sources, nsversion : apiversion, namespace : 'Lfb', export_packages : 'libfeedback-@0@'.format(apiversion), symbol_prefix : 'lfb', identifier_prefix : 'Lfb', link_with : libfeedback, includes : ['Gio-2.0'], install : true, install_dir_gir : girdir, install_dir_typelib : typelibdir, extra_args : libhandy_gir_extra_args, ) if get_option('vapi') libfeedback_vapi = gnome.generate_vapi('libfeedback-' + apiversion, sources : libfeedback_gir[0], packages : ['gio-2.0'], install : true, install_dir : vapidir, metadata_dirs : [meson.current_source_dir()], ) endif endif