-AC_PREREQ([2.68])
+AC_PREREQ([2.69])
dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, cvs and prerelease does -Werror too
dnl use a three digit version number for releases, and four for cvs/prerelease
-AC_INIT([GStreamer Ugly Plug-ins],[1.5.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
+AC_INIT([GStreamer Ugly Plug-ins],[1.13.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-ugly])
AG_GST_INIT
dnl initialize automake
-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
AS_NANO(GST_GIT="no", GST_GIT="yes")
dnl can autoconf find the source ?
-AC_CONFIG_SRCDIR([ext/mad/gstmad.c])
+AC_CONFIG_SRCDIR([gst/asfdemux/gstasfdemux.c])
dnl define the output header for config
AC_CONFIG_HEADERS(config.h)
AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API Version])
-AS_LIBTOOL(GST, 501, 0, 501)
+AS_LIBTOOL(GST, 1390, 0, 1390)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.5.0.1
-GSTPB_REQ=1.5.0.1
+GST_REQ=1.13.90
+GSTPB_REQ=1.13.90
dnl *** autotools stuff ****
dnl *** check for arguments to configure ***
AG_GST_ARG_DISABLE_FATAL_WARNINGS
+AG_GST_ARG_ENABLE_EXTRA_CHECKS
AG_GST_ARG_DEBUG
AG_GST_ARG_PROFILING
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
dnl *** checks for dependency libraries ***
dnl GLib is required
-GLIB_REQ=2.32.0
+GLIB_REQ=2.40.0
AG_GST_GLIB_CHECK([$GLIB_REQ])
ORC_CHECK([0.4.16])
dnl Needed by plugins that use g_module_*() API
PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
+dnl Check for -Bsymbolic-functions linker flag used to avoid
+dnl intra-library PLT jumps, if available.
+AC_ARG_ENABLE(Bsymbolic,
+ [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
+ [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
+ AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
+ LDFLAGS=-Wl,-Bsymbolic-functions
+ LIBS=
+ AC_TRY_LINK([], [return 0],
+ AC_MSG_RESULT(yes)
+ enable_Bsymbolic=yes,
+ AC_MSG_RESULT(no)
+ enable_Bsymbolic=no)
+ LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
+
dnl *** set variables based on configure arguments ***
dnl set license and copyright notice
["${srcdir}/gst-plugins-ugly.doap"],
[$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
-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 define an ERROR_CFLAGS Makefile variable
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
dnl *** plug-ins to include ***
-dnl Non ported plugins (non-dependant, then dependant)
-dnl Make sure you have a space before and after all plugins
-GST_PLUGINS_NONPORTED=" "
-AC_SUBST(GST_PLUGINS_NONPORTED)
-
dnl these are all the gst plug-ins, compilable without additional libs
AG_GST_CHECK_PLUGIN(asfdemux)
AG_GST_CHECK_PLUGIN(dvdlpcmdec)
dnl *** amr-nb ***
translit(dnm, m, l) AM_CONDITIONAL(USE_AMRNB, true)
AG_GST_CHECK_FEATURE(AMRNB, [amrnb library], amrnb, [
- PKG_CHECK_MODULES(AMRNB, opencore-amrnb, [
- if $PKG_CONFIG --atleast-version=0.1.3 opencore-amrnb; then
- AC_DEFINE(HAVE_OPENCORE_AMRNB_0_1_3_OR_LATER, 1, [Defined for newer opencore-amrnb])
- fi
- HAVE_AMRNB="yes"
- ], [
- HAVE_AMRNB="no"
- ])
- AC_SUBST(AMRNB_CFLAGS)
- AC_SUBST(AMRNB_LIBS)
+ AG_GST_PKG_CHECK_MODULES(AMRNB, opencore-amrnb >= 0.1.3)
])
dnl *** amr-wb dec ***
translit(dnm, m, l) AM_CONDITIONAL(USE_AMRWB, true)
AG_GST_CHECK_FEATURE(AMRWB, [amrwb library], amrwbdec, [
- PKG_CHECK_MODULES(AMRWB, opencore-amrwb, [
- if $PKG_CONFIG --atleast-version=0.1.3 opencore-amrwb; then
- AC_DEFINE(HAVE_OPENCORE_AMRWB_0_1_3_OR_LATER, 1, [Defined for newer opencore-amrwb])
- fi
- HAVE_AMRWB="yes"
- ], [
- HAVE_AMRWB="no"
- ])
- AC_SUBST(AMRWB_CFLAGS)
- AC_SUBST(AMRWB_LIBS)
+ AG_GST_PKG_CHECK_MODULES(AMRWB, opencore-amrwb >= 0.1.3)
])
dnl *** cdio ***
AC_SUBST(DVDREAD_LIBS)
])
-dnl *** lame ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_LAME, true)
-AG_GST_CHECK_FEATURE(LAME, [lame mp3 encoder library], lame, [
- AG_GST_CHECK_LIBHEADER(LAME, mp3lame, lame_init, $LIBM, lame/lame.h,
- [
- HAVE_LAME="yes"
- LAME_LIBS="-lmp3lame $LIBM"
- dnl is lame presets available
- LAME_CFLAGS=""
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <lame/lame.h>]], [[ int preset = MEDIUM ]])],[LAME_CFLAGS="-DGSTLAME_PRESET"],[LAME_CFLAGS=""
- ])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <lame/lame.h>]], [[
- void *ptr = &lame_set_VBR_quality
- ]])],[LAME_CFLAGS="$LAME_CFLAGS -DHAVE_LAME_SET_VBR_QUALITY"],[LAME_CFLAGS="$LAME_CFLAGS"
- ])
- AC_SUBST(LAME_CFLAGS)
- AC_SUBST(LAME_LIBS)
- ])
-])
-
-dnl *** mad ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
-AG_GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
-
- dnl check with pkg-config first
- AG_GST_PKG_CHECK_MODULES(MAD, mad >= 0.15)
- MAD_LIBS="$MAD_LIBS"
- if test "x$HAVE_MAD" = "xno"; then
- dnl fall back to oldskool detection
- AC_CHECK_HEADER(mad.h, [
- AC_CHECK_LIB(mad, mad_decoder_finish,
- HAVE_MAD="yes" MAD_LIBS="-lmad")
- ])
- fi
-])
-AC_SUBST(MAD_LIBS)
-
dnl *** mpeg2dec ***
translit(dnm, m, l) AM_CONDITIONAL(USE_MPEG2DEC, true)
AG_GST_CHECK_FEATURE(MPEG2DEC, [mpeg2dec], mpeg2dec, [
- AG_GST_PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.4.0)
+ AG_GST_PKG_CHECK_MODULES(MPEG2DEC, libmpeg2 >= 0.5.1)
])
dnl *** sidplay : works with libsidplay 1.36.x (not 2.x.x) ***
GST_PATH_SIDPLAY()
])
-dnl *** twolame ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_TWOLAME, true)
-AG_GST_CHECK_FEATURE(TWOLAME, [twolame], twolame, [
- PKG_CHECK_MODULES(TWOLAME, twolame >= 0.3.10, [
- HAVE_TWOLAME="yes"], [
- HAVE_TWOLAME="no"
- ])
- AC_SUBST(TWOLAME_CFLAGS)
- AC_SUBST(TWOLAME_LIBS)
-])
-
dnl *** x264 (MPEG-4 part 10/h.264/AVC encoder) ***
translit(dnm, m, l) AM_CONDITIONAL(USE_X264, true)
AG_GST_CHECK_FEATURE(X264, [x264 plug-in], x264, [
AG_GST_PKG_CHECK_MODULES(X264, x264 >= 0.120)
+
+ dnl Paths to additional x264 library variants, e.g. 10/12 bit
+ AC_ARG_WITH([x264-libraries],
+ AS_HELP_STRING([--with-x264-libraries=PATHS], [Colon separated list of additional x264 library paths, e.g. for 10-bit version]),
+ [
+ if test "x$withval" != "x"
+ then
+ AC_DEFINE_UNQUOTED(HAVE_X264_ADDITIONAL_LIBRARIES, "$withval", [Additional x264 libraries])
+ fi
+ ], []
+ )
])
else
AM_CONDITIONAL(USE_AMRWB, false)
AM_CONDITIONAL(USE_CDIO, false)
AM_CONDITIONAL(USE_DVDREAD, false)
-AM_CONDITIONAL(USE_LAME, false)
-AM_CONDITIONAL(USE_MAD, false)
AM_CONDITIONAL(USE_MPEG2DEC, false)
AM_CONDITIONAL(USE_SIDPLAY, false)
-AM_CONDITIONAL(USE_TWOLAME, false)
AM_CONDITIONAL(USE_X264, false)
fi dnl of EXT plugins
fi
AC_SUBST(DEPRECATED_CFLAGS)
+VISIBILITY_CFLAGS=""
+AS_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"])
+AC_SUBST(VISIBILITY_CFLAGS)
+
+VISIBILITY_CXXFLAGS=""
+if test "x$HAVE_CXX" = "xyes"; then
+ AS_CXX_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=hidden"])
+fi
+AC_SUBST(VISIBILITY_CXXFLAGS)
+
+dnl disable strict aliasing
+AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"])
+AC_SUBST(EXTRA_CFLAGS)
+
dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden
dnl at make time with e.g. make ERROR_CFLAGS=""
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
dnl also add builddir include for enumtypes and marshal
dnl add GST_OPTION_CFLAGS, but overridable
GST_CFLAGS="$GST_CFLAGS"
-GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
-GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
+GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $EXTRA_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(VISIBILITY_CXXFLAGS)"
+GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $EXTRA_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS) \$(VISIBILITY_CFLAGS)"
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_CXXFLAGS)
AC_SUBST(GST_LIBS)
dnl LDFLAGS really should only contain flags, not libs - they get added before
dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
GST_ALL_LDFLAGS="-no-undefined"
+if test "x${enable_Bsymbolic}" = "xyes"; then
+ GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
+fi
AC_SUBST(GST_ALL_LDFLAGS)
dnl this really should only contain flags, not libs - they get added before
dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
-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)
dnl *** output files ***
ext/amrwbdec/Makefile
ext/cdio/Makefile
ext/dvdread/Makefile
-ext/lame/Makefile
-ext/mad/Makefile
ext/mpeg2dec/Makefile
ext/sidplay/Makefile
-ext/twolame/Makefile
ext/x264/Makefile
docs/Makefile
docs/plugins/Makefile
docs/version.entities
tests/Makefile
tests/check/Makefile
+tests/files/Makefile
m4/Makefile
po/Makefile.in
pkgconfig/Makefile
pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
-gst-plugins-ugly.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"\n\n/' \
- -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_LIBXML2$/#define HAVE_LIBXML2 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/.* 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 \"$PACKAGE\"/" \
- -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-0.11"\n#else\n# define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-0.11"\n#endif/' \
- -e 's/.* USE_BINARY_REGISTRY$/#define USE_BINARY_REGISTRY/' \
- -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
- -e "s/.* DEFAULT_AUDIOSINK$/#define DEFAULT_AUDIOSINK \"directsoundsink\"/" \
- -e "s/.* DEFAULT_AUDIOSRC$/#define DEFAULT_AUDIOSRC \"audiotestsrc\"/" \
- -e "s/.* DEFAULT_VIDEOSRC$/#define DEFAULT_VIDEOSRC \"videotestsrc\"/" \
- -e "s/.* DEFAULT_VISUALIZER$/#define DEFAULT_VISUALIZER \"goom\"/" \
- config.h.in >win32/common/config.h-new
-
AC_OUTPUT
AG_GST_OUTPUT_PLUGINS