libs: fix API export/import and 'inconsistent linkage' on MSVC
[platform/upstream/gstreamer.git] / gst-libs / gst / pbutils / meson.build
1 pbutils_sources = [
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 = [
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 pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
64 if build_gir
65   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
66   pbutils_gen_sources += [gnome.generate_gir(pbutils,
67     sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
68     namespace : 'GstPbutils',
69     nsversion : api_version,
70     identifier_prefix : 'Gst',
71     symbol_prefix : 'gst',
72     export_packages : 'gstreamer-pbutils-1.0',
73     includes : ['Gst-1.0', 'GstBase-1.0', 'GstAudio-1.0', 'GstVideo-1.0'],
74     install : true,
75     extra_args : gst_gir_extra_args,
76     dependencies : gstpbutils_deps
77   )]
78 endif
79
80 pbutils_dep = declare_dependency(link_with : pbutils,
81   include_directories : [libsinc],
82   dependencies : gstpbutils_deps,
83   sources : pbutils_gen_sources)