gst_controller_sources = [ 'gstargbcontrolbinding.c', 'gstdirectcontrolbinding.c', 'gsttimedvaluecontrolsource.c', 'gstinterpolationcontrolsource.c', 'gstproxycontrolbinding.c', 'gsttriggercontrolsource.c', 'gstlfocontrolsource.c', ] controller_mkenum_headers = [ 'gstinterpolationcontrolsource.h', 'gstlfocontrolsource.h', ] gst_controller_headers = controller_mkenum_headers + [ 'gstargbcontrolbinding.h', 'gstdirectcontrolbinding.h', 'gsttimedvaluecontrolsource.h', 'gstinterpolationcontrolsource.h', 'gstproxycontrolbinding.h', 'gsttriggercontrolsource.h', 'gstlfocontrolsource.h', 'controller.h', ] install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/') mkenums = find_program('controller_mkenum.py') gstcontroller_h = custom_target('gstcontrollerenum_h', output : 'controller-enumtypes.h', input : controller_mkenum_headers, install : true, install_dir : 'include/gstreamer-1.0/gst/controller/', command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@']) gstcontroller_c = custom_target('gstcontrollerenum_c', output : 'controller-enumtypes.c', input : controller_mkenum_headers, depends : [gstcontroller_h], command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@']) controller_gen_sources = [gstcontroller_h] if libtype != 'shared' gst_controller_static = static_library('gstcontroller-@0@'.format(apiversion), gst_controller_sources, gstcontroller_h, gstcontroller_c, c_args : gst_c_args, install : true, include_directories : [configinc, libsinc], dependencies : [gobject_dep, glib_dep, mathlib, gst_dep], ) gst_controller = gst_controller_static endif gst_controller_gen_sources = [gstcontroller_h] if libtype != 'static' gst_controller_shared = shared_library('gstcontroller-@0@'.format(apiversion), gst_controller_sources, gstcontroller_h, gstcontroller_c, c_args : gst_c_args, install : true, version : libversion, soversion : soversion, include_directories : [configinc, libsinc], dependencies : [gobject_dep, glib_dep, mathlib, gst_dep], vs_module_defs: vs_module_defs_dir + 'libgstcontroller.def', ) gst_controller = gst_controller_shared if build_gir gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ] gst_controller_gir = gnome.generate_gir(gst_controller_shared, sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c], namespace : 'GstController', nsversion : apiversion, identifier_prefix : 'Gst', symbol_prefix : 'gst', export_packages : 'gstreamer-controller-1.0', dependencies : [gst_dep], include_directories : [configinc, libsinc, privinc], includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'], install : true, extra_args : gst_gir_extra_args, ) gst_controller_gen_sources += [gst_controller_gir] endif endif gst_controller_dep = declare_dependency(link_with : gst_controller, include_directories : [libsinc], sources: gst_controller_gen_sources, dependencies : [gst_dep])