summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-08-12 21:25:34 +0530
committerTim-Philipp Müller <tim@centricular.com>2016-08-20 11:29:37 +0100
commitc8260a15459cc809b1b7390ba0bd19124b09f070 (patch)
treef77efc17c565fe6cfd9493417312504010c9a30d /ext
parent5ae5b2d3c7c5563b54c190030917c9d9d2772265 (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.build12
-rw-r--r--ext/amrnb/meson.build12
-rw-r--r--ext/amrwbdec/meson.build12
-rw-r--r--ext/cdio/meson.build12
-rw-r--r--ext/dvdread/meson.build13
-rw-r--r--ext/lame/meson.build19
-rw-r--r--ext/mad/meson.build15
-rw-r--r--ext/meson.build12
-rw-r--r--ext/mpeg2dec/meson.build12
-rw-r--r--ext/mpg123/meson.build16
-rw-r--r--ext/twolame/meson.build12
-rw-r--r--ext/x264/meson.build16
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