releasing 0.10.2
[platform/upstream/gstreamer.git] / configure.ac
index 80ef948..85a0823 100644 (file)
@@ -6,7 +6,7 @@ AC_INIT
 
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AS_VERSION(gstreamer, GST_VERSION, 0, 9, 3, 1,
+AS_VERSION(gstreamer, GST_VERSION, 0, 10, 2, 0,
     GST_CVS="no", GST_CVS="yes")
 
 dnl can autoconf find the source ?
@@ -18,6 +18,9 @@ AM_CONFIG_HEADER([config.h])
 dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
 AM_MAINTAINER_MODE
 
+dnl sets host_* variables
+AC_CANONICAL_HOST
+
 dnl initialize automake
 dnl FIXME: this is deprecated use, we should move PACKAGE and VERSION to
 dnl AC_INIT, but then we need to parse the version to pass to AS_VERSION
@@ -26,7 +29,7 @@ AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
 dnl our libraries and install dirs use major.minor as a version
 GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
 dnl we override it here for release candidates for a new series
-# GST_MAJORMINOR=0.9
+GST_MAJORMINOR=0.10
 AC_SUBST(GST_MAJORMINOR)
 
 dnl CURRENT, REVISION, AGE
@@ -34,7 +37,8 @@ dnl - library source changed -> increment REVISION
 dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
 dnl - interfaces added -> increment AGE
 dnl - interfaces removed -> AGE = 0
-AS_LIBTOOL(GST, 7, 0, 0)
+dnl sets GST_LT_LDFLAGS
+AS_LIBTOOL(GST, 2, 0, 2)
 AS_LIBTOOL_TAGS
 AM_PROG_LIBTOOL
 
@@ -46,6 +50,12 @@ AS_AUTOTOOLS_ALTERNATE
 dnl Add parameters for aclocal
 AC_SUBST(ACLOCAL_AMFLAGS, "-I common/m4")
 
+dnl set up gettext
+dnl the version check needs to stay here because autopoint greps for it
+AM_GNU_GETTEXT_VERSION([0.11.5])
+AM_GNU_GETTEXT([external])
+GST_GETTEXT([gstreamer-$GST_MAJORMINOR])
+
 dnl *** check for arguments to configure ***
 
 dnl subsystems - can influence other decisions so needs to be high up
@@ -54,6 +64,14 @@ GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
 AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_GST_DISABLE_DEBUG" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
 AM_CONDITIONAL(GST_DISABLE_LOADSAVE, test "x$GST_DISABLE_LOADSAVE" = "xyes")
+dnl define a substitution to use in docs/gst/gstreamer.types
+if test "x$GST_DISABLE_LOADSAVE" = "xyes"
+then
+  GST_LOADSAVE_DOC_TYPES="%"
+else
+  GST_LOADSAVE_DOC_TYPES=
+fi
+AC_SUBST(GST_LOADSAVE_DOC_TYPES)
 GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
 AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
@@ -62,10 +80,20 @@ GST_CHECK_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
 AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, test "x$GST_DISABLE_ALLOC_TRACE" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
 AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes")
+dnl define a substitution to use in docs/gst/gstreamer.types
+if test "x$GST_DISABLE_REGISTRY" = "xyes"
+then
+  GST_REGISTRY_DOC_TYPES="%"
+else
+  GST_REGISTRY_DOC_TYPES=
+fi
+AC_SUBST(GST_REGISTRY_DOC_TYPES)
 GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
 AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
 AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
+GST_CHECK_SUBSYSTEM_DISABLE(NET,[network distribution])
+AM_CONDITIONAL(GST_DISABLE_NET, test "x$GST_DISABLE_NET" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
 AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
 GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
@@ -76,6 +104,8 @@ GST_ARG_PROFILING
 GST_ARG_VALGRIND
 GST_ARG_GCOV
 
+GST_ARG_EXAMPLES
+
 GST_ARG_WITH_PKG_CONFIG_PATH
 GST_ARG_WITH_PACKAGE_NAME([GStreamer])
 GST_ARG_WITH_PACKAGE_ORIGIN
@@ -131,18 +161,6 @@ else
   AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support.  If you do not agree with this EULA, please press Ctrl-C before the next line is printed.  By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
 fi
 
-AC_ARG_ENABLE(examples,
-  AC_HELP_STRING([--disable-examples], [disable building examples]),
-    [
-      case "${enableval}" in
-        yes) BUILD_EXAMPLES=yes ;;
-        no)  BUILD_EXAMPLES=no ;;
-        *)   AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
-      esac
-    ], 
-    [BUILD_EXAMPLES=yes]) dnl Default value
-AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
-
 dnl poison destroyed objects
 AC_ARG_ENABLE(poisoning,
   AC_HELP_STRING([--enable-poisoning],
@@ -160,13 +178,16 @@ if test "x$USE_POISONING" = xyes; then
     [Define if we should poison deallocated memory])
 fi
 
-dnl *** platform checks ***
+dnl *** checks for platform ***
 
 dnl * hardware/architecture *
 
 dnl common/m4/gst-arch.m4
 dnl check CPU type
 GST_ARCH
+dnl substitution for win32/common/config.h
+HOST_CPU=$host_cpu
+AC_SUBST(HOST_CPU)
 
 dnl common/m4/gst-arch.m4
 dnl check for unaligned access
@@ -179,7 +200,6 @@ else
 fi
 AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)
 
