summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2016-09-09 11:08:53 +1000
committerMatthew Waters <matthew@centricular.com>2016-09-09 11:22:47 +1000
commitb5b7a3aec3282c30fbe100901e7789666fc4cb14 (patch)
tree9aa182ea588ee6080f5e1b08cf3b5be53a6cfc89 /ext
parent753c423784a3f24c217e37770272499449c8af61 (diff)
meson: add some starting build files for GL
Currently only works on linux with egl/glx + wayland/x11 but the general principals have been layed out for adding the other GL platforms/winsys'.
Diffstat (limited to 'ext')
-rw-r--r--ext/gl/meson.build110
-rw-r--r--ext/meson.build2
2 files changed, 111 insertions, 1 deletions
diff --git a/ext/gl/meson.build b/ext/gl/meson.build
new file mode 100644
index 000000000..7076880a9
--- /dev/null
+++ b/ext/gl/meson.build
@@ -0,0 +1,110 @@
+opengl_sources = [
+ 'gstopengl.c',
+ 'gstglbasemixer.c',
+ 'gstgluploadelement.c',
+ 'gstgldownloadelement.c',
+ 'gstglcolorconvertelement.c',
+ 'gstglfilterbin.c',
+ 'gstglmixerbin.c',
+ 'gstglsinkbin.c',
+ 'gstglsrcbin.c',
+ 'gstglimagesink.c',
+ 'gstglfiltercube.c',
+ 'gstgleffects.c',
+ 'effects/gstgleffectscurves.c',
+ 'effects/gstgleffectssources.c',
+ 'effects/gstgleffectidentity.c',
+ 'effects/gstgleffectmirror.c',
+ 'effects/gstgleffectsqueeze.c',
+ 'effects/gstgleffectstretch.c',
+ 'effects/gstgleffectfisheye.c',
+ 'effects/gstgleffecttwirl.c',
+ 'effects/gstgleffectbulge.c',
+ 'effects/gstgleffecttunnel.c',
+ 'effects/gstgleffectsquare.c',
+ 'effects/gstgleffectlumatocurve.c',
+ 'effects/gstgleffectrgbtocurve.c',
+ 'effects/gstgleffectsin.c',
+ 'effects/gstgleffectxray.c',
+ 'effects/gstgleffectglow.c',
+ 'effects/gstgleffectblur.c',
+ 'effects/gstgleffectsobel.c',
+ 'effects/gstgleffectlaplacian.c',
+ 'gstglcolorscale.c',
+ 'gstglcolorbalance.c',
+ 'gstglmixer.c',
+ 'gstglvideomixer.c',
+ 'gstglfiltershader.c',
+ 'gstglfilterapp.c',
+ 'gstglviewconvert.c',
+ 'gstglstereosplit.c',
+ 'gstgldeinterlace.c',
+ 'gstglstereomix.c',
+ 'gltestsrc.c',
+ 'gstgltestsrc.c',
+]
+
+if build_gstgl and gstgl_dep.found()
+ optional_deps = []
+ opengl_defines = ['-DGST_USE_UNSTABLE_API']
+
+ if gl_dep.found() # have desktop GL
+ opengl_sources += [
+ 'gstglfilterglass.c',
+ 'gstglmosaic.c',
+ ]
+ endif
+
+ graphene_dep = dependency('graphene-1.0', version : '>=1.4.0', required : false)
+ if graphene_dep.found()
+ optional_deps += graphene_dep
+ opengl_defines += '-DHAVE_GRAPHENE=1'
+ opengl_sources += [
+ 'gstgltransformation.c',
+ 'gstglvideoflip.c',
+ ]
+ endif
+
+ png_dep = dependency('libpng', version : '>=1.0', required : false)
+ jpeg_dep = cc.find_library('jpeg-mmx', required : false)
+ if not jpeg_dep.found()
+ jpeg_dep = cc.find_library('jpeg', required : false)
+ endif
+
+ if png_dep.found()
+ optional_deps += png_dep
+ opengl_defines += '-DHAVE_PNG=1'
+ opengl_sources += [
+ 'gstgldifferencematte.c',
+ ]
+ if jpeg_dep.found()
+ optional_deps += jpeg_dep
+ opengl_defines += '-DHAVE_JPEG=1'
+ opengl_sources += [
+ 'gstgloverlay.c',
+ ]
+ endif
+ endif
+
+ if false # have cocoa
+ opengl_sources += [
+ 'caopengllayersink.m',
+ ]
+ endif
+
+ if x11_dep.found()
+ # for XInitThreads()
+ optional_deps += x11_dep
+ endif
+
+ gstopengl = library('gstopengl',
+ opengl_sources,
+ c_args : gst_plugins_bad_args + opengl_defines,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gstgl_dep, gstbadvideo_dep, gstbadbase_dep, gstvideo_dep,
+ gstbase_dep, libm] + optional_deps,
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+endif
diff --git a/ext/meson.build b/ext/meson.build
index 1809645b9..f91a7372a 100644
--- a/ext/meson.build
+++ b/ext/meson.build
@@ -14,7 +14,7 @@ subdir('faac')
subdir('faad')
subdir('flite')
subdir('fluidsynth')
-#subdir('gl')
+subdir('gl')
#subdir('gme')
#subdir('gsm')
#subdir('gtk')