configure.ac: Only require GStreamer core >= 0.10.2

Original commit message from CVS:
* configure.ac:
Only require GStreamer core >= 0.10.2
Detect version of core the bindings are being compiled against and
write gst/gstversion.override file with eventual API additions that
should be ignored.
* gst/Makefile.am:
* gst/base.defs:
Added gst_base_sync_[set|get]_[sync|max_lateness]() and
gst_type_find_helper_get_range() definitions
* gst/gst-0.10.3.ignore:
API added in gstreamer core 0.10.3
* gst/gst-0.10.4.ignore:
API added in gstreamer core 0.10.4
* gst/gst.override:
Include gstversion.override.
* gst/gstversion.override.in:
Magic file for API additions to ignore.
This commit is contained in:
Edward Hervey 2006-03-14 12:56:46 +00:00
parent 53e67e611a
commit e97416a785
8 changed files with 175 additions and 4 deletions

View file

@ -1,3 +1,23 @@
2006-03-14 Edward Hervey <edward@fluendo.com>
* configure.ac:
Only require GStreamer core >= 0.10.2
Detect version of core the bindings are being compiled against and
write gst/gstversion.override file with eventual API additions that
should be ignored.
* gst/Makefile.am:
* gst/base.defs:
Added gst_base_sync_[set|get]_[sync|max_lateness]() and
gst_type_find_helper_get_range() definitions
* gst/gst-0.10.3.ignore:
API added in gstreamer core 0.10.3
* gst/gst-0.10.4.ignore:
API added in gstreamer core 0.10.4
* gst/gst.override:
Include gstversion.override.
* gst/gstversion.override.in:
Magic file for API additions to ignore.
2006-03-14 Edward Hervey <edward@fluendo.com>
* codegen/codegen.py:

View file

@ -27,7 +27,7 @@ dnl required versions of other packages
AC_SUBST(PYGTK_REQ, 2.6.3)
AC_SUBST(GLIB_REQ, 2.6.0)
AC_SUBST(GTK_REQ, 2.6.0)
AC_SUBST(GST_REQ, 0.10.3.1)
AC_SUBST(GST_REQ, 0.10.2)
AC_SUBST(GSTPB_REQ, 0.10.0.2)
@ -60,6 +60,35 @@ PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ)
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
dnl get the installed GStreamer core version
GST_MINOR_VERSION=`$PKG_CONFIG --modversion gstreamer-$GST_MAJORMINOR | cut -f 3 -d.`
echo "Building against GStreamer core 0.10.$GST_MINOR_VERSION , ignoring API additions if needed"
dnl Magic for allowing new API additions without forcing dependency on new core
dnl release. The lines do the magic so that new API additions are ignored at
dnl compile time.
dnl * Also see gst/gstversion.override.in and gst-0.10.*.override
dnl The following lines should be updated whenever:
dnl _ GST_REQ is up-ed (remove obsolete lines + gst-0.10.MINOR.ignore)
dnl _ new core/base is released (add lines + gst-0.10.MINOR.ignore)
if test $GST_MINOR_VERSION -lt "3"
then
IGNORE_GST_0_10_3="gst-0.10.3.ignore"
else
IGNORE_GST_0_10_3=""
fi
AC_SUBST(IGNORE_GST_0_10_3)
if test $GST_MINOR_VERSION -lt "4"
then
IGNORE_GST_0_10_4="gst-0.10.4.ignore"
else
IGNORE_GST_0_10_4=""
fi
AC_SUBST(IGNORE_GST_0_10_4)
dnl check for gstreamer-base; uninstalled is selected preferentially
PKG_CHECK_MODULES(GST_BASE, gstreamer-base-$GST_MAJORMINOR >= $GST_REQ,
HAVE_GST_BASE="yes", HAVE_GST_BASE="no")
@ -176,6 +205,7 @@ AC_OUTPUT([
Makefile
codegen/Makefile
gst/Makefile
gst/gstversion.override
gst/extend/Makefile
examples/Makefile
pkgconfig/Makefile

View file

@ -22,8 +22,12 @@ defsdir = $(pkgdatadir)/$(GST_MAJORMINOR)/defs
noinst_HEADERS = common.h pygstvalue.h pygstminiobject.h pygstobject.h pygstexception.h
versioned_overrides = \
gst-0.10.3.ignore \
gst-0.10.4.ignore
INCLUDES = $(PYTHON_INCLUDES)
EXTRA_DIST = $(defs_DATA) common.h arg-types.py
EXTRA_DIST = $(defs_DATA) $(versioned_overrides) common.h arg-types.py
PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
GEN_FILES = arg-types.py gst-types.defs libs.defs base.defs
@ -44,6 +48,7 @@ _gst_la_SOURCES = \
nodist__gst_la_SOURCES = gst.c
GST_OVERRIDES = \
gst.override \
gstversion.override \
gstbin.override \
gstbuffer.override \
gstbus.override \
@ -62,8 +67,8 @@ GST_OVERRIDES = \
GST_DEFS = gst.defs gst-types.defs gst-extrafuncs.defs libs.defs base.defs
CLEANFILES = gst.c
EXTRA_DIST += $(GST_DEFS) $(GST_OVERRIDES)
gst.c: $(GST_DEFS) $(GST_OVERRIDES) $(GEN_FILES)
EXTRA_DIST += $(GST_DEFS) $(GST_OVERRIDES) gstversion.override.in
gst.c: $(GST_DEFS) $(GST_OVERRIDES) $(GEN_FILES) gstversion.override
# GStreamer interfaces bindings
interfaces_la_CFLAGS = $(common_cflags) $(GST_PLUGINS_BASE_CFLAGS)
@ -83,6 +88,7 @@ interfaces.c: $(INTERFACES_DEFS) $(INTERFACES_OVERRIDES) $(GEN_FILES)
--load-types $(srcdir)/arg-types.py \
--register $(srcdir)/gst-types.defs \
--override $*.override \
--extendpath $(top_builddir)/gst/ \
--prefix py$* $*.defs) > gen-$*.c \
&& cp gen-$*.c $*.c \
&& rm -f gen-$*.c

View file

@ -131,6 +131,37 @@
(return-type "GType")
)
(define-method set_sync
(of-object "GstBaseSink")
(c-name "gst_base_sink_set_sync")
(return-type "none")
(parameters
'("gboolean" "sync")
)
)
(define-method get_sync
(of-object "GstBaseSink")
(c-name "gst_base_sink_get_sync")
(return-type "gboolean")
)
(define-method set_max_lateness
(of-object "GstBaseSink")
(c-name "gst_base_sink_set_max_lateness")
(return-type "none")
(parameters
'("gint64" "max_lateness")
)
)
(define-method get_max_lateness
(of-object "GstBaseSink")
(c-name "gst_base_sink_get_max_lateness")
(return-type "gint64")
)
(define-virtual get_caps
(of-object "GstBaseSink")
(return-type "GstCaps*")
@ -631,3 +662,14 @@
'("GstTypeFindProbability*" "prob")
)
)
(define-function type_find_helper_get_range
(c-name "gst_type_find_helper_get_range")
(return-type "GstCaps*")
(parameters
'("GstObject*" "obj")
'("GstTypeFindHelperGetRangeFunction" "func")
'("guint64" "size")
'("GstTypeFindProbability*" "prob")
)
)

