X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=b688d8f80646619e1d2cc23143f3a9fbebc81870;hb=506bb385a5bced95e041bdc613005c950df93904;hp=eb7177b1c2adce0ccb94e4964f061e433a1bc636;hpb=c1a3ecd457a9d9ab720c14684a951d4a166b918b;p=vlc diff --git a/configure.ac b/configure.ac index eb7177b1c2..b688d8f806 100644 --- a/configure.ac +++ b/configure.ac @@ -2,12 +2,12 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team]) -AC_INIT(vlc, 1.2.0-git) +AC_INIT(vlc, 1.2.0-pre1) VERSION_MAJOR=1 VERSION_MINOR=2 VERSION_REVISION=0 VERSION_EXTRA=0 -VERSION_DEV=git +VERSION_DEV=pre1 PKGDIR="vlc" AC_SUBST(PKGDIR) @@ -49,11 +49,6 @@ AC_SUBST(vlcdatadir) vlclibdir="\${libdir}/\${PKGDIR}" AC_SUBST(vlclibdir) -dnl -dnl Save *FLAGS -dnl -VLC_SAVE_FLAGS - dnl dnl Check for tools dnl @@ -75,18 +70,19 @@ AC_PROG_MAKE_SET AC_PROG_INSTALL AM_PROG_AS -dnl Find the right ranlib, even when cross-compiling -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) -AC_CHECK_TOOL(AR, ar, :) -AC_CHECK_TOOL(LD, ld, :) -AC_CHECK_TOOL(DLLTOOL, dlltool, :) +AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files]) +AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :) dnl Check for compiler properties AC_C_CONST AC_C_INLINE AC_C_RESTRICT +dnl +dnl Save *FLAGS +dnl +VLC_SAVE_FLAGS + dnl Extend the --help string at the current spot. AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])]) @@ -104,52 +100,76 @@ dnl dnl Check for the contrib directory dnl AC_ARG_WITH(contrib, - [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"], [ - topdir="`dirname $0`" - if test "`echo \"$topdir\" | cut -c 1`" != "/"; then - topdir="`pwd`/$topdir" - fi - CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}" - if ! test -d "$CONTRIB_DIR" - then - gccmachine=`$CC -dumpmachine` - CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}" - fi + [AS_HELP_STRING([--with-contrib[=DIR]], + [search for 3rd party libraries in DIR/include and DIR/lib]) +]) +AC_MSG_CHECKING([for 3rd party libraries path]) +AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [ + CONTRIB_DIR="${srcdir}/contrib/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="" + AC_MSG_RESULT([not found]) + ]) + ]) + ]) ]) - AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}]) +], [ + AS_IF([test "${with_contrib}" != "no"], [ + CONTRIB_DIR="${with_contrib}" + ], [ + CONTRIB_DIR="" + AC_MSG_RESULT([disabled]) + ]) +]) +AS_IF([test -n "${CONTRIB_DIR}"], [ AS_IF([test -d "${CONTRIB_DIR}/lib"],[ - AC_MSG_RESULT([yes]) - AC_SUBST(CONTRIB_DIR) - export PATH=${CONTRIB_DIR}/bin:$PATH - CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" - CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" - CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" - CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" - CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" - CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" - OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" - OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" - if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then - export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" - else - export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" - fi - LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" - LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" - - 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" - fi - ],[ - AC_MSG_RESULT([no]) + CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd` + ], [ + echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD CONTRIB_DIR="" + AC_MSG_RESULT([not usable]) ]) + ]) +AS_IF([test -n "${CONTRIB_DIR}"], [ + AC_MSG_RESULT([${CONTRIB_DIR}]) + export PATH=${CONTRIB_DIR}/bin:$PATH + CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include" + CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" + CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include" + CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" + OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" + AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [ + export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" + ], [ + export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" + ]) + LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" + LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" + + AS_IF([test "${SYS}" = "darwin"], [ + export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH" + export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH" + ]) +], [ + AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [ + AC_MSG_ERROR([Third party libraries not found!]) + ]) +]) +AC_SUBST(CONTRIB_DIR) dnl dnl Set default values @@ -215,11 +235,11 @@ case "${host_os}" in CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}" OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}" LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}" - VLC_ADD_LDFLAGS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-undefined,dynamic_lookup]) - VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation]) + VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup]) + VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) - VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation]) + VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation]) AC_ARG_ENABLE(macosx-defaults, AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)])) if test "x${enable_macosx_defaults}" != "xno" @@ -296,8 +316,8 @@ 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.]) + AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.]) + AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.]) case "${host_os}" in *wince* | *mingwce* | *mingw32ce*) @@ -319,13 +339,10 @@ case "${host_os}" in esac if test "${SYS}" = "mingw32"; then - # add ws2_32 for closesocket, select, recv - VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm]) + VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm]) VLC_ADD_LDFLAGS([vlc],[-mwindows]) 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 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]) + VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm]) dnl dnl DEP and ASLR options dnl @@ -355,8 +372,6 @@ case "${host_os}" in 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 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" @@ -433,20 +448,16 @@ dnl fail on anything other than pass_all. AC_CACHE_VAL(lt_cv_deplibs_check_method, [lt_cv_deplibs_check_method=pass_all]) -AC_DISABLE_STATIC -dnl AC_DISABLE_FAST_INSTALL -AC_LIBTOOL_DLOPEN -AC_LIBTOOL_WIN32_DLL -m4_undefine([AC_PROG_F77]) -m4_defun([AC_PROG_F77],[]) -AC_PROG_LIBTOOL +LT_INIT([dlopen win32-dll shared disable-static]) +LT_LANG([C++]) +LT_LANG([Windows Resource]) m4_undefine([AC_DEPLIBS_CHECK_METHOD]) m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) lt_cv_deplibs_check_method=pass_all -AS_IF([test "${enable_shared}" = "no"], [ +AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [ AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.]) ]) @@ -455,14 +466,11 @@ dnl Gettext stuff dnl AM_GNU_GETTEXT_VERSION([0.18.1]) AM_GNU_GETTEXT([external]) -VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}]) dnl dnl Iconv stuff dnl AM_ICONV -VLC_ADD_CFLAGS([libvlccore],[${INCICONV}]) -VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}]) dnl Check for broken versions of mingw-runtime compatability library AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ @@ -516,22 +524,6 @@ if test "${SYS}" = "mingw32" ; then CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" fi -dnl Check for fvtable-thunks support for mingw32 -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" - AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes, - ac_cv_cxx_fvtable_thunks=no)]) - if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then - CXXFLAGS_mingw32_special="-fvtable-thunks" - fi - - CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}" - AC_LANG_POP(C++) -fi - dnl dnl Buggy glibc prevention. Purposedly not cached. dnl See sourceware.org bugs 5058 and 5443. @@ -561,16 +553,13 @@ dnl Plugin compilation stuff VLC_LIBRARY_SUFFIX -dnl The -DSYS_FOO flag -CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}" - dnl Check for system libs needed need_libc=false dnl Check for usual libc functions AC_CHECK_DECLS([nanosleep],,,[#include ]) -AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r 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 fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) +AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale]) +AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) @@ -583,21 +572,45 @@ AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) -SOCKET_LIBS="" -AC_CHECK_FUNCS(connect,,[ - AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LIBS([libvlccore cdda],-lsocket) - SOCKET_LIBS="-lsocket" +dnl Check for poll +AC_SEARCH_LIBS(poll, [poll], [ + AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().]) +], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + AC_MSG_ERROR([poll() is required.]) ]) ]) -AC_SUBST(SOCKET_LIBS) -AC_CHECK_FUNCS(send,,[ - AC_CHECK_LIB(socket,send,[ - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket]) - ]) +dnl Check for struct pollfd +AC_CHECK_TYPES([struct pollfd],,, +[#include +#if HAVE_POLL +# include +#elif defined (WIN32) +# include +#endif ]) +dnl Check for connect +LIBS_save="$LIBS" +SOCKET_LIBS="" +AC_SEARCH_LIBS(connect, [socket], [ + AS_IF([test "$ac_cv_search_connect" != "none required"], [ + SOCKET_LIBS="$ac_cv_search_connect" + ]) +], [ + AS_IF([test "${SYS}" = "mingw32"], [ + SOCKET_LIBS="-lws2_32" + ]) + AS_IF([test "${SYS}" = "mingwce"], [ + SOCKET_LIBS="-lws2" + ]) +]) +LIBS="$LIBS_save" +AS_IF([test -n "$SOCKET_LIBS"], [ + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}]) +]) +AC_SUBST(SOCKET_LIBS) dnl Check for socklen_t AH_TEMPLATE(socklen_t, [Define to `int' if does not define.]) @@ -643,32 +656,6 @@ LIBS_save="${LIBS}" AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}]) LIBS="${LIBS_save}" -dnl Check for va_copy -AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, - AC_TRY_LINK( - [#include ], - [va_list ap1, ap2; va_copy(ap1,ap2);], - [ac_cv_c_va_copy="yes"], - [ac_cv_c_va_copy="no"])) -if test "${ac_cv_c_va_copy}" = "yes"; then - AC_DEFINE(HAVE_VA_COPY, 1, [Define if defines va_copy.]) -fi -AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy, - AC_TRY_LINK( - [#include ], - [va_list ap1, ap2; __va_copy(ap1,ap2);], - [ac_cv_c___va_copy="yes"], - [ac_cv_c___va_copy="no"])) -if test "${ac_cv_c___va_copy}" = "yes"; then - AC_DEFINE(HAVE___VA_COPY, 1, [Define if defines __va_copy.]) -fi - -AC_CHECK_FUNCS(inet_aton,,[ - AC_CHECK_LIB(resolv,inet_aton,[ - VLC_ADD_LIBS([libvlccore],[-lresolv]) - ]) -]) - dnl FreeBSD has a gnugetopt library for this: GNUGETOPT_LIBS="" AC_CHECK_FUNC(getopt_long,, [ @@ -678,29 +665,13 @@ AC_CHECK_FUNC(getopt_long,, [ ]) AC_SUBST(GNUGETOPT_LIBS) -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype],[-lm]) -]) -AC_CHECK_LIB(m,pow,[ - 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([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],[-lm]) -]) -AC_CHECK_LIB(m,exp,[ - VLC_ADD_LIBS([gaussianblur],[-lm]) -]) -AC_CHECK_LIB(m,round,[ - VLC_ADD_LIBS([dbus],[-lm]) -]) -AC_CHECK_LIB(m,sqrtf,[ - VLC_ADD_LIBS([x264],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm]) + LIBM="-lm" +], [ + LIBM="" ]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" +AC_SUBST(LIBM) AC_CHECK_LIB(m,lrintf, [ AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function]) @@ -708,52 +679,38 @@ AC_CHECK_LIB(m,lrintf, [ ]) dnl Check for dynamic plugins -ac_cv_have_plugins=no - -# Win32 style -if test "${ac_cv_have_plugins}" = "no"; then - if test "${SYS}" = "mingw32" ; then - AC_CHECK_LIB(kernel32, main, - [VLC_ADD_LIBS([libvlccore],[-lkernel32]) - AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) - ac_cv_have_plugins=yes]) - fi -fi - -# WinCE style -if test "${ac_cv_have_plugins}" = "no"; then - if test "${SYS}" = "mingwce"; then - AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) - ac_cv_have_plugins=yes - fi -fi - -# Only test for dlopen() if the others didn't work LIBDL="" -if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then - AC_CHECK_HEADERS(dlfcn.h sys/dl.h) - ac_cv_my_have_dlopen=no - AC_CHECK_FUNC(dlopen, [ - ac_cv_my_have_dlopen=yes - ], [ - AC_CHECK_LIB(dl, dlopen, [ - ac_cv_my_have_dlopen=yes - LIBDL="-ldl" - ], [ - AC_CHECK_LIB(svld, dlopen, [ - ac_cv_my_have_dlopen=yes - LIBDL="-lsvld" - ]) - ]) +have_dynamic_objects="no" +LIBS_save="$LIBS" +AC_SEARCH_LIBS(dlopen, [dl svld], [ + AS_IF([test "$ac_cv_search_dlopen" != "none required"], [ + LIBDL="$ac_cv_search_dlopen" ]) - if test "${ac_cv_my_have_dlopen}" = "yes"; then - AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API]) - ac_cv_have_plugins=yes - VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL]) - fi -fi + have_dynamic_objects="yes" +]) +LIBS="$LIBS_save" + +# Windows +AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + LIBDL="" + have_dynamic_objects="yes" #assume we can use shared objects +]) + +test "${enable_shared}" = "no" && have_dynamic_objects=no + +AS_IF([test "${have_dynamic_objects}" != "no"], [ + AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, + [Define to 1 if dynamic plugins are supported.]) +], [ + dnl Clear $LIBDL so as not to break linking + LIBDL="" +]) +AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"]) + AC_SUBST(LIBDL) +VLC_ADD_LIBS([realvideo lua],[$LIBDL]) +dnl Check for thread library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then dnl Check for pthreads - borrowed from XMMS THREAD_LIB=error @@ -802,7 +759,7 @@ dnl Check for headers AC_CHECK_HEADERS([search.h]) AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) -AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h]) +AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ #include @@ -825,14 +782,6 @@ AC_CHECK_TYPE(ssize_t,, [ AC_DEFINE(ssize_t, int) ]) -dnl Check for poll -AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [ -if test ${SYS} != "mingw32" -a ${SYS} != "mingwce" -then - AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC]) -fi -]) - dnl Check for threads library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(pthread.h) @@ -846,9 +795,9 @@ AC_ARG_VAR(PKG_CONFIG_PATH, [Paths where to find .pc not at the default location]) PKG_PROG_PKG_CONFIG() -dnl On some OS we need static linking +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" ],[ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[ PKG_CONFIG="${PKG_CONFIG} --static" ]) ]) @@ -863,19 +812,17 @@ if test "${have_zlib}" = "yes" then 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], [ + AC_CHECK_HEADERS([unzip.h], [ have_minizip=yes MINIZIP_LIBS="-lminizip -lz" ], [ have_minizip=no - MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip" - MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la" + MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip" + MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la" ]) ]) VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS]) - VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS]) - VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS]) - VLC_ADD_PLUGIN([unzip zip]) + VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS]) fi AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ]) @@ -884,7 +831,7 @@ dnl Manual switch for UTF-8 AC_ARG_ENABLE(non-utf8, [AS_HELP_STRING([--enable-non-utf8], [support legacy non-UTF-8 systems (default disabled)])],, [ - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "os2"], [ enable_non_utf8="no" ]) ]) @@ -903,7 +850,7 @@ case "${SYS}" in if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" then dnl api stable dbus - PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, + PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS]) VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS]) @@ -930,7 +877,7 @@ then VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS]) ], - [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])] + [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])] ) fi ;; @@ -964,16 +911,12 @@ dnl Debugging mode dnl AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug], - [build with run-time assertions and debug symbols (default disabled)])],, + [build with run-time assertions (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) ]) @@ -1078,33 +1021,6 @@ AS_IF([test "${enable_optimizations}" != "no"], [ ]) ]) - 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}" @@ -1238,14 +1154,16 @@ ALIASES="${ALIASES} cvlc rvlc" dnl dnl Some plugins aren't useful on some platforms dnl -if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then +if test "${SYS}" = "os2"; then + VLC_ADD_PLUGIN([dynamicoverlay]) +elif test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([dynamicoverlay access_shm]) elif test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) fi if test "${SYS}" = "darwin"; then - VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) + VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices]) fi dnl @@ -1576,7 +1494,7 @@ dnl - Others: test should fail LDFLAGS="${LDFLAGS_save}" ]) AS_IF([test "${ac_cv_ld_altivec}" != "no"], [ - VLC_ADD_LDFLAGS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib]) + VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib]) ]) ]) AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"]) @@ -1662,10 +1580,11 @@ then PKG_CHECK_MODULES(LUA, lua5.1, [ have_lua=yes ], [ - AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead]) + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead]) PKG_CHECK_MODULES(LUA, lua >= 5.1, [ have_lua=yes ], [ + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead]) have_lua=yes AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], [], @@ -1696,6 +1615,7 @@ then fi AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"]) + dnl dnl HTTP daemon dnl @@ -1708,6 +1628,7 @@ then fi AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"]) + dnl dnl VideoLAN manager dnl @@ -1723,42 +1644,6 @@ AS_IF([test "${enable_vlm}" != "no"], [ ]) AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) -dnl -dnl Growl notification plugin -dnl -AC_ARG_ENABLE(growl, - [ --enable-growl growl notification plugin (default disabled)],, - [enable_growl=no]) -AS_IF([test "${enable_growl}" != "no"], [ - VLC_ADD_PLUGIN([growl_udp]) - AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ - VLC_ADD_PLUGIN([growl]) - 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] ) - ]) - ] -) - -dnl -dnl Libnotify notification plugin -dnl -PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto]) - -dnl -dnl Taglib plugin -dnl -AC_ARG_ENABLE(taglib, - [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 @@ -1777,8 +1662,8 @@ AS_IF([test "${enable_libproxy}" != "no"], [ VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS]) VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS]) ], [ - AS_IF([test "x${enable_libproxy}" != "x"], [ - AC_MSG_ERROR([libproxy could not be found on your system]) + AS_IF([test -n "${enable_libproxy}"], [ + AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.]) ]) ]) ]) @@ -1823,7 +1708,7 @@ if test "${enable_live555}" != "no"; then 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"], [ + AS_IF([test "${enable_live555}" = "yes"], [ AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.]) ]) ],[ @@ -1878,8 +1763,8 @@ You can get an updated one from http://www.live555.com/liveMedia .]) 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]) - ]) + AC_MSG_RESULT([yes]) + ]) ]) VLC_ADD_PLUGIN([live555]) @@ -1906,7 +1791,7 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) AC_MSG_RESULT(no) if test "${enable_live555}" = "yes"; then AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}]) - fi + fi fi fi fi @@ -1924,11 +1809,11 @@ AC_ARG_ENABLE(linsys, [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])]) if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then VLC_ADD_PLUGIN([linsys_hdsdi]) - PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28, + PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28], [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS]) VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS]) VLC_ADD_PLUGIN([linsys_sdi]) ], - [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])] + [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])] ) fi @@ -1960,7 +1845,7 @@ then AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters, AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]), [], [${LIBS_dvdnav}])], - [AC_MSG_WARN(dvdnav library not found)]) + [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])]) fi dnl @@ -2022,53 +1907,29 @@ if test "${enable_sftp}" = "yes"; then fi dnl -dnl Video4Linux2 plugin +dnl Video4Linux 2 dnl -AC_ARG_ENABLE(v4l2, - [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 - if test "${with_v4l2}" != "no" -a -n "${with_v4l2}" - then - VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include]) - fi - - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}" - AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [ - VLC_ADD_PLUGIN([v4l2]) - ],[]) - CPPFLAGS="${CPPFLAGS_save}" -fi - -dnl -dnl libv4l2 support for video4linux. -dnl -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, [ - VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}]) - VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}]) - AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)], - AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found]) - ) -fi - -dnl -dnl special access module for Hauppauge PVR cards -dnl -AC_ARG_ENABLE(pvr, - [AS_HELP_STRING([--enable-pvr], - [support PVR V4L2 cards (default disabled)])]) -if test "${enable_pvr}" = "yes" -then - VLC_ADD_PLUGIN([pvr]) -fi +AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2], + [disable userspace V4L2 library (default auto)])]) +AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr], + [support PVR V4L2 cards (default disabled)])]) +have_v4l2="no" +AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ + have_v4l2="yes" +]) +AS_IF([test "$have_v4l2" = "yes"], [ + AS_IF([test "${enable_libv4l2}" != "no"], [ + PKG_CHECK_MODULES(LIBV4L2, libv4l2, [ + AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available]) + ], [ + AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.]) + ]) + ]) + AS_IF([test "${enable_pvr}" = "yes"], [ + VLC_ADD_PLUGIN([pvr]) + ]) +]) +AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"]) dnl dnl special access module for Blackmagic SDI cards @@ -2078,7 +1939,7 @@ AC_ARG_ENABLE(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])]) + [ location of Blackmagic DeckLink SDI SDK])]) if test "${enable_decklink}" != "no" then if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}" @@ -2108,15 +1969,15 @@ AC_ARG_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], - [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], - [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])]) - PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22, - [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])], - [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])]) - VLC_ADD_PLUGIN([vcdx]) + PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72], + [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS]) + VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], + [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])]) + PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22, + [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS]) + VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])], + [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])]) + VLC_ADD_PLUGIN([vcdx]) fi dnl @@ -2158,7 +2019,7 @@ then AC_MSG_RESULT(no) ]) - if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" + if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2" then VLC_ADD_PLUGIN([vcd cdda]) fi @@ -2166,28 +2027,36 @@ then if test "${SYS}" = "darwin" then VLC_ADD_PLUGIN([vcd cdda]) - VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation]) + VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LIBS([vcdx cdda],[-liconv]) fi if test "$enable_libcddb" != "no"; then - PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [ + PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [ HAVE_LIBCDDB=yes AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed]) VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS]) VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS]) ],: - [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) + [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.]) HAVE_LIBCDDB=no]) fi fi dnl -dnl libdvbpsi check for ts mux/demux +dnl Linux DVB dnl -have_dvbpsi="no" -PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"]) -AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"]) +AC_CACHE_CHECK([for Linux DVB version 5], [ac_cv_linux_s2api], [ + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ +[#include +#if (DVB_API_VERSION < 5) +EXPLODE +#endif]])], [ + ac_cv_linux_s2api=yes +], [ + ac_cv_linux_s2api=no +])]) +AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_s2api" = "yes"]) dnl dnl Screen capture module @@ -2200,7 +2069,7 @@ if test "${enable_screen}" != "no"; then AC_CHECK_HEADERS(OpenGL/gl.h, [ AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ VLC_ADD_PLUGIN([screen]) - VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices]) + VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices]) ]) ]) elif test "${SYS}" = "mingw32"; then @@ -2212,19 +2081,50 @@ if test "${enable_screen}" != "no"; then fi dnl -dnl ipv6 support +dnl Real RTSP plugin dnl -have_ipv6=no -AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ - AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes]) -]) +AC_ARG_ENABLE(realrtsp, + [ --enable-realrtsp Real RTSP module (default disabled)]) +if test "${enable_realrtsp}" = "yes"; then + VLC_ADD_PLUGIN([access_realrtsp]) +fi -AS_IF([test "${have_ipv6}" = "yes"], [ - AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) +dnl +dnl MacOS eyeTV +AC_ARG_ENABLE(macosx-eyetv, + [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)]) +if test "x${enable_macosx_eyetv}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes") +then + VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation]) + VLC_ADD_PLUGIN([access_eyetv]) +fi + +dnl +dnl QTKit +AC_ARG_ENABLE(macosx-qtkit, + [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)]) +if test "x${enable_macosx_qtkit}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes") +then + VLC_ADD_PLUGIN([qtcapture]) + VLC_ADD_PLUGIN([qtsound]) +fi +AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" && "x${enable_macosx_qtkit}" != "xno"]) -AC_CHECK_FUNCS(inet_ntop,[ - AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])]) +dnl +dnl Demux plugins +dnl + +EXTEND_HELP_STRING([Mux/Demux plugins:]) + +dnl +dnl libdvbpsi check for ts mux/demux +dnl +have_dvbpsi="no" +PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"]) +AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"]) dnl @@ -2248,27 +2148,32 @@ AS_IF([test "${enable_gme}" != "no"], [ 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]) +AC_ARG_ENABLE(sid, + [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])]) +AS_IF([test "${enable_sid}" != "no"], [ + PKG_CHECK_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 -n "${enable_sid}"], + [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])], + [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])] + ) + ]) + CPPFLAGS="$oldCPPFLAGS" + AC_LANG_POP(C++) + ], [ + AS_IF([test "x${enable_sid}" = "xyes"], + [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])], + [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])] + ) + ]) +]) dnl @@ -2277,11 +2182,8 @@ dnl PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto]) if test "${enable_sout}" != "no"; then PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto]) -fi - -if test "${enable_sout}" != "no"; then dnl Check for libshout -PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto]) + PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto]) fi dnl @@ -2351,9 +2253,9 @@ if test "${enable_mod}" != "no" ; then VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS]) VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS]) ],[ - AS_IF([test x"${enable_mod}" = "xyes"], - [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)], - [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)]) + AS_IF([test -n "${enable_mod}"], + [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])], + [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])]) ]) fi @@ -2409,11 +2311,32 @@ then VLC_ADD_LIBS([omxil], [$LIBDL]) fi +dnl +dnl iomx codec plugin +dnl +AC_ARG_ENABLE(iomx, + [ --enable-iomx iomx codec module (default disabled)]) +if test "${enable_iomx}" = "yes" +then + CPPFLAGS_save="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} -I${srcdir}/modules/codec/omxil" # For the OMX headers + AC_LANG_PUSH([C++]) + AC_CHECK_HEADER(media/stagefright/OMXClient.h, [ + VLC_ADD_PLUGIN([iomx]) + VLC_ADD_CXXFLAGS([iomx], [-fno-exceptions -fno-rtti]) + VLC_ADD_LIBS([iomx], [-lstagefright -lmedia -lutils -lbinder]) + ], [ + AC_MSG_ERROR("Could not find IOMX headers") + ]) + AC_LANG_POP([C++]) + CPPFLAGS="${CPPFLAGS_save}" +fi + dnl dnl CrystalHD codec plugin dnl AC_ARG_ENABLE(crystalhd, - [ --enable-crystalhd crystalhd codec plugin (default auto)]) + [ --enable-crystalhd crystalhd codec plugin (default auto)]) if test "${enable_crystalhd}" != "no"; then AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [ VLC_ADD_PLUGIN([crystalhd]) @@ -2526,13 +2449,13 @@ AS_IF([test "${enable_avcodec}" != "no"], [ 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_LIBS([avcodec],[-Wl,-Bsymbolic]) ]) VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) VLC_RESTORE_FLAGS have_avcodec="yes" ],[ - AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) + AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) ]) ], [ have_avcodec="no" @@ -2542,34 +2465,34 @@ dnl dnl libva needs avcodec dnl AC_ARG_ENABLE(libva, - [ --enable-libva libva VAAPI support (default auto)]) + [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)]) +AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [ + AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.]) +]) AS_IF([test "${enable_libva}" != "no"], [ - AS_IF([test "x${have_avcodec}" = "xyes"], [ - PKG_CHECK_MODULES(LIBVA, [libva libva-x11], - [ - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" - CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" - AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) - AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) - echo "VAAPI acceleration activated" - ],[ - AS_IF([test "${enable_libva}" == "yes"], - [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])], - [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])]) - ]) - VLC_RESTORE_FLAGS - ],[ - AS_IF([test "${enable_libva}" == "yes"], - [AC_MSG_ERROR([Could not find required libva.])], - [AC_MSG_WARN([libva not found ])]) + PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" + AC_CHECK_HEADERS(libavcodec/vaapi.h, [ + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) + AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) + AC_MSG_NOTICE([VAAPI acceleration activated]) + ],[ + AS_IF([test -n "${enable_libva}"], [ + AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing]) + ], [ + AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ]) ]) + ]) + VLC_RESTORE_FLAGS ],[ - AS_IF([test "x${enable_libva}" != "x"], [ - AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.]) + AS_IF([test -n "${enable_libva}"], [ + AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${LIBVA_PKG_ERRORS}.]) ]) ]) ]) @@ -2578,24 +2501,24 @@ dnl dnl dxva2 needs avcodec dnl AC_ARG_ENABLE(dxva2, - [ --enable-dxva2 DxVA2 support (default auto)]) + [ --enable-dxva2 DxVA2 GPU decoding support (default auto)]) AS_IF([test "${enable_dxva2}" != "no"], [ if test "${SYS}" = "mingw32"; then AS_IF([test "x${have_avcodec}" = "xyes"], [ - AC_CHECK_HEADERS(dxva2api.h, + AC_CHECK_HEADERS(dxva2api.h, [ AC_CHECK_HEADERS(libavcodec/dxva2.h, [ VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid]) AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.]) echo "DxVA2 acceleration activated" ],[ - AS_IF([test "${enable_dxva2}" == "yes"], - [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])], + AS_IF([test "${enable_dxva2}" = "yes"], + [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])], [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])]) ]) ],[ - AS_IF([test "${enable_dxva2}" == "yes"], + AS_IF([test "${enable_dxva2}" = "yes"], [AC_MSG_ERROR([Could not find required dxva2api.h])], [AC_MSG_WARN([dxva2api.h not found])]) ]) @@ -2645,7 +2568,7 @@ then 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([avformat access_avio],[-Wl,-Bsymbolic]) ]) ], [ VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS]) @@ -2653,7 +2576,7 @@ then ]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.]) + AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) ]) fi @@ -2663,7 +2586,7 @@ dnl AC_ARG_ENABLE(swscale, AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion - (default enabled)])) + (default enabled)])) if test "${enable_swscale}" != "no" then PKG_CHECK_MODULES(SWSCALE,[libswscale], @@ -2676,11 +2599,11 @@ then 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_ADD_LIBS([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.]) + AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) ]) fi @@ -2703,7 +2626,7 @@ then VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) VLC_RESTORE_FLAGS ],[ - AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.]) + AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.]) ]) fi @@ -2771,7 +2694,7 @@ if test "${enable_quicktime}" = "yes"; then else AC_CHECK_HEADERS(QuickTime/QuickTime.h, [ VLC_ADD_PLUGIN([quicktime]) - VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon]) + VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon]) ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ]) fi fi @@ -2780,20 +2703,11 @@ dnl dnl Real plugin dnl AC_ARG_ENABLE(real, - [ --enable-real Real media module (default disabled)]) + [ --enable-real Real video decoder module (default disabled)]) if test "${enable_real}" = "yes"; then VLC_ADD_PLUGIN([realvideo]) fi -dnl -dnl Real RTSP plugin -dnl -AC_ARG_ENABLE(realrtsp, - [ --enable-realrtsp Real RTSP module (default disabled)]) -if test "${enable_realrtsp}" = "yes"; then - VLC_ADD_PLUGIN([access_realrtsp]) -fi - dnl dnl A52/AC3 decoder plugin dnl @@ -2905,9 +2819,22 @@ then fi dnl -dnl Speex plugin +dnl Speex plugins dnl -PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto]) +PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto]) +have_speexdsp="no" +AS_IF([test "${enable_speex}" != "no"], [ + PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [ + have_speexdsp="yes" + ], [ + AS_IF([test -n "${enable_speex}"], [ + AC_MSG_ERROR([${SPEEXDSP_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) dnl dnl theora decoder plugin @@ -2922,7 +2849,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto]) dnl dnl schroedinger decoder plugin (for dirac format video) dnl -PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto]) +PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto]) dnl dnl PNG decoder module @@ -2967,7 +2894,7 @@ if test "${enable_x264}" != "no"; then VLC_ADD_LIBS([x264],[-L${real_x264_tree}]) PKG_CHECK_MODULES(X264,x264, [ VLC_ADD_PLUGIN([x264]) - VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) + VLC_ADD_LIBS([x264],[${X264_LIBS}]) VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB]) @@ -2986,7 +2913,7 @@ if test "${enable_x264}" != "no"; then VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ - VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic]) + VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic]) ]) VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) @@ -2995,7 +2922,7 @@ if test "${enable_x264}" != "no"; then fi ],[ if test "${enable_x264}" = "yes"; then - AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html]) + AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html]) fi ]) LDFLAGS="${LDFLAGS_save}" @@ -3021,8 +2948,7 @@ AC_ARG_ENABLE(telx, zvbi) (default enabled if zvbi is absent)])) AS_IF( [test "${enable_zvbi}" != "no"],[ - PKG_CHECK_MODULES(ZVBI, - zvbi-0.2 >= 0.2.28, + PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28], [ VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS]) if test "${SYS}" = "mingw32"; then @@ -3032,11 +2958,10 @@ AS_IF( [test "${enable_zvbi}" != "no"],[ VLC_ADD_PLUGIN([zvbi]) AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) AS_IF( [test "${enable_telx}" = "yes"],[ - AC_MSG_WARN([The zvbi and telx modules are uncompatibles. - Using zvbi.]) + AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.]) ]) ],[ - AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead) + AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.]) ]) ]) AS_IF( [test "${enable_telx}" != "no" ],[ @@ -3049,7 +2974,7 @@ dnl AC_ARG_ENABLE(libass, [ --enable-libass Subtitle support using libass (default enabled)]) AS_IF( [test "${enable_libass}" != "no"], [ - PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8, + PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8], [ VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) @@ -3060,58 +2985,32 @@ AS_IF( [test "${enable_libass}" != "no"], [ VLC_ADD_LIBS([libass],[-lfontconfig]) ]) ],[ - AC_MSG_WARN([LIBASS library not found]) + AC_MSG_WARN([${LIBASS_PKG_ERRORS}.]) ]) ]) dnl dnl kate decoder plugin dnl -AC_ARG_ENABLE(kate, -[ --enable-kate kate codec (default enabled)]) -AS_IF([test "${enable_kate}" != "no"], [ - PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [ - VLC_ADD_PLUGIN([kate]) - VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS]) - VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[ - AC_CHECK_HEADERS(kate/kate.h, [ - AC_CHECK_LIB(kate, kate_decode_init, [ - VLC_ADD_PLUGIN([kate]) - kate_libs="-lkate -logg" - VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[ - AS_IF([test "x${enable_kate}" != "x"], [ - AC_MSG_ERROR([libkate doesn't appear to be installed on your system. - You also need to check that you have a libogg posterior to the 1.0 release.]) - ]) - ], [-lkate -logg]) - ],[ - AS_IF([test "x${enable_kate}" != "x"], [ - AC_MSG_ERROR([libkate headers do not appear to be installed on your system. - You also need to check that you have a libogg posterior to the 1.0 release.]) - ]) - ]) - ]) -]) - +PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto]) dnl dnl tiger rendering for kate decoder plugin dnl AC_ARG_ENABLE(tiger, -[ --enable-tiger Tiger rendering library for Kate streams (default enabled)]) +[ --enable-tiger Tiger rendering library for Kate streams (default auto)]) AS_IF([test "${enable_tiger}" != "no"], [ PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [ AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.]) VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS]) VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[ - AS_IF([test "x${enable_tiger}" != "x"], [ - AC_MSG_ERROR([libtiger does not appear to be installed on your system.]) + AS_IF([test -n "${enable_tiger}"], [ + AC_MSG_ERROR([${TIGER_PKG_ERRORS}.]) ]) ]) ]) - dnl dnl Video plugins dnl @@ -3160,7 +3059,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}]) ], [ - AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.]) + AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.]) ]) dnl xcb-utils @@ -3171,7 +3070,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}]) VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) ], [ - AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.]) + AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) @@ -3187,7 +3086,7 @@ AS_IF([test "${enable_glx}" != "no"], [ GL_CFLAGS="" GL_LIBS="-lGL" ], [ - AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.]) + AC_MSG_ERROR([${GL_PKG_ERRORS}. If you do not need OpenGL with X11, pass --disable-glx.]) ]) ]) VLC_ADD_PLUGIN([xcb_glx]) @@ -3213,13 +3112,13 @@ then PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [ # SDL on Darwin is heavily patched and can only run SDL_image if test "${SYS}" != "darwin"; then - VLC_ADD_PLUGIN([vout_sdl aout_sdl]) + VLC_ADD_PLUGIN([vout_sdl]) fi - if test "${SYS}" != "mingw32"; then + if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11]) fi - VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}]) - VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}]) + VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}]) + VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}]) # SDL_image AS_IF([ test "${enable_sdl_image}" != "no"],[ @@ -3227,17 +3126,28 @@ then VLC_ADD_PLUGIN([sdl_image]) VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}]) VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])], - [ AC_MSG_WARN([The development package for SDL_image is not installed. - You should install it alongside your SDL package.]) + [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.]) ]) ]) ],[ - AC_MSG_WARN([The development package for SDL is not present or too old. - You need 1.2.10. Alternatively you can also configure with - --disable-sdl.]) + AC_MSG_WARN([${SDL_PKG_ERRORS}.]) ]) fi + +dnl +dnl Mac Vout +AC_ARG_ENABLE(macosx-vout, + [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)]) +if test "x${enable_macosx_vout}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes") +then + VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa]) + VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL]) + VLC_ADD_PLUGIN([vout_macosx]) +fi + + dnl dnl freetype module dnl @@ -3259,7 +3169,7 @@ if test "${enable_freetype}" != "no"; then VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) AC_CHECK_HEADERS(Carbon/Carbon.h, - [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) + [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])]) dnl fontconfig support if test "${SYS}" != "mingw32"; then @@ -3278,21 +3188,29 @@ if test "${enable_freetype}" != "no"; then PKG_CHECK_MODULES(FRIBIDI, fribidi, [ VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI]) VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}]) - ],[AC_MSG_WARN([library fribidi not found. Bidirectional support will be disabled in freetype])]) + ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])]) fi ],[ have_freetype=no - AS_IF([ test "${enable_freetype}" = "yes"],[ - AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.]) + AS_IF([test -n "${enable_freetype}"],[ + AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.]) ]) ]) fi + dnl -dnl libxml2 module +dnl QuartzText vout module (iOS/Mac OS) dnl -PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) +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([quartztext]) + VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices]) +fi dnl dnl SVG module @@ -3321,19 +3239,7 @@ 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(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([quartztext]) - VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) + VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation]) fi dnl @@ -3347,20 +3253,24 @@ fi AC_ARG_ENABLE(directx, [ --enable-directx Win32 DirectX support (default enabled on Win32)]) -if test "${enable_directx}" != "no" -then - if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" - then - VLC_ADD_LIBS([directx],[-luser32]) +if test "${enable_directx}" != "no"; then + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then + dnl DDraw AC_CHECK_HEADERS(ddraw.h, [ VLC_ADD_PLUGIN([directx aout_directx]) - VLC_ADD_LIBS([directx],[-lgdi32]) + VLC_ADD_LIBS([directx],[-luser32 -lgdi32]) ],[AC_MSG_ERROR([Cannot find DirectX headers!])] ) - AC_CHECK_HEADERS(GL/gl.h, + + dnl OpenGL + AC_CHECK_HEADERS(GL/glext.h, [ VLC_ADD_PLUGIN([glwin32]) VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) + ],[],[ + #include ]) + + dnl Direct3D AC_CHECK_HEADERS(d3d9.h, [ VLC_ADD_PLUGIN([direct3d]) VLC_ADD_LIBS([direct3d],[-lgdi32]) @@ -3373,18 +3283,19 @@ 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 + [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ + enable_direct2d="no" + ]) +]) +AS_IF([test "${enable_direct2d}" != "no"], [ + AC_CHECK_HEADERS(d2d1.h, [ + VLC_ADD_PLUGIN([direct2d]) + VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32]) + ], [ + AC_MSG_WARN([Cannot find Direct2D headers!]) + ]) +]) dnl dnl win32 GDI plugin @@ -3476,7 +3387,7 @@ if test "${enable_directfb}" = "yes"; then VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}]) VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}]) else - AC_MSG_ERROR([cannot find directfb headers and/or libraries ]) + AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.]) fi fi @@ -3520,8 +3431,20 @@ 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_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [ + AS_IF([test "${no_x}" != "yes"], [ + have_pulse="yes" + PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11" + ], [ + AS_IF([test "${enable_pulse}" = "yes"], [ + AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions +(see http://www.pulseaudio.org/ticket/799 for further reference).]) + ]) + ]) + ], [ + AS_IF([test "x${enable_pulse}" != "x"], [ + AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.]) + ]) ]) ]) ]) @@ -3602,7 +3525,7 @@ if test "x${enable_macosx_audio}" != "xno" && then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, [ VLC_ADD_PLUGIN([auhal]) - VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon]) + VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon]) ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi @@ -3610,11 +3533,11 @@ dnl dnl AudioQueue plugin dnl AC_ARG_ENABLE(audioqueue, - [ --enable-audioqueue AudioQueue audio module (default disabled)]) + [ --enable-audioqueue AudioQueue audio module (default disabled)]) if test "${enable_audioqueue}" = "yes" then VLC_ADD_PLUGIN([audioqueue]) - VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation]) + VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation]) fi dnl @@ -3636,10 +3559,32 @@ if test "${HAVE_ANDROID}" = "1"; then fi dnl -dnl UPnP Plugin (Intel SDK) +dnl libsamplerate plugin dnl -PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto]) -VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}]) +PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto]) + +dnl +dnl OS/2 KAI plugin +dnl +AC_ARG_ENABLE(kai, + [AS_HELP_STRING([--enable-kai], + [support the K Audio Interface KAI (default enabled on OS/2)])],, [ + AS_IF([test "$SYS" = "os2"], [ + enable_kai="yes" + ]) +]) +have_kai="no" +KAI_LIBS="" +AS_IF([test "$enable_kai" != "no"], [ + AC_CHECK_HEADERS([kai.h], [ + have_kai="yes" + AC_CHECK_LIB(kai, main, [ + KAI_LIBS="-lkai" + ]) + ]) +]) +AC_SUBST(KAI_LIBS) +AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"]) dnl dnl Interface plugins @@ -3650,53 +3595,55 @@ 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 and WinCE)])],, [ - AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [ - enable_skins2="yes" - ], [ - enable_skins2="no" - ]) -]) -AS_IF([test "${enable_skins2}" = "yes"], [ - dnl freetype - AS_IF([test "${have_freetype}" != "yes"], [ - AC_MSG_ERROR([Could not find FreeType (required for skins2)]) - ]) - + [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])]) +AS_IF([test "${enable_skins2}" != "no"], [ + have_skins_deps="yes" 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 -lmsimg32 -luser32]) + VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32]) ], [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]) + VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon]) ], [ - PKG_CHECK_MODULES([XPM], [xpm]) - PKG_CHECK_MODULES([XINERAMA], [xinerama]) - PKG_CHECK_MODULES([XEXT], [xext]) + PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"]) + PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"]) + PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"]) 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} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11]) ]) - VLC_ADD_PLUGIN([skins2]) - ALIASES="${ALIASES} svlc" + AS_IF([test "${have_freetype}" != "yes"], [ + have_skins_deps="no" + ]) + + AS_IF([test "${have_skins_deps}" = "no"], [ + AS_IF([test "x${enable_skins2}" = "x"], [ + AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.]) + ], [ + AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama]) + ]) + enable_skins2="no" + ], [ + VLC_ADD_PLUGIN([skins2]) + ALIASES="${ALIASES} svlc" + ]) ]) AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"]) +AC_ARG_ENABLE(libtar, + [ --enable-libtar libtar support for skins2 (default auto)]) +AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [ + AC_CHECK_HEADERS(libtar.h, [ + VLC_ADD_LIBS([skins2],[-ltar]) + ]) +]) + dnl dnl Hildon UI dnl @@ -3708,7 +3655,7 @@ AS_IF([test "${enable_hildon}" = "yes"], [ VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM]) VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}]) ], [ - AC_MSG_WARN(hildon-fm-2 not found) + AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.]) ]) VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}]) VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11]) @@ -3716,7 +3663,7 @@ AS_IF([test "${enable_hildon}" = "yes"], [ ALIASES="${ALIASES} mvlc" ], [ AS_IF([test "${enable_hildon}" = "yes"],[ - AC_MSG_ERROR([Hildon libraries not found]) + AC_MSG_ERROR([${HILDON_PKG_ERRORS}.]) ]) enable_hildon="no" ]) @@ -3731,7 +3678,7 @@ AC_ARG_ENABLE(qt4, AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no]) ]) AS_IF([test "${enable_qt4}" != "no"], [ - PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [ + PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [ VLC_ADD_PLUGIN([qt4]) VLC_ADD_LIBS([qt4],[${QT4_LIBS}]) VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}]) @@ -3762,16 +3709,16 @@ AS_IF([test "${enable_qt4}" != "no"], [ VLC_ADD_LIBS([qt4],[-lole32]) ]) AS_IF([test "${SYS}" = "darwin" ],[ - VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa]) + VLC_ADD_LIBS([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) ], [ - AS_IF([test "${enable_qt4}" = "yes"],[ - AC_MSG_ERROR([Qt 4 library not found]) + AS_IF([test -n "${enable_qt4}"],[ + AC_MSG_ERROR([${QT4_PKG_ERRORS}.]) ],[ - AC_MSG_WARN([Qt 4 library not found]) + AC_MSG_WARN([${QT4_PKG_ERRORS}.]) ]) enable_qt4="no" ]) @@ -3786,82 +3733,44 @@ AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [ ]) dnl -dnl MacOS X video output/gui modules +dnl MacOS X gui module dnl AC_ARG_ENABLE(macosx, [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)]) if test "x${enable_macosx}" != "xno" && (test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes") then - VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa]) - VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL]) - 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_LIBS([macosx minimal_macosx],[-Wl,-framework,Cocoa]) + VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,OpenGL]) + VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Carbon]) + VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,CoreServices]) + VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,AGL]) + VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit]) + VLC_ADD_LIBS([macosx], [-Wl,-framework,IOKit]) + VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle]) - VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit]) + VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit]) dnl For bug report - VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook]) - VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) + VLC_ADD_LIBS([macosx], [-Wl,-framework,AddressBook]) + VLC_ADD_LIBS([macosx], [-Wl,-framework,WebKit]) VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] ) VLC_ADD_PLUGIN([macosx minimal_macosx]) fi dnl -dnl MacOS X related modules +dnl MacOS X dialor provider dnl - -AC_ARG_ENABLE(macosx-vout, - [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)]) -if test "x${enable_macosx_vout}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes") -then - VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,Cocoa]) - VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,OpenGL]) - VLC_ADD_PLUGIN([vout_macosx]) -fi - AC_ARG_ENABLE(macosx-dialog-provider, [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)]) if test "x${enable_macosx_dialog_provider}" != "xno" && (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes") then - VLC_ADD_LDFLAGS([macosx_dialog_provider],[-Wl,-framework,Cocoa]) + VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa]) VLC_ADD_PLUGIN([macosx_dialog_provider]) fi -AC_ARG_ENABLE(macosx-qtcapture, - [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)]) -if test "x${enable_macosx_qtcapture}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes") -then - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,Cocoa]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QuartzCore]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo]) - VLC_ADD_PLUGIN([qtcapture]) -fi - -AC_ARG_ENABLE(macosx-eyetv, - [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)]) -if test "x${enable_macosx_eyetv}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes") -then - VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation]) - VLC_ADD_PLUGIN([access_eyetv]) -fi - -AC_ARG_ENABLE(macosx-vlc-app, - [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)]) -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 @@ -3919,6 +3828,22 @@ then ]) fi +dnl +dnl Lirc plugin +dnl +AC_ARG_ENABLE(lirc, + [ --enable-lirc lirc support (default disabled)]) +if test "${enable_lirc}" = "yes" +then + AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false") + if test "${have_lirc}" = "true" + then + VLC_ADD_PLUGIN([lirc]) + VLC_ADD_LIBS([lirc],[-llirc_client]) + fi +fi + +EXTEND_HELP_STRING([Visualisations and Video filter plugins:]) dnl dnl Visualisation plugin dnl @@ -3938,7 +3863,7 @@ dnl dnl libprojectM visualization plugin dnl AC_ARG_ENABLE(projectm, - [ --enable-projectm projectM visualization plugin (default enabled)]) + [ --enable-projectm projectM visualization plugin (default enabled)]) AS_IF([test "${enable_projectm}" != "no"], [ PKG_CHECK_MODULES(PROJECTM, libprojectM, @@ -3951,7 +3876,7 @@ AS_IF([test "${enable_projectm}" != "no"], [ AC_MSG_WARN( [Using libprojectM version 1] ) ]) ],[ - AC_MSG_WARN([libprojectM library not found]) + AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.]) ]) ]) @@ -3969,6 +3894,7 @@ AS_IF([test "${enable_atmo}" != no], [ ]) ]) +EXTEND_HELP_STRING([Service Discovery plugins:]) dnl dnl Bonjour services discovery PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto]) @@ -3982,22 +3908,19 @@ dnl MTP devices services discovery PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto]) dnl -dnl Lirc plugin +dnl UPnP Plugin (Intel SDK) dnl -AC_ARG_ENABLE(lirc, - [ --enable-lirc lirc support (default disabled)]) -if test "${enable_lirc}" = "yes" -then - AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false") - if test "${have_lirc}" = "true" - then - VLC_ADD_PLUGIN([lirc]) - VLC_ADD_LIBS([lirc],[-llirc_client]) - fi -fi +PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto]) +VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}]) EXTEND_HELP_STRING([Misc options:]) +dnl +dnl libxml2 module +dnl +PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) + + dnl dnl libgcrypt dnl @@ -4053,8 +3976,8 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ - AS_IF([test "${enable_gnutls}" = "yes"], [ - AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)]) + AS_IF([test -n "${enable_gnutls}"], [ + AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)]) ]) ]) ]) @@ -4091,15 +4014,32 @@ AS_IF([test "${have_libgcrypt}" = "yes"], [ dnl -dnl OSSO (Maemo screen blanking) plugin +dnl Nokia MCE plugin (Maemo screen unblanking) dnl -PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto]) +PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true]) + AS_IF([test -f "/etc/maemo_version"], [ AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.]) ]) +dnl +dnl Taglib plugin +dnl +AC_ARG_ENABLE(taglib, + [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_PKG_ERRORS}.])]) +]) + + dnl dnl update checking system dnl @@ -4117,52 +4057,53 @@ then fi dnl -dnl SQLite +dnl Growl notification plugin dnl -AC_ARG_WITH(sqlite, - [ --with-sqlite=PATH sqlite path linking]) -if test "${SYS}" != "darwin"; then - PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto]) -else - if test "${enable_sqlite}" != "no" - then - AC_CHECK_HEADERS(sqlite3.h, [ - VLC_ADD_PLUGIN([sqlite]) - if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then - AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite}) - real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`" - if test -z "${real_sqlite}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_sqlite}]) - fi - VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include]) - VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3]) - AC_MSG_RESULT(yes) - else - VLC_ADD_LIBS([sqlite], [-lsqlite3]) - fi - AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ], - AC_MSG_ERROR([sqlite3 is required for sqlite module]) ) - fi -fi -AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"]) +AC_ARG_ENABLE(growl, + [ --enable-growl growl notification plugin (default disabled)],, + [enable_growl=no]) +AS_IF([test "${enable_growl}" != "no"], [ + AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [ + VLC_ADD_PLUGIN([growl]) + VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation]) + VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl]) + VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] ) + ]) + ] +) + +dnl +dnl Libnotify notification plugin +dnl +PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto]) 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"]) +AC_ARG_ENABLE(media-library, + [ --enable-media-library media library (default disabled)]) +AS_IF([test "${enable_media_library}" = "yes"], [ + 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]) + +dnl +dnl SQLite +dnl + AS_IF([test "${SYS}" != "darwin"], [ + PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto]) + ], [ + AS_IF([test "${enable_sqlite}" != "no"], [ + AC_CHECK_HEADERS(sqlite3.h, [ + VLC_ADD_PLUGIN([sqlite]) + VLC_ADD_LIBS([sqlite], [-lsqlite3]) + ], [ + AC_MSG_ERROR([sqlite3 is required for the media library]) + ]) + ]) + ]) +]) + dnl dnl Endianness check @@ -4210,12 +4151,12 @@ dnl loader=false AC_ARG_ENABLE(loader, AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms - (default disabled)])) + (default disabled)])) AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader]) - VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la]) + VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/modules/codec/loader]) + VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la]) VLC_ADD_CPPFLAGS([realvideo], [-DLOADER]) VLC_ADD_LIBS([dmo quicktime], [-lpthread]) ]) @@ -4229,23 +4170,11 @@ AC_ARG_ENABLE(vlc, [ --enable-vlc build the VLC media player (default enabled)]) AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"]) +AC_ARG_ENABLE(macosx-vlc-app, + [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)]) +AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" && + (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ]) -dnl -dnl Plugin and builtin checks -dnl -plugin_support=yes - -dnl Automagically disable plugins if there is no system support for -dnl dynamically loadable files (.so, .dll, .dylib). -dnl don't forget vlc-win32 still can load .dll as plugins -AS_IF([test "${ac_cv_have_plugins}" = "no"], [ - AC_MSG_WARN([*** No plugin support! Building statically! ***]) - plugin_support=no -]) - -AS_IF([test "${plugin_support}" != "no"], [ - AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported]) -]) dnl dnl Pic and shared libvlc stuff @@ -4282,8 +4211,6 @@ AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) dnl dnl Handle substvars that use $(top_srcdir) dnl -VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config" -AC_SUBST(VLC_CONFIG) CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}" dnl @@ -4296,11 +4223,6 @@ dnl Sort the modules list dnl PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs ) -dnl -dnl Create the vlc-config script -dnl -LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}" - dnl dnl Configuration is finished dnl @@ -4319,15 +4241,9 @@ AC_SUBST(MACOSX_DEPLOYMENT_TARGET) AC_SUBST(FILE_LIBVLCCORE_DLL) AC_SUBST(FILE_LIBVLC_DLL) -dnl Create vlc-config.in -VLC_OUTPUT_VLC_CONFIG_IN - AC_CONFIG_FILES([ Makefile doc/Makefile - libs/loader/Makefile - libs/srtp/Makefile - libs/unzip/Makefile modules/Makefile m4/Makefile po/Makefile.in @@ -4335,6 +4251,7 @@ AC_CONFIG_FILES([ compat/Makefile src/Makefile src/test/Makefile + lib/Makefile bin/Makefile test/Makefile modules/access/Makefile @@ -4347,6 +4264,7 @@ AC_CONFIG_FILES([ modules/access/vcdx/Makefile modules/access/screen/Makefile modules/access/zip/Makefile + modules/access/zip/unzip/Makefile modules/access_output/Makefile modules/audio_filter/Makefile modules/audio_mixer/Makefile @@ -4354,6 +4272,7 @@ AC_CONFIG_FILES([ modules/codec/Makefile modules/codec/avcodec/Makefile modules/codec/dmo/Makefile + modules/codec/loader/Makefile modules/codec/omxil/Makefile modules/codec/shine/Makefile modules/codec/spudec/Makefile @@ -4379,19 +4298,20 @@ AC_CONFIG_FILES([ modules/lua/Makefile modules/meta_engine/Makefile modules/misc/Makefile - modules/misc/dummy/Makefile - modules/misc/notify/Makefile modules/misc/playlist/Makefile modules/misc/osd/Makefile modules/misc/stats/Makefile modules/media_library/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile + modules/notify/Makefile modules/packetizer/Makefile modules/services_discovery/Makefile modules/stream_filter/Makefile + modules/stream_filter/dash/Makefile modules/stream_out/Makefile modules/stream_out/transcode/Makefile + modules/text_renderer/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_filter/dynamicoverlay/Makefile @@ -4424,13 +4344,7 @@ AM_COND_IF([HAVE_DARWIN], [ dnl Generate makefiles AC_OUTPUT -# Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built, -# not provided with the source -${SHELL} ./config.status --file=vlc-config -chmod 0755 vlc-config - -/bin/echo -n "Enabled modules: " -./vlc-config --list plugin +/bin/echo -n "Enabled modules: ${PLUGINS}" dnl Do we have to use make or gmake ? USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac` @@ -4465,5 +4379,4 @@ else echo "build vlc executable : no" fi echo " -You can tune the compiler flags in vlc-config. To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."