• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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