gtk: hook up to autotools build
diff --git a/configure.ac b/configure.ac
index 6b1ecf7..cf19d36 100644
--- a/configure.ac
+++ b/configure.ac
@@ -234,6 +234,46 @@
AC_MSG_NOTICE(Using GStreamer Core Plugins in $GST_PLUGINS_DIR)
AC_MSG_NOTICE(Using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR)
+AG_GST_PKG_CHECK_MODULES(GST_GL, gstreamer-gl-[$GST_API_VERSION], [$GST_REQ], no)
+
+dnl FIXME: if uninstalled setup we might not want to pick up an installed gst-gl?
+if test "x$HAVE_GST_GL" = "xyes"; then
+
+ AC_MSG_CHECKING([GStreamer OpenGL window systems ...])
+ GST_GL_WINSYS=`$PKG_CONFIG --variable=gl_winsys gstreamer-gl-1.0`
+ AC_MSG_RESULT([$GST_GL_WINSYS])
+ GST_GL_HAVE_WINDOW_X11=""
+ GST_GL_HAVE_WINDOW_WAYLAND=""
+ GST_GL_HAVE_WINDOW_ANDROID=""
+ GST_GL_HAVE_WINDOW_COCOA=""
+ GST_GL_HAVE_WINDOW_EAGL=""
+ case "$GST_GL_WINSYS" in *x11*) GST_GL_HAVE_WINDOW_X11="1" ;; esac
+ case "$GST_GL_WINSYS" in *wayland*) GST_GL_HAVE_WINDOW_WAYLAND="1" ;; esac
+ case "$GST_GL_WINSYS" in *android*) GST_GL_HAVE_WINDOW_ANDROID="1" ;; esac
+ case "$GST_GL_WINSYS" in *cocoa*) GST_GL_HAVE_WINDOW_COCOA="1" ;; esac
+ case "$GST_GL_WINSYS" in *eagl*) GST_GL_HAVE_WINDOW_EAGL="1" ;; esac
+
+ AC_MSG_CHECKING([GStreamer OpenGL platforms ...])
+ GST_GL_PLATFORMS=`$PKG_CONFIG --variable=gl_platforms gstreamer-gl-1.0`
+ AC_MSG_RESULT([$GST_GL_PLATFORMS])
+ GST_GL_HAVE_PLATFORM_GLX=""
+ GST_GL_HAVE_PLATFORM_EGL=""
+ GST_GL_HAVE_PLATFORM_CGL=""
+ GST_GL_HAVE_PLATFORM_EAGL=""
+ case "$GST_GL_PLATFORMS" in *glx*) GST_GL_HAVE_PLATFORM_GLX="1" ;; esac
+ case "$GST_GL_PLATFORMS" in *egl*) GST_GL_HAVE_PLATFORM_EGL="1" ;; esac
+ case "$GST_GL_PLATFORMS" in *cgl*) GST_GL_HAVE_PLATFORM_CGL="1" ;; esac
+ case "$GST_GL_PLATFORMS" in *eagl*) GST_GL_HAVE_PLATFORM_EAGL="1" ;; esac
+
+ AC_MSG_CHECKING([GStreamer OpenGL apis ...])
+ GST_GL_APIS=`$PKG_CONFIG --variable=gl_apis gstreamer-gl-1.0`
+ AC_MSG_RESULT([$GST_GL_APIS])
+ GST_GL_HAVE_API_GLES2=""
+ GST_GL_HAVE_API_GL=""
+ case "$GST_GL_APIS" in *gles2*) GST_GL_HAVE_API_GLES2="1" ;; esac
+ case "$GST_GL_APIS" in "gl"|"gl "*|*" gl"|*" gl "*) GST_GL_HAVE_API_GL="1" ;; esac
+fi
+
AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
dnl Check for documentation xrefs
@@ -628,6 +668,42 @@
AG_GST_PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= 2.8.0)
])
+dnl *** gtk+ ***
+HAVE_GTK3_GL="no"
+translit(dnm, m, l) AM_CONDITIONAL(USE_GTK3, true)
+AG_GST_CHECK_FEATURE(GTK3, [Gtk+ elements], gtk, [
+ PKG_CHECK_MODULES(GTK3, gtk+-3.0, [
+ AC_DEFINE([HAVE_GTK3], 1, [Define if Gtk+ 3.0 is installed])
+ HAVE_GTK3="yes"
+ ], [
+ HAVE_GTK3="no"
+ ])
+ PKG_CHECK_MODULES(GTK3_GL, gtk+-3.0 >= 3.15.0, [
+ GDK_WINDOWING="no"
+ if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1"; then
+ PKG_CHECK_MODULES(GTK3_X11, gtk+-x11-3.0, [
+ GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_X11_CFLAGS"
+ GTK3_LIBS="$GTK3_LIBS $GTK3_X11_LIBS"
+ GDK_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Gtk X11 integration])])
+ fi
+ if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then
+ PKG_CHECK_MODULES(GTK3_WAYLAND, gtk+-wayland-3.0, [
+ GTK3_CFLAGS="$GTK3_CFLAGS $GTK3_WAYLAND_CFLAGS"
+ GTK3_LIBS="$GTK3_LIBS $GTK3_WAYLAND_LIBS"
+ GDK_WINDOWING="yes"
+ ], [AC_MSG_NOTICE([Could not find Gtk Wayland integration])])
+ fi
+ if test "x$GDK_WINDOWING" = "xyes" -a "x$HAVE_GST_GL" = "xyes"; then
+ AC_DEFINE([HAVE_GTK3_GL], 1, [Define if Gtk+ 3.0 GL is installed])
+ HAVE_GTK3_GL="yes"
+ fi
+ ], [
+ HAVE_GTK3_GL="no"
+ ])
+])
+AM_CONDITIONAL(USE_GTK3_GL, test "x$HAVE_GTK3_GL" = "xyes")
+
dnl *** Jack ***
translit(dnm, m, l) AM_CONDITIONAL(USE_JACK, true)
AG_GST_CHECK_FEATURE(JACK, Jack, jack, [
@@ -1073,6 +1149,7 @@
ext/dv/Makefile
ext/flac/Makefile
ext/gdk_pixbuf/Makefile
+ext/gtk/Makefile
ext/jack/Makefile
ext/jpeg/Makefile
ext/lame/Makefile
@@ -1104,6 +1181,7 @@
tests/examples/audiofx/Makefile
tests/examples/cairo/Makefile
tests/examples/equalizer/Makefile
+tests/examples/gtk/Makefile
tests/examples/jack/Makefile
tests/examples/level/Makefile
tests/examples/rtp/Makefile
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 7d34902..cb1293b 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -22,6 +22,13 @@
GDK_PIXBUF_DIR =
endif
+
+if USE_GTK3
+GTK_DIR=gtk
+else
+GTK_DIR=
+endif
+
if USE_JACK
JACK_DIR=jack
else
@@ -125,6 +132,7 @@
$(DV1394_DIR) \
$(FLAC_DIR) \
$(GDK_PIXBUF_DIR) \
+ $(GTK_DIR) \
$(JACK_DIR) \
$(JPEG_DIR) \
$(LAME_DIR) \
@@ -148,6 +156,7 @@
dv \
flac \
gdk_pixbuf \
+ gtk \
jack \
jpeg \
lame \
diff --git a/ext/gtk/Makefile.am b/ext/gtk/Makefile.am
index 057ff3f..a1eec26 100644
--- a/ext/gtk/Makefile.am
+++ b/ext/gtk/Makefile.am
@@ -37,10 +37,8 @@
libgstgtk_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
if USE_GTK3_GL
-if USE_GL
libgstgtk_la_SOURCES += gstgtkglsink.c gstgtkglsink.h gtkgstglwidget.c gtkgstglwidget.h
libgstgtk_la_LIBADD += $(GST_GL_LIBS)
endif
-endif
plugin_LTLIBRARIES = libgstgtk.la
diff --git a/tests/examples/Makefile.am b/tests/examples/Makefile.am
index 7c10d02..3f9cee6 100644
--- a/tests/examples/Makefile.am
+++ b/tests/examples/Makefile.am
@@ -1,3 +1,9 @@
+if USE_GTK3
+GTK_DIR=gtk
+else
+GTK_DIR=
+endif
+
if USE_JACK
JACK_DIR=jack
else
@@ -10,10 +16,10 @@
CAIRO_DIR=
endif
-SUBDIRS = audiofx equalizer $(JACK_DIR) level \
+SUBDIRS = audiofx equalizer $(GTK_DIR) $(JACK_DIR) level \
rtp shapewipe spectrum v4l2 $(CAIRO_DIR)
-DIST_SUBDIRS = audiofx equalizer jack level \
+DIST_SUBDIRS = audiofx equalizer gtk jack level \
rtp shapewipe spectrum v4l2 cairo
include $(top_srcdir)/common/parallel-subdirs.mak
diff --git a/tests/examples/gtk/.gitignore b/tests/examples/gtk/.gitignore
new file mode 100644
index 0000000..4c84a1f
--- /dev/null
+++ b/tests/examples/gtk/.gitignore
@@ -0,0 +1,3 @@
+glliveshader
+gtkglsink
+gtksink
diff --git a/tests/examples/gtk/Makefile.am b/tests/examples/gtk/Makefile.am
index cd7962d..9aed737 100644
--- a/tests/examples/gtk/Makefile.am
+++ b/tests/examples/gtk/Makefile.am
@@ -8,7 +8,6 @@
$(GST_LIBS)
if USE_GTK3_GL
-if USE_GL
noinst_PROGRAMS += gtkglsink glliveshader
gtkglsink_SOURCES = gtkglsink.c
@@ -23,7 +22,7 @@
$(GST_GL_LIBS) \
$(GST_LIBS) \
$(GTK3_LIBS) \
- $(X11_LIBS)
+ $(X_LIBS)
glliveshader_SOURCES = glliveshader.c
glliveshader_CFLAGS = \
@@ -36,6 +35,5 @@
$(GST_GL_LIBS) \
$(GST_LIBS) \
$(GTK3_LIBS) \
- $(X11_LIBS)
-endif
+ $(X_LIBS)
endif