libs: va: make sure va-enumtypes.h is generated before it's used
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / gst-libs / gst / va / meson.build
1 va_sources = [
2   'gstvaallocator.c',
3   'gstvadisplay.c',
4   'gstvadisplay_drm.c',
5   'gstvadisplay_wrapped.c',
6   'gstvapool.c',
7   'gstvasurfacecopy.c',
8   'gstvautils.c',
9   'gstvavideoformat.c',
10   'vasurfaceimage.c',
11 ]
12
13 va_headers = [
14   'gstva.h',
15   'gstvaallocator.h',
16   'gstvadisplay.h',
17   'gstvadisplay_drm.h',
18   'gstvadisplay_wrapped.h',
19   'gstvapool.h',
20   'gstvautils.h',
21   'gstvavideoformat.h',
22   'va-prelude.h',
23   'va_fwd.h',
24 ]
25
26 gstva_dep = dependency('', required : false)
27
28 if host_system != 'linux'
29   subdir_done()
30 endif
31
32 libva_req = ['>= 1.6']
33 libva_dep = dependency('libva', version: libva_req, required: false,
34     fallback: ['libva', 'libva_dep'])
35 libva_drm_dep = dependency('libva-drm', version: libva_req, required: false,
36     fallback: ['libva', 'libva_drm_dep'])
37
38 if not (libva_dep.found() and libva_drm_dep.found())
39   subdir_done()
40 endif
41
42 libdrm_dep = dependency('libdrm', required: false, fallback: ['libdrm', 'ext_libdrm'])
43 cdata.set10('HAVE_LIBDRM', libdrm_dep.found())
44
45 va_enums = gnome.mkenums_simple('va-enumtypes',
46   sources: ['gstva.h'],
47   decorator: 'GST_VA_API',
48   header_prefix: '#include <gst/va/va-prelude.h>',
49   body_prefix: '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
50   install_header: false)
51
52 va_enumtypes_h = va_enums[1]
53
54 gstva = library('gstva-' + api_version,
55   va_sources, va_enums,
56   c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_VA', '-DG_LOG_DOMAIN="GStreamer-VA"'],
57   include_directories : [configinc, libsinc],
58   version : libversion,
59   soversion : soversion,
60   install : true,
61   dependencies : [gst_dep, gstbase_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep],
62 )
63
64 pkg_name = 'gstreamer-va-' + api_version
65 libraries += [[pkg_name, {'lib': gstva}]]
66
67 gstva_dep = declare_dependency(link_with : gstva,
68   include_directories : [libsinc],
69   dependencies : [gst_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep],
70   sources : [va_enumtypes_h])
71
72 meson.override_dependency(pkg_name, gstva_dep)