1 gstvalidate_sources = files(
2 'gst-validate-reporter.c',
3 'gst-validate-mockdecryptor.c',
4 'gst-validate-monitor.c',
5 'gst-validate-element-monitor.c',
6 'gst-validate-bin-monitor.c',
7 'gst-validate-pipeline-monitor.c',
8 'gst-validate-pad-monitor.c',
9 'gst-validate-monitor-factory.c',
10 'gst-validate-report.c',
11 'gst-validate-scenario.c',
12 'gst-validate-override.c',
13 'gst-validate-utils.c',
14 'gst-validate-override-registry.c',
16 'media-descriptor-writer.c',
17 'media-descriptor-parser.c',
18 'gst-validate-media-info.c',
19 'gst-validate-extra-checks.c',
20 'flow/gstvalidateflow.c',
25 gstvalidate_headers = files(
28 'gst-validate-types.h',
29 'gst-validate-bin-monitor.h',
30 'gst-validate-pipeline-monitor.h',
31 'gst-validate-element-monitor.h',
32 'gst-validate-enums.h',
34 'media-descriptor-writer.h',
35 'media-descriptor-parser.h',
36 'gst-validate-monitor-factory.h',
37 'gst-validate-monitor.h',
38 'gst-validate-override.h',
39 'gst-validate-override-registry.h',
40 'gst-validate-pad-monitor.h',
41 'gst-validate-reporter.h',
42 'gst-validate-report.h',
43 'gst-validate-runner.h',
44 'gst-validate-scenario.h',
45 'gst-validate-utils.h',
46 'gst-validate-media-info.h'
49 install_headers(gstvalidate_headers, subdir : 'gstreamer-1.0/gst/validate')
51 gst_validate_enums = gnome.mkenums('gstvalidateenumtypes',
52 sources : gstvalidate_headers,
53 h_template : 'gst-validate-enum-types.h.template',
54 c_template : 'gst-validate-enum-types.c.template',
55 install_header : true,
56 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/validate'))
58 validate_deps = [gst_check_dep, gst_dep, gst_controller_dep, gstbase_dep, glib_dep, gio_dep, gmodule_dep, gst_pbutils_dep, mathlib, json_dep]
59 gstvalidate = library('gstvalidate-1.0',
60 sources: files('gst-validate-runner.c') + gstvalidate_sources + gst_validate_enums,
62 soversion : soversion,
63 darwin_versions : osxversion,
64 include_directories : [inc_dirs],
66 c_args : [gst_c_args] + ['-D_GNU_SOURCE'],
67 dependencies : validate_deps)
70 gstvalidatetracer = library('gstvalidatetracer',
71 sources: files('gst-validate-runner.c') + gst_validate_enums,
72 include_directories : [inc_dirs],
74 c_args : [gst_c_args] + ['-D__GST_VALIDATE_PLUGIN', '-D_GNU_SOURCE'],
75 install_dir : plugins_install_dir,
76 objects: gstvalidate.extract_objects(gstvalidate_sources),
77 dependencies : validate_deps)
78 plugins += gstvalidatetracer
80 pkgconfig.generate(gstvalidatetracer, install_dir : plugins_pkgconfig_install_dir)
82 warning('Statically building GstValidate as a tracer is not supported yet.')
86 pkg_name = 'gstreamer-validate-1.0'
87 library_def = {'lib': gstvalidate}
88 pkgconfig.generate(gstvalidate,
89 libraries : [gst_dep],
90 subdirs : pkgconfig_subdirs,
92 description : 'GStreamer Validate',
95 validate_gen_sources = []
97 gst_validate_gir_extra_args = gir_init_section + [ '--c-include=gst/validate/validate.h' ]
99 'sources' : gstvalidate_sources + gstvalidate_headers + gst_validate_enums,
101 'namespace' : 'GstValidate',
102 'symbol_prefix' : 'gst_validate',
103 'identifier_prefix' : 'GstValidate',
104 'export_packages' : pkg_name,
105 'includes' : ['GObject-2.0',
110 'GstPbutils-' + apiversion],
112 'dependencies' : validate_deps,
113 'extra_args' : gst_validate_gir_extra_args,
115 library_def += {'gir': [gir]}
118 validate_gir = gnome.generate_gir(gstvalidate, kwargs: gir)
119 validate_gen_sources += [validate_gir]
122 libraries += [[pkg_name, library_def]]
124 validate_dep = declare_dependency(link_with : gstvalidate,
125 include_directories : [inc_dirs],
126 dependencies : validate_deps,
127 sources : validate_gen_sources
130 meson.override_dependency(pkg_name, validate_dep)