Remove glib and gobject dependencies everywhere
[platform/upstream/gstreamer.git] / subprojects / gstreamer / libs / gst / controller / meson.build
1 gst_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
11 controller_mkenum_headers = files(
12   'gstinterpolationcontrolsource.h',
13   'gstlfocontrolsource.h',
14 )
15
16 gst_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 )
27 install_headers(gst_controller_headers, subdir : 'gstreamer-1.0/gst/controller/')
28
29 controller_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'))
36 gstcontroller_c = controller_enums[0]
37 gstcontroller_h = controller_enums[1]
38
39 gst_controller_gen_sources = [gstcontroller_h]
40 gst_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 : [mathlib, gst_dep],
49 )
50
51 library_def = {'lib': gst_controller}
52 pkg_name = 'gstreamer-controller-1.0'
53 pkgconfig.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
61 if 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
81 endif
82 libraries += [[pkg_name, library_def]]
83
84 gst_controller_dep = declare_dependency(link_with : gst_controller,
85   include_directories : [libsinc],
86   sources: gst_controller_gen_sources,
87   dependencies : [gst_dep])
88
89 meson.override_dependency(pkg_name, gst_controller_dep)