diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 2384 |
1 files changed, 722 insertions, 1662 deletions
diff --git a/configure.ac b/configure.ac index 9389c792e..433387eb1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,223 +1,219 @@ -dnl -dnl Configure.ac for xine -dnl +AC_PREREQ(2.59) -AC_INIT +dnl Note that autoconf/autoheader/automake cache using autom4te, so version.sh +dnl will only be run if configure.ac has changed. This must be done before +dnl AC_INIT so that XINE_VERSION_SPEC, which is an m4 macro, is available. +m4_esyscmd([./version.sh]) + +dnl Initialize autoconf, autoheader, and automake +AC_INIT([xine-lib], XINE_VERSION_SPEC, [xine-bugs@lists.sourceforge.net]) +AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/xine-engine/xine.c]) AC_CONFIG_LIBOBJ_DIR([lib]) +AC_CONFIG_HEADERS([config.h]) +AM_MAINTAINER_MODE -dnl -dnl Require autoconf version 2.60 -dnl -AC_PREREQ(2.59) +AH_TOP([#ifndef __XINE_LIB_CONFIG_H__ +#define __XINE_LIB_CONFIG_H__ 1 +]) +AH_BOTTOM([#ifdef ASMALIGN_1SLN +# define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t" +#else +# define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t" +#endif -dnl Making releases: -dnl XINE_SUB += 1; continue with XINE_LT_* values below -dnl -XINE_MAJOR=1 -XINE_MINOR=1 -XINE_SUB=90 +/* include internal system specific header */ +#include "os_internal.h" -#if test $XINE_SUB -eq 0 ; then -# XINE_SUBPART=""; -#else - XINE_SUBPART=".$XINE_SUB" -#fi - -dnl The libtool version numbers (XINE_LT_*); Don't even think about faking this! -dnl -dnl immediately before every release do: -dnl =================================== -dnl if (the interface is totally unchanged from previous release) -dnl XINE_LT_REVISION ++; -dnl else { /* interfaces have been added, removed or changed */ -dnl XINE_LT_REVISION = 0; -dnl XINE_LT_CURRENT ++; -dnl if (any interfaces have been _added_ since last release) -dnl XINE_LT_AGE ++; -dnl if (any interfaces have been _removed_ or _incompatibly changed_) -dnl XINE_LT_AGE = 0; -dnl } -dnl -dnl If you want to know more about what you are doing, here are some details: -dnl * XINE_LT_CURRENT is the current API version -dnl * XINE_LT_REVISION is an internal revision number which is increased when the API -dnl itself did not change -dnl * XINE_LT_AGE is the number of previous API versions still supported by this library -dnl * libtool has its own numbering scheme, because local library numbering schemes -dnl are platform dependent -dnl * in Linux, the library will be named -dnl libname.so.(XINE_LT_CURRENT - XINE_LT_AGE).XINE_LT_AGE.XINE_LT_REVISION - -XINE_LT_CURRENT=19 -XINE_LT_REVISION=0 -XINE_LT_AGE=17 - -dnl for a release tarball do "rm .cvsversion" before "make dist" -if test -f "${srcdir-.}/.cvsversion"; then - XINE_PRE="hg" -else - XINE_PRE="" +#endif /* __XINE_LIB_CONFIG_H__ */ +]) + +test x"$prefix" = x"NONE" && prefix="${ac_default_prefix}" +test x"$exec_prefix" = x"NONE" && exec_prefix='${prefix}' + +dnl Use features of autoconf 2.61, but stay compatible with older versions. +if test x"$datarootdir" = x""; then + datarootdir='${datadir}' + AC_SUBST(datarootdir) +fi + +if test x"$docdir" = x""; then + docdir='${datarootdir}/doc/${PACKAGE}' + AC_SUBST(docdir) +fi + +if test x"$htmldir" = x""; then + htmldir='${docdir}' + AC_SUBST(htmldir) fi + +dnl ------------------------- +dnl Setup version information +dnl ------------------------- + +dnl Do not change these manually; they come from running ./version.sh when +dnl autoconf runs. This must all be done after AC_INIT is done, but running +dnl the version.sh script must be done before AC_INIT. +XINE_MAJOR=XINE_VERSION_MAJOR AC_SUBST(XINE_MAJOR) +AC_DEFINE_UNQUOTED([XINE_MAJOR], [$XINE_MAJOR], [xine major version number]) +XINE_MINOR=XINE_VERSION_MINOR AC_SUBST(XINE_MINOR) +AC_DEFINE_UNQUOTED([XINE_MINOR], [$XINE_MINOR], [xine minor version number]) +XINE_SUB=XINE_VERSION_SUB AC_SUBST(XINE_SUB) -AC_SUBST(XINE_IFACE_AGE) -AC_SUBST(XINE_BIN_AGE) - -AC_DEFINE_UNQUOTED(XINE_MAJOR, $XINE_MAJOR,[xine major version number]) -AC_DEFINE_UNQUOTED(XINE_MINOR, $XINE_MINOR,[xine minor version number]) -AC_DEFINE_UNQUOTED(XINE_SUB, $XINE_SUB, [xine sub version number]) +AC_DEFINE_UNQUOTED([XINE_SUB], [$XINE_SUB], [xine sub version number]) +XINE_LT_CURRENT=__XINE_LT_CURRENT AC_SUBST(XINE_LT_CURRENT) +XINE_LT_REVISION=__XINE_LT_REVISION AC_SUBST(XINE_LT_REVISION) +XINE_LT_AGE=__XINE_LT_AGE AC_SUBST(XINE_LT_AGE) -SPEC_VERSION=$XINE_MAJOR.$XINE_MINOR${XINE_SUBPART}$XINE_PRE -TAR_NAME="xine-lib-"$SPEC_VERSION -dnl TAR_NAME="xine-lib-"$XINE_MAJOR-$XINE_PRE -dnl SPEC_VERSION=${XINE_MAJOR}_$XINE_PRE +LIBNAME="libxine${XINE_MAJOR}" +AC_SUBST(LIBNAME) +AC_DEFINE_UNQUOTED([XINE_TEXTDOMAIN], "$LIBNAME", [catalog message text domain]) + +dnl Always set flags to begin with -g so that debug information will be +dnl included. In release bulids, this can be stripped out later if desired. +dnl More importantly, it prevents autoconf from initializing the defaults to +dnl include -O2, which is not desirable in a debug build, and it messes with +dnl other optimizations that we'll want to be setting ourselves later. +ASFLAGS="-g $ASFLAGS" +CFLAGS="-g $CFLAGS" +CPPFLAGS="-D_REENTRANT -DXINE_COMPILE $CPPFLAGS" +LDFLAGS="-g $LDFLAGS" +OBJCFLAGS="-g $OBJCFLAGS" -AC_SUBST(TAR_NAME) -AC_SUBST(SPEC_VERSION) +AC_SUBST(ASFLAGS) -LIBNAME=libxine$XINE_MAJOR -AC_SUBST(LIBNAME) -AC_DEFINE_UNQUOTED(XINE_TEXTDOMAIN, "$LIBNAME", [catalog message text domain]) +dnl ------------------------------ +dnl Build modes: debug and profile +dnl ------------------------------ -dnl -AM_INIT_AUTOMAKE("xine-lib", $SPEC_VERSION) -dnl AM_INIT_AUTOMAKE("xine-lib", $XINE_MAJOR-$XINE_PRE) +AC_ARG_ENABLE([debug], + [AS_HELP_STRING([--enable-debug], [build with debugging code enabled])], + [], [enable_debug="no"]) +if test x"$enable_debug" != x"no"; then + CPPFLAGS="-DDEBUG $CPPFLAGS" +else + CPPFLAGS="-DNDEBUG $CPPFLAGS" +fi +AM_CONDITIONAL([DEBUG_BUILD], [test x"$enable_debug" != x"no"]) -dnl --------------------------------------------- -dnl Made possible to build for another arch. -dnl --------------------------------------------- +AC_ARG_ENABLE([profiling], + [AS_HELP_STRING([--enable-profiling], [build with profiling code enabled])], + [], [enable_profiling="no"]) +if test x"$enable_profiling" != x"no"; then + CFLAGS="-pg $CFLAGS" + OBJCFLAGS="-pg $OBJCFLAGS" + LDFLAGS="-pg $LDFLAGS" +fi +AM_CONDITIONAL([PROFILING_BUILD], [test x"$enable_profiling" != x"no"]) -AC_CANONICAL_HOST -AC_CANONICAL_BUILD -test "$host" == "$build" && check_athlon=yes +dnl -------------- +dnl Build features +dnl -------------- -AC_CONFIG_HEADERS([config.h]) +AC_ARG_ENABLE([altivec], + [AS_HELP_STRING([--disable-altivec], [do not use assembly codes for Motorola 74xx CPUs])], + [], [enable_altivec="yes"]) -AC_ARG_ENABLE([macosx-universal], - AS_HELP_STRING([--enable-macosx-universal], [build a Mac OS X univeral binary (ppc and x86)]), - [], [enable_macosx_universal="no"]) -if test x"$enable_macosx_universal" != x"no" ; then - case "$host_os" in - *darwin*) - dnl x64_64 and ppc64 binaries could also be built, but there is no - dnl version of Mac OS X currently shipping that can run them, so - dnl do not enable them by default for now. - if test x"$enable_macosx_universal" = x"yes" ; then - UNIVERSAL_ARCHES="i386 ppc" - else - UNIVERSAL_ARCHES=`echo "$enable_macosx_universal" | sed -e 's/,/ /g'` - fi - ;; - *) - AC_MSG_ERROR([Universal binaries can only be built on Darwin]) - ;; - esac +AC_ARG_ENABLE([vis], + [AS_HELP_STRING([--disable-vis], [do not use assembly codes for Sun UltraSPARC CPUs])], + [], [enable_vis="yes"]) - UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk" - UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" - if test x"$UNIVERSAL_ARCHES" != x"" ; then - # Forcibly disable dependency tracking for Universal builds, because -M - # does not work with multiple -arch arguments on the gcc command-line. - ac_tool_warned=yes - cross_compiling=yes - enable_dependency_tracking=no - host="`echo $host | sed -e s/$host_cpu/universal/g`" - host_cpu=universal - - CFLAGS="$CFLAGS $UNIVERSAL_CFLAGS" - OBJCFLAGS="$OBJCFLAGS $UNIVERSAL_CFLAGS" - LDFLAGS="$LDFLAGS $UNIVERSAL_LDFLAGS" - AC_DEFINE(XINE_MACOSX_UNIVERSAL_BINARY, 1, [Define this if a universal binary is being built for Mac OS X]) - for arch in $UNIVERSAL_ARCHES ; do - UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -arch $arch" - UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -arch $arch" - CFLAGS="$CFLAGS -arch $arch" - OBJCFLAGS="$OBJCFLAGS -arch $arch" - LDFLAGS="$LDFLAGS -arch $arch" - done - fi -fi -AM_CONDITIONAL([MACOSX_UNIVERSAL_BINARY], [test x"$enable_macosx_universal" = x"yes"]) -AC_SUBST(UNIVERSAL_ARCHES) -AC_SUBST(UNIVERSAL_CFLAGS) -AC_SUBST(UNIVERSAL_LDFLAGS) +AC_ARG_ENABLE([ipv6], + [AS_HELP_STRING([--enable-ipv6], [enable use of IPv6])], + [if test x"$enableval" != x"no"; then + AC_DEFINE([ENABLE_IPV6], 1, [Enable this when IPv6 is requested]) + fi]) +AC_ARG_ENABLE([antialiasing], + [AS_HELP_STRING([--enable-antialiasing], [enable font antialiasing])], + [if test x"$enableval" != x"no"; then + AC_DEFINE([ENABLE_ANTIALIASING], 1, [Define this to 1 to enable font antialising.]) + fi]) -dnl --------------------------------------------- -dnl Check for programs. -dnl --------------------------------------------- -AC_PROG_CC -AM_PROG_AS +dnl ---------------------------------------------- +dnl Cross compilation, Mac OS X Universal Binaries +dnl ---------------------------------------------- -case "$host_os" in - *darwin*) - m4_ifdef([AC_PROG_OBJC], - [AC_PROG_OBJC], - [AC_CHECK_TOOL([OBJC], [gcc]) - AC_SUBST([OBJC]) - AC_SUBST([OBJCFLAGS]) - ]) - CPPFLAGS="$CPPFLAGS -DCONFIG_DARWIN" - ;; -esac +AC_CANONICAL_BUILD +AC_CANONICAL_HOST -AC_GNU_SOURCE -dnl Save CFLAGS, AC_ISC_POSIX set some unwanted default CFLAGS -saved_CFLAGS="$CFLAGS" -AC_ISC_POSIX -AC_PATH_MAGIC -CFLAGS="$saved_CFLAGS" -AC_HEADER_STDC +dnl check for Mac OS X universal binary support early, because certain flags +dnl must be set prior to looking for cc/libtool, etc. +MACOSX_UNIVERSAL_BINARIES + +dnl Check to see if $host is empty. If it is, try $host_alias instead. +dnl If $host is empty, it's because the user has run ./configure with a host +dnl parameter unknown to config.sub. This used to be set in xv handling, but +dnl it's also used in a bunch of other places unrelated to Xwindows support, +dnl so if X is disabled, other things could go badly. +host_or_hostalias="$host" +test x"$host_or_hostalias" = x"" && host_or_hostalias="$host_alias" + + +dnl ------------------- +dnl checks for programs +dnl ------------------- + +AC_PROG_CC +AC_PROG_OBJC +AM_PROG_AS AC_PROG_MAKE_SET AC_PROG_EGREP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_AWK -AC_C_INLINE AC_CHECK_TOOL([STRINGS], [strings], [false]) -dnl --------------------------------------------- -dnl Libtool -dnl --------------------------------------------- +AC_GNU_SOURCE +AC_ISC_POSIX +PKG_PROG_PKG_CONFIG + +dnl Check for documentation formatting tools +AC_CHECK_PROG([SGMLTOOLS], [sgmltools], [sgmltools], [no]) +AM_CONDITIONAL([HAVE_SGMLTOOLS], [test x"$SGMLTOOLS" != x"no"]) + +AC_CHECK_PROG([FIG2DEV], [fig2dev], [fig2dev], [no]) +AM_CONDITIONAL([HAVE_FIG2DEV], [test x"$FIG2DEV" != x"no"]) + + +dnl libtool m4_undefine([AC_PROG_F77]) m4_defun([AC_PROG_F77],[]) -AC_LIBTOOL_DLOPEN AC_DISABLE_STATIC +AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL +AC_PATH_MAGIC AC_PROG_LIBTOOL AC_PROG_LIBTOOL_SANITYCHECK + +dnl REVISIT: +dnl Nothing seems to use LIBTOOL_DEPS +dnl src/video_out/libdha and src/video_out/vidix both use STATIC -- why? AC_SUBST(LIBTOOL_DEPS) if ${CONFIG_SHELL} ./libtool --features | grep "enable static" >/dev/null; then - STATIC="-static" + STATIC="-static" else - STATIC= + STATIC= fi AC_SUBST(STATIC) dnl --------------------------------------------- -dnl Requirements for macros whose first invocations are conditional -dnl --------------------------------------------- - -PKG_PROG_PKG_CONFIG -CC_CHECK_WERROR - -dnl --------------------------------------------- -dnl NLS Support +dnl REVISIT: NLS Support dnl --------------------------------------------- dnl ALL_LINGUAS="cs da de el en@quot en@boldquot es et fr gl id it ja ko nl nn no pl pt pt_BR ru sl sv tr zh" @@ -246,93 +242,543 @@ AC_PROG_GMSGFMT_PLURAL AC_CHECK_FUNCS([nl_langinfo]) -dnl --------------------------------------------- -dnl Checks for typedefs, structures, and compiler characteristics. -dnl --------------------------------------------- +dnl -------------------- +dnl checks for libraries +dnl -------------------- + +AM_DL() + +dnl Test for socket and network support library +AC_CHECK_LIB([socket], [socket], [NET_LIBS="-lsocket $NET_LIBS"]) +AC_CHECK_LIB([nsl], [gethostbyname], [NET_LIBS="-lnsl $NET_LIBS"]) +AC_CHECK_LIB([resolv], [hstrerror], [NET_LIBS="-lresolv $NET_LIBS"]) +AC_SUBST(NET_LIBS) + +AC_CHECK_LIB([rt], [clock_getres], + [RT_LIBS="-lrt" + AC_DEFINE(HAVE_POSIX_TIMERS, 1, [Define this if you have POSIX timers.])], + [AC_MSG_RESULT([*** no POSIX timers available.])]) +AC_SUBST(RT_LIBS) + +AC_CHECK_LIB([posix4], [sched_get_priority_min]) + +dnl ----------------------- +dnl checks for header files +dnl ----------------------- + +AC_HEADER_STDC + +dnl REVISIT: should we not be using AC_FUNC_ALLOCA for this? +AC_CHECK_HEADERS([alloca.h]) + +AC_CHECK_HEADERS([assert.h byteswap.h dirent.h execinfo.h libgen.h malloc.h netdb.h ucontext.h]) +AC_CHECK_HEADERS([sys/ioctl.h sys/mixer.h sys/mman.h sys/param.h sys/times.h]) + + +dnl ---------------- +dnl checks for types +dnl ---------------- -AC_C_BIGENDIAN -AC_C_CONST -dnl AC_C_ALWAYS_INLINE removal allows ffmpeg to be more widely buildable AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_CHECK_SIZEOF(long) dnl AC_CHECK_TYPES([ptrdiff_t]) dnl For systems without inttypes.h would be needed extend generated replacement. AC_CHECK_GENERATE_INTTYPES([include]) -AM_CONDITIONAL(GENERATED_INTTYPES_H, test "x$ac_cv_header_inttypes_h" != x"yes") +AM_CONDITIONAL([GENERATED_INTTYPES_H], [test "x$ac_cv_header_inttypes_h" != x"yes"]) AC_CHECK_TYPE(ssize_t, :, AC_DEFINE(ssize_t, __int64, [define ssize_t to __int64 if it's missing in default includes])) -dnl --------------------------------------------- -dnl threads and OS specific stuff -dnl --------------------------------------------- +AC_CHECK_SOCKLEN_T -CC_PTHREAD_FLAGS(, [AC_MSG_ERROR([Pthread support is needed])]) +dnl --------------------- +dnl checks for structures +dnl --------------------- -dnl -AC_MSG_CHECKING(for recursive mutex support in pthread) -ac_save_LIBS="$LIBS" -LIBS="$LIBS $PTHREAD_LIBS" +AC_CHECK_IP_MREQN -have_recursive_mutex=no -AC_COMPILE_IFELSE(AC_LANG_SOURCE([#include <pthread.h> -int main() { - pthread_mutexattr_t attr; - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - return 0; -} - ]),[ - have_recursive_mutex=yes - ],[ - AC_MSG_ERROR(recursive mutex support is needed - please report) - ]) -LIBS="$ac_save_LIBS" +dnl ----------------------------------- +dnl checks for compiler characteristics +dnl ----------------------------------- -AC_MSG_RESULT($have_recursive_mutex) +if test x"$GCC" = x"yes"; then + GCC_VERSION="`"$CC" -dumpversion`" + GCC_VERSION_MAJOR="`echo "$GCC_VERSION" | cut -d '.' -f1`" + GCC_VERSION_MINOR="`echo "$GCC_VERSION" | cut -d '.' -f2`" + GCC_VERSION_PATCHLEVEL="`echo "$GCC_VERSION" | cut -d '.' -f3`" +fi +AC_SUBST(GCC_VERSION) +AC_SUBST(GCC_VERSION_MAJOR) +AC_SUBST(GCC_VERSION_MINOR) +AC_SUBST(GCC_VERSION_PATCHLEVEL) -AC_CHECK_DECL(sysi86,[ - AC_DEFINE(HAVE_SYSI86,1,[Define this if the 'sysi86' function is declared in sys/sysi86.h]) - ],,[ -#include <sys/sysi86.h> -]) +CC_CHECK_WERROR + +CC_PTHREAD_FLAGS([], [AC_MSG_ERROR([Pthread support is needed])]) +CC_PTHREAD_RECURSIVE_MUTEX([], [AC_MSG_ERROR([recursive mutex support is needed - please report])]) + +dnl REVISIT: AC_C_ALWAYS_INLINE removal allows ffmpeg to be more widely buildable +AC_C_BIGENDIAN +AC_C_CONST +AC_C_INLINE +AC_C_RESTRICT + +dnl ASM ALIGN is power of two ? +dnl src/post/planar +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[asm(".align 3");]])], + [AC_DEFINE([ASMALIGN_1SLN], [1], + [define if '.align n' means alignment to (1 << n) - byte boundaries])]) + +CC_ATTRIBUTE_ALIGNED + +CC_ATTRIBUTE_PACKED([XINE_PACKED='__attribute__((packed))'], + [AC_MSG_WARN([Your compiler doesn't support __attribute__((packed)); xine might not work as expected.])]) +AC_DEFINE_UNQUOTED([XINE_PACKED], [$XINE_PACKED], [Mark a structure as being packed]) + +CC_ATTRIBUTE_MALLOC + +CC_ATTRIBUTE_VISIBILITY([protected], + [visibility_export="protected"], + [CC_ATTRIBUTE_VISIBILITY([default], [visibility_export="default"])]) + +if test x"$visibility_export" != x""; then + CC_FLAG_VISIBILITY([VISIBILITY_FLAG="-fvisibility=hidden" + EXPORTED='__attribute__((visibility("default")))']) +fi +AC_DEFINE_UNQUOTED([EXPORTED], [$EXPORTED], [Mark a symbol as being exported if visibility is changed]) +AC_SUBST([VISIBILITY_FLAG]) + +CC_ATTRIBUTE_SENTINEL +CC_ATTRIBUTE_FORMAT +CC_ATTRIBUTE_FORMAT_ARG + +CC_CHECK_CFLAGS([-pipe], [miscflags="$miscflags -pipe"]) + +dnl Set warning flags for warnings that we do not want to skip. In all cases, +dnl these warnings should be enabled. Set these into CFLAGS and OBJCFLAGS +dnl later after all testing is done. + +CC_CHECK_CFLAGS([-Wall], [warnflags="$warnflags -Wall"]) + +CC_CHECK_CFLAGS([-Wformat=2], [wformat="-Wformat=2"], + [CC_CHECK_CFLAGS([-Wformat], [wformat="-Wformat"])]) +if test x"$wformat" != x""; then + CC_CHECK_CFLAGS([-Wno-format-zero-length], [wformat="$wformat -Wno-format-zero-length"]) +fi +CC_CHECK_CFLAGS([-Wmissing-format-attribute], [wformat="$wformat -Wmissing-format-attribute"]) +warnflags="$warnflags $wformat" + +dnl WARNING: This warning flag, if set into CFLAGS now, can break some autoconf tests. +CC_CHECK_CFLAGS([-Werror-implicit-function-declaration], [warnflags="$warnflags -Werror-implicit-function-declaration"]) + +CC_CHECK_CFLAGS([-Wstrict-aliasing=2], [warnflags="$warnflags -Wstrict-aliasing=2"], + [CC_CHECK_CFLAGS([-Wstrict-aliasing], [warnflags="$warnflags -Wstrict-aliasing"])]) + +CC_CHECK_CFLAGS([-Wchar-subscripts], [warnflags="$warnflags -Wchar-subscripts"]) +CC_CHECK_CFLAGS([-Wmissing-declarations], [warnflags="$warnflags -Wmissing-declarations"]) +CC_CHECK_CFLAGS([-Wmissing-prototypes], [warnflags="$warnflags -Wmissing-prototypes"]) + +dnl Some combinations of gcc and glibc produce useless warnings on memset when +dnl compiling with -Wpointer-arith, so check for this first. +AC_MSG_CHECKING([for sane -Wpointer-arith]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[int a; memset(&a, 0, sizeof(int))]])], + [warnflags="$warnflags -Wpointer-arith" + AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + +dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads +dnl are requested, as different implementations are present; to avoid problems +dnl use -Wl,-z,defs only for those platforms not behaving this way. +case "$host_or_hostalias" in + *-freebsd*) ;; -dnl --------------------------------------------- -dnl Windows ports checks -dnl --------------------------------------------- -case "$host" in - *-*-mingw* | *-*-cygwin*) dnl check if we are using the cygwin, mingw or cygwin with mno-cygwin mode dnl in which case we are actually dealing with a mingw32 compiler - case "$host" in - *-*-mingw32*) - SYS=mingw32 + dnl This cannot be done until AC_PROG_EGREP and AC_PROG_CC are both done. + *-*-mingw* | *-*-cygwin*) + case "$host_or_hostalias" in + *-*-mingw32*) + WIN32_SYS=mingw32 + ;; + *-*-cygwin*) + AC_EGREP_CPP([yes], + [#ifdef WIN32 + yes + #endif], + [WIN32_SYS=mingw32], [WIN32_SYS=cygwin]) + ;; + esac + + if test "$WIN32_SYS" = "mingw32"; then + WIN32_CPPFLAGS='-I$(top_srcdir)/win32/include' + LIBS="-lwinmm -lwsock32 $LIBS" + GOOM_LIBS="-liberty" + AC_SUBST(GOOM_LIBS) + AC_SUBST(WIN32_CPPFLAGS) + fi + LDFLAGS="-no-undefined $LDFLAGS" ;; - *-*-cygwin*) - AC_EGREP_CPP(pattern, - [#ifdef WIN32 - yes - #endif], - SYS=mingw32, SYS=cygwin) + + *) + CC_CHECK_LDFLAGS([-Wl,-z,defs], [NOUNDEF="-Wl,-z,defs"]) + AC_SUBST([NOUNDEF]) ;; - esac +esac - if test "$SYS" = "mingw32"; then - WIN32_CPPFLAGS='-I$(top_srcdir)/win32/include' - LIBS="-lwinmm -lwsock32 $LIBS" - GOOM_LIBS="-liberty" +AM_CONDITIONAL([WIN32], [test x"$WIN32_SYS" = x"mingw32"]) + +dnl No optimization at all. For gcc, this is the optimization level. +O0_CFLAGS="-O0" + +dnl Lowest level of optimization. For gcc, this enables: +dnl -fdefer-pop -fdelayed-branch -fguess-branch-probability -fcprop-registers +dnl -floop-optimize -fif-conversion -fif-conversion2 -ftree-ccp -ftree-dce +dnl -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs +dnl -ftree-sra -ftree-copyrename -ftree-fre -ftree-ch -fmerge-constants +dnl On platforms where -fomit-frame-pointer does not interfere with debugging, +dnl it is also enabled by -O1. +O1_CFLAGS="-O1" + +dnl Middle level of optimization. For gcc, this enables -O1 and: +dnl -fthread-jumps -fcrossjumping -foptimize-sibling-calls -fcse-follow-jumps +dnl -fcse-skip-blocks -fgcse -fgcse-lm -fexpensive-optimizations +dnl -fstrength-reduce -frerun-cse-after-loop -frerun-loop-opt -fcaller-saves +dnl -fforce-mem -fpeephole2 -fschedule-insns -fschedule-insns2 +dnl -fsched-interblock -fsched-spec -fregmove -fstrict-aliasing +dnl -fdelete-null-pointer-checks -freorder-blocks -freorder-functions +dnl -funit-at-a-time -falign-functions -falign-jumps -falign-loops +dnl -falign-labels -ftree-pre +dnl Note that Apple's version of gcc differs slightly, because it does not enable +dnl -fstrict-aliasing -freorder-blocks -fsched-interblock +O2_CFLAGS="-O2" + +dnl Highest level of optimization. For gcc, this enables -O2 and: +dnl -finline-functions -funswitch-loops -fgcse-after-reload +O3_CFLAGS="-O3" + +dnl gcc 3.3.5 (at least) is known to be buggy wrt optimization with +dnl -finline-functions, so use -fno-inline-functions for gcc < 3.4.0 +if test x"$GCC" = x"yes"; then + if test "$GCC_VERSION_MAJOR" -lt 3; then + O3_CFLAGS="$O3_CFLAGS -fno-inline-functions" + else + if test "$GCC_VERSION_MAJOR" -eq 3 -a "$GCC_VERSION_MINOR" -lt 4; then + O3_CFLAGS="$O3_CFLAGS -fno-inline-functions" + fi fi - LDFLAGS="-no-undefined $LDFLAGS" - ;; +fi + +CC_CHECK_CFLAGS([-ffast-math], [optflags="$optflags -ffast-math"]) +CC_CHECK_CFLAGS([-fexpensive-optimizations], [optflags="$optflags -fexpensive-optimizations"]) + +case "$host_or_hostalias" in + alphaev56-*) cpuflags="-mcpu=ev56 -mieee $cpuflags" ;; + alpha*) cpuflags="-mieee $cpuflags" ;; + + armv4l-*-linux*) + cpuflags="-mcpu=strongarm1100 -ffast-math -fsigned-char $cpuflags" + DEFAULT_OCFLAGS='$(O2_CFLAGS)' + ;; + + sparc*-*-linux*) + case "`uname -m`" in + sparc) cpuflags="-mcpu=supersparc -mtune=supersparc" ;; + sparc64) cpuflags="-mcpu=ultrasparc -mtune=ultrasparc" ;; + esac + test x"$enable_vis" != x"no" && has_vis=yes + AC_DEFINE([ARCH_SPARC], [], [Define this if you're running SPARC architecture]) + ;; + + sparc-*-solaris*) + if test x"$GCC" = x"yes"; then + case "`uname -m`" in + sun4c) cpuflags="-mcpu=v7 -mtune=supersparc" ;; + sun4m) cpuflags="-mcpu=v8 -mtune=supersparc" ;; + sun4u) + if test x"$GCC_VERSION_MAJOR" -lt 3; then + # -mcpu=ultrasparc triggers a GCC 2.95.x compiler bug + # when compiling video_out.c: + # gcc: Internal compiler error: program cc1 got fatal signal 11 + # avoid -mcpu=ultrasparc with gcc 2.* + cpuflags="-mcpu=v8 -mtune=ultrasparc" + else + cpuflags="-mcpu=ultrasparc -mtune=ultrasparc" + fi + ;; + esac + if test "$GCC_VERSION_MAJOR" -ge 3; then + test x$"enable_vis" != x"no" && has_vis=yes + fi + else + case "`uname -m`" in + sun4c) cpuflags="-xarch=v7" ;; + sun4m) cpuflags="-xarch=v8" ;; + sun4u) cpuflags="-xarch=v8plusa" ;; + esac + O1_CFLAGS="-fast -xCC" + O2_CFLAGS="$O1_CFLAGS" + O3_CFLAGS="$O1_CFLAGS" + fi + AC_DEFINE([ARCH_SPARC], [], [Define this if you're running SPARC architecture]) + ;; + + x86_64-*) + arch_x86=yes + AC_DEFINE([ARCH_X86_64], [], [Define this if you're running x86 architecture 64 bits]) + ;; + + *-*-darwin*) + case "$host_or_hostalias" in + i386-* | universal-* | x86_64-*) + arch_x86=yes + ;; + ppc* | powerpc*) + dnl avoid ppc compilation crash + AS="$CC" + + AC_CHECK_HEADER([altivec.h], [], [enable_altivec=no]) + if test x"$enable_altivec" != x"no"; then + AC_DEFINE([ENABLE_ALTIVEC], [], [Define this if you want to use altivec on PowerPC CPUs]) + cpuflags="$cpuflags -faltivec -maltivec" + LIBMPEG2_CFLAGS="$LIBMPEG2_CFLAGS -force_cpusubtype_ALL" + fi + ;; + esac + + enable_impure_text=yes + HOST_OS_DARWIN=1 + dnl HOST_OS_DARWIN is used by a bunch of difference stuff, including + dnl libdvdnav, libmpeg2, and xine itself (xine-engine, xine-utils) + AC_DEFINE([HOST_OS_DARWIN], 1, [Define this if built on Mac OS X/Darwin]) + dnl CONFIG_DARWIN is used by ffmpeg, so anything that pulls ffmpeg + dnl headers needs to have this set. + AC_DEFINE([CONFIG_DARWIN], 1, [Define this if built on Mac OS X/Darwin]) + CPPFLAGS="-D_INTL_REDIRECT_MACROS $CPPFLAGS" + ;; + + ppc-*-linux* | powerpc-*) + dnl avoid ppc compilation crash + AS="$CC" + AC_DEFINE([ARCH_PPC], [], [Define this if you're running PowerPC architecture]) + + AC_CHECK_HEADER([altivec.h], [], [enable_altivec=no]) + + if test x"$enable_altivec" != x"no"; then + AC_DEFINE([ENABLE_ALTIVEC], [], [Define this if you want to use altivec on PowerPC CPUs]) + cpuflags="$cpuflags -maltivec" + fi + ;; + + i?86-* | k?-* | athlon-* | pentium*) + arch_x86=yes + enable_impure_text=yes + + case "$host_or_hostalias" in + *-*-cygwin* | *-*-mingw32*) + CC_CHECK_CFLAGS([-fno-omit-frame-pointer], [W32_NO_OPTIMIZE="$W32_NO_OPTIMIZE -fno-omit-frame-pointer"]) + CC_CHECK_CFLAGS([-fno-inline-functions], [W32_NO_OPTIMIZE="$W32_NO_OPTIMIZE -fno-inline-functions"]) + CC_CHECK_CFLAGS([-fno-rename-registers], [W32_NO_OPTIMIZE="$W32_NO_OPTIMIZE -fno-rename-registers"]) + AC_SUBST(W32_NO_OPTIMIZE) + case "$host_or_hostalias" in + *-*-cygwin*) LIBS="$LIBS @INTLLIBS@ -lkernel32" ;; + esac + ;; + esac + + AC_DEFINE([ARCH_X86_32], [], [Define this if you're running x86 architecture 32 bits]) + + if test x"$GCC" = x"yes" -o x"${CC##*/}" = x"icc"; then + if test x"$GCC" = x"yes"; then + # GCC optimizations + CC_CHECK_CFLAGS([-mtune=i386], [sarchopt="-mtune"], + [CC_CHECK_CFLAGS([-mcpu=i386], [sarchopt="-mcpu"], + [CC_CHECK_CFLAGS([-march=i386], [sarchopt="-march"], [sarchopt="no"])])]) + if test "$sarchopt" != "no"; then + case "$host_or_hostalias" in + i386-*) archopt_val="i386" ;; + i486-*) archopt_val="i486" ;; + i586-*) archopt_val="pentium" ;; + pentium-mmx-*) archopt_val="pentium-mmx" ;; + k6-2* | k6-3-*) archopt_val="k6-2" ;; + k6-*) archopt_val="k6" ;; + pentium3-*) archopt_val="pentium3" ;; + pentium4-*) archopt_val="pentium4" ;; + + athlon-4-* | athlon-xp-* | althon-mp-*) archopt_val="athlon-4" ;; + k7-* | athlon-tbird-* | athlon-*) archopt_val="athlon" ;; + + pentiumpro-* | pentium2-* | i686-*) + archopt_val="pentiumpro" + if test x"$cross_compiling" != x"yes"; then + if test -f /proc/cpuinfo; then + modelname=`cat /proc/cpuinfo | grep "model\ name\ :" | sed -e 's/ //g' | cut -d ':' -f2` + case "$modelname" in + *Athlon* | *Duron* | *K7*) + dnl Special check for k7 cpu CC support + CC_CHECK_CFLAGS([$sarchopt=athlon], + [archopt_val="athlon"], [archopt_val="i686"]) + ;; + VIAEzra) + archopt_val="c3" + ;; + esac + fi + fi + ;; + esac + test x$"archopt_val" != x"" && cpuflags="$cpuflags $sarchopt=$archopt_val" + fi + else + # Intel optimizations + O3_CFLAGS="$O3_CFLAGS -unroll -ipo -ipo_obj" + fi + fi + ;; esac -AC_SUBST(GOOM_LIBS) -AC_SUBST(WIN32_CPPFLAGS) -AM_CONDITIONAL(WIN32, test "x$SYS" = "xmingw32") + +if test "x$has_vis" = "xyes"; then + AC_DEFINE([ENABLE_VIS], [], [Define this if you have Sun UltraSPARC CPU]) + case "$cpuflags" in + *-mcpu=*) ;; + *) cpuflags="$cpuflags -mcpu=v9" ;; + esac +fi +AM_CONDITIONAL([ENABLE_VIS], test x"$has_vis" = x"yes") + +dnl Allow turning off/on of optimizations. By default, optimizations are +dnl enabled if --enable-debug is not specified. Even with --enable-debug, +dnl optimizations can be enabled by explicitly specifying --enable-optimizations +AC_ARG_ENABLE([optimizations], + [AS_HELP_STRING([--disable-optimizations], [Don't try to guess what optimization to enable])], + [], [test x"$enable_debug" != x"no" && enable_optimizations="no"]) +if test x"$enable_optimizations" = x"no"; then + O1_CFLAGS="$O0_CLFAGS" + O2_CFLAGS="$O0_CFLAGS" + O3_CFLAGS="$O0_CFLAGS" +else + O1_CFLAGS="$O1_CFLAGS $optflags $cpuflags" + O2_CFLAGS="$O2_CFLAGS $optflags $cpuflags" + O3_CFLAGS="$O3_CFLAGS $optflags $cpuflags" + + dnl For multi-pass compilation: never when cross-compiling + if test x"$cross_compiling" != x"yes"; then + if test x"$GCC" = x"yes"; then + CC_CHECK_CFLAGS([-fprofile-arcs], [CC_CHECK_CFLAGS([-fbranch-probabilities], + [PASS1_CFLAGS="-fprofile-arcs $PASS1_CFLAGS" + PASS2_CFLAGS="-fbranch-probabilities $PASS2_CFLAGS"])]) + else + pass1flags="-prof_dir \$(PWD)/\$(top_builddir)/ -prof_genx" + pass2flags="-prof_dir \$(PWD)/\$(top_builddir)/ -prof_use" + CC_CHECK_CFLAGS(["$pass1flags"], [CC_CHECK_CFLAGS(["$pass2flags"], + [PASS1_CFLAGS="$pass1flags $PASS1_CFLAGS" + PASS2_CFLAGS="$pass2flags $PASS2_CFLAGS"])]) + fi + fi +fi +AC_SUBST(O0_CFLAGS) +AC_SUBST(O1_CFLAGS) +AC_SUBST(O2_CFLAGS) +AC_SUBST(O3_CFLAGS) + +AC_SUBST(PASS1_CFLAGS) +AC_SUBST(PASS2_CFLAGS) + +test x"$DEFAULT_OCFLAGS" = x"" && DEFAULT_OCFLAGS='$(O3_CFLAGS)' +AC_SUBST(DEFAULT_OCFLAGS) + +if test x"$arch_x86" = x"yes"; then + AC_DEFINE([ARCH_X86], [], [Define this if you're running x86 architecture]) + AC_DEFINE([HAVE_MMX], [], [Define this if you can compile MMX asm instructions]) +fi +AM_CONDITIONAL([ARCH_X86], test x"$arch_x86" = x"yes") +AM_CONDITIONAL([HAVE_MMX], test x"$arch_x86" = x"yes") +AM_CONDITIONAL([HOST_OS_DARWIN], test x"$HOST_OS_DARWIN" = x"1") + +if test x"$enable_impure_text" = x"yes"; then + case "$host_or_hostalias" in + *solaris*) + if test "$GCC" = yes; then + IMPURE_TEXT_LDFLAGS="-mimpure-text" + else + IMPURE_TEXT_LDFLAGS="-z textoff" + fi + ;; + *darwin*) + IMPURE_TEXT_LDFLAGS="-Wl,-read_only_relocs,warning" + ;; + esac +fi +AC_SUBST(IMPURE_TEXT_LDFLAGS) + + +dnl ---------------------------- +dnl checks for library functions +dnl ---------------------------- + +dnl src/libfaad +AC_CHECK_DECL(lrintf,[ + AC_DEFINE([HAVE_LRINTF], [1], [Define this if the 'lrintf' function is declared in math.h]) + AC_DEFINE([_ISOC9X_SOURCE], [1], [Define this if you are ISO C9X compliant]) + ],,[ +#define _ISOC9X_SOURCE +#include <math.h> +]) + +dnl contrib/libdca, src/video_out/vidix/drivers/mach64_vid.c +AC_CHECK_FUNCS([memalign]) + +dnl src/input/input_file.c +AC_ARG_ENABLE([mmap], + AS_HELP_STRING([--enable-mmap], [Enable mmap() file loading (default: no)])) +if test x"$enable_mmap" = x"yes"; then + AC_CHECK_FUNCS([mmap]) +fi + +AC_CHECK_FUNCS([vsscanf sigaction sigset getpwuid_r nanosleep lstat memset readlink strchr va_copy]) + +AC_CHECK_FUNCS([snprintf _snprintf], [have_required_function="yes"]) + test x"$have_required_function" != x"yes" && AC_MSG_ERROR([required function not found]) +AC_CHECK_FUNCS([vsnprintf _vsnprintf], [have_required_function="yes"]) + test x"$have_required_function" != x"yes" && AC_MSG_ERROR([required function not found]) +AC_CHECK_FUNCS([strcasecmp _stricmp], [have_required_function="yes"]) + test x"$have_required_function" != x"yes" && AC_MSG_ERROR([required function not found]) +AC_CHECK_FUNCS([strncasecmp _strnicmp], [have_required_function="yes"]) + test x"$have_required_function" != x"yes" && AC_MSG_ERROR([required function not found]) + +AC_FUNC_FSEEKO + +AC_REPLACE_FUNCS([asprintf basename gettimeofday setenv strndup strpbrk strsep strtok_r timegm unsetenv]) + +AC_LIBSOURCE([hstrerror.c]) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[hstrerror(0)]])], + [AC_DEFINE([HAVE_HSTRERROR], 1, [Define to 1 if you have 'hstrerror' in <netdb.h>])], + [AC_LIBOBJ([hstrerror])]) + +AC_LIBSOURCE([dirent_msvc.c]) +AC_CHECK_FUNC([opendir], + [AC_DEFINE([HAVE_OPENDIR], 1, [Define to 1 if you have 'opendir' function])], + [if test x"$WIN32_SYS" = x"mingw32"; then + AC_LIBOBJ([dirent_msvc]) + else + AC_MSG_ERROR([dirent is needed (opendir, readdir, ...)]) + fi]) + + +dnl -------------------------- +dnl checks for system services +dnl -------------------------- + +AC_SYS_LARGEFILE + + + + + + + + + -dnl --------------------------------------------- -dnl dynamic linker -dnl --------------------------------------------- -AM_DL() dnl --------------------------------------------- @@ -340,7 +786,7 @@ dnl determine libdir name dnl --------------------------------------------- AC_MSG_CHECKING([libdir name]) -case $host in +case $host_or_hostalias in *-*-linux*) # Test if the compiler is 64bit echo 'int i;' > conftest.$ac_ext @@ -437,27 +883,6 @@ AM_CONDITIONAL([FFMPEG_DISABLE_POPULAR_CODECS], [test "x$enable_ffmpeg_popular_c LIBMPEG2_CFLAGS="" -AC_CHECK_DECL(lrintf,[ - AC_DEFINE(HAVE_LRINTF,1,[Define this if the 'lrintf' function is declared in math.h]) - AC_DEFINE(_ISOC9X_SOURCE,1,[Define this if you are ISO C9X compliant]) - ],,[ -#define _ISOC9X_SOURCE -#include <math.h> -]) -AC_CHECK_DECL(rintf,[ - AC_DEFINE(HAVE_RINTF,1,[Define this if the 'rintf' function is declared in math.h]) - ],,[ -#include <math.h> -]) - -AC_CHECK_FUNCS(memalign) - -AC_ARG_ENABLE([altivec], - AS_HELP_STRING([--disable-altivec], [do not use assembly codes for Motorola 74xx CPUs])) - -AC_ARG_ENABLE([vis], - AS_HELP_STRING([--disable-vis], [do not use assembly codes for Sun UltraSPARC CPUs])) - AC_ARG_ENABLE([mlib], AS_HELP_STRING([--disable-mlib], [do not build Sun mediaLib support])) @@ -499,87 +924,9 @@ AM_CONDITIONAL(HAVE_MLIB, test "x$ac_have_mlib" = "xyes") AC_SUBST(MLIB_LIBS) AC_SUBST(MLIB_CFLAGS) -dnl --------------------------------------------- -dnl Checks for X11 -dnl --------------------------------------------- - -if test "x$with_x" != "xno"; then - PKG_CHECK_MODULES([X], [x11 xext], , [ - AC_PATH_XTRA - - dnl Set xv_path if its not done already - dnl we do it here before rewriting X_LIBS - if test x$xv_path = x; then - xv_path=`echo $X_LIBS | sed -e 's/\-L\(.*\)/\1/'` - fi - - dnl ---------------------------------------------- - dnl Check for XShm support (required with X) - dnl ---------------------------------------------- - - if test "x$no_x" != "xyes"; then - ac_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - AC_CHECK_HEADERS([X11/extensions/XShm.h], [true], - [AC_MSG_ERROR([XShm extension is required])]) - AC_CHECK_LIB([Xext], [main], [true], - [AC_MSG_ERROR([libXext is required])], [$X_LIBS]) - CPPFLAGS="$ac_save_CPPFLAGS" - X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXext" - fi - ]) -else - no_x="yes" -fi - -if test "x$no_x" != "xyes"; then - AC_DEFINE(HAVE_X11,1,[Define this if you have X11R6 installed]) -fi -AM_CONDITIONAL(HAVE_X11, [test "x$no_x" != "xyes"]) - - -dnl --------------------------------------------- -dnl Locate libraries needed for X health check -dnl --------------------------------------------- - -soname_script="/[[0-9]]$/! d; s%^.*/%% -t q -b -:q -q" -x_lib_location="`ls -1 "${x_libraries:-/usr/local/lib}/libX11.so"* "${x_libraries:-/usr/lib}/libX11.so"* 2>/dev/null | sed -e \"${soname_script}\"`" -AC_DEFINE_UNQUOTED([LIBX11_SO], "${x_lib_location:-libX11.so}", [The soname of libX11, needed for dlopen()]) -x_lib_location="`ls -1 "${x_libraries:-/usr/local/lib}/libXv.so"* "${x_libraries:-/usr/lib}/libXv.so"* 2>/dev/null | sed -e \"${soname_script}\"`" -AC_DEFINE_UNQUOTED([LIBXV_SO], "${x_lib_location:-libXv.so}", [The soname of libXv, needed for dlopen()]) - - -dnl --------------------------------------------- -dnl socket library -dnl --------------------------------------------- - -dnl Test for socket and network support library -NET_LIBS="" -AC_CHECK_LIB(socket, socket, NET_LIBS="-lsocket $NET_LIBS",) -AC_CHECK_LIB(nsl, gethostbyname, NET_LIBS="-lnsl $NET_LIBS",) -AC_SUBST(NET_LIBS) - - -dnl --------------------------------------------- -dnl socklen_t -dnl --------------------------------------------- -AC_CHECK_SOCKLEN_T - - -dnl --------------------------------------------- -dnl IPv6 -dnl --------------------------------------------- -AC_ARG_ENABLE([ipv6], - AS_HELP_STRING([--enable-ipv6], [enable use of IPv6])) +XINE_X11_SUPPORT -if test "x$enable_ipv6" = "xyes"; then - AC_DEFINE([ENABLE_IPV6], [1], [Enable this when IPv6 is requested]) -fi dnl --------------------------------------------- dnl zlib @@ -619,17 +966,6 @@ AC_SUBST(ZLIB_LIBS) dnl --------------------------------------------- -dnl check posix timers -dnl --------------------------------------------- - -AC_CHECK_LIB(rt, clock_getres, - [RT_LIBS="-lrt" - AC_DEFINE(HAVE_POSIX_TIMERS,1, - [Define this if you have POSIX timers.])], - AC_MSG_RESULT([*** no POSIX timers available.])) -AC_SUBST(RT_LIBS) - -dnl --------------------------------------------- dnl Check for OpenGL & [GLut | GLU] dnl --------------------------------------------- @@ -671,206 +1007,7 @@ fi AM_CONDITIONAL(HAVE_V4L, [test "x$have_v4l" = "xyes"]) -dnl ---------------------------------------------- -dnl Check for Xv and XvMC support -dnl ---------------------------------------------- - -dnl With recent XFree86 or Xorg, dynamic linking is preferred! -dnl Only dynamic linking is possible when using libtool < 1.4.0 - -AC_ARG_WITH(xv-path, AS_HELP_STRING([--with-xv-path=path], [where libXv is installed]), - xv_path="$withval",) - -AC_ARG_ENABLE([static-xv], - AS_HELP_STRING([--enable-static-xv],[Enable this to force linking against libXv.a])) - -if test "x$enable_static_xv" = "xyes"; then - xv_prefer_shared="no" -else - xv_prefer_shared="yes" -fi - -if test "x$no_x" != "xyes"; then - PKG_CHECK_MODULES([XV], [xv], [ - ac_have_xv="yes" - AC_DEFINE([HAVE_XV], [1], [Define this if you have libXv installed]) - ], [AC_FIND_LIBXV]) -fi -AM_CONDITIONAL(HAVE_XV, test "x$ac_have_xv" = "xyes") - - -host_or_hostalias="$host" -if test "$host_or_hostalias" = ""; then - dnl user has called ./configure with a host parameter unknown to - dnl config.sub; the canonical "$host" is empty - dnl - dnl Try the following switch with user's original host_alias - dnl input instead. - dnl - host_or_hostalias="$host_alias" -fi - -case "$host_or_hostalias" in - hppa*) - if test "x$ac_have_xv_static" = "xyes"; then - echo "warning: hppa linker - disabling static libXv" - XV_LIBS="libXv.so" - fi - ;; - - ppc-*-linux* | powerpc-*) - ppc_arch="yes" - ;; - - *) - ;; -esac -AM_CONDITIONAL(PPC_ARCH, test "x$ppc_arch" = "xyes") - -dnl -dnl Check if we can enable the xxmc plugin. -dnl - -AC_ARG_ENABLE([xvmc], - AS_HELP_STRING([--disable-xvmc], [Disable XxMC and XvMC outplut plugins]) ) - -if test "x$no_x" = "x" && test "x$enable_xvmc" != "xno"; then - -AC_ARG_WITH(xxmc-path, AS_HELP_STRING([--with-xxmc-path=path], [where libXvMC libraries for the - xxmc plugin are installed. Defalts to the default X library path.]), - xxmc_path="$withval", xxmc_path="$x_libraries") -AC_ARG_WITH(xxmc-lib, AS_HELP_STRING([--with-xxmc-lib=XXXX], [The name of the XvMC library - libXXXX.so for the xxmc plugin.]),xxmc_stub="$withval", - xxmc_stub="XvMCW") - -saved_libs="$LIBS" -saved_CPPFLAGS="$CPPFLAGS" -if test "x$x_includes" != "x"; then - CPPFLAGS="$CPPFLAGS -I$x_includes" -fi - -XXMC_LIBS="-L$xxmc_path -l$xxmc_stub" -AC_MSG_CHECKING(whether to enable the xxmc plugin with vld extensions) -AC_MSG_RESULT() -dnl Check if vld "extended" XvMC is available -if test "x$xxmc_stub" == "xXvMCW" && test "x$ac_have_xv" == "xyes"; then - AC_CHECK_LIB($xxmc_stub, XvMCPutSlice, - ac_have_xxmc="yes", - [ac_have_xxmc="no" - AC_MSG_RESULT([*** Could not link with -l$xxmc_stub for vld extensions.])], - [-L$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) -else - if test "x$ac_have_xv" = "xyes"; then - AC_CHECK_LIB($xxmc_stub, XvMCPutSlice, - [ac_have_xxmc="yes" - XXMC_LIBS="$XXMC_LIBS -lXvMC"], - [ac_have_xxmc="no" - AC_MSG_RESULT([*** Could not link with -l$xxmc_stub -lXvMC for vld extensions.])], - [-L$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) - else - ac_have_xxmc="no", - fi -fi - -if test "x$ac_have_xxmc" = "xyes"; then - AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, - [ac_have_vldxvmc_h="yes"], - ac_have_vldxvmc="no",) - if test "x$ac_have_vldxvmc_h" = "xyes"; then - AC_DEFINE([HAVE_VLDXVMC], [1], - [Define 1 if you have vldXvMC.h]) - fi -fi -dnl Try fallback to standard XvMC if vld failed -if test "x$ac_have_xxmc" = "xno"; then - if test "x$xxmc_stub" == "xXvMCW"; then - AC_CHECK_LIB($xxmc_stub, XvMCCreateContext, - ac_have_xxmc="yes", - [ac_have_xxmc="no" - AC_MSG_RESULT([*** Could not link with -l$xxmc_stub for standard XvMC.])], - [-L$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) - else - if test "x$ac_have_xv" = "xyes"; then - AC_CHECK_LIB($xxmc_stub, XvMCCreateContext, - [ac_have_xxmc="yes" - XXMC_LIBS="$XXMC_LIBS -lXvMC"], - [ac_have_xxmc="no" - AC_MSG_RESULT([*** Could not link with -lXvMC for standard XvMC.])], - [-L$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) - else - ac_have_xxmc="no", - fi - fi -fi -if test "x$ac_have_xxmc" = "xyes"; then - AC_CHECK_HEADERS(X11/extensions/XvMC.h,, - ac_have_xxmc="no",) -fi -if test "x$ac_have_xxmc" = "xyes"; then - AC_DEFINE(HAVE_XXMC,1,[Define this to compile the xxmc plugin.]) - if test "x$ac_have_vldxvmc_h" = "xyes"; then - AC_MSG_RESULT([*** Enabling xxmc plugin with vld extensions.]) - else - AC_MSG_RESULT([*** Enabling xxmc plugin for standard XvMC *only*.]) - fi -else - AC_MSG_RESULT([*** Disabling xxmc plugin due to above errors.]) -fi -LIBS="$saved_libs" -fi -AM_CONDITIONAL(HAVE_VLDXVMC, test "x$ac_have_vldxvmc_h" = "xyes") -AM_CONDITIONAL(HAVE_XXMC, test "x$ac_have_xxmc" = "xyes") -AC_SUBST(XXMC_LIBS) - -dnl -dnl Check if we can enable the xvmc plugin. -dnl -if test "x$no_x" = "x" && test "x$enable_xvmc" != "xno"; then - -AC_ARG_WITH(xvmc-path, AS_HELP_STRING([--with-xvmc-path=path], [where libXvMC libraries for the - xvmc plugin are installed. Defalts to the default X library path.]), - xvmc_path="$withval", xvmc_path="$x_libraries") -AC_ARG_WITH(xvmc-lib, AS_HELP_STRING([--with-xvmc-lib=XXXX], [The name of the XvMC library - libXXXX.so for the xvmc plugin.]),xvmc_stub="$withval", - xvmc_stub="XvMCW") -saved_libs="$LIBS" -XVMC_LIBS="-L$xvmc_path -l$xvmc_stub" -AC_MSG_CHECKING(whether to enable the xvmc plugin) -AC_MSG_RESULT() -if test "x$xvmc_stub" == "xXvMCW"; then - AC_CHECK_LIB($xvmc_stub, XvMCCreateContext, - ac_have_xvmc="yes", - [ac_have_xvmc="no" - AC_MSG_RESULT([*** Could not link with -l$xvmc_stub.])], - [-L$xvmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) -else - if test "x$ac_have_xv" = "xyes"; then - AC_CHECK_LIB($xvmc_stub, XvMCCreateContext, - [ac_have_xvmc="yes" - XVMC_LIBS="$XVMC_LIBS -lXvMC"], - [ac_have_xvmc="no" - AC_MSG_RESULT([*** Could not link with -lXvMC.])], - [-L$xvmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) - else - ac_have_xvmc="no", - fi -fi -if test "x$ac_have_xvmc" = "xyes"; then - AC_CHECK_HEADERS(X11/extensions/XvMC.h,, - ac_have_xvmc="no",) -fi -if test "x$ac_have_xvmc" = "xyes"; then - AC_DEFINE(HAVE_XVMC,1,[Define this if you have an XvMC library and XvMC.h installed.]) - AC_MSG_RESULT([*** Enabling old xvmc plugin.]) -else - AC_MSG_RESULT([*** Disabling old xvmc plugin due to above errors.]) -fi -CPPFLAGS="$saved_CPPFLAGS" -LIBS="$saved_libs" -fi -AM_CONDITIONAL(HAVE_XVMC, test "x$ac_have_xvmc" = "xyes") -AC_SUBST(XVMC_LIBS) - +XINE_XV_SUPPORT dnl --------------------------------------------- dnl Check for xcb @@ -1014,18 +1151,14 @@ dnl --------------------------------------------- dnl Check whether to build Mac OS X video output driver dnl --------------------------------------------- -AC_ARG_ENABLE(macosx_video, AS_HELP_STRING([--enable-macosx-video], [enable support for Mac OS X OpenGL video output]), - have_macosx_video=$enableval) -AM_CONDITIONAL(HAVE_MACOSX_VIDEO, [test "x$have_macosx_video" = "xyes"]) +MACOSX_VIDEO_SUPPORT dnl --------------------------------------------- dnl Check whether to build Mac OS X audio output driver dnl --------------------------------------------- -AC_ARG_ENABLE(coreaudio, AS_HELP_STRING([--enable-coreaudio], [enable support for Mac OS X Coreaudio output]), - have_coreaudio=$enableval) -AM_CONDITIONAL(HAVE_COREAUDIO, [test "x$have_coreaudio" = "xyes"]) +MACOSX_AUDIO_SUPPORT dnl --------------------------------------------- @@ -1731,248 +1864,7 @@ dnl --------------------------------------------- dnl Video CD dnl --------------------------------------------- -AC_ARG_ENABLE(vcd, AS_HELP_STRING([--disable-vcd], [do not compile VCD plugin]), - enable_vcd=$enableval, enable_vcd=yes) - -dnl Force build of both vcd plugins, for now. -dnl AC_ARG_ENABLE(vcdo, AS_HELP_STRING([--disable-vcdo], [do not compile old VCD plugin]), -dnl enable_vcdo=$enableval, enable_vcdo=yes) -dnl -enable_vcdo="yes" - -AC_ARG_WITH(internal-vcdlibs, AS_HELP_STRING([--with-internal-vcdlibs], [force using internal libcdio/libvcd/libvcdinfo]), - [internal_vcdnav="$withval"], [internal_vcdnav="no"]) - -if test "x$enable_vcd" = "xyes"; then - dnl empty_array_size - AC_MSG_CHECKING([how to create empty arrays]) - - empty_array_size="xxx" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[struct { int foo; int bar[]; } doo;]])],[empty_array_size=""],[]) - - if test "x$empty_array_size" = "xxxx";then - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[struct { int foo; int bar[0]; } doo;]])],[empty_array_size="0"],[]) - fi - - if test "x$empty_array_size" = "xxxx" - then - AC_MSG_ERROR([compiler is unable to creaty empty arrays]) - else - AC_DEFINE_UNQUOTED(EMPTY_ARRAY_SIZE, $empty_array_size, - [what to put between the brackets for empty arrays]) - changequote(`,') - msg="[${empty_array_size}]" - changequote([,]) - AC_MSG_RESULT($msg) - fi - dnl empty_array_size - - if test "x$internal_vcdnav" = "xno" ; then - PKG_CHECK_MODULES([LIBCDIO], [libcdio >= 0.71], [], [internal_vcdnav=yes]) - PKG_CHECK_MODULES([LIBVCDINFO], [libvcdinfo >= 0.7.23], [], [internal_vcdnav=yes]) - if test "x$internal_vcdnav" = "xyes"; then - AC_MSG_RESULT([Use included libcdio/libvcdinfo support]) - fi - fi - - dnl check twice, fallback is internal copy - if test "x$internal_vcdnav" = "xno"; then - AC_DEFINE([HAVE_VCDNAV], [1], [Define this if you use external libcdio/libvcdinfo]) - else - AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_os/$host_cpu", [host os/cpu identifier]) - - AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release) - AC_HEADER_STDC - AC_CHECK_HEADERS(sys/stat.h stdint.h glob.h inttypes.h stdbool.h) - - if test "x$ac_cv_header_stdint_h" != "xyes" - then - AC_CHECK_SIZEOF(int, 4) - AC_CHECK_SIZEOF(long, 4) - AC_CHECK_SIZEOF(long long, 8) - fi - - dnl ISOC99_PRAGMA - AC_MSG_CHECKING([whether $CC supports ISOC99 _Pragma()]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[_Pragma("pack(1)")]])],[ - ISOC99_PRAGMA=yes - AC_DEFINE(HAVE_ISOC99_PRAGMA, [], [Supports ISO _Pragma() macro]) - ],[ISOC99_PRAGMA=no]) - AC_MSG_RESULT($ISOC99_PRAGMA) - - dnl - dnl bitfield order - dnl - AC_MSG_CHECKING([bitfield ordering in structs]) - - dnl basic compile test for all platforms - AC_COMPILE_IFELSE([ -int main() { - struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; } -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) - __attribute__((packed)) -#endif - bf = { 1,1,1,1 }; - switch (0) case 0: case sizeof(bf) == 1:; - return 0; -} -], [], AC_MSG_ERROR([compiler doesn't support bitfield structs])) - - - dnl run test - AC_RUN_IFELSE([ -int main() { - struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; } -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) - __attribute__((packed)) -#endif - bf = { 1,1,1,1 }; - if (sizeof (bf) != 1) return 1; - return *((unsigned char*) &bf) != 0x4b; } -], bf_lsbf=1, [ - AC_RUN_IFELSE([ -int main() { - struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; } -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) - __attribute__((packed)) -#endif - bf = { 1,1,1,1 }; - if (sizeof (bf) != 1) return 1; - return *((unsigned char*) &bf) != 0xa5; } -], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])) - ], - [case "$host" in - *-*-mingw32* | *-*-cygwin*) - bf_lsbf=1 - ;; - universal-*-darwin*) - bf_lsbf=0 - ;; - *) - AC_MSG_RESULT([unknown]) - AC_MSG_ERROR([value of bitfield test isn't known for $host -********************************************************************* -Value of bitfield test can't be found out for cross-compiling and we -don't know its value for host "$host". - -Because it's needed for VCD plugin, disable VCD by configure option ---disable-vcd or use external VCD library. -*********************************************************************]) - esac] -) - - if test "x$cross_compiling" = "xyes"; then - TEXT=" (guessed)" - else - TEXT="" - fi - if test "x$bf_lsbf" = "x1"; then - AC_MSG_RESULT(LSBF${TEXT}) - AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields]) - else - AC_MSG_RESULT(MSBF${TEXT}) - fi - - AC_CHECK_HEADERS([errno.h fcntl.h \ - stdbool.h stdlib.h stdint.h stdio.h string.h \ - strings.h linux/version.h sys/cdio.h sys/stat.h \ - sys/types.h ]) - - LIBCDIO_CFLAGS='-I$(top_srcdir)/src/input/vcd/libcdio' - LIBCDIO_LIBS='$(top_builddir)/src/input/vcd/libcdio/libcdio.la' - LIBISO9660_LIBS='$(top_builddir)/src/input/vcd/libcdio/libiso9660.la' - LIBVCD_CFLAGS='-I$(top_srcdir)/src/input/vcd/libvcd' - LIBVCD_LIBS='$(top_builddir)/src/input/vcd/libvcd/libvcd.la' - LIBVCDINFO_LIBS='$(top_builddir)/src/input/vcd/libvcd/libvcdinfo.la' - - case $host_os in - darwin*) - AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h, - [have_iokit_h="yes"]) - if test "x$have_iokit_h" = "xyes" ; then - AC_DEFINE([HAVE_DARWIN_CDROM], [1], - [Define 1 if you have Darwin OS X-type CD-ROM support]) - fi - ;; - linux*) - AC_CHECK_HEADERS(linux/version.h) - AC_CHECK_HEADERS(linux/cdrom.h, [have_linux_cdrom_h="yes"]) - if test "x$have_linux_cdrom_h" = "xyes" ; then - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ -#include <linux/cdrom.h> -struct cdrom_generic_command test; -int has_timeout=sizeof(test.timeout);]])], - [AC_DEFINE([HAVE_LINUX_CDROM_TIMEOUT], [1], - [Define 1 if timeout is in cdrom_generic_command struct])],[]) - AC_DEFINE([HAVE_LINUX_CDROM], [1], - [Define 1 if you have Linux-type CD-ROM support]) - fi - ;; - bsdi*) - AC_CHECK_HEADERS(dvd.h, [have_bsdi_dvd_h="yes"]) - if test "x$have_bsdi_dvd_h" = "xyes" ; then - AC_DEFINE([HAVE_BSDI_CDROM], [1], - [Define 1 if you have BSDI-type CD-ROM support]) - fi - ;; - sunos*|sun*|solaris*) - AC_CHECK_HEADERS(sys/cdio.h) - AC_DEFINE([HAVE_SOLARIS_CDROM], [1], - [Define 1 if you have Solaris CD-ROM support]) - ;; - cygwin*) - AC_DEFINE([CYGWIN], [1], - [Define 1 if you are compiling using cygwin]) - AC_DEFINE([HAVE_WIN32_CDROM], [1], - [Define 1 if you have MinGW CD-ROM support]) - LIBCDIO_LIBS="$LIBCDIO_LIBS -lwinmm" - LIBVCD_LIBS="$LIBVCD_LIBS -lwinmm" - ;; - mingw*) - AC_DEFINE([MINGW32], [1], - [Define 1 if you are compiling using MinGW]) - AC_DEFINE([HAVE_WIN32_CDROM], [1], - [Define 1 if you have MinGW CD-ROM support]) - ;; - freebsd4.*) - AC_DEFINE([HAVE_FREEBSD_CDROM], [1], - [Define 1 if you have FreeBSD CD-ROM support]) - ;; - *) - AC_MSG_WARN(Don't have OS CD-reading support for ${host_os}...) - AC_MSG_WARN(Will use generic support.) - ;; - esac - AC_SUBST(LINUX_CDROM_TIMEOUT) - AC_SUBST(HAVE_BSDI_CDROM) - AC_SUBST(HAVE_DARWIN_CDROM) - AC_SUBST(HAVE_FREEBSD_CDROM) - AC_SUBST(HAVE_LINUX_CDROM) - AC_SUBST(HAVE_SOLARIS_CDROM) - AC_SUBST(HAVE_WIN32_CDROM) - AC_SUBST(LINUX_CDROM_TIMEOUT) - AC_SUBST(LIBVCD_SYSDEP) - - AC_CHECK_FUNCS( bzero memcpy ) - - AC_CHECK_MEMBER([struct tm.tm_gmtoff], - [AC_DEFINE(HAVE_TM_GMTOFF, 1, - [Define if struct tm has the tm_gmtoff member.])], - , - [#include <time.h>]) - fi -fi - -AC_DEFINE([LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) -AC_DEFINE([EXTERNAL_LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) -AC_SUBST(LIBCDIO_CFLAGS) -AC_SUBST(LIBCDIO_LIBS) -AC_SUBST(LIBISO9660_LIBS) -AC_SUBST(LIBVCD_CFLAGS) -AC_SUBST(LIBVCD_LIBS) -AC_SUBST(LIBVCDINFO_LIBS) -AM_CONDITIONAL(HAVE_VCDNAV, [test "x$internal_vcdnav" = "xno"]) -AM_CONDITIONAL(ENABLE_VCD, [test "x$enable_vcd" = "xyes"]) +VCD_SUPPORT dnl --------------------------------------------- @@ -2064,7 +1956,7 @@ AC_ARG_WITH([real-codecs-path], dnl On some systems, we cannot enable Real codecs support to begin with. dnl This includes Darwin, that uses Mach-O rather than ELF. -case $host in +case $host_or_hostalias in *-darwin*) enable_real_codecs="no" ;; esac @@ -2083,338 +1975,47 @@ fi AM_CONDITIONAL([ENABLE_REAL], [test "x$enable_real_codecs" != "xno"]) -dnl -------------------------------------------- -dnl mmap() support -dnl -------------------------------------------- - -AC_ARG_ENABLE([mmap], - AS_HELP_STRING([--enable-mmap], [Enable mmap() file loading (default: no)])) - -if test "x$enable_mmap" = "xyes"; then - AC_CHECK_FUNCS([mmap]) -fi - -dnl --------------------------------------------- -dnl antialising support -dnl --------------------------------------------- - -AC_ARG_ENABLE([antialiasing], - AS_HELP_STRING([--enable-antialiasing], [enable font antialiasing])) - -if test "x$enable_antialiasing" = "xyes"; then - AC_DEFINE(ENABLE_ANTIALIASING,1,[Define this to 1 to enable font antialising.]) -fi - -dnl --------------------------------------------- -dnl ip_mreqn -dnl --------------------------------------------- - -AC_CHECK_IP_MREQN -if test "x$have_ip_mreqn" = "xyes"; then - AC_DEFINE(HAVE_IP_MREQN,1,[Define this if you have ip_mreqn in netinet/in.h]) -fi - -dnl --------------------------------------------- -dnl restrict keyword finding (from gstreamer) -dnl --------------------------------------------- -restrict="" -for restrict_keyword in restrict __restrict__ __restrict; do - AC_MSG_CHECKING(for restrict keyword $restrict_keyword) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ void foo(char * $restrict_keyword p); ]])],[ - KEYWORD_FOUND=yes && AC_MSG_RESULT(yes) ],[ - KEYWORD_FOUND=no && AC_MSG_RESULT(no) ]) - if test "x$KEYWORD_FOUND" = xyes; then - restrict="$restrict_keyword" - break - fi -done -if test "x$restrict" = x; then - AC_MSG_ERROR(No restrict keyword found) -fi -AC_DEFINE_UNQUOTED(restrict, $restrict, [restrict keyword]) - -dnl --------------------------------------------- -dnl ASM ALIGN is power of two ? -dnl Used by internal FFmpeg and Planar postprocess dnl --------------------------------------------- -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ asm (".align 3"); ]])], - AC_DEFINE([ASMALIGN_1SLN], [1], [define if '.align n' means alignment to (1<<n)-byte boundaries]), - :) -AH_TOP([#ifndef __XINE_CONFIG_H__ -#define __XINE_CONFIG_H__ 1 -]) -AH_BOTTOM([#ifdef ASMALIGN_1SLN -# define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t" -#else -# define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t" -#endif -#endif /* __XINE_CONFIG_H__ */ -]) - -dnl --------------------------------------------- -dnl Some extra checks. -dnl --------------------------------------------- - -AC_SYS_LARGEFILE -AC_CHECK_LIB(posix4, sched_get_priority_min) -AC_CHECK_FUNCS([vsscanf sigaction sigset getpwuid_r nanosleep lstat memset readlink strchr va_copy]) -AC_CHECK_FUNCS([snprintf _snprintf], [some_snprintf="yes"; break]) -AC_CHECK_FUNCS([vsnprintf _vsnprintf], [some_vsnprintf="yes"; break]) -AC_CHECK_FUNCS([strcasecmp _stricmp], [some_strcasecmp="yes"; break]) -AC_CHECK_FUNCS([strncasecmp _strnicmp], [some_strncasecmp="yes"; break]) -if test "x$some_snprintf" != "xyes" -o \ - "x$some_vsnprintf" != "xyes" -o \ - "x$some_strcasecmp" != "xyes" -o \ - "x$some_strncasecmp" != "xyes"; then - AC_MSG_ERROR([required function not found]) -fi -AC_FUNC_FSEEKO -AC_CHECK_HEADERS(assert.h byteswap.h malloc.h execinfo.h ucontext.h sys/mman.h sys/mixer.h libgen.h netdb.h dirent.h sys/times.h sys/ioctl.h sys/param.h alloca.h) -AC_REPLACE_FUNCS(asprintf basename gettimeofday setenv strndup strpbrk strsep strtok_r timegm unsetenv) - -AC_LIBSOURCE(hstrerror.c) -AC_LINK_IFELSE([#include <netdb.h> -int main(void) { - hstrerror(0); -}], ac_cv_function_system_hstrerror="yes") -AC_CHECK_LIB([resolv], [hstrerror], [ - ac_cv_function_system_hstrerror="yes" - NET_LIBS="-lresolv $NET_LIBS" -]) -AC_SUBST(NET_LIBS) -if test "x$ac_cv_function_system_hstrerror" = "xyes"; then - AC_DEFINE(HAVE_HSTRERROR, 1, [Define to 1 if you have 'hstrerror' in <netdb.h>]) - -else - AC_LIBOBJ(hstrerror) -fi - -AC_LIBSOURCE(dirent_msvc.c) -AC_CHECK_FUNC(opendir, - [AC_DEFINE(HAVE_OPENDIR, 1, [Define to 1 if you have 'opendir' function])], - [if test "x$SYS" = "xmingw32"; then - AC_LIBOBJ(dirent_msvc) - else - AC_MSG_ERROR([dirent is needed (opendir, readdir, ...)]) - fi]) - -AH_BOTTOM([/* include internal system specific header */ -#include "os_internal.h"]) - - -dnl --------------------------------------------- -dnl cflags and debug cflags -dnl --------------------------------------------- - -AC_SUBST(DEBUG_CFLAGS) -DEBUG_CFLAGS="-g -DDEBUG $CFLAGS" - -dnl dummy -ASFLAGS="$ASFLAGS" -AC_SUBST(ASFLAGS) - -dnl --------------------------------------------- -dnl Check for some __attribute__ support needed +dnl For win32 libraries location, needed by libw32dll. dnl --------------------------------------------- -CC_ATTRIBUTE_ALIGNED - -CC_ATTRIBUTE_PACKED( - [AC_DEFINE([XINE_PACKED], [__attribute__((packed))], [Mark a structure as being packed])], - [AC_MSG_WARN([Your compiler doesn't support __attribute__((packed)); xine might not work as expected.]) - AC_DEFINE([XINE_PACKED], [], [Dummy mark a structure as being packed])] -) - -CC_ATTRIBUTE_MALLOC - -CC_ATTRIBUTE_VISIBILITY([protected], [visibility_export="protected"], - [CC_ATTRIBUTE_VISIBILITY([default], [visibility_export="default"])] -) - -if test "x$visibility_export" != "x"; then - CC_FLAG_VISIBILITY([ - AC_DEFINE([EXPORTED], [__attribute__((visibility("default")))], - [Mark a symbol as being exported if visibility is changed]) - VISIBILITY_FLAG="-fvisibility=hidden" - ], [AC_DEFINE([EXPORTED], [], [Dummy mark as being exported]) - ]) -else - AC_DEFINE([EXPORTED], [], [Dummy mark as being exported]) -fi - -AC_SUBST([VISIBILITY_FLAG]) - -CC_ATTRIBUTE_SENTINEL -CC_ATTRIBUTE_FORMAT -CC_ATTRIBUTE_FORMAT_ARG - -AC_OPTIMIZATIONS - -arch_x86="no" -enable_armv4l="no" - -case "$host_or_hostalias" in - i?86-* | k?-* | athlon-* | pentium*-) - dnl enable x86 specific parts of the code - dnl - dnl all of this stuff needs gcc/gas; it uses gnu c compiler extensions - dnl like the extended asm() or __attribute(__cdecl__), or other direct - dnl mmx/sse/3dnow assembler instructions. - dnl - AC_DEFINE_UNQUOTED(ARCH_X86_32,,[Define this if you're running x86 architecture 32 bits]) - arch_x86="yes" - enable_impure_text="yes" - - case "$host_or_hostalias" in - *-*-cygwin) - LIBS="$LIBS @INTLLIBS@ -lkernel32" - ;; - esac - ;; - x86_64-*) - AC_DEFINE_UNQUOTED(ARCH_X86_64,,[Define this if you're running x86 architecture 64 bits]) - arch_x86="yes" - ;; - universal-*-darwin*) - enable_impure_text="yes" - ;; - powerpc-*-darwin*) - dnl avoid ppc compilation crash - AS="$CC" - AC_DEFINE_UNQUOTED(ARCH_PPC,,[Define this if you're running PowerPC architecture]) - - AC_CHECK_HEADER([altivec.h], , enable_altivec=no) - - if test "x$enable_altivec" != xno; then - AC_DEFINE_UNQUOTED(ENABLE_ALTIVEC,,[Define this if you want to use altivec on PowerPC CPUs]) - CFLAGS="$CFLAGS -faltivec -maltivec" - LIBMPEG2_CFLAGS="$LIBMPEG2_CFLAGS -force_cpusubtype_ALL -faltivec -maltivec" - fi - ;; - ppc-*-linux* | powerpc-*) - dnl avoid ppc compilation crash - AS="$CC" - AC_DEFINE_UNQUOTED(ARCH_PPC,,[Define this if you're running PowerPC architecture]) - - AC_CHECK_HEADER([altivec.h], , enable_altivec=no) - - if test "x$enable_altivec" != xno; then - AC_DEFINE_UNQUOTED(ENABLE_ALTIVEC,,[Define this if you have a Motorola 74xx CPU]) - CFLAGS="$CFLAGS -maltivec" - LIBMPEG2_CFLAGS="$LIBMPEG2_CFLAGS -maltivec" - fi - ;; - sparc*-*-linux*) - if test "x$enable_vis" != xno; then - has_vis=yes - fi - - AC_DEFINE_UNQUOTED(ARCH_SPARC,,[Define this if you're running SPARC architecture]) - ;; - sparc-*-solaris*) - if test "$GCC" = yes; then - case `$CC --version 2>/dev/null` in - 1.*|2.*) ;; - *) - if test "x$enable_vis" != xno; then - has_vis=yes - fi - ;; - esac - - AC_DEFINE_UNQUOTED(ARCH_SPARC,,[Define this if you're running SPARC architecture]) - fi - ;; - armv4l-*-linux*) - enable_armv4l="yes" - ;; -esac +AC_ARG_WITH([w32-path], + AS_HELP_STRING([--with-w32-path=path], [location of Win32 binary codecs]), + [w32_path="$withval"], [w32_path="/usr/lib/codecs"]) +AC_SUBST(w32_path) -if test "x$has_vis" = "xyes"; then - AC_DEFINE_UNQUOTED(ENABLE_VIS,,[Define this if you have Sun UltraSPARC CPU]) - case "$CFLAGS" in - *-mcpu=*) ;; - *) CFLAGS="$CFLAGS -mcpu=v9" ;; - esac -fi -AM_CONDITIONAL(ENABLE_VIS, test "x$has_vis" = "xyes") +AC_ARG_ENABLE([w32dll], + AS_HELP_STRING([--disable-w32dll], [Disable Win32 DLL support]), + , [enable_w32dll=$with_gnu_as]) -if test "x$arch_x86" = "xyes"; then - AC_DEFINE_UNQUOTED(ARCH_X86,,[Define this if you're running x86 architecture]) - AC_DEFINE_UNQUOTED(HAVE_MMX,,[Define this if you can compile MMX asm instructions]) -fi -AM_CONDITIONAL(ARCH_X86, test "x$arch_x86" = "xyes") -AM_CONDITIONAL(HAVE_MMX, test "x$arch_x86" = "xyes") - -case $host_os in - darwin*) - HOST_OS_DARWIN=1 - AC_DEFINE_UNQUOTED(HOST_OS_DARWIN, 1, [Define this if built on Mac OS X/Darwin]) - OBJCFLAGS="-D_INTL_REDIRECT_MACROS $OBJCFLAGS" - ;; +case $host_or_hostalias in + *-mingw* | *-cygwin) + enable_w32dll="no" ;; + i?86-* | k?-* | athlon-* | pentium*-) + if test "x$enable_w32dll" != "xno"; then + CC_PROG_AS + fi + test "x$enable_w32dll" = "x" && \ + enable_w32dll="$with_gnu_as" + ;; + *) + enable_w32dll="no" ;; esac -AM_CONDITIONAL(HOST_OS_DARWIN, test "x$HOST_OS_DARWIN" = "x1") - -dnl --------------------------------------------- -dnl Set IMPURE_TEXT_LDFLAGS -dnl --------------------------------------------- -IMPURE_TEXT_LDFLAGS="" -if test "x$enable_impure_text" = xyes; then - case "$host_or_hostalias" in - *solaris*) - if test "$GCC" = yes; then - IMPURE_TEXT_LDFLAGS="-mimpure-text" - else - IMPURE_TEXT_LDFLAGS="-z textoff" - fi - ;; - *-darwin*) - IMPURE_TEXT_LDFLAGS="-Wl,-read_only_relocs,warning" - ;; - esac -fi -AC_SUBST(IMPURE_TEXT_LDFLAGS) - -dnl --------------------------------------------- -dnl HAVE_ARMV4L is currently used in libavcodec makefile.am -dnl --------------------------------------------- - -AM_CONDITIONAL(HAVE_ARMV4L, test "x$enable_armv4l" = "xyes") - - -dnl --------------------------------------------- -dnl Use features of autoconf 2.61, but stay compatible -dnl with older versions. -dnl --------------------------------------------- +if test "x$enable_w32dll" = "xyes" && \ + test "x$with_gnu_as" = "xno"; then -if test "x$datarootdir" = "x"; then - datarootdir='${datadir}' - AC_SUBST(datarootdir) + AC_MSG_ERROR([You need GNU as to enable Win32 codecs support]) fi -if test "x$docdir" = "x"; then - docdir='${datarootdir}/doc/${PACKAGE}' - AC_SUBST(docdir) -fi +AM_CONDITIONAL(HAVE_W32DLL, test "x$enable_w32dll" != "xno") -if test "x$htmldir" = "x"; then - htmldir='${docdir}' - AC_SUBST(htmldir) -fi dnl --------------------------------------------- dnl XINE_ROOTDIR does not work if architecture independent files are dnl installed to another place than architecture dependent files !!! dnl --------------------------------------------- -if test "x$prefix" = xNONE; then - prefix="${ac_default_prefix}" -fi -if test "x$exec_prefix" = xNONE; then - exec_prefix='${prefix}' -fi - dnl dnl installation directories and directories relative to prefix dnl @@ -2438,7 +2039,7 @@ XINE_REL_PLUGINDIR="`makeexpand "$XINE_PLUGINDIR"`" XINE_REL_PLUGINDIR="`makeexpand "$XINE_REL_PLUGINDIR" | sed -e "s,^${prefix}/,,"`" XINE_REL_FONTDIR="`makeexpand "$XINE_FONTDIR" | sed -e "s,^${prefix}/,,"`" XINE_REL_LOCALEDIR="`makeexpand "$XINE_LOCALEDIR" | sed -e "s,^${prefix}/,,"`" -if test "x$SYS" = "xmingw32" -o "x$SYS" = "xcygwin"; then +if test "x$WIN32_SYS" = "xmingw32" -o "x$WIN32_SYS" = "xcygwin"; then dnl polish paths (MinGW runtime accepts both \ and / anyway) XINE_REL_PLUGINDIR="`echo "$XINE_REL_PLUGINDIR" | sed -e 's/\\//\\\\\\\\/g'`" XINE_REL_FONTDIR="`echo "$XINE_REL_FONTDIR" | sed -e 's/\\//\\\\\\\\/g'`" @@ -2491,62 +2092,6 @@ AC_SUBST(XINE_SCRIPTPATH) dnl --------------------------------------------- -dnl Some informations about xine-lib compilation -dnl --------------------------------------------- - -XINE_BUILD_CC="`$CC -v 2>&1 | tail -1 2>/dev/null`" -XINE_BUILD_OS="`uname -s -r -m`" -XINE_BUILD_DATE="`date \"+%a %d %b %Y %T\"`" -AC_SUBST(XINE_BUILD_CC) -AC_SUBST(XINE_BUILD_OS) -AC_SUBST(XINE_BUILD_DATE) - - -dnl --------------------------------------------- -dnl For win32 libraries location, needed by libw32dll. -dnl --------------------------------------------- - -AC_ARG_WITH([w32-path], - AS_HELP_STRING([--with-w32-path=path], [location of Win32 binary codecs]), - [w32_path="$withval"], [w32_path="/usr/lib/codecs"]) -AC_SUBST(w32_path) - -AC_ARG_ENABLE([w32dll], - AS_HELP_STRING([--disable-w32dll], [Disable Win32 DLL support]), - , [enable_w32dll=$with_gnu_as]) - -case $host in - *-mingw* | *-cygwin) - enable_w32dll="no" ;; - i?86-* | k?-* | athlon-* | pentium*-) - if test "x$enable_w32dll" != "xno"; then - CC_PROG_AS - fi - test "x$enable_w32dll" = "x" && \ - enable_w32dll="$with_gnu_as" - ;; - *) - enable_w32dll="no" ;; -esac - -if test "x$enable_w32dll" = "xyes" && \ - test "x$with_gnu_as" = "xno"; then - - AC_MSG_ERROR([You need GNU as to enable Win32 codecs support]) -fi - -AM_CONDITIONAL(HAVE_W32DLL, test "x$enable_w32dll" != "xno") - - -dnl --------------------------------------------- -dnl some include paths ( !!! DO NOT REMOVE !!! ) -dnl --------------------------------------------- - -INCLUDES='-I$(top_srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_builddir)/src/xine-engine -I$(top_srcdir)/src/xine-engine -I$(top_srcdir)/src/xine-utils $(INTLDIR) -I$(top_builddir)/src/input -I$(top_srcdir)/src/input $(WIN32_CPPFLAGS) -I$(top_builddir)/lib -I$(top_srcdir)/lib' -AC_SUBST(INCLUDES) - - -dnl --------------------------------------------- dnl Get where .m4 should be installed. dnl --------------------------------------------- @@ -2570,41 +2115,6 @@ AC_SUBST(ACLOCAL_DIR) AM_CONDITIONAL([INSTALL_M4],[test "x$ACLOCAL_DIR" != "x"]) -dnl --------------------------------------------- -dnl It seems automake 1.5 don't take care about this script -dnl --------------------------------------------- - -if test ! -z "$am_depcomp"; then - DEPCOMP="depcomp" -fi -AC_SUBST(DEPCOMP) - - -dnl --------------------------------------------- -dnl Check for documentation formatting tool -dnl --------------------------------------------- - -AC_CHECK_PROG(SGMLTOOLS, sgmltools, sgmltools, no) -AM_CONDITIONAL([HAVE_SGMLTOOLS], [test "$SGMLTOOLS" != "no"]) - -AC_CHECK_PROG(FIG2DEV, fig2dev, fig2dev, no) -AM_CONDITIONAL([HAVE_FIG2DEV], [test "$FIG2DEV" != "no"]) - -dnl --------------------------------------------- -dnl Newest automake workaround -dnl --------------------------------------------- - -AC_SUBST(mkdir_p) -if test -n "$ac_aux_dir"; then - case "$ac_aux_dir" in - /*) MKINSTALLDIRS="$ac_aux_dir/install-sh -d" ;; - *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/install-sh -d" ;; - esac -else - MKINSTALLDIRS="\$(top_srcdir)/install-sh -d" -fi -AC_SUBST(MKINSTALLDIRS) - dnl this is an internal function we should not use, but dnl as long as neither autoconf nor automake offer an A[CM]_PROG_OBJC dnl check we will have to call it @@ -2612,45 +2122,28 @@ _AM_DEPENDENCIES([OBJC]) AM_CONDITIONAL([BUILD_DMX_IMAGE], [test "x$have_imagemagick" = "xyes" -o "x$no_gdkpixbuf" != "xyes"]) -dnl Important warnings we _don't_ want to skip -dnl Don't put these under conditional for optimisations, because these -dnl need always to be enabled. -CC_CHECK_CFLAGS([-Wformat=2], [wformat="-Wformat=2"], - [CC_CHECK_CFLAGS([-Wformat], [wformat="-Wformat"])]) +dnl --------------------------------------------- +dnl some include paths ( !!! DO NOT REMOVE !!! ) +dnl --------------------------------------------- -test "x$wformat" != "x" && \ - CC_CHECK_CFLAGS([-Wno-format-zero-length], [wformat="$wformat -Wno-format-zero-length"]) +INCLUDES='-I$(top_srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_builddir)/src/xine-engine -I$(top_srcdir)/src/xine-engine -I$(top_srcdir)/src/xine-utils $(INTLDIR) -I$(top_builddir)/src/input -I$(top_srcdir)/src/input $(WIN32_CPPFLAGS) -I$(top_builddir)/lib -I$(top_srcdir)/lib' +AC_SUBST(INCLUDES) -CC_CHECK_CFLAGS([-Wmissing-format-attribute], [wformat="$wformat -Wmissing-format-attribute"]) -warnflags="$warnflags $wformat" -dnl This *has* to stay at the end as it can break some autoconf tests. -CC_CHECK_CFLAGS([-Werror-implicit-function-declaration], [warnflags="$warnflags -Werror-implicit-function-declaration"]) +dnl Common cflags for all platforms +CFLAGS="$UNIVERSAL_CFLAGS \$(MULTIPASS_CFLAGS) $miscflags $warnflags $CFLAGS" +LDFLAGS="$UNIVERSAL_LDFLAGS $LDFLAGS" +OBJCFLAGS="$UNIVERSAL_CFLAGS $miscflags $warnflags $OBJCFLAGS" -CC_CHECK_CFLAGS([-Wstrict-aliasing=2], [warnflags="$warnflags -Wstrict-aliasing=2"], - [CC_CHECK_CFLAGS([-Wstrict-aliasing], [warnflags="$warnflags -Wstrict-aliasing"])]) - -case $host in - dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads - dnl are requested, as different implementations are present; to avoid problems - dnl use -Wl,-z,defs only for those platform not behaving this way. - *-freebsd*) ;; - *) - AC_TRY_LDFLAGS([-Wl,-z,defs], [NOUNDEF="-Wl,-z,defs"]) - ;; -esac -AC_SUBST([NOUNDEF]) -dnl Common cflags for all platforms -CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE $CPPFLAGS" -CFLAGS="\$(MULTIPASS_CFLAGS) $warnflags $CFLAGS" -DEBUG_CFLAGS="$warnflags $DEBUG_CFLAGS" +dnl Some informations about xine-lib compilation for xine-config +XINE_BUILD_CC="`$CC -v 2>&1 | tail -1 2>/dev/null`" +XINE_BUILD_OS="`uname -s -r -m`" +XINE_BUILD_DATE="`date \"+%a %d %b %Y %T\"`" +AC_SUBST(XINE_BUILD_CC) +AC_SUBST(XINE_BUILD_OS) +AC_SUBST(XINE_BUILD_DATE) -if test "x$enable_debug" = "xyes"; then - CPPFLAGS="$CPPFLAGS -DDEBUG" -else - CPPFLAGS="$CPPFLAGS -DNDEBUG" -fi dnl --------------------------------------------- dnl Output configuration files @@ -2672,6 +2165,7 @@ include/Makefile include/xine.h lib/Makefile m4/Makefile +m4/gettext/Makefile misc/Makefile misc/SlackBuild misc/build_rpms.sh @@ -2761,438 +2255,4 @@ cat libtool | sed -e '/sys_lib_search_path_spec=/s/\/\([[ "]]\)/\1/g' > libtool. mv -f libtool.tmp libtool chmod +x libtool -dnl --------------------------------------------- -dnl Some infos: -dnl --------------------------------------------- - -echo "xine-lib summary:" -echo "----------------" - -dnl Input -echo " * input plugins:" -echo " - file - net" -echo " - stdin_fifo - rtp" -echo " - http - mms" -echo " - pnm - rtsp" -echo " - dvb" -if test "x$external_dvdnav" = "xyes"; then - echo " - dvd (external libs)" -else - echo " - dvd (internal libs)" -fi -if test "x$have_cdrom_ioctls" = "xyes"; then - if test "x$enable_vcd" = "xyes"; then - if test "x$internal_vcdnav" = "xno"; then - echo " - vcd (external libs)" - else - echo " - vcd (internal libs)" - fi - fi - echo " - vcdo" - echo " - cdda" -fi -if test "x$no_gnome_vfs" = "xno"; then - echo " - gnome-vfs" -fi -if test "x$have_v4l" = "xyes"; then - echo " - v4l" -fi -if test "x$have_libsmbclient" = "xyes"; then - echo " - smbclient" -fi -echo "" - -dnl Demuxers -echo " * demultiplexer plugins:" -echo " - avi - mpeg" -echo " - mpeg_block - mpeg_audio" -echo " - mpeg_elem - mpeg_pes" -echo " - mpeg_ts - qt/mpeg-4" -echo " - film - roq" -echo " - fli - smjpeg" -echo " - idcin - wav" -echo " - wc3 mve - voc" -echo " - vqa - aiff" -echo " - cdda - snd/au" -echo " - yuv4mpeg2 - real/realaudio" -echo " - ea wve - raw dv" -echo " - interplay mve - psx str" -echo " - ws aud - pva" -echo " - vox - nsf" -echo " - nsv - 4xm" -echo " - FLAC - aac" -echo " - iff - matroska" -echo " - vmd - flv" -if test "x$enable_asf" = "xyes"; then - echo " - asf" -fi -if test "x$have_vorbis" = "xyes"; then - echo " - ogg" -fi -if test "x$have_libmng" = "xyes"; then - echo " - mng" -fi -if test "x$enable_modplug" != x"no"; then - echo " - mod" -fi -if test "x$have_libflac" = "xyes"; then - echo " - FLAC (with libFLAC)" -fi -if test "x$have_wavpack" = "xyes"; then - echo " - WavPack" -fi -if test "x$enable_a52dec" = "xyes"; then - if test "x$have_a52" = "xyes"; then - echo " - ac3 (external library)" - else - echo " - ac3 (internal library)" - fi -fi -echo "" - -dnl video decoders -echo " * video decoder plugins:" -echo " - MPEG 1,2 - Amiga Bitplane" -echo " - Raw RGB - Raw YUV" -if test "x$with_external_ffmpeg" = "xyes"; then - echo " - ffmpeg (external library):" -else - echo " - ffmpeg (internal library):" -fi -echo " - MPEG-4 (ISO, Microsoft, DivX*, XviD)" -echo " - Creative YUV - Motion JPEG" -echo " - Cinepak - MS Video-1" -echo " - FLI/FLC - MS RLE" -echo " - Id RoQ - Id Cin" -echo " - Apple Graphics - Apple Video" -echo " - Apple Animation - Interplay Video" -echo " - Westwood VQA - Origin Xan" -echo " - H.263 - Intel Indeo 3" -echo " - SVQ1 - SVQ3" -echo " - Real Video 1.0 - Real Video 2.0" -echo " - 4X Video - Sierra Video" -echo " - Asus v1/v2 - HuffYUV" -echo " - On2 VP3 - DV" -echo " - 8BPS - Duck TrueMotion v1" -echo " - ATI VCR1 - Flash Video" -echo " - ZLIB - MSZH" -if test "x$have_dxr3" = "xyes"; then - echo " - dxr3_video" -fi -if test "x$enable_w32dll" = "xyes"; then - echo " - w32dll" -fi -if test "x$have_imagemagick" = "xyes"; then - echo " - image" -fi -if test x"no_gdkpixbuf" != "xyes"; then - echo " - gdk-pixbuf" -fi -if test "x$have_theora" = "xyes"; then - echo " - theora" -fi -echo "" - -dnl audio decoders -echo " * audio decoder plugins:" -echo " - GSM 06.10" -echo " - linear PCM - Nosefart (NSF)" -if test "x$with_external_ffmpeg" = "xyes"; then - echo " - ffmpeg (external library):" -else - echo " - ffmpeg (internal library):" -fi -echo " - Windows Media Audio v1/v2" -echo " - DV - logarithmic PCM" -echo " - 14k4 - 28k8" -echo " - MS ADPCM - IMA ADPCM" -echo " - XA ADPCM - Game DPCM/ADPCM" -echo " - Mace 3:13 - Mace 6:1" -echo " - FLAC" -if test "x$have_libflac" = "xyes"; then - echo " - FLAC (with libFLAC)" -fi -if test "x$have_vorbis" = "xyes"; then - echo " - vorbis" -fi -if test "x$have_speex" = "xyes"; then - echo " - speex" -fi -if test "x$enable_w32dll" = "xyes"; then - echo " - w32dll" -fi -if test "x$enable_faad" = "xyes"; then - echo " - faad" -fi -if test "x$enable_libmad" = "xyes"; then - if test "x$have_mad" = "xyes"; then - echo " - MAD (MPG 1/2/3) (external library)" - else - echo " - MAD (MPG 1/2/3) (internal library)" - fi -fi -if test "x$enable_libdts" = "xyes"; then - if test "x$have_dts" = "xyes"; then - echo " - DTS (external library)" - else - echo " - DTS (internal library)" - fi -fi -if test "x$enable_a52dec" = "xyes"; then - if test "x$have_a52" = "xyes"; then - echo " - A52/ra-dnet (external library)" - else - echo " - A52/ra-dnet (internal library)" - fi -fi -if test "x$enable_musepack" != "xno"; then - if test "x$have_mpcdec" = "xyes"; then - echo " - MusePack (external library)" - else - echo " - MusePack (internal library)" - fi -fi -if test "x$have_wavpack" = "xyes"; then - echo " - WavPack" -fi -echo "" - -dnl spu decoders -echo " * subtitle decoder plugins:" -echo " - spu - spucc" -echo " - spucmml - sputext" -echo " - spudvb" -if test "x$have_dxr3" = "xyes"; then - echo " - dxr3_spu" -fi -echo "" - -dnl post plugins -echo " * post effect plugins:" -echo " * planar video effects:" -echo " - invert - expand" -echo " - eq - eq2" -echo " - boxblur - denoise3d" -echo " - unsharp - tvtime" -echo " * SFX:" -echo " - goom - oscope" -echo " - fftscope - mosaico" -echo "" - -dnl Video plugins -echo " * video driver plugins:" -if test "x$no_x" != "xyes"; then - echo " - XShm (X11 shared memory)" - dnl synfb - if test "x$enable_syncfb" != "xno"; then - echo " - SyncFB (for Matrox G200/G400 cards)" - fi - dnl Xv - if test "x$ac_have_xv" = "xyes"; then - if test "x$ac_have_xv_static" = "xyes"; then - echo " - Xv (XVideo *static*)" - else - echo " - Xv (XVideo *shared*)" - fi - fi - dnl XxMC - if test "x$ac_have_xxmc" = "xyes"; then - if test "x$ac_have_vldxvmc_h" = "xyes"; then - echo " - XxMC (XVideo extended motion compensation)" - else - echo " - XxMC (XVideo motion compensation - vld extensions DISABLED)" - fi - fi - dnl XvMC - if test "x$ac_have_xvmc" = "xyes"; then - echo " - XvMC (XVideo motion compensation)" - fi - if test "x$ac_have_opengl" = "xyes" -a "x$ac_have_glut" = "xyes" -o \ - x$"ac_have_opengl" = "xyes" -a "x$ac_have_glu" = "xyes"; then - echo " - OpenGL" - fi - if test "x$ac_have_sunfb" = "xyes"; then - if test "x$ac_have_sundga" = "xyes"; then - echo " - PGX64 (for Sun XVR100/PGX64/PGX24 cards)" - echo " - PGX32 (for Sun PGX32 cards)" - fi - fi -fi -if test "x$have_xcb" = "xyes"; then - dnl xcb-shm - if test "x$have_xcbshm" = "xyes"; then - echo " - xcb-shm (X shared memory using XCB)" - fi - dnl xcb-xv - if test "x$have_xcbxv" = "xyes"; then - echo " - xcb-xv (XVideo using XCB)" - fi -fi -if test "x$no_aalib" != "xyes"; then - echo " - aa (Ascii ART)" -fi -if test "x$have_caca" = "xyes"; then - echo " - caca (Color AsCii Art)" -fi -if test "x$have_fb" = "xyes"; then - echo " - fb (Linux framebuffer device)" -fi -if test "x$have_sdl" = "xyes"; then - echo " - sdl (Simple DirectMedia Layer)" -fi -if test "x$have_libstk" = "xyes"; then - echo " - stk (Libstk Set-top Toolkit)" -fi -if test "x$have_directfb" = "xyes"; then - echo " - directfb (DirectFB driver)" -fi -if test "x$have_dxr3" = "xyes"; then - if test "x$have_encoder" = "xyes"; then - echo " - dxr3 (Hollywood+ and Creative dxr3, both mpeg and non-mpeg video)" - else - echo " - dxr3 (Hollywood+ and Creative dxr3, mpeg video only)" - fi -fi -if test "x$enable_vidix" = "xyes"; then - echo $ECHO_N " - vidix (" - - if test "x$no_x" != "xyes"; then - echo $ECHO_N "X11" - if test "x$have_fb" = "xyes"; then - echo $ECHO_N " and " - fi - fi - - if test "x$have_fb" = "xyes"; then - echo $ECHO_N "framebuffer" - fi - - echo $ECHO_N " support" - - if test "x$enable_dha_kmod" = "xyes"; then - echo " with dhahelper)" - else - echo ")" - fi -fi -if test "x$have_directx" = "xyes"; then - echo " - directx (DirectX video driver)" -fi -if test "x$have_macosx_video" = "xyes"; then - echo " - Mac OS X OpenGL" -fi - -echo "" - -dnl Audio plugins -echo " * audio driver plugins:" -if test "x$have_ossaudio" = "xyes"; then - echo " - oss (Open Sound System)" -fi -if test "x$have_alsa" = "xyes"; then - echo " - alsa" -fi -if test "x$have_esound" = "xyes"; then - echo " - esd (Enlightened Sound Daemon)" -fi -if test "x$no_arts" != "xyes"; then - echo " - arts (aRts - KDE soundserver)" -fi -if test "x$no_fusionsound" != "xyes"; then - echo " - fusionsound (FusionSound driver)" -fi -if test "x$have_sunaudio" = "xyes"; then - echo " - sun ()" -fi -if test "x$am_cv_have_irixal" = xyes; then - echo " - irixal (Irix audio library)" -fi -if test "x$have_directx" = "xyes"; then - echo " - directx (DirectX audio driver)" -fi -if test "x$have_coreaudio" = "xyes"; then - echo " - CoreAudio (Mac OS X audio driver)" -fi -if test "x$have_pulseaudio" = "xyes"; then - echo " - pulseaudio sound server" -fi -if test "x$have_jack" = "xyes"; then - echo " - Jack" -fi -echo "---" - - -dnl --------------------------------------------- -dnl some user warnings -dnl --------------------------------------------- - -dnl some levels of variable expansion to get final install paths -final_libdir="`eval eval eval eval echo $libdir`" -final_bindir="`eval eval eval eval echo $bindir`" - -if test -r /etc/ld.so.conf && ! grep -x "$final_libdir" /etc/ld.so.conf >/dev/null ; then - if test "$final_libdir" != "/lib" -a "$final_libdir" != "/usr/lib" ; then - if ! echo "$LD_LIBRARY_PATH" | egrep "(:|^)$final_libdir(/?:|/?$)" >/dev/null ; then - echo - echo "****************************************************************" - echo "xine-lib will be installed to $final_libdir" - echo - echo "This path is not mentioned among the linker search paths in your" - echo "/etc/ld.so.conf. This means it is possible that xine-lib will" - echo "not be found when you try to compile or run a program using it." - echo "If this happens, you should add $final_libdir to" - echo "the environment variable LD_LIBRARY_PATH like that:" - echo - echo "export LD_LIBRARY_PATH=$final_libdir:\$LD_LIBRARY_PATH" - echo - echo "Alternatively you can add a line \"$final_libdir\"" - echo "to your /etc/ld.so.conf." - echo "****************************************************************" - echo - fi - fi -fi - -if ! echo "$PATH" | egrep "(:|^)$final_bindir(/?:|/?$)" >/dev/null ; then - echo - echo "****************************************************************" - echo "xine-config will be installed to $final_bindir" - echo - echo "This path is not in your search path. This means it is possible" - echo "that xine-config will not be found when you try to compile a" - echo "program using xine-lib. This will result in build failures." - echo "If this happens, you should add $final_bindir to" - echo "the environment variable PATH like that:" - echo - echo "export PATH=$final_bindir:\$PATH" - echo - echo "Note that this is only needed for compilation. It is not needed" - echo "to have xine-config in your search path at runtime. (Although" - echo "it will not cause any harm either.)" - echo "****************************************************************" - echo -fi - -dnl warn if no X11 plugins will be built -if test "x$no_x" = "xyes"; then - case $host in - *mingw*|*-cygwin) ;; - *-darwin*) ;; - *) - echo - echo "****************************************************************" - echo "WARNING! No X11 output plugins will be built." - echo - echo "For some reason, the requirements for building the X11 video" - echo "output plugins are not met. That means, that you will NOT be" - echo "able to use the resulting xine-lib to watch videos in a window" - echo "on any X11-based display (e.g. your desktop)." - echo - echo "If this is not what you want, provide the necessary X11 build" - echo "dependencies (usually done by installing a package called" - echo "XFree86-devel or similar) and run configure again." - echo "****************************************************************" - echo - ;; - esac -fi +XINE_LIB_SUMMARY |