From bbe634dc8e1424e8b7e57c40ecc804daf4fe2692 Mon Sep 17 00:00:00 2001 From: Eric Koegel Date: Mon, 28 Jul 2014 16:40:20 +0300 Subject: [PATCH] Fallback to GStreamer 0.10 Change the configure script to try GStreamer 1.0 but fallback to trying 0.10 if required components are missing. --- configure.ac.in | 66 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/configure.ac.in b/configure.ac.in index fafb355..477a83b 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -91,32 +91,6 @@ m4_define([libxfce4util_minimum_version],[4.10.0]) m4_define([libxfconf_minimum_version], [4.10.0]) m4_define([libnotify_minimum_version], [0.4.1]) -dnl gstreamer version -AC_ARG_WITH([gstreamer], - [AS_HELP_STRING([--with-gstreamer=0.10|1.0],[which gstreamer version to compile against (default: 1.0)])], - [case "$with_gstreamer" in - 0.10|1.0) ;; - *) AC_MSG_ERROR([invalid gstreamer version specified]) ;; - esac], - [with_gstreamer=1.0] -) - -case "$with_gstreamer" in - 0.10) gstreamer_api_version=0.10 - gstreamer_minimum_version=0.10.31 - GST_API_VERSION=0.10 - GST_REQS=0.10.30 - GSTPLUG_REQS=0.10.30 - ;; - 1.0) gstreamer_api_version=1.0 - gstreamer_minimum_version=1.0.0 - GST_API_VERSION=1.0 - GST_REQS=1.0.0 - GSTPLUG_REQS=1.0.0 - ;; -esac -AC_DEFINE_UNQUOTED(GSTREAMER_API_VERSION, $gstreamer_api_version, [Define the GStreamer+ API version]) - XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [glib_minimum_version]) XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [glib_minimum_version]) @@ -136,10 +110,42 @@ dnl ************************************ XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [libxfce4ui_minimum_version]) XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [gtk_minimum_version]) -XDT_CHECK_PACKAGE([GST], [gstreamer-${gstreamer_api_version}], [${gstreamer_minimum_version}]) -XDT_CHECK_PACKAGE([GST_BASE], [gstreamer-base-${gstreamer_api_version}], [${gstreamer_minimum_version}]) -XDT_CHECK_PACKAGE([GST_VIDEO], [gstreamer-video-${gstreamer_api_version}], [${gstreamer_minimum_version}]) -XDT_CHECK_PACKAGE([GST_PBUTILS], [gstreamer-pbutils-${gstreamer_api_version}], [${gstreamer_minimum_version}]) +dnl gstreamer version +AC_ARG_WITH([gstreamer], + [AS_HELP_STRING([--with-gstreamer=0.10|1.0],[which gstreamer version to compile against (default: 1.0)])], + [case "$with_gstreamer" in + 0.10|1.0) ;; + *) AC_MSG_ERROR([invalid gstreamer version specified]) ;; + esac], + [with_gstreamer=1.0] +) + +dnl try the latest version first, if it fails, fallback to the next version +if test "x$with_gstreamer" = "x1.0"; then + gstreamer_api_version=1.0 + gstreamer_minimum_version=1.0.0 + GST_API_VERSION=1.0 + GST_REQS=1.0.0 + GSTPLUG_REQS=1.0.0 + XDT_CHECK_PACKAGE([GST], [gstreamer-${gstreamer_api_version}], [${gstreamer_minimum_version}], [], [with_gstreamer="0.10"]) + XDT_CHECK_PACKAGE([GST_BASE], [gstreamer-base-${gstreamer_api_version}], [${gstreamer_minimum_version}], [], [with_gstreamer="0.10"]) + XDT_CHECK_PACKAGE([GST_VIDEO], [gstreamer-video-${gstreamer_api_version}], [${gstreamer_minimum_version}], [], [with_gstreamer="0.10"]) + XDT_CHECK_PACKAGE([GST_PBUTILS], [gstreamer-pbutils-${gstreamer_api_version}], [${gstreamer_minimum_version}], [], [with_gstreamer="0.10"]) +fi + +dnl 0.10 is the last supported version so fail the build if it's not installed +if test "x$with_gstreamer" = "x0.10"; then + gstreamer_api_version=0.10 + gstreamer_minimum_version=0.10.31 + GST_API_VERSION=0.10 + GST_REQS=0.10.30 + GSTPLUG_REQS=0.10.30 + XDT_CHECK_PACKAGE([GST], [gstreamer-${gstreamer_api_version}], [${gstreamer_minimum_version}]) + XDT_CHECK_PACKAGE([GST_BASE], [gstreamer-base-${gstreamer_api_version}], [${gstreamer_minimum_version}]) + XDT_CHECK_PACKAGE([GST_VIDEO], [gstreamer-video-${gstreamer_api_version}], [${gstreamer_minimum_version}]) + XDT_CHECK_PACKAGE([GST_PBUTILS], [gstreamer-pbutils-${gstreamer_api_version}], [${gstreamer_minimum_version}]) +fi +AC_DEFINE_UNQUOTED(GSTREAMER_API_VERSION, $gstreamer_api_version, [Define the GStreamer+ API version]) if test x"${gstreamer_api_version}" = x"0.10"; then XDT_CHECK_PACKAGE([GST_INTERFACES], [gstreamer-interfaces-${gstreamer_api_version}], [${gstreamer_minimum_version}]) -- 2.0.2