9
gst/gst-0.10.3.ignore Normal file
View file

@ -0,0 +1,9 @@
%%
ignore
gst_bin_iterate_sources
gst_bin_find_unconnected_pad
gst_buffer_is_metadata_writable
gst_buffer_make_metadata_writable
gst_parse_bin_from_description
gst_index_add_associationv
%%

21
gst/gst-0.10.4.ignore Normal file
View file

@ -0,0 +1,21 @@
%%
ignore
gst_bus_enable_sync_message_emission
gst_bus_disable_sync_message_emission
gst_pipeline_set_auto_flush_bus
gst_pipeline_get_auto_flush_bus
gst_query_set_formats
gst_query_set_formatsv
gst_query_new_formats
gst_query_parse_formats_length
gst_query_parse_formats_nth
gst_type_find_helper_for_buffer
gst_type_find_helper_get_range
gst_uri_has_protocol
GstBaseSrc__do_check_get_range
GstBaseSrc__proxy_do_check_get_range
gst_base_sink_set_sync
gst_base_sink_get_sync
gst_base_sink_set_max_lateness
gst_base_sink_get_max_lateness
%%

View file

@ -247,6 +247,7 @@ include
gsttaglist.override
gstlibs.override
gstbase.override
gstversion.override
%%
init
{
@ -307,6 +308,43 @@ ignore
gst_plugin_get_module
gst_object_sink
%%
/*
Magic to be able to use bugfixes of new releases without having to use
newer core/base
*/
#warn your mom !
ignore
#if (GST_VERSION_MICRO < 5)
# if (GST_VERSION_MICRO < 4)
# if (GST_VERSION_MICRO < 3)
#warning Version smaller than .3
/* API added between 0.10.2 and 0.10.3 */
gst_bin_iterate_sources
gst_bin_find_unconnected_pad
gst_buffer_is_metadata_writable
gst_buffer_make_metadata_writable
gst_parse_bin_from_description
# endif
#warning Version smaller than .4
/* API added between 0.10.3 and 0.10.4 */
gst_bus_enable_sync_message_emission
gst_bus_disable_sync_message_emission
gst_pipeline_set_auto_flush_bus
gst_pipeline_get_auto_flush_bus
gst_query_set_formats
gst_query_new_formats
gst_query_parse_formats_length
gst_query_parse_formats_nth
gst_type_find_helper_for_buffer
gst_uri_has_protocol
GstBaseSrc__do_check_get_range
GstBaseSrc__proxy_do_check_get_range
# endif
#warning Version smaller than .5
/* API Added between 0.10.4 and 0.10.5 */
#endif
%%
override-slot GstPluginFeature.tp_repr
static PyObject *
_wrap_gst_plugin_feature_tp_repr(PyObject *self)

View file

@ -0,0 +1,5 @@
%%
include
@IGNORE_GST_0_10_3@
@IGNORE_GST_0_10_4@
%%