diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-08-12 21:25:34 +0530 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2016-08-20 11:29:37 +0100 |
commit | c8260a15459cc809b1b7390ba0bd19124b09f070 (patch) | |
tree | f77efc17c565fe6cfd9493417312504010c9a30d /ext | |
parent | 5ae5b2d3c7c5563b54c190030917c9d9d2772265 (diff) |
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.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/a52dec/meson.build | 12 | ||||
-rw-r--r-- | ext/amrnb/meson.build | 12 | ||||
-rw-r--r-- | ext/amrwbdec/meson.build | 12 | ||||
-rw-r--r-- | ext/cdio/meson.build | 12 | ||||
-rw-r--r-- | ext/dvdread/meson.build | 13 | ||||
-rw-r--r-- | ext/lame/meson.build | 19 | ||||
-rw-r--r-- | ext/mad/meson.build | 15 | ||||
-rw-r--r-- | ext/meson.build | 12 | ||||
-rw-r--r-- | ext/mpeg2dec/meson.build | 12 | ||||
-rw-r--r-- | ext/mpg123/meson.build | 16 | ||||
-rw-r--r-- | ext/twolame/meson.build | 12 | ||||
-rw-r--r-- | ext/x264/meson.build | 16 |
12 files changed, 163 insertions, 0 deletions
diff --git a/ext/a52dec/meson.build b/ext/a52dec/meson.build new file mode 100644 index 00000000..35d9d7a4 --- /dev/null +++ b/ext/a52dec/meson.build @@ -0,0 +1,12 @@ +a52_dep = cc.find_library('a52', required : false) + +if a52_dep.found() and cc.has_header_symbol('a52dec/a52.h', 'a52_init', prefix : '#include <stdint.h>') + a52dec = library('gsta52dec', + 'gsta52dec.c', + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, orc_dep, a52_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/amrnb/meson.build b/ext/amrnb/meson.build new file mode 100644 index 00000000..33cc6858 --- /dev/null +++ b/ext/amrnb/meson.build @@ -0,0 +1,12 @@ +amrnb_dep = dependency('opencore-amrnb', version : '>= 0.1.3', required : false) + +if amrnb_dep.found() + amrnb = library('gstamrnb', + ['amrnb.c', 'amrnbdec.c', 'amrnbenc.c'], + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, amrnb_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/amrwbdec/meson.build b/ext/amrwbdec/meson.build new file mode 100644 index 00000000..9bba8ae0 --- /dev/null +++ b/ext/amrwbdec/meson.build @@ -0,0 +1,12 @@ +amrwb_dep = dependency('opencore-amrwb', version : '>= 0.1.3', required : false) + +if amrwb_dep.found() + amrwbdec = library('gstamrwbdec', + ['amrwb.c', 'amrwbdec.c'], + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, amrwb_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/cdio/meson.build b/ext/cdio/meson.build new file mode 100644 index 00000000..954b6b1c --- /dev/null +++ b/ext/cdio/meson.build @@ -0,0 +1,12 @@ +cdio_dep = dependency('libcdio', version : '>= 0.76', required : false) + +if cdio_dep.found() + cdio = library('gstcdio', + ['gstcdio.c', 'gstcdiocddasrc.c'], + c_args : ugly_args, + include_directories : [configinc, libsinc], + dependencies : [gstaudio_dep, gsttag_dep, cdio_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/dvdread/meson.build b/ext/dvdread/meson.build new file mode 100644 index 00000000..203f89e3 --- /dev/null +++ b/ext/dvdread/meson.build @@ -0,0 +1,13 @@ +gmodule_dep = dependency('gmodule-2.0', required : false) +dvdread_dep = dependency('dvdread', version : '>= 0.5.0', required : false) + +if gmodule_dep.found() and dvdread_dep.found() + dvdread = library('gstdvdread', + ['dvdreadsrc.c'], + c_args : ugly_args, + include_directories : [configinc, libsinc], + dependencies : [gstbase_dep, gmodule_dep, dvdread_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/lame/meson.build b/ext/lame/meson.build new file mode 100644 index 00000000..2812cb93 --- /dev/null +++ b/ext/lame/meson.build @@ -0,0 +1,19 @@ +lame_dep = cc.find_library('mp3lame', required : false) + +if lame_dep.found() and cc.has_header_symbol('lame/lame.h', 'lame_init') + lame_extra_c_args = [] + if cc.has_header_symbol('lame/lame.h', 'lame_set_VBR_quality') + lame_extra_c_args += ['-DHAVE_LAME_SET_VBR_QUALITY'] + endif + if cc.has_header_symbol('lame/lame.h', 'MEDIUM') + lame_extra_c_args += ['-DGSTLAME_PRESET'] + endif + lame = library('gstlame', + ['gstlamemp3enc.c', 'plugin.c'], + c_args : ugly_args + lame_extra_c_args, + include_directories : [configinc, libsinc], + dependencies : [gstaudio_dep, lame_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/mad/meson.build b/ext/mad/meson.build new file mode 100644 index 00000000..c8983ff8 --- /dev/null +++ b/ext/mad/meson.build @@ -0,0 +1,15 @@ +mad_dep = dependency('mad', version : '>= 0.15', required : false) +if not mad_dep.found() and cc.has_header_symbol('mad.h', 'mad_decoder_finish') + mad_dep = cc.find_library('mad', required : false) +endif + +if mad_dep.found() + mad = library('gstmad', + ['gstmad.c'], + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, mad_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/meson.build b/ext/meson.build new file mode 100644 index 00000000..11728a9d --- /dev/null +++ b/ext/meson.build @@ -0,0 +1,12 @@ +subdir('a52dec') +subdir('amrnb') +subdir('amrwbdec') +subdir('cdio') +subdir('dvdread') +subdir('lame') +subdir('mad') +subdir('mpeg2dec') +subdir('mpg123') +#subdir('sidplay') # FIXME +subdir('twolame') +subdir('x264') diff --git a/ext/mpeg2dec/meson.build b/ext/mpeg2dec/meson.build new file mode 100644 index 00000000..d0d7d5c0 --- /dev/null +++ b/ext/mpeg2dec/meson.build @@ -0,0 +1,12 @@ +mpeg2_dep = dependency('libmpeg2', version : '>= 0.4.0', required : false) + +if mpeg2_dep.found() + mpeg2dec = library('gstmpeg2dec', + ['gstmpeg2dec.c'], + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstvideo_dep, mpeg2_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/mpg123/meson.build b/ext/mpg123/meson.build new file mode 100644 index 00000000..a575449b --- /dev/null +++ b/ext/mpg123/meson.build @@ -0,0 +1,16 @@ +mpg123_sources = [ + 'gstmpg123audiodec.c', +] + +mpg123_dep = dependency('libmpg123', version : '>= 1.3', required : false) + +if mpg123_dep.found() + gstmpg123 = library('gstmpg123', + mpg123_sources, + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, mpg123_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/twolame/meson.build b/ext/twolame/meson.build new file mode 100644 index 00000000..029a00eb --- /dev/null +++ b/ext/twolame/meson.build @@ -0,0 +1,12 @@ +twolame_dep = dependency('twolame', version : '>= 0.3.10', required : false) + +if twolame_dep.found() + twolame = library('gsttwolame', + ['gsttwolamemp2enc.c'], + c_args : ugly_args, + include_directories : [configinc, libsinc], + dependencies : [gstaudio_dep, twolame_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif diff --git a/ext/x264/meson.build b/ext/x264/meson.build new file mode 100644 index 00000000..3aead3bd --- /dev/null +++ b/ext/x264/meson.build @@ -0,0 +1,16 @@ +x264_sources = [ + 'gstx264enc.c', +] + +x264_dep = dependency('x264', required : false) + +if x264_dep.found() + gstx264 = library('gstx264', + x264_sources, + c_args : ugly_args, + include_directories : [configinc], + dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, x264_dep], + install : true, + install_dir : plugins_install_dir, + ) +endif |