gstreamer/ext/vpx/meson.build
Nirbheek Chauhan b09f478e80 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:21:12 +01:00

58 lines
1.7 KiB
Meson

vpx_sources = [
'gstvp8dec.c',
'gstvp8enc.c',
'gstvp8utils.c',
'gstvp9dec.c',
'gstvp9enc.c',
'gstvpxdec.c',
'gstvpxenc.c',
'plugin.c',
]
vpx_features = [
[ 'vpx/vp8cx.h', 'vpx_codec_vp8_cx_algo', '-DHAVE_VP8_ENCODER', 'VP8 encoder' ],
[ 'vpx/vp8dx.h', 'vpx_codec_vp8_dx_algo', '-DHAVE_VP8_DECODER', 'VP8 decoder' ],
[ 'vpx/vp8cx.h', 'vpx_codec_vp9_cx_algo', '-DHAVE_VP9_ENCODER', 'VP9 encoder' ],
[ 'vpx/vp8dx.h', 'vpx_codec_vp9_dx_algo', '-DHAVE_VP9_DECODER', 'VP9 decoder' ],
]
vpx_dep = dependency('vpx', version : '>=1.3.0', required : false)
if vpx_dep.found()
vpx_args = []
foreach f : vpx_features
header = f.get(0)
codec_iface = f.get(1)
extra_define = f.get(2)
link_code = '''#include <@0@>
int main (int a, char ** g) {
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'])
vpx_args += extra_define
message('libvpx provides @0@ interface (@1@)'.format(f.get(3),f.get(1)))
else
message('libvpx does not provide @0@ interface (@1@)'.format(f.get(3),f.get(1)))
endif
endforeach
if vpx_args.length() == 0
message('WARNING: libvpx was built without any encoder or decoder features!')
endif
if dependency('vpx', version : '>=1.4.0').found()
vpx_args += '-DHAVE_VPX_1_4'
endif
gstvpx = library('gstvpx',
vpx_sources,
c_args : gst_plugins_good_args + vpx_args,
include_directories : [configinc],
dependencies : [gstbase_dep, gsttag_dep, gstvideo_dep, vpx_dep],
install : true,
install_dir : plugins_install_dir,
)
endif