[ 'vpx/vp8dx.h', 'vpx_codec_vp9_dx_algo', '-DHAVE_VP9_DECODER', 'VP9 decoder' ],
]
-vpx_dep = dependency('vpx', version : '>=1.3.0', required : false)
+vpx_option = get_option('vpx')
+vpx_dep = dependency('vpx', version : '>=1.3.0', required : vpx_option)
if vpx_dep.found()
vpx_args = []
const vpx_codec_iface_t *c = &@1@;
return c != 0;
}'''.format(header,codec_iface)
- # FIXME: should take dependencies : vpx_dep argument
- if cc.links(link_code, args : ['-lvpx'])
+ if cc.links(link_code, dependencies : vpx_dep)
vpx_args += extra_define
message('libvpx provides @0@ interface (@1@)'.format(f.get(3),f.get(1)))
+ have_vpx_feature = true
else
message('libvpx does not provide @0@ interface (@1@)'.format(f.get(3),f.get(1)))
+ have_vpx_feature = false
endif
+ set_variable('have_' + f.get(3).to_lower().underscorify(), have_vpx_feature)
endforeach
if vpx_args.length() == 0
- message('WARNING: libvpx was built without any encoder or decoder features!')
+ msg = 'libvpx was built without any encoder or decoder features!'
+ # Error out if explicitly enabled, but continue with a warning if the
+ # plugin is in auto-detect mode to reduce build-time friction.
+ if vpx_option.enabled()
+ error(msg)
+ endif
+ warning(msg)
endif
if dependency('vpx', version : '>=1.4.0', required : false).found()
vpx_args += '-DHAVE_VPX_1_4'
endif
+ if dependency('vpx', version : '>=1.8.0', required : false).found()
+ vpx_args += '-DHAVE_VPX_1_8'
+ endif
+
gstvpx = library('gstvpx',
vpx_sources,
c_args : gst_plugins_good_args + vpx_args,
install : true,
install_dir : plugins_install_dir,
)
+ pkgconfig.generate(gstvpx, install_dir : plugins_pkgconfig_install_dir)
+
+ install_data(sources: ['GstVP8Enc.prs'], install_dir: presetdir)
endif