X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=05e3337815b248871a305cc5db639e19cf4e2bdb;hb=dac5966da6a0f53d0443dfa1ac239289028c415d;hp=17f0d59192693d15d33287ebae8a292ba891444b;hpb=81a69d956d03eb2709c64f1f077da273d4f8d0ba;p=platform%2Fupstream%2Fgstreamer.git diff --git a/configure.ac b/configure.ac index 17f0d59..05e3337 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ 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.11.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) +AC_INIT([GStreamer],[1.16.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) AG_GST_INIT dnl initialize automake (we require GNU make) @@ -62,7 +62,7 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 1100, 0, 1100) +AS_LIBTOOL(GST, 1601, 0, 1601) dnl *** autotools stuff **** @@ -89,6 +89,10 @@ AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem]) AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes") AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_TRACER_HOOKS,[tracing subsystem hooks]) AM_CONDITIONAL(GST_DISABLE_GST_TRACER_HOOKS, test "x$GST_DISABLE_GST_TRACER_HOOKS" = "xyes") +if test "x$GST_DISABLE_GST_TRACER_HOOKS" = xyes; then + AC_DEFINE(GST_DISABLE_GST_TRACER_HOOKS, 1, + [Define if tracing subsystem hooks is disabled]) +fi AG_GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser]) AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes") if test "x$GST_DISABLE_PARSE" = xyes; then @@ -114,6 +118,16 @@ AC_SUBST(GST_REGISTRY_DOC_TYPES) AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin]) AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes") +GST_DISABLE_CAST_CHECKS_DEFINE=0 +AC_SUBST(GST_DISABLE_CAST_CHECKS_DEFINE) + +GST_DISABLE_GLIB_ASSERTS_DEFINE=0 +AC_SUBST(GST_DISABLE_GLIB_ASSERTS_DEFINE) + +GST_DISABLE_GLIB_CHECKS_DEFINE=0 +AC_SUBST(GST_DISABLE_GLIB_CHECKS_DEFINE) + + AG_GST_ARG_DEBUG AG_GST_ARG_PROFILING AG_GST_ARG_VALGRIND @@ -153,11 +167,14 @@ then 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"]) + [ + BASH_COMPLETION_DIR="`eval pkg-config $extra_args --variable=completionsdir bash-completion`" + BASH_HELPERS_DIR="`eval pkg-config $extra_args --variable=helpersdir bash-completion`" + ], + [ + BASH_COMPLETION_DIR="$datadir/bash-completion/completions" + BASH_HELPERS_DIR="$datadir/bash-completion/helpers" + ]) else BASH_COMPLETION_DIR="$with_bash_completion_dir/completions" BASH_HELPERS_DIR="$with_bash_completion_dir/helpers" @@ -167,28 +184,6 @@ 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( - static-plugins, - AC_HELP_STRING( - [--enable-static-plugins], - [build static plugins @<:@default=no@:>@]), - [AS_CASE( - [$enableval], [no], [], [yes], [], - [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])], - [enable_static_plugins=no]) -AC_MSG_RESULT([$enable_static_plugins]) -if test "x$enable_static_plugins" = xyes; then - AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1, - [Define if static plugins should be built]) - GST_PLUGIN_LIBTOOLFLAGS="" -else - GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static" -fi -AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS) -AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes") - dnl If only building static libraries, define GST_STATIC_COMPILATION. This is dnl needed only on Windows, but it doesn't hurt to have it everywhere. if test x$enable_static = xyes -a x$enable_shared = xno; then @@ -262,7 +257,7 @@ AC_ARG_ENABLE(poisoning, *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;; esac ], - [USE_POISONING=no]) dnl Default value + [USE_POISONING=$GST_GIT]) dnl Default value if test "x$USE_POISONING" = xyes; then AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory]) @@ -412,9 +407,6 @@ dnl * hardware/architecture * dnl common/m4/gst-arch.m4 dnl check CPU type AG_GST_ARCH -dnl substitution for win32/common/config.h -HOST_CPU=$host_cpu -AC_SUBST(HOST_CPU) dnl check for platform specific settings AG_GST_PLATFORM @@ -466,7 +458,6 @@ dnl check for gobject-introspection GOBJECT_INTROSPECTION_CHECK([1.31.1]) dnl check for documentation tools -AG_GST_DOCBOOK_CHECK GTK_DOC_CHECK([1.12]) AG_GST_PLUGIN_DOCS([1.12]) @@ -662,12 +653,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ [broken_poll="no (cross compiling)"]) AC_MSG_RESULT($broken_poll) -dnl check for mmap() -AC_FUNC_MMAP -AM_CONDITIONAL(HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" = "xyes") - -dnl check for posix_memalign(), getpagesize() -AC_CHECK_FUNCS([posix_memalign]) +dnl check for getpagesize() AC_CHECK_FUNCS([getpagesize]) dnl Check for POSIX timers @@ -827,7 +813,46 @@ fi AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") dnl libunwind is optionally used by the leaks tracer -PKG_CHECK_MODULES(UNWIND, libunwind, HAVE_UNWIND=yes, HAVE_UNWIND=no) +AC_ARG_WITH([unwind],[AS_HELP_STRING([--with-unwind=yes|no|auto],[use libunwind])], + [], [with_unwind=auto]) +if [ test "x${with_unwind}" != "xno" ]; then + PKG_CHECK_MODULES(UNWIND, [libunwind], + [ + HAVE_UNWIND=yes + AC_DEFINE(HAVE_UNWIND, 1, [libunwind available]) + UNWIND_REQUIRE=libunwind + AC_SUBST(UNWIND_REQUIRE) + ], + [ + HAVE_UNWIND=no + if [ test "x${with_unwind}" = "xyes" ]; then + AC_MSG_ERROR([could not find libunwind]) + fi + ]) +else + HAVE_UNWIND=no +fi + +dnl libdw is optionally used to add source lines and numbers to backtraces +AC_ARG_WITH([dw],[AS_HELP_STRING([--with-dw=yes|no|auto],[use libdw])], + [], [with_dw=auto]) +if [ test "x${with_dw}" != "xno" ]; then + PKG_CHECK_MODULES(DW, [libdw], + [ + HAVE_DW=yes + AC_DEFINE(HAVE_DW, 1, [libdw available]) + DW_REQUIRE=libdw + AC_SUBST(DW_REQUIRE) + ], + [ + HAVE_DW=no + if [ test "x${with_dw}" = "xyes" ]; then + AC_MSG_ERROR([could not find libdw]) + fi + ]) +else + HAVE_DW=no +fi dnl Check for backtrace() from libc AC_CHECK_FUNC(backtrace, [ @@ -836,10 +861,6 @@ AC_CHECK_FUNC(backtrace, [ ], [], []) ]) -if test "x$HAVE_UNWIND" = "xyes"; then - AC_DEFINE(HAVE_UNWIND, 1, [libunwind available]) -fi - dnl building of unit test libraries AC_ARG_ENABLE(check, AS_HELP_STRING([--disable-check],[disable building unit test libraries]), @@ -879,6 +900,17 @@ AC_ARG_WITH([memory-alignment], ] ) +dnl Symbol visibility +VISIBILITY_CFLAGS="" +AS_COMPILER_FLAG([-fvisibility=hidden], [ + VISIBILITY_CFLAGS="-fvisibility=hidden" + AC_DEFINE(GST_API_EXPORT, [extern __attribute__ ((visibility ("default")))], [public symbol export define]) +], [ + VISIBILITY_CFLAGS="" + AC_DEFINE(GST_API_EXPORT, [extern], [public symbol export define]) +]) +AC_SUBST(VISIBILITY_CFLAGS) + dnl Check for -Bsymbolic-functions linker flag used to avoid dnl intra-library PLT jumps, if available. AC_ARG_ENABLE(Bsymbolic, @@ -924,6 +956,10 @@ dnl special warning flags for gst/printf AS_COMPILER_FLAG([-Wno-format-nonliteral], [PRINTF_CFLAGS="-Wno-format-nonliteral"]) AC_SUBST(PRINTF_CFLAGS) +dnl disable strict aliasing +AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"]) +AC_SUBST(EXTRA_CFLAGS) + dnl define correct level for debugging messages AG_GST_SET_LEVEL_DEFAULT($GST_GIT) @@ -932,7 +968,7 @@ dnl *** finalize CFLAGS, LDFLAGS, LIBS dnl Overview: 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_LIB_LDFLAGS: additional linker flags for all libraries dnl GST_OBJ_*: additional vars to link to the core library dnl include GST_ALL_* dnl GST_LT_LDFLAGS: library versioning of our libraries @@ -971,8 +1007,8 @@ 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 except for in the core library -GST_ALL_CXXFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(ERROR_CXXFLAGS)" -GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CFLAGS) \$(ERROR_CFLAGS)" +GST_ALL_CXXFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(ERROR_CXXFLAGS)" +GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $EXTRA_CFLAGS \$(GST_OPTION_CFLAGS) \$(ERROR_CFLAGS) \$(VISIBILITY_CFLAGS)" dnl FIXME: check if LTLIBINTL is needed everywhere dnl I presume it is given that it contains the symbols that _() stuff maps to @@ -993,7 +1029,7 @@ 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_\).*" +GST_LIB_LDFLAGS="" AC_SUBST(GST_LIB_LDFLAGS) dnl GST_OBJ_* @@ -1008,7 +1044,7 @@ AC_SUBST(GST_OBJ_LIBS) dnl GST_PLUGIN_LDFLAGS dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS -GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS" +GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS" AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS") dnl plugin scanner locations @@ -1017,6 +1053,46 @@ AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_INSTALLED, "$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner]) AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED) +case "${libexecdir}" in + *libexec) + GST_PLUGIN_SCANNER_SUBDIR="libexec";; + *lib) + GST_PLUGIN_SCANNER_SUBDIR="lib";; + *) + GST_PLUGIN_SCANNER_SUBDIR=`basename ${libexecdir}`; + if test -z "$GST_PLUGIN_SCANNER_SUBDIR"; then + AC_MSG_WARN([Couldn't determined libexecdir suffix, using "lib"]) + GST_PLUGIN_SCANNER_SUBDIR="lib"; + fi + ;; +esac +AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_SUBDIR, + "$GST_PLUGIN_SCANNER_SUBDIR", [libexecdir path component, used to find plugin-scanner on relocatable builds on windows]) + +case "${libdir}" in + *lib64) + GST_PLUGIN_SUBDIR="lib64";; + *lib32) + GST_PLUGIN_SUBDIR="lib32";; + *lib) + GST_PLUGIN_SUBDIR="lib";; + *) + GST_PLUGIN_SUBDIR=`basename ${libdir}`; + if test -z "$GST_PLUGIN_SUBDIR"; then + AC_MSG_WARN([Couldn't determined libdir suffix, using "lib"]) + GST_PLUGIN_SUBDIR="lib"; + fi + ;; +esac +AC_DEFINE_UNQUOTED(GST_PLUGIN_SUBDIR, + "$GST_PLUGIN_SUBDIR", [plugin directory path component, used to find plugins on relocatable builds on windows]) + +dnl completion helper locations +AS_AC_EXPAND(GST_COMPLETION_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-completion-helper) +AC_DEFINE_UNQUOTED(GST_COMPLETION_HELPER_INSTALLED, + "$GST_COMPLETION_HELPER_INSTALLED", [location of the installed gst-completion-helper]) +AC_SUBST(GST_COMPLETION_HELPER_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, @@ -1030,9 +1106,11 @@ AG_GST_CHECK_CHECKS AC_CONFIG_FILES( Makefile data/Makefile +data/bash-completion/helpers/gst gst/Makefile gst/gstconfig.h gst/gstversion.h +libs/gst/helpers/libgstreamer-gdb.py gst/parse/Makefile gst/printf/Makefile libs/Makefile @@ -1066,14 +1144,10 @@ tools/Makefile common/Makefile common/m4/Makefile docs/Makefile -docs/design/Makefile -docs/faq/Makefile docs/gst/Makefile docs/gst/gstreamer.types docs/libs/Makefile docs/plugins/Makefile -docs/slides/Makefile -docs/xsl/Makefile docs/version.entities m4/Makefile pkgconfig/Makefile @@ -1088,46 +1162,8 @@ pkgconfig/gstreamer-controller.pc pkgconfig/gstreamer-controller-uninstalled.pc pkgconfig/gstreamer-net.pc pkgconfig/gstreamer-net-uninstalled.pc -gstreamer.spec ) -dnl Create the config.h file for Visual Studio builds -dnl Beware of spaces and /'s in some of the shell variable contents. -sed \ - -e 's/.*config.h.in.*autoheader.*/\/* Autogenerated config.h created for win32 Visual Studio builds *\/\n\n\/* PREFIX -- specifically added for Windows for easier moving *\/\n#define PREFIX "C:\\\\gstreamer"/' \ - -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \ - -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \ - -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \ - -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \ - -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \ - -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \ - -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \ - -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \ - -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \ - -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \ - -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \ - -e 's/.* HAVE_PROCESS_H$/#define HAVE_PROCESS_H 1/' \ - -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \ - -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \ - -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \ - -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \ - -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \ - -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \ - -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \ - -e 's/.* MEMORY_ALIGNMENT_MALLOC/#define MEMORY_ALIGNMENT_MALLOC 1/' \ - -e 's/.* LIBDIR$/#ifdef _DEBUG\n# define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n# define LIBDIR PREFIX "\\\\lib"\n#endif/' \ - -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \ - -e 's/.* PACKAGE$/#define PACKAGE "gstreamer"/' \ - -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \ - -e 's/.* PACKAGE_NAME$/#define PACKAGE_NAME "'$PACKAGE_NAME'"/' \ - -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \ - -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \ - -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \ - -e 's/.* PLUGINDIR$/#ifdef _DEBUG\n# define PLUGINDIR PREFIX "\\\\debug\\\\lib\\\\gstreamer-1.0"\n#else\n# define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-1.0"\n#endif/' \ - -e 's/.* GST_PLUGIN_SCANNER_INSTALLED$/#define GST_PLUGIN_SCANNER_INSTALLED LIBDIR "\\\\gst-plugin-scanner"/' \ - -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \ - config.h.in >win32/common/config.h-new - AC_OUTPUT dnl negate for output @@ -1148,8 +1184,7 @@ Configuration Package name : ${GST_PACKAGE_NAME} Package origin : ${GST_PACKAGE_ORIGIN} - Documentation (manuals) : ${enable_docbook} - Documentation (API) : ${enable_gtk_doc} + API Documentation : ${enable_gtk_doc} Debug logging : ${enable_gst_debug} Tracing subsystem hooks : ${enable_gst_tracer_hooks} @@ -1161,6 +1196,7 @@ Configuration Unit testing support : ${BUILD_CHECK} PTP clock support : ${HAVE_PTP} libunwind support : ${HAVE_UNWIND} + libdw support : ${HAVE_DW} Debug : ${USE_DEBUG} Profiling : ${USE_PROFILING}