X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=cb14be23ac0d56b0ba880d655b65dbeb1a9fd654;hb=876ebf085ebd2038b383b9e716fa5e53ee6c0a71;hp=6cdb98ad560c924d22c0f498b145fc0b7fc881f8;hpb=4dc26ab710aa6484cabb6a68533588cc93c6bedb;p=vlc diff --git a/configure.ac b/configure.ac index 6cdb98ad56..cb14be23ac 100644 --- a/configure.ac +++ b/configure.ac @@ -2,12 +2,12 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team]) -AC_INIT(vlc, 1.2.0-git) +AC_INIT(vlc, 1.2.0-pre2) VERSION_MAJOR=1 VERSION_MINOR=2 VERSION_REVISION=0 VERSION_EXTRA=0 -VERSION_DEV=git +VERSION_DEV=pre1 PKGDIR="vlc" AC_SUBST(PKGDIR) @@ -70,12 +70,8 @@ AC_PROG_MAKE_SET AC_PROG_INSTALL AM_PROG_AS -dnl Find the right ranlib, even when cross-compiling -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) -AC_CHECK_TOOL(AR, ar, :) -AC_CHECK_TOOL(LD, ld, :) -AC_CHECK_TOOL(DLLTOOL, dlltool, :) +AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files]) +AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :) dnl Check for compiler properties AC_C_CONST @@ -100,86 +96,6 @@ AS_IF([test -n "${with_binary_version}"],[ [Binary specific version]) ]) -dnl -dnl Check for the contrib directory -dnl -AC_ARG_WITH(contrib, - [AS_HELP_STRING([--with-contrib[=DIR]], - [search for 3rd party libraries in DIR/include and DIR/lib]) -]) -AC_MSG_CHECKING([for 3rd party libraries path]) -AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [ - CONTRIB_DIR="${srcdir}/contrib/${host}" - AS_IF([test ! -d "${CONTRIB_DIR}"], [ - echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD - CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`" - AS_IF([test ! -d "${CONTRIB_DIR}"], [ - echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD - CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}" - AS_IF([test ! -d "${CONTRIB_DIR}"], [ - echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD - CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`" - AS_IF([test ! -d "${CONTRIB_DIR}"], [ - echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD - CONTRIB_DIR="" - AC_MSG_RESULT([not found]) - ]) - ]) - ]) - ]) -], [ - AS_IF([test "${with_contrib}" != "no"], [ - CONTRIB_DIR="${with_contrib}" - ], [ - CONTRIB_DIR="" - AC_MSG_RESULT([disabled]) - ]) -]) -AS_IF([test -n "${CONTRIB_DIR}"], [ - AS_IF([test -d "${CONTRIB_DIR}/lib"],[ - CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd` - ], [ - echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD - CONTRIB_DIR="" - AC_MSG_RESULT([not usable]) - ]) - -]) -AS_IF([test -n "${CONTRIB_DIR}"], [ - AC_MSG_RESULT([${CONTRIB_DIR}]) - export PATH=${CONTRIB_DIR}/bin:$PATH - CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" - CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" - CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" - CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" - CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" - CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" - OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" - OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" - AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [ - export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" - ], [ - export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" - ]) - LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" - LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" - - AS_IF([test "${SYS}" = "darwin"], [ - export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" - export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" - ]) -], [ - AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [ - AC_MSG_ERROR([Third party libraries not found!]) - ]) -]) -AC_SUBST(CONTRIB_DIR) - -dnl -dnl Set default values -dnl -LDFLAGS_vlc="${LDFLAGS}" - dnl dnl Check the operating system dnl @@ -244,63 +160,20 @@ case "${host_os}" in VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation]) - AC_ARG_ENABLE(macosx-defaults, - AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)])) - if test "x${enable_macosx_defaults}" != "xno" - then - echo "" - echo "Building with Mac OS X defaults:" - build_dir=`pwd` - echo " Assuming --prefix=${build_dir}/vlc_install_dir" - ac_default_prefix="${build_dir}/vlc_install_dir" - enable_faad="yes" - echo " Assuming --enable-faad" - enable_flac="yes" - echo " Assuming --enable-flac" - enable_theora="yes" - echo " Assuming --enable-theora" - enable_shout="yes" - echo " Assuming --enable-shout" - enable_vcdx="yes" - echo " Assuming --enable-vcdx" - enable_caca="yes" - echo " Assuming --enable-caca" - enable_ncurses="yes" - echo " Assuming --enable-ncurses" - enable_twolame="yes" - echo " Assuming --enable-twolame" - enable_realrtsp="yes" - echo " Assuming --enable-realrtsp" - enable_libass="yes" - echo " Assuming --enable-libass" - - enable_skins2="no" - echo " Assuming --disable-skins2" - enable_xcb="no" - echo " Assuming --disable-xcb" - fi + dnl dnl Check for Mac OS X SDK settings dnl AC_ARG_WITH(macosx-sdk, [AS_HELP_STRING([--with-macosx-sdk=DIR], [compile using the SDK in DIR])]) - if test "${with_macosx_sdk}" != "" ; then - CPP="${CPP} -isysroot ${with_macosx_sdk}" - CC="${CC} -isysroot ${with_macosx_sdk}" - CXX="${CXX} -isysroot ${with_macosx_sdk}" - OBJC="${OBJC} -isysroot ${with_macosx_sdk}" - LD="${LD} -syslibroot ${with_macosx_sdk}" - else - echo " No desired SDK version given, falling back to 10.5" - CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk" - CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk" - CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk" - OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk" - LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk" - with_macosx_version_min="10.5" - echo " Assuming --with-macosx-version-min=10.5" - fi + test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.5.sdk + ! test -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) + CPP="${CPP} -isysroot ${with_macosx_sdk}" + CC="${CC} -isysroot ${with_macosx_sdk}" + CXX="${CXX} -isysroot ${with_macosx_sdk}" + OBJC="${OBJC} -isysroot ${with_macosx_sdk}" + LD="${LD} -syslibroot ${with_macosx_sdk}" AC_ARG_WITH(macosx-version-min, [AS_HELP_STRING([--with-macosx-version-min=VERSION], [compile for MacOS X VERSION and above])]) @@ -347,15 +220,6 @@ case "${host_os}" in VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([win32text],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm]) - dnl - dnl DEP and ASLR options - dnl - AC_ARG_WITH(peflags, - [AS_HELP_STRING([--with-peflags], - [use peflags (default enabled on Windows)])]) - if test "${with_peflags}" != "no" ; then - AC_PATH_TOOL(PEFLAGS, peflags, :) - fi AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_win32" DESTDIR="`pwd`/_win32/" @@ -364,7 +228,7 @@ case "${host_os}" in dnl NSIS Installer prefix and WIN64 dnl case "${host}" in - amd64*|i686-w64*|x86_64*) + amd64*|x86_64*) HAVE_WIN64="1" PROGRAMFILES="PROGRAMFILES64" ;; @@ -409,10 +273,84 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian") -AM_CONDITIONAL(USE_PEFLAGS, test "${with_peflags}" = "yes") dnl -dnl Sadly autoconf doesn't think about testing foo.exe when ask to test +dnl Check for the contrib directory +dnl +AC_ARG_WITH(contrib, + [AS_HELP_STRING([--with-contrib[=DIR]], + [search for 3rd party libraries in DIR/include and DIR/lib]) +]) +AC_MSG_CHECKING([for 3rd party libraries path]) +AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [ + CONTRIB_DIR="${srcdir}/contrib/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="" + AC_MSG_RESULT([not found]) + ]) + ]) + ]) + ]) +], [ + AS_IF([test "${with_contrib}" != "no"], [ + CONTRIB_DIR="${with_contrib}" + ], [ + CONTRIB_DIR="" + AC_MSG_RESULT([disabled]) + ]) +]) +AS_IF([test -n "${CONTRIB_DIR}"], [ + AS_IF([test -d "${CONTRIB_DIR}/lib"],[ + CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd` + ], [ + echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="" + AC_MSG_RESULT([not usable]) + ]) + +]) +AS_IF([test -n "${CONTRIB_DIR}"], [ + AC_MSG_RESULT([${CONTRIB_DIR}]) + export PATH=${CONTRIB_DIR}/bin:$PATH + CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" + CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" + CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" + CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" + OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" + AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [ + export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" + ], [ + export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" + ]) + LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" + LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" + + AS_IF([test "${SYS}" = "darwin"], [ + export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" + export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" + ]) +], [ + AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [ + AC_MSG_ERROR([Third party libraries not found!]) + ]) +]) +AC_SUBST(CONTRIB_DIR) + +dnl +dnl Sadly autoconf does not think about testing foo.exe when ask to test dnl for program foo on win32 case "${build_os}" in @@ -563,12 +501,12 @@ need_libc=false dnl Check for usual libc functions AC_CHECK_DECLS([nanosleep],,,[#include ]) AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) +AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) -# Windows CE doesn't have strcoll() +# Windows CE does not have strcoll() AC_FUNC_STRCOLL dnl Check for non-standard system calls @@ -580,7 +518,7 @@ dnl Check for poll AC_SEARCH_LIBS(poll, [poll], [ AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().]) ], [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "os2"], [ AC_MSG_ERROR([poll() is required.]) ]) ]) @@ -660,12 +598,6 @@ LIBS_save="${LIBS}" AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}]) LIBS="${LIBS_save}" -AC_CHECK_FUNCS(inet_aton,,[ - AC_CHECK_LIB(resolv,inet_aton,[ - VLC_ADD_LIBS([libvlccore],[-lresolv]) - ]) -]) - dnl FreeBSD has a gnugetopt library for this: GNUGETOPT_LIBS="" AC_CHECK_FUNC(getopt_long,, [ @@ -676,7 +608,7 @@ AC_CHECK_FUNC(getopt_long,, [ AC_SUBST(GNUGETOPT_LIBS) AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264 hqdn3d],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -769,7 +701,7 @@ dnl Check for headers AC_CHECK_HEADERS([search.h]) AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) -AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h]) +AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ #include @@ -860,7 +792,7 @@ case "${SYS}" in if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" then dnl api stable dbus - PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, + PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS]) VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS]) @@ -887,7 +819,7 @@ then VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS]) ], - [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])] + [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])] ) fi ;; @@ -996,9 +928,6 @@ AC_ARG_ENABLE(optimizations, [AS_HELP_STRING([--disable-optimizations], [disable compiler optimizations (default enabled)])],, [enable_optimizations="yes"]) -AS_IF([test "${enable_optimizations}" != "no"], [ - enable_optimizations="speed" -]) dnl Check for various optimization flags AS_IF([test "${enable_optimizations}" != "no"], [ @@ -1084,15 +1013,9 @@ AS_IF([test "${enable_optimizations}" != "no"], [ ]) AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [ VLC_RESTORE_FLAGS - AS_IF([test "${SYS}" != "darwin"], [ CFLAGS="${CFLAGS} -fomit-frame-pointer" CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer" - ], [ - dnl On darwin we explicitely disable it. - CFLAGS="${CFLAGS} -fno-omit-frame-pointer" - CXXFLAGS="${CXXFLAGS} -fno-omit-frame-pointer" - OBJCFLAGS="${OBJCFLAGS} -fno-omit-frame-pointer" - ]) + OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer" VLC_SAVE_FLAGS ]) ]) @@ -1200,33 +1123,45 @@ have_mmxext="no" AS_IF([test "${enable_mmx}" != "no"], [ ARCH="${ARCH} mmx" - AC_CACHE_CHECK([if $CC groks MMX intrinsics], - [ac_cv_c_mmx_intrinsics], - [CFLAGS="${CFLAGS_save} -O -mmmx" - AC_TRY_COMPILE([#include - #include - uint64_t frobzor;], - [__m64 a, b, c; - a = b = c = (__m64)frobzor; - a = _mm_slli_pi16(a, 3); - a = _mm_adds_pi16(a, b); - c = _mm_srli_pi16(c, 8); - c = _mm_slli_pi16(c, 3); - b = _mm_adds_pi16(b, c); - a = _mm_unpacklo_pi8(a, b); - frobzor = (uint64_t)a;], - [ac_cv_c_mmx_intrinsics=yes], - [ac_cv_c_mmx_intrinsics=no])]) + AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [ + CFLAGS="${CFLAGS_save} -O -mmmx" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +[#include +#include +uint64_t frobzor;]], [ +[__m64 a, b, c; +a = b = c = (__m64)frobzor; +a = _mm_slli_pi16(a, 3); +a = _mm_adds_pi16(a, b); +c = _mm_srli_pi16(c, 8); +c = _mm_slli_pi16(c, 3); +b = _mm_adds_pi16(b, c); +a = _mm_unpacklo_pi8(a, b); +frobzor = (uint64_t)a;]])], [ + ac_cv_c_mmx_intrinsics=yes + ], [ + ac_cv_c_mmx_intrinsics=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [ AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.]) ]) - AC_CACHE_CHECK([if $CC groks MMX inline assembly], - [ac_cv_mmx_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));], - ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)]) + AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [ + CFLAGS="${CFLAGS_save} -mmmx" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); +]]) + ], [ + ac_cv_mmx_inline=yes + ], [ + ac_cv_mmx_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_mmx_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.]) @@ -1234,10 +1169,19 @@ AS_IF([test "${enable_mmx}" != "no"], [ ]) AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly], - [ac_cv_mmxext_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));], - ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)]) + [ac_cv_mmxext_inline], [ + CFLAGS="${CFLAGS_save} -mmmx" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); +]]) + ], [ + ac_cv_mmxext_inline=yes + ], [ + ac_cv_mmxext_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.]) @@ -1266,43 +1210,63 @@ have_sse2="no" AS_IF([test "${enable_sse}" != "no"], [ ARCH="${ARCH} sse sse2" - AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], - [ac_cv_c_sse2_intrinsics], - [CFLAGS="${CFLAGS_save} -O -msse2" - AC_TRY_COMPILE([#include - #include - uint64_t frobzor;], - [__m128i a, b, c; - a = b = c = _mm_set1_epi64((__m64)frobzor); - a = _mm_slli_epi16(a, 3); - a = _mm_adds_epi16(a, b); - c = _mm_srli_epi16(c, 8); - c = _mm_slli_epi16(c, 3); - b = _mm_adds_epi16(b, c); - a = _mm_unpacklo_epi8(a, b); - frobzor = (uint64_t)_mm_movepi64_pi64(a);], - [ac_cv_c_sse2_intrinsics=yes], - [ac_cv_c_sse2_intrinsics=no])]) + AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [ + CFLAGS="${CFLAGS_save} -O -msse2" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +[#include +#include +uint64_t frobzor;]], [ +[__m128i a, b, c; +a = b = c = _mm_set1_epi64((__m64)frobzor); +a = _mm_slli_epi16(a, 3); +a = _mm_adds_epi16(a, b); +c = _mm_srli_epi16(c, 8); +c = _mm_slli_epi16(c, 3); +b = _mm_adds_epi16(b, c); +a = _mm_unpacklo_epi8(a, b); +frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [ + ac_cv_c_sse2_intrinsics=yes + ], [ + ac_cv_c_sse2_intrinsics=no + ]) + CFLAGS="${CFLAGS_save}" +]) AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [ AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.]) ]) - AC_CACHE_CHECK([if $CC groks SSE inline assembly], - [ac_cv_sse_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));], - ac_cv_sse_inline=yes, ac_cv_sse_inline=no)]) + AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2"); +]]) + ], [ + ac_cv_sse_inline=yes + ], [ + ac_cv_sse_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [ AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.]) ]) - AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], - [ac_cv_sse2_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));], - ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)]) + AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2"); +]]) + ], [ + ac_cv_sse2_inline=yes + ], [ + ac_cv_sse2_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [ AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.]) @@ -1310,50 +1274,92 @@ AS_IF([test "${enable_sse}" != "no"], [ ]) # SSE3 - AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], - [ac_cv_sse3_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)]) + AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1"); +]]) + ], [ + ac_cv_sse3_inline=yes + ], [ + ac_cv_sse3_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse3_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ]) # SSSE3 - AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], - [ac_cv_ssse3_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));], - ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)]) + AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0"); +]]) + ], [ + ac_cv_ssse3_inline=yes + ], [ + ac_cv_ssse3_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ]) # SSE4.1 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly], - [ac_cv_sse4_1_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)]) + [ac_cv_sse4_1_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1"); +]]) + ], [ + ac_cv_sse4_1_inline=yes + ], [ + ac_cv_sse4_1_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ]) # SSE4.2 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly], - [ac_cv_sse4_2_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)]) + [ac_cv_sse4_2_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1"); +]]) + ], [ + ac_cv_sse4_2_inline=yes + ], [ + ac_cv_sse4_2_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ]) # SSE4A - AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], - [ac_cv_sse4a_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)]) + AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [ + CFLAGS="${CFLAGS_save} -msse" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1"); +]]) + ], [ + ac_cv_sse4a_inline=yes + ], [ + ac_cv_sse4a_inline=no + ]) + CFLAGS="${CFLAGS_save}" + ]) AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ]) @@ -1361,11 +1367,19 @@ AS_IF([test "${enable_sse}" != "no"], [ AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"]) have_3dnow="no" -AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], - [ac_cv_3dnow_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));], - ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)]) +AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [ + CFLAGS="${CFLAGS_save} -mmmx" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[ +void *p; +asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2"); +]]) + ], [ + ac_cv_3dnow_inline=yes + ], [ + ac_cv_3dnow_inline=no + ]) + CFLAGS="${CFLAGS_save}" +]) AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_3DNOW, 1, [Define to 1 if 3D Now! inline assembly is available.]) @@ -1499,7 +1513,7 @@ dnl - Others: test should fail AC_CACHE_CHECK([if linker needs -framework vecLib], [ac_cv_ld_altivec], - [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib" + [LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib" AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no) LDFLAGS="${LDFLAGS_save}" ]) @@ -1534,19 +1548,22 @@ else fi dnl NOTE: this can't be cached cleanly -AS_IF([test "${CFLAGS_TUNING}"], - [CFLAGS_save="${CFLAGS}" - CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" - - AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) - AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], - [tuning="yes"], - [CFLAGS_TUNING=""; tuning="no" - AS_IF([test "${with_tuning}"], - [AC_MSG_ERROR([requested tuning not supported])])]) - - AC_MSG_RESULT([$tuning]) - CFLAGS="${CFLAGS_save}" +AS_IF([test -n "${CFLAGS_TUNING}"], [ + AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) + CFLAGS="${CFLAGS_save} ${CFLAGS_TUNING}" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [ + tuning="yes" + ], [ + CFLAGS_TUNING=""; tuning="no" + AS_IF([test "${with_tuning}"], [ + AC_MSG_ERROR([requested tuning not supported]) + ]) + ]) + CFLAGS="${CFLAGS_save}" + AC_MSG_RESULT([$tuning]) + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" + VLC_SAVE_FLAGS ]) dnl @@ -1590,10 +1607,11 @@ then PKG_CHECK_MODULES(LUA, lua5.1, [ have_lua=yes ], [ - AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead]) + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead]) PKG_CHECK_MODULES(LUA, lua >= 5.1, [ have_lua=yes ], [ + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead]) have_lua=yes AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], [], @@ -1633,7 +1651,7 @@ AC_ARG_ENABLE(httpd, [disable the built-in HTTP server (default enabled)])]) if test "${enable_httpd}" != "no" then - AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support) + AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support) fi AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"]) @@ -1654,22 +1672,6 @@ AS_IF([test "${enable_vlm}" != "no"], [ AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) -dnl -dnl ipv6 support -dnl -have_ipv6=no -AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ - AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes]) -]) - -AS_IF([test "${have_ipv6}" = "yes"], [ - AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) - - -AC_CHECK_FUNCS(inet_ntop,[ - AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])]) - - dnl dnl Input plugins dnl @@ -1687,8 +1689,8 @@ AS_IF([test "${enable_libproxy}" != "no"], [ VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS]) VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS]) ], [ - AS_IF([test "x${enable_libproxy}" != "x"], [ - AC_MSG_ERROR([libproxy could not be found on your system]) + AS_IF([test -n "${enable_libproxy}"], [ + AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.]) ]) ]) ]) @@ -1699,127 +1701,91 @@ dnl AC_ARG_ENABLE(live555, [AS_HELP_STRING([--enable-live555], [enable RTSP input through live555 (default enabled)])]) -AC_ARG_WITH(live555-tree, - [AS_HELP_STRING([--with-live555-tree=PATH], - [live555 tree for static linking])]) -if test "${enable_live555}" != "no"; then - - dnl - dnl test for --with-live555-tree - dnl - if test -z "${with_live555_tree}" -a "${CXX}" != ""; then - AC_LANG_PUSH(C++) - CPPFLAGS_save="${CPPFLAGS}" - if test -z "${CONTRIB_DIR}"; then - CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" - else - CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" - fi - if test "${SYS}" = "solaris"; then - CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" - fi - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" - - AC_CHECK_HEADERS(liveMedia_version.hh, [ - AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) - AC_EGREP_CPP(yes, - [#include - #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 - yes - #endif - #endif], - [AC_MSG_RESULT([no]) - AC_MSG_WARN([The installed liveMedia version is too old: +AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ + AC_LANG_PUSH(C++) + CPPFLAGS_save="${CPPFLAGS}" + AS_IF([test -z "${CONTRIB_DIR}"], [ + CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + ], [ + CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" + ]) + AS_IF([test "${SYS}" = "solaris"], [ + CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" + ]) + CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" + + AC_CACHE_CHECK([for live555 version 1275091200 or later], [ac_cv_live555], [ + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ +[#include +#if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200) +# error BOOM +#endif]]) + ], [ + ac_cv_live555="yes" + ], [ + ac_cv_live555="no" + ]) + ]) + AS_IF([test "$ac_cv_live555" = "no"], [ + AC_MSG_WARN([liveMedia is missing or its installed version is too old: Version 2010.05.29 or later is required to proceed. You can get an updated one from http://www.live555.com/liveMedia .]) - AS_IF([test "${enable_live555}" = "yes"], [ - AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.]) - ]) - ],[ - AC_MSG_RESULT([yes]) - other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" - other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" - if test "${SYS}" = "mingw32"; then - # add ws2_32 for closesocket, select, recv - other_libs="$other_libs -lws2_32" - elif test "${SYS}" = "mingwce"; then - # add ws2 for closesocket, select, recv - other_libs="$other_libs -lws2" - fi - - dnl We need to check for pic because live555 don't provide shared libs - dnl and we want to build a plugins so we need -fPIC on some arch. - VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) - AC_CHECK_LIB(liveMedia_pic, main, [ - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) - ],[ - AC_CHECK_LIB(liveMedia, main, [ - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) - ],[],[${other_libs}]) ],[${other_libs_pic}]) - - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP(C++) - ]) - ]) - else - AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree}) - real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`" - if test -z "${real_live555_tree}"; then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_live555_tree}]) - fi - if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then - AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a) - - AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[ - AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) - AC_EGREP_CPP(yes, - [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh" - #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 - yes - #endif - #endif], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia. -lternatively you can use --disable-live555 to disable the liveMedia plugin.]) - ],[ - AC_MSG_RESULT([yes]) - ]) + AS_IF([test -n "${enable_live555}"], [ + AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) + ]) + ac_cv_live555_usable="" + ], [ + dnl Check that live555 is patched correctly. + AC_CACHE_CHECK([for live555 usability], [ac_cv_live555_usable], [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +[#include +#ifdef __APPLE__ +# include +#endif +#undef LC_ALL +#define LC_ALL BOOM +#ifdef LC_ALL_MASK +#include +#endif +#include ]], [ +[struct in_addr addr; +our_inet_ntoa(addr, NULL);]]) + ], [ + ac_cv_live555_usable="yes" + ], [ + ac_cv_live555_usable="no" ]) + ]) + AS_IF([test "$ac_cv_live555_usable" = "no"], [ + AC_MSG_ERROR([liveMedia lacks patches and is not usable. +Please apply our patches from the VLC contrib (contrib/src/live555/). +You can also disable RTSP input with --disable-live555. You were warned.]) + ]) + other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + AS_IF([test "${SYS}" = "mingw32"], [ + # add ws2_32 for closesocket, select, recv + other_libs="$other_libs -lws2_32" + ], [test "${SYS}" = "mingwce"], [ + # add ws2 for closesocket, select, recv + other_libs="$other_libs -lws2" + ]) + dnl We need to check for pic because live555 don't provide shared libs + dnl and we want to build a plugins so we need -fPIC on some arch. + VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) + AC_CHECK_LIB(liveMedia_pic, main, [ VLC_ADD_PLUGIN([live555]) - - if test "${SYS}" = "mingw32"; then - # add ws2_32 for closesocket, select, recv - VLC_ADD_LIBS([live555],[-lws2_32]) - fi - - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment]) - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment]) - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock]) - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia]) - - VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include]) - VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include]) - VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include]) - VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ]) - if test "${SYS}" = "solaris"; then - VLC_ADD_CXXFLAGS([live555],[-DSOLARIS]) - fi - else - dnl The given live555 wasn't built - AC_MSG_RESULT(no) - if test "${enable_live555}" = "yes"; then - AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}]) - fi - fi - fi -fi + VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) + ],[ + AC_CHECK_LIB(liveMedia, main, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) + ],[],[${other_libs}])],[${other_libs_pic}]) + ]) + CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP(C++) +]) dnl dnl - special access module for dc1394 input @@ -1834,19 +1800,26 @@ AC_ARG_ENABLE(linsys, [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])]) if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then VLC_ADD_PLUGIN([linsys_hdsdi]) - PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28, + PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28], [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS]) VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS]) VLC_ADD_PLUGIN([linsys_sdi]) ], - [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])] + [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])] ) fi +dnl libdvdcss +darwin_libdvdcss_extralibs="-Wl,-framework,CoreFoundation -Wl,-framework,IOKit" +libdvdcss_extralibs="" +test "${SYS}" = darwin && libdvdcss_extralibs="${darwin_libdvdcss_extralibs}" +AC_CHECK_LIB(dvdcss, dvdcss_interface_2, [ + VLC_ADD_LIBS([dvdread], -ldvdcss "${libdvdcss_extralibs}") + VLC_ADD_LIBS([dvdnav], -ldvdcss "${libdvdcss_extralibs}") + ],, "${libdvdcss_extralibs}") + dnl dnl dvdread module: check for libdvdread dnl -dnl prepend -ldvdcss on OS that need it -AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto]) dnl @@ -1857,9 +1830,6 @@ AC_ARG_ENABLE(dvdnav, [disable DVD navigation with libdvdnav (default auto)])]) if test "${enable_dvdnav}" != "no" then - dnl prepend -ldvdcss on OS that need it - AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])]) - PKG_CHECK_MODULES(DVDNAV, dvdnav, [ VLC_ADD_PLUGIN([dvdnav]) VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}]) @@ -1870,7 +1840,7 @@ then AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters, AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]), [], [${LIBS_dvdnav}])], - [AC_MSG_WARN(dvdnav library not found)]) + [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])]) fi dnl @@ -1947,7 +1917,7 @@ AS_IF([test "$have_v4l2" = "yes"], [ PKG_CHECK_MODULES(LIBV4L2, libv4l2, [ AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available]) ], [ - AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}]) + AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.]) ]) ]) AS_IF([test "${enable_pvr}" = "yes"], [ @@ -1997,12 +1967,12 @@ then PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72], [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS]) VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], - [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])]) + [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])]) PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22, [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS]) VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])], - [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])]) - VLC_ADD_PLUGIN([vcdx]) + [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])]) + VLC_ADD_PLUGIN([vcdx]) fi dnl @@ -2044,7 +2014,7 @@ then AC_MSG_RESULT(no) ]) - if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" + if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2" then VLC_ADD_PLUGIN([vcd cdda]) fi @@ -2057,13 +2027,13 @@ then fi if test "$enable_libcddb" != "no"; then - PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [ + PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [ HAVE_LIBCDDB=yes AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed]) VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS]) VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS]) ],: - [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) + [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.]) HAVE_LIBCDDB=no]) fi fi @@ -2126,19 +2096,16 @@ then fi dnl -dnl QTCapture -AC_ARG_ENABLE(macosx-qtcapture, - [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)]) -if test "x${enable_macosx_qtcapture}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes") +dnl QTKit +AC_ARG_ENABLE(macosx-qtkit, + [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)]) +if test "x${enable_macosx_qtkit}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes") then - VLC_ADD_LIBS([qtcapture], [-Wl,-framework,Cocoa]) - VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QTKit]) - VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreAudio]) - VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QuartzCore]) - VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreVideo]) VLC_ADD_PLUGIN([qtcapture]) + VLC_ADD_PLUGIN([qtsound]) fi +AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"]) dnl @@ -2188,17 +2155,17 @@ AS_IF([test "${enable_sid}" != "no"], [ VLC_ADD_CFLAGS([sid], [$SID_CFLAGS]) VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder]) ], [ - AS_IF([test "x${enable_sid}" = "xyes"], - [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)], - [AC_MSG_WARN(Library libresid-builder needed for sid was not found)] + AS_IF([test -n "${enable_sid}"], + [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])], + [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])] ) ]) CPPFLAGS="$oldCPPFLAGS" AC_LANG_POP(C++) ], [ AS_IF([test "x${enable_sid}" = "xyes"], - [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)], - [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)] + [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])], + [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])] ) ]) ]) @@ -2281,9 +2248,9 @@ if test "${enable_mod}" != "no" ; then VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS]) VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS]) ],[ - AS_IF([test x"${enable_mod}" = "xyes"], - [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)], - [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)]) + AS_IF([test -n "${enable_mod}"], + [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])], + [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])]) ]) fi @@ -2413,7 +2380,7 @@ then then dnl The given directory can't be found AC_MSG_RESULT(no) - AC_MSG_ERROR([${with_mad_tree} directory doesn't exist]) + AC_MSG_ERROR([${with_mad_tree} directory does not exist]) fi dnl Use a custom libmad AC_MSG_CHECKING(for mad.h in ${real_mad_tree}) @@ -2426,12 +2393,12 @@ then AC_CHECK_LIB(mad, mad_bit_init, [ VLC_ADD_PLUGIN([mpgatofixed32]) VLC_ADD_LIBS([mpgatofixed32],[-lmad]) - ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ]) + ],[ AC_MSG_ERROR([the specified tree has not been compiled ]) ],[]) LDFLAGS="${LDFLAGS_save}" else AC_MSG_RESULT(no) - AC_MSG_ERROR([the specified tree doesn't have mad.h]) + AC_MSG_ERROR([the specified tree does not have mad.h]) fi else CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}" @@ -2456,7 +2423,7 @@ AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) AC_CACHE_CHECK([if linker supports -Bsymbolic], [ac_cv_ld_bsymbolic], - [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic" + [LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic" AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no) LDFLAGS="${LDFLAGS_save}" ]) @@ -2483,7 +2450,7 @@ AS_IF([test "${enable_avcodec}" != "no"], [ VLC_RESTORE_FLAGS have_avcodec="yes" ],[ - AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) + AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) ]) ], [ have_avcodec="no" @@ -2495,32 +2462,32 @@ dnl AC_ARG_ENABLE(libva, [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)]) +AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [ + AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.]) +]) AS_IF([test "${enable_libva}" != "no"], [ - AS_IF([test "x${have_avcodec}" = "xyes"], [ - PKG_CHECK_MODULES(LIBVA, [libva libva-x11], - [ - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" - CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" - AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) - AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) - echo "VAAPI acceleration activated" - ],[ - AS_IF([test "${enable_libva}" = "yes"], - [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])], - [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])]) - ]) - VLC_RESTORE_FLAGS - ],[ - AS_IF([test "${enable_libva}" = "yes"], - [AC_MSG_ERROR([Could not find required libva.])], - [AC_MSG_WARN([libva not found ])]) + PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" + AC_CHECK_HEADERS(libavcodec/vaapi.h, [ + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) + AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) + AC_MSG_NOTICE([VAAPI acceleration activated]) + ],[ + AS_IF([test -n "${enable_libva}"], [ + AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing]) + ], [ + AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ]) ]) + ]) + VLC_RESTORE_FLAGS ],[ - AS_IF([test "x${enable_libva}" != "x"], [ - AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.]) + AS_IF([test -n "${enable_libva}"], [ + AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${LIBVA_PKG_ERRORS}.]) ]) ]) ]) @@ -2604,7 +2571,7 @@ then ]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) + AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) ]) fi @@ -2631,7 +2598,7 @@ then ]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) + AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) ]) fi @@ -2654,7 +2621,7 @@ then VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.]) + AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.]) ]) fi @@ -2754,7 +2721,7 @@ then then dnl The given directory can't be found AC_MSG_RESULT(no) - AC_MSG_ERROR([${with_a52_tree} directory doesn't exist]) + AC_MSG_ERROR([${with_a52_tree} directory does not exist]) fi dnl Use a custom a52dec AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include) @@ -2773,13 +2740,13 @@ then then AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)]) else - AC_MSG_ERROR([the specified tree hasn't been compiled]) + AC_MSG_ERROR([the specified tree has not been compiled]) fi ]) LDFLAGS="${LDFLAGS_save}" else AC_MSG_RESULT(no) - AC_MSG_ERROR([the specified tree doesn't have a52.h]) + AC_MSG_ERROR([the specified tree does not have a52.h]) fi else if test -z "${with_a52}" @@ -2799,7 +2766,7 @@ then VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}]) ],[ AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) - ]) + ], [$LIBM]) ],[ AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) ]) @@ -2847,9 +2814,22 @@ then fi dnl -dnl Speex plugin +dnl Speex plugins dnl -PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto]) +PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto]) +have_speexdsp="no" +AS_IF([test "${enable_speex}" != "no"], [ + PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [ + have_speexdsp="yes" + ], [ + AS_IF([test -n "${enable_speex}"], [ + AC_MSG_ERROR([${SPEEXDSP_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) dnl dnl theora decoder plugin @@ -2898,7 +2878,7 @@ if test "${enable_x264}" != "no"; then then dnl The given directory can't be found AC_MSG_RESULT(no) - AC_MSG_ERROR([${with_x264_tree} directory doesn't exist]) + AC_MSG_ERROR([${with_x264_tree} directory does not exist]) fi dnl Use a custom libx264 AC_MSG_CHECKING(for x264.h in ${real_x264_tree}) @@ -2915,12 +2895,12 @@ if test "${enable_x264}" != "no"; then VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB]) fi ],[ - AC_MSG_ERROR([the specified tree hasn't been compiled]) + AC_MSG_ERROR([the specified tree has not been compiled]) ]) LDFLAGS="${LDFLAGS_save}" else AC_MSG_RESULT(no) - AC_MSG_ERROR([the specified tree doesn't have x264.h]) + AC_MSG_ERROR([the specified tree does not have x264.h]) fi else PKG_CHECK_MODULES(X264,x264 >= 0.86, [ @@ -2937,7 +2917,7 @@ if test "${enable_x264}" != "no"; then fi ],[ if test "${enable_x264}" = "yes"; then - AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html]) + AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html]) fi ]) LDFLAGS="${LDFLAGS_save}" @@ -2963,8 +2943,7 @@ AC_ARG_ENABLE(telx, zvbi) (default enabled if zvbi is absent)])) AS_IF( [test "${enable_zvbi}" != "no"],[ - PKG_CHECK_MODULES(ZVBI, - zvbi-0.2 >= 0.2.28, + PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28], [ VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS]) if test "${SYS}" = "mingw32"; then @@ -2974,11 +2953,10 @@ AS_IF( [test "${enable_zvbi}" != "no"],[ VLC_ADD_PLUGIN([zvbi]) AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) AS_IF( [test "${enable_telx}" = "yes"],[ - AC_MSG_WARN([The zvbi and telx modules are uncompatibles. - Using zvbi.]) + AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.]) ]) ],[ - AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead) + AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.]) ]) ]) AS_IF( [test "${enable_telx}" != "no" ],[ @@ -2991,7 +2969,7 @@ dnl AC_ARG_ENABLE(libass, [ --enable-libass Subtitle support using libass (default enabled)]) AS_IF( [test "${enable_libass}" != "no"], [ - PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8, + PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8], [ VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) @@ -3002,7 +2980,7 @@ AS_IF( [test "${enable_libass}" != "no"], [ VLC_ADD_LIBS([libass],[-lfontconfig]) ]) ],[ - AC_MSG_WARN([LIBASS library not found]) + AC_MSG_WARN([${LIBASS_PKG_ERRORS}.]) ]) ]) @@ -3021,8 +2999,8 @@ AS_IF([test "${enable_tiger}" != "no"], [ AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.]) VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS]) VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[ - AS_IF([test "x${enable_tiger}" != "x"], [ - AC_MSG_ERROR([libtiger does not appear to be installed on your system.]) + AS_IF([test -n "${enable_tiger}"], [ + AC_MSG_ERROR([${TIGER_PKG_ERRORS}.]) ]) ]) ]) @@ -3034,6 +3012,37 @@ dnl EXTEND_HELP_STRING([Video plugins:]) +dnl +dnl OpenGL +dnl +PKG_CHECK_MODULES([GL], [gl], [ + have_gl="yes" +], [ + AC_CHECK_HEADER([GL/gl.h], [ + have_gl="yes" + GL_CFLAGS="" + GL_LIBS="-lGL" + ], [ + have_gl="no" + ]) +]) + +dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished +dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto]) +dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken +dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto]) + +AC_ARG_ENABLE(egl, + [ --enable-egl OpenGL support through EGL (default disabled)],, [ + enable_egl="no" +]) +AS_IF([test "$enable_egl" != "no"], [ + PKG_CHECK_MODULES([EGL], [egl], [ + VLC_ADD_PLUGIN([gl]) + VLC_ADD_PLUGIN([egl]) + ]) +]) + dnl dnl Xlib dnl @@ -3056,6 +3065,10 @@ AC_ARG_ENABLE(xvideo, [ --enable-xvideo XVideo support (default enabled)],, [ enable_xvideo="$enable_xcb" ]) +AC_ARG_ENABLE(glx, + [ --enable-glx OpenGL support through GLX (default enabled)],, [ + enable_glx="$enable_xcb" +]) have_xcb="no" AS_IF([test "${enable_xcb}" != "no"], [ @@ -3076,7 +3089,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}]) ], [ - AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.]) + AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.]) ]) dnl xcb-utils @@ -3087,35 +3100,21 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) ], [ - AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.]) + AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) ]) -]) -AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) -AC_ARG_ENABLE(glx, - [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ - enable_glx="$enable_xcb" -]) -AS_IF([test "${enable_glx}" != "no"], [ - PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb]) - PKG_CHECK_MODULES(GL, [gl],, [ - AC_CHECK_HEADER([GL/gl.h], [ - GL_CFLAGS="" - GL_LIBS="-lGL" + AS_IF([test "${enable_glx}" != "no"], [ + AS_IF([test "${have_gl}" != "yes"], [ + AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) + ]) + PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb], [ + VLC_ADD_PLUGIN([xcb_glx]) ], [ - AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.]) + AC_MSG_ERROR([${XLIB_XCB_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) ]) ]) - VLC_ADD_PLUGIN([xcb_glx]) ]) - -dnl -dnl OpenGL -dnl -PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto]) -PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto]) -PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto]) -PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto]) +AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) dnl dnl SDL module @@ -3143,14 +3142,11 @@ then VLC_ADD_PLUGIN([sdl_image]) VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}]) VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])], - [ AC_MSG_WARN([The development package for SDL_image is not installed. - You should install it alongside your SDL package.]) + [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.]) ]) ]) ],[ - AC_MSG_WARN([The development package for SDL is not present or too old. - You need 1.2.10. Alternatively you can also configure with - --disable-sdl.]) + AC_MSG_WARN([${SDL_PKG_ERRORS}.]) ]) fi @@ -3208,13 +3204,13 @@ if test "${enable_freetype}" != "no"; then PKG_CHECK_MODULES(FRIBIDI, fribidi, [ VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI]) VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}]) - ],[AC_MSG_WARN([library fribidi not found. Bidirectional support will be disabled in freetype])]) + ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])]) fi ],[ have_freetype=no - AS_IF([ test "${enable_freetype}" = "yes"],[ - AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.]) + AS_IF([test -n "${enable_freetype}"],[ + AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.]) ]) ]) fi @@ -3283,10 +3279,11 @@ if test "${enable_directx}" != "no"; then ) dnl OpenGL - AC_CHECK_HEADERS(GL/glext.h, + AC_CHECK_HEADERS(GL/wglew.h, [ VLC_ADD_PLUGIN([glwin32]) VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) ],[],[ + #include #include ]) @@ -3407,7 +3404,7 @@ if test "${enable_directfb}" = "yes"; then VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}]) VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}]) else - AC_MSG_ERROR([cannot find directfb headers and/or libraries ]) + AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.]) fi fi @@ -3434,6 +3431,29 @@ dnl libcaca plugin dnl PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto]) +dnl +dnl OS/2 KVA plugin +dnl +AC_ARG_ENABLE(kva, + [AS_HELP_STRING([--enable-kva], + [support the K Video Accelerator KVA (default enabled on OS/2)])],, [ + AS_IF([test "$SYS" = "os2"], [ + enable_kva="yes" + ]) +]) +have_kva="no" +KVA_LIBS="" +AS_IF([test "$enable_kva" != "no"], [ + AC_CHECK_HEADERS([kva.h], [ + have_kva="yes" + AC_CHECK_LIB(kva, main, [ + KVA_LIBS="-lkva" + ]) + ]) +]) +AC_SUBST(KVA_LIBS) +AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"]) + dnl dnl Audio plugins dnl @@ -3583,6 +3603,29 @@ dnl libsamplerate plugin dnl PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto]) +dnl +dnl OS/2 KAI plugin +dnl +AC_ARG_ENABLE(kai, + [AS_HELP_STRING([--enable-kai], + [support the K Audio Interface KAI (default enabled on OS/2)])],, [ + AS_IF([test "$SYS" = "os2"], [ + enable_kai="yes" + ]) +]) +have_kai="no" +KAI_LIBS="" +AS_IF([test "$enable_kai" != "no"], [ + AC_CHECK_HEADERS([kai.h], [ + have_kai="yes" + AC_CHECK_LIB(kai, main, [ + KAI_LIBS="-lkai" + ]) + ]) +]) +AC_SUBST(KAI_LIBS) +AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"]) + dnl dnl Interface plugins dnl @@ -3599,7 +3642,7 @@ AS_IF([test "${enable_skins2}" != "no"], [ AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32]) + VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32]) ], [test "${SYS}" = "darwin"], [ VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS]) @@ -3652,7 +3695,7 @@ AS_IF([test "${enable_hildon}" = "yes"], [ VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM]) VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}]) ], [ - AC_MSG_WARN(hildon-fm-2 not found) + AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.]) ]) VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}]) VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11]) @@ -3660,7 +3703,7 @@ AS_IF([test "${enable_hildon}" = "yes"], [ ALIASES="${ALIASES} mvlc" ], [ AS_IF([test "${enable_hildon}" = "yes"],[ - AC_MSG_ERROR([Hildon libraries not found]) + AC_MSG_ERROR([${HILDON_PKG_ERRORS}.]) ]) enable_hildon="no" ]) @@ -3712,10 +3755,10 @@ AS_IF([test "${enable_qt4}" != "no"], [ AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) ], [ - AS_IF([test "${enable_qt4}" = "yes"],[ - AC_MSG_ERROR([Qt 4 library not found]) + AS_IF([test -n "${enable_qt4}"],[ + AC_MSG_ERROR([${QT4_PKG_ERRORS}.]) ],[ - AC_MSG_WARN([Qt 4 library not found]) + AC_MSG_WARN([${QT4_PKG_ERRORS}.]) ]) enable_qt4="no" ]) @@ -3726,7 +3769,7 @@ dnl dnl Simple test for skins2 dependency dnl AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [ - AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.]) + AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you will not be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.]) ]) dnl @@ -3734,26 +3777,26 @@ dnl MacOS X gui module dnl AC_ARG_ENABLE(macosx, [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)]) -if test "x${enable_macosx}" != "xno" && -(test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes") +if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin" then - VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,Cocoa]) - VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,OpenGL]) - VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Carbon]) - VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,CoreServices]) - VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,AGL]) - VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit]) - VLC_ADD_LIBS([macosx], [-Wl,-framework,IOKit]) - VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle]) - VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle]) - VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit]) - VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit]) - dnl For bug report - VLC_ADD_LIBS([macosx], [-Wl,-framework,AddressBook]) - VLC_ADD_LIBS([macosx], [-Wl,-framework,WebKit]) + VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL]) VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] ) - VLC_ADD_PLUGIN([macosx minimal_macosx]) + + VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit]) + + CFLAGS="-I${CONTRIB_DIR}/Sparkle.framework/Headers ${CFLAGS_saved}" + AC_CHECK_HEADERS(Sparkle.h, [ + VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle]) + VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) + ]) + if ! test -d ${CONTRIB_DIR}/BGHUDAppKit.framework + then + AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}]) + fi + VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit]) + VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) + fi dnl @@ -3873,7 +3916,7 @@ AS_IF([test "${enable_projectm}" != "no"], [ AC_MSG_WARN( [Using libprojectM version 1] ) ]) ],[ - AC_MSG_WARN([libprojectM library not found]) + AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.]) ]) ]) @@ -3973,8 +4016,8 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ - AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)]) + AS_IF([test -n "${enable_gnutls}"], [ + AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)]) ]) ]) ]) @@ -4033,7 +4076,7 @@ AS_IF([test "${enable_taglib}" != "no"], [ VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], [ - AC_MSG_WARN(TagLib library not found)]) + AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])]) ]) @@ -4060,10 +4103,10 @@ AC_ARG_ENABLE(growl, [ --enable-growl growl notification plugin (default disabled)],, [enable_growl=no]) AS_IF([test "${enable_growl}" != "no"], [ - AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ + AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ VLC_ADD_PLUGIN([growl]) - VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation]) - VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl]) + VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,CoreFoundation]) + VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}]) VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] ) ]) ] @@ -4172,15 +4215,6 @@ AC_ARG_ENABLE(macosx-vlc-app, AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" && (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ]) - -dnl -dnl Pic and shared libvlc stuff -dnl -AS_IF([test "${SYS}" = "mingw32"], [ - FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll" - FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" -]) - dnl dnl Stuff used by the program dnl @@ -4305,6 +4339,7 @@ AC_CONFIG_FILES([ modules/packetizer/Makefile modules/services_discovery/Makefile modules/stream_filter/Makefile + modules/stream_filter/dash/Makefile modules/stream_out/Makefile modules/stream_out/transcode/Makefile modules/text_renderer/Makefile @@ -4340,8 +4375,6 @@ AM_COND_IF([HAVE_DARWIN], [ dnl Generate makefiles AC_OUTPUT -/bin/echo -n "Enabled modules: ${PLUGINS}" - dnl Do we have to use make or gmake ? USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac` dnl Shortcut to nice compile message @@ -4360,15 +4393,13 @@ echo rm -f .error\$\$ >>compile echo exit \$ERROR >>compile chmod a+x compile -printf " +echo " libvlc configuration -------------------- version : ${VERSION} system : ${SYS} architecture : ${ARCH} -build flavour : " -test "${enable_optimizations}" != "no" && printf ${enable_optimizations} -echo "" +optimizations : ${enable_optimizations}" if test "${enable_vlc}" != "no"; then echo "vlc aliases :${ALIASES}" else