1gst_controller_sources = files( 2 'gstargbcontrolbinding.c', 3 'gstdirectcontrolbinding.c', 4 'gsttimedvaluecontrolsource.c', 5 'gstinterpolationcontrolsource.c', 6 'gstproxycontrolbinding.c', 7 'gsttriggercontrolsource.c', 8 'gstlfocontrolsource.c', 9) 10 11controller_mkenum_headers = files( 12 'gstinterpolationcontrolsource.h', 13 'gstlfocontrolsource.h', 14) 15 16gst_controller_headers = controller_mkenum_headers + files( 17 'gstargbcontrolbinding.h', 18 'gstdirectcontrolbinding.h', 19 'gsttimedvaluecontrolsource.h', 20 'gstinterpolationcontrolsource.h', 21 'gstproxycontrolbinding.h', 22 'gsttriggercontrolsource.h', 23 'gstlfocontrolsource.h', 24 'controller-prelude.h', 25 'controller.h', 26) 27install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/') 28 29controller_enums = gnome.mkenums_simple('controller-enumtypes', 30 sources : controller_mkenum_headers, 31 header_prefix : '#include <gst/controller/controller-prelude.h>', 32 body_prefix : '#include "config.h"', 33 decorator : 'GST_CONTROLLER_API', 34 install_header : true, 35 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/controller')) 36gstcontroller_c = controller_enums[0] 37gstcontroller_h = controller_enums[1] 38 39gst_controller_gen_sources = [gstcontroller_h] 40gst_controller = library('gstcontroller-@0@'.format(apiversion), 41 gst_controller_sources, gstcontroller_h, gstcontroller_c, 42 c_args : gst_c_args + ['-DBUILDING_GST_CONTROLLER', '-DG_LOG_DOMAIN="GStreamer-Controller"'], 43 install : true, 44 version : libversion, 45 soversion : soversion, 46 darwin_versions : osxversion, 47 include_directories : [configinc, libsinc], 48 dependencies : [gobject_dep, glib_dep, mathlib, gst_dep], 49) 50 51library_def = {'lib': gst_controller} 52pkg_name = 'gstreamer-controller-1.0' 53pkgconfig.generate(gst_controller, 54 libraries : [libgst], 55 variables : pkgconfig_variables, 56 subdirs : pkgconfig_subdirs, 57 name : pkg_name, 58 description : 'Dynamic parameter control for GStreamer elements', 59) 60 61if build_gir 62 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ] 63 gir = { 64 'sources' : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c], 65 'namespace': 'GstController', 66 'nsversion': apiversion, 67 'identifier_prefix' : 'Gst', 68 'symbol_prefix' : 'gst', 69 'export_packages' : pkg_name, 70 'dependencies' : [gst_dep], 71 'include_directories' : [configinc, libsinc, privinc], 72 'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'], 73 'install' : true, 74 'extra_args' : gst_gir_extra_args, 75 } 76 library_def += {'gir': [gir]} 77 if not static_build 78 gst_controller_gir = gnome.generate_gir(gst_controller, kwargs: gir) 79 gst_controller_gen_sources += [gst_controller_gir] 80 endif 81endif 82libraries += [[pkg_name, library_def]] 83 84gst_controller_dep = declare_dependency(link_with : gst_controller, 85 include_directories : [libsinc], 86 sources: gst_controller_gen_sources, 87 dependencies : [gst_dep]) 88 89meson.override_dependency(pkg_name, gst_controller_dep) 90