Add support for Meson as alternative/parallel build system
authorNirbheek Chauhan <nirbheek@centricular.com>
Fri, 12 Aug 2016 15:51:45 +0000 (21:21 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 20 Aug 2016 10:35:54 +0000 (11:35 +0100)
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.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.

gst/audiomixer/meson.build [new file with mode: 0644]

diff --git a/gst/audiomixer/meson.build b/gst/audiomixer/meson.build
new file mode 100644 (file)
index 0000000..e635ee6
--- /dev/null
@@ -0,0 +1,33 @@
+audiomixer_sources = [
+  'gstaudiomixer.c',
+  'gstaudiointerleave.c',
+]
+
+orcsrc = 'gstaudiomixerorc'
+if have_orcc
+  orc_h = custom_target(orcsrc + '.h',
+    input : orcsrc + '.orc',
+    output : orcsrc + '.h',
+    command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
+  orc_c = custom_target(orcsrc + '.c',
+    input : orcsrc + '.orc',
+    output : orcsrc + '.c',
+    command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
+else
+  orc_h = configure_file(input : orcsrc + '-dist.h',
+    output : orcsrc + '.h',
+    configuration : configuration_data())
+  orc_c = configure_file(input : orcsrc + '-dist.c',
+    output : orcsrc + '.c',
+    configuration : configuration_data())
+endif
+
+gstaudiomixer = library('gstaudiomixer',
+  audiomixer_sources, orc_c, orc_h,
+  c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+  include_directories : [configinc],
+  dependencies : [gstbadaudio_dep, gstbadbase_dep, gstaudio_dep, gstbase_dep,
+                 orc_dep],
+  install : true,
+  install_dir : plugins_install_dir,
+)