Add new GStreamer version check utilities.

This commit is contained in:
Gwenole Beauchesne 2011-12-07 18:40:35 +01:00
parent 820c52f953
commit f35a7f8fb0
4 changed files with 76 additions and 1 deletions

1
.gitignore vendored
View file

@ -54,6 +54,7 @@ docs/reference/plugins/plugins-docs.xml
docs/reference/plugins/tmpl*
docs/reference/plugins/xml*
docs/reference/plugins/*.stamp
gst-libs/gst/gstutils_version.h
gst-libs/gst/vaapi/gstvaapimarshal.c
gst-libs/gst/vaapi/gstvaapimarshal.h
gst-libs/gst/vaapi/stamp-marshal

View file

@ -146,6 +146,14 @@ PKG_CHECK_MODULES([GST_PLUGINS_BASE],
AC_SUBST(GST_PLUGINS_BASE_CFLAGS)
AC_SUBST(GST_PLUGINS_BASE_LIBS)
V=`$PKG_CONFIG --modversion gstreamer-plugins-base-$GST_MAJORMINOR`
GST_PLUGINS_BASE_MAJOR_VERSION=`echo "$V" | cut -d'.' -f1`
GST_PLUGINS_BASE_MINOR_VERSION=`echo "$V" | cut -d'.' -f2`
GST_PLUGINS_BASE_MICRO_VERSION=`echo "$V" | cut -d'.' -f3`
AC_SUBST(GST_PLUGINS_BASE_MAJOR_VERSION)
AC_SUBST(GST_PLUGINS_BASE_MINOR_VERSION)
AC_SUBST(GST_PLUGINS_BASE_MICRO_VERSION)
dnl Check for GStreamer base
PKG_CHECK_MODULES([GST_BASE],
[gstreamer-base-$GST_MAJORMINOR >= $GST_VERSION_REQUIRED]
@ -328,6 +336,7 @@ debian.upstream/libgstvaapi-glx.install.in
docs/reference/plugins/plugins-docs.xml
gst-libs/Makefile
gst-libs/gst/Makefile
gst-libs/gst/gstutils_version.h
gst-libs/gst/vaapi/Makefile
pkgconfig/Makefile
pkgconfig/gstreamer-vaapi-$GST_MAJORMINOR.pc:\

View file

@ -1,4 +1,8 @@
SUBDIRS = vaapi
gen_headers = gstutils_version.h
noinst_HEADERS = $(gen_headers)
EXTRA_DIST = gstutils_version.h.in
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in
MAINTAINERCLEANFILES = Makefile.in $(gen_headers)

View file

@ -0,0 +1,61 @@
/*
* gstutils_version.h - GStreamer version utilities
*
* Copyright (C) 2011 Intel Corporation
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*/
#ifndef GST_UTILS_VERSION_H
#define GST_UTILS_VERSION_H
/* gst-plugins-base version */
#define GST_PLUGINS_BASE_MAJOR_VERSION @GST_PLUGINS_BASE_MAJOR_VERSION@
#define GST_PLUGINS_BASE_MINOR_VERSION @GST_PLUGINS_BASE_MINOR_VERSION@
#define GST_PLUGINS_BASE_MICRO_VERSION @GST_PLUGINS_BASE_MICRO_VERSION@
/**
* GST_UTILS_CHECK_VERSION:
* @major: major version, like 1 in 1.2.3
* @minor: minor version, like 2 in 1.2.3
* @micro: micro version, like 3 in 1.2.3
*
* Evaluates to %TRUE if the version of gst-plugins-base is equal or
* greater than @major, @minor and @micro
*/
#define GST_UTILS_CHECK_VERSION(major,minor,micro, rmajor,rminor,rmicro) \
((rmajor) > (major) || \
((rmajor) == (major) && (rminor) > (minor)) || \
((rmajor) == (major) && (rminor) == (minor) && (rmicro) >= (micro)))
/**
* GST_PLUGINS_BASE_CHECK_VERSION:
* @major: major version, like 1 in 1.2.3
* @minor: minor version, like 2 in 1.2.3
* @micro: micro version, like 3 in 1.2.3
*
* Evaluates to %TRUE if the version of gst-plugins-base is greater
* than @major, @minor and @micro
*/
#ifndef GST_PLUGINS_BASE_CHECK_VERSION
#define GST_PLUGINS_BASE_CHECK_VERSION(major,minor,micro) \
GST_UTILS_CHECK_VERSION(major,minor,micro, \
GST_PLUGINS_BASE_MAJOR_VERSION, \
GST_PLUGINS_BASE_MINOR_VERSION, \
GST_PLUGINS_BASE_MICRO_VERSION)
#endif
#endif /* GST_UTILS_VERSION_H */