-
 dnl * software *
 
 dnl check for large file support
@@ -244,6 +264,7 @@ AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
 dnl check for documentation tools
 GST_DOCBOOK_CHECK
 GTK_DOC_CHECK([1.3])
+AS_PATH_PYTHON([2.1])
 
 dnl *** checks for libraries ***
 
@@ -262,6 +283,30 @@ AC_CHECK_HEADERS([sys/socket.h], HAVE_SYS_SOCKET_H=yes)
 AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
 AC_CHECK_HEADERS([process.h])
 
+dnl *** checks for types/defines ***
+
+dnl *** checks for structures ***
+
+dnl *** checks for compiler characteristics ***
+
+dnl make sure we can use "inline" from C code
+AC_C_INLINE
+
+OPT_CFLAGS=
+dnl Check for some compiler flags that optimize our code.
+if test "x$GCC" = xyes; then
+  AS_COMPILER_FLAG(-fno-common, OPT_CFLAGS="$OPT_CFLAGS -fno-common")
+fi
+
+dnl FIXME: decide what kind of flag this is, maybe it's not an optimization
+dnl flag
+dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
+dnl symbolic register names in inline asm
+if test x$HAVE_CPU_PPC = xyes ; then
+  AS_COMPILER_FLAG(["-Wa,-mregnames"],
+    [OPT_CFLAGS="$OPT_CFLAGS -Wa,-mregnames"])
+fi
+
 dnl *** checks for library functions ***
 
 AC_CHECK_FUNCS([sigaction])
@@ -278,14 +323,6 @@ dnl check for mmap()
 AC_FUNC_MMAP
 AM_CONDITIONAL(HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" = "xyes")
 
-dnl common/m4/gst-mcsc.m4
-dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
-AC_CHECK_MCSC
-if test "$ac_cv_check_mcsc" = "yes"; then
-  AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, 1,
-                     [defined if we have makecontext ()])
-fi
-
 dnl Check for a way to display the function name in debug output
 GST_CHECK_FUNCTION
 
@@ -308,50 +345,11 @@ AC_CHECK_LIB(dl, dladdr,
              [Defined if we have dladdr ()]))
 CFLAGS="$save_cflags"
 
-dnl *** checks for compiler characteristics ***
-
-dnl make sure we can use "inline" from C code
-AC_C_INLINE
-
-dnl *** TODO: decide where to put ***
-
-dnl set up gettext
-GST_GETTEXT([gstreamer-$GST_MAJORMINOR])
-
-dnl define an ERROR_CFLAGS Makefile variable
-GST_SET_ERROR_CFLAGS($GST_CVS)
-
-dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
-dnl messages printed when running cvs builds
-if test "x$GST_CVS" = "xyes"; then
-  GST_LEVEL_DEFAULT=GST_LEVEL_ERROR
-else
-  GST_LEVEL_DEFAULT=GST_LEVEL_NONE
-fi
-AC_DEFINE_UNQUOTED(GST_LEVEL_DEFAULT, $GST_LEVEL_DEFAULT,
-  [Default errorlevel to use])
-AC_SUBST(GST_LEVEL_DEFAULT)
-
-dnl *** checks for dependency libraries ***
+dnl *** checks for dependancy libraries ***
 
 dnl GLib
 
