dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
-dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer, 0.10.20.1,
+dnl releases only do Wall, git and prerelease does Werror too
+AC_INIT(GStreamer, 0.10.23.1,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gstreamer)
AG_GST_INIT
-dnl initialize automake
-AM_INIT_AUTOMAKE
+dnl initialize automake (we require GNU make)
+AM_INIT_AUTOMAKE([-Wno-portability])
dnl define PACKAGE_VERSION_* variables
AS_VERSION
dnl check if this is a release version
-AS_NANO(GST_CVS="no", GST_CVS="yes")
+AS_NANO(GST_GIT="no", GST_GIT="yes")
dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([gst/gst.c])
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 17, 0, 17)
+AS_LIBTOOL(GST, 20, 0, 20)
dnl FIXME: this macro doesn't actually work;
dnl the generated libtool script has no support for the listed tags.
dnl set up gettext
dnl the version check needs to stay here because autopoint greps for it
-AM_GNU_GETTEXT_VERSION([0.11.5])
+AM_GNU_GETTEXT_VERSION([0.17])
AM_GNU_GETTEXT([external])
AG_GST_GETTEXT([gstreamer-$GST_MAJORMINOR])
GST_REGISTRY_DOC_TYPES=
fi
AC_SUBST(GST_REGISTRY_DOC_TYPES)
-AG_GST_CHECK_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
-AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, test "x$GST_DISABLE_ENUMTYPES" = "xyes")
-AG_GST_CHECK_SUBSYSTEM_DISABLE(INDEX,[index])
-AM_CONDITIONAL(GST_DISABLE_INDEX, test "x$GST_DISABLE_INDEX" = "xyes")
-dnl define a substitution to use in docs/gst/gstreamer.types
-if test "x$GST_DISABLE_INDEX" = "xyes"
-then
- GST_INDEX_DOC_TYPES="%"
-else
- GST_INDEX_DOC_TYPES=
-fi
-AC_SUBST(GST_INDEX_DOC_TYPES)
AG_GST_CHECK_SUBSYSTEM_DISABLE(NET,[network distribution])
AM_CONDITIONAL(GST_DISABLE_NET, test "x$GST_DISABLE_NET" = "xyes")
AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
-AG_GST_CHECK_SUBSYSTEM_DISABLE(URI,[uri handlers])
-AM_CONDITIONAL(GST_DISABLE_URI, test "x$GST_DISABLE_URI" = "xyes")
AG_GST_ARG_DEBUG
AG_GST_ARG_PROFILING
[Define if we should poison deallocated memory])
fi
-dnl Use binary registry
-AC_ARG_ENABLE(binary-registry,
- AC_HELP_STRING([--disable-binary-registry],
- [disable binary registry]),
- [
- case "${enableval}" in
- yes) USE_BINARY_REGISTRY=yes ;;
- no) USE_BINARY_REGISTRY=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-binary-registry) ;;
- esac
- ],
- [USE_BINARY_REGISTRY=yes]) dnl Default value
-
-if test "x$USE_BINARY_REGISTRY" = xyes; then
- dnl for config.h:
- AC_DEFINE(USE_BINARY_REGISTRY, 1,
- [Define if we should use binary registry instead xml registry])
-fi
-AM_CONDITIONAL(USE_BINARY_REGISTRY, test "x$USE_BINARY_REGISTRY" = "xyes")
-
dnl *** checks for platform ***
dnl * hardware/architecture *
AC_DEFINE_UNQUOTED(GST_EXTRA_MODULE_SUFFIX, [".dylib"], [Extra platform specific plugin suffix])
AC_DEFINE_UNQUOTED(GST_HAVE_UNSAFE_FORK, 1, [Defined when registry scanning through fork is unsafe])
;;
- cygwin* | mingw* | msvc* | mks*)
+ cygwin*)
+ AC_DEFINE_UNQUOTED(GST_HAVE_UNSAFE_FORK, 1, [Defined when registry scanning through fork is unsafe])
+ ;;
+ mingw* | msvc* | mks*)
dnl HAVE_WIN32 currently means "disable POSIXisms".
AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
+
+ dnl define __MSVCRT_VERSION__ version if not set already by the
+ dnl compiler (ie. mostly for mingw). This is needed for things like
+ dnl __stat64 to be available. If set by the compiler, ensure it's
+ dnl new enough - we need at least WinXP SP2.
+ AC_TRY_COMPILE([ ], [ return __MSVCRT_VERSION__; ], [
+ AC_TRY_COMPILE([ ], [
+ #if __MSVCRT_VERSION__ < 0x0601
+ #error "MSVCRT too old"
+ #endif
+ ], [
+ AC_MSG_NOTICE([MSVCRT version looks ok])
+ ], [
+ AC_MSG_ERROR([MSVCRT version too old, need at least WinXP SP2])
+ ])
+ ], [
+ AC_MSG_NOTICE([Setting MSVCRT version to 0x0601])
+ AC_DEFINE_UNQUOTED(__MSVCRT_VERSION__, 0x0601, [We need at least WinXP SP2 for __stat64])
+ ])
;;
*)
;;
fi
dnl we require flex and bison for building the parser
-AG_GST_BISON_CHECK
-AG_GST_FLEX_CHECK
+if test "x$GST_DISABLE_PARSE" != xyes; then
+ AG_GST_BISON_CHECK
+ AG_GST_FLEX_CHECK
+fi
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
dnl *** checks for libraries ***
-dnl For interactive UNIX (a Sun thing)
-dnl FIXME: this adds -lcposix to LIBS, but I doubt we use LIBS
-AC_ISC_POSIX
-
dnl check for libm, for sin()
AC_CHECK_LIBM
AC_SUBST(LIBM)
dnl the dev package
AC_CHECK_HEADERS([valgrind/valgrind.h], HAVE_VALGRIND_H=yes)
+dnl used in gst/gstpoll.c
+AC_CHECK_HEADERS([winsock2.h], HAVE_WINSOCK2_H=yes)
+AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
+if test "x$HAVE_WINSOCK2_H" = "xyes"; then
+ WIN32_LIBS="-lws2_32"
+ AC_SUBST(WIN32_LIBS)
+fi
+
dnl *** checks for types/defines ***
dnl *** checks for structures ***
dnl Check for a way to display the function name in debug output
AG_GST_CHECK_FUNCTION
-dnl test for register_printf_function
-AC_CHECK_FUNC(register_printf_function,
- [
- GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
- GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"Q\""
- GST_USING_PRINTF_EXTENSION_DEFINE="#define GST_USING_PRINTF_EXTENSION"
- AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
- [Defined if we have register_printf_function ()])
- ], [
+dnl test for register_printf_specifier or register_printf_function
+AC_CHECK_FUNCS([register_printf_specifier register_printf_function],
+ [HAVE_PRINTF_EXTENSION=yes])
+
+if test "$HAVE_PRINTF_EXTENSION" = yes; then
+ GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"P\""
+ GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"Q\""
+ GST_USING_PRINTF_EXTENSION_DEFINE="#define GST_USING_PRINTF_EXTENSION"
+ AC_DEFINE(HAVE_PRINTF_EXTENSION, 1,
+ [Defined if we have printf specifier extensions available])
+else
GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE="#define GST_PTR_FORMAT \"p\""
GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE="#define GST_SEGMENT_FORMAT \"p\""
GST_USING_PRINTF_EXTENSION_DEFINE="#undef GST_USING_PRINTF_EXTENSION"
- ]
-)
+fi
AC_SUBST(GST_PRINTF_EXTENSION_POINTER_FORMAT_DEFINE)
AC_SUBST(GST_PRINTF_EXTENSION_SEGMENT_FORMAT_DEFINE)
AC_SUBST(GST_USING_PRINTF_EXTENSION_DEFINE)
LIBS="$LIBS -ldl")
CFLAGS="$save_cflags"
+dnl *** checks for socket and nsl libraries ***
+AC_CHECK_FUNC(socket,,[AC_CHECK_LIB(socket,socket)])
+AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
+
dnl check for inet_aton()
save_libs="$LIBS"
AC_CHECK_FUNC(inet_aton, ,
dnl *** checks for dependency libraries ***
dnl GLib
-GLIB_REQ=2.12
+GLIB_REQ=2.16
AG_GST_GLIB_CHECK([$GLIB_REQ])
AC_SUBST(GLIB_PREFIX)
dnl libxml 2 is optional in some cases
-if test "x$GST_DISABLE_LOADSAVE" = "xyes" && \
- ( test "x$GST_DISABLE_REGISTRY" = "xyes" || \
- test "x$USE_BINARY_REGISTRY" = "xyes" )
+if test "x$GST_DISABLE_LOADSAVE" = "xyes" -a "x$GST_DISABLE_REGISTRY" = "xyes"
then
AC_MSG_NOTICE([XML registry and load/save are disabled, not checking for libxml2])
GST_DISABLE_XML_DEFINE="#define GST_DISABLE_XML 1"
AC_SUBST(GST_DISABLE_XML_DEFINE)
dnl check for "check", unit testing library/header
-AM_PATH_CHECK(0.9.2,
- [
- HAVE_CHECK=yes
- AC_MSG_NOTICE(CHECK_CFLAGS: $CHECK_CFLAGS)
- AC_MSG_NOTICE(CHECK_LIBS: $CHECK_LIBS)
- ],
- HAVE_CHECK=no)
+if test "$cross_compiling" != yes; then
+ AM_PATH_CHECK(0.9.2,
+ HAVE_CHECK=yes,
+ HAVE_CHECK=no)
+else
+ HAVE_CHECK=no
+fi
AM_CONDITIONAL(HAVE_CHECK, test "x$HAVE_CHECK" = "xyes")
dnl pkg-config check that for libcheck that works for cross-compiling
AC_SUBST(GST_PKG_DEPS)
dnl define an ERROR_CFLAGS Makefile variable
-AG_GST_SET_ERROR_CFLAGS($GST_CVS)
+AG_GST_SET_ERROR_CFLAGS($GST_GIT)
dnl define correct level for debugging messages
-AG_GST_SET_LEVEL_DEFAULT($GST_CVS)
+AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
dnl *** finalize CFLAGS, LDFLAGS, LIBS
# functionality from the API that gstreamer uses
# GST_REMOVE_DEPRECATED: don't compile deprecated functionality (breaks ABI)
if test "x$PACKAGE_VERSION_NANO" = "x1"; then
- dnl Define _only_ during CVS (not pre-releases or releases)
+ dnl Define _only_ when compiling from git (not for pre-releases or releases)
DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
else
DEPRECATED_CFLAGS=""
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
+SHAVE_INIT([common],[enable])
+
AC_CONFIG_FILES(
Makefile
+common/shave
+common/shave-libtool
gst/Makefile
gst/gstconfig.h
gst/gstversion.h
tests/examples/Makefile
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/metadata/Makefile
tests/examples/queue/Makefile
+tests/examples/streams/Makefile
tests/examples/typefind/Makefile
tests/examples/xml/Makefile
tools/Makefile
docs/slides/Makefile
docs/xsl/Makefile
docs/version.entities
-win32/common/config.h
pkgconfig/Makefile
stamp.h
pkgconfig/gstreamer.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_MAJORMINOR$/#define GST_MAJORMINOR "'$GST_MAJORMINOR'"/' \
+ -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/.* 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 "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-0.10"\n#else\n# define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-0.10"\n#endif/' \
+ -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
+ config.h.in >win32/common/config.h-new
+
AC_OUTPUT
dnl negate for output
+if test "x${GST_DISABLE_GST_DEBUG}" = "xno"; then enable_gst_debug="yes"; fi
if test "x${GST_DISABLE_LOADSAVE}" = "xno"; then enable_loadsave="yes"; fi
if test "x${GST_DISABLE_PARSE}" = "xno"; then enable_parse="yes"; fi
if test "x${GST_DISABLE_OPTION_PARSING}" = "xno"; then enable_option_parsing="yes"; fi
if test "x${GST_DISABLE_TRACE}" = "xno"; then enable_trace="yes"; fi
if test "x${GST_DISABLE_ALLOC_TRACE}" = "xno"; then enable_alloc_trace="yes"; fi
if test "x${GST_DISABLE_PLUGIN}" = "xno"; then enable_plugin="yes"; fi
+if test "x${GST_DISABLE_REGISTRY}" = "xno"; then enable_registry="yes"; fi
if test "x${GST_DISABLE_NET}" = "xno"; then enable_net="yes"; fi
echo "
Version : ${VERSION}
Source code location : ${srcdir}
Prefix : ${prefix}
- Compiler : ${CC}
+ Compiler : ${SHAVE_SAVED_CC}
Package name : ${GST_PACKAGE_NAME}
Package origin : ${GST_PACKAGE_ORIGIN}
Documentation (manuals) : ${enable_docbook}
Documentation (API) : ${enable_gtk_doc}
+ Debug Logging : ${enable_gst_debug}
Pipeline XML load/save : ${enable_loadsave}
Command-line parser : ${enable_parse}
Option parsing in gst_init : ${enable_option_parsing}
Tracing subsystem : ${enable_trace}
Allocation tracing : ${enable_alloc_trace}
- Plugin registry : ${enable_plugin}
+ Plugin registry : ${enable_registry}
+ Plugin support : ${enable_plugin}
Network support : ${enable_net}
Debug : ${USE_DEBUG}