no good reason to require glib 1.3.15 so back to 1.3.12 put version checking for...
[platform/upstream/gstreamer.git] / configure.ac
index 74fb3ca..3e3a3a0 100644 (file)
@@ -1,4 +1,3 @@
-dnl Note: this file is now the main autoconf file
 AC_INIT
 AC_CANONICAL_TARGET([])
 
@@ -92,8 +91,13 @@ AC_MSG_RESULT(no)
 dnl Check for essential libraries first:
 dnl ====================================
 
+dnl === GLib 2 ===
+dnl Minimum required version of GLib2
+GLIB2_REQ="1.3.12"
+AC_SUBST(GLIB2_REQ)
+
 dnl Check for glib2
-PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
+PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,
   HAVE_GLIB2=yes,HAVE_GLIB2=no)
 GLIB_LIBS=$GLIB2_LIBS
 GLIB_CFLAGS=$GLIB2_CFLAGS
@@ -107,17 +111,27 @@ fi
 GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
 AC_SUBST(GST_PKG_DEPS)
   
+dnl === libxml 2 ===
+dnl Minimum required version of libxml2
+LIBXML2_REQ="2.4.0"
+AC_SUBST(LIBXML2_REQ)
+
+dnl check for libxml2
 LIBXML_PKG=', libxml-2.0'
-PKG_CHECK_MODULES(XML, libxml-2.0, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
+PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_REQ, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
 if test "x$HAVE_LIBXML2" = "xyes"; then
   AC_DEFINE(HAVE_LIBXML2)
 else
-  AC_ERROR([Need libxml2 for glib2 builds -- you should be able to do without it -- this needs fixing])
+  AC_MSG_ERROR([Need libxml2 for glib2 builds -- you should be able to do without it -- this needs fixing])
 fi
 AC_SUBST(LIBXML_PKG)
 AC_SUBST(XML_LIBS)
 AC_SUBST(XML_CFLAGS)
 
+GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
+  AC_MSG_ERROR([popt 1.5 or newer is required to build gstreamer. You can
+download the latest version from ftp://people.redhat.com/sopwith/popt/]))
+
 dnl Check for atomic.h
 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
@@ -180,50 +194,7 @@ AC_HELP_STRING([--enable-plugin-builddir][allow tests/demos to use non-installed
 esac], 
 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
 
-AC_ARG_ENABLE(debug,
-AC_HELP_STRING([--disable-debug][disable addition of -g debugging info]),
-[case "${enableval}" in
-  yes) USE_DEBUG=yes ;;
-  no)  USE_DEBUG=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
-esac], 
-[USE_DEBUG=yes]) dnl Default value
-
-AC_ARG_ENABLE(DEBUG,
-AC_HELP_STRING([--disable-DEBUG][disables compilation of debugging messages]),
-[case "${enableval}" in
-  yes) ENABLE_DEBUG=yes ;;
-  no)  ENABLE_DEBUG=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
-esac], 
-[ENABLE_DEBUG=yes]) dnl Default value
-if test x$ENABLE_DEBUG = xyes; then
-  AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
-fi
-
-AC_ARG_ENABLE(INFO,
-AC_HELP_STRING([--disable-INFO][disables compilation of informational messages]),
-[case "${enableval}" in
-  yes) ENABLE_INFO=yes ;;
-  no)  ENABLE_INFO=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
-esac], 
-[ENABLE_INFO=yes]) dnl Default value
-if test x$ENABLE_INFO = xyes; then
-  AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
-fi
-
-AC_ARG_ENABLE(debug-color,
-AC_HELP_STRING([--disable-debug-color][disables color output of DEBUG and INFO output]),
-[case "${enableval}" in
-  yes) ENABLE_DEBUG_COLOR=yes ;;
-  no)  ENABLE_DEBUG_COLOR=no ;;
-  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
-esac], 
-[ENABLE_DEBUG_COLOR=yes]) dnl Default value
-if test "x$ENABLE_DEBUG_COLOR" = xyes; then
-  AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
-fi
+GST_DEBUGINFO
 
 AC_ARG_ENABLE(profiling,
 AC_HELP_STRING([--enable-profiling][adds -pg to compiler commandline, for profiling]),
@@ -358,10 +329,8 @@ PLUGINS_BUILDDIR=`pwd`
 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
 AC_SUBST(PLUGINS_BUILDDIR)
 
-dnl finalize _CFLAGS and _LIBS
-dnl add GLIB and XML if necessary to EXT_*
-GST_EXT_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
-GST_EXT_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS"
+dnl since glib and xml are package deps, there's no need to include their cflags
+dnl in the pkg-config file
 
 dnl for pkg-config
 GST_PKG_CFLAGS=$GST_EXT_CFLAGS
@@ -369,18 +338,23 @@ GST_PKG_LIBS=$GST_EXT_LIBS
 AC_SUBST(GST_PKG_CFLAGS)
 AC_SUBST(GST_PKG_LIBS)
 
+dnl finalize _CFLAGS and _LIBS
+dnl add GLIB and XML if necessary to EXT_*
+GST_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
+GST_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS -lpopt"
+
 dnl Private vars for libgst only
-LIBGST_LIBS="$GST_EXT_LIBS"
-LIBGST_CFLAGS="$GST_EXT_CFLAGS -I\$(top_srcdir)"
+LIBGST_LIBS="$GST_LIBS"
+LIBGST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir) -Wall"
 AC_SUBST(LIBGST_LIBS)
 AC_SUBST(LIBGST_CFLAGS)
 
 dnl Vars for everyone else
 GST_INT_LIBS="\$(top_builddir)/gst/libgstreamer.la"
-GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir) -Wall"
+GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include"
 
-AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS")
-AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS")
+AC_SUBST(GST_CFLAGS, "$LIBGST_CFLAGS $GST_INT_CFLAGS")
+AC_SUBST(GST_LIBS, "$LIBGST_LIBS $GST_INT_LIBS")
 
 AC_CONFIG_SUBDIRS(libs/ext/cothreads)
 
@@ -436,6 +410,7 @@ testsuite/caps/Makefile
 testsuite/cleanup/Makefile
 testsuite/elements/Makefile
 testsuite/plugin/Makefile
+testsuite/dynparams/Makefile
 examples/Makefile
 examples/autoplug/Makefile
 examples/helloworld/Makefile
@@ -463,6 +438,7 @@ docs/plugins/gstreamer-plugins.types
 docs/manual/Makefile
 docs/fwg/Makefile
 docs/xsl/Makefile
+docs/devhelp/Makefile
 stamp.h
 gstreamer.pc
 gstreamer-uninstalled.pc