-dnl Minimum required version of GLib
-GLIB_REQ="2.6"
-AC_SUBST(GLIB_REQ)
-
-dnl Check for glib2 with sugar on top
-PKG_CHECK_MODULES(GLIB,
-    glib-2.0 >= $GLIB_REQ gobject-2.0 gthread-2.0 gmodule-2.0,
-    HAVE_GLIB=yes,
-    HAVE_GLIB=no)
-
-if test "x$HAVE_GLIB" = "xno"; then
-  AC_MSG_ERROR([GStreamer requires GLib >= $GLIB_REQ to compile.])
-fi
-
-dnl for the poor souls who for example have glib in /usr/local
-AS_SCRUB_INCLUDE(GLIB_CFLAGS)
+GST_GLIB_CHECK([2.6])
 
 dnl GLib 2.8 has some bug fixes that we like, so make sure our code knows
 AC_MSG_CHECKING([glib version >= 2.8])
@@ -387,22 +385,7 @@ AM_PATH_CHECK(0.9.2,
     HAVE_CHECK=no)
 AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
 
-OPT_CFLAGS=
-dnl Check for some compiler flags that optimize our code.
-if test "x$GCC" = xyes; then
-  AS_COMPILER_FLAG(-fno-common, OPT_CFLAGS="$OPT_CFLAGS -fno-common")
-fi
-
-dnl FIXME: decide what kind of flag this is, maybe it's not an optimization
-dnl flag
-dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
-dnl symbolic register names in inline asm
-if test x$HAVE_CPU_PPC = xyes ; then
-  AS_COMPILER_FLAG(["-Wa,-mregnames"],
-    [OPT_CFLAGS="$OPT_CFLAGS -Wa,-mregnames"])
-fi
-
-dnl *** FIXME: name this part
+dnl *** set variables based on configure arguments
 
 dnl set license and copyright notice
 GST_LICENSE="LGPL"
@@ -414,25 +397,25 @@ AS_AC_EXPAND(LIBDIR, $libdir)
 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
 
 dnl set location of plugin directory
-AS_AC_EXPAND(PLUGINS_DIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
-AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
-AC_SUBST(PLUGINS_DIR)
-AC_MSG_NOTICE([Using $PLUGINS_DIR as the plugin install location])
-
-dnl plugin directory configure-time variable for use in Makefile.am
-plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
-AC_SUBST(plugindir)
+GST_SET_PLUGINDIR
 
 dnl FIXME: add LIBXML_PKG here
 GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
 AC_SUBST(GST_PKG_DEPS)
 
+dnl define an ERROR_CFLAGS Makefile variable
+GST_SET_ERROR_CFLAGS($GST_CVS)
+
+dnl define correct level for debugging messages
+GST_SET_LEVEL_DEFAULT($GST_CVS)
+
 dnl *** finalize CFLAGS, LDFLAGS, LIBS
 
 dnl Overview:
-dnl GST_OPTION_CFLAGS:  common flags for profiling, debugging, errors, ...
-dnl GST_ALL_*:          flags shared by all built objects
-dnl GST_OBJ_*:          additional flags to link to the core library
+dnl GST_OPTION_CFLAGS:  common cflags for profiling, debugging, errors, ...
+dnl GST_ALL_*:          vars shared by all built objects
+dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
+dnl GST_OBJ_*:          additional vars to link to the core library
 dnl                    include GST_ALL_*
 dnl GST_LT_LDFLAGS:    library versioning of our libraries
 dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
@@ -457,30 +440,36 @@ dnl - XML needs to be added because xmlPtr is used in core
 dnl - src and build dirs need to be added because every piece that gets built
 dnl   will need the GStreamer source and generated headers
 dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols
-dnl       from LibXML
+dnl       from LibXML except for in the core library
 GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir) $GLIB_CFLAGS $XML_CFLAGS \$(GST_OPTION_CFLAGS)"
 dnl FIXME: check if LTLIBINTL is needed everywhere
 dnl I presume it is given that it contains the symbols that _() stuff maps to
 GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL"
-dnl LDFLAGS modifier defining exported symbols from built shared objects
-EXPORT_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
-GST_ALL_LDFLAGS="$EXPORT_LDFLAGS -no-undefined"
+dnl LDFLAGS really should only contain flags, not libs - they get added before
+dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
+GST_ALL_LDFLAGS="-no-undefined"
+
 AC_SUBST(GST_ALL_CFLAGS)
 AC_SUBST(GST_ALL_LIBS)
 AC_SUBST(GST_ALL_LDFLAGS)
 
