Remove glib and gobject dependencies everywhere
[platform/upstream/gstreamer.git] / subprojects / gst-devtools / validate / gst / validate / meson.build
1 gstvalidate_sources = files(
2     'gst-validate-runner.c',
3     'gst-validate-reporter.c',
4     'gst-validate-mockdecryptor.c',
5     'gst-validate-monitor.c',
6     'gst-validate-element-monitor.c',
7     'gst-validate-bin-monitor.c',
8     'gst-validate-pipeline-monitor.c',
9     'gst-validate-pad-monitor.c',
10     'gst-validate-monitor-factory.c',
11     'gst-validate-report.c',
12     'gst-validate-scenario.c',
13     'gst-validate-override.c',
14     'gst-validate-utils.c',
15     'gst-validate-override-registry.c',
16     'media-descriptor.c',
17     'media-descriptor-writer.c',
18     'media-descriptor-parser.c',
19     'gst-validate-media-info.c',
20     'gst-validate-extra-checks.c',
21     'flow/gstvalidateflow.c',
22     'flow/formatting.c',
23     'validate.c',
24 )
25
26 gstvalidate_headers = files(
27     'validate.h',
28     'validate-prelude.h',
29     'gst-validate-types.h',
30     'gst-validate-bin-monitor.h',
31     'gst-validate-pipeline-monitor.h',
32     'gst-validate-element-monitor.h',
33     'gst-validate-enums.h',
34     'media-descriptor.h',
35     'media-descriptor-writer.h',
36     'media-descriptor-parser.h',
37     'gst-validate-monitor-factory.h',
38     'gst-validate-monitor.h',
39     'gst-validate-override.h',
40     'gst-validate-override-registry.h',
41     'gst-validate-pad-monitor.h',
42     'gst-validate-reporter.h',
43     'gst-validate-report.h',
44     'gst-validate-runner.h',
45     'gst-validate-scenario.h',
46     'gst-validate-utils.h',
47     'gst-validate-media-info.h'
48 )
49
50 install_headers(gstvalidate_headers, subdir : 'gstreamer-1.0/gst/validate')
51
52 gst_validate_enums = gnome.mkenums('gstvalidateenumtypes',
53   sources : gstvalidate_headers,
54   h_template : 'gst-validate-enum-types.h.template',
55   c_template : 'gst-validate-enum-types.c.template',
56   install_header : true,
57   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/validate'))
58
59 validate_deps = [gst_check_dep, gst_dep, gst_controller_dep, gstbase_dep,
60                  gio_dep, gmodule_dep, gst_pbutils_dep, mathlib, json_dep]
61 gstvalidate = library('gstvalidate-1.0',
62     sources: gstvalidate_sources + gst_validate_enums,
63     version : libversion,
64     soversion : soversion,
65     darwin_versions : osxversion,
66     include_directories : [inc_dirs],
67     install: true,
68     c_args : [gst_c_args] + ['-D_GNU_SOURCE'],
69     dependencies : validate_deps)
70
71 if not static_build
72   gstvalidatetracer = library('gstvalidatetracer',
73       sources: gst_validate_enums,
74       include_directories : [inc_dirs],
75       install: true,
76       c_args : [gst_c_args] + ['-D__GST_VALIDATE_PLUGIN', '-D_GNU_SOURCE'],
77       install_dir : plugins_install_dir,
78       objects: gstvalidate.extract_objects(gstvalidate_sources),
79       dependencies : validate_deps)
80   plugins += gstvalidatetracer
81
82   pkgconfig.generate(gstvalidatetracer, install_dir : plugins_pkgconfig_install_dir)
83 else
84   warning('Statically building GstValidate as a tracer is not supported yet.')
85 endif
86
87
88 pkg_name = 'gstreamer-validate-1.0'
89 library_def = {'lib': gstvalidate}
90 pkgconfig.generate(gstvalidate,
91   libraries : [gst_dep],
92   subdirs : pkgconfig_subdirs,
93   name : pkg_name,
94   description : 'GStreamer Validate',
95 )
96
97 validate_gen_sources = []
98 if build_gir
99     gst_validate_gir_extra_args = gir_init_section + [ '--c-include=gst/validate/validate.h' ]
100     gir = {
101             'sources' : gstvalidate_sources + gstvalidate_headers + gst_validate_enums,
102             'nsversion' : '1.0',
103             'namespace' : 'GstValidate',
104             'symbol_prefix' : 'gst_validate',
105             'identifier_prefix' : 'GstValidate',
106             'export_packages' : pkg_name,
107             'includes' : ['GObject-2.0',
108                         'GLib-2.0',
109                         'Gio-2.0',
110                         'GModule-2.0',
111                         'Gst-' + apiversion,
112                         'GstPbutils-' + apiversion],
113             'install' : true,
114             'dependencies' : validate_deps,
115             'extra_args' : gst_validate_gir_extra_args,
116     }
117     library_def += {'gir': [gir]}
118
119     if not static_build
120       validate_gir = gnome.generate_gir(gstvalidate, kwargs: gir)
121       validate_gen_sources += [validate_gir]
122     endif
123 endif
124 libraries += [[pkg_name, library_def]]
125
126 validate_dep = declare_dependency(link_with : gstvalidate,
127   include_directories : [inc_dirs],
128   dependencies : validate_deps,
129   sources : validate_gen_sources
130 )
131
132 meson.override_dependency(pkg_name, validate_dep)
133