summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-08-12 20:56:31 +0530
committerTim-Philipp Müller <tim@centricular.com>2016-08-20 11:09:51 +0100
commit5c4f4ac1bd51c4db2935ea87113a989d619e4a81 (patch)
tree9001ee0254711b85be8c1608a3ba1689eb321fba /sys
parent9cbdaa8c27f0077b4f63de440dcf4d0113e5c09b (diff)
downloadgst-plugins-base-5c4f4ac1bd51c4db2935ea87113a989d619e4a81.tar.gz
gst-plugins-base-5c4f4ac1bd51c4db2935ea87113a989d619e4a81.tar.xz
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 'sys')
-rw-r--r--sys/meson.build9
-rw-r--r--sys/ximage/meson.build8
-rw-r--r--sys/xvimage/meson.build21
3 files changed, 38 insertions, 0 deletions
diff --git a/sys/meson.build b/sys/meson.build
new file mode 100644
index 000000000..da6dc2400
--- /dev/null
+++ b/sys/meson.build
@@ -0,0 +1,9 @@
+if x11_dep.found()
+ # XShm is only used by ximage and xvimage
+ # FIXME: Need to check for XShmAttach inside libXext
+ xshm_dep = dependency('xext', required : false)
+ core_conf.set('HAVE_XSHM', xshm_dep.found())
+
+ subdir('ximage')
+ subdir('xvimage')
+endif
diff --git a/sys/ximage/meson.build b/sys/ximage/meson.build
new file mode 100644
index 000000000..063b14792
--- /dev/null
+++ b/sys/ximage/meson.build
@@ -0,0 +1,8 @@
+gstximage = library('gstximagesink',
+ 'ximagesink.c', 'ximage.c', 'ximagepool.c',
+ c_args : gst_plugins_base_args,
+ include_directories: [configinc, libsinc],
+ dependencies : glib_deps + [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+)
diff --git a/sys/xvimage/meson.build b/sys/xvimage/meson.build
new file mode 100644
index 000000000..2c736aff1
--- /dev/null
+++ b/sys/xvimage/meson.build
@@ -0,0 +1,21 @@
+xvimage_sources = [
+ 'xvcontext.c',
+ 'xvimage.c',
+ 'xvimageallocator.c',
+ 'xvimagepool.c',
+ 'xvimagesink.c',
+]
+
+xvideo_dep = dependency('xv', required : false)
+core_conf.set('HAVE_XVIDEO', x11_dep.found() and xvideo_dep.found())
+
+if xvideo_dep.found()
+ gstxvimage = library('gstxvimage',
+ xvimage_sources,
+ c_args : gst_plugins_base_args,
+ include_directories: [configinc, libsinc],
+ dependencies : glib_deps + [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+endif