mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-10 00:12:48 +00:00
Add support for Meson as alternative/parallel build system
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.
This commit is contained in:
parent
8f82ec9254
commit
598f8e0121
2 changed files with 132 additions and 0 deletions
40
gst-libs/gst/gl/gstglconfig.h.meson
Normal file
40
gst-libs/gst/gl/gstglconfig.h.meson
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/* gstglconfig.h
|
||||||
|
*
|
||||||
|
* This is a generated file. Please modify `configure.ac'
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_GL_CONFIG_H__
|
||||||
|
#define __GST_GL_CONFIG_H__
|
||||||
|
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
||||||
|
#mesondefine GST_GL_HAVE_OPENGL
|
||||||
|
#mesondefine GST_GL_HAVE_GLES2
|
||||||
|
#mesondefine GST_GL_HAVE_GLES3
|
||||||
|
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_X11
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_COCOA
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_WIN32
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_WAYLAND
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_ANDROID
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_DISPMANX
|
||||||
|
#mesondefine GST_GL_HAVE_WINDOW_EAGL
|
||||||
|
|
||||||
|
#mesondefine GST_GL_HAVE_PLATFORM_EGL
|
||||||
|
#mesondefine GST_GL_HAVE_PLATFORM_GLX
|
||||||
|
#mesondefine GST_GL_HAVE_PLATFORM_WGL
|
||||||
|
#mesondefine GST_GL_HAVE_PLATFORM_CGL
|
||||||
|
#mesondefine GST_GL_HAVE_PLATFORM_EAGL
|
||||||
|
|
||||||
|
#mesondefine GST_GL_HAVE_GLEGLIMAGEOES
|
||||||
|
#mesondefine GST_GL_HAVE_GLCHAR
|
||||||
|
#mesondefine GST_GL_HAVE_GLSIZEIPTR
|
||||||
|
#mesondefine GST_GL_HAVE_GLINTPTR
|
||||||
|
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __GST_GL_CONFIG_H__ */
|
92
gst-libs/gst/gl/meson.build
Normal file
92
gst-libs/gst/gl/meson.build
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
gl_sources = [
|
||||||
|
'gstgldisplay.c',
|
||||||
|
'gstglcontext.c',
|
||||||
|
'gstglmemory.c',
|
||||||
|
'gstglbufferpool.c',
|
||||||
|
'gstglfilter.c',
|
||||||
|
'gstglshader.c',
|
||||||
|
'gstglshadervariables.c',
|
||||||
|
'gstglcolorconvert.c',
|
||||||
|
'gstgldownload.c',
|
||||||
|
'gstglupload.c',
|
||||||
|
'gstgluploadmeta.c',
|
||||||
|
'gstglwindow.c',
|
||||||
|
'gstglapi.c',
|
||||||
|
'gstglfeature.c',
|
||||||
|
'gstglutils.c',
|
||||||
|
'gstglframebuffer.c',
|
||||||
|
]
|
||||||
|
|
||||||
|
gl_headers = [
|
||||||
|
'gl.h',
|
||||||
|
'gstgl_enums.h',
|
||||||
|
'gstgl_fwd.h',
|
||||||
|
'gstglapi.h',
|
||||||
|
'gstglbasefilter.h',
|
||||||
|
'gstglbasememory.h',
|
||||||
|
'gstglbuffer.h',
|
||||||
|
'gstglbufferpool.h',
|
||||||
|
'gstglcolorconvert.h',
|
||||||
|
'gstglcontext.h',
|
||||||
|
'gstglcontrolbindingproxy.h',
|
||||||
|
'gstgldebug.h',
|
||||||
|
'gstgldisplay.h',
|
||||||
|
'gstglfeature.h',
|
||||||
|
'gstglfilter.h',
|
||||||
|
'gstglformat.h',
|
||||||
|
'gstglframebuffer.h',
|
||||||
|
'gstglmemory.h',
|
||||||
|
'gstglmemorypbo.h',
|
||||||
|
'gstgloverlaycompositor.h',
|
||||||
|
'gstglquery.h',
|
||||||
|
'gstglshader.h',
|
||||||
|
'gstglshaderstrings.h',
|
||||||
|
'gstglsl.h',
|
||||||
|
'gstglslstage.h',
|
||||||
|
'gstglsyncmeta.h',
|
||||||
|
'gstglupload.h',
|
||||||
|
'gstglutils.h',
|
||||||
|
'gstglviewconvert.h',
|
||||||
|
'gstglwindow.h',
|
||||||
|
]
|
||||||
|
# FIXME: Install glprototypes
|
||||||
|
install_headers(gl_headers, subdir : 'gstreamer-1.0/gst/gl')
|
||||||
|
|
||||||
|
glconf = configuration_data()
|
||||||
|
|
||||||
|
glconf.set10('GST_GL_HAVE_OPENGL', gl_dep.found())
|
||||||
|
|
||||||
|
if x11_dep.found()
|
||||||
|
gl_sources += [
|
||||||
|
'x11/gstgldisplay_x11.c',
|
||||||
|
'x11/gstglwindow_x11.c',
|
||||||
|
'x11/x11_event_source.c',
|
||||||
|
'x11/gstglcontext_glx.c',
|
||||||
|
]
|
||||||
|
glconf.set('GST_GL_HAVE_WINDOW_X11', 1)
|
||||||
|
glconf.set('GST_GL_HAVE_PLATFORM_GLX', 1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Add rest of gl config here.
|
||||||
|
|
||||||
|
configure_file(input : 'gstglconfig.h.meson',
|
||||||
|
output : 'gstglconfig.h',
|
||||||
|
install_dir : get_option('libdir') + '/gstreamer-1.0/include/gst/gl',
|
||||||
|
configuration : glconf)
|
||||||
|
|
||||||
|
gstgl = library('gstgl-' + api_version,
|
||||||
|
gl_sources,
|
||||||
|
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
|
||||||
|
include_directories : [configinc, libsinc],
|
||||||
|
version : libversion,
|
||||||
|
soversion : soversion,
|
||||||
|
install : true,
|
||||||
|
dependencies : [gstbase_dep, gstvideo_dep],
|
||||||
|
# FIXME: This symbol list is generated on Linux, so this is wrong for Windows
|
||||||
|
vs_module_defs: vs_module_defs_dir + 'libgstgl.def',
|
||||||
|
)
|
||||||
|
# TODO: generate gir
|
||||||
|
|
||||||
|
gstgl_dep = declare_dependency(link_with : gstgl,
|
||||||
|
include_directories : [libsinc],
|
||||||
|
dependencies : [gstbase_dep, gstvideo_dep])
|
Loading…
Reference in a new issue