X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=e0a59d526d6d71bb2870f697c0b1667505fb8448;hb=6d44c8cbde14df36ccd559895a553523f5cc380b;hp=111c7f8ff08042f50c8ab81fc796fa103502ed27;hpb=54e9c0767a34e4ee37b8ef262e7ea61794edec4d;p=vlc diff --git a/configure.ac b/configure.ac index 111c7f8ff0..8a29df283f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Autoconf settings for vlc -AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team]) +AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team]) AC_INIT(vlc, 1.2.0-git) VERSION_MAJOR="1" @@ -12,7 +12,7 @@ AC_SUBST(PKGDIR) CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Twoflower" -COPYRIGHT_YEARS="1996-2010" +COPYRIGHT_YEARS="1996-2011" AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) @@ -33,7 +33,6 @@ dnl If you want to use it, you definitely know what you are doing, so dnl you can specify "--disable-maintainer-mode". But if you want the default dnl automake behavior, you've likely never heard of maintainer mode, so we dnl can't expect you to enable it manually. - AS_IF([test "x${enable_maintainer_mode}" != "xno"], [enable_maintainer_mode="yes"]) AM_MAINTAINER_MODE @@ -58,7 +57,11 @@ dnl Check for tools dnl AC_PROG_CC_C99 AC_USE_SYSTEM_EXTENSIONS -AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.]) +AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.]) +AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.]) +AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.]) +AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.]) +AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.]) AM_PROG_CC_C_O AC_PROG_CXX @@ -88,19 +91,19 @@ AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])]) dnl Allow binary package maintainer to pass a custom string to avoid dnl cache problem AC_ARG_WITH(binary-version, - AS_HELP_STRING([--with-binary-version=STRING], - [To avoid plugins cache problem between binary version]),[],[]) + AS_HELP_STRING([--with-binary-version=STRING], + [To avoid plugins cache problem between binary version]),[],[]) AS_IF([test -n "${with_binary_version}"],[ - AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"], - [Binary specific version]) - ]) - + AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"], + [Binary specific version]) +]) dnl dnl Check for the contrib directory dnl AC_ARG_WITH(contrib, - [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[]) + [AS_HELP_STRING([--without-contrib], + [do not use the libraries in CONTRIB_DIR])]) AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib]) AS_IF([test "${with_contrib}" != "no"],[ AS_IF([test -z "$CONTRIB_DIR"], [ @@ -136,25 +139,16 @@ AS_IF([test "${with_contrib}" != "no"],[ LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" - if test -z "$with_mozilla_sdk_path"; then - with_mozilla_sdk_path="${CONTRIB_DIR}/gecko-sdk" - fi - if test -z "$with_cyberlink_tree"; then - with_cyberlink_tree="${CONTRIB_DIR}/src/clinkcc" - fi - if test "${SYS}" = "darwin"; then export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" - elif test "${SYS}" = "beos"; then - export LIBRARY_PATH="${CONTRIB_DIR}/lib:$LIBRARY_PATH" - export BELIBRARIES="${CONTRIB_DIR}/lib:$BELIBRARIES" fi ],[ AC_MSG_RESULT([no]) CONTRIB_DIR="" ]) ]) + dnl dnl Set default values dnl @@ -163,6 +157,7 @@ LDFLAGS_vlc="${LDFLAGS}" dnl dnl Check the operating system dnl +HAVE_WIN64="0" case "${host_os}" in "") SYS=unknown @@ -229,15 +224,9 @@ case "${host_os}" in then echo "" echo "Building with Mac OS X defaults:" - with_macosx_version_min="10.5" - echo " Assuming --with-macosx-version-min=10.5" - with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk" - echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk" build_dir=`pwd` echo " Assuming --prefix=${build_dir}/vlc_install_dir" ac_default_prefix="${build_dir}/vlc_install_dir" - enable_macosx="yes" - echo " Assuming --enable-macosx" enable_faad="yes" echo " Assuming --enable-faad" enable_flac="yes" @@ -258,8 +247,6 @@ case "${host_os}" in echo " Assuming --enable-realrtsp" enable_libass="yes" echo " Assuming --enable-libass" - enable_asademux="yes" - echo " Assuming --enable-asademux" enable_skins2="no" echo " Assuming --disable-skins2" @@ -270,16 +257,27 @@ case "${host_os}" in dnl Check for Mac OS X SDK settings dnl AC_ARG_WITH(macosx-sdk, - [ --with-macosx-sdk=DIR compile using the SDK in DIR]) + [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 AC_ARG_WITH(macosx-version-min, - [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above]) + [AS_HELP_STRING([--with-macosx-version-min=VERSION], + [compile for MacOS X VERSION and above])]) if test "${with_macosx_version_min}" != "" ; then CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" @@ -296,21 +294,20 @@ case "${host_os}" in *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) + AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) + AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.]) case "${host_os}" in *wince* | *mingwce* | *mingw32ce*) SYS=mingwce dnl Sadly CeGCC still needs non-wince macros - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.]) ;; *mingw32*) SYS=mingw32 - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP APIs.]) ;; *cygwin*) dnl Check if we are using the mno-cygwin mode in which case we are dnl actually dealing with a mingw32 compiler. - AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) AC_EGREP_CPP(yes, [#ifdef WIN32 yes @@ -323,30 +320,46 @@ case "${host_os}" in # add ws2_32 for closesocket, select, recv VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) - VLC_ADD_LIBS([activex mozilla win32text],[-lgdi32]) + VLC_ADD_LIBS([win32text],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm]) - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32]) VLC_ADD_LIBS([filesystem], [-lshlwapi]) dnl dnl DEP and ASLR options dnl - AC_ARG_ENABLE(peflags, - [ --enable-peflags peflags use (default enabled on Windows)]) - if test "${enable_peflags}" != "no" ; then - AC_CHECK_TOOL(PEFLAGS, peflags, :) + 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/" + + dnl + dnl NSIS Installer prefix and WIN64 + dnl + case "${host}" in + amd64*|i686-w64*|x86_64*) + HAVE_WIN64="1" + PROGRAMFILES="PROGRAMFILES64" + ;; + *) + PROGRAMFILES="PROGRAMFILES" + ;; + esac + AC_SUBST(PROGRAMFILES) + fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv - VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap oldhttp netsync audioscrobbler growl rtp stream_out_standard stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2]) + VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap netsync audioscrobbler growl rtp stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2]) VLC_ADD_LIBS([libvlccore],[-lmmtimer]) AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_wince" DESTDIR="`pwd`/_wince/" - fi + fi ;; *nto*) SYS=nto @@ -357,32 +370,25 @@ case "${host_os}" in hpux*) SYS=hpux ;; - beos) - SYS=beos - CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" - VLC_ADD_CXXFLAGS([beos],[]) - VLC_ADD_LIBS([vlc libvlccore logger],[-lbe]) - VLC_ADD_LIBS([dvdnav dvdread],[-ldl]) - VLC_ADD_LIBS([filesystem],[-lpoll]) - LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" - dnl Check for BONE - if test -f /boot/beos/system/lib/libbind.so; then - VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lbind -lsocket]) - else - VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lnet]) - fi + symbian*) + SYS=symbian + ;; + *os2*) + SYS=os2 + LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}" ;; *) SYS="${host_os}" ;; esac -AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") -AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") -AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"]) -AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") -AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") -AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"]) +AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") +AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux") +AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2") +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 @@ -396,6 +402,23 @@ case "${build_os}" in ;; esac +dnl Android is linux, but a bit different +AS_IF([test "$SYS" = linux],[ + AC_MSG_CHECKING([for an Android system]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#ifndef __ANDROID__ + # error Not Android + #endif + ]],[[;]]) + ],[ + HAVE_ANDROID="1" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) +AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") + dnl dnl Libtool dnl It's very bad, but our former custom system was worst @@ -442,25 +465,26 @@ VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}]) dnl Check for broken versions of mingw-runtime compatability library AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ AC_MSG_CHECKING(for broken mingw-runtime) - AC_PREPROC_IFELSE([ + AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include <_mingw.h> #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15) +#ifndef __MINGW64_VERSION_MAJOR # error Attempting to use mingw-runtime with broken vsnprintf support #endif -], [ +#endif + ])], [ AC_MSG_RESULT([ok]) -], [ + ], [ AC_MSG_RESULT([present]) AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!]) -]) + ]) dnl force use of mingw provided c99 *printf over msvcrt CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1" CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1" ]) dnl Check for the need to include the mingwex lib for mingw32 -if test "${SYS}" = "mingw32" -then +if test "${SYS}" = "mingw32" ; then AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, [VLC_ADD_LIBS([libvlccore],[-lmingwex])]) @@ -468,8 +492,7 @@ then fi dnl Check for fnative-struct or mms-bitfields support for mingw32 -if test "${SYS}" = "mingw32" -then +if test "${SYS}" = "mingw32" ; then AC_CACHE_CHECK([if \$CC accepts -mms-bitfields], [ac_cv_c_mms_bitfields], [CFLAGS="${CFLAGS_save} -mms-bitfields" @@ -492,9 +515,8 @@ then fi dnl Check for fvtable-thunks support for mingw32 -if test "${SYS}" = "mingw32" -a "${CXX}" != "" -then -AC_LANG_PUSH(C++) +if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then + AC_LANG_PUSH(C++) AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks], [ac_cv_cxx_fvtable_thunks], [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks" @@ -505,7 +527,7 @@ AC_LANG_PUSH(C++) fi CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}" -AC_LANG_POP(C++) + AC_LANG_POP(C++) fi dnl @@ -514,21 +536,20 @@ dnl See sourceware.org bugs 5058 and 5443. dnl Ubuntu alone has 20 bug numbers for this... dnl AC_MSG_CHECKING(for buggy GNU/libc versions) -AC_PREPROC_IFELSE([ +AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include #if defined (__GLIBC__) && (__GLIBC__ == 2) \ && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7) # error GNU/libc with dcgettext killer bug! #endif -], [ +])], [ AC_MSG_RESULT([not present]) ], [ AC_MSG_RESULT([found]) - AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [ + AS_IF([test "x${enable_nls}" != "xno"], [ AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable work-around for this. Check with your distribution vendor on how to update the -glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and -be sure to not use LibVLC from other applications/wrappers.]) +glibc run-time. Alternatively, build with --disable-nls.]) ], [ AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.]) ]) @@ -545,19 +566,20 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf]) +AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale]) +AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile getcwd 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_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) +# Windows CE doesn't have strcoll() +AC_FUNC_STRCOLL + dnl Check for non-standard system calls -AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity]) +AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) -AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])]) - SOCKET_LIBS="" AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ @@ -658,13 +680,13 @@ 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],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm]) + VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) + VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ - VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm]) + VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm]) ]) AC_CHECK_LIB(m,exp,[ VLC_ADD_LIBS([gaussianblur],[-lm]) @@ -685,21 +707,6 @@ AC_CHECK_LIB(m,lrintf, [ dnl Check for dynamic plugins ac_cv_have_plugins=no -# HP-UX style -if test "${ac_cv_have_plugins}" = "no"; then - AC_CHECK_HEADERS(dl.h) - ac_cv_my_have_shl_load=no - AC_CHECK_FUNC(shl_load, - [ac_cv_my_have_shl_load=yes, - AC_CHECK_LIB(dld, shl_load, - [ac_cv_my_have_shl_load=yes - VLC_ADD_LIBS([libvlccore],[-ldld])])]) - if test "${ac_cv_my_have_shl_load}" = "yes"; then - AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API]) - ac_cv_have_plugins=yes - fi -fi - # Win32 style if test "${ac_cv_have_plugins}" = "no"; then if test "${SYS}" = "mingw32" ; then @@ -718,14 +725,6 @@ if test "${ac_cv_have_plugins}" = "no"; then fi fi -# BeOS style -if test "${ac_cv_have_plugins}" = "no"; then - AC_CHECK_HEADERS(image.h) - AC_CHECK_FUNCS(load_add_on, - [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl]) - ac_cv_have_plugins=yes]) -fi - # Only test for dlopen() if the others didn't work LIBDL="" if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then @@ -753,43 +752,43 @@ fi AC_SUBST(LIBDL) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -dnl Check for pthreads - borrowed from XMMS -THREAD_LIB=error -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r") -fi -if test "${THREAD_LIB}" = "error"; then - AC_CHECK_FUNCS(pthread_mutex_lock) - THREAD_LIB="" -fi + dnl Check for pthreads - borrowed from XMMS + THREAD_LIB=error + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r") + fi + if test "${THREAD_LIB}" = "error"; then + AC_CHECK_FUNCS(pthread_mutex_lock) + THREAD_LIB="" + fi -VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}]) + VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}]) -AC_CHECK_LIB(rt, clock_nanosleep, [ - VLC_ADD_LIBS([libvlccore],[-lrt]) - AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) -], [ - dnl HP/UX port - AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) -]) + AC_CHECK_LIB(rt, clock_nanosleep, [ + VLC_ADD_LIBS([libvlccore],[-lrt]) + AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) + ], [ + dnl HP/UX port + AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])]) + ]) -have_nanosleep=false -AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ - AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], - [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] - ) -]) -if ${have_nanosleep}; then - AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) -fi + have_nanosleep=false + AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ + AC_CHECK_LIB(rt,nanosleep, + [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:], + [AC_CHECK_LIB(posix4,nanosleep, + [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])] + ) + ]) + if ${have_nanosleep}; then + AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) + fi fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for misc headers @@ -801,21 +800,27 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(no)]) 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 sys/mount.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([net/if.h], [], [], [ #include #include ]) +AC_CHECK_HEADERS([sys/mount.h], [], [], + [ + #include + ]) + if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(machine/param.h sys/shm.h) -AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) -AC_CHECK_HEADERS(syslog.h) + AC_CHECK_HEADERS(machine/param.h sys/shm.h) + AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) + AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -dnl LP64 adn LLP64 architectures had better define ssize_t by themselves... +dnl LP64 and LLP64 architectures had better define ssize_t by themselves... AH_TEMPLATE(ssize_t, [Define to `int' if does not define.]) AC_CHECK_TYPE(ssize_t,, [ AC_DEFINE(ssize_t, int) @@ -829,21 +834,16 @@ then fi ]) -dnl Check for dirent -need_dirent=false -AC_CHECK_HEADERS(dirent.h,,[need_dirent=:]) -AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent}) - dnl Mac OS X and other OSes don't have declaration for nanosleep if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_MSG_CHECKING(for nanosleep in time.h) -AC_EGREP_HEADER(nanosleep,time.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, - Define if defines nanosleep.) -],[ - AC_MSG_RESULT(no) -]) + AC_MSG_CHECKING(for nanosleep in time.h) + AC_EGREP_HEADER(nanosleep,time.h,[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, + Define if defines nanosleep.) + ],[ + AC_MSG_RESULT(no) + ]) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Make sure we have timespecs @@ -858,7 +858,7 @@ AC_EGREP_HEADER(timespec,sys/time.h,[ dnl Check for threads library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(pthread.h) + AC_CHECK_HEADERS(pthread.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl It seems that autoconf detects pkg-config only during the first @@ -866,25 +866,25 @@ dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case, dnl it is nested within a conditional block, so it was not working right. dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved AC_ARG_VAR(PKG_CONFIG_PATH, - [Paths where to find .pc not at the default location]) + [Paths where to find .pc not at the default location]) PKG_PROG_PKG_CONFIG() dnl On some OS we need static linking - AS_IF([test -n "${PKG_CONFIG}" ],[ - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[ - PKG_CONFIG="${PKG_CONFIG} --static" - ]) - ]) +AS_IF([test -n "${PKG_CONFIG}" ],[ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[ + PKG_CONFIG="${PKG_CONFIG} --static" + ]) +]) dnl dnl Check for zlib.h and -lz along with system -lminizip if available -dnl +dnl AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ]) AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ]) if test "${have_zlib}" = "yes" then - VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz]) + VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz]) PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [ AC_CHECK_HEADERS([unzip.h], [ have_minizip=yes @@ -905,8 +905,9 @@ AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ]) dnl Manual switch for UTF-8 AC_ARG_ENABLE(non-utf8, - [ --enable-non-utf8 Legacy non-UTF-8 systems support (default disabled)], [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + [AS_HELP_STRING([--enable-non-utf8], + [support legacy non-UTF-8 systems (default disabled)])],, [ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ enable_non_utf8="no" ]) ]) @@ -918,7 +919,8 @@ AS_IF([test "${enable_non_utf8}" != "no"], [ dnl Check for dbus AC_ARG_ENABLE(dbus, - [ --enable-dbus Linux D-BUS message bus system (default enabled)]) + [AS_HELP_STRING([--enable-dbus], + [compile D-Bus message bus support (default enabled)])]) case "${SYS}" in linux*|*bsd*) if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -929,7 +931,9 @@ then VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS]) VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS]) dnl Check for dbus control interface - AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)]) + AC_ARG_ENABLE(dbus-control, + [AS_HELP_STRING([--disable-dbus-control], + [D-Bus control interface (default enabled)])]) if test "${enable_dbus_control}" != "no" then VLC_ADD_PLUGIN([dbus]) @@ -965,114 +969,247 @@ AC_CACHE_CHECK([for ntohl in sys/param.h], if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if defines ntohl.) fi -CFLAGS="${CFLAGS_save}" + +EXTEND_HELP_STRING([Optimization options:]) +VLC_RESTORE_FLAGS +dnl +dnl Compiler warnings +dnl RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) RDC_PROG_CC_FLAGS([-pipe]) +AC_LANG_PUSH([C++]) +RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) +AC_LANG_POP([C++]) -dnl Check for various optimization flags -AC_CACHE_CHECK([if \$CC accepts -Os], - [ac_cv_c_os], - [CFLAGS="${CFLAGS_save} -Os" - AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)]) -if test "${ac_cv_c_os}" != "no"; then - CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os" -else - AC_CACHE_CHECK([if \$CC accepts -O], - [ac_cv_c_o], - [CFLAGS="${CFLAGS_save} -O" - AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "${ac_cv_c_o}" != "no"; then - if test "${ac_cv_c_o3}" = "no"; then - CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O" - fi - fi -fi +dnl +dnl Debugging mode +dnl +AC_ARG_ENABLE(debug, + [AS_HELP_STRING([--enable-debug], + [build with run-time assertions and debug symbols (default disabled)])],, + [enable_debug="no"]) +AH_TEMPLATE(NDEBUG, + [Define to 1 if debug code should NOT be compiled]) +AS_IF([test "${enable_debug}" != "no"], [ + AC_CHECK_HEADERS([valgrind/valgrind.h]) + CFLAGS="${CFLAGS} -g" + CXXFLAGS="${CXXFLAGS} -g" + OBJCFLAGS="${OBJCFLAGS} -g" + LDFLAGS="${LDFLAGS} -g" +], [ + AC_DEFINE(NDEBUG) +]) -AC_CACHE_CHECK([if \$CC accepts -O4], - [ac_cv_c_o4], - [CFLAGS="${CFLAGS_save} -O4" - AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)]) -if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4" -else - AC_CACHE_CHECK([if \$CC accepts -O3], - [ac_cv_c_o3], - [CFLAGS="${CFLAGS_save} -O3" - AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) - if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" - else - AC_CACHE_CHECK([if \$CC accepts -O2], - [ac_cv_c_o2], - [CFLAGS="${CFLAGS_save} -O2" - AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) - if test "${ac_cv_c_o2}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2" - else - AC_CACHE_CHECK([if \$CC accepts -O], - [ac_cv_c_o], - [CFLAGS="${CFLAGS_save} -O" - AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "${ac_cv_c_o}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O" - fi - fi - fi -fi +dnl +dnl Profiling +dnl +AC_ARG_ENABLE(gprof, + [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],, + [enable_gprof="no"]) +AS_IF([test "${enable_gprof}" != "no"], [ + CFLAGS="${CFLAGS} -pg" + CXXFLAGS="${CXXFLAGS} -pg" + OBJCFLAGS="${OBJCFLAGS} -pg" + LDFLAGS="${LDFLAGS} -pg" +]) -AC_CACHE_CHECK([if \$CC accepts -O0], - [ac_cv_c_o0], - [CFLAGS="${CFLAGS_save} -O0" - AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)]) -if test "${ac_cv_c_o0}" != "no"; then - CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0" -fi +AC_ARG_ENABLE(cprof, + [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],, + [enable_cprof="no"]) +AS_IF([test "${enable_gprof}" != "no"], [ + CFLAGS="${CFLAGS} -finstrument-functions" + CXXFLAGS="${CXXFLAGS} -finstrument-functions" + OBJCFLAGS="${OBJCFLAGS} -finstrument-functions" + LDFLAGS="${LDFLAGS} -finstrument-functions" +]) -dnl Check for -ffast-math -AC_CACHE_CHECK([if \$CC accepts -ffast-math], - [ac_cv_c_fast_math], - [CFLAGS="${CFLAGS_save} -ffast-math" - AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)]) -if test "${ac_cv_c_fast_math}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math" -fi +dnl +dnl Test coverage +dnl +AC_ARG_ENABLE(coverage, + [AS_HELP_STRING([--enable-coverage], + [build for test coverage (default disabled)])],, + [enable_coverage="no"]) +AS_IF([test "${enable_coverage}" != "no"], [ + CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" + CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" + LDFLAGS="-lgcov ${LDFLAGS}" +]) -dnl Check for -funroll-loops -dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it -if test "${SYS}" != "beos" -then - AC_CACHE_CHECK([if \$CC accepts -funroll-loops], - [ac_cv_c_unroll_loops], - [CFLAGS="${CFLAGS_save} -funroll-loops" - AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) - if test "${ac_cv_c_unroll_loops}" != "no"; then - CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops" - fi -fi +VLC_SAVE_FLAGS -dnl Check for -fomit-frame-pointer -AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer], - [ac_cv_c_omit_frame_pointer], - [CFLAGS="${CFLAGS_save} -fomit-frame-pointer" - AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)]) -if test "${ac_cv_c_omit_frame_pointer}" != "no"; then - if test "${SYS}" != "darwin"; then - CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer" - else - dnl On darwin we explicitely disable it. - CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer" - fi -fi +AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden], + [ac_cv_c_visibility_hidden], [ + CFLAGS="${CFLAGS_save} -fvisibility=hidden" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_visibility_hidden=yes + ], [ + ac_cv_c_visibility_hidden=no + ]) + ]) + AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -fvisibility=hidden" + CXXFLAGS="${CXXFLAGS} -fvisibility=hidden" + OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden" + VLC_SAVE_FLAGS + ]) +]) + + +dnl +dnl Enable/disable optimizations +dnl +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"], [ + + C_O="" + dnl -O4 and -O3 only in production builds + AS_IF([test "{enable_debug}" = "no"], [ + AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [ + CFLAGS="${CFLAGS_save} -O4" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o4=yes + ], [ + ac_cv_c_o4=no + ]) + ]) + AS_IF([test "${ac_cv_c_o4}" != "no"], [ + C_O="-O4" + ], [ + AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [ + CFLAGS="${CFLAGS_save} -O3" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o3=yes + ], [ + ac_cv_c_o3=no + ]) + ]) + AS_IF([test "${ac_cv_c_o3}" != "no"], [ + C_O="-O3" + ]) + ]) + ]) + + dnl -O2 and -O in both production and debug builds + AS_IF([test "x$C_O" = "x"], [ + AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [ + CFLAGS="${CFLAGS_save} -O2" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o2=yes + ], [ + ac_cv_c_o2=no + ]) + ]) + AS_IF([test "${ac_cv_c_o2}" != "no"], [ + C_O="-O2" + ], [ + AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [ + CFLAGS="${CFLAGS_save} -O" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_o=yes + ], [ + ac_cv_c_o=no + ]) + ]) + AS_IF([test "${ac_cv_c_o}" != "no"], [ + C_O="-O" + ]) + ]) + ]) + + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} ${C_O}" + CXXFLAGS="${CXXFLAGS} ${C_O}" + OBJCFLAGS="${OBJCFLAGS} ${C_O}" + VLC_SAVE_FLAGS + + dnl Check for -ffast-math + AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [ + CFLAGS="${CFLAGS_save} -ffast-math" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_fast_math=yes + ], [ + ac_cv_c_fast_math=no + ]) + ]) + AS_IF([test "${ac_cv_c_fast_math}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -ffast-math" + CXXFLAGS="${CXXFLAGS} -ffast-math" + OBJCFLAGS="${OBJCFLAGS} -ffast-math" + VLC_SAVE_FLAGS + ]) + + dnl Check for -funroll-loops + AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [ + CFLAGS="${CFLAGS_save} -funroll-loops" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_unroll_loops=yes + ], [ + ac_cv_c_unroll_loops=no + ]) + ]) + AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [ + VLC_RESTORE_FLAGS + CFLAGS="${CFLAGS} -funroll-loops" + CXXFLAGS="${CXXFLAGS} -funroll-loops" + OBJCFLAGS="${OBJCFLAGS} -funroll-loops" + VLC_SAVE_FLAGS + ]) + + AS_IF([test "$enable_debug" = "no"], [ + dnl Check for -fomit-frame-pointer + AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer], + [ac_cv_c_omit_frame_pointer], [ + CFLAGS="${CFLAGS_save} -fomit-frame-pointer" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_c_omit_frame_pointer=yes + ], [ + ac_cv_c_omit_frame_pointer=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" + ]) + VLC_SAVE_FLAGS + ]) + ]) +]) dnl Check for Darwin plugin linking flags -AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error], - [ac_cv_ld_darwin], - [CFLAGS="${CFLAGS_save} -bundle -undefined error" - AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)]) -if test "${ac_cv_ld_darwin}" != "no"; then +AS_IF([test "${SYS}" = "darwin"], [ + AC_CACHE_CHECK([if $CC accepts -bundle -undefined error], + [ac_cv_ld_darwin], [ + CFLAGS="${CFLAGS_save} -bundle -undefined error" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ + ac_cv_ld_darwin=yes + ], [ + ac_cv_ld_darwin=no + ]) + ]) + AS_IF([test "${ac_cv_ld_darwin}" != "no"], [ VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error]) -fi + ]) +]) dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], @@ -1116,16 +1253,6 @@ dnl Check for backtrace() support AC_CHECK_HEADERS(execinfo.h) AC_CHECK_FUNCS(backtrace) -dnl -dnl Enable profiling -dnl -AC_ARG_ENABLE(gprof, -[ --enable-gprof gprof profiling (default disabled)]) -AC_ARG_ENABLE(cprof, -[ --enable-cprof cprof profiling (default disabled)]) -test "${enable_gprof}" != "yes" && enable_gprof="no" -test "${enable_cprof}" != "yes" && enable_cprof="no" - dnl dnl default modules dnl @@ -1135,7 +1262,7 @@ dnl dnl Some plugins aren't useful on some platforms dnl if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([dynamicoverlay]) + VLC_ADD_PLUGIN([dynamicoverlay access_shm]) elif test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) @@ -1147,13 +1274,13 @@ fi dnl dnl Accelerated modules dnl -EXTEND_HELP_STRING([Optimization options:]) dnl Check for fully working MMX intrinsics dnl We need support for -mmmx, we need , and we also need a dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) AC_ARG_ENABLE(mmx, -[ --disable-mmx disable MMX optimizations (default auto)],,[ + [AS_HELP_STRING([--disable-mmx], + [disable MMX optimizations (default auto)])],,[ case "${host_cpu}" in i?86|x86_64) enable_mmx="yes" @@ -1188,7 +1315,6 @@ AS_IF([test "${enable_mmx}" != "no"], [ AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [ AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.]) - MMX_CFLAGS="-mmmx" ]) AC_CACHE_CHECK([if $CC groks MMX inline assembly], @@ -1213,7 +1339,6 @@ AS_IF([test "${enable_mmx}" != "no"], [ have_mmxext="yes" ]) ]) -AC_SUBST(MMX_CFLAGS) AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"]) AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"]) @@ -1221,10 +1346,10 @@ dnl Check for fully workin SSE2 intrinsics dnl We need support for -mmmx, we need , and we also need a dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) AC_ARG_ENABLE(sse, -[ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)], -, [ + [AS_HELP_STRING([--disable-sse], + [disable SSE (1-4) optimizations (default auto)])],, [ case "${host_cpu}" in - i686|x86_64) + i?86|x86_64) enable_sse=yes ;; *) @@ -1256,7 +1381,6 @@ AS_IF([test "${enable_sse}" != "no"], [ AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [ AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.]) - SSE2_CFLAGS="-msse2" ]) AC_CACHE_CHECK([if $CC groks SSE inline assembly], @@ -1329,7 +1453,6 @@ AS_IF([test "${enable_sse}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ]) ]) -AC_SUBST(SSE2_CFLAGS) AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"]) have_3dnow="no" @@ -1347,14 +1470,18 @@ AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"]) AC_ARG_ENABLE(neon, -[ --disable-neon disable NEON optimizations (default auto)],, [ + [AS_HELP_STRING([--disable-neon], + [disable NEON optimizations (default auto)])],, [ AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"]) ]) AS_IF([test "${enable_neon}" != "no"], [ AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ CFLAGS="${CFLAGS_save} -mfpu=neon" AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]]) + AC_LANG_PROGRAM(,[[ +asm volatile("vqmovun.s64 d0, q1":::"d0"); +asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ +]]) ], [ ac_cv_neon_inline="-mfpu=neon" ], [ @@ -1371,7 +1498,8 @@ AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"]) AC_ARG_ENABLE(altivec, -[ --disable-altivec disable AltiVec optimizations (default auto)],, [ + [AS_HELP_STRING([--disable-altivec], + [disable AltiVec optimizations (default auto)])],, [ AS_IF([test "${host_cpu}" = "powerpc"], [enable_altivec=yes], [enable_altivec=no]) ]) @@ -1392,8 +1520,6 @@ AS_IF([test "${enable_altivec}" = "yes"], [ AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, [Define to 1 if AltiVec inline assembly is available.]) AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [ - VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}]) - VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}]) @@ -1458,7 +1584,6 @@ dnl - Others: test should fail AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}]) - VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) have_altivec="yes" ]) @@ -1470,7 +1595,7 @@ dnl - Others: test should fail LDFLAGS="${LDFLAGS_save}" ]) AS_IF([test "${ac_cv_ld_altivec}" != "no"], [ - VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) + VLC_ADD_LDFLAGS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib]) ]) ]) AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"]) @@ -1479,15 +1604,17 @@ dnl dnl Special arch tuning dnl AC_ARG_WITH(tuning, -[ --with-tuning=ARCH enable special tuning for an architecture - (default Pentium 2 on IA-32 and G4 on PPC)]) + [AS_HELP_STRING([--with-tuning=ARCH], + [tune compilation for an architecture (default varies)])]) if test -n "${with_tuning}"; then if test "${with_tuning}" != "no"; then CFLAGS_TUNING="-mtune=${with_tuning}" fi else - if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then + if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then CFLAGS_TUNING="-march=prescott -mtune=generic" + elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then + CFLAGS_TUNING="-march=core2 -mtune=core2" elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then CFLAGS_TUNING="-mtune=pentium2" elif test "${host_cpu}" = "x86_64"; then @@ -1503,7 +1630,7 @@ AS_IF([test "${CFLAGS_TUNING}"], CFLAGS="${CFLAGS} ${CFLAGS_TUNING}" AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}]) - AC_COMPILE_IFELSE([ ], + AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [tuning="yes"], [CFLAGS_TUNING=""; tuning="no" AS_IF([test "${with_tuning}"], @@ -1517,69 +1644,29 @@ dnl dnl Memory usage dnl AC_ARG_ENABLE(optimize-memory, -[ --enable-optimize-memory optimize memory usage over performance]) + [AS_HELP_STRING([--enable-optimize-memory], + [optimize memory usage over performance])]) if test "${enable_optimize_memory}" = "yes"; then AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance) fi -dnl -dnl Enable/disable optimizations -dnl -AC_ARG_ENABLE(optimizations, -[ --disable-optimizations disable compiler optimizations (default enabled)]) -if test "${enable_optimizations}" != "no"; then - if test "${enable_optimize_memory}" = "yes"; then - enable_optimizations="size" - else - enable_optimizations="speed" - fi -fi - -dnl -dnl Debugging mode -dnl -AC_ARG_ENABLE(debug, -[ --enable-debug debug mode (default disabled)]) -test "${enable_debug}" != "yes" && enable_debug="no" -AH_TEMPLATE(NDEBUG, - [Define to 1 if debug code should NOT be compiled]) -AS_IF([test "x${enable_debug}" = "xno"], [ - AC_DEFINE(NDEBUG) -], [ - AC_CHECK_HEADERS([valgrind/valgrind.h]) -]) - dnl dnl Allow running as root (useful for people running on embedded platforms) dnl AC_ARG_ENABLE(run-as-root, -[ --enable-run-as-root allow running VLC as root (default disabled)]) + [AS_HELP_STRING([--enable-run-as-root], + [allow running VLC as root (default disabled)])]) AS_IF([test "${enable_run_as_root}" = "yes"],[ AC_DEFINE(ALLOW_RUN_AS_ROOT, 1, [Define to 1 to allow running VLC as root (uid 0).]) ]) -dnl -dnl Test coverage -dnl -AC_ARG_ENABLE(coverage, - [ --enable-coverage build for test coverage (default disabled)],, - [enable_coverage="no"]) -AS_IF([test "${enable_coverage}" != "no"], [ - CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" - CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" - LDFLAGS="-lgcov ${LDFLAGS}" - dnl ugly... - CFLAGS_save="${CFLAGS}" - CXXFLAGS_save="${CXXFLAGS}" - LDFLAGS_save="${LDFLAGS}" -]) - dnl dnl Stream output dnl AC_ARG_ENABLE(sout, - [ --enable-sout Stream output modules (default enabled)]) + [AS_HELP_STRING([--disable-sout], + [disable streaming output (default enabled)])]) AS_IF([test "${enable_sout}" != "no"], [ AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.]) ]) @@ -1587,8 +1674,8 @@ AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"]) dnl Lua modules AC_ARG_ENABLE(lua, - AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface - plugins (default enabled)])) + [AS_HELP_STRING([--disable-lua], + [disable LUA scripting support (default enabled)])]) if test "${enable_lua}" != "no" then PKG_CHECK_MODULES(LUA, lua5.1, @@ -1632,37 +1719,20 @@ dnl dnl HTTP daemon dnl AC_ARG_ENABLE(httpd, - [ --enable-httpd HTTP daemon (default enabled)]) + [AS_HELP_STRING([--disable-httpd], + [disable the built-in HTTP server (default enabled)])]) if test "${enable_httpd}" != "no" then - VLC_ADD_PLUGIN([oldhttp]) AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support) fi AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"]) -dnl -dnl libproxy support -dnl -AC_ARG_ENABLE(libproxy, - [ --enable-libproxy libproxy support (default auto)]) -AS_IF([test "${enable_libproxy}" != "no"], [ - PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [ - AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]) - 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]) - ]) - ]) -]) - - dnl dnl VideoLAN manager dnl AC_ARG_ENABLE(vlm, - [ --enable-vlm VideoLAN manager (default enabled)],, + [AS_HELP_STRING([--disable-vlm], + [disable the stream manager (default enabled)])],, [enable_vlm="${enable_sout}"]) AS_IF([test "${enable_vlm}" != "no"], [ AS_IF([test "${enable_sout}" = "no"], [ @@ -1680,9 +1750,10 @@ AC_ARG_ENABLE(growl, [enable_growl=no]) AS_IF([test "${enable_growl}" != "no"], [ VLC_ADD_PLUGIN([growl_udp]) - AC_CHECK_HEADERS(Growl/GrowlDefines.h, [ + AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ VLC_ADD_PLUGIN([growl]) - VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit]) + VLC_ADD_LDFLAGS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation]) + VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl]) VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] ) ]) ] @@ -1691,24 +1762,22 @@ AS_IF([test "${enable_growl}" != "no"], [ dnl dnl Libnotify notification plugin dnl -PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto]) +PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto]) dnl -dnl Taglibplugin +dnl Taglib plugin dnl AC_ARG_ENABLE(taglib, - [ --disable-taglib Taglib support (default enabled) ]) - AS_IF([test "${enable_taglib}" != "no"],[ - PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, - [ VLC_ADD_PLUGIN([taglib]) - VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) - VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(taglib/mp4coverart.h) - AC_LANG_POP(C++) - ], - [AC_MSG_WARN(TagLib library not found)]) - ]) + [AS_HELP_STRING([--disable-taglib], + [do not use TagLib (default enabled)])]) +AS_IF([test "${enable_taglib}" != "no"], [ + PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [ + VLC_ADD_PLUGIN([taglib]) + VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) + VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) + ], [ + AC_MSG_WARN(TagLib library not found)]) +]) dnl dnl Input plugins @@ -1716,13 +1785,33 @@ dnl EXTEND_HELP_STRING([Input plugins:]) +dnl +dnl libproxy support +dnl +AC_ARG_ENABLE(libproxy, + [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])]) +AS_IF([test "${enable_libproxy}" != "no"], [ + PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [ + AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]) + 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]) + ]) + ]) +]) + +dnl dnl live555 input dnl AC_ARG_ENABLE(live555, -[ --enable-live555 live555 RTSP input plugin (default enabled)]) + [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 - AC_ARG_WITH(live555-tree, - [ --with-live555-tree=PATH live.com tree for static linking]) dnl dnl test for --with-live555-tree @@ -1741,47 +1830,49 @@ if test "${enable_live555}" != "no"; then CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" AC_CHECK_HEADERS(liveMedia_version.hh, [ - AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) AC_EGREP_CPP(yes, [#include #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + #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]) - ]) - ]) - 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. - AC_CHECK_HEADERS(liveMedia.hh, [ - 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}]) - ],[ - AC_MSG_WARN([The development files for liveMedia (live555) can't be found]) - ]) - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP(C++) + AC_MSG_WARN([The installed liveMedia 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`" @@ -1794,11 +1885,11 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) 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 >= 1214895600 ) + 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 < 1214895600 + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 yes #endif #endif], @@ -1842,119 +1933,61 @@ fi dnl dnl - special access module for dc1394 input dnl - dv module: digital video module check for libraw1394 +dnl - linsys modules: access module check for libzvbi dnl PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto]) PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto]) +AC_ARG_ENABLE(linsys, + [AS_HELP_STRING([--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, + [ 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 ?])] + ) +fi + dnl dnl dvdread module: check for libdvdread dnl -AC_ARG_ENABLE(dvdread, -[ --enable-dvdread dvdread input module (default enabled)]) -if test "${enable_dvdread}" != "no" -then - AC_ARG_WITH(dvdread, - [ --with-dvdread=PATH libdvdread headers and libraries]) - AC_ARG_WITH(dvdread-tree, - [ --with-dvdread-tree=PATH libdvdread tree for static linking]) - - dnl prepend -ldvdcss on OS that need it - AS_CASE(["${SYS}"], [mingw32|darwin|beos], [VLC_ADD_LIBS([dvdread], [-ldvdcss])]) - - if test -z "${with_dvdread}" - then - if test -z "${with_dvdread_tree}" - then - AC_CHECK_HEADERS(dvdread/dvd_reader.h, - [ VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread]) - ],[ - AC_CHECK_HEADERS(libdvdread/dvd_reader.h, - [ VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread]) - ],[ - if test -n "${enable_dvdread}" - then - AC_MSG_ERROR([cannot find libdvdread headers]) - fi - ]) - ]) - else - AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree}) - real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`" - if test -z "${real_dvdread_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}]) - fi - if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a" - then - dnl Use a custom libdvdread - AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) - VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread]) - VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}]) - else - dnl The given libdvdread wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}]) - fi - fi - else - AC_MSG_CHECKING(for dvdread headers in ${with_dvdread}) - if test -f ${with_dvdread}/include/dvdread/dvd_reader.h - then - dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h - AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread]) - VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include]) - else - dnl No libdvdread could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h]) - fi - fi - - dnl append -ldvd on OS that need it - AS_CASE(["${SYS}"], [bsdi], [VLC_ADD_LIBS([dvdread], [-ldvd])]) -fi +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 -dnl libdvdnav plugin +dnl libdvdnav plugin dnl AC_ARG_ENABLE(dvdnav, - [ --enable-dvdnav dvdnav input module (default enabled)]) + [AS_HELP_STRING([--disable-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|beos], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])]) + AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])]) - DVDNAV_PATH="${PATH}" - AC_ARG_WITH(dvdnav-config-path, - [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)], - [ if test "${with_dvdnav_config_path}" != "no" - then - DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH}) - if test "${DVDNAV_CONFIG}" != "no" - then + PKG_CHECK_MODULES(DVDNAV, dvdnav, [ VLC_ADD_PLUGIN([dvdnav]) - VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`]) - VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`]) + VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}]) + VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}]) AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution, - AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]), - [], [${LIBS_dvdnav}]) - fi + AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]), + [], [${LIBS_dvdnav}]) + 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)]) fi dnl dnl Windows DirectShow access module dnl AC_ARG_ENABLE(dshow, - [ --enable-dshow Win32 DirectShow support (default enabled on Win32)]) + [AS_HELP_STRING([--disable-dshow], + [support DirectShow (default auto)])]) if test "${enable_dshow}" != "no" then if test "${SYS}" = "mingw32" @@ -1969,34 +2002,21 @@ then fi dnl -dnl Windows DirectShow BDA access module +dnl Blu-ray Disc Support with libbluray dnl -AC_ARG_ENABLE(bda, - AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default - enabled on Win32)])) -if test "${enable_bda}" != "no" -then - if test "${SYS}" = "mingw32" - then - AC_CHECK_HEADERS(dshow.h, - [ VLC_ADD_PLUGIN([bda]) - VLC_ADD_CXXFLAGS([bda],[]) - VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ]) - fi -fi - +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) ) dnl dnl OpenCV wrapper and example filters dnl -PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example], [opencv], (OpenCV (computer vision) filter), [off]) +PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off]) dnl dnl libsmbclient plugin dnl AC_ARG_ENABLE(smb, - [ --enable-smb smb input module (default enabled)]) + [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])]) if test "${enable_smb}" != "no"; then AC_CHECK_HEADERS(libsmbclient.h, [ VLC_ADD_PLUGIN([access_smb]) @@ -2011,7 +2031,8 @@ dnl dnl sftp access support dnl AC_ARG_ENABLE(sftp, - [ --enable-sftp sftp input access module (default disable)]) + [AS_HELP_STRING([--enable-sftp], + [support SFTP file transfer via libssh2 (default disabled)])]) if test "${enable_sftp}" = "yes"; then AC_CHECK_HEADERS(libssh2.h, [ VLC_ADD_PLUGIN([access_sftp]) @@ -2019,158 +2040,16 @@ if test "${enable_sftp}" = "yes"; then ]) fi -dnl -dnl libdvbpsi ts demux/mux -dnl -AC_ARG_ENABLE(dvbpsi, - [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)]) -have_dvbpsi=no -if test "${enable_dvbpsi}" != "no" -then - AC_ARG_WITH(dvbpsi, - [ --with-dvbpsi=PATH libdvbpsi headers and libraries]) - AC_ARG_WITH(dvbpsi, - [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking]) - case "${with_dvbpsi}" in - ""|yes) - if test -z "${with_dvbpsi_tree}" - then - AC_CHECK_HEADERS(dvbpsi/dr.h, - [ VLC_ADD_PLUGIN([ts]) - if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGIN([mux_ts]) - fi - VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) - have_dvbpsi=yes], - [ AC_MSG_WARN([cannot find libdvbpsi headers]) ], - [#if defined( HAVE_STDINT_H ) -# include -#elif defined( HAVE_INTTYPES_H ) -# include -#endif -#include -#include -#include -#include ]) - else - AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree}) - real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`" - if test -z "${real_dvbpsi_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}]) - fi - if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a" - then - dnl Use a custom libdvbpsi - AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a) - VLC_ADD_PLUGIN([ts]) - if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGIN([mux_ts]) - fi - VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src]) - VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a]) - have_dvbpsi=yes - else - dnl The given libdvbpsi wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}]) - fi - fi - ;; - no) - dnl Compile without dvbpsi - ;; - *) - AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi}) - if test -z "${with_dvbpsi}" - then - LDFLAGS_test="" - CPPFLAGS_test="" - else - LDFLAGS_test="-L${with_dvbpsi}/lib" - CPPFLAGS_test="-I${with_dvbpsi}/include" - fi - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" - AC_CHECK_HEADERS([dvbpsi/dr.h],[ - VLC_ADD_PLUGIN([ts]) - if test "${enable_sout}" != "no"; then - AC_CHECK_LIB(dvbpsi, dvbpsi_SDTServiceAddDescriptor, - [VLC_ADD_PLUGIN([mux_ts])], [], [${LDFLAGS_test} -ldvbpsi]) - fi - VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}]) - VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi]) - have_dvbpsi=yes - ],[ - if test -n "${enable_dvbpsi}" - then - AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.6]) - fi - ], - [#if defined( HAVE_STDINT_H ) -# include -#elif defined( HAVE_INTTYPES_H ) -# include -#endif -#include -#include -#include -#include ]) - CPPFLAGS="${CPPFLAGS_save}" - ;; - esac - AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [ - AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.]) - ], [], [${LIBS_ts}]) - -fi - -dnl -dnl Video4Linux plugin -dnl -AC_ARG_ENABLE(v4l, - [ --enable-v4l Video4Linux input support (default disabled)]) -if test "${enable_v4l}" = "yes" -then - AC_ARG_WITH(v4l, - [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[]) - if test "${with_v4l}" != "no" -a -n "${with_v4l}" - then - VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include]) - fi - - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}" - AC_CHECK_HEADERS(linux/videodev.h, [ - VLC_ADD_PLUGIN([v4l]) - ],[]) - CPPFLAGS="${CPPFLAGS_save}" -fi - -dnl -dnl libv4l1 support for video4linux. -dnl -AC_ARG_ENABLE( libv4l, - [ --enable-libv4l Libv4l Video4Linux support (default enabled)]) -if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no" -then - PKG_CHECK_MODULES( LIBV4L, libv4l1, [ - VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}]) - VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}]) - AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)], - AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found]) - ) -fi - dnl dnl Video4Linux2 plugin dnl AC_ARG_ENABLE(v4l2, - [ --enable-v4l2 Video4Linux2 input support (default enabled)]) + [AS_HELP_STRING([--disable-v4l2], + [do not support Video4Linux version 2 (default auto)])]) +AC_ARG_WITH(v4l2, + [AS_HELP_STRING([--with-v4l2=PATH], [path to a V4L2-enabled kernel tree])]) if test "${enable_v4l2}" != "no" then - AC_ARG_WITH(v4l2, - [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[]) if test "${with_v4l2}" != "no" -a -n "${with_v4l2}" then VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include]) @@ -2186,8 +2065,9 @@ fi dnl dnl libv4l2 support for video4linux. dnl -AC_ARG_ENABLE( libv4l2, - [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)]) +AC_ARG_ENABLE(libv4l2, + [AS_HELP_STRING([--enable-libv4l2], + [use V4L2 through libv4l2 (default auto)])]) if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no" then PKG_CHECK_MODULES( LIBV4L2, libv4l2, [ @@ -2202,35 +2082,38 @@ dnl dnl special access module for Hauppauge PVR cards dnl AC_ARG_ENABLE(pvr, - [ --enable-pvr PVR cards access module (default disabled)]) + [AS_HELP_STRING([--enable-pvr], + [support PVR V4L2 cards (default disabled)])]) if test "${enable_pvr}" = "yes" then VLC_ADD_PLUGIN([pvr]) - AC_ARG_WITH(videodev2, - [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[]) - if test "${with_videodev2}" != "no" -a -n "${with_videodev2}" - then - AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h]) - fi +fi - AC_CACHE_CHECK([for new linux/videodev2.h], - [ac_cv_new_linux_videodev2_h], - [AC_TRY_COMPILE([ - #include - # ifdef VIDEODEV2_H_FILE - # include VIDEODEV2_H_FILE - # else - # include - # endif - ], - [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ], - ac_cv_new_linux_videodev2_h=yes, - ac_cv_new_linux_videodev2_h=no)]) - if test "${ac_cv_new_linux_videodev2_h}" != "no"; then - AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present]) +dnl +dnl special access module for Blackmagic SDI cards +dnl +AC_ARG_ENABLE(decklink, + [AS_HELP_STRING([--disable-decklink], + [disable Blackmagic DeckLink SDI input (default auto)])]) +AC_ARG_WITH(decklink_sdk, + [AS_HELP_STRING[--with-decklink-sdk=DIR], + [location of Blackmagic DeckLink SDI SDK])]) +if test "${enable_decklink}" != "no" +then + if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}" + then + VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include]) fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}" + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [ + VLC_ADD_PLUGIN([decklink]) + ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)]) + AC_LANG_POP(C++) + CPPFLAGS="${CPPFLAGS_save}" fi + dnl dnl gnomeVFS access module dnl @@ -2240,8 +2123,8 @@ dnl dnl VCDX modules dnl AC_ARG_ENABLE(vcdx, - [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)]) - + [AS_HELP_STRING([--enable-vcdx], + [navigate VCD with libvcdinfo (default disabled)])]) if test "${enable_vcdx}" = "yes" then PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72], @@ -2259,10 +2142,12 @@ dnl dnl Built-in CD-DA and VCD module dnl AC_ARG_ENABLE(vcd, - [ --enable-vcd built-in VCD and CD-DA (default enabled)]) + [AS_HELP_STRING([--disable-vcd], + [disable built-in VCD and CD-DA support (default enabled)])]) AC_ARG_ENABLE(libcddb, - [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)]) + [AS_HELP_STRING([--disable-libcddb], + [disable CDDB for Audio CD (default enabled)])]) if test "${enable_vcd}" != "no" then @@ -2317,35 +2202,18 @@ then fi dnl -dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2 +dnl libdvbpsi check for ts mux/demux dnl -AC_ARG_ENABLE(dvb, - [ --enable-dvb DVB-S/T/C card support (default enabled)]) - -if test "${enable_dvb}" != "no" -then - AS_IF([test "${have_dvbpsi}" = "yes" ],[ - AC_ARG_WITH(dvb, - [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[]) - if test "${with_dvb}" != "no" -a -n "${with_dvb}" - then - VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include]) - fi - CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include" - AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [ - VLC_ADD_PLUGIN([dvb]) - ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)]) - CPPFLAGS="${CPPFLAGS_save}" - ],[ - AC_MSG_WARN([the dvb access module requires libdvbpsi]) - ]) -fi +have_dvbpsi="no" +PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"]) +AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"]) dnl dnl Screen capture module dnl AC_ARG_ENABLE(screen, - [ --enable-screen Screen capture support (default enabled)]) + [AS_HELP_STRING([--enable-screen], + [disable screen capture (default enabled)])]) if test "${enable_screen}" != "no"; then if test "${SYS}" = "darwin"; then AC_CHECK_HEADERS(OpenGL/gl.h, [ @@ -2359,15 +2227,11 @@ if test "${enable_screen}" != "no"; then VLC_ADD_LIBS([screen],[-lgdi32]) elif test "${SYS}" = "mingwce"; then CPPFLAGS="${CPPFLAGS_save}" - elif test "${SYS}" = "beos"; then - VLC_ADD_PLUGIN([screen]) - VLC_ADD_CXXFLAGS([screen],[]) - VLC_ADD_LIBS([screen],[-lbe]) fi fi dnl -dnl ipv6 plugin +dnl ipv6 support dnl have_ipv6=no AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ @@ -2382,6 +2246,50 @@ AC_CHECK_FUNCS(inet_ntop,[ AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])]) +dnl +dnl GME demux plugin +dnl +AC_ARG_ENABLE(gme, + [AS_HELP_STRING([--enable-gme], + [use Game Music Emu (default auto)])]) +AS_IF([test "${enable_gme}" != "no"], [ + AC_CHECK_HEADER([gme/gme.h], [ + VLC_ADD_LIBS([gme], [-lgme]) + VLC_ADD_PLUGIN([gme]) + ], [ + AS_IF([test "x${enable_gme}" != "x"], [ + AC_MSG_ERROR([GME cannot be found. Please install the development files.]) + ]) + ]) +]) + + +dnl +dnl SIDPlay plugin +dnl +PKG_WITH_MODULES([SID], [libsidplay2], + AC_LANG_PUSH(C++) + oldCPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $SID_CFLAGS" + AC_CHECK_HEADER([sidplay/builders/resid.h], [ + VLC_ADD_PLUGIN([sid]) + 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)] + ) + ]) + 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)] + ), + [C64 sid demux support], [auto]) + + dnl dnl ogg demux plugin dnl @@ -2399,25 +2307,26 @@ dnl dnl matroska demux plugin dnl AC_ARG_ENABLE(mkv, - [ --enable-mkv Matroska demux support (default enabled)]) + [AS_HELP_STRING([--disable-mkv], + [do not use libmatroska (default auto)])]) if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ - AC_MSG_CHECKING(for libebml version >= 0.7.7) + AC_MSG_CHECKING(for libebml version >= 1.0.0) AC_EGREP_CPP(yes, [#include #ifdef LIBEBML_VERSION - #if LIBEBML_VERSION >= 0x000706 + #if LIBEBML_VERSION >= 0x010000 yes #endif #endif], [AC_MSG_RESULT([yes]) AC_CHECK_HEADERS(matroska/KaxVersion.h, [ - AC_MSG_CHECKING(for libmatroska version >= 0.8.0) + AC_MSG_CHECKING(for libmatroska version >= 1.0.0) AC_EGREP_CPP(yes, [#include #ifdef LIBMATROSKA_VERSION - #if LIBMATROSKA_VERSION >= 0x000705 + #if LIBMATROSKA_VERSION >= 0x010000 yes #endif #endif], @@ -2430,14 +2339,14 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_CHECK_LIB(ebml_pic, main, [ VLC_ADD_PLUGIN([mkv]) VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic]) - ], + ],[ AC_CHECK_LIB(ebml, main, [ VLC_ADD_PLUGIN([mkv]) VLC_ADD_LIBS([mkv],[-lmatroska -lebml]) ]) - ) - ], - [AC_MSG_RESULT([no]) + ]) + ], [ + AC_MSG_RESULT([no]) AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.]) ]) ]) @@ -2453,7 +2362,8 @@ dnl dnl modplug demux plugin dnl AC_ARG_ENABLE(mod, - [ --enable-mod Mod demux support (default auto)]) + [AS_HELP_STRING([--disable-mod], + [do not use libmodplug (default auto)])]) if test "${enable_mod}" != "no" ; then PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [ VLC_ADD_PLUGIN([mod]) @@ -2470,53 +2380,15 @@ dnl dnl mpc demux plugin dnl AC_ARG_ENABLE(mpc, - [ --enable-mpc Mpc demux support (default enabled)]) + [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])]) if test "${enable_mpc}" != "no" -then - AC_CHECK_HEADERS([mpc/mpcdec.h], [ - VLC_ADD_PLUGIN([mpc]) - VLC_ADD_LIBS([mpc],[-lmpcdec])], - [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [ - VLC_ADD_PLUGIN([mpc]) - VLC_ADD_LIBS([mpc],[-lmpcdec])])]) -fi - -dnl -dnl game music emu demux plugin -dnl -AC_ARG_ENABLE(gme, - [ --enable-gme Game Music Emu demux support (default enabled)]) -if test "${enable_gme}" != "no" -a "${CXX}" != ""; -then - AC_LANG_PUSH(C++) - AC_ARG_WITH(gme-tree, - [ --with-gme-tree=PATH gme tree for static linking]) - if test -n "${with_gme_tree}" - then - AC_MSG_CHECKING(for libgme.a in ${with_mod_tree}) - real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`" - if test -z "${real_gme_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_gme_tree}]) - fi - if test -f "${real_gme_tree}/gme/libgme.a" - then - dnl Use a custom gme - AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a) - VLC_ADD_PLUGIN([gme]) - VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a]) - VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme]) - else - dnl The given gme wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}]) - fi - else - AC_MSG_WARN([only static linking is available, you must provide a gme-tree]) - fi - AC_LANG_POP(C++) +then + AC_CHECK_HEADERS([mpc/mpcdec.h], [ + VLC_ADD_PLUGIN([mpc]) + VLC_ADD_LIBS([mpc],[-lmpcdec])], + [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [ + VLC_ADD_PLUGIN([mpc]) + VLC_ADD_LIBS([mpc],[-lmpcdec])])]) fi dnl @@ -2556,6 +2428,35 @@ then VLC_ADD_LIBS([omxil], [$LIBDL]) fi +dnl +dnl CrystalHD codec plugin +dnl +AC_ARG_ENABLE(crystalhd, + [ --enable-crystalhd crystalhd codec plugin (default auto)]) +if test "${enable_crystalhd}" != "no"; then + AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [ + VLC_ADD_PLUGIN([crystalhd]) + VLC_ADD_LIBS([crystalhd], [-lcrystalhd]) + ],[ + if test "${SYS}" = "mingw32" ; then + AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [ + VLC_ADD_PLUGIN([crystalhd]) + AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [ + VLC_ADD_LIBS([crystalhd], [-lbcmDIL]) + ]) + ],[ + AS_IF([test x"${enable_crystalhd}" = "xyes"], + [AC_MSG_ERROR("Could not find CrystalHD development headers")], + [AC_MSG_WARN("Could not find CrystalHD development headers")]) + ],[#define __LINUX_USER__ + #include + ]) + fi + ],[ + #include + ]) +fi + dnl dnl mad plugin dnl @@ -2621,6 +2522,13 @@ AC_ARG_ENABLE(merge-ffmpeg, ]) 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" + AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no) + LDFLAGS="${LDFLAGS_save}" + ]) + dnl dnl avcodec decoder/encoder plugin dnl @@ -2632,10 +2540,13 @@ AS_IF([test "${enable_avcodec}" != "no"], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" - AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h) - AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) + AC_CHECK_HEADERS(libavcodec/avcodec.h) + AC_CHECK_HEADERS(libavutil/avutil.h) VLC_ADD_PLUGIN([avcodec]) VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([avcodec],[-Wl,-Bsymbolic]) + ]) VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) VLC_RESTORE_FLAGS have_avcodec="yes" @@ -2660,8 +2571,8 @@ AS_IF([test "${enable_libva}" != "no"], [ CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) + 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" ],[ @@ -2746,12 +2657,15 @@ then VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}" - AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h) - AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) + AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h) + AC_CHECK_HEADERS(libavutil/avutil.h) AS_IF([test "$enable_merge_ffmpeg" = "no"], [ VLC_ADD_PLUGIN([avformat access_avio]) VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic]) + ]) ], [ VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS]) VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) @@ -2768,9 +2682,7 @@ dnl AC_ARG_ENABLE(swscale, AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion - (default enabled)]),, [ - enable_swscale="${have_avcodec}" -]) + (default enabled)])) if test "${enable_swscale}" != "no" then PKG_CHECK_MODULES(SWSCALE,[libswscale], @@ -2778,10 +2690,13 @@ then VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}" CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}" - AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h) + AC_CHECK_HEADERS(libswscale/swscale.h) VLC_ADD_PLUGIN([swscale]) VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS]) VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS]) + AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ + VLC_ADD_LDFLAGS([swscale],[-Wl,-Bsymbolic]) + ]) 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.]) @@ -2898,18 +2813,6 @@ if test "${enable_realrtsp}" = "yes"; then VLC_ADD_PLUGIN([access_realrtsp]) fi -dnl -dnl skins2 module -dnl -AC_ARG_ENABLE(libtar, - [ --enable-libtar libtar support for skins2 (default enabled)]) - -AS_IF([test "${enable_libtar}" != "no"],[ - AC_CHECK_HEADERS(libtar.h, [ - VLC_ADD_LIBS([skins2],[-ltar]) - ] ) -]) - dnl dnl A52/AC3 decoder plugin dnl @@ -3101,12 +3004,6 @@ if test "${enable_x264}" != "no"; then VLC_ADD_PLUGIN([x264]) VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) - AC_CACHE_CHECK([if linker supports -Bsymbolic], - [ac_cv_ld_bsymbolic], - [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic" - AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no) - LDFLAGS="${LDFLAGS_save}" - ]) AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic]) ]) @@ -3171,7 +3068,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.6, + PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8, [ VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) @@ -3186,26 +3083,6 @@ AS_IF( [test "${enable_libass}" != "no"], [ ]) ]) -dnl -dnl asa demuxer -dnl -AC_ARG_ENABLE(asademux, - [ --enable-asademux asa subtitle demuxing (default disabled)]) -AS_IF( [test "${enable_asademux}" = "yes"], [ - PKG_CHECK_MODULES(PCRE, - libpcre >= 6.5, - [ - VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS]) - VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC]) - fi - VLC_ADD_PLUGIN([asademux]) - ],[ - AC_MSG_WARN([PCRE library not found (required for asademux)]) - ]) - ]) - dnl dnl kate decoder plugin dnl @@ -3272,7 +3149,7 @@ dnl X C Bindings modules dnl AC_ARG_ENABLE(xcb, [ --enable-xcb X11 support with XCB (default enabled)],, [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [ enable_xcb="yes" ], [ enable_xcb="no" @@ -3283,21 +3160,17 @@ AC_ARG_ENABLE(xvideo, enable_xvideo="$enable_xcb" ]) -need_xid_provider="no" +have_xcb="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb - PKG_CHECK_MODULES(XCB, [xcb]) + PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) + have_xcb="yes" PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_window xcb_screen xcb_apps]) + PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite]) AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ VLC_ADD_PLUGIN([xcb_xv]) - ], [ - PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [ - VLC_ADD_PLUGIN([xcb_xv]) - VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD]) - ]) ]) ]) @@ -3305,31 +3178,22 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_PLUGIN([panoramix]) VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}]) - ], [true]) - - dnl xcb-utils - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ - have_xcb_keysyms="yes" ], [ - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [ - have_xcb_keysyms="yes" - VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API]) - ], [ - have_xcb_keysyms="no" - need_xid_provider="yes" - AC_MSG_WARN([libxcb-keysyms not found. Hotkeys will not be supported.]) - ]) + AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.]) ]) - AS_IF([test "${have_xcb_keysyms}" = "yes"], [ + dnl xcb-utils + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ PKG_CHECK_MODULES(XPROTO, [xproto]) VLC_ADD_PLUGIN([globalhotkeys]) VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}]) 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.]) ]) - VLC_ADD_PLUGIN([xdg_screensaver]) ]) +AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) AC_ARG_ENABLE(glx, [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ @@ -3347,8 +3211,14 @@ AS_IF([test "${enable_glx}" != "no"], [ ]) VLC_ADD_PLUGIN([xcb_glx]) ]) -AC_SUBST([GL_CFLAGS]) -AC_SUBST([GL_LIBS]) + +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]) dnl dnl SDL module @@ -3391,48 +3261,51 @@ dnl dnl freetype module dnl AC_ARG_ENABLE(freetype, - [ --enable-freetype freetype support (default enabled)]) + [ --enable-freetype freetype support (default auto)]) AC_ARG_ENABLE(fribidi, - [ --enable-fribidi fribidi support (default enabled)]) + [ --enable-fribidi fribidi support (default auto)]) AC_ARG_ENABLE(fontconfig, - [ --enable-fontconfig fontconfig support (default enabled)]) -if test "${enable_freetype}" != "no" -then - PKG_CHECK_MODULES(FREETYPE, freetype2,[ - VLC_ADD_PLUGIN([freetype]) + [ --enable-fontconfig fontconfig support (default auto)]) + +if test "${enable_freetype}" != "no"; then + PKG_CHECK_MODULES(FREETYPE, freetype2, [ have_freetype=yes + VLC_ADD_PLUGIN([freetype]) VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}]) if test "${SYS}" = "mingw32"; then VLC_ADD_LIBS([freetype],[-liconv -lz]) fi VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) - if test "${enable_fontconfig}" != "no" - then - AC_CHECK_HEADERS(fontconfig/fontconfig.h, - [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) - VLC_ADD_LIBS([freetype],[-lfontconfig])]) - AC_CHECK_HEADERS(Carbon/Carbon.h, - [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) + + AC_CHECK_HEADERS(Carbon/Carbon.h, + [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) + + dnl fontconfig support + if test "${SYS}" != "mingw32"; then + if test "${enable_fontconfig}" != "no"; then + AC_CHECK_HEADERS(fontconfig/fontconfig.h, [ + VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) + VLC_ADD_LIBS([freetype],[-lfontconfig]) + ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])]) + fi + else + VLC_ADD_LIBS([freetype],[-lgdi32]) fi - dnl fribidi support - if test "${enable_fribidi}" != "no" - then + dnl fribidi support + if test "${enable_fribidi}" != "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])]) fi ],[ have_freetype=no - AS_IF([ test "${enable_freetype}" = "yes"],[ - AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 -from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day. - ]) + AS_IF([ test "${enable_freetype}" = "yes"],[ + AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.]) ]) ]) - fi dnl @@ -3446,13 +3319,27 @@ dnl PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto]) dnl -dnl Snapshot vout module (with cache) +dnl iOS vout module +dnl +AC_ARG_ENABLE(ios-vout, + [ --enable-ios-vout iOS video output module (default disabled)]) +if test "${enable_ios_vout}" = "yes" +then + VLC_ADD_PLUGIN([vout_ios]) + VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1]) + VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation]) +fi + +dnl +dnl QuartzText vout module (iOS/Mac OS) dnl -AC_ARG_ENABLE(snapshot, - [ --enable-snapshot snapshot module (default disabled)]) -if test "${enable_snapshot}" = "yes" +AC_ARG_ENABLE(macosx-quartztext, + [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)]) +if test "x${enable_macosx_quartztext}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes") then - VLC_ADD_PLUGIN([snapshot]) + VLC_ADD_PLUGIN([quartztext]) + VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) fi dnl @@ -3470,6 +3357,7 @@ if test "${enable_directx}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" then + VLC_ADD_LIBS([directx],[-luser32]) AC_CHECK_HEADERS(ddraw.h, [ VLC_ADD_PLUGIN([directx aout_directx]) VLC_ADD_LIBS([directx],[-lgdi32]) @@ -3487,6 +3375,23 @@ then fi fi +dnl +dnl Windows Direct2D plugin +dnl +AC_ARG_ENABLE(direct2d, + [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)]) +if test "${enable_direct2d}" != "no"; then + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" + then + AC_CHECK_HEADERS(d2d1.h, + [ + VLC_ADD_PLUGIN([direct2d]) + VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32]) + ], [AC_MSG_WARN([Cannot find Direct2D headers!])] + ) + fi +fi + dnl dnl win32 GDI plugin dnl @@ -3508,14 +3413,10 @@ fi dnl dnl Linux framebuffer module dnl -AC_ARG_ENABLE(fb, - [ --enable-fb Linux framebuffer support (default enabled on Linux)]) - if test "${enable_fb}" != "no" - then - AC_CHECK_HEADERS(linux/fb.h, [ - VLC_ADD_PLUGIN([fb]) - ]) - fi +AC_CHECK_HEADER([linux/fb.h], [ + VLC_ADD_PLUGIN([fb]) +]) + dnl dnl DirectFB module @@ -3614,57 +3515,74 @@ dnl EXTEND_HELP_STRING([Audio plugins:]) -dnl -dnl OSS /dev/dsp module (enabled by default except on win32) -dnl -AC_ARG_ENABLE(oss, - [ --enable-oss Open Sound System OSS support (default enabled)]) - -if test "${enable_oss}" != "no" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_oss}" = "yes") -then - AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [ - VLC_ADD_PLUGIN([oss access_oss]) - AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss access_oss],[-lossaudio])]) - ]) -fi - dnl dnl Pulseaudio module dnl -AS_IF([test "${no_x}" = "yes"], [ - AS_IF([test "${enable_pulse}" = "yes"], [ - AC_MSG_ERROR([Xlib is required for VLC PulseAudio support -(see http://www.pulseaudio.org/ticket/799 for further reference).]) +AC_ARG_ENABLE(pulse, + [AS_HELP_STRING([--enable-pulse], + [use the PulseAudio client library (default auto)])]) +have_pulse="no" +AS_IF([test "${enable_pulse}" != "no"], [ + PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [ + have_pulse="yes" + ], [ + AS_IF([test "x${enable_pulse}" != "x"], [ + AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.]) + ]) ]) -], [ - PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto]) - VLC_ADD_LIBS([pulse], [${X_LIBS} ${X_PRE_LIBS} -lX11]) ]) - -dnl -dnl Portaudio module -dnl -PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto]) +AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"]) dnl dnl ALSA module dnl AC_ARG_ENABLE(alsa, - [ --enable-alsa Advanced Linux Sound Architecture (default auto)]) + [AS_HELP_STRING([--enable-alsa], + [support the Advanced Linux Sound Architecture (default auto)])],, [ + AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [ + enable_alsa="yes" + ]) +]) have_alsa="no" AS_IF([test "${enable_alsa}" != "no"], [ - PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.0], [ + PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [ have_alsa="yes" ], [ AS_IF([test "x${enable_alsa}" != "x"], [ - AC_MSG_ERROR([alsa-lib not found]) + AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.]) ]) ]) ]) AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"]) +dnl +dnl Open Sound System module +dnl +AC_ARG_ENABLE(oss, + [AS_HELP_STRING([--enable-oss], + [support the Open Sound System OSS (default enabled on BSD)])],, [ + AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [ + enable_oss="no" + ]) +]) +have_oss="no" +OSS_LIBS="" +AS_IF([test "$enable_oss" != "no"], [ + AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [ + have_oss="yes" + AC_CHECK_LIB(ossaudio, main, [ + OSS_LIBS="-lossaudio" + ]) + ]) +]) +AC_SUBST(OSS_LIBS) +AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"]) + +dnl +dnl Portaudio module +dnl +PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto]) + dnl dnl win32 waveOut plugin dnl @@ -3695,19 +3613,14 @@ then fi dnl -dnl Roku HD1000 audio +dnl AudioQueue plugin dnl -AC_ARG_ENABLE(hd1000a, - [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)]) -if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_hd1000a}" = "yes") +AC_ARG_ENABLE(audioqueue, + [ --enable-audioqueue AudioQueue audio module (default disabled)]) +if test "${enable_audioqueue}" = "yes" then - AC_LANG_PUSH([C++]) - AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [ - VLC_ADD_PLUGIN([hd1000a]) - AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ]) - AC_LANG_POP([C++]) + VLC_ADD_PLUGIN([audioqueue]) + VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation]) fi dnl @@ -3715,84 +3628,11 @@ dnl JACK modules dnl PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) - -dnl -dnl CyberLink for C++ UPnP stack -dnl -AC_ARG_ENABLE(cyberlink, - [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)]) - AS_IF([test "${enable_cyberlink}" = "yes" ], [ - AC_ARG_WITH(cyberlink-tree, - [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking]) - - dnl - dnl test for --with-cyberlink-tree - dnl - AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [ - AC_LANG_PUSH(C++) - real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`" - AS_IF([test -z "${real_cyberlink_tree}"], [ - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}]) - ]) - CPPFLAGS_save="${CPPFLAGS}" - CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include" - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}" - AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h], - [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}]) - VLC_ADD_PLUGIN([upnp_cc]) - ],[ - AC_MSG_ERROR([cannot find CyberLink for C++ headers]) - ]) - AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree}) - AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [ - AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a) - dnl The mere fact that we have to make such an ugly check sucks - AC_MSG_CHECKING(for XML parser to link CyberLink with) - LIBS_save="$LIBS" - LIBS_cclink="no" - for l in "`xml2-config --libs`" -lexpat -lxerces-c; do - LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l" - AC_LINK_IFELSE([AC_LANG_PROGRAM([ -#include -using namespace CyberLink; - -class testclass : public SearchResponseListener, public MediaPlayer -{ - virtual void deviceSearchResponseReceived( SSDPPacket *) - { - } - - public: - testclass (void) - { - addSearchResponseListener (this); - start (); - } -}; -],[testclass l;])],[LIBS_cclink="$l"]) - done - LIBS="${LIBS_save}" - dnl should not happen - otherwise this needs fixing - hence FAILURE - AS_IF([test "${LIBS_cclink}" = "no"], - [AC_MSG_FAILURE([cannot find XML parser for CyberLink])]) - AC_MSG_RESULT([${LIBS_cclink}]) - VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}]) - ], [ - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}]) - ]) - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP([C++]) - ]) -]) - dnl dnl UPnP Plugin (Intel SDK) dnl -PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto]) - +PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto]) +VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}]) dnl dnl Interface plugins @@ -3803,50 +3643,52 @@ EXTEND_HELP_STRING([Interface plugins:]) dnl dnl Skins2 module dnl +AC_ARG_ENABLE(libtar, + [ --enable-libtar libtar support for skins2 (default auto)]) +AS_IF([test "${enable_libtar}" != "no"], [ + AC_CHECK_HEADERS(libtar.h, [ + VLC_ADD_LIBS([skins2],[-ltar]) + ]) +]) + AC_ARG_ENABLE(skins2, [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default - enabled except on MacOSX, BeOS and WinCE)])]) -if test "${enable_skins2}" = "yes" || - (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && - test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then - - dnl test for the required libraries - skins2_missing_lib="no" - + enabled except on MacOSX and WinCE)])],, [ + AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [ + enable_skins2="yes" + ], [ + enable_skins2="no" + ]) +]) +AS_IF([test "${enable_skins2}" = "yes"], [ dnl freetype - if test "${have_freetype}" != "yes"; then - skins2_missing_lib="yes" - if test "${enable_skins2}" = "yes"; then - AC_MSG_ERROR([Could not find freetype (required for skins2)]) - fi - fi + AS_IF([test "${have_freetype}" != "yes"], [ + AC_MSG_ERROR([Could not find FreeType (required for skins2)]) + ]) - if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then - VLC_ADD_PLUGIN([skins2]) - ALIASES="${ALIASES} svlc" + 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 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32]) + VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32]) - else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then - VLC_ADD_PLUGIN([skins2]) - ALIASES="${ALIASES} svlc" + ], [test "${SYS}" = "darwin"], [ VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon]) - else if test "${skins2_missing_lib}" = "no"; then - VLC_ADD_PLUGIN([skins2]) - ALIASES="${ALIASES} svlc" - VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS]) + ], [ + PKG_CHECK_MODULES([XPM], [xpm]) + PKG_CHECK_MODULES([XINERAMA], [xinerama]) + PKG_CHECK_MODULES([XEXT], [xext]) + VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11]) - need_xid_provider="no" - fi fi fi -fi -AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" || - (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && - test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")]) + VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11]) + + ]) + VLC_ADD_PLUGIN([skins2]) + ALIASES="${ALIASES} svlc" +]) +AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"]) dnl dnl Hildon UI @@ -3865,7 +3707,6 @@ AS_IF([test "${enable_hildon}" = "yes"], [ VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11]) VLC_ADD_PLUGIN([hildon]) ALIASES="${ALIASES} mvlc" - need_xid_provider="no" ], [ AS_IF([test "${enable_hildon}" = "yes"],[ AC_MSG_ERROR([Hildon libraries not found]) @@ -3894,15 +3735,14 @@ AS_IF([test "${enable_qt4}" != "no"], [ AC_MSG_CHECKING([whether Qt uses X11]) CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}" - AC_PREPROC_IFELSE([ + AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include #if !defined (Q_WS_X11) # error Fail #endif - ], [ + ])], [ AC_MSG_RESULT([yes]) VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - need_xid_provider="no" VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) ], [ AC_MSG_RESULT([no]) @@ -3914,6 +3754,9 @@ AS_IF([test "${enable_qt4}" != "no"], [ AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ VLC_ADD_LIBS([qt4],[-lole32]) ]) + AS_IF([test "${SYS}" = "darwin" ],[ + VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa]) + ]) AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) 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) @@ -3947,9 +3790,12 @@ then VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices]) VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit]) VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle]) + VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit]) + VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit]) dnl For bug report VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) @@ -4008,7 +3854,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 ncurses module dnl @@ -4020,32 +3865,22 @@ AC_ARG_ENABLE(ncurses, [VLC_ADD_PLUGIN([ncurses]) VLC_ADD_LIBS([ncurses],[-lncursesw]) ALIASES="${ALIASES} nvlc" - AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.]) AC_CHECK_LIB(ncursesw, tgetent, [], AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])], [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])], - [AS_IF([test "x${enable_ncurses}" != "x"], + [AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo] )])]) ] ) ) ], - [AC_CHECK_LIB( ncurses, mvprintw, - [VLC_ADD_PLUGIN([ncurses]) - ALIASES="${ALIASES} nvlc" - VLC_ADD_LIBS([ncurses],[-lncurses]) - AC_CHECK_LIB(ncurses, tgetent, [], - [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])], - [AS_IF([test "x${enable_ncurses}" != "x"], - [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])] - )] - )], - [AS_IF([test "x${enable_ncurses}" != "x"], [ - AC_MSG_ERROR([libncurses not found])])] - )] - )] - ) + [AS_IF([test "${enable_ncurses}" = "yes"], [ + AC_MSG_ERROR([libncursesw not found])])] + )], + [AS_IF([test "${enable_ncurses}" = "yes"], [ + AC_MSG_ERROR([ncurses.h not found])])] + ) fi] ) @@ -4076,13 +3911,6 @@ then ]) fi -dnl -dnl Post-interface configuration checks -dnl -AS_IF([test "$need_xid_provider" = "yes"], [ - AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.]) -]) - dnl dnl Visualisation plugin dnl @@ -4197,7 +4025,7 @@ dnl dnl TLS/SSL dnl AC_ARG_ENABLE(gnutls, - [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) + [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)]) AS_IF([test "${have_libgcrypt}" != "yes"], [ AS_IF([test "${enable_gnutls}" = "yes"], [ @@ -4206,22 +4034,19 @@ AS_IF([test "${have_libgcrypt}" != "yes"], [ enable_gnutls="no" ]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [ VLC_ADD_PLUGIN([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ dnl pkg-config --libs gnutls omits these VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}]) ]) - dnl The GnuTLS plugin invokes gcry_control directly. - AS_IF([test "${have_libgcrypt}" = "yes"],[ - VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}]) - VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) - ]) + VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}]) + VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)]) + AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)]) ]) ]) ]) @@ -4230,24 +4055,22 @@ AS_IF([test "${enable_gnutls}" != "no"], [ dnl dnl RemoteOSD plugin (VNC client as video filter) dnl -AC_ARG_ENABLE(remoteosd, - [ --disable-remoteosd RemoteOSD plugin (default enabled)]) - -AS_IF([test "${enable_remoteosd}" != "no"], [ - AS_IF([test "${have_libgcrypt}" = "yes"],[ - VLC_ADD_PLUGIN([remoteosd]) - VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS}) - VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS}) - ], [ - AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin]) - ]) +AC_MSG_CHECKING([whether to enable the RemoteOSD plugin]) +AS_IF([test "${have_libgcrypt}" = "yes"],[ + AC_MSG_RESULT(yes) + VLC_ADD_PLUGIN([remoteosd]) + VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS}) +], [ + AC_MSG_RESULT(no) + AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin]) ]) dnl dnl RAOP plugin dnl -AC_MSG_CHECKING([whether to enable RAOP plugin]) +AC_MSG_CHECKING([whether to enable the RAOP plugin]) AS_IF([test "${have_libgcrypt}" = "yes"], [ AC_MSG_RESULT(yes) VLC_ADD_PLUGIN([stream_out_raop]) @@ -4318,6 +4141,20 @@ else fi AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"]) +dnl +dnl media library +dnl +AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)]) +if test "${enable_media_library}" = "yes"; then + if test "${enable_sqlite}" != "yes"; then + AC_MSG_ERROR([SQLite module is required for the media library]) + else + AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library]) + VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY") + VLC_ADD_PLUGIN([media_library]) + fi +fi +AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"]) dnl dnl Endianness check @@ -4384,226 +4221,6 @@ AC_ARG_ENABLE(vlc, [ --enable-vlc build the VLC media player (default enabled)]) AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"]) -dnl -dnl Microsoft ActiveX support -dnl -activex=false -AC_ARG_ENABLE(activex, - AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control - (default enabled on Win32)])) -AC_ARG_WITH(wine-sdk-path, - [ --with-wine-sdk-path=PATH path to wine sdk]) -if test "${enable_activex}" != "no" -then - if test "${SYS}" = "mingw32" - then - AC_CHECK_PROGS(MIDL, [midl], no) - if test "${with_wine_sdk_path}" != "" - then - WINE_SDK_PATH=${with_wine_sdk_path} - AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl]) - else - WIDL=no - fi - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(ole2.h, - [AC_CHECK_HEADERS(olectl.h, - [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_]) - VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) - VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) - AC_CHECK_HEADERS(objsafe.h, - VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, - [ - #if HAVE_OLE2_H - # include - #endif - ] - ) - activex=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex" - ], - [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] - )], - [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] - ) - AC_LANG_POP(C++) - fi -fi -AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)]) -AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no") -AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)]) -AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no") -AM_CONDITIONAL(BUILD_ACTIVEX,${activex}) - -dnl -dnl Mozilla plugin -dnl -mozilla=false -AC_ARG_ENABLE(mozilla, - AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin - (default disabled)])) -AC_ARG_WITH(mozilla-sdk-path, - [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) -AC_ARG_WITH(mozilla-pkg, - [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.]) -AC_LANG_PUSH(C++) -if test "${enable_mozilla}" = "yes" -then - AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"], - [ - dnl pkg-config - dnl As we want to do a loop due to the number of name possible for the .pc - dnl we can't use the pkg-config macros. - - AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config]) - AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config]) - AC_MSG_NOTICE([Checking for Mozilla]) - found=0 - if test -n "$MOZILLA_CFLAGS" -o -n "$MOZILLA_LIBS" - then - found=1 - else - if test -n "$PKG_CONFIG"; then - for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do - if test -n "$i" - then - echo "Trying to find $i package" >&AS_MESSAGE_LOG_FD - AC_MSG_CHECKING([for $i >= 1.9.2]) - if $PKG_CONFIG --exists --print-errors "$i >= 1.9.2" 2>&AS_MESSAGE_LOG_FD - then - echo "Using $i pkg-config package." >&AS_MESSAGE_LOG_FD - echo "Using $i package." >&AS_MESSAGE_FD - found=1 - MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" ) - MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" ) - AC_MSG_RESULT([yes]) - break - fi - AC_MSG_RESULT([no]) - fi - done - fi - fi - AS_IF( [test $found = 1],[ - CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - # include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then - AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and/or plugin/npruntime.h were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - mozilla=: - AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[ - VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX]) - AS_IF([ test "${SYS}" != "darwin"],[ - PKG_CHECK_MODULES(XPM, [xpm xt],[ - VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11]) - ],[ - AC_MSG_ERROR([Please install the libXpm and libXt development files.]) - ]) - AS_IF([test "${have_xcb_keysyms}" != "yes"], [ - AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.]) - ]) - ]) - ]) - VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}]) - VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}]) - VLC_ADD_PLUGIN([mozilla]) - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - MOZILLA_CONFIG= - CPPFLAGS="${CPPFLAGS_save}" - ], - [ - AC_PATH_PROGS(MOZILLA_CONFIG, - [mozilla-config seamonkey-config xulrunner-config], - [no]) - test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools (version 1.9.2 or higher) or use --disable-mozilla.]) - ] - ) - dnl pkg-config failed but we might have found a mozilla-config - AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[ - if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then - LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}" - AC_CHECK_LIB(Xt,XtStrings, - [ - VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) - VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm]) - ], - [], - [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm] - ]) - AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h])) - AS_IF([test "${have_xcb_keysyms}" != "yes"], [ - AC_MSG_ERROR([Please install xcb-keysyms from xcb-utils.]) - ]) - LDFLAGS="${LDFLAGS_save}" - fi - - mozilla=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]]) - VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`]) - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - # include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0" - then - AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - CPPFLAGS="${CPPFLAGS_save}" - MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`" - ]) - dnl End of moz_sdk = "" - ],[ - dnl special case for mingw32 - if test "${SYS}" = "mingw32" - then - AC_CHECK_TOOL(CYGPATH, cygpath, "") - dnl latest gecko sdk does not have an xpcom directory - if test -d "${with_mozilla_sdk_path}/xpcom"; then - mozilla_sdk_xpcom="/xpcom" - fi - fi - - real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" - CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include" - MOZILLA_REQUIRED_HEADERS=1 - AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) - AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, - [#if HAVE_NPAPI_H - #include - #endif - ]) - if test "${MOZILLA_REQUIRED_HEADERS}" = "0" - then - AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) - fi - MOZILLA_REQUIRED_HEADERS= - mozilla=: - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" - VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk}/include]) - MOZILLA_SDK_PATH="${real_mozilla_sdk}" - - if test -n "${CYGPATH}"; then - real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" - fi - CPPFLAGS="${CPPFLAGS_save}" - ]) -fi -AC_LANG_POP(C++) -AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) dnl dnl Plugin and builtin checks @@ -4693,7 +4310,6 @@ AC_SUBST(MOC) AC_SUBST(RCC) AC_SUBST(UIC) AC_SUBST(WINDRES) -AC_SUBST(MOZILLA_SDK_PATH) AC_SUBST(WINE_SDK_PATH) AC_SUBST(LIBEXT) AC_SUBST(AM_CPPFLAGS) @@ -4706,13 +4322,11 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ Makefile - projects/activex/Makefile doc/Makefile libs/loader/Makefile libs/srtp/Makefile libs/unzip/Makefile modules/Makefile - projects/mozilla/Makefile m4/Makefile po/Makefile.in share/Makefile @@ -4723,9 +4337,7 @@ AC_CONFIG_FILES([ test/Makefile modules/access/Makefile modules/access/bd/Makefile - modules/access/bda/Makefile modules/access/dshow/Makefile - modules/access/dvb/Makefile modules/access/mms/Makefile modules/access/rtp/Makefile modules/access/rtsp/Makefile @@ -4735,10 +4347,6 @@ AC_CONFIG_FILES([ modules/access/zip/Makefile modules/access_output/Makefile modules/audio_filter/Makefile - modules/audio_filter/channel_mixer/Makefile - modules/audio_filter/converter/Makefile - modules/audio_filter/resampler/Makefile - modules/audio_filter/spatializer/Makefile modules/audio_mixer/Makefile modules/audio_output/Makefile modules/codec/Makefile @@ -4746,11 +4354,9 @@ AC_CONFIG_FILES([ modules/codec/dmo/Makefile modules/codec/omxil/Makefile modules/codec/shine/Makefile - modules/codec/subtitles/Makefile modules/codec/spudec/Makefile modules/codec/wmafixed/Makefile modules/control/Makefile - modules/control/http/Makefile modules/control/dbus/Makefile modules/control/globalhotkeys/Makefile modules/demux/Makefile @@ -4768,15 +4374,15 @@ AC_CONFIG_FILES([ modules/gui/macosx_dialog_provider/Makefile modules/gui/qt4/Makefile modules/gui/skins2/Makefile + modules/lua/Makefile modules/meta_engine/Makefile modules/misc/Makefile modules/misc/dummy/Makefile - modules/misc/lua/Makefile modules/misc/notify/Makefile modules/misc/playlist/Makefile modules/misc/osd/Makefile modules/misc/stats/Makefile - modules/misc/xml/Makefile + modules/media_library/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile modules/packetizer/Makefile @@ -4799,43 +4405,17 @@ AC_CONFIG_FILES([ modules/arm_neon/Makefile ]) -AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/install.js - projects/mozilla/install.rdf - projects/mozilla/manifest.json - ]) -]) - AM_COND_IF([HAVE_WIN32], [ AC_CONFIG_FILES([ extras/package/win32/spad.nsi extras/package/win32/vlc.win32.nsi ]) - AM_COND_IF([BUILD_ACTIVEX], [ - AC_CONFIG_FILES([ - projects/activex/axvlc.inf - projects/activex/axvlc_rc.rc - ]) - ]) - AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/npvlc_rc.rc - ]) - ]) ]) AM_COND_IF([HAVE_DARWIN], [ AC_CONFIG_FILES([ extras/package/macosx/Info.plist extras/package/macosx/Resources/English.lproj/InfoPlist.strings - extras/package/macosx/plugin/Info.plist - extras/package/macosx/plugin/InstallerInfo.plist - ]) - AM_COND_IF([BUILD_MOZILLA], [ - AC_CONFIG_FILES([ - projects/mozilla/vlc.r - ]) ]) ]) @@ -4875,10 +4455,7 @@ version : ${VERSION} system : ${SYS} architecture : ${ARCH} build flavour : " -test "${enable_debug}" = "yes" && printf "debug " -test "${enable_cprof}" = "yes" && printf "cprof " -test "${enable_gprof}" = "yes" && printf "gprof " -test "${enable_optimizations}" = "yes" && printf "optim " +test "${enable_optimizations}" != "no" && printf ${enable_optimizations} echo "" if test "${enable_vlc}" != "no"; then echo "vlc aliases :${ALIASES}"