mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 08:17:01 +00:00
33 lines
1.2 KiB
Text
33 lines
1.2 KiB
Text
dnl Perform a check for a GStreamer element using gst-inspect-x.y
|
|
dnl
|
|
dnl GST_ELEMENT_CHECK(ELEMENT-NAME, MIN-VERSION, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
|
|
dnl
|
|
dnl ELEMENT-NAME : element factory name (mandatory)
|
|
dnl MIN-VERSION : minimum version required, e.g. 1.0 or 1.0.5 (mandatory)
|
|
dnl ACTION-IF_FOUND : action if element exists and is of the desired version
|
|
dnl ACTION-IF-NOT-FOUND : action if element does not exist or is too old
|
|
dnl
|
|
dnl gstapiversion=`echo $2 | tr '.' '\n' | head -n 2 | tr '\n' '.' | sed 's/\.$//'`
|
|
|
|
AC_DEFUN([GST_ELEMENT_CHECK],
|
|
[
|
|
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
|
|
|
gstapiversion=`echo "$2" | while IFS=. read a b; do echo "$a.0"; done`
|
|
gsttoolsdir=`$PKG_CONFIG --variable=toolsdir gstreamer-$gstapiversion`
|
|
if test "x$gsttoolsdir" != "x"; then
|
|
gstinspect="$gsttoolsdir/gst-inspect-$gstapiversion"
|
|
AC_MSG_CHECKING(GStreamer $gstapiversion element $1 >= $2)
|
|
if [ $gstinspect --exists --atleast-version=$2 $1 ]; then
|
|
AC_MSG_RESULT([found])
|
|
$3
|
|
else
|
|
if [ $gstinspect --exists $1 ]; then
|
|
AC_MSG_RESULT([found, but too old])
|
|
else
|
|
AC_MSG_RESULT([not found])
|
|
fi
|
|
$4
|
|
fi
|
|
fi
|
|
])
|