1 gst_controller_sources = [
2 'gstargbcontrolbinding.c',
3 'gstdirectcontrolbinding.c',
4 'gsttimedvaluecontrolsource.c',
5 'gstinterpolationcontrolsource.c',
6 'gstproxycontrolbinding.c',
7 'gsttriggercontrolsource.c',
8 'gstlfocontrolsource.c',
11 controller_mkenum_headers = [
12 'gstinterpolationcontrolsource.h',
13 'gstlfocontrolsource.h',
16 gst_controller_headers = controller_mkenum_headers + [
17 'gstargbcontrolbinding.h',
18 'gstdirectcontrolbinding.h',
19 'gsttimedvaluecontrolsource.h',
20 'gstinterpolationcontrolsource.h',
21 'gstproxycontrolbinding.h',
22 'gsttriggercontrolsource.h',
23 'gstlfocontrolsource.h',
26 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
28 mkenums = find_program('controller_mkenum.py')
29 gstcontroller_h = custom_target('gstcontrollerenum_h',
30 output : 'controller-enumtypes.h',
31 input : controller_mkenum_headers,
33 install_dir : 'include/gstreamer-1.0/gst/controller/',
34 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
36 gstcontroller_c = custom_target('gstcontrollerenum_c',
37 output : 'controller-enumtypes.c',
38 input : controller_mkenum_headers,
39 depends : [gstcontroller_h],
40 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
41 controller_gen_sources = [gstcontroller_h]
43 if libtype != 'shared'
44 gst_controller_static = static_library('gstcontroller-@0@'.format(apiversion),
45 gst_controller_sources, gstcontroller_h, gstcontroller_c,
48 include_directories : [configinc, libsinc],
49 dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
51 gst_controller = gst_controller_static
55 gst_controller_gen_sources = [gstcontroller_h]
56 if libtype != 'static'
57 gst_controller_shared = shared_library('gstcontroller-@0@'.format(apiversion),
58 gst_controller_sources, gstcontroller_h, gstcontroller_c,
62 soversion : soversion,
63 include_directories : [configinc, libsinc],
64 dependencies : [gobject_dep, glib_dep, mathlib, gst_dep],
66 gst_controller = gst_controller_shared
68 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/controller/controller.h' ]
69 gst_controller_gir = gnome.generate_gir(gst_controller_shared,
70 sources : gst_controller_sources + gst_controller_headers + [gstcontroller_h] + [gstcontroller_c],
71 namespace : 'GstController',
72 nsversion : apiversion,
73 identifier_prefix : 'Gst',
74 symbol_prefix : 'gst',
75 export_packages : 'gstreamer-controller-1.0',
76 dependencies : [gst_dep],
77 include_directories : [configinc, libsinc, privinc],
78 includes : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
80 extra_args : gst_gir_extra_args,
82 gst_controller_gen_sources += [gst_controller_gir]
86 gst_controller_dep = declare_dependency(link_with : gst_controller,
87 include_directories : [libsinc],
88 sources: gst_controller_gen_sources,
89 dependencies : [gst_dep])