+dnl GST_LIB_LDFLAGS
+dnl linker flags shared by all libraries
+dnl LDFLAGS modifier defining exported symbols from built libraries
+GST_LIB_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
+AC_SUBST(GST_LIB_LDFLAGS)
+
 dnl GST_OBJ_*
 dnl default vars for all internal objects built on libgstreamer
+dnl includes GST_ALL_*
 GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS)"
 GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la \$(GST_ALL_LIBS)"
-GST_OBJ_LDFLAGS="$GST_LT_LDFLAGS $GST_ALL_LDFLAGS"
 AC_SUBST(GST_OBJ_CFLAGS)
 AC_SUBST(GST_OBJ_LIBS)
-AC_SUBST(GST_OBJ_LDFLAGS)
 
 dnl GST_PLUGIN_LDFLAGS
-dnl LDFLAGS for plugins; include GST_ALL_LDFLAGS
-GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS"
+dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS
+GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
 AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
 
 dnl ##################################################
@@ -491,73 +480,44 @@ PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
                   HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
 AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")
 
-dnl ##################################################
-dnl # Prepare informative messages to display at end #
-dnl ##################################################
-
-infomessages=
-
-dnl *** output files ***
-
-dnl libs/ext/Makefile
-dnl nothing there yet !
 AC_CONFIG_FILES(
 Makefile
 gst/Makefile
 gst/gstconfig.h
 gst/gstversion.h
-gst/base/Makefile
-gst/check/Makefile
-gst/indexers/Makefile
-gst/elements/Makefile
 gst/parse/Makefile
 libs/Makefile
 libs/gst/Makefile
+libs/gst/base/Makefile
+libs/gst/check/Makefile
 libs/gst/controller/Makefile
 libs/gst/dataprotocol/Makefile
+libs/gst/net/Makefile
+plugins/Makefile
+plugins/indexers/Makefile
+plugins/elements/Makefile
 po/Makefile.in
-check/Makefile
 tests/Makefile
-tests/instantiate/Makefile
-tests/muxing/Makefile
-tests/seeking/Makefile
-tests/sched/Makefile
-tests/threadstate/Makefile
-testsuite/Makefile
-testsuite/caps/Makefile
-testsuite/debug/Makefile
-testsuite/dlopen/Makefile
-testsuite/elements/Makefile
-testsuite/indexers/Makefile
-testsuite/parse/Makefile
-testsuite/plugin/Makefile
-testsuite/refcounting/Makefile
-testsuite/states/Makefile
-testsuite/threads/Makefile
-testsuite/trigger/Makefile
-examples/Makefile
-examples/controller/Makefile
-examples/cutter/Makefile
-examples/helloworld/Makefile
-examples/launch/Makefile
-examples/manual/Makefile
-examples/mixer/Makefile
-examples/metadata/Makefile
-examples/pingpong/Makefile
-examples/plugins/Makefile
-examples/pwg/Makefile
-examples/queue/Makefile
-examples/retag/Makefile
-examples/thread/Makefile
-examples/typefind/Makefile
-examples/xml/Makefile
+tests/benchmarks/Makefile
+tests/check/Makefile
+tests/misc/Makefile
+tests/examples/Makefile
+tests/examples/controller/Makefile
+tests/examples/helloworld/Makefile
+tests/examples/launch/Makefile
+tests/examples/metadata/Makefile
+tests/examples/queue/Makefile
+tests/examples/typefind/Makefile
+tests/examples/xml/Makefile
 tools/Makefile
 common/Makefile
 common/m4/Makefile
 docs/Makefile
 docs/faq/Makefile
 docs/gst/Makefile
+docs/gst/gstreamer.types
 docs/libs/Makefile
+docs/plugins/Makefile
 docs/manual/Makefile
 docs/pwg/Makefile
 docs/xsl/Makefile
@@ -575,7 +535,9 @@ pkgconfig/gstreamer-controller.pc
 pkgconfig/gstreamer-controller-uninstalled.pc
 pkgconfig/gstreamer-dataprotocol.pc
 pkgconfig/gstreamer-dataprotocol-uninstalled.pc
+pkgconfig/gstreamer-net.pc
+pkgconfig/gstreamer-net-uninstalled.pc
 gstreamer.spec
 )
-AC_CONFIG_COMMANDS(echo "$infomessages", infomessages="$infomessages")
+
 AC_OUTPUT