X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=17c90f0b89fd181ad7bfe33eba5072a963c4d41f;hb=fc282d2a3d0916bb94fb80b36aae008f1e4a9831;hp=d888239182953091b3f5bf6dcfe8d85b008dc1a8;hpb=6c75e6c5e0d5ae128b52437c790c9130acf89a7b;p=platform%2Fupstream%2Fgst-plugins-good.git diff --git a/configure.ac b/configure.ac index d888239..17c90f0 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file dnl initialize autoconf dnl releases only do -Wall, git and prerelease does -Werror too dnl use a three digit version number for releases, and four for git/pre -AC_INIT([GStreamer Good Plug-ins],[1.13.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) +AC_INIT([GStreamer Good Plug-ins],[1.16.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) AG_GST_INIT @@ -30,6 +30,9 @@ AM_MAINTAINER_MODE([enable]) dnl sets host_* variables AC_CANONICAL_HOST +dnl PKG_CONFIG_SYSROOT_DIR is a valid environment variable +m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) + dnl use pretty build output with automake >= 1.11 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])], [AM_DEFAULT_VERBOSITY=1 @@ -43,11 +46,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION", [GStreamer API Version]) AG_GST_LIBTOOL_PREPARE -AS_LIBTOOL(GST, 1300, 0, 1300) +AS_LIBTOOL(GST, 1602, 0, 1602) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.13.0.1 -GSTPB_REQ=1.13.0.1 +GST_REQ=1.16.2 +GSTPB_REQ=1.16.2 dnl *** autotools stuff **** @@ -98,6 +101,12 @@ AG_GST_ARCH dnl Determine endianness AC_C_BIGENDIAN +dnl *** software *** + +dnl check for large file support +dnl affected plugins must include config.h +AC_SYS_LARGEFILE + dnl *** checks for programs *** dnl find a compiler @@ -297,6 +306,27 @@ fi AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") AM_CONDITIONAL(HAVE_GTK_X11, test "x$HAVE_GTK_X11" = "xyes") +AC_ARG_ENABLE(pcmdump, AC_HELP_STRING([--enable-pcmdump], [pcm dump]), + [ + case "${enableval}" in + yes) PCM_DUMP_ENABLE=yes ;; + no) PCM_DUMP_ENABLE=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-pcmdump) ;; + esac + ], + [PCM_DUMP_ENABLE=no]) +AM_CONDITIONAL([PCM_DUMP_ENABLE], [test "x$PCM_DUMP_ENABLE" = "xyes"]) + +if test "x$PCM_DUMP_ENABLE" = "xyes"; then +PKG_CHECK_MODULES(VCONF, vconf) +AC_SUBST(VCONF_CFLAGS) +AC_SUBST(VCONF_LIBS) +fi + +PKG_CHECK_MODULES(GIO, gio-2.0) +AC_SUBST(GIO_CFLAGS) +AC_SUBST(GIO_LIBS) + dnl Check for -Bsymbolic-functions linker flag used to avoid dnl intra-library PLT jumps, if available. AC_ARG_ENABLE(Bsymbolic, @@ -589,18 +619,20 @@ if test x$HAVE_GST_V4L2 = xyes; then fi dnl Allow enabling v4l2 device probing +default_v4l2_probe=no AS_CASE([$host], [*-*linux*], [AS_CASE([$host_cpu], [arm*], [ - enable_v4l2_probe="yes"], + default_v4l2_probe=yes], [aarch64*], [ - enable_v4l2_probe="yes"])]) + default_v4l2_probe=yes])]) AC_ARG_ENABLE( v4l2-probe, AC_HELP_STRING( [--enable-v4l2-probe], - [enable V4L2 plugin to probe devices @<:@default=no@:>@])) + [enable V4L2 plugin to probe devices]), + [], [enable_v4l2_probe=$default_v4l2_probe]) if test "x$enable_v4l2_probe" = "xyes"; then AC_DEFINE(GST_V4L2_ENABLE_PROBE, 1, [Define if Video4Linux probe shall be run at plugin load]) @@ -610,29 +642,55 @@ dnl Check for X11 translit(dnm, m, l) AM_CONDITIONAL(USE_X, true) AG_GST_CHECK_FEATURE(X, [X libraries and plugins], [ximagesrc], [ - PKG_CHECK_MODULES([X], [x11], [ - HAVE_X="yes" + AG_GST_CHECK_X + + if test "x$HAVE_X" = "xyes" + then dnl check for Xfixes - PKG_CHECK_MODULES([XFIXES], [ xfixes ], [ - AC_DEFINE(HAVE_XFIXES, 1, [Defined if Xfixes is available]) - ], [ HAVE_XFIXES="no" ]) + PKG_CHECK_MODULES(XFIXES, xfixes, HAVE_XFIXES="yes", HAVE_XFIXES="no") + if test "x$HAVE_XFIXES" = "xyes" + then + XFIXES_CFLAGS="-DHAVE_XFIXES $XFIXES_CFLAGS" + fi + AC_SUBST(XFIXES_LIBS) + AC_SUBST(XFIXES_CFLAGS) dnl check for Xdamage - PKG_CHECK_MODULES([XDAMAGE], [ xdamage ], [ - AC_DEFINE(HAVE_XDAMAGE, 1, [Defined if Xdamage is available]) - ], [ HAVE_XDAMAGE="no" ]) - - dnl check for X Shm - PKG_CHECK_MODULES([XEXT], [ xext ], [ - AC_CHECK_LIB([Xext], [ XShmAttach ], [ - AC_DEFINE(HAVE_XSHM, 1, [Defined if XShm is available]) - XSHM_LIBS="$XEXT_LIBS" - XSHM_CFLAGS="$XEXT_CFLAGS" - ], [ HAVE_XEXT="no" ] , [ $X_LIBS ]) - ]) - AC_SUBST(XSHM_LIBS) - AC_SUBST(XSHM_CFLAGS) - ], [ HAVE_X="no" ]) + PKG_CHECK_MODULES(XDAMAGE, xdamage, HAVE_XDAMAGE="yes", HAVE_XDAMAGE="no") + if test "x$HAVE_XDAMAGE" = "xyes" + then + XDAMAGE_CFLAGS="-DHAVE_XDAMAGE $XDAMAGE_CFLAGS" + fi + AC_SUBST(XDAMAGE_LIBS) + AC_SUBST(XDAMAGE_CFLAGS) + fi +]) + +dnl FIXME: this should be rolled into the test above, it's just an additional +dnl feature of the ximagesrc plug-in +dnl This is the same as in gst-plugins-base +dnl check for X Shm +translit(dnm, m, l) AM_CONDITIONAL(USE_XSHM, true) +AG_GST_CHECK_FEATURE(XSHM, [X Shared Memory extension], , [ + if test x$HAVE_X = xyes; then + AC_CHECK_LIB(Xext, XShmAttach, + HAVE_XSHM="yes", HAVE_XSHM="no", + $X_LIBS) + if test "x$HAVE_XSHM" = "xyes"; then + XSHM_LIBS="-lXext" + else + dnl On AIX, it is in XextSam instead, but we still need -lXext + AC_CHECK_LIB(XextSam, XShmAttach, + HAVE_XSHM="yes", HAVE_XSHM="no", + $X_LIBS) + if test "x$HAVE_XSHM" = "xyes"; then + XSHM_LIBS="-lXext -lXextSam" + fi + fi + fi +], ,[ + AC_SUBST(HAVE_XSHM) + AC_SUBST(XSHM_LIBS) ]) dnl *** ext plug-ins *** @@ -854,6 +912,109 @@ AG_GST_CHECK_FEATURE(DV1394, [raw1394 and avc1394 library], 1394, [ ]) AM_CONDITIONAL(USE_LIBIEC61883, [ test "x${HAVE_LIBIEC61883}" = xyes ] ) +dnl *** Qt *** +translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true) +AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [ + PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [ + QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core` + QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core` + AC_ARG_WITH([moc], + AS_HELP_STRING([--with-moc], [Set location of qt moc tool]), + [MOC=$withval]) + AC_PATH_PROGS(MOC, [moc-qt5 moc], [moc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) + AC_ARG_WITH([rcc], + AS_HELP_STRING([--with-rcc], [Set location of qt rcc tool]), + [RCC=$withval]) + AC_PATH_PROGS(RCC, [rcc-qt5 rcc], [rcc], ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) + AC_ARG_WITH([uic], + AS_HELP_STRING([--with-uic], [Set location of qt uic tool]), + [UIC=$withval]) + AC_PATH_PROGS(UIC, [uic-qt5 uic], [uic], ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) + if test "x$MOC" = "x" || test "x$UIC" = "x" || test "x$RCC" = "x"; then + AC_MSG_WARN([One of the required qt build programs was not found]) + HAVE_QT="no" + else + HAVE_QT="yes" + HAVE_QT_WINDOWING="no" + QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`" + QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui + AS_IF([test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [ + QT_CFLAGS="$QT_CFLAGS -I$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH" + HAVE_QT_QPA_HEADER="yes" + AC_DEFINE([HAVE_QT_QPA_HEADER], [], [Define if the Qt QPA header is installed]) + ], [AC_MSG_NOTICE([Cannot find QPA])]) + if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1" || test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then + PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [ + AC_DEFINE([HAVE_QT_X11], [], [Define if Qt X11 integration is installed]) + QT_CFLAGS="$QT_CFLAGS $QT_X11_CFLAGS" + QT_LIBS="$QT_LIBS $QT_X11_LIBS" + HAVE_QT_WINDOWING="yes" + ], [AC_MSG_NOTICE([Could not find Qt X11 integration])]) + fi + if test "x$GST_GL_HAVE_WINDOW_WAYLAND" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1" -a "x$HAVE_QT_QPA_HEADER" = "xyes"; then + PKG_CHECK_MODULES(QT_WAYLAND, Qt5WaylandClient, [ + AC_DEFINE([HAVE_QT_WAYLAND], [], + [Define if Qt Wayland integration is installed]) + QT_CFLAGS="$QT_CFLAGS $QT_WAYLAND_CFLAGS" + QT_LIBS="$QT_LIBS $QT_WAYLAND_LIBS" + HAVE_QT_WINDOWING="yes" + ], [AC_MSG_NOTICE([Could not find Qt Wayland integration])]) + fi + if test "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then + if test "x$GST_GL_HAVE_WINDOW_ANDROID" = "x1"; then + PKG_CHECK_MODULES(QT_ANDROID, Qt5AndroidExtras, [ + # c++ on android requires a standard library and there are multiple + # choices. cerbero provides a pkg-config file the describes a choice + # so try to use that. Outside cerbero one has to pass these flags + # manually for the library one is using + PKG_CHECK_MODULES(GNUSTL, gnustl, [ + QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS" + QT_LIBS="$QT_LIBS $GNUSTL_LIBS" + ], [ + AC_MSG_NOTICE([Could not find Standard C++ library])]) + AC_DEFINE([HAVE_QT_ANDROID], [], + [Define if Qt Android integration is installed]) + QT_CFLAGS="$QT_CFLAGS $QT_ANDROID_CFLAGS" + QT_LIBS="$QT_LIBS $QT_ANDROID_LIBS" + HAVE_QT_WINDOWING="yes" + ], [AC_MSG_NOTICE([Could not find Qt Android integration])]) + else + AC_DEFINE([HAVE_QT_EGLFS], [], + [Define if Qt eglfs integration is installed]) + HAVE_QT_WINDOWING="yes" + fi + fi + if test "x$GST_GL_HAVE_WINDOW_COCOA" = "x1" -a "x$GST_GL_HAVE_PLATFORM_CGL" = "x1"; then + PKG_CHECK_MODULES(QT_MAC, Qt5MacExtras, [ + AC_DEFINE([HAVE_QT_MAC], [], + [Define if Qt Mac integration is installed]) + QT_LIBDIR=`$PKG_CONFIG --variable=libdir Qt5Core` + QT_CFLAGS="$QT_CFLAGS $QT_MAC_CFLAGS -F$QT_LIBDIR -framework QtCore -framework QtGui -framework QtQuick -framework QtQml -framework QtMacExtras" + QT_LIBS="$QT_LIBS $QT_MAC_LIBS" + HAVE_QT_WINDOWING="yes" + ], [AC_MSG_NOTICE([Could not find Qt Mac integration])]) + fi + if test "x$GST_GL_HAVE_WINDOW_EAGL" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EAGL" = "x1"; then + if test "x$HAVE_IOS" = "xyes"; then + # iOS doesn't have its own extras package so if we have the core + # modules we are good to go + AC_DEFINE([HAVE_QT_IOS], [], + [Define if Qt iOS integration is installed]) + HAVE_QT_WINDOWING="yes" + fi + fi + if test "x$HAVE_QT_WINDOWING" = "xno"; then + AC_MSG_WARN([Could not find any Qt Windowing integration]) + HAVE_QT="no" + fi + AC_SUBST([QT_CFLAGS]) + AC_SUBST([QT_LIBS]) + fi + ], [ + HAVE_QT="no" + ]) +]) + dnl *** shout2 *** translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true) AG_GST_CHECK_FEATURE(SHOUT2, [Shoutcast/Icecast client library], shout2, [ @@ -940,6 +1101,10 @@ AG_GST_CHECK_FEATURE(VPX, [VPX decoder], vpx, [ AC_DEFINE(HAVE_VPX_1_4, 1, [Defined if the VPX library version is 1.4 or bigger]) ], [true]) + PKG_CHECK_MODULES(VPX_180, vpx >= 1.8.0, [ + AC_DEFINE(HAVE_VPX_1_8, 1, [Defined if the VPX library version is 1.8 or bigger]) + ], [true]) + LIBS="$OLD_LIBS" CFLAGS="$OLD_CFLAGS" fi @@ -1005,6 +1170,7 @@ AM_CONDITIONAL(USE_OSS4, false) AM_CONDITIONAL(USE_OSX_AUDIO, false) AM_CONDITIONAL(USE_OSX_VIDEO, false) AM_CONDITIONAL(USE_PULSE, false) +AM_CONDITIONAL(USE_QT, false) AM_CONDITIONAL(USE_SHOUT2, false) AM_CONDITIONAL(USE_SOUP, false) AM_CONDITIONAL(USE_SPEEX, false) @@ -1014,6 +1180,7 @@ AM_CONDITIONAL(USE_VPX, false) AM_CONDITIONAL(USE_WAVEFORM, false) AM_CONDITIONAL(USE_WAVPACK, false) AM_CONDITIONAL(USE_X, false) +AM_CONDITIONAL(USE_XSHM, false) AM_CONDITIONAL(USE_ZLIB, false) fi dnl of EXT plugins @@ -1159,6 +1326,7 @@ ext/libcaca/Makefile ext/libpng/Makefile ext/mpg123/Makefile ext/pulse/Makefile +ext/qt/Makefile ext/raw1394/Makefile ext/shout2/Makefile ext/soup/Makefile @@ -1187,6 +1355,7 @@ tests/examples/gtk/Makefile tests/examples/jack/Makefile tests/examples/level/Makefile tests/examples/rtp/Makefile +tests/examples/rtsp/Makefile tests/examples/shapewipe/Makefile tests/examples/spectrum/Makefile tests/examples/v4l2/Makefile