summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorOlivier Crête <olivier.crete@collabora.co.uk>2008-04-13 22:34:38 -0400
committerOlivier Crête <olivier.crete@collabora.co.uk>2008-04-13 22:34:38 -0400
commitcff795d7750d29fd00a5e30a636ab82a0c0fb079 (patch)
tree15e786863c72471a47f3ceaf0e1b0a4199a6e717 /common
parentc2ab1de6f6a54b9288730b5d948feb48997aa4d5 (diff)
downloadfarstream-cff795d7750d29fd00a5e30a636ab82a0c0fb079.tar.gz
Import newer common files from gstreamer cvs
Diffstat (limited to 'common')
-rw-r--r--common/gst-autogen.sh24
-rw-r--r--common/gst.supp338
-rw-r--r--common/gtk-doc.mak15
-rw-r--r--common/m4/as-compiler-flag.m435
-rw-r--r--common/m4/gst-arch.m42
-rw-r--r--common/m4/gst-args.m485
-rw-r--r--common/m4/gst-default.m482
-rw-r--r--common/m4/gst-error.m4104
-rw-r--r--common/m4/gst-feature.m431
-rw-r--r--common/m4/gst-glib2.m45
-rw-r--r--common/m4/gst-plugin-docs.m432
-rw-r--r--common/m4/gst-valgrind.m44
12 files changed, 643 insertions, 114 deletions
diff --git a/common/gst-autogen.sh b/common/gst-autogen.sh
index 7b312124..ae60f7e1 100644
--- a/common/gst-autogen.sh
+++ b/common/gst-autogen.sh
@@ -227,31 +227,18 @@ autogen_options ()
echo "+ debug output enabled"
shift
;;
- --prefix=*)
- CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT --prefix=$optarg"
- echo "+ passing --prefix=$optarg to configure"
- shift
- ;;
- --prefix)
- shift
- echo "DEBUG: $1"
- CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT --prefix=$1"
- echo "+ passing --prefix=$1 to configure"
- shift
- ;;
-
-h|--help)
echo "autogen.sh (autogen options) -- (configure options)"
echo "autogen.sh help options: "
echo " --noconfigure don't run the configure script"
echo " --nocheck don't do version checks"
echo " --debug debug the autogen process"
- echo " --prefix will be passed on to configure"
echo
echo " --with-autoconf PATH use autoconf in PATH"
echo " --with-automake PATH use automake in PATH"
echo
- echo "to pass options to configure, put them as arguments after -- "
+ echo "Any argument either not in the above list or after a '--' will be "
+ echo "passed to ./configure."
exit 1
;;
--with-automake=*)
@@ -266,13 +253,12 @@ autogen_options ()
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF"
shift
;;
- --disable*|--enable*|--with*)
- echo "+ passing option $1 to configure"
+ --) shift ; break ;;
+ *)
+ echo "+ passing argument $1 to configure"
CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1"
shift
;;
- --) shift ; break ;;
- *) echo "- ignoring unknown autogen.sh argument $1"; shift ;;
esac
done
diff --git a/common/gst.supp b/common/gst.supp
index ce0daa25..9b2a3a26 100644
--- a/common/gst.supp
+++ b/common/gst.supp
@@ -317,6 +317,321 @@
fun:setup_messaging
}
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+ fun:g_module_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ fun:_dl_sym
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlsym
+ fun:g_module_symbol
+ fun:g_module_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+ fun:g_module_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+ fun:g_module_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+ fun:g_module_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ fun:__libc_dlopen_mode
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ fun:__libc_dlopen_mode
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ fun:__libc_dlopen_mode
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ fun:iconv_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ fun:__libc_dlopen_mode
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ obj:/lib/i686/cmov/libc-2.7.so
+ fun:iconv_open
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+{
+ <suppression for glibc 2.7 on debian>
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/i686/cmov/libdl-2.7.so
+ fun:dlopen
+}
+
+# suppression for a glibc bug:
+# http://valgrind.org/docs/manual/faq.html#faq.exit_errors>
+{
+ <Workaround for a glibc bug>
+ Memcheck:Free
+ fun:free
+ obj:*libc-*.so
+ fun:__libc_freeres
+ fun:*
+ fun:_Exit
+}
+
# valgrind doesn't allow me to specify a suppression for Addr1, Addr2, Addr4
# as Addr*, so 3 copies for that; and then 2 of each for that pesky memcpy
{
@@ -1574,31 +1889,31 @@
<GLib caching the home dir>
Memcheck:Leak
fun:malloc
- obj:/lib/libc-*.so
+ obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
- fun:g_get_any_init_do
+ obj:/usr/lib*/libglib-2.0.so.*
fun:g_get_home_dir
}
{
<GLib caching the user name>
Memcheck:Leak
fun:malloc
- obj:/lib/libc-*.so
+ obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwnam_r
- fun:g_get_any_init_do
+ obj:/usr/lib*/libglib-2.0.so.*
fun:g_get_user_name
}
{
<GLib caching the tmp dir>
Memcheck:Leak
fun:malloc
- obj:/lib/libc-*.so
+ obj:*libc-*.so
fun:__nss_database_lookup
obj:*
obj:*
@@ -1607,6 +1922,19 @@
fun:g_get_tmp_dir
}
+{
+ <GLib caching the host name>
+ Memcheck:Leak
+ fun:malloc
+ obj:*libc-*.so
+ fun:__nss_database_lookup
+ obj:*
+ obj:*
+ fun:getpwnam_r
+ obj:/usr/lib*/libglib-2.0.so.0.*
+ fun:g_get_host_name
+}
+
## Some Fontconfig errors.
{
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index ea203d87..1c9ece12 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -40,7 +40,12 @@ SCANOBJ_FILES = \
.libs/$(DOC_MODULE)-scan.o \
$(DOC_MODULE).signals
-CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
if ENABLE_GTK_DOC
all-local: html-build.stamp
@@ -103,7 +108,7 @@ tmpl.stamp: tmpl-build.stamp
#### xml ####
-### FIXME: make this error out again when docs are fixed for 0.9
+### FIXME: make this error out again when docs are complete
sgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
@echo '*** Building XML ***'
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS) | tee sgml-build.log
@@ -125,6 +130,9 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
cp -pr xml html
cp ../version.entities html
cd html && gtkdoc-mkhtml $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
+ mv html/index.sgml html/index.sgml.bak
+ $(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
+ rm -f html/index.sgml.bak
rm -f html/$(DOC_MAIN_SGML_FILE)
rm -rf html/xml
rm -f html/version.entities
@@ -151,8 +159,7 @@ maintainer-clean-local: clean
distclean-local: clean
rm -f $(DOC_MODULE)-decl-list.txt
rm -f $(DOC_MODULE)-decl.txt
- rm -f $(DOC_MODULE)-undocumented.txt
- rm -f $(DOC_MODULE)-unused.txt
+ rm -f $(REPORT_FILES)
rm -rf tmpl/*.sgml.bak
rm -f $(DOC_MODULE).hierarchy
rm -f *.stamp || true
diff --git a/common/m4/as-compiler-flag.m4 b/common/m4/as-compiler-flag.m4
index aba31b1c..882a4c7f 100644
--- a/common/m4/as-compiler-flag.m4
+++ b/common/m4/as-compiler-flag.m4
@@ -3,8 +3,7 @@ dnl as-compiler-flag.m4 0.1.0
dnl autostars m4 macro for detection of compiler flags
dnl David Schleef <ds@schleef.org>
-
-dnl $Id: as-compiler-flag.m4,v 1.1 2004/06/01 09:33:45 thomasvs Exp $
+dnl Tim-Philipp Müller <tim centricular net>
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given CFLAGS.
@@ -31,3 +30,35 @@ AC_DEFUN([AS_COMPILER_FLAG],
AC_MSG_RESULT([$flag_ok])
])
+dnl AS_CXX_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
+dnl Tries to compile with the given CPPFLAGS.
+dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
+dnl and ACTION-IF-NOT-ACCEPTED otherwise.
+
+AC_DEFUN([AS_CXX_COMPILER_FLAG],
+[
+ AC_REQUIRE([AC_PROG_CXX])
+
+ AC_MSG_CHECKING([to see if c++ compiler understands $1])
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $1"
+
+ AC_LANG_PUSH(C++)
+
+ AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
+ CPPFLAGS="$save_CPPFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+ $2
+ true
+ else
+ $3
+ true
+ fi
+
+ AC_LANG_POP(C++)
+
+ AC_MSG_RESULT([$flag_ok])
+])
+
diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4
index 8a32bd23..6eadaf5c 100644
--- a/common/m4/gst-arch.m4
+++ b/common/m4/gst-arch.m4
@@ -91,7 +91,7 @@ AC_DEFUN([AG_GST_UNALIGNED_ACCESS], [
_AS_ECHO_N([(blacklisted) ])
as_cv_unaligned_access=no
;;
- i?86*|powerpc*|m68k*|cris*)
+ i?86*|x86_64|amd64|powerpc*|m68k*|cris*)
_AS_ECHO_N([(whitelisted) ])
as_cv_unaligned_access=yes
;;
diff --git a/common/m4/gst-args.m4 b/common/m4/gst-args.m4
index a326f96f..56af66a9 100644
--- a/common/m4/gst-args.m4
+++ b/common/m4/gst-args.m4
@@ -12,6 +12,8 @@ dnl AG_GST_ARG_WITH_PACKAGE_NAME
dnl AG_GST_ARG_WITH_PACKAGE_ORIGIN
dnl AG_GST_ARG_WITH_PLUGINS
+dnl AG_GST_CHECK_PLUGIN
+dnl AG_GST_DISABLE_PLUGIN
dnl AG_GST_ARG_ENABLE_EXTERNAL
dnl AG_GST_ARG_ENABLE_EXPERIMENTAL
@@ -60,9 +62,9 @@ AC_DEFUN([AG_GST_ARG_VALGRIND],
esac
],
[USE_VALGRIND="$USE_DEBUG"]) dnl Default value
- VALGRIND_REQ="2.1"
+ VALGRIND_REQ="3.0"
if test "x$USE_VALGRIND" = xyes; then
- PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ,
+ PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ,
USE_VALGRIND="yes",
[
USE_VALGRIND="no"
@@ -211,28 +213,78 @@ AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_ORIGIN],
AC_SUBST(GST_PACKAGE_ORIGIN)
])
-dnl sets GST_PLUGINS_SELECTED to the list given as an argument, or to
-dnl GST_PLUGINS_ALL
+dnl sets WITH_PLUGINS to the list of plug-ins given as an argument
+dnl also clears GST_PLUGINS_ALL and GST_PLUGINS_SELECTED
AC_DEFUN([AG_GST_ARG_WITH_PLUGINS],
[
AC_ARG_WITH(plugins,
AC_HELP_STRING([--with-plugins],
[comma-separated list of dependencyless plug-ins to compile]),
+ [WITH_PLUGINS=$withval],
+ [WITH_PLUGINS=])
+
+ GST_PLUGINS_ALL=""
+ GST_PLUGINS_SELECTED=""
+
+ AC_SUBST(GST_PLUGINS_ALL)
+ AC_SUBST(GST_PLUGINS_SELECTED)
+])
+
+dnl AG_GST_CHECK_PLUGIN(PLUGIN-NAME)
+dnl
+dnl This macro adds the plug-in <PLUGIN-NAME> to GST_PLUGINS_ALL. Then it
+dnl checks if WITH_PLUGINS is empty or the plugin is present in WITH_PLUGINS,
+dnl and if so adds it to GST_PLUGINS_SELECTED. Then it checks if the plugin
+dnl is present in WITHOUT_PLUGINS (ie. was disabled specifically) and if so
+dnl removes it from GST_PLUGINS_SELECTED.
+dnl
+dnl The macro will call AM_CONDITIONAL(USE_PLUGIN_<PLUGIN-NAME>, ...) to allow
+dnl control of what is built in Makefile.ams.
+AC_DEFUN([AG_GST_CHECK_PLUGIN],
+[
+ GST_PLUGINS_ALL="$GST_PLUGINS_ALL [$1]"
+
+ define([pname_def],translit([$1], -a-z, _a-z))
+
+ AC_ARG_ENABLE([$1],
+ AC_HELP_STRING([--disable-[$1]], [disable dependency-less $1 plugin]),
[
- for i in `echo $withval | tr , ' '`; do
- if echo $GST_PLUGINS_ALL | grep $i > /dev/null
- then
- GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
- else
- echo "plug-in $i not recognized, ignoring..."
- fi
- done],
- [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])
+ case "${enableval}" in
+ yes) [gst_use_]pname_def=yes ;;
+ no) [gst_use_]pname_def=no ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-$1]) ;;
+ esac
+ ],
+ [[gst_use_]pname_def=yes]) dnl Default value
+
+ if test x$[gst_use_]pname_def = xno; then
+ AC_MSG_NOTICE(disabling dependency-less plugin $1)
+ WITHOUT_PLUGINS="$WITHOUT_PLUGINS [$1]"
+ fi
+ undefine([pname_def])
+
+ if [[ -z "$WITH_PLUGINS" ]] || echo " [$WITH_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
+ GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED [$1]"
+ fi
+ if echo " [$WITHOUT_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
+ GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
+ fi
+ AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), echo " $GST_PLUGINS_SELECTED " | grep -i " [$1] " > /dev/null)
+])
+
+dnl AG_GST_DISABLE_PLUGIN(PLUGIN-NAME)
+dnl
+dnl This macro disables the plug-in <PLUGIN-NAME> by removing it from
+dnl GST_PLUGINS_SELECTED.
+AC_DEFUN([AG_GST_DISABLE_PLUGIN],
+[
+ GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
+ AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), false)
])
AC_DEFUN([AG_GST_ARG_ENABLE_EXTERNAL],
[
- AG_GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
+ AG_GST_CHECK_FEATURE(EXTERNAL, [building of plug-ins with external deps],,
HAVE_EXTERNAL=yes, enabled,
[
AC_MSG_NOTICE(building external plug-ins)
@@ -249,8 +301,7 @@ dnl experimental plug-ins; stuff that hasn't had the dust settle yet
dnl read 'builds, but might not work'
AC_DEFUN([AG_GST_ARG_ENABLE_EXPERIMENTAL],
[
- AG_GST_CHECK_FEATURE(EXPERIMENTAL,
- [building of experimental plug-ins],,
+ AG_GST_CHECK_FEATURE(EXPERIMENTAL, [building of experimental plug-ins],,
HAVE_EXPERIMENTAL=yes, disabled,
[
AC_MSG_WARN(building experimental plug-ins)
@@ -266,7 +317,7 @@ AC_DEFUN([AG_GST_ARG_ENABLE_EXPERIMENTAL],
dnl broken plug-ins; stuff that doesn't seem to build at the moment
AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN],
[
- AG_GST_CHECK_FEATURE(BROKEN, [enable building of broken plug-ins],,
+ AG_GST_CHECK_FEATURE(BROKEN, [building of broken plug-ins],,
HAVE_BROKEN=yes, disabled,
[
AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches ...])
diff --git a/common/m4/gst-default.m4 b/common/m4/gst-default.m4
index da1a81c9..c5d7cb42 100644
--- a/common/m4/gst-default.m4
+++ b/common/m4/gst-default.m4
@@ -5,7 +5,6 @@ dnl AG_GST_DEFAULT_ELEMENTS
AC_DEFUN([AG_GST_DEFAULT_ELEMENTS],
[
dnl decide on default elements
- dnl FIXME: provide configure-time options for this
dnl FIXME: describe where exactly this gets used
dnl FIXME: decide if it's a problem that this could point to sinks from
dnl depending plugin modules
@@ -26,19 +25,98 @@ AC_DEFUN([AG_GST_DEFAULT_ELEMENTS],
DEFAULT_VIDEOSINK="osxvideosink"
;;
esac
-
+
+ dnl Default audio sink
+ AC_ARG_WITH(default-audiosink,
+ AC_HELP_STRING([--with-default-audiosink], [specify default audio sink]),
+ [
+ case "${withval}" in
+ yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;;
+ no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;;
+ *) DEFAULT_AUDIOSINK="${withval}" ;;
+ esac
+ ],
+ [
+ DEFAULT_AUDIOSINK="$DEFAULT_AUDIOSINK"
+ ] dnl Default value as determined above
+ )
+ AC_MSG_NOTICE(Using $DEFAULT_AUDIOSINK as default audio sink)
AC_SUBST(DEFAULT_AUDIOSINK)
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK, "$DEFAULT_AUDIOSINK",
[Default audio sink])
+
+ dnl Default audio source
+ AC_ARG_WITH(default-audiosrc,
+ AC_HELP_STRING([--with-default-audiosrc], [specify default audio source]),
+ [
+ case "${withval}" in
+ yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;;
+ no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;;
+ *) DEFAULT_AUDIOSRC="${withval}" ;;
+ esac
+ ],
+ [
+ DEFAULT_AUDIOSRC="$DEFAULT_AUDIOSRC"
+ ] dnl Default value as determined above
+ )
+ AC_MSG_NOTICE(Using $DEFAULT_AUDIOSRC as default audio source)
AC_SUBST(DEFAULT_AUDIOSRC)
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC, "$DEFAULT_AUDIOSRC",
[Default audio source])
+
+ dnl Default video sink
+ AC_ARG_WITH(default-videosink,
+ AC_HELP_STRING([--with-default-videosink], [specify default video sink]),
+ [
+ case "${withval}" in
+ yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;;
+ no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;;
+ *) DEFAULT_VIDEOSINK="${withval}" ;;
+ esac
+ ],
+ [
+ DEFAULT_VIDEOSINK="$DEFAULT_VIDEOSINK"
+ ] dnl Default value as determined above
+ )
+ AC_MSG_NOTICE(Using $DEFAULT_VIDEOSINK as default video sink)
AC_SUBST(DEFAULT_VIDEOSINK)
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK, "$DEFAULT_VIDEOSINK",
[Default video sink])
+
+ dnl Default video source
+ AC_ARG_WITH(default-videosrc,
+ AC_HELP_STRING([--with-default-videosrc], [specify default video source]),
+ [
+ case "${withval}" in
+ yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;;
+ no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;;
+ *) DEFAULT_VIDEOSRC="${withval}" ;;
+ esac
+ ],
+ [
+ DEFAULT_VIDEOSRC="$DEFAULT_VIDEOSRC"
+ ] dnl Default value as determined above
+ )
+ AC_MSG_NOTICE(Using $DEFAULT_VIDEOSRC as default video source)
AC_SUBST(DEFAULT_VIDEOSRC)
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC, "$DEFAULT_VIDEOSRC",
[Default video source])
+
+ dnl Default visualizer
+ AC_ARG_WITH(default-visualizer,
+ AC_HELP_STRING([--with-default-visualizer], [specify default visualizer]),
+ [
+ case "${withval}" in
+ yes) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;;
+ no) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;;
+ *) DEFAULT_VISUALIZER="${withval}" ;;
+ esac
+ ],
+ [
+ DEFAULT_AUDIOSINK="$DEFAULT_VISUALIZER"
+ ] dnl Default value as determined above
+ )
+ AC_MSG_NOTICE(Using $DEFAULT_VISUALIZER as default visualizer)
AC_SUBST(DEFAULT_VISUALIZER)
AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER, "$DEFAULT_VISUALIZER",
[Default visualizer])
diff --git a/common/m4/gst-error.m4 b/common/m4/gst-error.m4
index 4c3f12c4..f97f9a6f 100644
--- a/common/m4/gst-error.m4
+++ b/common/m4/gst-error.m4
@@ -1,10 +1,12 @@
-dnl handle various error-related things
+Dnl handle various error-related things
dnl Thomas Vander Stichele <thomas@apestaart.org>
+dnl Tim-Philipp Müller <tim centricular net>
-dnl Last modification: 2005-10-16
+dnl Last modification: 2008-02-18
dnl AG_GST_SET_ERROR_CFLAGS([ADD-WERROR])
+dnl AG_GST_SET_ERROR_CXXFLAGS([ADD-WERROR])
dnl AG_GST_SET_LEVEL_DEFAULT([IS-CVS-VERSION])
@@ -32,21 +34,28 @@ AC_DEFUN([AG_GST_SET_ERROR_CFLAGS],
then
AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="$ERROR_CFLAGS -Werror")
- dnl if -Werror isn't suported
+ dnl if -Werror isn't suported, try -errwarn=%all (Sun Forte case)
if test "x$ERROR_CFLAGS" == "x"
then
- dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED (Sun Forte case)
- dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
- dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
- AS_COMPILER_FLAG([-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED],
- [ERROR_CFLAGS="-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED"])
-
- dnl if this also isn't suported, try only for -errwarn=%all
- if test "x$ERROR_CFLAGS" == "x"
- then
- AS_COMPILER_FLAG(-errwarn=%all,
- ERROR_CFLAGS="-errwarn=%all")
- fi
+ AS_COMPILER_FLAG([-errwarn=%all], [
+ ERROR_CFLAGS="-errwarn=%all"
+ dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,
+ dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH,
+ dnl no%E_MACRO_REDEFINED (Sun Forte case)
+ dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
+ dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
+ dnl "macro redefined" because of gst/gettext.h
+ dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'?
+ for f in 'no%E_EMPTY_DECLARATION' \
+ 'no%E_STATEMENT_NOT_REACHED' \
+ 'no%E_ARGUEMENT_MISMATCH' \
+ 'no%E_MACRO_REDEFINED'
+ do
+ AS_COMPILER_FLAG([-errwarn=%all,$f], [
+ ERROR_CFLAGS="$ERROR_CFLAGS,$f"
+ ])
+ done
+ ])
fi
fi
@@ -54,6 +63,71 @@ AC_DEFUN([AG_GST_SET_ERROR_CFLAGS],
AC_MSG_NOTICE([set ERROR_CFLAGS to $ERROR_CFLAGS])
])
+dnl Sets ERROR_CXXFLAGS to something the compiler will accept.
+dnl AC_SUBST them so they are available in Makefile
+
+dnl -Wall is added if it is supported
+dnl -Werror is added if ADD-WERROR is not "no"
+
+dnl These flags can be overridden at make time:
+dnl make ERROR_CXXFLAGS=
+AC_DEFUN([AG_GST_SET_ERROR_CXXFLAGS],
+[
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_REQUIRE([AS_CXX_COMPILER_FLAG])
+
+
+ dnl if we support -Wall, set it unconditionally
+ AS_CXX_COMPILER_FLAG(-Wall, [
+ ERROR_CXXFLAGS="-Wall"
+ ], [
+ ERROR_CXXFLAGS=""
+ ])
+
+ dnl if asked for, add -Werror if supported
+ if test "x$1" != "xno"
+ then
+ AS_CXX_COMPILER_FLAG(-Werror, werror_supported=yes, werror_supported=no)
+
+ if test "x$werror_supported" = "xyes"; then
+ ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror"
+
+ dnl add exceptions
+ for f in '-Wno-non-virtual-dtor'
+ do
+ AS_CXX_COMPILER_FLAG([$f], ERROR_CXXFLAGS="$ERROR_CXXFLAGS $f")
+ done
+ else
+ dnl if -Werror isn't suported, try -errwarn=%all
+ AS_CXX_COMPILER_FLAG([-errwarn=%all], errwarnall=yes, errwarnall=no)
+ if test "x$errwarnall" = "xyes"; then
+ ERROR_CXXFLAGS="-errwarn=%all"
+ dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,
+ dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH,
+ dnl no%E_MACRO_REDEFINED (Sun Forte case)
+ dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
+ dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
+ dnl "macro redefined" because of gst/gettext.h
+ dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'?
+ dnl FIXME: do any of these work with the c++ compiler? if not, why
+ dnl do we check at all?
+ for f in 'no%E_EMPTY_DECLARATION' \
+ 'no%E_STATEMENT_NOT_REACHED' \
+ 'no%E_ARGUEMENT_MISMATCH' \
+ 'no%E_MACRO_REDEFINED'
+ do
+ AS_CXX_COMPILER_FLAG([-errwarn=%all,$f], [
+ ERROR_CXXFLAGS="$ERROR_CXXFLAGS,$f"
+ ])
+ done
+ fi
+ fi
+ fi
+
+ AC_SUBST(ERROR_CXXFLAGS)
+ AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS])
+])
+
dnl Sets the default error level for debugging messages
AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT],
[
diff --git a/common/m4/gst-feature.m4 b/common/m4/gst-feature.m4
index 510d228d..67770299 100644
--- a/common/m4/gst-feature.m4
+++ b/common/m4/gst-feature.m4
@@ -2,6 +2,7 @@ dnl Perform a check for a feature for GStreamer
dnl Richard Boulton <richard-alsa@tartarus.org>
dnl Thomas Vander Stichele <thomas@apestaart.org> added useful stuff
dnl Last modification: 25/06/2001
+dnl
dnl AG_GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION,
dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE,
dnl DISABLE-BY-DEFAULT, ACTION-IF-USE, ACTION-IF-NOTUSE)
@@ -18,7 +19,7 @@ dnl whether the feature is to be used.
dnl Thomas changed this, so that when USE_<FEATURE-NAME> was already set
dnl to no, then it stays that way.
dnl
-dnl The macro will call AM_CONDITIONAL(USE_<<FEATURE-NAME>, ...) to allow
+dnl The macro will call AM_CONDITIONAL(USE_<FEATURE-NAME>, ...) to allow
dnl the feature to control what is built in Makefile.ams. If you want
dnl additional actions resulting from the test, you can add them with the
dnl ACTION-IF-USE and ACTION-IF-NOTUSE parameters.
@@ -109,7 +110,7 @@ if test x$USE_[$1] = xyes; then
if test "x$3" != "x"; then
GST_PLUGINS_YES="\t[$3]\n$GST_PLUGINS_YES"
fi
- AC_DEFINE(HAVE_[$1], , [support for features: $3])
+ AC_DEFINE(HAVE_[$1], , [Define to enable $2]ifelse($3,,, [ (used by $3)]).)
else
ifelse([$3], , :, [AC_MSG_NOTICE(*** These plugins will not be built: [$3])])
if test "x$3" != "x"; then
@@ -255,31 +256,31 @@ dnl relies on GST_PLUGINS_ALL, GST_PLUGINS_SELECTED, GST_PLUGINS_YES,
dnl GST_PLUGINS_NO, and BUILD_EXTERNAL
AC_DEFUN([AG_GST_OUTPUT_PLUGINS], [
-echo "configure: *** Plug-ins without external dependencies that will be built:"
-( for i in $GST_PLUGINS_SELECTED; do /bin/echo -e '\t'$i; done ) | sort
-echo
+printf "configure: *** Plug-ins without external dependencies that will be built:\n"
+( for i in $GST_PLUGINS_SELECTED; do printf '\t'$i'\n'; done ) | sort
+printf "\n"
-echo "configure: *** Plug-ins without external dependencies that will NOT be built:"
+printf "configure: *** Plug-ins without external dependencies that will NOT be built:\n"
( for i in $GST_PLUGINS_ALL; do
case $GST_PLUGINS_SELECTED in
*$i*)
;;
*)
- /bin/echo -e '\t'$i
+ printf '\t'$i'\n'
;;
esac
done ) | sort
-echo
+printf "\n"
if test "x$BUILD_EXTERNAL" = "xno"; then
- echo "configure: *** No plug-ins with external dependencies will be built"
+ printf "configure: *** No plug-ins with external dependencies will be built\n"
else
- /bin/echo -n "configure: *** Plug-ins with dependencies that will be built:"
- /bin/echo -e "$GST_PLUGINS_YES" | sort
- /bin/echo
- /bin/echo -n "configure: *** Plug-ins with dependencies that will NOT be built:"
- /bin/echo -e "$GST_PLUGINS_NO" | sort
- /bin/echo
+ printf "configure: *** Plug-ins with dependencies that will be built:"
+ printf "$GST_PLUGINS_YES\n" | sort
+ printf "\n"
+ printf "configure: *** Plug-ins with dependencies that will NOT be built:"
+ printf "$GST_PLUGINS_NO\n" | sort
+ printf "\n"
fi
])
diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
index 71e293b2..3060e5ea 100644
--- a/common/m4/gst-glib2.m4
+++ b/common/m4/gst-glib2.m4
@@ -13,9 +13,8 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
AC_SUBST(GLIB_REQ)
dnl Check for glib with everything
- PKG_CHECK_MODULES(GLIB,
- glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-no-export-2.0,
- HAVE_GLIB=yes,HAVE_GLIB=no)
+ AG_GST_PKG_CHECK_MODULES(GLIB,
+ glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-no-export-2.0)
if test "x$HAVE_GLIB" = "xno"; then
AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.])
diff --git a/common/m4/gst-plugin-docs.m4 b/common/m4/gst-plugin-docs.m4
index 29ebbd6d..a2853477 100644
--- a/common/m4/gst-plugin-docs.m4
+++ b/common/m4/gst-plugin-docs.m4
@@ -1,22 +1,3 @@
-dnl AG_GST_PYXML_CHECK([MINIMUM-PYTHON-VERSION])
-
-AC_DEFUN([AG_GST_PYXML_CHECK],
-[
- AC_BEFORE([AS_PATH_PYTHON],[$0])dnl find python first
-
- have_pyxml=no
- if test "x$PYTHON" != x; then
- AC_MSG_CHECKING([pyxml])
- if $PYTHON -c "from xml.dom.ext.reader import Sax2" 2>/dev/null \
- && $PYTHON -c "from xml.dom.NodeFilter import NodeFilter" 2>/dev/null; then
- AC_MSG_RESULT(yes)
- have_pyxml=yes
- else
- AC_MSG_RESULT(no)
- fi
- fi
-])
-
dnl AG_GST_PLUGIN_DOCS([MINIMUM-GTK-DOC-VERSION],[MINIMUM-PYTHON-VERSION])
dnl
dnl checks for prerequisites for the common/mangle-tmpl.py script
@@ -25,20 +6,13 @@ dnl used when building the plugin documentation
AC_DEFUN([AG_GST_PLUGIN_DOCS],
[
AC_BEFORE([GTK_DOC_CHECK],[$0])dnl check for gtk-doc first
-
- if test x$enable_gtk_doc = xyes -a x$have_gtk_doc = xyes; then
- AG_GST_PYXML_CHECK([$1])
- fi
+ AC_BEFORE([AS_PATH_PYTHON],[$1])dnl find python first
build_plugin_docs=no
AC_MSG_CHECKING([whether to build plugin documentation])
if test x$enable_gtk_doc = xyes -a x$have_gtk_doc = xyes; then
- if test "x$have_pyxml" != xyes; then
- AC_MSG_RESULT([no (pyxml not installed)])
- else
- build_plugin_docs=yes
- AC_MSG_RESULT([yes])
- fi
+ build_plugin_docs=yes
+ AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no (gtk-doc disabled or not available)])
fi
diff --git a/common/m4/gst-valgrind.m4 b/common/m4/gst-valgrind.m4
index 93c26357..eddedb35 100644
--- a/common/m4/gst-valgrind.m4
+++ b/common/m4/gst-valgrind.m4
@@ -13,9 +13,9 @@ AC_DEFUN([AG_GST_VALGRIND_CHECK],
USE_VALGRIND="$USE_DEBUG"
]) dnl Default value
- VALGRIND_REQ="2.1"
+ VALGRIND_REQ="3.0"
if test "x$USE_VALGRIND" = xyes; then
- PKG_CHECK_MODULES(VALGRIND, valgrind > $VALGRIND_REQ,
+ PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ,
USE_VALGRIND="yes",
[
USE_VALGRIND="no"