X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=da8ff11640b1dd006f0c9c800bc1e7ecd2652bdd;hb=c90c7ea286847cfd701a0d4fd7b84561f71d340d;hp=e46e8fdfb658938cac1e15c643cd378a6a37161f;hpb=f2842d1e505ff04daf3ca5ecd7696001f4f43ade;p=platform%2Fupstream%2Fgstreamer.git diff --git a/configure.ac b/configure.ac index e46e8fd..da8ff11 100644 --- a/configure.ac +++ b/configure.ac @@ -1,52 +1,18 @@ dnl Note: this file is now the main autoconf file AC_INIT -AC_CONFIG_SRCDIR([gst/gstobject.h]) - AC_CANONICAL_TARGET([]) -AM_CONFIG_HEADER(config.h) - -GST_VERSION_MAJOR=0 -GST_VERSION_MINOR=3 -GST_VERSION_MICRO=11 - -dnl we use a datestamped release tag during CVS development -GST_VERSION_RELEASE=`date +%Y%m%d` -dnl we use a normal release tag increased manually when releasing -dnl GST_VERSION_RELEASE=1 - -GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO - -PACKAGE=gstreamer -VERSION=$GST_VERSION - -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -AC_DEFINE_UNQUOTED(VERSION, "$VERSION") -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE") -AC_SUBST(GST_VERSION_RELEASE) +dnl when going to/from release please set the nano (fourth number) right ! +AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2, 1) +AM_INIT_AUTOMAKE($PACKAGE,$VERSION) +AS_LIBTOOL(GST, 0, 0, 0, yes) -dnl libtool -GST_CURRENT=2 -GST_REVISION=0 -GST_AGE=0 -GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE +AC_CONFIG_SRCDIR([gst/gst.c]) +AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE($PACKAGE, $VERSION) dnl Add parameters for aclocal dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL) -ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" - -AC_SUBST(GST_VERSION_MAJOR) -AC_SUBST(GST_VERSION_MINOR) -AC_SUBST(GST_VERSION_MICRO) -AC_SUBST(GST_VERSION) - -AC_SUBST(GST_CURRENT) -AC_SUBST(GST_REVISION) -AC_SUBST(GST_AGE) -AC_SUBST(GST_LIBVERSION) +ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS" AM_MAINTAINER_MODE @@ -61,8 +27,6 @@ AC_ISC_POSIX dnl We disable static building for development, for time savings dnl *NOTE*: dnl this line before release, so release does static too dnl AM_DISABLE_STATIC -AC_LIBTOOL_DLOPEN -AM_PROG_LIBTOOL AC_HEADER_STDC([]) @@ -89,112 +53,8 @@ else AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is availabl HAVE_NASM="yes" fi -dnl check for gtk-doc -AC_ARG_WITH(html-dir, AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs])) - -if test "x$with_html_dir" = "x" ; then - HTML_DIR='${datadir}/gst/html' -else - HTML_DIR=$with_html_dir -fi - -AC_SUBST(HTML_DIR) - -AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false) -gtk_doc_min_version=0.6 -if $HAVE_GTK_DOC ; then - gtk_doc_version=`gtkdoc-mkdb --version` - AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version]) - if perl <= "$gtk_doc_min_version") ? 0 : 1); -EOF - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - HAVE_GTK_DOC=false - fi -fi -GTK_DOC_SCANOBJ=gtkdoc-scanobj - -AC_SUBST(HAVE_GTK_DOC) -AC_SUBST(GTK_DOC_SCANOBJ) - -dnl check for docbook tools -AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false) -AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false) -dnl this does not yet work properly, at least on debian -- wingo -HAVE_PDFXMLTEX=false - -dnl check for image conversion tool -AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false) - -dnl The following is a hack: if fig2dev doesn't display an error message -dnl for the desired type, we assume it supports it. -HAVE_FIG2DEV_PNG=false -if test "x$HAVE_FIG2DEV" = "xtrue" ; then - fig2dev_quiet=`fig2dev -L png &1 >/dev/null` - if test "x$fig2dev_quiet" = "x" ; then - HAVE_FIG2DEV_PNG=true - fi -fi -HAVE_FIG2DEV_PDF=false -if test "x$HAVE_FIG2DEV" = "xtrue" ; then - fig2dev_quiet=`fig2dev -L pdf &1 >/dev/null` - if test "x$fig2dev_quiet" = "x" ; then - HAVE_FIG2DEV_PDF=true - fi -fi - - -dnl Set up conditionals for (target) architecture: -dnl ============================================== - -dnl Determine CPU -case "x${target_cpu}" in - xi?86 | k?) HAVE_CPU_I386=yes - AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86]) - dnl FIXME could use some better detection - dnl (ie CPUID) - case "x${target_cpu}" in - xi386 | xi486) ;; - *) AC_DEFINE(HAVE_RDTSC) ;; - esac ;; - xpowerpc) HAVE_CPU_PPC=yes - AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;; - xalpha) HAVE_CPU_ALPHA=yes - AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;; - xarm*) HAVE_CPU_ARM=yes - AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;; - xsparc*) HAVE_CPU_SPARC=yes - AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;; - xmips*) HAVE_CPU_MIPS=yes - AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;; - xhppa*) HAVE_CPU_HPPA=yes - AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;; -esac - -dnl Determine endianness -AC_C_BIGENDIAN - -dnl Check for MMX-capable compiler -AC_MSG_CHECKING(for MMX-capable compiler) -AC_TRY_RUN([ -#include "include/mmx.h" - -main() -{ movq_r2r(mm0, mm1); return 0; } -], -[ -HAVE_LIBMMX="yes" -AC_MSG_RESULT(yes) -], -HAVE_LIBMMX="no" -AC_MSG_RESULT(no) -, -HAVE_LIBMMX="no" -AC_MSG_RESULT(no) -) +GST_DOC() +GST_ARCH() dnl dnl We should really use AC_SYS_LARGEFILE, but the problem is @@ -233,72 +93,26 @@ dnl Check for essential libraries first: dnl ==================================== dnl Check for glib2 -translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true) -GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [ - PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0, - HAVE_GLIB2=yes,HAVE_GLIB2=no) - GLIB_LIBS=$GLIB2_LIBS - GLIB_CFLAGS=$GLIB2_CFLAGS - AC_SUBST(GLIB_LIBS) - AC_SUBST(GLIB_CFLAGS) - # if we've gotten this far, the user has specifically asked that glib2 be - # used. if we have no glib2, that is an error. - if test "x$HAVE_GLIB2" = "xno"; then - AC_MSG_ERROR(no glib2 found) - fi -], disabled, [ - AC_DEFINE(USE_GLIB2) - GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DUSE_GLIB2" -]) -AC_SUBST(USE_GLIB2) - -if test x$USE_GLIB2 = xno; then - GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0" - - dnl Check for glib and gtk - AM_PATH_GLIB(1.2.0,, - AC_MSG_ERROR(Cannot find glib: Is glib-config in path?), - glib gmodule gthread) - AM_PATH_GTK(1.2.0,, - AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?)) - HAVE_GTK=yes - - GLIB_LIBS="$GLIB_LIBS $GTK_LIBS" - GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS" -else - GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0" - - if $HAVE_GTK_DOC; then - AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false) - if $HAVE_GTK_DOC; then - # don't you love undocumented command line options? - GTK_DOC_SCANOBJ="gtkdoc-scangobj --nogtkinit" - else - GTK_DOC_SCANOBJ=false - fi - fi +PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0, + HAVE_GLIB2=yes,HAVE_GLIB2=no) +GLIB_LIBS=$GLIB2_LIBS +GLIB_CFLAGS=$GLIB2_CFLAGS +AC_SUBST(GLIB_LIBS) +AC_SUBST(GLIB_CFLAGS) + +if test "x$HAVE_GLIB2" = "xno"; then + AC_MSG_ERROR([GStreamer requires GLib 2.0 to compile.]) fi +GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0" AC_SUBST(GST_PKG_DEPS) - -dnl Check for libxml -if test x$USE_GLIB2 = xno; then - LIBXML_PKG=', libxml >= 1.8.1' - AC_PATH_PROG(XML_CONFIG, xml-config, no) - if test x$XML_CONFIG = xno; then - AC_MSG_ERROR(Couldn't find $LIBXML_PKG) - fi - XML_LIBS="`xml-config --libs`" - XML_CFLAGS="`xml-config --cflags`" - AC_CHECK_LIB(xml, xmlDocGetRootElement, :, - [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ], - $XML_LIBS) -else - LIBXML_PKG=', libxml-2.0' - PKG_CHECK_MODULES(XML, $LIBXML_PKG, XML_CONFIG=yes, XML_CONFIG=no) - AC_PATH_PROG(XML_CONFIG, xml-config, no) + +LIBXML_PKG=', libxml-2.0' +PKG_CHECK_MODULES(XML, libxml-2.0, HAVE_LIBXML2=yes, HAVE_LIBXML2=no) +if test "x$HAVE_LIBXML2" = "xyes"; then AC_DEFINE(HAVE_LIBXML2) - GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DHAVE_LIBXML2" +else + AC_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) @@ -326,13 +140,20 @@ main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0 ]) fi +dnl ========================================================================== +dnl ============================= gst plugins ================================ +dnl ========================================================================== +GST_PLUGIN_LDFLAGS='-module -avoid-version' +AC_SUBST(GST_PLUGIN_LDFLAGS) dnl ###################################################################### dnl # Check command line parameters, and set shell variables accordingly # dnl ###################################################################### +dnl FIXME: simplify all this down using a few m4 macros + AC_ARG_ENABLE(libmmx, -[ --enable-libmmx use libmmx, if available], +AC_HELP_STRING([--enable-libmmx][use libmmx, if available]), [case "${enableval}" in yes) USE_LIBMMX=$HAVE_LIBMMX ;; no) USE_LIBMMX=no ;; @@ -341,7 +162,7 @@ esac], [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value AC_ARG_ENABLE(atomic, -[ --enable-atomic use atomic reference counting header], +AC_HELP_STRING([--enable-atomic][use atomic reference counting header]), [case "${enableval}" in yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;; noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;; @@ -351,7 +172,7 @@ esac], [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value AC_ARG_ENABLE(plugin-builddir, -[ --enable-plugin-builddir allow tests/demos to use non-installed plugins ], +AC_HELP_STRING([--enable-plugin-builddir][allow tests/demos to use non-installed plugins]), [case "${enableval}" in yes) PLUGINS_USE_BUILDDIR=yes ;; no) PLUGINS_USE_BUILDDIR=no ;; @@ -360,28 +181,28 @@ esac], [PLUGINS_USE_BUILDDIR=no]) dnl Default value AC_ARG_ENABLE(debug, -[ --enable-debug compile with -g debugging info], +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=no]) dnl Default value +[USE_DEBUG=yes]) dnl Default value AC_ARG_ENABLE(DEBUG, -[ --enable-DEBUG compiles in a large number of debugging messages], +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=no]) dnl Default value +[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, -[ --disable-INFO disables compilation of informational messages], +AC_HELP_STRING([--disable-INFO][disables compilation of informational messages]), [case "${enableval}" in yes) ENABLE_INFO=yes ;; no) ENABLE_INFO=no ;; @@ -393,7 +214,7 @@ if test x$ENABLE_INFO = xyes; then fi AC_ARG_ENABLE(debug-color, -[ --disable-debug-color disables color output of DEBUG and INFO output], +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 ;; @@ -405,7 +226,7 @@ if test "x$ENABLE_DEBUG_COLOR" = xyes; then fi AC_ARG_ENABLE(profiling, -[ --enable-profiling adds -pg to compiler commandline, for profiling], +AC_HELP_STRING([--enable-profiling][adds -pg to compiler commandline, for profiling]), [case "${enableval}" in yes) USE_PROFILING=yes ;; no) UES_PROFILING=no ;; @@ -420,7 +241,7 @@ else GST_CONFIG_DIR=/etc/gstreamer fi AC_ARG_WITH(configdir, -[ --with-configdir specify path to use for configdir], +AC_HELP_STRING([--with-configdir][specify path to use for plugin and command completion registries]), [case "${withval}" in yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;; no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;; @@ -428,27 +249,8 @@ AC_ARG_WITH(configdir, esac], [:]) dnl Default value -AC_ARG_ENABLE(docs-build, -[ --enable-docs-build enable building of documentation], -[case "${enableval}" in - yes) if $HAVE_GTK_DOC; then BUILD_DOCS=yes; else AC_MSG_ERROR([you don't have gtk-doc, so don't use --docs-build]); fi; ;; - no) BUILD_DOCS=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;; -esac], -[BUILD_DOCS=no]) dnl Default value - -AC_ARG_ENABLE(plugin-docs, -[ --enable-plugin-docs enable the building of plugin documentation - (this is currently broken, so off by default)], -[case "${enableval}" in - yes) BUILD_PLUGIN_DOCS=yes ;; - no) BUILD_PLUGIN_DOCS=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;; -esac], -[BUILD_PLUGIN_DOCS=no]) dnl Default value - AC_ARG_ENABLE(tests, -[ --disable-tests disable building test apps], +AC_HELP_STRING([--disable-tests][disable building test apps]), [case "${enableval}" in yes) BUILD_TESTS=yes ;; no) BUILD_TESTS=no ;; @@ -457,7 +259,7 @@ esac], [BUILD_TESTS=yes]) dnl Default value AC_ARG_ENABLE(examples, -[ --disable-examples disable building examples], +AC_HELP_STRING([--disable-examples][disable building examples]), [case "${enableval}" in yes) BUILD_EXAMPLES=yes ;; no) BUILD_EXAMPLES=no ;; @@ -468,28 +270,6 @@ esac], dnl Next, check for the optional components: dnl ======================================== - -AC_DEFUN(GST_SUBSYSTEM_DISABLE, -[dnl -dnl Add a subsystem --disable flag and all the necessary symbols and substitions -dnl -AC_ARG_ENABLE(translit([$1], A-Z, a-z), -[ ]builtin(format, --disable-%-17s disable %s, translit([$1], A-Z, a-z), $2), -[ case "${enableval}" in - yes) GST_DISABLE_[$1]=no ;; - no) GST_DISABLE_[$1]=yes ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;; - esac], -[GST_DISABLE_[$1]=no]) dnl Default value -if test x$GST_DISABLE_[$1] = xyes; then - AC_DEFINE(GST_DISABLE_[$1], 1, [Disable $2]) - GST_DISABLE_[$1]_DEFINE=-DGST_DISABLE_[$1] -fi -AM_CONDITIONAL(GST_DISABLE_[$1], test x$GST_DISABLE_[$1] = xyes) -AC_SUBST(GST_DISABLE_[$1]_DEFINE) -GST_SUBSYSTEM_DISABLE_DEFINES="$GST_SUBSYTEM_DISABLE_DEFINES $GST_DISABLE_[$1]_DEFINE" -]) - translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true) GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save]) translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true) @@ -545,29 +325,14 @@ dnl ############################# dnl These should be "USE_*" instead of "HAVE_*", but some packages expect dnl HAVE_ and it is likely to be easier to stick with the old name -AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes") -AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes") -AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes") -AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes") -AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes") -AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes") - AM_CONDITIONAL(HAVE_ATOMIC_H, test "x$USE_ATOMIC_H" = "xyes") AM_CONDITIONAL(EXPERIMENTAL, test "$EXPERIMENTAL" = "$xyes") AM_CONDITIONAL(BROKEN, test "$BROKEN" = "$xyes") AM_CONDITIONAL(HAVE_NASM, test "x$HAVE_NASM" = "xyes") -AM_CONDITIONAL(HAVE_GTK_DOC, $HAVE_GTK_DOC) -AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes") AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes") AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes") -AM_CONDITIONAL(BUILD_PLUGIN_DOCS, test "x$BUILD_PLUGIN_DOCS" = "xyes") -AM_CONDITIONAL(HAVE_PDFXMLTEX, $HAVE_PDFXMLTEX) -AM_CONDITIONAL(HAVE_PDFTOPS, $HAVE_PDFTOPS) -AM_CONDITIONAL(HAVE_XSLTPROC, $HAVE_XSLTPROC) -AM_CONDITIONAL(HAVE_FIG2DEV_PNG, $HAVE_FIG2DEV_PNG) -AM_CONDITIONAL(HAVE_FIG2DEV_PDF, $HAVE_FIG2DEV_PDF) AM_CONDITIONAL(PLUGINS_USE_BUILDDIR, test "x$PLUGINS_USE_BUILDDIR" = "xyes") @@ -612,11 +377,13 @@ AC_SUBST(LIBGST_CFLAGS) dnl Vars for everyone else GST_INT_LIBS="\$(top_builddir)/gst/libgst.la" -GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir)" +GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir) -Wall" AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS") AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS") +dnl AC_CONFIG_SUBDIRS(gst/cothreads) + dnl ################################################## dnl # Prepare informative messages to display at end # dnl ################################################## @@ -631,7 +398,8 @@ This option is for development purposes only: binaries built with it should be used with code in the build tree only. To build an installable version, use ./configure without the --enable-plugin-builddir option. Note that the autogen.sh script supplies the plugin builddir -option automatically - it cannot be used to configure installable builds. +option automatically -- run ./autogen.sh --disable-plugin-buildddir to make +an installable build. " fi @@ -640,10 +408,10 @@ dnl ######################### dnl # Make the output files # dnl ######################### +dnl libs/ext/Makefile AC_OUTPUT( Makefile include/Makefile -m4/Makefile gst/Makefile gst/gstversion.h gst/types/Makefile @@ -665,6 +433,7 @@ testsuite/Makefile testsuite/bytestream/Makefile testsuite/caps/Makefile testsuite/cleanup/Makefile +testsuite/elements/Makefile testsuite/plugin/Makefile examples/Makefile examples/autoplug/Makefile