diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-08-12 20:56:31 +0530 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2016-08-20 11:09:51 +0100 |
commit | 5c4f4ac1bd51c4db2935ea87113a989d619e4a81 (patch) | |
tree | 9001ee0254711b85be8c1608a3ba1689eb321fba /sys | |
parent | 9cbdaa8c27f0077b4f63de440dcf4d0113e5c09b (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 'sys')
-rw-r--r-- | sys/meson.build | 9 | ||||
-rw-r--r-- | sys/ximage/meson.build | 8 | ||||
-rw-r--r-- | sys/xvimage/meson.build | 21 |
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 |