[gstreamermm] First move to the new mm-build system.
- From: José Alburquerque <jaalburqu src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gstreamermm] First move to the new mm-build system.
- Date: Wed, 9 Sep 2009 02:58:11 +0000 (UTC)
commit c7e41098e24970e12628b7a2d072818e423d1052
Author: José Alburquerque <jaalburqu svn gnome org>
Date: Tue Sep 8 19:28:55 2009 -0400
First move to the new mm-build system.
Plug-ins, tests, and examples are yet to be included. The license
headers might be reviewed, but otherwise everything seems to be fine
so far except for the distcheck.
* build_shared/Makefile_build.am_fragment:
* build_shared/Makefile_build_gensrc.am_fragment:
* build_shared/Makefile_gensrc.am_fragment:
* docs/Makefile.am:
* docs/reference/Doxyfile.in:
* docs/reference/Makefile.am:
* docs/reference/beautify_docs.pl.in:
* gstreamer/gstreamermm-0.10.pc.in:
* gstreamer/src/Makefile_list_of_hg.am_fragment:
* scripts/Makefile.am:
* scripts/README:
* scripts/c_std.m4:
* scripts/cxx.m4:
* scripts/cxx_std.m4:
* scripts/dk-warn.m4:
* scripts/docgen.m4:
* scripts/glibmm_check_perl.m4:
* scripts/macros.m4:
* scripts/reduced.m4:
* scripts/sun.m4:
* tools/Makefile_list_of_sources.am_fragment:
* tools/README:
* tools/TODO:
* tools/m4/Makefile.am:
* tools/m4/Makefile_list_of_sources.am_fragment: Removed these.
* build/.gitignore:
* doc/Makefile.am:
* doc/reference/.gitignore:
* doc/reference/Doxyfile.in:
* gstreamer/.gitignore:
* gstreamer/gstreamermm-uninstalled.pc.in:
* gstreamer/gstreamermm.pc.in:
* gstreamer/gstreamermm/filelist.am:
* gstreamer/gstreamermm/private/.gitignore:
* gstreamer/src/filelist.am:
* tools/m4/filelist.am: Added these.
* .gitignore:
* Makefile.am:
* autogen.sh:
* configure.ac:
* gstreamer/gstreamermm/Makefile.am:
* gstreamer/gstreamermm/private/Makefile.am:
* gstreamer/gstreamermmconfig.h.in:
* gstreamer/src/Makefile.am:
* tools/Makefile.am:
* tools/extra_defs_gen/Makefile.am:
* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc:
* tools/generate_gst_wrap_init.pl.in:
* tools/m4/class_boxedtype_extra.m4:
* tools/m4/class_gstminiobject.m4:
* tools/m4/convert.m4:
* tools/m4/convert_gst.m4:
* tools/m4/plugingen.m4:
* tools/m4/plugingen_base.m4:
* tools/m4/plugingen_gstreamermm.m4:
* tools/m4/shared.m4: Modified these.
.gitignore | 58 +-
ChangeLog | 130 +++
INSTALL | 236 -----
Makefile.am | 81 +-
autogen.sh | 64 +--
build/.gitignore | 13 +
build_shared/Makefile_build.am_fragment | 53 -
build_shared/Makefile_build_gensrc.am_fragment | 91 --
build_shared/Makefile_gensrc.am_fragment | 171 ----
config.h.in | 7 -
configure.ac | 488 ++--------
doc/Makefile.am | 22 +
doc/reference/.gitignore | 5 +
doc/reference/Doxyfile.in | 283 ++++++
docs/Makefile.am | 16 -
docs/reference/Doxyfile.in | 1258 ------------------------
docs/reference/Makefile.am | 61 --
docs/reference/beautify_docs.pl.in | 81 --
gstreamer/.gitignore | 6 +
gstreamer/Makefile.am | 13 -
gstreamer/gstreamermm-0.10.pc.in | 15 -
gstreamer/gstreamermm-uninstalled.pc.in | 10 +
gstreamer/gstreamermm.pc.in | 19 +
gstreamer/gstreamermm/Makefile.am | 81 +-
gstreamer/gstreamermm/filelist.am | 8 +
gstreamer/gstreamermm/private/.gitignore | 2 +
gstreamer/gstreamermm/private/Makefile.am | 22 -
gstreamer/gstreamermmconfig.h.in | 4 +-
gstreamer/src/Makefile.am | 29 +-
gstreamer/src/Makefile_list_of_hg.am_fragment | 157 ---
gstreamer/src/filelist.am | 156 +++
scripts/Makefile.am | 8 -
scripts/README | 1 -
scripts/c_std.m4 | 43 -
scripts/cxx.m4 | 364 -------
scripts/cxx_std.m4 | 195 ----
scripts/dk-warn.m4 | 114 ---
scripts/docgen.m4 | 75 --
scripts/glibmm_check_perl.m4 | 54 -
scripts/macros.m4 | 134 ---
scripts/reduced.m4 | 106 --
scripts/sun.m4 | 15 -
tools/Makefile.am | 55 +-
tools/Makefile_list_of_sources.am_fragment | 4 -
tools/README | 4 -
tools/TODO | 12 -
tools/extra_defs_gen/Makefile.am | 39 -
tools/generate_gst_wrap_init.pl.in | 2 +-
tools/m4/Makefile.am | 9 -
tools/m4/Makefile_list_of_sources.am_fragment | 5 -
tools/m4/class_boxedtype_extra.m4 | 2 +-
tools/m4/class_gstminiobject.m4 | 2 +
tools/m4/convert.m4 | 4 +-
tools/m4/convert_gst.m4 | 84 +-
tools/m4/filelist.am | 6 +
tools/m4/plugingen.m4 | 6 +-
tools/m4/plugingen_base.m4 | 2 +
tools/m4/plugingen_gstreamermm.m4 | 22 +-
tools/m4/shared.m4 | 7 +-
59 files changed, 1006 insertions(+), 4008 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 1cbc0af..c27fd85 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,39 +1,27 @@
# wildcard patterns
Makefile
Makefile.in
-.deps/
-.libs/
-*.o
+.deps
+.dirstamp
+.libs
+stamp-h?
+*.[ao]
*.l[ao]
-*_p.h
*.swp
-.stamps/
# /
-aclocal.m4
-autom4te.cache/
-config.h
-config.log
-config.status
-configure
-libtool
-stamp-h1
-tags
-
-# docs/
-docs/reference/Doxyfile
-docs/reference/doxygen-warnings.txt
-docs/reference/html/
-
-# examples/
-examples/element_link/element_link
-examples/media_player_gtkmm/example
-examples/ogg_player/example
-examples/ogg_player_gtkmm/example
-examples/optiongroup/example
+/INSTALL
+/aclocal.m4
+/autom4te.cache
+/config.h*
+/config*.lineno
+/config.log
+/config.status
+/configure
+/gstreamermm-*.tar.*
+/libtool
# gstreamer/
-gstreamer/gstreamermm-0.10.pc
gstreamer/gstreamermm/adder.cc
gstreamer/gstreamermm/adder.h
gstreamer/gstreamermm/alsamixer.cc
@@ -286,7 +274,6 @@ gstreamer/gstreamermm/xoverlay.h
gstreamer/gstreamermm/xvimagesink.cc
gstreamer/gstreamermm/xvimagesink.h
gstreamer/gstreamermmconfig.h
-gstreamer/stamp-h2
# Generated plug-in .hg and .ccg files (not included in commits).
gstreamer/src/adder.ccg
@@ -406,14 +393,6 @@ gstreamer/src/ximagesink.hg
gstreamer/src/xvimagesink.ccg
gstreamer/src/xvimagesink.hg
-# scripts/
-scripts/config.guess
-scripts/config.sub
-scripts/depcomp
-scripts/install-sh
-scripts/ltmain.sh
-scripts/missing
-
# tests/
tests/test-caps
tests/test-caps-structures
@@ -442,7 +421,6 @@ tests/test-taglist
tests/test-tagsetter
# tools/
-tools/extra_defs_gen/generate_defs_gst
-tools/extra_defs_gen/generate_plugin_gmmproc_file
-tools/generate_gst_wrap_init.pl
-tools/generate_wrap_init.pl
+/tools/extra_defs_gen/generate_defs_gst
+/tools/extra_defs_gen/generate_plugin_gmmproc_file
+/tools/generate_gst_wrap_init.pl
diff --git a/ChangeLog b/ChangeLog
index b439293..9be884d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,133 @@
+2009-09-08 José Alburquerque <jaalburqu svn gnome org>
+
+ First move to the new mm-build system.
+
+ Plug-ins, tests, and examples are yet to be included. The license
+ headers might be reviewed, but otherwise everything seems to be fine
+ so far except for the distcheck.
+
+ * INSTALL:
+ * build_shared/Makefile_build.am_fragment:
+ * build_shared/Makefile_build_gensrc.am_fragment:
+ * build_shared/Makefile_gensrc.am_fragment:
+ * config.h.in:
+ * docs/Makefile.am:
+ * docs/reference/Doxyfile.in:
+ * docs/reference/Makefile.am:
+ * docs/reference/beautify_docs.pl.in:
+ * gstreamer/Makefile.am:
+ * gstreamer/gstreamermm-0.10.pc.in:
+ * gstreamer/src/Makefile_list_of_hg.am_fragment:
+ * scripts/Makefile.am:
+ * scripts/README:
+ * scripts/c_std.m4:
+ * scripts/cxx.m4:
+ * scripts/cxx_std.m4:
+ * scripts/dk-warn.m4:
+ * scripts/docgen.m4:
+ * scripts/glibmm_check_perl.m4:
+ * scripts/macros.m4:
+ * scripts/reduced.m4:
+ * scripts/sun.m4:
+ * tools/Makefile_list_of_sources.am_fragment:
+ * tools/README:
+ * tools/TODO:
+ * tools/m4/Makefile.am:
+ * tools/m4/Makefile_list_of_sources.am_fragment: Removed these.
+
+ * build/.gitignore:
+ * doc/Makefile.am:
+ * doc/reference/.gitignore:
+ * doc/reference/Doxyfile.in:
+ * gstreamer/.gitignore:
+ * gstreamer/gstreamermm-uninstalled.pc.in:
+ * gstreamer/gstreamermm.pc.in:
+ * gstreamer/gstreamermm/filelist.am:
+ * gstreamer/gstreamermm/private/.gitignore:
+ * gstreamer/src/filelist.am:
+ * tools/m4/filelist.am: Added these.
+
+ * .gitignore:
+ * Makefile.am:
+ * autogen.sh:
+ * configure.ac:
+ * gstreamer/gstreamermm/Makefile.am:
+ * gstreamer/gstreamermm/private/Makefile.am:
+ * gstreamer/gstreamermmconfig.h.in:
+ * gstreamer/src/Makefile.am:
+ * tools/Makefile.am:
+ * tools/extra_defs_gen/Makefile.am:
+ * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc:
+ * tools/generate_gst_wrap_init.pl.in:
+ * tools/m4/class_boxedtype_extra.m4:
+ * tools/m4/class_gstminiobject.m4:
+ * tools/m4/convert.m4:
+ * tools/m4/convert_gst.m4:
+ * tools/m4/plugingen.m4:
+ * tools/m4/plugingen_base.m4:
+ * tools/m4/plugingen_gstreamermm.m4:
+ * tools/m4/shared.m4: Modified these.
+
+2009-09-08 José Alburquerque <jaalburqu svn gnome org>
+
+ * build_shared/Makefile_build.am_fragment:
+ * build_shared/Makefile_build_gensrc.am_fragment:
+ * build_shared/Makefile_gensrc.am_fragment:
+ * docs/Makefile.am:
+ * docs/reference/Doxyfile.in:
+ * docs/reference/Makefile.am:
+ * docs/reference/beautify_docs.pl.in:
+ * gstreamer/gstreamermm-0.10.pc.in:
+ * scripts/Makefile.am:
+ * scripts/README:
+ * scripts/c_std.m4:
+ * scripts/cxx.m4:
+ * scripts/cxx_std.m4:
+ * scripts/dk-warn.m4:
+ * scripts/docgen.m4:
+ * scripts/glibmm_check_perl.m4:
+ * scripts/macros.m4:
+ * scripts/reduced.m4:
+ * scripts/sun.m4:
+
+ * .gitignore:
+ * Makefile.am:
+ * autogen.sh:
+ * build/.gitignore:
+ * configure.ac:
+ * doc/Makefile.am:
+ * doc/reference/.gitignore:
+ * doc/reference/Doxyfile.in:
+ * gstreamer/.gitignore:
+ * gstreamer/gstreamermm-uninstalled.pc.in:
+ * gstreamer/gstreamermm.pc.in:
+ * gstreamer/gstreamermm/Makefile.am:
+ * gstreamer/gstreamermm/filelist.am:
+ * gstreamer/gstreamermm/private/.gitignore:
+ * gstreamer/gstreamermm/private/Makefile.am:
+ * gstreamer/gstreamermmconfig.h.in:
+ * gstreamer/src/Makefile.am:
+ * gstreamer/src/Makefile_list_of_hg.am_fragment:
+ * gstreamer/src/filelist.am:
+ * tools/Makefile.am:
+ * tools/Makefile_list_of_sources.am_fragment:
+ * tools/README:
+ * tools/TODO:
+ * tools/extra_defs_gen/Makefile.am:
+ * tools/extra_defs_gen/generate_plugin_gmmproc_file.cc:
+ * tools/generate_gst_wrap_init.pl.in:
+ * tools/m4/Makefile.am:
+ * tools/m4/Makefile_list_of_sources.am_fragment:
+ * tools/m4/class_boxedtype_extra.m4:
+ * tools/m4/class_gstminiobject.m4:
+ * tools/m4/convert.m4:
+ * tools/m4/convert_gst.m4:
+ * tools/m4/filelist.am:
+ * tools/m4/plugingen.m4:
+ * tools/m4/plugingen_base.m4:
+ * tools/m4/plugingen_gstreamermm.m4:
+ * tools/m4/shared.m4:
+
0.10.5:
2009-09-02 José Alburquerque <jaalburqu svn gnome org>
diff --git a/Makefile.am b/Makefile.am
index 2bdf99d..fe27b36 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,40 +1,41 @@
-
-SUBDIRS=tools gstreamer @EXAMPLE_SUBDIR@ tests @DEMO_SUBDIR@ @DOCS_SUBDIR@
-DIST_SUBDIRS=$(SUBDIRS) scripts
-
-EXTRA_DIST= build_shared/Makefile_build.am_fragment \
- build_shared/Makefile_build_gensrc.am_fragment \
- build_shared/Makefile_gensrc.am_fragment \
- build_shared/Makefile_conditional.am_fragment \
- autogen.sh \
- COPYING.examples COPYING.tools
-
-
-all-local:
- @echo "*** Everything completed ***"
-
-dist-hook:
- @echo; echo; \
- echo "**********************************************************"; \
- echo "* IMPORTANT NOTICE: *"; \
- echo "* *"; \
- echo "* Be sure you have done a complete build before running *"; \
- echo "* 'make dist' or 'make distcheck', because otherwise *"; \
- echo "* the tarball will _not_ contain the dependency rules *"; \
- echo "* generated by the compiler. *"; \
- echo "**********************************************************"; \
- echo; echo
-
-
-#include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-doc-clean-recursive:
- (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild:
- (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
-
-.PHONY: doc-clean doc-clean-recursive doc-rebuild
-
+## Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
+
+ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
+DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
+
+if MAINTAINER_MODE
+src_subdirs = tools gstreamer/src
+else
+src_subdirs =
+endif
+if ENABLE_DOCUMENTATION
+doc_subdirs = doc
+else
+doc_subdirs =
+endif
+SUBDIRS = $(src_subdirs) gstreamer/gstreamermm $(doc_subdirs)
+
+gstreamermm_includedir = $(includedir)/$(GSTREAMERMM_MODULE_NAME)
+gstreamermm_include_HEADERS = gstreamer/gstreamermm.h
+gstreamermm_libincludedir = $(libdir)/$(GSTREAMERMM_MODULE_NAME)/include
+nodist_gstreamermm_libinclude_HEADERS = gstreamer/gstreamermmconfig.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gstreamer/$(GSTREAMERMM_MODULE_NAME).pc
+
+dist_noinst_SCRIPTS = autogen.sh
+
+#include $(top_srcdir)/build/dist-changelog.am
diff --git a/autogen.sh b/autogen.sh
index 9e26a99..fed2c5b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,59 +1,7 @@
-#!/bin/sh
-MAKE=`which gnumake`
-if test ! -x "$MAKE" ; then MAKE=`which gmake` ; fi
-if test ! -x "$MAKE" ; then MAKE=`which make` ; fi
-HAVE_GNU_MAKE=`$MAKE --version|grep -c "Free Software Foundation"`
-
-if test "$HAVE_GNU_MAKE" != "1"; then
-echo !!!! ERROR: You need GNU make to build from svn!;
-echo !!!! $MAKE is not GNU make;
-exit 1;
-fi
-
-echo Found GNU Make at $MAKE ... good.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-PKG_NAME="gstreamermm"
-
-(test -f $srcdir/configure.ac \
- && test -d $srcdir/gstreamer/src \
- && test -d $srcdir/gstreamer/gstreamermm) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level $PKG_NAME directory"
- exit 1
-}
-
-
-
-echo "Adding libtools."
-libtoolize --automake
-
-echo "Building macros."
-aclocal -I scripts $ACLOCAL_FLAGS
-
-#echo "Building config header."
-#autoheader
-
-echo "Building makefiles."
-automake --add-missing
-
-echo "Building configure."
-autoconf
-
-rm -f config.cache
-
-if test -z "$AUTOGEN_SUBDIR_MODE"; then
-
- echo "Running configure."
- ./configure --enable-maintainer-mode "$@"
- echo
- echo 'run "make"'
- echo
-else
- echo
- echo 'run "./configure ; make"'
- echo
-fi
+#! /bin/sh -e
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+mm-common-prepare --force --copy "$srcdir"
+autoreconf --force --install "$srcdir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@"
diff --git a/build/.gitignore b/build/.gitignore
new file mode 100644
index 0000000..0590391
--- /dev/null
+++ b/build/.gitignore
@@ -0,0 +1,13 @@
+/compile
+/compile-binding.am
+/config.*
+/depcomp
+/dist-changelog.am
+/doc-reference.am
+/generate-binding.am
+/install-sh
+/libtool.m4
+/lt*.m4
+/ltmain.sh
+/missing
+/stamp-h?
diff --git a/configure.ac b/configure.ac
index 95af2b3..95daf0c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,413 +1,91 @@
-# Configure.in
-#
-# This file tests for various compiler features needed to configure
-# the gtkmm package. Original skeleton was provided by Stephan Kulow.
-# All tests were written by Tero Pulkkinen, Mirko Streckenbach, and
-# Karl Nelson.
-#
-# NOTE! IF YOU DO CHANGES HERE, CHECK IF YOU NEED TO MODIFY .m4 TOO!!!
-#
-# Copyright 2001 Free Software Foundation
-# Copyright 1999 gtkmm Development Team
-# Copyright 1998 Stephan Kulow
-#
-
-#We use pushdef here because we can't use shell variables before AC_INIT, but we want to use a variable with AC_INIT:
-pushdef([GSTREAMERMM_MAJOR_VERSION], [0])
-pushdef([GSTREAMERMM_MINOR_VERSION], [10])
-pushdef([GSTREAMERMM_MICRO_VERSION], [5])
-pushdef([GSTREAMERMM_EXTRA_VERSION], [])
-pushdef([GSTREAMERMM_VERSION], GSTREAMERMM_MAJOR_VERSION.GSTREAMERMM_MINOR_VERSION.GSTREAMERMM_MICRO_VERSION[]GSTREAMERMM_EXTRA_VERSION)
-AC_INIT([gstreamermm], GSTREAMERMM_VERSION, [gtkmm-list gnome org])
-AC_CONFIG_SRCDIR([gstreamer/gstreamermmconfig.h.in])
-AC_PREREQ(2.59)
-
-#########################################################################
-# Version and initialization
-#########################################################################
-[GSTREAMERMM_MAJOR_VERSION]=GSTREAMERMM_MAJOR_VERSION
-[GSTREAMERMM_MINOR_VERSION]=GSTREAMERMM_MINOR_VERSION
-[GSTREAMERMM_MICRO_VERSION]=GSTREAMERMM_MICRO_VERSION
-[GSTREAMERMM_EXTRA_VERSION]=GSTREAMERMM_EXTRA_VERSION
-[GSTREAMERMM_VERSION]=GSTREAMERMM_VERSION
-popdef([GSTREAMERMM_MAJOR_VERSION])
-popdef([GSTREAMERMM_MINOR_VERSION])
-popdef([GSTREAMERMM_MICRO_VERSION])
-popdef([GSTREAMERMM_EXTRA_VERSION])
-popdef([GSTREAMERMM_VERSION])
-GSTREAMERMM_RELEASE=$GSTREAMERMM_MAJOR_VERSION.$GSTREAMERMM_MINOR_VERSION
-AC_DEFINE_UNQUOTED(GSTREAMERMM_MAJOR_VERSION, $GSTREAMERMM_MAJOR_VERSION, [Major version of gstreamermm])
-AC_DEFINE_UNQUOTED(GSTREAMERMM_MINOR_VERSION, $GSTREAMERMM_MINOR_VERSION, [Minor version of gstreamermm])
-AC_DEFINE_UNQUOTED(GSTREAMERMM_MICRO_VERSION, $GSTREAMERMM_MICRO_VERSION, [Micro version of gstreamermm])
-AC_SUBST(GSTREAMERMM_MAJOR_VERSION)
-AC_SUBST(GSTREAMERMM_MINOR_VERSION)
-AC_SUBST(GSTREAMERMM_MICRO_VERSION)
-AC_SUBST(GSTREAMERMM_VERSION)
-AC_SUBST(GSTREAMERMM_RELEASE)
-
-#
-# +1 : ? : +1 == new interface that does not break old one
-# +1 : ? : 0 == new interface that breaks old one
-# ? : ? : 0 == no new interfaces, but breaks apps
-# ? :+1 : ? == just some internal changes, nothing breaks but might work
-# better
-# CURRENT : REVISION : AGE
-LIBGSTREAMERMM_SO_VERSION=2:1:0
-AC_SUBST(LIBGSTREAMERMM_SO_VERSION)
-
-AC_CONFIG_AUX_DIR(scripts)
-
-# Initialize automake stuff
-# tar-ustar asks it to use a sensible tar format that can handle long filenames.
-AM_INIT_AUTOMAKE([1.9 tar-ustar])
-
-dnl Specify a configuration file (no autoheader)
-AM_CONFIG_HEADER(config.h gstreamer/gstreamermmconfig.h)
+## Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
+
+AC_INIT([gstreamermm], [0.10.5],
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=gstreamermm],
+ [gstreamermm], [http://www.gtkmm.org/])
+AC_PREREQ([2.59])
+
+AC_CONFIG_SRCDIR([gstreamer/gstreamermm.h])
+AC_CONFIG_AUX_DIR([build])
+AC_CONFIG_MACRO_DIR([build])
+AC_CONFIG_HEADERS([config.h gstreamer/gstreamermmconfig.h])
+
+MM_PREREQ([0.7.2])
+MM_INIT_MODULE([gstreamermm-0.10])
+
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+AC_SUBST([GSTREAMERMM_SO_VERSION], [2:1:0])
+
+AM_INIT_AUTOMAKE([1.9 -Wno-portability check-news dist-bzip2 no-define nostdinc tar-pax])
AM_MAINTAINER_MODE
-AL_ACLOCAL_INCLUDE(scripts)
-
-
-#########################################################################
-# Configure arguments
-#########################################################################
-
-#########################################################################
-# Environment Checks
-#########################################################################
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_MAKE_SET
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-
-dnl Used for enabling the "-no-undefined" flag while generating DLLs
-dnl Copied from the official gtk+-2 configure.in
-AC_MSG_CHECKING([for some Win32 platform])
-case "$host" in
- *-*-mingw*|*-*-cygwin*)
- platform_win32=yes
- ;;
- *)
- platform_win32=no
- ;;
-esac
-AC_MSG_RESULT([$platform_win32])
-AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
-
-AC_MSG_CHECKING([for native Win32])
-case "$host" in
- *-*-mingw*)
- os_win32=yes
- ;;
- *)
- os_win32=no
- ;;
-esac
-AC_MSG_RESULT([$os_win32])
-AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
+AC_PROG_CXX
AC_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
-AL_PROG_GNU_M4(AC_MSG_ERROR([dnl
-SUN m4 does not work for building gstreamermm.
-Please install GNU m4.]))
-
-AL_PROG_GNU_MAKE(AC_MSG_ERROR([dnl
-SUN make does not work for building gstreamermm.
-Please install GNU make.]))
-
-
-#########################################################################
-# Dependancy checks (gtkmm is only used by examples)
-#########################################################################
-gstreamermm_min_glibmm_version=2.21.1
-gstreamermm_min_gtkmm_version=2.12.0
-gstreamermm_min_gst_version=0.10.24
-gstreamermm_min_libxmlpp_version=2.14.0
-
-PKG_CHECK_MODULES(GSTREAMERMM, \
- glibmm-2.4 >= ${gstreamermm_min_glibmm_version} \
- giomm-2.4 >= ${gstreamermm_min_glibmm_version} \
- libxml++-2.6 >= ${gstreamermm_min_libxmlpp_version} \
- gstreamer-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-base-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-controller-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-dataprotocol-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-net-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-plugins-base-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-audio-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-cdda-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-interfaces-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-netbuffer-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-rtp-0.10 >= ${gstreamermm_min_gst_version} \
- gstreamer-video-0.10 >= ${gstreamermm_min_gst_version} \
- )
-AC_SUBST(GSTREAMERMM_CFLAGS)
-AC_SUBST(GSTREAMERMM_LIBS)
-
-# This macro is installed by glibmm
-# Doxygen needs the path to the installed perl.
-GLIBMM_CHECK_PERL([5.6.0])
-
-GLIBMM_LIBDIR=`pkg-config --variable=libdir glibmm-2.4`
-GMMPROC_DIR=$GLIBMM_LIBDIR/glibmm-2.4/proc
-AC_SUBST(GMMPROC_DIR)
-GMMPROC=$GMMPROC_DIR/gmmproc
-AC_SUBST(GMMPROC)
-
-# location to install generate_plugin_gmmproc_file so other gstreamermm modules
-# can generate plug-ins also.
-GENERATE_PLUGIN_GMMPROC_FILE_DIR=[${libdir}/gstreamermm-0.10/gen]
-AC_SUBST([GENERATE_PLUGIN_GMMPROC_FILE_DIR])
-
-
-#########################################################################
-# Plug-in processing
-#########################################################################
-
-# To add a plugin, add the plugin definition, in the form of
-# "plugin=CppClassName" to the space-separated list of definitions below.
-# (Where "plugin" is the plugin name as recognized by gst-inspect and
-# "CppClassName" is the desired name of the C++ class.)
-#
-# Also add the target .hg file name to the files_all_plugin_hg variable in the
-# gstreamer/src/Makefile_list_of_hg.am_fragment file. (That must be the same
-# as "CppClassName" - all in lowercase with a .hg extension). Make sure that
-# the order of both lists correspond.
-
-# TODO: Include appsink and appsrc plug-ins in list below if they indeed are
-# plug-ins (see gst-plugins-base docs for details) and when they don't cause
-# gstreamermm initialization errors.
-GSTREAMERMM_ALL_PLUGIN_DEFS="capsfilter=CapsFilter fakesink=FakeSink \
-fakesrc=FakeSrc fdsrc=FdSrc fdsink=FdSink filesink=FileSink \
-filesrc=FileSrc identity=Identity multiqueue=MultiQueue queue=Queue \
-tee=Tee typefind=TypeFindElement \
-adder=Adder alsamixer=AlsaMixer alsasink=AlsaSink alsasrc=AlsaSrc \
-audioconvert=AudioConvert \
-audioresample=AudioResample audiotestsrc=AudioTestSrc \
-cdparanoiasrc=CdParanoiaSrc clockoverlay=ClockOverlay \
-decodebin=DecodeBin decodebin2=DecodeBin2 \
-ffmpegcolorspace=FfmpegColorSpace gdpdepay=GDPDepay gdppay=GDPPay \
-giosink=GioSink giosrc=GioSrc giostreamsink=GioStreamSink \
-giostreamsrc=GioStreamSrc multifdsink=MultiFdSink oggdemux=OggDemux \
-oggmux=OggMux playbin=PlayBin playbin2=PlayBin2 \
-tcpclientsink=TCPClientSink tcpclientsrc=TCPClientSrc \
-tcpserversink=TcpServerSink tcpserversrc=TCPServerSrc \
-textoverlay=TextOverlay textrender=TextRender theoradec=TheoraDec \
-theoraenc=TheoraEnc theoraparse=TheoraParse timeoverlay=TimeOverlay \
-uridecodebin=UriDecodeBin videorate=VideoRate \
-videoscale=VideoScale videotestsrc=VideoTestSrc volume=Volume \
-vorbisdec=VorbisDec vorbisenc=VorbisEnc vorbisparse=VorbisParse \
-vorbistag=VorbisTag ximagesink=XImageSink xvimagesink=XvImageSink"
-
-# Go through all the "plug-in defs", extracting the plug-in name and the C++
-# class name. Create a list of the C++ class names and a list of the
-# corresponding .hg file names which are taken from the C++ class name.
-for plugin_def in $GSTREAMERMM_ALL_PLUGIN_DEFS; do
- plugin_name=[`echo $plugin_def | cut -d'=' -f 1`]
- cppname=[`echo $plugin_def | cut -d'=' -f 2`]
- GSTREAMERMM_ALL_PLUGIN_CPPNAMES="$GSTREAMERMM_ALL_PLUGIN_CPPNAMES $cppname"
- GSTREAMERMM_ALL_PLUGIN_HG=["$GSTREAMERMM_ALL_PLUGIN_HG `echo $cppname | tr [:upper:] [:lower:]`.hg"]
-done
-AC_SUBST(GSTREAMERMM_ALL_PLUGIN_DEFS)
-AC_SUBST(GSTREAMERMM_ALL_PLUGIN_CPPNAMES)
-AC_SUBST(GSTREAMERMM_ALL_PLUGIN_HG)
-
-#########################################################################
-# C++ checks
-#########################################################################
-AC_PROG_CXX
-
-# Check for the SUN Forte compiler, and define GLIBMM_COMPILER_SUN_FORTE in the header.
-#GLIBMM_PROG_CXX_SUN
-
-# Ensure MSVC-compatible struct packing convention is used when
-# compiling for Win32 with gcc.
-# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
-# gcc2 uses "-fnative-struct".
-if test x"$os_win32" = xyes; then
- if test x"$GCC" = xyes -a x"$GXX" = xyes; then
- msnative_struct=''
- AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
- if test -z "$ac_cv_prog_CC"; then
- our_gcc="$CC"
- else
- our_gcc="$ac_cv_prog_CC"
- fi
- case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
- 2.)
- if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
- msnative_struct='-fnative-struct'
- fi
- ;;
- *)
- if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
- msnative_struct='-mms-bitfields'
- fi
- ;;
- esac
- if test x"$msnative_struct" = x ; then
- AC_MSG_RESULT([no way])
- AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
- else
- CXXFLAGS="$CXXFLAGS $msnative_struct"
- AC_MSG_RESULT([${msnative_struct}])
- fi
- fi
-fi
-
-AC_LANG_CPLUSPLUS
-
-
-# Create a list of input directories for Doxygen.
-#GSTREAMERMM_DOXYGEN_INPUT_SUBDIRS([gst])
-
-# Evaluate the --enable-warnings=level option.
-DK_ARG_ENABLE_WARNINGS([GSTREAMERMM_WARNING_FLAGS],
- [-Wall],
- [-pedantic -Wall -Wextra])
-
-# Add an --enable-use-deprecations configure option:
-AC_ARG_ENABLE(deprecations,
- [AC_HELP_STRING([--enable-use-deprecations],
- [warn about deprecated usages [default=no]])],,
- [enable_deprecations=no])
-
-if test "x$enable_use_deprecations" = "xyes"; then
- DISABLE_DEPRECATED_CFLAGS="\
--DG_DISABLE_DEPRECATED \
--DGDK_DISABLE_DEPRECATED \
--DGTK_DISABLE_DEPRECATED \
--DGDK_PIXBUF_DISABLE_DEPRECATED"
- AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
-fi
-
-# Add an --enable-deprecated-api option:
-AC_ARG_ENABLE(deprecated-api, [AC_HELP_STRING([--enable-deprecated-api],
- [include (build) deprecated API in the libraries [default=yes]])],,
- [enable_deprecated_api=yes])
-if test "x$enable_deprecated_api" = "xyes"; then
-AC_MSG_WARN([Deprecated API will be built, for backwards-compatibility.])
-else
- DISABLE_DEPRECATED_API_CFLAGS=""
-AC_SUBST(DISABLE_DEPRECATED_API_CFLAGS)
-AC_MSG_WARN([Deprecated API will not be built, breaking backwards-compatibility. Do not use this build for distribution packages.])
-fi
-
-AC_ARG_ENABLE(examples,
- [AC_HELP_STRING([--enable-examples],
- [enable compilation of example programs [default=yes]])],
- [enable_examples=$enableval], [enable_examples=yes])
-
-if test "x$enable_examples" = "xyes"; then
-
-#Extra dependencies needed for the examples. Use --enable-examples=no to build the library without this.
-PKG_CHECK_MODULES(GSTREAMERMM_EXAMPLES, gtkmm-2.4 >= ${gstreamermm_min_gtkmm_version})
-AC_SUBST(GSTREAMERMM_EXAMPLES_CFLAGS)
-AC_SUBST(GSTREAMERMM_EXAMPLES_LIBS)
-
-EXAMPLE_SUBDIR="examples"
-AC_CONFIG_FILES([
- examples/Makefile
- examples/optiongroup/Makefile
- examples/element_link/Makefile
- examples/ogg_player/Makefile
- examples/ogg_player_gtkmm/Makefile
- examples/media_player_gtkmm/Makefile
- examples/typefind/Makefile
- ])
-AC_SUBST(EXAMPLE_SUBDIR)
-else
-EXAMPLE_SUBDIR=""
-fi
-
-DEMO_SUBDIR=""
-AC_SUBST(DEMO_SUBDIR)
-
-AC_ARG_ENABLE(debug, [AC_HELP_STRING([--enable-debug],
- [compile with debugging options [default=no]])],
- enable_debug=$enableval,
- [enable_debug=no])
-
-AC_MSG_NOTICE([got enable_debug=$enable_debug])
-if test x$GSVMM_DEVEL = xon ; then
- enable_debug=yes
-fi
-
-if test x$enable_debug = xyes ; then
- DEBUG_OPTIONS="-Wall -g -Werror -Wextra"
- CXXFLAGS="$DEBUG_OPTIONS"
- CFLAGS="$DEBUG_OPTIONS"
-fi
-
-# Create a list of input directories for Doxygen. We have to check wether
-# we are building in the source directory, because Doxygen doesn't like
-# duplicated directories in the input list.
-GSTREAMERMM_DOXYGEN_INPUT=''
-gstmm_srcdir=`cd "$srcdir" && pwd`
-gstmm_builddir=`pwd`
-for sublib in gstreamer
-do
- if test "x$gstmm_builddir" = "x$gstmm_srcdir" ; then
- GSTREAMERMM_DOXYGEN_INPUT="$GSTREAMERMM_DOXYGEN_INPUT $gstmm_builddir/$sublib/$sublib""mm/"
- else
- GSTREAMERMM_DOXYGEN_INPUT="$GSTREAMERMM_DOXYGEN_INPUT $gstmm_srcdir/$sublib/$sublib""mm/"
- fi
-done
-AC_SUBST(GSTREAMERMM_DOXYGEN_INPUT)
-
-AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs],
- [build the included docs [default=yes]])],,
- [enable_docs=yes])
-if test "x$enable_docs" = "xyes"; then
-AC_PATH_PROG(DOXYGEN, doxygen)
- if test x$DOXYGEN = x ; then
- AC_MSG_ERROR([could not find the doxygen program. Please, install it])
- fi
-AC_SUBST(DOXYGEN)
-DOCS_SUBDIR="docs"
- AC_CONFIG_FILES([
- docs/Makefile
- docs/reference/Makefile
- docs/reference/Doxyfile
- docs/reference/beautify_docs.pl
- ])
-else
-DOCS_SUBDIR=""
-fi
-
-AC_SUBST(DOCS_SUBDIR)
-
-# Dummy conditional just to make automake-1.4 happy.
-# We need an always-false condition in docs/Makefile.am.
-AM_CONDITIONAL(GSTREAMERMM_FALSE,[false])
-
-# HACK: Assign a dummy in order to prevent execution of autoheader by the
-# maintainer-mode rules. That would fail since we aren't using autoheader.
-AUTOHEADER=':'
-
-
-AC_CONFIG_FILES([
- Makefile
-
- gstreamer/Makefile
- gstreamer/gstreamermm-0.10.pc
- gstreamer/src/Makefile
- gstreamer/gstreamermm/Makefile
- gstreamer/gstreamermm/private/Makefile
-
- tools/Makefile
- tools/generate_gst_wrap_init.pl
- tools/m4/Makefile
- tools/extra_defs_gen/Makefile
-
- tests/Makefile
-])
-
-AC_CONFIG_FILES([
- scripts/Makefile
+min_glibmm_version='2.21.1'
+min_gtkmm_version='2.12.0'
+min_gstreamer_version='0.10.24'
+min_libxmlpp_version='2.14.0'
+
+## The format below is used so that the requirements appear nicely in the .pc
+## file.
+AC_SUBST([GSTREAMERMM_MODULES],
+ ["\
+glibmm-2.4 >= $min_glibmm_version \
+libxml++-2.6 >= $min_libxmlpp_version \
+gstreamer-0.10 >= $min_gstreamer_version \
+gstreamer-base-0.10 >= $min_gstreamer_version \
+gstreamer-controller-0.10 >= $min_gstreamer_version \
+gstreamer-dataprotocol-0.10 >= $min_gstreamer_version \
+gstreamer-net-0.10 >= $min_gstreamer_version \
+gstreamer-plugins-base-0.10 >= $min_gstreamer_version \
+gstreamer-audio-0.10 >= $min_gstreamer_version \
+gstreamer-cdda-0.10 >= $min_gstreamer_version \
+gstreamer-interfaces-0.10 >= $min_gstreamer_version \
+gstreamer-netbuffer-0.10 >= $min_gstreamer_version \
+gstreamer-rtp-0.10 >= $min_gstreamer_version \
+gstreamer-video-0.10 >= $min_gstreamer_version"
])
-AC_OUTPUT()
+PKG_CHECK_MODULES([GSTREAMERMM], [$GSTREAMERMM_MODULES])
+
+MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0])
+MM_PKG_CONFIG_SUBST([GMMPROC_DIR], [--variable=gmmprocdir glibmm-2.4])
+
+MM_ARG_ENABLE_DOCUMENTATION
+MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
+MM_ARG_WITH_TAGFILE_DOC([libsigc++-2.0.tag], [sigc++-2.0])
+MM_ARG_WITH_TAGFILE_DOC([glibmm-2.4.tag], [glibmm-2.4])
+
+AC_LANG([C++])
+MM_ARG_ENABLE_WARNINGS([GSTREAMERMM_WXXFLAGS],
+ [-Wall],
+ [-pedantic -Wall -Wextra],
+ [G GSTREAMER])
+
+AC_CONFIG_FILES([Makefile
+ tools/Makefile
+ tools/generate_gst_wrap_init.pl
+ gstreamer/${GSTREAMERMM_MODULE_NAME}.pc:gstreamer/gstreamermm.pc.in
+ gstreamer/${GSTREAMERMM_MODULE_NAME}-uninstalled.pc:gstreamer/gstreamermm-uninstalled.pc.in
+ gstreamer/src/Makefile
+ gstreamer/gstreamermm/Makefile
+ doc/Makefile
+ doc/reference/Doxyfile])
+AC_OUTPUT
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..bf77f14
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,22 @@
+## Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
+
+include $(top_srcdir)/gstreamer/src/filelist.am
+include $(top_srcdir)/gstreamer/gstreamermm/filelist.am
+
+book_name = $(GSTREAMERMM_MODULE_NAME)
+doc_input = $(addprefix $(top_srcdir)/gstreamer/gstreamermm/,$(files_built_h))
+
+include $(top_srcdir)/build/doc-reference.am
diff --git a/doc/reference/.gitignore b/doc/reference/.gitignore
new file mode 100644
index 0000000..7b009df
--- /dev/null
+++ b/doc/reference/.gitignore
@@ -0,0 +1,5 @@
+/Doxyfile
+/doxygen.log
+/gstreamermm-0.10.devhelp2
+/gstreamermm-0.10.tag
+/html
diff --git a/doc/reference/Doxyfile.in b/doc/reference/Doxyfile.in
new file mode 100644
index 0000000..cdfa426
--- /dev/null
+++ b/doc/reference/Doxyfile.in
@@ -0,0 +1,283 @@
+# Doxyfile 1.5.8
+# @configure_input@
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = @PACKAGE_NAME@
+PROJECT_NUMBER = @PACKAGE_VERSION@
+OUTPUT_DIRECTORY = reference
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = "@abs_top_builddir@/gstreamer/" \
+ "@abs_top_srcdir@/gstreamer/" \
+ "@abs_top_builddir@/" \
+ "@abs_top_srcdir@/"
+STRIP_FROM_INC_PATH = "@abs_top_builddir@/gstreamer/" \
+ "@abs_top_srcdir@/gstreamer/" \
+ "@abs_top_builddir@/" \
+ "@abs_top_srcdir@/"
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = YES
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in @PACKAGE_NAME@ \1.\2\""
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING =
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+TYPEDEF_HIDES_STRUCT = NO
+SYMBOL_CACHE_SIZE = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = YES
+HIDE_IN_BODY_DOCS = YES
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = NO
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_GROUP_NAMES = YES
+SORT_BY_SCOPE_NAME = YES
+GENERATE_TODOLIST = NO
+GENERATE_TESTLIST = NO
+GENERATE_BUGLIST = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 2
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+SHOW_FILES = NO
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE = reference/doxygen.log
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT =
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS =
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS = _* \
+ adaptor_trait \
+ basic_filebuf \
+ basic_streambuf \
+ binary_function \
+ char_traits \
+ internal \
+ pair \
+ unary_function
+EXAMPLE_PATH = "@abs_top_srcdir@/examples"
+EXAMPLE_PATTERNS = *.cc \
+ *.h
+EXAMPLE_RECURSIVE = YES
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET = "@MMDOCTOOLDIR@/doxygen.css"
+HTML_ALIGN_MEMBERS = YES
+HTML_DYNAMIC_SECTIONS = NO
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE =
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 1
+GENERATE_TREEVIEW = NONE
+TREEVIEW_WIDTH = 250
+FORMULA_FONTSIZE = 10
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = NO
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = "@abs_top_builddir@/gstreamer" \
+ "@abs_top_srcdir@/gstreamer"
+INCLUDE_FILE_PATTERNS = *.h
+PREDEFINED = __cplusplus \
+ DOXYGEN_SHOULD_SKIP_THIS \
+ "G_GNUC_CONST=" \
+ "GSTREAMERMM_API=" \
+ GLIBMM_VFUNCS_ENABLED \
+ GLIBMM_PROPERTIES_ENABLED \
+ GLIBMM_EXCEPTIONS_ENABLED \
+ GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+EXPAND_AS_DEFINED = GSTREAMERMM_MAJOR_VERSION \
+ GSTREAMERMM_MINOR_VERSION \
+ GSTREAMERMM_MICRO_VERSION
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = "reference/@GSTREAMERMM_MODULE_NAME tag"
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = NO
+PERL_PATH = @PERL@
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = NO
+HAVE_DOT = YES
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = YES
+INCLUDE_GRAPH = NO
+INCLUDED_BY_GRAPH = NO
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = NO
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = YES
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Options related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
diff --git a/gstreamer/.gitignore b/gstreamer/.gitignore
new file mode 100644
index 0000000..d593c96
--- /dev/null
+++ b/gstreamer/.gitignore
@@ -0,0 +1,6 @@
+/gstreamermmconfig.h
+/gstreamermm-*.pc
+/gstreamermm/gstreamer.cc
+/gstreamermm/gstreamer.h
+/gstreamermm/wrap_init.cc
+/src/.stamps
diff --git a/gstreamer/gstreamermm-uninstalled.pc.in b/gstreamer/gstreamermm-uninstalled.pc.in
new file mode 100644
index 0000000..9972c52
--- /dev/null
+++ b/gstreamer/gstreamermm-uninstalled.pc.in
@@ -0,0 +1,10 @@
+doxytagfile=${pc_top_builddir}/doc/reference/@GSTREAMERMM_MODULE_NAME tag
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: gstreamermm
+Description: C++ binding for GStreamer, not installed
+Version: @GSTREAMERMM_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GSTREAMERMM_MODULES@
+Libs: ${pc_top_builddir}/${pcfiledir}/gstreamermm/libgstreamermm- GSTREAMERMM_API_VERSION@.la
+Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
diff --git a/gstreamer/gstreamermm.pc.in b/gstreamer/gstreamermm.pc.in
new file mode 100644
index 0000000..0549098
--- /dev/null
+++ b/gstreamer/gstreamermm.pc.in
@@ -0,0 +1,19 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+datarootdir= datarootdir@
+datadir= datadir@
+includedir= includedir@
+
+docdir=${datarootdir}/doc/@GSTREAMERMM_MODULE_NAME@
+doxytagfile=${docdir}/reference/@GSTREAMERMM_MODULE_NAME tag
+htmlrefdir=${docdir}/reference/html
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: gstreamermm
+Description: C++ binding for gstreamer
+Version: @GSTREAMERMM_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GSTREAMERMM_MODULES@
+Libs: -L${libdir} -lgstreamermm- GSTREAMERMM_API_VERSION@
+Cflags: -I${includedir}/@GSTREAMERMM_MODULE_NAME@ -I${libdir}/@GSTREAMERMM_MODULE_NAME@/include
diff --git a/gstreamer/gstreamermm/Makefile.am b/gstreamer/gstreamermm/Makefile.am
index fa66f04..323e864 100644
--- a/gstreamer/gstreamermm/Makefile.am
+++ b/gstreamer/gstreamermm/Makefile.am
@@ -1,30 +1,51 @@
-## Copyright (c) 2001
-## The gtkmm development team.
-
-SUBDIRS = private
-
-sublib_name = gstreamermm
-sublib_libname = gstreamermm-0.10
-sublib_libversion = $(LIBGSTREAMERMM_SO_VERSION)
-sublib_namespace = Gst
-sublib_cflags = $(GSTREAMERMM_CFLAGS)
-sublib_topdir = gstreamer
-sublib_win32_dlls_libs =
-
-sublib_files_extra_posix_cc =
-sublib_files_extra_win32_cc =
-sublib_files_extra_general_cc = init.cc miniobject.cc version.cc wrap.cc
-sublib_files_extra_general_deprecated_cc =
-
-sublib_files_extra_posix_h =
-sublib_files_extra_win32_h =
-sublib_files_extra_general_h = init.h miniobject.h version.h wrap.h
-sublib_files_extra_general_deprecated_h =
-
-include $(top_srcdir)/build_shared/Makefile_build.am_fragment
-
-lib_LTLIBRARIES = libgstreamermm-0.10.la
-libgstreamermm_0_10_la_SOURCES = $(files_built_cc) $(files_extra_cc) \
- $(files_all_plugin_built_cc)
-libgstreamermm_0_10_la_LDFLAGS = $(common_ldflags)
-libgstreamermm_0_10_la_LIBADD = $(GSTREAMERMM_LIBS)
+## Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
+
+lib_LTLIBRARIES = libgstreamermm- GSTREAMERMM_API_VERSION@.la
+
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/build/compile-binding.am
+
+stampdir = $(srcdir)/.stamps
+patched_stamps = $(patched_hg:%.hg=$(stampdir)/stamp-%)
+
+BUILT_SOURCES = $(patched_stamps)
+
+generate_gst_wrap_init_in = $(top_builddir)/tools/generate_gst_wrap_init.pl.in
+generate_gst_wrap_init = $(PERL) -- $(top_builddir)/tools/generate_gst_wrap_init.pl
+generate_gst_wrap_init_flags = --namespace=Gst --parent_dir=gstreamermm
+
+gst_wrap_init.cc: $(generate_gst_wrap_init_in) $(files_hg:%=$(srcdir)/../src/%)
+ $(generate_gst_wrap_init) $(generate_gst_wrap_init_flags) \
+ $(files_hg:%=$(srcdir)/../src/%) > $@
+
+$(stampdir):
+ @(test -d $(stampdir) || mkdir $(stampdir))
+
+# This is to patch generated .h files in $(gensrc_destdir) (e.g. taglist.h).
+$(stampdir)/stamp-%: $(stampdir) $(srcdir)/%.h
+ patch -Ns $(srcdir)/$*.h $(srcdir)/$*.h.patch || true
+ rm -f $(srcdir)/$*.h.rej
+ @echo 'timestamp' > $@
+
+local_cppflags = $(binding_includes) $(binding_cppflags) -DGSTREAMERMM_BUILD=1
+
+AM_CPPFLAGS = $(local_cppflags) $(GTHREAD_CFLAGS) $(GSTREAMERMM_CFLAGS)
+AM_CXXFLAGS = $(GSTREAMERMM_WXXFLAGS)
+
+libgstreamermm_ GSTREAMERMM_API_VERSION@_la_SOURCES = $(binding_sources)
+libgstreamermm_ GSTREAMERMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info $(GSTREAMERMM_SO_VERSION)
+libgstreamermm_ GSTREAMERMM_API_VERSION@_la_LIBADD = $(GSTREAMERMM_LIBS)
diff --git a/gstreamer/gstreamermm/filelist.am b/gstreamer/gstreamermm/filelist.am
new file mode 100644
index 0000000..8f07e3d
--- /dev/null
+++ b/gstreamer/gstreamermm/filelist.am
@@ -0,0 +1,8 @@
+## Copyright 2009 The gstreamermm Development Team
+
+files_built_cc = $(files_hg:.hg=.cc)
+files_built_h = $(files_hg:.hg=.h)
+files_built_ph = $(patsubst %.hg,private/%_p.h,$(files_hg))
+files_extra_cc = init.cc gst_wrap_init.cc miniobject.cc version.cc wrap.cc wrap_init.cc
+files_extra_h = init.h gst_wrap_init.h miniobject.h version.h wrap.h wrap_init.h
+files_extra_ph = private/miniobject_p.h
diff --git a/gstreamer/gstreamermm/private/.gitignore b/gstreamer/gstreamermm/private/.gitignore
new file mode 100644
index 0000000..51ad2f7
--- /dev/null
+++ b/gstreamer/gstreamermm/private/.gitignore
@@ -0,0 +1,2 @@
+*_p.h
+!miniobject_p.h
diff --git a/gstreamer/gstreamermmconfig.h.in b/gstreamer/gstreamermmconfig.h.in
index 9a6ef65..9fbb2ca 100644
--- a/gstreamer/gstreamermmconfig.h.in
+++ b/gstreamer/gstreamermmconfig.h.in
@@ -1,12 +1,12 @@
+/* This is part of gstreamermm */
+
#ifndef _GSTREAMERMM_CONFIG_H
#define _GSTREAMERMM_CONFIG_H 1
#include "glibmmconfig.h"
-/* version numbers */
#undef GSTREAMERMM_MAJOR_VERSION
#undef GSTREAMERMM_MINOR_VERSION
#undef GSTREAMERMM_MICRO_VERSION
#endif /* _GSTREAMERMM_CONFIG_H */
-
diff --git a/gstreamer/src/Makefile.am b/gstreamer/src/Makefile.am
index 0c9bcfe..d8edbb4 100644
--- a/gstreamer/src/Makefile.am
+++ b/gstreamer/src/Makefile.am
@@ -1,11 +1,22 @@
-## Copyright (c) 2001
-## The gtkmm development team.
+# Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
-sublib_name = gstreamermm
-sublib_namespace = Gst
-sublib_parentdir = gstreamermm
-files_defs = gst.defs gst_methods.defs gst_signals.defs gst_enums.defs gst_vfuncs.defs gst_others.defs gst_docs.xml gst_docs_override.xml
+binding_name = gstreamermm
+wrap_init_flags = --namespace=Gst --parent_dir=gstreamermm
+codegen_srcdir = $(top_srcdir)/tools
-main_defs = gst
-
-include $(top_srcdir)/build_shared/Makefile_gensrc.am_fragment
+include $(srcdir)/filelist.am
+include $(top_srcdir)/tools/m4/filelist.am
+include $(top_srcdir)/build/generate-binding.am
diff --git a/gstreamer/src/filelist.am b/gstreamer/src/filelist.am
new file mode 100644
index 0000000..86e81df
--- /dev/null
+++ b/gstreamer/src/filelist.am
@@ -0,0 +1,156 @@
+## Copyright 2009 The gstreamermm Development Team
+
+files_defs = \
+ gst.defs \
+ gst_enums.defs \
+ gst_methods.defs \
+ gst_others.defs \
+ gst_signals.defs \
+ gst_vfuncs.defs \
+ gst_docs.xml \
+ gst_docs_override.xml
+
+files_hg = \
+ bin.hg \
+ buffer.hg \
+ bus.hg \
+ caps.hg \
+ childproxy.hg \
+ clock.hg \
+ element.hg \
+ elementfactory.hg \
+ enums.hg \
+ error.hg \
+ event.hg \
+ filter.hg \
+ format.hg \
+ ghostpad.hg \
+ index.hg \
+ indexfactory.hg \
+ interface.hg \
+ iterator.hg \
+ message.hg \
+ object.hg \
+ pad.hg \
+ padtemplate.hg \
+ parse.hg \
+ pipeline.hg \
+ plugin.hg \
+ pluginfeature.hg \
+ preset.hg \
+ query.hg \
+ registry.hg \
+ segment.hg \
+ structure.hg \
+ systemclock.hg \
+ taglist.hg \
+ tagsetter.hg \
+ task.hg \
+ taskpool.hg \
+ urihandler.hg \
+ value.hg \
+ xml.hg \
+ basesink.hg \
+ basesrc.hg \
+ basetransform.hg \
+ pushsrc.hg \
+ audioclock.hg \
+ audiofilter.hg \
+ audiosink.hg \
+ audiosrc.hg \
+ baseaudiosink.hg \
+ baseaudiosrc.hg \
+ cddabasesrc.hg \
+ ringbuffer.hg \
+ videosink.hg \
+ colorbalance.hg \
+ colorbalancechannel.hg \
+ mixer.hg \
+ mixeroptions.hg \
+ mixertrack.hg \
+ navigation.hg \
+ propertyprobe.hg \
+ tuner.hg \
+ tunerchannel.hg \
+ tunernorm.hg \
+ typefind.hg \
+ typefindfactory.hg \
+ videoorientation.hg \
+ xoverlay.hg
+
+files_ccg = $(files_hg:.hg=.ccg)
+
+patched_hg = \
+ taglist.hg
+
+# To add a plugin, add the plugin definition, in the form of
+# "plugin=CppClassName" to the GSTREAMERMM_ALL_PLUGIN_DEFS variable of the
+# configure.ac file. (Where "plugin" is the plugin name as recognized by
+# gst-inspect and "CppClassName" is the desired name of the C++ class.)
+#
+# Also add the target .hg file name to the the variable below. (That must be
+# the same as "CppClassName" - all in lowercase with a .hg extension). Make
+# sure that the order of both lists correspond.
+
+# TODO: Add appsink and appsrc plug-ins to list below if they indeed are
+# plug-ins (see gst-plugins-base docs for details) and when they don't cause
+# gstreamermm initialization errors.
+plugins_hg = \
+ capsfilter.hg \
+ fakesink.hg \
+ fakesrc.hg \
+ fdsink.hg \
+ fdsrc.hg \
+ filesink.hg \
+ filesrc.hg \
+ identity.hg \
+ multiqueue.hg \
+ queue.hg \
+ tee.hg \
+ typefindelement.hg \
+ adder.hg \
+ alsamixer.hg \
+ alsasink.hg \
+ alsasrc.hg \
+ audioconvert.hg \
+ audioresample.hg \
+ audiotestsrc.hg \
+ cdparanoiasrc.hg \
+ clockoverlay.hg \
+ decodebin.hg \
+ decodebin2.hg \
+ ffmpegcolorspace.hg \
+ gdpdepay.hg \
+ gdppay.hg \
+ giosink.hg \
+ giosrc.hg \
+ giostreamsink.hg \
+ giostreamsrc.hg \
+ multifdsink.hg \
+ oggdemux.hg \
+ oggmux.hg \
+ playbin.hg \
+ playbin2.hg \
+ tcpclientsink.hg \
+ tcpclientsrc.hg \
+ tcpserversink.hg \
+ tcpserversrc.hg \
+ textoverlay.hg \
+ textrender.hg \
+ theoradec.hg \
+ theoraenc.hg \
+ theoraparse.hg \
+ timeoverlay.hg \
+ uridecodebin.hg \
+ videorate.hg \
+ videoscale.hg \
+ videotestsrc.hg \
+ volume.hg \
+ vorbisdec.hg \
+ vorbisenc.hg \
+ vorbisparse.hg \
+ vorbistag.hg \
+ ximagesink.hg \
+ xvimagesink.hg
+
+plugins_ccg = $(plugins_hg:.hg=.ccg)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index cab6f1a..c05e697 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,9 +1,58 @@
+## Copyright 2009 The gstreamermm Development Team
+##
+## 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 program. If not, see <http://www.gnu.org/licenses/>.
-include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+AUTOMAKE_OPTIONS = subdir-objects
-SUBDIRS = m4 extra_defs_gen
+include $(srcdir)/m4/filelist.am
-EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
+lib_LTLIBRARIES = extra_defs_gen/libgstreamermm_get_plugin_defs-0.10.la
+extra_defs_gen_libgstreamermm_get_plugin_defs_0_10_la_SOURCES = \
+ extra_defs_gen/get_plugin_defs.cc
+extra_defs_gen_libgstreamermm_get_plugin_defs_0_10_la_LIBADD = \
+ $(GSTREAMERMM_LIBS) -lglibmm_generate_extra_defs-2.4
+defs_includedir = $(includedir)/gstreamermm-0.10/gstreamermm_get_plugin_defs
+defs_include_HEADERS = extra_defs_gen/get_plugin_defs.h
+defs_ldflags = $(no_undefined) -version-info $(LIBGSTREAMERMM_SO_VERSION)
+#TODO: Should these go into $(datadir)/$(PACKAGE_TARNAME)/ instead as in gtkmm?
+plugingen_bindir = $(libdir)/$(GSTREAMERMM_MODULE_NAME)/gen
+plugingen_m4dir = $(plugingen_bindir)/m4
+dist_plugingen_m4_DATA = $(files_codegen_m4:%=m4/%) $(files_plugin_m4:%=m4/%)
+noinst_PROGRAMS = extra_defs_gen/generate_defs_gst
+
+extra_defs_gen_generate_defs_gst_SOURCES = extra_defs_gen/generate_defs_gst.cc
+extra_defs_gen_generate_defs_gst_LDADD = $(GSTREAMERMM_LIBS) \
+ -lglibmm_generate_extra_defs-2.4 \
+ extra_defs_gen/libgstreamermm_get_plugin_defs-0.10.la
+
+# Build and install the generate_plugin_gmmproc_file utility executable so that
+# other gstreamermm modules can also generate plug-ins.
+
+extra_defs_gen_generate_plugin_gmmproc_file_SOURCES = \
+ extra_defs_gen/generate_plugin_gmmproc_file.cc
+extra_defs_gen_generate_plugin_gmmproc_file_LDADD = \
+ extra_defs_gen/libgstreamermm_get_plugin_defs-0.10.la
+extra_defs_gen_generate_plugin_gmmproc_file_PROGRAMS = \
+ extra_defs_gen/generate_plugin_gmmproc_file
+extra_defs_gen_generate_plugin_gmmproc_filedir = $(plugingen_bindir)
+
+AM_CPPFLAGS = -I$(top_builddir) $(GTHREAD_CFLAGS) $(GSTREAMERMM_CFLAGS)
+AM_CXXFLAGS = $(GSTREAMERMM_WXXFLAGS)
+
+# Instruct GNU make to delete the targets of a rule after it failed, in
+# order to avoid the complication of handling that situation manually.
+.DELETE_ON_ERROR:
diff --git a/tools/generate_gst_wrap_init.pl.in b/tools/generate_gst_wrap_init.pl.in
index db060cf..84219d7 100644
--- a/tools/generate_gst_wrap_init.pl.in
+++ b/tools/generate_gst_wrap_init.pl.in
@@ -1,4 +1,4 @@
-#! @PERL_PATH@
+#! @PERL@
#
# @configure_input@
#
diff --git a/tools/m4/class_boxedtype_extra.m4 b/tools/m4/class_boxedtype_extra.m4
index e86cdc9..e4a1949 100644
--- a/tools/m4/class_boxedtype_extra.m4
+++ b/tools/m4/class_boxedtype_extra.m4
@@ -1,4 +1,4 @@
-dnl $Id: class_boxedtype.m4 413 2007-05-14 19:28:31Z murrayc $
+dnl Copyright 2008 The gstreamermm Development Team
dnl
dnl _CLASS_BOXEDTYPE_EXTRA(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)
diff --git a/tools/m4/class_gstminiobject.m4 b/tools/m4/class_gstminiobject.m4
index 16e2181..9668183 100644
--- a/tools/m4/class_gstminiobject.m4
+++ b/tools/m4/class_gstminiobject.m4
@@ -1,3 +1,5 @@
+dnl Copyright 2008 The gstreamermm Development Team
+
define(`_CLASS_GSTMINIOBJECT',`dnl
_PUSH()
dnl
diff --git a/tools/m4/convert.m4 b/tools/m4/convert.m4
index 597b1ae..2345c07 100644
--- a/tools/m4/convert.m4
+++ b/tools/m4/convert.m4
@@ -1,6 +1,8 @@
-include(shared.m4)
+dnl Copyright 2008 The gstreamermm Development Team
+
include(convert_base.m4)
include(convert_glib.m4)
include(convert_gst.m4)
include(class_gstminiobject.m4)
include(class_boxedtype_extra.m4)
+include(shared.m4)
diff --git a/tools/m4/convert_gst.m4 b/tools/m4/convert_gst.m4
index 99ea2b0..9e59f19 100644
--- a/tools/m4/convert_gst.m4
+++ b/tools/m4/convert_gst.m4
@@ -1,4 +1,6 @@
-#Enums
+dnl Copyright 2008 The gstreamermm Development Team
+
+dnl Enums
_CONV_ENUM(Gst,AssocFlags)
_CONV_ENUM(Gst,AutoplugSelectResult)
_CONV_ENUM(Gst,BaseAudioSinkSlaveMethod)
@@ -36,24 +38,24 @@ _CONV_ENUM(Gst,TaskState)
_CONV_ENUM(Gst,TunerChannelFlags)
_CONV_ENUM(Gst,URIType)
-#Glibmm Enums
+dnl Glibmm Enums
_CONV_GLIB_ENUM(ThreadPriority)
-############### gstreamermm Class Conversions ######################
+dnl ############### gstreamermm Class Conversions ######################
-#Buffer
+dnl Buffer
_CONVERSION(`GstBuffer*',`Glib::RefPtr<Gst::Buffer>',`Gst::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::Buffer>&',`GstBuffer*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::Buffer>&',`GstBuffer*', `const_cast<GstBuffer*>($3->gobj())')
_CONVERSION(`const Glib::RefPtr<Gst::Buffer>&',`const GstBuffer*', `$3->gobj()')
_CONVERSION(`Glib::RefPtr<Gst::Buffer>',`GstBuffer*', `$3->gobj()')
-#Bus
+dnl Bus
_CONVERSION(`const Glib::RefPtr<Gst::Bus>&',`GstBus*', `$3->gobj()')
_CONVERSION(`GstBus*',`Glib::RefPtr<Gst::Bus>',`Glib::wrap($3)')
-#Caps
+dnl Caps
_CONVERSION(`GstCaps*',`Glib::RefPtr<Gst::Caps>',`Glib::wrap($3)')
_CONVERSION(`Glib::RefPtr<Gst::Caps>',`GstCaps*',`$3->gobj()')
_CONVERSION(`const Glib::RefPtr<Gst::Caps>&',`GstCaps*', `$3->gobj()')
@@ -61,22 +63,22 @@ _CONVERSION(`const Glib::RefPtr<const Gst::Caps>&',`GstCaps*', `const_cast<$2>($
_CONVERSION(`const Glib::RefPtr<Gst::Caps>&',`const GstCaps*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::Caps>&',`const GstCaps*', `$3->gobj()')
-#Clock
+dnl Clock
_CONVERSION(`GstClock*',`Glib::RefPtr<Gst::Clock>',`Glib::wrap($3)')
_CONVERSION(`GstClock*',`Glib::RefPtr<const Gst::Clock>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::Clock>&',`GstClock*', `$3->gobj()')
_CONVERSION(`const Clock&',`GstClock*',`((GstClock*)(&$3))')
_CONVERSION(`Glib::RefPtr<Gst::Clock>',`GstClock*', `$3->gobj()')
-#ClockID
+dnl ClockID
_CONVERSION(`GstClockID',`Glib::RefPtr<Gst::ClockID>',`Glib::wrap((GstClockEntry*)($3))')
_CONVERSION(`const Glib::RefPtr<Gst::ClockID>&',`GstClockEntry*',`$3->gobj()')
-#ColorBalanceChannel
+dnl ColorBalanceChannel
_CONVERSION(`const Glib::RefPtr<ColorBalanceChannel>&',`GstColorBalanceChannel*',`$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const ColorBalanceChannel>&',`GstColorBalanceChannel*',`const_cast<GstColorBalanceChannel*>($3->gobj())')
-#Element
+dnl Element
_CONVERSION(`Glib::RefPtr<Gst::Element>',`GstElement*', `$3->gobj()')
_CONVERSION(`GstElement*',`Glib::RefPtr<Gst::Element>',`Glib::wrap($3)')
_CONVERSION(`GstElement*',`Glib::RefPtr<const Gst::Element>',`Glib::wrap($3)')
@@ -84,43 +86,43 @@ _CONVERSION(`const Glib::RefPtr<Gst::Element>&',`GstElement*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::Element>&',`GstElement*', `const_cast<GstElement*>($3->gobj())')
_CONVERSION(`State&',`GstState*',`(GstState*)(&$3)')
-#ElementFactory
+dnl ElementFactory
_CONVERSION(`GstElementFactory*',`Glib::RefPtr<Gst::ElementFactory>',`Glib::wrap($3)')
_CONVERSION(`GstElementFactory*',`Glib::RefPtr<const Gst::ElementFactory>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::ElementFactory>&',`GstElementFactory*', `$3->gobj()')
-#Event
+dnl Event
_CONVERSION(`const Glib::RefPtr<Gst::Event>&',`GstEvent*', `Gst::unwrap($3)')
-#Index
+dnl Index
_CONVERSION(`GstIndex*',`Glib::RefPtr<Gst::Index>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::Index>&',`GstIndex*',`$3->gobj()')
_CONVERSION(`Glib::RefPtr<Gst::Index>',`GstIndex*',`$3->gobj()')
-#IndexFactory
+dnl IndexFactory
_CONVERSION(`GstIndexFactory*',`Glib::RefPtr<Gst::IndexFactory>',`Glib::wrap($3)')
-#Iterator
+dnl Iterator
_CONVERSION(`GstIterator*',`Gst::Iterator<Gst::Element>',`Gst::Iterator<Gst::Element>::Iterator($3)')
_CONVERSION(`GstIterator*',`Gst::Iterator<const Gst::Element>',`Gst::Iterator<const Gst::Element>::Iterator($3)')
_CONVERSION(`GstIterator*',`Gst::Iterator<Gst::Pad>',`Gst::Iterator<Gst::Pad>::Iterator($3)')
_CONVERSION(`GstIterator*',`Gst::Iterator<const Gst::Pad>',`Gst::Iterator<const Gst::Pad>::Iterator($3)')
_CONVERSION(`GstIterator*',`Gst::IteratorBasic<const Gst::QueryTypeDefinition>',`Gst::IteratorBasic<const Gst::QueryTypeDefinition>::IteratorBasic($3)')
-#Message
+dnl Message
_CONVERSION(`GstMessage*',`Glib::RefPtr<Gst::Message>',`Gst::Message::wrap($3)')
_CONVERSION(`GstMessage*',`Glib::RefPtr<const Gst::Message>',`Gst::Message::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::Message>&',`GstMessage*', `$3->gobj()')
-#MiniObject
+dnl MiniObject
_CONVERSION(`const Glib::RefPtr<Gst::MiniObject>&',`GstMiniObject*',`$3->gobj()')
-#Mixer
+dnl Mixer
_CONVERSION(`const Glib::RefPtr<Gst::MixerOptions>&',`GstMixerOptions*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::MixerOptions>&',`GstMixerOptions*', `const_cast<$2>($3->gobj())')
_CONVERSION(`const Glib::RefPtr<Gst::MixerTrack>&',`GstMixerTrack*', `$3->gobj()')
-#Gst::Object
+dnl Gst::Object
_CONVERSION(`GstObject*',`Glib::RefPtr<Gst::Object>',`Glib::wrap($3)')
_CONVERSION(`GstObject*',`Glib::RefPtr<const Gst::Object>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::Object>&',`GstObject*',`$3->gobj()')
@@ -128,74 +130,74 @@ _CONVERSION(`Glib::RefPtr<Gst::Object>',`GstObject*',`$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::Object>&',`GstObject*',`const_cast<GstObject*>($3->gobj())')
_CONVERSION(`const Glib::RefPtr<Object>&', `GstObject*', `$3->gobj()')
-#Pad
+dnl Pad
_CONVERSION(`GstPad*',`Glib::RefPtr<Gst::Pad>',`Glib::wrap($3)')
_CONVERSION(`GstPad*',`Glib::RefPtr<const Gst::Pad>',`Glib::wrap($3)')
_CONVERSION(`Glib::RefPtr<Gst::Pad>',`GstPad*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<Gst::Pad>&',`GstPad*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::Pad>&',`GstPad*',`const_cast<GstPad*>($3->gobj())')
-#PadTemplate
+dnl PadTemplate
_CONVERSION(`GstPadTemplate*',`Glib::RefPtr<Gst::PadTemplate>', `Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<const Gst::PadTemplate>&',`GstPadTemplate*',`const_cast<GstPadTemplate*>($3->gobj())')
-#Plugin
+dnl Plugin
_CONVERSION(`const Glib::RefPtr<Gst::Plugin>&',`GstPlugin*',`$3->gobj()')
_CONVERSION(`GstPlugin*',`Glib::RefPtr<Gst::Plugin>',`Glib::wrap($3)')
-#PluginFeature
+dnl PluginFeature
_CONVERSION(`GstPluginFeature*',`Glib::RefPtr<Gst::PluginFeature>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::PluginFeature>&',`GstPluginFeature*',`$3->gobj()')
-#Query
+dnl Query
_CONVERSION(`const Glib::RefPtr<Gst::Query>&',`GstQuery*', `Gst::unwrap($3)')
-#Registry
+dnl Registry
_CONVERSION(`GstRegistry*',`Glib::RefPtr<Gst::Registry>', `Glib::wrap($3)')
-#RingBuffer
+dnl RingBuffer
_CONVERSION(`GstRingBuffer*',`Glib::RefPtr<Gst::RingBuffer>',`Glib::wrap($3)')
_CONVERSION(`Glib::RefPtr<Gst::RingBuffer>',`GstRingBuffer*',`Glib::unwrap($3)')
-#Structure
+dnl Structure
_CONVERSION(`Gst::Structure&',`GstStructure*',`$3.gobj()')
-#TagList
+dnl TagList
_CONVERSION(`const Gst::TagList&',`const GstTagList*',`$3.gobj()')
_CONVERSION(`GstTagList*',`Gst::TagList',`Glib::wrap($3, 0)')
_CONVERSION(`Gst::TagList&',`GstTagList*',`$3.gobj()')
_CONVERSION(`Gst::TagList',`GstTagList*',`$3.gobj()')
-#TaskPool
+dnl TaskPool
_CONVERSION(`const Glib::RefPtr<Gst::TaskPool>&',`GstTaskPool*', `Glib::unwrap($3)')
_CONVERSION(`GstTaskPool*',`Glib::RefPtr<Gst::TaskPool>',`Glib::wrap($3)')
_CONVERSION(`GstTaskPool*',`Glib::RefPtr<const Gst::TaskPool>',`Glib::wrap($3)')
-#TypeFind
+dnl TypeFind
_CONVERSION(`Gst::TypeFind&',`GstTypeFind*',`$3.gobj()')
-############### gstreamermm Interface Conversions ######################
+dnl ############## gstreamermm Interface Conversions ######################
-#TunerChannel
+dnl TunerChannel
_CONVERSION(`GstTunerChannel*',`Glib::RefPtr<Gst::TunerChannel>', `Glib::wrap($3)')
_CONVERSION(`GstTunerChannel*',`Glib::RefPtr<const Gst::TunerChannel>', `Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::TunerChannel>&',`GstTunerChannel*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::TunerChannel>&',`GstTunerChannel*', `const_cast<GstTunerChannel*>($3->gobj())')
_CONVERSION(`Glib::RefPtr<Gst::TunerChannel>', `GstTunerChannel*', `$3->gobj()')
-#TunerNorm
+dnl TunerNorm
_CONVERSION(`GstTunerNorm*',`Glib::RefPtr<Gst::TunerNorm>', `Glib::wrap($3)')
_CONVERSION(`GstTunerNorm*',`Glib::RefPtr<const Gst::TunerNorm>', `Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<Gst::TunerNorm>&',`GstTunerNorm*', `$3->gobj()')
_CONVERSION(`const Glib::RefPtr<const Gst::TunerNorm>&',`GstTunerNorm*', `const_cast<GstTunerNorm*>($3->gobj())')
_CONVERSION(`Glib::RefPtr<Gst::TunerNorm>', `GstTunerNorm*', `$3->gobj()')
-#URIHandler
+dnl URIHandler
_CONVERSION(`const Glib::RefPtr<Gst::URIHandler>&',`GstURIHandler*',`$3->gobj()')
-###################General Conversions############################
+dnl ##################General Conversions############################
-#Basic General Conversions
+dnl Basic General Conversions
_CONVERSION(`gint64&',`gint64*',`&$3')
_CONVERSION(`guint64&',`guint64*',`&$3')
_CONVERSION(`guint*',`guint&',`*$3')
@@ -203,7 +205,7 @@ _CONVERSION(`const guint&',`guint',`$3')
_CONVERSION(`const guint32&',`guint32',`$3')
_CONVERSION(`guint8*&',`guint8**',`&$3')
-#Basic Gstreamermm Conversions
+dnl Basic Gstreamermm Conversions
_CONVERSION(`ClockTime&',`GstClockTime*',`(GstClockTime*)(&$3)')
_CONVERSION(`ClockTimeDiff',`GstClockTimeDiff',`GstClockTimeDiff($3)')
_CONVERSION(`GstClockTimeDiff',`ClockTimeDiff',`ClockTimeDiff($3)')
@@ -217,23 +219,23 @@ _CONVERSION(`GstTagFlag',`TagFlag',`(TagFlag)($3)')
_CONVERSION(`guint64',`ClockTime',`(ClockTime)($3)')
_CONVERSION(`const URIType',`const GstURIType',`(GstURIType)($3)')
-#C++ Conversions
+dnl C++ Conversions
_CONVERSION(`const va_list&',`va_list',`const_cast<va_list&>($3)')
-#Glibmm Conversions
+dnl Glibmm Conversions
_CONVERSION(`GQuark',`Glib::QueryQuark',`Glib::QueryQuark($3)')
_CONVERSION(`const Glib::QueryQuark&',`GQuark',`$3')
_CONVERSION(`Glib::StaticRecMutex&',`GStaticRecMutex*',`$3.gobj()')
_CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`const_cast<const char**>($3.data())')
_CONVERSION(`const Glib::ValueArray&',`GValueArray*',`const_cast<GValueArray*>($3.gobj())')
-#String Conversions
+dnl String Conversions
_CONVERSION(`const std::string&',`const guchar*',`($2)($3.c_str())')
_CONVERSION(`gchar*',`const Glib::ustring&',__GCHARP_TO_USTRING)
_CONVERSION(`const gchar*',`const Glib::ustring&',__GCHARP_TO_USTRING)
_CONVERSION(`Glib::ustring&',`const guchar*', ($2)($3.c_str()))
-#libxml++ Conversions
+dnl libxml++ Conversions
_CONVERSION(`xmlpp::Node*',`xmlNodePtr',`$3->cobj()')
_CONVERSION(`xmlpp::Node*',`GstXmlNodePtr',`$3->cobj()')
_CONVERSION(`xmlpp::Document*',`xmlDocPtr',`$3->cobj()')
diff --git a/tools/m4/filelist.am b/tools/m4/filelist.am
new file mode 100644
index 0000000..5c26d14
--- /dev/null
+++ b/tools/m4/filelist.am
@@ -0,0 +1,6 @@
+## Copyright 2009 The gstreamermm Development Team.
+
+files_codegen_m4 = convert.m4 convert_gst.m4 class_gstminiobject.m4 \
+ class_boxedtype_extra.m4 shared.m4
+
+files_plugin_m4 = plugingen_base.m4 plugingen.m4 plugingen_gstreamermm.m4
diff --git a/tools/m4/plugingen.m4 b/tools/m4/plugingen.m4
index 336671d..fcaaab1 100644
--- a/tools/m4/plugingen.m4
+++ b/tools/m4/plugingen.m4
@@ -1,4 +1,6 @@
-# Other gstreamermm libraries can provide their own ctocpp.m4 file for plug-in
-# generation, maybe also including the same files as this one.
+dnl Copyright 2008 The gstreamermm Development Team
+
+dnl Other gstreamermm libraries can provide their own plugingen.m4 file for
+dnl plug-in generation, maybe also including the same files as this one.
include(plugingen_gstreamermm.m4)
diff --git a/tools/m4/plugingen_base.m4 b/tools/m4/plugingen_base.m4
index 984b32f..e62c013 100644
--- a/tools/m4/plugingen_base.m4
+++ b/tools/m4/plugingen_base.m4
@@ -1,3 +1,5 @@
+dnl Copyright 2008 The gstreamermm Development Team
+
divert(-1)
dnl
dnl Macros to translate from C to C++ types.
diff --git a/tools/m4/plugingen_gstreamermm.m4 b/tools/m4/plugingen_gstreamermm.m4
index c815176..0f5a1d7 100644
--- a/tools/m4/plugingen_gstreamermm.m4
+++ b/tools/m4/plugingen_gstreamermm.m4
@@ -1,21 +1,23 @@
-# Translations from C to C++ types for plug-in generation. See the
-# plugingen_base.m4 file for documentation.
+dnl Copyright 2008 The gstreamermm Development Team
-#Enums
+dnl Translations from C to C++ types for plug-in generation. See the
+dnl plugingen_base.m4 file for documentation.
+
+dnl Enums
_TRANSLATION(`GstFlowReturn',`Gst::FlowReturn',`Gst::FlowReturn',,`<gstreamermm/pad.h>')
_TRANSLATION(`GstFormat',`Gst::Format',`Gst::Format',,`<gstreamermm/format.h>')
_TRANSLATION(`GstTCPProtocol',`Gst::TCPProtocol',`Gst::TCPProtocol',,`<gstreamermm/enums.h>')
_TRANSLATION(`GstAutoplugSelectResult',`Gst::AutoplugSelectResult',`Gst::AutoplugSelectResult',,`<gstreamermm/enums.h>')
-#giomm
+dnl giomm
_TRANSLATION(`GFile*',`Gio::File',`const Glib::RefPtr<Gio::File>&',`Glib::RefPtr<Gio::File>',`<giomm/file.h>')
_TRANSLATION(`GInputStream*',`Gio::InputStream',`const Glib::RefPtr<Gio::InputStream>&',`Glib::RefPtr<Gio::InputStream>',`<giomm/inputstream.h>')
_TRANSLATION(`GOutputStream*',`Gio::OutputStream',`const Glib::RefPtr<Gio::OutputStream>&',`Glib::RefPtr<Gio::OutputStream>',`<giomm/outputstream.h>')
-#glibmm
+dnl glibmm
_TRANSLATION(`GValueArray*',`Glib::ValueArray',`const Glib::ValueArray&',`Glib::ValueArray',`<glibmm/valuearray.h>')
-#gstreamermm
+dnl gstreamermm
_TRANSLATION(`GstBuffer*',`Gst::Buffer',`const Glib::RefPtr<Gst::Buffer>&',`Glib::RefPtr<Gst::Buffer>',`<gstreamermm/buffer.h>')
_TRANSLATION(`GstCaps*',`Gst::Caps',`const Glib::RefPtr<Gst::Caps>&',`Glib::RefPtr<Gst::Caps>',`<gstreamermm/caps.h>')
_TRANSLATION(`GstElement*',`Gst::Element',`const Glib::RefPtr<Gst::Element>&',`Glib::RefPtr<Gst::Element>',`<gstreamermm/element.h>')
@@ -23,7 +25,7 @@ _TRANSLATION(`GstElementFactory*',`Gst::ElementFactory',`const Glib::RefPtr<Gst:
_TRANSLATION(`GstPad*',`Gst::Pad',`const Glib::RefPtr<Gst::Pad>&',`Glib::RefPtr<Gst::Pad>',`<gstreamermm/pad.h>')
_TRANSLATION(`GstTagList*',`Gst::TagList',`const Gst::TagList&',`Gst::TagList',`<gstreamermm/taglist.h>')
-#Interfaces
+dnl Interfaces
_TRANSLATION(`GstColorBalance*',`Gst::ColorBalance',`const Glib::RefPtr<Gst::ColorBalance>&',`Glib::RefPtr<Gst::ColorBalance>',`<gstreamermm/colorbalance.h>')
_TRANSLATION(`GstImplementsInterface*',`Gst::Interface',`const Glib::RefPtr<Gst::Interface>&',`Glib::RefPtr<Gst::Interface>',`<gstreamermm/interface.h>')
_TRANSLATION(`GstMixer*',`Gst::Mixer',`const Glib::RefPtr<Gst::Mixer>&',`Glib::RefPtr<Gst::Mixer>',`<gstreamermm/mixer.h>')
@@ -34,9 +36,9 @@ _TRANSLATION(`GstTagSetter*',`Gst::TagSetter',`const Glib::RefPtr<Gst::TagSetter
_TRANSLATION(`GstURIHandler*',`Gst::URIHandler',`const Glib::RefPtr<Gst::URIHandler>&',`Glib::RefPtr<Gst::URIHandler>',`<gstreamermm/urihandler.h>')
_TRANSLATION(`GstXOverlay*',`Gst::XOverlay',`const Glib::RefPtr<Gst::XOverlay>&',`Glib::RefPtr<Gst::XOverlay>',`<gstreamermm/xoverlay.h>')
-#Wrapped enums:
-#One should be included for each enum wrapped outside of plug-ins so that the
-#generator does not try to generate a _WRAP_ENUM() for it.
+dnl Wrapped enums:
+dnl One should be included for each enum wrapped outside of plug-ins so that
+dnl the generator does not try to generate a _WRAP_ENUM() for it.
_ENUM_IS_WRAPPED(GstActivateMode)
_ENUM_IS_WRAPPED(GstAssocFlags)
_ENUM_IS_WRAPPED(GstAutoplugSelectResult)
diff --git a/tools/m4/shared.m4 b/tools/m4/shared.m4
index 32427b1..3e80e7f 100644
--- a/tools/m4/shared.m4
+++ b/tools/m4/shared.m4
@@ -1,6 +1,9 @@
+dnl Copyright 2008 The gstreamermm Development Team
dnl _IS_GSTREAMERMM_PLUGIN
-dnl Just process it to remove it from the generated file.
-dnl generate_wrap_init.pl will look for this in the original .hg file.
+dnl
+dnl Signals that a generated class is a plug-in. The macro is just processed
+dnl to remove it from the generated file. generate_wrap_init.pl will look for
+dnl this in the original .hg file.
dnl
define(`_IS_GSTREAMERMM_PLUGIN',`')dnl
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]