52feb47f0153d8e4b9a2367ae43c56dce8285df0
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-base / gst-libs / gst / pbutils / meson.build
1 pbutils_sources = files([
2   'gstpluginsbaseversion.c',
3   'pbutils.c',
4   'codec-utils.c',
5   'descriptions.c',
6   'encoding-profile.c',
7   'encoding-target.c',
8   'install-plugins.c',
9   'missing-plugins.c',
10   'gstaudiovisualizer.c',
11   'gstdiscoverer.c',
12   'gstdiscoverer-types.c'
13 ])
14
15 pbconf = configuration_data()
16 pbconf.set('PACKAGE_VERSION_MAJOR', gst_version_major)
17 pbconf.set('PACKAGE_VERSION_MINOR', gst_version_minor)
18 pbconf.set('PACKAGE_VERSION_MICRO', gst_version_micro)
19 pbconf.set('PACKAGE_VERSION_NANO', gst_version_nano)
20 gst_pbutils_version_h = configure_file(input : 'gstpluginsbaseversion.h.in',
21   output: 'gstpluginsbaseversion.h',
22   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/pbutils'),
23   configuration: pbconf)
24
25 pbutils_headers = files([
26   'pbutils.h',
27   'pbutils-prelude.h',
28   'codec-utils.h',
29   'descriptions.h',
30   'encoding-profile.h',
31   'encoding-target.h',
32   'install-plugins.h',
33   'missing-plugins.h',
34   'gstdiscoverer.h',
35   'gstaudiovisualizer.h',
36 ])
37 install_headers(pbutils_headers, subdir : 'gstreamer-1.0/gst/pbutils/')
38
39 pbutils_mkenum_headers = pbutils_headers
40
41 pbutils_enums = gnome.mkenums_simple('pbutils-enumtypes',
42   sources : pbutils_mkenum_headers,
43   body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
44   header_prefix : '#include <gst/pbutils/pbutils-prelude.h>',
45   decorator : 'GST_PBUTILS_API',
46   install_header: true,
47   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/pbutils'))
48 gstpbutils_c = pbutils_enums[0]
49 gstpbutils_h = pbutils_enums[1]
50
51 gstpbutils_deps = [video_dep, audio_dep, tag_dep]
52 pbutils = library('gstpbutils-@0@'.format(api_version),
53   pbutils_sources, gstpbutils_c, gstpbutils_h,
54   c_args : gst_plugins_base_args + ['-DBUILDING_GST_PBUTILS'],
55   include_directories: [configinc, libsinc],
56   version : libversion,
57   soversion : soversion,
58   darwin_versions : osxversion,
59   install : true,
60   dependencies : gstpbutils_deps,
61 )
62
63 library_def = {'lib': pbutils}
64 pkg_name = 'gstreamer-pbutils-1.0'
65 pkgconfig.generate(pbutils,
66   libraries : [gst_dep, video_dep, audio_dep, gst_base_dep],
67   variables : pkgconfig_variables,
68   subdirs : pkgconfig_subdirs,
69   name : pkg_name,
70   description : 'General utility functions',
71 )
72
73 pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
74 if build_gir
75   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
76   gir = {
77     'sources' : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
78     'namespace' : 'GstPbutils',
79     'nsversion' : api_version,
80     'identifier_prefix' : 'Gst',
81     'symbol_prefix' : 'gst',
82     'export_packages' : pkg_name,
83     'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstAudio-1.0', 'GstVideo-1.0'],
84     'install' : true,
85     'extra_args' : gst_gir_extra_args,
86     'dependencies' : gstpbutils_deps
87   }
88   library_def = {'lib': library_def['lib'], 'gir': [gir]}
89   if not static_build
90     pbutils_gir = gnome.generate_gir(pbutils, kwargs: gir)
91     pbutils_gen_sources += [pbutils_gir]
92   endif
93 endif
94 libraries += [[pkg_name, library_def]]
95
96 pbutils_dep = declare_dependency(link_with : pbutils,
97   include_directories : [libsinc],
98   dependencies : gstpbutils_deps,
99   sources : pbutils_gen_sources)
100
101 meson.override_dependency(pkg_name, pbutils_dep)