X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=3717518597c9804f77020bab3229afe02c427dbb;hb=632431aecbbc75c91526db26d312e3cbfab015d4;hp=861a024a3b98937b5bd28996cc28c1e65bc54303;hpb=4a03af82960852b236824199e2cdff9ef6799218;p=platform%2Fupstream%2Fgstreamer.git diff --git a/configure.ac b/configure.ac index 861a024..3717518 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,14 @@ -AC_PREREQ([2.68]) +AC_PREREQ([2.69]) dnl initialize autoconf dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, git and prerelease does Werror too dnl -AC_INIT([GStreamer],[1.1.4.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) +AC_INIT([GStreamer],[1.5.1.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) AG_GST_INIT dnl initialize automake (we require GNU make) -AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar subdir-objects]) +AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects]) dnl define PACKAGE_VERSION_* variables AS_VERSION @@ -28,10 +28,8 @@ AM_MAINTAINER_MODE([enable]) dnl sets host_* variables AC_CANONICAL_HOST -dnl use pretty build output with automake >= 1.11 -m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])], - [AM_DEFAULT_VERBOSITY=1 - AC_SUBST(AM_DEFAULT_VERBOSITY)]) +dnl use pretty build output by default +AM_SILENT_RULES([yes]) dnl GStreamer versioning, this is mostly informational GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR @@ -64,7 +62,7 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 104, 0, 104) +AS_LIBTOOL(GST, 501, 0, 501) dnl *** autotools stuff **** @@ -134,6 +132,37 @@ AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO], ["${srcdir}/gstreamer.doap"], [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO]) +dnl check for bash completion +AC_ARG_WITH([bash-completion-dir], + AS_HELP_STRING([--with-bash-completion-dir[=PATH]], + [Install the bash auto-completion script in this directory. @<:@default=yes@:>@]), + [], + [with_bash_completion_dir=yes]) + +if test "x$with_bash_completion_dir" = "xyes" +then + extra_args= + + if test "x$prefix" != "xNONE" + then + extra_args="--define-variable=prefix=\"$prefix\"" + fi + + PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], + [BASH_COMPLETION_DIR="`eval pkg-config $extra_args --variable=completionsdir bash-completion`"], + [BASH_COMPLETION_DIR="$datadir/bash-completion/completions"]) + PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], + [BASH_HELPERS_DIR="`eval pkg-config $extra_args --variable=helpersdir bash-completion`"], + [BASH_HELPERS_DIR="$datadir/bash-completion/helpers"]) +else + BASH_COMPLETION_DIR="$with_bash_completion_dir/completions" + BASH_HELPERS_DIR="$with_bash_completion_dir/helpers" +fi + +AC_SUBST([BASH_COMPLETION_DIR]) +AC_SUBST([BASH_HELPERS_DIR]) +AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"]) + dnl build static plugins or not AC_MSG_CHECKING([whether to build static plugins or not]) AC_ARG_ENABLE( @@ -229,6 +258,143 @@ if test "x$USE_POISONING" = xyes; then [Define if we should poison deallocated memory]) fi +dnl PTP support parts +AC_MSG_CHECKING([whether PTP support can be enabled]) +case "$host_os" in + *android*) + dnl Can't run on Android because of permissions + HAVE_PTP=no + ;; + mingw*|pw32*|cygwin*) + dnl Not ported to Windows yet + HAVE_PTP=no + ;; + darwin*) + dnl Can't run on iOS because of permissions + AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_PTP="no", HAVE_PTP="yes", [-]) + ;; + linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*) + HAVE_PTP=yes + ;; + *) + HAVE_PTP=no + ;; +esac +AC_MSG_RESULT([$HAVE_PTP]) + +dnl user/group to change to in gst-ptp-helper +AC_ARG_WITH([ptp-helper-setuid-user], + AS_HELP_STRING([--with-ptp-helper-setuid-user],[User to switch to when installing gst-ptp-helper setuid root]), + [ + if test "x$withval" != "x" + then + AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_USER, "$withval", [PTP helper setuid user]) + fi + ], [] +) + +dnl group/group to change to in gst-ptp-helper +AC_ARG_WITH([ptp-helper-setuid-group], + AS_HELP_STRING([--with-ptp-helper-setuid-group],[Group to switch to when installing gst-ptp-helper setuid root]), + [ + if test "x$withval" != "x" + then + AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_GROUP, "$withval", [PTP helper setuid group]) + fi + ], [] +) + +AC_ARG_WITH( + ptp-helper-permissions, + AC_HELP_STRING( + [--with-ptp-helper-permissions], + [how to gain PTP permissions (none, setuid-root, capabilities, auto)]), + [], + [with_ptp_helper_permissions=auto]) + +gst_ptp_have_cap=no +AG_GST_CHECK_LIBHEADER(CAP, cap, + cap_init, , + sys/capability.h, + CAP_LIBS="-lcap" + AC_SUBST(CAP_LIBS) + gst_ptp_have_cap=yes) + +AC_PATH_PROG([SETCAP], [setcap], [no], [$PATH:/usr/bin:/bin:/usr/sbin:/sbin]) + +if test "x$HAVE_PTP" = "xyes"; then +AC_DEFINE(HAVE_PTP, 1, [PTP support available]) + +AC_MSG_CHECKING([for SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ + #include + #include + ]], + [[ + struct ifreq ifr; + struct ifconf ifc; + ioctl(0, SIOCGIFCONF, &ifc); + ioctl(0, SIOCGIFFLAGS, &ifr); + ioctl(0, SIOCGIFHWADDR, &ifr); + int dummy = ifr.ifr_hwaddr.sa_data[0]; + ]])], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR, 1, [SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR is available]) + ], [ + AC_MSG_RESULT(no) +]) + +AC_MSG_CHECKING([for getifaddrs() and AF_LINK]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ + #include + #include + #include + ]], + [[ + struct ifaddrs *ifaddr; + getifaddrs(&ifaddr); + int dummy = (ifaddr->ifa_flags & IFF_LOOPBACK) && ifaddr->ifa_addr->sa_family != AF_LINK; + ]])], [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_GETIFADDRS_AF_LINK, 1, [getifaddrs() and AF_LINK is available]) + ], [ + AC_MSG_RESULT(no) + ]) + +AC_MSG_CHECKING([how to install gst-ptp-helper]) +if test "x$with_ptp_helper_permissions" = "xauto"; then + if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then + with_ptp_helper_permissions="capabilities" + else + with_ptp_helper_permissions="setuid-root" + fi +fi +AC_MSG_RESULT([$with_ptp_helper_permissions]) + +case "$with_ptp_helper_permissions" in + none) + ;; + setuid-root) + AC_DEFINE(HAVE_PTP_HELPER_SETUID, 1, + [Use setuid-root for permissions in PTP helper]) + ;; + capabilities) + AC_DEFINE(HAVE_PTP_HELPER_CAPABILITIES, 1, + [Use capabilities for permissions in PTP helper]) + ;; + *) + AC_MSG_ERROR(Invalid parameter [$with_ptp_helper_permissions]) + ;; +esac + +fi + +AM_CONDITIONAL(HAVE_PTP, test "x$HAVE_PTP" = "xyes") +AM_CONDITIONAL(HAVE_PTP_HELPER_SETUID, test "x$with_ptp_helper_permissions" = "xsetuid-root") +AM_CONDITIONAL(HAVE_PTP_HELPER_CAPABILITIES, test "x$with_ptp_helper_permissions" = "xcapabilities") + dnl *** checks for platform *** dnl * hardware/architecture * @@ -338,12 +504,29 @@ dnl Check for stdio_ext.f for __fbufsize AC_CHECK_HEADERS([stdio_ext.h], [], [], [AC_INCLUDES_DEFAULT]) dnl check for pthreads -AX_PTHREAD([HAVE_PTHREAD=yes], [HAVE_PTHREAD=no]) -AM_CONDITIONAL(HAVE_PTHREAD, test "x$HAVE_PTHREAD" = "xyes") +dnl without arguments AX_PTHREAD() will do AC_DEFINE(HAVE_PTHREAD) +dnl which later checks use in their test code +AX_PTHREAD() +AM_CONDITIONAL(HAVE_PTHREAD, test "x$ax_pthread_ok" = "xyes") dnl check for sys/prctl for setting thread name on Linux AC_CHECK_HEADERS([sys/prctl.h], [], [], [AC_INCLUDES_DEFAULT]) +dnl check for pthread_setname_np(const char*) +dnl which is present on OS X 10.6, iOS 3.2 and above +AC_MSG_CHECKING(for pthread_setname_np(const char*)) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include ], + [pthread_setname_np("example")])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1, + [Have function pthread_setname_np(const char*)])], + [AC_MSG_RESULT(no)]) + +dnl check for sys/uio.h for writev() +AC_CHECK_HEADERS([sys/uio.h], [], [], [AC_INCLUDES_DEFAULT]) + dnl Check for valgrind.h dnl separate from HAVE_VALGRIND because you can have the program, but not dnl the dev package @@ -416,6 +599,8 @@ AC_MSG_RESULT($have_tm_gmtoff) dnl *** checks for library functions *** +AC_CHECK_FUNCS([strcasestr]) + AC_CHECK_FUNCS([gmtime_r]) AC_CHECK_FUNCS([localtime_r]) AC_CHECK_FUNCS([sigaction]) @@ -758,12 +943,19 @@ AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_INSTALLED, "$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner]) AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED) +dnl ptp helper locations +AS_AC_EXPAND(GST_PTP_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-ptp-helper) +AC_DEFINE_UNQUOTED(GST_PTP_HELPER_INSTALLED, + "$GST_PTP_HELPER_INSTALLED", [location of the installed gst-ptp-helper]) +AC_SUBST(GST_PTP_HELPER_INSTALLED) + dnl things for our internal libcheck (must be called even if building dnl libcheck is disabled because it defines conditionals) AG_GST_CHECK_CHECKS() AC_CONFIG_FILES( Makefile +data/Makefile gst/Makefile gst/gstconfig.h gst/gstversion.h @@ -774,7 +966,7 @@ libs/gst/Makefile libs/gst/base/Makefile libs/gst/check/Makefile libs/gst/check/libcheck/Makefile -libs/gst/check/libcheck/check.h +libs/gst/check/internal-check.h:libs/gst/check/libcheck/check.h.in libs/gst/controller/Makefile libs/gst/helpers/Makefile libs/gst/net/Makefile @@ -790,13 +982,12 @@ tests/examples/adapter/Makefile tests/examples/controller/Makefile tests/examples/stepping/Makefile tests/examples/helloworld/Makefile -tests/examples/launch/Makefile tests/examples/manual/Makefile tests/examples/memory/Makefile -tests/examples/metadata/Makefile -tests/examples/queue/Makefile +tests/examples/netclock/Makefile +tests/examples/ptp/Makefile +tests/examples/streamiddemux/Makefile tests/examples/streams/Makefile -tests/examples/typefind/Makefile tools/Makefile common/Makefile common/m4/Makefile @@ -898,6 +1089,7 @@ Configuration Plugin support : ${enable_plugin} Static plugins : ${enable_static_plugins} Unit testing support : ${BUILD_CHECK} + PTP clock support : ${HAVE_PTP} Debug : ${USE_DEBUG} Profiling : ${USE_PROFILING}