X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=6713ead8a52f601849a50be63c81f8c018633bba;hb=07201c94570ea252ba07d50be8cc49f0946e799c;hp=113575f55845d8510b93026e1dc4daedcfa0cc31;hpb=a15d8784547b5bcc637cb0238e87ba4185b8836d;p=vlc diff --git a/configure.ac b/configure.ac index 113575f558..28f9d0d924 100644 --- a/configure.ac +++ b/configure.ac @@ -1,33 +1,32 @@ dnl Autoconf settings for vlc -AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team]) +AC_COPYRIGHT([Copyright 2002-2010 the VideoLAN team]) -AC_INIT(vlc, 1.1.0-git) +AC_INIT(vlc, 1.2.0-git) VERSION_MAJOR="1" -VERSION_MINOR="1" +VERSION_MINOR="2" VERSION_REVISION="0" VERSION_EXTRA="-git" PKGDIR="vlc" AC_SUBST(PKGDIR) CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" -CODENAME="Yellow Bastard" -COPYRIGHT_YEARS="1996-2009" +CODENAME="Twoflower" +COPYRIGHT_YEARS="1996-2010" -AC_PREREQ(2.59c) AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_LIBOBJ_DIR(compat) AC_CANONICAL_BUILD AC_CANONICAL_HOST +AC_PRESERVE_HELP_ORDER -AM_INIT_AUTOMAKE(tar-ustar) +AM_INIT_AUTOMAKE(tar-ustar color-tests) AM_CONFIG_HEADER(config.h) # Disable with "./configure --disable-silent-rules" or "make V=1" -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - +AM_SILENT_RULES([yes]) dnl Too many people are not aware of maintainer mode: dnl If you want to use it, you definitely know what you are doing, so @@ -49,24 +48,6 @@ AC_SUBST(vlcdatadir) vlclibdir="\${libdir}/\${PKGDIR}" AC_SUBST(vlclibdir) -dnl -dnl Deprecated options -dnl to notify packagers that stuff has changed -dnl -AC_ARG_ENABLE(python-bindings, - [ --enable-python-bindings Always fails for historical reasons)],, - [enable_python_bindings="no"]) -AS_IF([test "${enable_python_bindings}" != "no"], [ - AC_MSG_ERROR([Python bindings are now built from a separate source package]) -]) - -AC_ARG_ENABLE(java-bindings, - [ --enable-java-bindings Always fails for historical reasons],, - [enable_java_bindings="no"]) -AS_IF([test "${enable_java_bindings}" != "no"], [ - AC_MSG_ERROR([Java bindings are now built from a separate source package]) -]) - dnl dnl Save *FLAGS dnl @@ -101,6 +82,9 @@ AC_C_CONST AC_C_INLINE AC_C_RESTRICT +dnl Extend the --help string at the current spot. +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, @@ -117,28 +101,24 @@ dnl Check for the contrib directory dnl AC_ARG_WITH(contrib, [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[]) - AS_IF([test "${with_contrib}" != "no"],[ - AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib]) - if test -z "$CONTRIB_DIR" - then +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 - fi - AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}]) - AS_IF([test -d ${CONTRIB_DIR}/lib],[ - AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[ - if test "${with_contrib}" = "yes"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) - else - AC_MSG_RESULT([no]) - AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host]) + CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}" + if ! test -d "$CONTRIB_DIR" + then + gccmachine=`$CC -dumpmachine` + CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}" fi - ],[ + ]) + AC_MSG_CHECKING([for libs in ${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" @@ -148,31 +128,31 @@ AC_ARG_WITH(contrib, 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 + 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 + 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 -z $with_mozilla_sdk_path; then - with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk + 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 + if test -z "$with_cyberlink_tree"; then + with_cyberlink_tree="${CONTRIB_DIR}/src/clinkcc" fi - if test ".`uname -s`" = ".Darwin"; then - export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH - export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH - elif test ".`uname -s`" = ".BeOS"; then - export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH - export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES + 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 @@ -193,7 +173,7 @@ case "${host_os}" in bsdi*) SYS=bsdi CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}" - VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd]) + VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd]) ;; *bsd*) SYS="${host_os}" @@ -205,22 +185,44 @@ case "${host_os}" in LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib" LDFLAGS="${LDFLAGS_save}" ;; + openbsd*) + CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include" + CPPFLAGS="${CPPFLAGS_save}" + LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/" + LDFLAGS="${LDFLAGS_save}" + ;; esac ;; darwin*) + + dnl Force gcc "-arch" flag + ARCH_flag="" + case "${host}" in + i386*) + ARCH_flag="-arch i386" + ;; + ppc64*) + ARCH_flag="-arch ppc64" + ;; + ppc*) + ARCH_flag="-arch ppc" + ;; + x86_64*) + ARCH_flag="-arch x86_64" + ;; + esac + SYS=darwin - CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" - LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}" - VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) - VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup]) - VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress]) + CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}" + 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_CFLAGS([motion],[-fconstant-cfstrings]) VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation]) - VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-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" @@ -234,8 +236,6 @@ case "${host_os}" in 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" @@ -244,8 +244,6 @@ case "${host_os}" in echo " Assuming --enable-theora" enable_shout="yes" echo " Assuming --enable-shout" - enable_cddax="yes" - echo " Assuming --enable-cddax" enable_vcdx="yes" echo " Assuming --enable-vcdx" enable_caca="yes" @@ -258,19 +256,11 @@ 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" - enable_x11="no" - echo " Assuming --disable-x11" enable_xcb="no" echo " Assuming --disable-xcb" - enable_glx="no" - echo " Assuming --disable-glx" - enable_xvideo="no" - echo " Assuming --disable-xvideo" fi dnl dnl Check for Mac OS X SDK settings @@ -285,7 +275,7 @@ case "${host_os}" in LD="${LD} -syslibroot ${with_macosx_sdk}" fi AC_ARG_WITH(macosx-version-min, - [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above]) + [ --with-macosx-version-min=VERSION compile for MacOSX 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}" @@ -299,28 +289,6 @@ case "${host_os}" in export MACOSX_DEPLOYMENT_TARGET fi ;; - darwin9*) - if (test ".`uname -p`" = ".i386"); then - dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code - dnl without hacking it a lot, we disable mmx and sse. - dnl (that bug is about ld being unable to handle - dnl text relocation) - save_cflags="$CFLAGS" - CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress" - AC_TRY_LINK( - [int a;], [asm("movq _a,%mm0\n");], - ac_ld_does_not_support_text_reloc=no, - ac_ld_does_not_support_text_reloc=yes) - CFLAGS="$save_cflags" - - if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then - enable_mmx="no" - echo " Assuming --disable-mmx (due to a bug in ld)" - enable_sse="no" - echo " Assuming --disable-sse (due to a bug in ld)" - fi - fi - ;; *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) @@ -333,12 +301,12 @@ case "${host_os}" in ;; *mingw32*) SYS=mingw32 - AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.]) + 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], 0x0500, [Define to '0x0500' for Windows 2000 APIs.]) + AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.]) AC_EGREP_CPP(yes, [#ifdef WIN32 yes @@ -351,24 +319,29 @@ 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],[-lgdi32]) - VLC_ADD_LIBS([cdda vcdx cddax 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 slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi],[-lws2_32]) - VLC_ADD_LIBS([access_file], [-lshlwapi]) + VLC_ADD_LIBS([activex mozilla 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([filesystem], [-lshlwapi]) dnl dnl DEP and ASLR options dnl AC_ARG_ENABLE(peflags, - [ --enable-peflags peflags use (default enabled)]) - if test "${enable_peflags}" != "no" - then + [ --enable-peflags peflags use (default enabled on Windows)]) + if test "${enable_peflags}" != "no" ; then AC_CHECK_TOOL(PEFLAGS, peflags, :) fi + AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) + ac_default_prefix="`pwd`/_win32" + DESTDIR="`pwd`/_win32/" 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 http netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts telnet],[-lws2]) + 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],[-lmmtimer]) + AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) + ac_default_prefix="`pwd`/_wince" + DESTDIR="`pwd`/_wince/" fi ;; *nto*) @@ -386,20 +359,14 @@ case "${host_os}" in CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" VLC_ADD_CXXFLAGS([beos],[]) VLC_ADD_LIBS([vlc libvlccore logger],[-lbe]) - VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) VLC_ADD_LIBS([dvdnav dvdread],[-ldl]) - VLC_ADD_LIBS([access_file],[-lpoll]) + 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([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket]) + VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lbind -lsocket]) else - VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet]) - fi - - dnl Ugly check for Zeta - if test -f /boot/beos/system/lib/libzeta.so; then - VLC_ADD_LIBS([beos],[-lzeta]) + VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lnet]) fi ;; *) @@ -450,11 +417,14 @@ m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) lt_cv_deplibs_check_method=pass_all +AS_IF([test "${enable_shared}" = "no"], [ + AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.]) +]) dnl dnl Gettext stuff dnl -AM_GNU_GETTEXT_VERSION([0.17]) +AM_GNU_GETTEXT_VERSION([0.18.1]) AM_GNU_GETTEXT([external]) VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}]) @@ -571,41 +541,23 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale]) -AC_CHECK_FUNCS(fcntl) -AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab]) -AC_CHECK_FUNCS([stricmp strnicmp]) +AC_CHECK_FUNCS([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(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) dnl Check for non-standard system calls -AC_CHECK_FUNCS([vmsplice eventfd fstatfs]) +AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])]) -dnl Check for setlocal and langinfo -AC_CHECK_FUNCS(setlocale) -AC_CHECK_HEADERS(langinfo.h) -AC_CHECK_FUNCS(nl_langinfo) - -AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset, - [AC_TRY_LINK([#include ], - [char* cs = nl_langinfo(CODESET);], - ac_cv_langinfo_codeset=yes, - ac_cv_langinfo_codeset=no) - ]) -if test ${ac_cv_langinfo_codeset} = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have and nl_langinfo(CODESET).]) -fi - SOCKET_LIBS="" AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket) + VLC_ADD_LIBS([libvlccore cdda],-lsocket) SOCKET_LIBS="-lsocket" ]) ]) @@ -613,7 +565,7 @@ 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],[-lsocket]) + 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]) ]) ]) @@ -659,28 +611,9 @@ dnl getaddrinfo, getnameinfo and gai_strerror check dnl -lnsl and -lsocket are needed on Solaris; dnl we purposedly make the test fail on Windows LIBS_save="${LIBS}" -AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.]) -AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}]) - -dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro -dnl are -LIBS="${LIBS_gai}" -AC_CHECK_FUNCS([getnameinfo gai_strerror]) +AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}]) LIBS="${LIBS_save}" -AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if defines `struct addrinfo'.]) -AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],, -[#include -#if defined( WIN32 ) || defined( UNDER_CE ) -# if defined(UNDER_CE) && defined(sockaddr_storage) -# undef sockaddr_storage -# endif -# include -# include -#else -# include -#endif]) - dnl Check for va_copy AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, AC_TRY_LINK( @@ -707,33 +640,27 @@ AC_CHECK_FUNCS(inet_aton,,[ ]) ]) -dnl Check for getopt (always use builtin one on win32) -if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then -need_getopt=: -else -need_getopt=false -AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], -[ # FreeBSD has a gnugetopt library for this: - AC_CHECK_LIB([gnugetopt],[getopt_long], - [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) - VLC_ADD_LIBS([libvlccore],[-lgnugetopt])], - [need_getopt=:])]) -fi -AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) +dnl FreeBSD has a gnugetopt library for this: +GNUGETOPT_LIBS="" +AC_CHECK_FUNC(getopt_long,, [ + AC_CHECK_LIB([gnugetopt],[getopt_long], [ + GNUGETOPT_LIBS="-lgnugetopt" + ]) +]) +AC_SUBST(GNUGETOPT_LIBS) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_TYPE_SIGNAL 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 swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm]) + 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]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-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([hotkeys mosaic swscale_omap],[-lm]) + VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm]) ]) AC_CHECK_LIB(m,exp,[ VLC_ADD_LIBS([gaussianblur],[-lm]) @@ -796,22 +723,30 @@ if test "${ac_cv_have_plugins}" = "no"; then 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_CHECK_FUNC(dlopen, [ + ac_cv_my_have_dlopen=yes + ], [ + AC_CHECK_LIB(dl, dlopen, [ ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]), - AC_CHECK_LIB(svld, dlopen, + LIBDL="-ldl" + ], [ + AC_CHECK_LIB(svld, dlopen, [ ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlccore],[-lsvld])))) + LIBDL="-lsvld" + ]) + ]) + ]) 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 +AC_SUBST(LIBDL) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then dnl Check for pthreads - borrowed from XMMS @@ -830,7 +765,7 @@ if test "${THREAD_LIB}" = "error"; then THREAD_LIB="" fi -VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}]) +VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}]) AC_CHECK_LIB(rt, clock_nanosleep, [ VLC_ADD_LIBS([libvlccore],[-lrt]) @@ -863,21 +798,23 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ dnl Check for headers AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) -AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.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) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -AC_HEADER_TIME - dnl LP64 adn 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,, [ @@ -892,11 +829,6 @@ 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) @@ -933,9 +865,11 @@ AC_ARG_VAR(PKG_CONFIG_PATH, PKG_PROG_PKG_CONFIG() dnl On some OS we need static linking -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 @@ -959,12 +893,24 @@ then VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS]) VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS]) VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS]) - VLC_ADD_PLUGIN([unzip]) - VLC_ADD_PLUGIN([zip]) + VLC_ADD_PLUGIN([unzip zip]) fi 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" -o "${SYS}" = "mingwce"], [ + enable_non_utf8="no" + ]) +]) +AS_IF([test "${enable_non_utf8}" != "no"], [ + AC_DEFINE([ASSUME_UTF8], [1], + [Define to 1 if the operating system uses UTF-8 internally]) +]) + + dnl Check for dbus AC_ARG_ENABLE(dbus, [ --enable-dbus Linux D-BUS message bus system (default enabled)]) @@ -1004,9 +950,6 @@ fi ;; esac -dnl build the qte plugin ? -NEED_QTE_MAIN=no - dnl Check for ntohl, etc. AC_CACHE_CHECK([for ntohl in sys/param.h], [ac_cv_c_ntohl_sys_param_h], @@ -1022,16 +965,6 @@ CFLAGS="${CFLAGS_save}" 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_ARG_ENABLE(warnings-as-error, - AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default in debug)]),, [enable_warnings_as_error="$enable_debug"]) -AS_IF([test "${enable_warnings_as_error}" = "yes"], [ - RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \ - missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \ - bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \ - overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored]) -]) -AC_SUBST(CFLAGS_WERROR) - dnl Check for various optimization flags AC_CACHE_CHECK([if \$CC accepts -Os], [ac_cv_c_os], @@ -1191,140 +1124,25 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -dnl Video filters: -VLC_ADD_PLUGIN([deinterlace]) -VLC_ADD_PLUGIN([yuvp]) -VLC_ADD_PLUGIN([invert]) -VLC_ADD_PLUGIN([mirror]) -VLC_ADD_PLUGIN([adjust]) -VLC_ADD_PLUGIN([transform]) -VLC_ADD_PLUGIN([wave]) -VLC_ADD_PLUGIN([ripple]) -VLC_ADD_PLUGIN([psychedelic]) -VLC_ADD_PLUGIN([gradient]) -VLC_ADD_PLUGIN([motionblur]) -VLC_ADD_PLUGIN([rv32]) -VLC_ADD_PLUGIN([rotate]) -VLC_ADD_PLUGIN([noise]) -VLC_ADD_PLUGIN([grain]) -VLC_ADD_PLUGIN([extract]) -VLC_ADD_PLUGIN([sharpen]) -VLC_ADD_PLUGIN([croppadd]) -VLC_ADD_PLUGIN([canvas]) -VLC_ADD_PLUGIN([blendbench]) -VLC_ADD_PLUGIN([blend]) -VLC_ADD_PLUGIN([scale]) -VLC_ADD_PLUGIN([vmem]) -VLC_ADD_PLUGIN([logo]) -VLC_ADD_PLUGIN([magnify]) -VLC_ADD_PLUGIN([puzzle]) -VLC_ADD_PLUGIN([colorthres]) -VLC_ADD_PLUGIN([scene]) -VLC_ADD_PLUGIN([yuv]) - -ALIASES="${ALIASES} cvlc" - -dnl -dnl default modules that need g++ -dnl -AC_LANG_PUSH(C++) -VLC_ADD_PLUGIN([spatializer]) -AC_LANG_POP(C++) - -if test "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([gestures]) - VLC_ADD_PLUGIN([rc]) - VLC_ADD_PLUGIN([hotkeys]) - VLC_ADD_PLUGIN([showintf]) - VLC_ADD_PLUGIN([marq]) - VLC_ADD_PLUGIN([podcast]) - VLC_ADD_PLUGIN([shout]) - VLC_ADD_PLUGIN([sap]) - VLC_ADD_PLUGIN([mediadirs]) - VLC_ADD_PLUGIN([fake]) - VLC_ADD_PLUGIN([folder]) - VLC_ADD_PLUGIN([rss]) - VLC_ADD_PLUGIN([mosaic]) - VLC_ADD_PLUGIN([wall]) - VLC_ADD_PLUGIN([motiondetect]) - VLC_ADD_PLUGIN([clone]) - VLC_ADD_PLUGIN([crop]) - VLC_ADD_PLUGIN([erase]) - VLC_ADD_PLUGIN([bluescreen]) - VLC_ADD_PLUGIN([alphamask]) - VLC_ADD_PLUGIN([gaussianblur]) - VLC_ADD_PLUGIN([i420_yuy2]) - VLC_ADD_PLUGIN([i422_yuy2]) - VLC_ADD_PLUGIN([i420_ymga]) - VLC_ADD_PLUGIN([i422_i420]) - VLC_ADD_PLUGIN([yuy2_i422]) - VLC_ADD_PLUGIN([yuy2_i420]) - VLC_ADD_PLUGIN([chain]) - VLC_ADD_PLUGIN([aout_file]) - VLC_ADD_PLUGIN([linear_resampler]) - VLC_ADD_PLUGIN([bandlimited_resampler]) - VLC_ADD_PLUGIN([float32_mixer]) - VLC_ADD_PLUGIN([spdif_mixer]) - VLC_ADD_PLUGIN([simple_channel_mixer]) - VLC_ADD_PLUGIN([dolby_surround_decoder]) - VLC_ADD_PLUGIN([headphone_channel_mixer]) - VLC_ADD_PLUGIN([normvol]) - VLC_ADD_PLUGIN([equalizer]) - VLC_ADD_PLUGIN([param_eq]) - VLC_ADD_PLUGIN([scaletempo]) - VLC_ADD_PLUGIN([a52tospdif]) - VLC_ADD_PLUGIN([dtstospdif]) - ALIASES="${ALIASES} rvlc" -fi - -if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([chain]) - VLC_ADD_PLUGIN([aout_file]) - VLC_ADD_PLUGIN([linear_resampler]) - VLC_ADD_PLUGIN([bandlimited_resampler]) - VLC_ADD_PLUGIN([float32_mixer]) - VLC_ADD_PLUGIN([spdif_mixer]) - VLC_ADD_PLUGIN([simple_channel_mixer]) - VLC_ADD_PLUGIN([headphone_channel_mixer]) - VLC_ADD_PLUGIN([normvol]) - VLC_ADD_PLUGIN([a52tospdif]) - VLC_ADD_PLUGIN([dtstospdif]) - VLC_ADD_PLUGIN([i420_yuy2]) - VLC_ADD_PLUGIN([i422_yuy2]) - VLC_ADD_PLUGIN([i420_ymga]) - VLC_ADD_PLUGIN([i422_i420]) - VLC_ADD_PLUGIN([yuy2_i422]) - VLC_ADD_PLUGIN([yuy2_i420]) -fi +ALIASES="${ALIASES} cvlc rvlc" dnl dnl Some plugins aren't useful on some platforms dnl if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([screensaver]) - VLC_ADD_PLUGIN([motion]) VLC_ADD_PLUGIN([dynamicoverlay]) - VLC_ADD_PLUGIN([signals]) elif test "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([ntservice]) - VLC_ADD_PLUGIN([access_smb]) - VLC_ADD_PLUGIN([dmo]) - VLC_ADD_PLUGIN([msn]) + VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) - VLC_ADD_PLUGIN([globalhotkeys]) -else - VLC_ADD_PLUGIN([win32text]) fi if test "${SYS}" = "darwin"; then - VLC_ADD_PLUGIN([quartztext]) VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices]) fi dnl dnl Accelerated modules dnl -AC_ARG_WITH(,[]) -AC_ARG_WITH(,[Optimization options:]) +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 @@ -1340,6 +1158,8 @@ AC_ARG_ENABLE(mmx, ;; esac ]) +have_mmx="no" +have_mmxext="no" AS_IF([test "${enable_mmx}" != "no"], [ ARCH="${ARCH} mmx" @@ -1363,7 +1183,7 @@ 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.]) - VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx]) + MMX_CFLAGS="-mmmx" ]) AC_CACHE_CHECK([if $CC groks MMX inline assembly], @@ -1374,11 +1194,7 @@ AS_IF([test "${enable_mmx}" != "no"], [ AS_IF([test "${ac_cv_mmx_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.]) - VLC_ADD_PLUGIN([memcpymmx]) - VLC_ADD_PLUGIN([i420_rgb_mmx]) - VLC_ADD_PLUGIN([i420_yuy2_mmx]) - VLC_ADD_PLUGIN([i422_yuy2_mmx]) - VLC_ADD_PLUGIN([i420_ymga_mmx]) + have_mmx="yes" ]) AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly], @@ -1389,16 +1205,19 @@ AS_IF([test "${enable_mmx}" != "no"], [ AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.]) - VLC_ADD_PLUGIN([memcpymmxext]) + have_mmxext="yes" ]) ]) +AC_SUBST(MMX_CFLAGS) +AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"]) +AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"]) 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)] -,, [ +[ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)], +, [ case "${host_cpu}" in i686|x86_64) enable_sse=yes @@ -1408,6 +1227,7 @@ AC_ARG_ENABLE(sse, ;; esac ]) +have_sse2="no" AS_IF([test "${enable_sse}" != "no"], [ ARCH="${ARCH} sse sse2" @@ -1431,7 +1251,7 @@ 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.]) - VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2]) + SSE2_CFLAGS="-msse2" ]) AC_CACHE_CHECK([if $CC groks SSE inline assembly], @@ -1452,48 +1272,62 @@ AS_IF([test "${enable_sse}" != "no"], [ AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [ AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.]) - VLC_ADD_PLUGIN([i420_rgb_sse2]) - VLC_ADD_PLUGIN([i420_yuy2_sse2]) - VLC_ADD_PLUGIN([i422_yuy2_sse2]) + have_sse2="yes" ]) # SSE3 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], - [CFLAGS="${CFLAGS_save} -O -msse3" + [CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no) - ARCH="${ARCH} sse3" - ]) + ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)]) AS_IF([test "${ac_cv_sse3_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ]) # SSSE3 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], - [CFLAGS="${CFLAGS_save} -O -mssse3" + [CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));], - ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no) - ARCH="${ARCH} ssse3" - ]) - + ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)]) AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ]) - # SSE4 - AC_CACHE_CHECK([if $CC groks SSE4 inline assembly], - [ac_cv_sse4_inline], - [CFLAGS="${CFLAGS_save} -O -msse4" + # SSE4.1 + AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly], + [ac_cv_sse4_1_inline], + [CFLAGS="${CFLAGS_save}" AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));], - ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no) - ARCH="${ARCH} sse4" - ]) - AS_IF([test "${ac_cv_sse4_inline}" != "no"], [ - AC_DEFINE(CAN_COMPILE_SSE4, 1, - [Define to 1 if SSE4 inline assembly is available.]) ]) + ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)]) + AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_SSE4_1, 1, + [Define to 1 if SSE4_1 inline assembly is available.]) ]) + + # SSE4.2 + AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly], + [ac_cv_sse4_2_inline], + [CFLAGS="${CFLAGS_save}" + AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));], + ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)]) + AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [ + AC_DEFINE(CAN_COMPILE_SSE4_2, 1, + [Define to 1 if SSE4_2 inline assembly is available.]) ]) + + # SSE4A + AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], + [ac_cv_sse4a_inline], + [CFLAGS="${CFLAGS_save}" + AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));], + ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)]) + AS_IF([test "${ac_cv_sse4a_inline}" != "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" AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [CFLAGS="${CFLAGS_save}" @@ -1502,32 +1336,44 @@ AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [ AC_DEFINE(CAN_COMPILE_3DNOW, 1, [Define to 1 if 3D Now! inline assembly is available.]) - VLC_ADD_PLUGIN([memcpy3dn]) + have_3dnow="yes" ]) +AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"]) AC_ARG_ENABLE(neon, -[ --disable-neon disable NEON optimizations (default auto)],, [ +[ --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="yes" + ac_cv_neon_inline="-mfpu=neon" ], [ ac_cv_neon_inline="no" ]) + CFLAGS="${CFLAGS_save}" ]) + ARM_NEON_CFLAGS="$ac_cv_neon_inline" +], [ + ac_cv_neon_inline="no" ]) -AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"]) +AC_SUBST(ARM_NEON_CFLAGS) +AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"]) + AC_ARG_ENABLE(altivec, [ --disable-altivec disable AltiVec optimizations (default auto)],, [ AS_IF([test "${host_cpu}" = "powerpc"], [enable_altivec=yes], [enable_altivec=no]) ]) +have_altivec="no" AS_IF([test "${enable_altivec}" = "yes"], [ ARCH="${ARCH} altivec"; AC_CACHE_CHECK([if $CC groks AltiVec inline assembly], @@ -1550,8 +1396,7 @@ AS_IF([test "${enable_altivec}" = "yes"], [ VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}]) ]) - VLC_ADD_PLUGIN([memcpyaltivec]) - VLC_ADD_PLUGIN([i420_yuy2_altivec]) + have_altivec="yes" ]) dnl The AltiVec C extensions @@ -1613,8 +1458,7 @@ dnl - Others: test should fail 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}]) - VLC_ADD_PLUGIN([memcpyaltivec]) - VLC_ADD_PLUGIN([i420_yuy2_altivec]) + have_altivec="yes" ]) AC_CACHE_CHECK([if linker needs -framework vecLib], @@ -1627,6 +1471,7 @@ dnl - Others: test should fail VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) ]) ]) +AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"]) dnl dnl Special arch tuning @@ -1703,13 +1548,13 @@ AS_IF([test "x${enable_debug}" = "xno"], [ ]) dnl -dnl Allow runing as root (usefull for people runing on embedded platforms) +dnl Allow running as root (useful for people running on embedded platforms) dnl AC_ARG_ENABLE(run-as-root, -[ --enable-run-as-root allow runing VLC as root (default disabled)]) +[ --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 runing VLC as root (uid 0).]) + [Define to 1 to allow running VLC as root (uid 0).]) ]) dnl @@ -1728,13 +1573,6 @@ AS_IF([test "${enable_coverage}" != "no"], [ LDFLAGS_save="${LDFLAGS}" ]) -dnl -dnl Enable release-specific flags -dnl -AC_ARG_ENABLE(release, -[ --enable-release activate extra optimizations (default disabled)]) -test "${enable_release}" != "yes" && enable_release="no" - dnl dnl Stream output dnl @@ -1769,9 +1607,6 @@ then AC_CHECK_LIB( lua , luaL_newstate, [LUA_LIBS="-llua"], [ have_lua=no - AS_IF([test "x${enable_lua}" = "xyes"], - [AC_MSG_ERROR([lua >= 5.1 not found!])], - [AC_MSG_WARN([lua >= 5.1 not found!])]) ], [-lm]) ) ) @@ -1780,7 +1615,14 @@ then if test "x${have_lua}" = "xyes" ; then VLC_ADD_LIBS([lua],[$LUA_LIBS]) VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS]) + else + AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.]) fi + AC_ARG_VAR([LUAC], [LUA byte compiler]) + AC_PATH_PROGS(LUAC,[${LUAC} luac], [false]) + AS_IF([test "${LUAC}" = "false"], [ + AC_MSG_ERROR([Could not find the LUA byte compiler.]) + ]) fi AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"]) @@ -1791,7 +1633,7 @@ AC_ARG_ENABLE(httpd, [ --enable-httpd HTTP daemon (default enabled)]) if test "${enable_httpd}" != "no" then - VLC_ADD_PLUGIN([http]) + 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"]) @@ -1825,7 +1667,6 @@ AS_IF([test "${enable_vlm}" != "no"], [ AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.]) ]) AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support]) - VLC_ADD_PLUGIN([telnet]) ]) AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) @@ -1840,6 +1681,7 @@ AS_IF([test "${enable_growl}" != "no"], [ AC_CHECK_HEADERS(Growl/GrowlDefines.h, [ VLC_ADD_PLUGIN([growl]) VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit]) + VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] ) ]) ] ) @@ -1849,16 +1691,6 @@ dnl Libnotify notification plugin dnl PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto]) -dnl -dnl Audioscrobbler plugin -dnl - -AC_ARG_ENABLE(audioscrobbler, - [ --disable-audioscrobbler Last.fm submission plugin (default enabled)]) -AS_IF([test "${enable_audioscrobbler}" != "no"], [ - VLC_ADD_PLUGIN([audioscrobbler]) - ]) - dnl dnl Taglibplugin dnl @@ -1868,7 +1700,11 @@ AC_ARG_ENABLE(taglib, PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [ VLC_ADD_PLUGIN([taglib]) VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) - VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], + 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)]) ]) @@ -1876,38 +1712,27 @@ dnl dnl Input plugins dnl -AC_ARG_WITH(,[Input plugins:]) +EXTEND_HELP_STRING([Input plugins:]) dnl live555 input dnl -if test "${enable_livedotcom}" -then - AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.) -fi -if test "${enable_livedotcom}" = "no" -then - enable_live555="no" -fi - AC_ARG_ENABLE(live555, [ --enable-live555 live555 RTSP input plugin (default enabled)]) if test "${enable_live555}" != "no"; then AC_ARG_WITH(live555-tree, - [ --with-live555-tree=PATH live.com tree for static linking]) + [ --with-live555-tree=PATH live.com tree for static linking]) dnl dnl test for --with-live555-tree dnl - if test "${with_livedotcom_tree}" - then - AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.) - with_live555_tree="${with_livedotcom_tree}" - fi - if test -z "${with_live555_tree}" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) CPPFLAGS_save="${CPPFLAGS}" - CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + if test -z "${CONTRIB_DIR}"; then + CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + else + CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" + fi if test "${SYS}" = "solaris"; then CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" fi @@ -1934,6 +1759,9 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) 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. @@ -1987,10 +1815,10 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) VLC_ADD_LIBS([live555],[-lws2_32]) fi - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia]) + VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment]) VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment]) VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock]) - VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment]) + VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia]) VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include]) VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include]) @@ -2013,98 +1841,29 @@ dnl dnl - special access module for dc1394 input dnl - dv module: digital video module check for libraw1394 dnl -PKG_ENABLE_MODULES_VLC([dc1394], [], [libraw1394 >= 2.0.1 libdc1394 >= 1.0.0], [dc1394 access module], [auto]) -PKG_ENABLE_MODULES_VLC([dv], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto]) +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]) dnl dnl dvdread module: check for libdvdread dnl -AC_ARG_ENABLE(dvdread, -[ --enable-dvdread dvdread input module (default disabled)]) -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 Temporary hack (yeah, sure ;) - if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then - VLC_ADD_LIBS([dvdread],[-ldvdcss]) - fi - - 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 ${LIBS_dvdcss}]) - ],[ - AC_CHECK_HEADERS(libdvdread/dvd_reader.h, - [ VLC_ADD_PLUGIN([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}]) - ],[ - 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 ${LIBS_dvdcss}]) - 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 ${LIBS_dvdcss}]) - 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 -fi +dnl prepend -ldvdcss on OS that need it +AS_CASE(["${SYS}"], [mingw32|darwin|beos], [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)]) if test "${enable_dvdnav}" != "no" then - dnl Same hack than dvdread - if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then - VLC_ADD_LIBS([dvdnav],[-ldvdcss]) - fi + dnl prepend -ldvdcss on OS that need it + AS_CASE(["${SYS}"], [mingw32|darwin|beos], [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)], + [ --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}" @@ -2115,6 +1874,12 @@ then VLC_ADD_PLUGIN([dvdnav]) VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`]) VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --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}]) + 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}]) fi fi @@ -2154,49 +1919,15 @@ then fi +dnl +dnl Blu-ray Disc Support with libbluray +dnl +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray], (libbluray for Blu-ray disc support ) ) + dnl dnl OpenCV wrapper and example filters dnl -AC_ARG_ENABLE(opencv, - [ --enable-opencv OpenCV (computer vision) filter (default disabled)]) -if test "${enable_opencv}" = "yes" -a "${CXX}" != ""; -then - AC_ARG_WITH(opencv-tree, - [ --with-opencv-tree=PATH opencv tree for linking]) - if test "${SYS}" = "mingw32" - then - test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree]) - AC_MSG_CHECKING(for opencv in ${with_opencv_tree}) - if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \ - -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h - then - AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([opencv_wrapper]) - VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui]) - VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui]) - AC_LANG_PUSH(C++) - VLC_ADD_PLUGIN([opencv_example]) - VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui]) - VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui]) - AC_LANG_POP(C++) - else - dnl No opencv could be found, sorry - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}]) - fi - else - PKG_CHECK_MODULES(OPENCV, opencv, - [ - VLC_ADD_PLUGIN([opencv_example]) - VLC_ADD_PLUGIN([opencv_wrapper]) - VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}]) - VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}]) - VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}]) - ], - [AC_MSG_ERROR([libopencv not found!])] - ) - fi -fi +PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example], [opencv], (OpenCV (computer vision) filter), [off]) dnl @@ -2235,9 +1966,9 @@ have_dvbpsi=no if test "${enable_dvbpsi}" != "no" then AC_ARG_WITH(dvbpsi, - [ --with-dvbpsi=PATH libdvbpsi headers and libraries]) + [ --with-dvbpsi=PATH libdvbpsi headers and libraries]) AC_ARG_WITH(dvbpsi, - [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking]) + [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking]) case "${with_dvbpsi}" in ""|yes) if test -z "${with_dvbpsi_tree}" @@ -2303,7 +2034,8 @@ then AC_CHECK_HEADERS([dvbpsi/dr.h],[ VLC_ADD_PLUGIN([ts]) if test "${enable_sout}" != "no"; then - VLC_ADD_PLUGIN([mux_ts]) + 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]) @@ -2311,7 +2043,7 @@ then ],[ 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.1]) + 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 ) @@ -2332,27 +2064,6 @@ then 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 Video4Linux2 plugin dnl @@ -2361,14 +2072,14 @@ AC_ARG_ENABLE(v4l2, if test "${enable_v4l2}" != "no" then AC_ARG_WITH(v4l2, - [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[]) + [ --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]) fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}" - AC_CHECK_HEADERS(linux/videodev2.h, [ + AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [ VLC_ADD_PLUGIN([v4l2]) ],[]) CPPFLAGS="${CPPFLAGS_save}" @@ -2384,7 +2095,7 @@ 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 libv4l is available)], + AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)], AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found]) ) fi @@ -2423,124 +2134,67 @@ then fi dnl -dnl gnomeVFS access module +dnl special access module for BlackMagic SDI cards dnl -PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto]) - - -dnl Need to test libcdio and libvcdinfo for a number of things. Do it now. -AC_ARG_ENABLE(libcdio, - [ --enable-libcdio CD input and control library support (default enabled)]) - -AC_ARG_ENABLE(vcdinfo, - [ --enable-libvcdinfo VCD information library support (default enabled)]) - -have_libcdio=no -have_libvcdinfo=no -if test "${enable_libcdio}" != "no" +AC_ARG_ENABLE(sdi, + [ --enable-sdi BlackMagic SDI access module (default disabled)]) +if test "${enable_sdi}" = "yes" then - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2, - have_libcdio=yes - AC_DEFINE(HAVE_LIBCDIO, 1, - [Define if you have libcdio 0.78.2 or greater installed]), - [AC_MSG_WARN(CD Reading and information library not found)]) - - if test "${enable_vcdinfo}" != "no" + AC_ARG_WITH(sdi_sdk, + [ --with-sdi-sdk=DIR Location of BlackMagic SDI SDK],[],[]) + if test "${with_sdi_sdk}" != "no" -a -n "${with_sdi_sdk}" then - PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22, - [have_libvcdinfo=yes], - [AC_MSG_WARN(VCD information library not found)]) + VLC_ADD_CPPFLAGS([sdi],[-I${with_sdi_sdk}/include]) fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_sdi}" + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [ + VLC_ADD_PLUGIN([sdi]) + ],[AC_MSG_WARN(BlackMagic SDI include files not found, sdi disabled)]) + AC_LANG_POP(C++) + CPPFLAGS="${CPPFLAGS_save}" fi + dnl -dnl VCDX and CDDAX modules +dnl gnomeVFS access module dnl -AC_ARG_ENABLE(cddax, - AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia - via libcdio (default disabled)])) - -AC_ARG_ENABLE(libcddb, - [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)]) - -if test "${enable_cddax}" = "yes" -then - if test "$have_libcdio" = "yes" - then - AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio]) - VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS]) - VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS]) - VLC_ADD_PLUGIN([cddax]) - PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [ - VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])], - AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found])) - else - AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled]) - HAVE_CDDAX=no - fi - - if test "$enable_libcddb" != "no"; then - 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([cddax],[$LIBCDDB_LIBS]) - VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS]) - ], - [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) - HAVE_LIBCDDB=no]) - fi - -fi +PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto]) +dnl +dnl VCDX modules +dnl AC_ARG_ENABLE(vcdx, [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)]) if test "${enable_vcdx}" = "yes" then - if test "${have_libvcdinfo}" = "yes" - then - VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) - else - AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled]) - HAVE_VCDX=no - fi - - PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72, - [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])], - [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found]) - HAVE_VCDX=no]) - - if test "$have_libvcdinfo" = "yes" - then - AC_DEFINE(HAVE_VCDX, 1, - [Define for the VCD plugin using libcdio/libvcdinfo]) - VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) - VLC_ADD_PLUGIN([vcdx]) - else - AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found]) - HAVE_VCDX=no - fi + 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]) fi dnl dnl Built-in CD-DA and VCD module dnl -AC_ARG_ENABLE(cdda, - [ --enable-cdda audio CD via built-in VCD (default enabled)]) - AC_ARG_ENABLE(vcd, - [ --enable-vcd built-in VCD (default enabled)]) + [ --enable-vcd built-in VCD and CD-DA (default enabled)]) + +AC_ARG_ENABLE(libcddb, + [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)]) if test "${enable_vcd}" != "no" then AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h) AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[ AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([vcd]) - VLC_ADD_PLUGIN([cdda]) + VLC_ADD_PLUGIN([vcd cdda]) ],[ AC_MSG_RESULT(no) ]) @@ -2548,8 +2202,7 @@ then AC_MSG_CHECKING(for scsireq in sys/scsiio.h) AC_EGREP_HEADER(scsireq,sys/scsiio.h,[ AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([vcd]) - VLC_ADD_PLUGIN([cdda]) + VLC_ADD_PLUGIN([vcd cdda]) AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support) ],[ AC_MSG_RESULT(no) @@ -2558,8 +2211,7 @@ then AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h) AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[ AC_MSG_RESULT(yes) - VLC_ADD_PLUGIN([vcd]) - VLC_ADD_PLUGIN([cdda]) + VLC_ADD_PLUGIN([vcd cdda]) AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support) ],[ AC_MSG_RESULT(no) @@ -2567,16 +2219,14 @@ then if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" then - VLC_ADD_PLUGIN([vcd]) - VLC_ADD_PLUGIN([cdda]) + VLC_ADD_PLUGIN([vcd cdda]) fi if test "${SYS}" = "darwin" then - VLC_ADD_PLUGIN([vcd]) - VLC_ADD_PLUGIN([cdda]) - VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LIBS([vcdx cddax cdda],[-liconv]) + VLC_ADD_PLUGIN([vcd cdda]) + VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation]) + VLC_ADD_LIBS([vcdx cdda],[-liconv]) fi if test "$enable_libcddb" != "no"; then @@ -2601,7 +2251,7 @@ 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],[],[]) + [ --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]) @@ -2642,7 +2292,7 @@ if test "${enable_screen}" != "no"; then fi dnl -dnl ipv6 plugin - not for QNX yet +dnl ipv6 plugin dnl have_ipv6=no AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ @@ -2662,12 +2312,12 @@ dnl ogg demux plugin 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 demux support], [auto]) + 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 @@ -2728,39 +2378,17 @@ dnl dnl modplug demux plugin dnl AC_ARG_ENABLE(mod, - [ --enable-mod Mod demux support (default enabled)]) -if test "${enable_mod}" != "no" -then - AC_ARG_WITH(mod-tree, - [ --with-mod-tree=PATH mod tree for static linking]) - if test -n "${with_mod_tree}" - then - AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree}) - real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`" - if test -z "${real_mod_tree}" - then - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_mod_tree}]) - fi - if test -f "${real_mod_tree}/src/.libs/libmodplug.a" - then - dnl Use a custom mod - AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a) - VLC_ADD_PLUGIN([mod]) - VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++]) - VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include]) - else - dnl The given mod wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}]) - fi - else - AC_CHECK_HEADERS(libmodplug/modplug.h, [ - VLC_ADD_PLUGIN([mod]) - VLC_ADD_CXXFLAGS([mod],[]) - VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])]) - fi + [ --enable-mod Mod demux support (default auto)]) +if test "${enable_mod}" != "no" ; then + PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [ + VLC_ADD_PLUGIN([mod]) + 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!)]) + ]) fi dnl @@ -2787,7 +2415,7 @@ 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]) + [ --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}) @@ -2820,7 +2448,7 @@ dnl dnl Codec plugins dnl -AC_ARG_WITH(,[Codec plugins:]) +EXTEND_HELP_STRING([Codec plugins:]) dnl dnl wmafixed plugin @@ -2842,6 +2470,17 @@ then VLC_ADD_PLUGIN([shine]) fi +dnl +dnl openmax il codec plugin +dnl +AC_ARG_ENABLE(omxil, + [ --enable-omxil openmax il codec module (default disabled)]) +if test "${enable_omxil}" = "yes" +then + VLC_ADD_PLUGIN([omxil]) + VLC_ADD_LIBS([omxil], [$LIBDL]) +fi + dnl dnl mad plugin dnl @@ -2850,7 +2489,7 @@ AC_ARG_ENABLE(mad, if test "${enable_mad}" != "no" then AC_ARG_WITH(mad, - [ --with-mad=PATH path to libmad],[],[]) + [ --with-mad=PATH path to libmad],[],[]) if test "${with_mad}" != "no" -a -n "${with_mad}" then VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include]) @@ -2858,7 +2497,7 @@ then fi AC_ARG_WITH(mad-tree, - [ --with-mad-tree=PATH mad tree for static linking],[],[]) + [ --with-mad-tree=PATH mad tree for static linking],[],[]) if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}" then real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`" @@ -2900,40 +2539,27 @@ then fi fi -dnl -dnl libid3tag support (FIXME!!! doesn't work with new input) -dnl -AC_ARG_ENABLE( id3tag, -[ --disable-id3tag id3tag metadata reader plugin (default disabled)]) -AS_IF([test "${enable_id3tag}" = "yes"], [ - AC_CHECK_HEADERS(id3tag.h, [ - AS_IF([test "${have_zlib}" = "yes"],[ - VLC_ADD_LIBS([id3tag],[-lid3tag -lz]) - VLC_ADD_PLUGIN([id3tag]) - ]) - ]) -]) AC_ARG_ENABLE(merge-ffmpeg, -[ --enable-merged-ffmpeg merge FFmpeg-based plugins (default disabled)],, [ +[ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [ enable_merge_ffmpeg="no" ]) 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 - -if test "${with_ffmpeg_tree}" -then - AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.]) -fi - AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) -if test "${enable_avcodec}" != "no" -then - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil], +AS_IF([test "${enable_avcodec}" != "no"], [ + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2942,34 +2568,89 @@ then AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/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" ],[ AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.]) ]) -fi +], [ + have_avcodec="no" +]) dnl dnl libva needs avcodec dnl AC_ARG_ENABLE(libva, - [ --enable-libva libva VAAPI support (default disabled)]) -AS_IF([test "${enable_libva}" = "yes"], [ + [ --enable-libva libva VAAPI support (default auto)]) + +AS_IF([test "${enable_libva}" != "no"], [ AS_IF([test "x${have_avcodec}" = "xyes"], [ PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) - AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) + 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 ],[ - AC_MSG_ERROR([Could not find libva.]) - ]) + AS_IF([test "${enable_libva}" == "yes"], + [AC_MSG_ERROR([Could not find required libva.])], + [AC_MSG_WARN([libva not found ])]) + ]) ],[ - AC_MSG_ERROR([libva VAAPI support depends on libavcodec.]) + AS_IF([test "x${enable_libva}" != "x"], [ + AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.]) + ]) ]) ]) +dnl +dnl dxva2 needs avcodec +dnl +AC_ARG_ENABLE(dxva2, + [ --enable-dxva2 DxVA2 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(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])], + [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])]) + ]) + ],[ + AS_IF([test "${enable_dxva2}" == "yes"], + [AC_MSG_ERROR([Could not find required dxva2api.h])], + [AC_MSG_WARN([dxva2api.h not found])]) + ]) + ],[ + AS_IF([test "x${enable_dxva2}" != "x"], [ + AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.]) + ]) + ]) + fi +]) + + dnl dnl stream_out switcher needs libavcodec dnl @@ -2990,10 +2671,12 @@ dnl avformat demuxer/muxer plugin dnl AC_ARG_ENABLE(avformat, -[ --enable-avformat libavformat containers (default enabled)]) +[ --enable-avformat libavformat containers (default enabled)],, [ + enable_avformat="${have_avcodec}" +]) if test "${enable_avformat}" != "no" then - PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil], + PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" @@ -3001,9 +2684,12 @@ then AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h) AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h) AS_IF([test "$enable_merge_ffmpeg" = "no"], [ - VLC_ADD_PLUGIN([avformat]) - VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS]) + 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]) @@ -3032,6 +2718,9 @@ then 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.]) @@ -3069,7 +2758,7 @@ AC_ARG_ENABLE(faad, if test "${enable_faad}" = "yes" then AC_ARG_WITH(faad-tree, - [ --with-faad-tree=PATH faad tree for static linking]) + [ --with-faad-tree=PATH faad tree for static linking]) if test -n "${with_faad_tree}" then AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree}) @@ -3112,7 +2801,7 @@ fi dnl dnl twolame encoder plugin dnl -PKG_ENABLE_MODULES_VLC([twolame], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC]) +PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC]) dnl dnl QuickTime plugin @@ -3136,7 +2825,6 @@ dnl AC_ARG_ENABLE(real, [ --enable-real Real media module (default disabled)]) if test "${enable_real}" = "yes"; then - VLC_ADD_PLUGIN([realaudio]) VLC_ADD_PLUGIN([realvideo]) fi @@ -3149,15 +2837,6 @@ if test "${enable_realrtsp}" = "yes"; then VLC_ADD_PLUGIN([access_realrtsp]) fi -AC_ARG_ENABLE(libsysfs, - [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)]) - -AS_IF([test "${enable_libsysfs}" != "no"],[ - AC_CHECK_HEADERS(sysfs/libsysfs.h, [ - VLC_ADD_LIBS([mp4 mkv],[-lsysfs]) - ] ) -]) - dnl dnl skins2 module dnl @@ -3178,9 +2857,9 @@ AC_ARG_ENABLE(a52, if test "${enable_a52}" != "no" then AC_ARG_WITH(a52, - [ --with-a52=PATH a52 headers and libraries]) + [ --with-a52=PATH a52 headers and libraries]) AC_ARG_WITH(a52-tree, - [ --with-a52-tree=PATH a52dec tree for static linking ],[],[]) + [ --with-a52-tree=PATH a52dec tree for static linking ],[],[]) if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}" then real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`" @@ -3243,16 +2922,13 @@ then fi AC_ARG_WITH(a52-fixed, - [ --with-a52-fixed specify if liba52 has been compiled with fixed point support], + [ --with-a52-fixed specify if liba52 has been compiled with fixed point support], [ VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ]) dnl dnl DTS Coherent Acoustics decoder plugin dnl -AS_IF([test "x${enable_dts}" != "x"], [ - AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.]) -]) PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto]) dnl @@ -3288,34 +2964,6 @@ dnl Speex plugin dnl PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto]) -dnl -dnl tarkin decoder plugin -dnl -AC_ARG_ENABLE(tarkin, -[ --enable-tarkin experimental tarkin codec (default disabled)]) -if test "${enable_tarkin}" = "yes" -then - AC_ARG_WITH(tarkin-tree, - [ --with-tarkin-tree=PATH tarkin tree for static linking]) - if test -n "${with_tarkin_tree}" - then - AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree}) - real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`" - if test -f "${real_tarkin_tree}/tarkin.o" - then - VLC_ADD_PLUGIN([tarkin]) - VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}]) - VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg]) - AC_MSG_RESULT(yes) - else - dnl The given tarkin tree wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o, - make sure you compiled tarkin in ${with_tarkin_tree}]) - fi - fi -fi - dnl dnl theora decoder plugin dnl @@ -3341,9 +2989,7 @@ AC_CHECK_HEADERS(png.h, [ LDFLAGS="${LDFLAGS_save} -lz" AC_CHECK_LIB(png, png_set_rows, [ VLC_ADD_LIBS([png],[-lpng -lz]) - VLC_ADD_PLUGIN([png]) - VLC_ADD_PLUGIN([osdmenu]) - VLC_ADD_PLUGIN([osd_parser])], + VLC_ADD_PLUGIN([png osdmenu osd_parser])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" ]) @@ -3357,7 +3003,7 @@ AC_ARG_ENABLE(x264, [ --enable-x264 H264 encoding support with libx264 (default enabled)]) if test "${enable_x264}" != "no"; then AC_ARG_WITH(x264-tree, - [ --with-x264-tree=PATH x264 tree for static linking ],[],[]) + [ --with-x264-tree=PATH x264 tree for static linking ],[],[]) if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}" then real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`" @@ -3390,16 +3036,10 @@ if test "${enable_x264}" != "no"; then AC_MSG_ERROR([the specified tree doesn't have x264.h]) fi else - PKG_CHECK_MODULES(X264,x264 >= 0.76, [ + PKG_CHECK_MODULES(X264,x264 >= 0.86, [ 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]) ]) @@ -3410,7 +3050,7 @@ if test "${enable_x264}" != "no"; then fi ],[ if test "${enable_x264}" = "yes"; then - AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html]) + AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html]) fi ]) LDFLAGS="${LDFLAGS_save}" @@ -3437,7 +3077,7 @@ AC_ARG_ENABLE(telx, AS_IF( [test "${enable_zvbi}" != "no"],[ PKG_CHECK_MODULES(ZVBI, - zvbi-0.2 >= 0.2.25, + zvbi-0.2 >= 0.2.28, [ VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS]) if test "${SYS}" = "mingw32"; then @@ -3462,57 +3102,23 @@ dnl dnl libass subtitle rendering module dnl AC_ARG_ENABLE(libass, - [ --enable-libass Subtitle support using libass (default disabled)]) -AS_IF( [test "${enable_libass}" = "yes"], [ + [ --enable-libass Subtitle support using libass (default enabled)]) +AS_IF( [test "${enable_libass}" != "no"], [ PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6, [ - VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS]) + VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) VLC_ADD_PLUGIN([libass]) AC_CHECK_HEADERS(fontconfig/fontconfig.h, [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz]) - else VLC_ADD_LIBS([libass],[-lfontconfig]) - fi ]) ],[ AC_MSG_WARN([LIBASS library not found]) ]) ]) -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 CMML plugin -dnl -AC_ARG_ENABLE(cmml, - [ --enable-cmml CMML support (default enabled)]) -if test "${enable_cmml}" != "no" -then - VLC_ADD_PLUGIN([cmml]) -fi - dnl dnl kate decoder plugin dnl @@ -3544,104 +3150,42 @@ AS_IF([test "${enable_kate}" != "no"], [ dnl -dnl tiger decoder plugin +dnl tiger rendering for kate decoder plugin dnl -PKG_ENABLE_MODULES_VLC([TIGER], [], [tiger >= 0.3.1], [Tiger rendering library for Kate streams],[auto]) +AC_ARG_ENABLE(tiger, +[ --enable-tiger Tiger rendering library for Kate streams (default enabled)]) +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.]) + ]) + ]) +]) + dnl dnl Video plugins dnl -AC_ARG_WITH(,[Video plugins:]) +EXTEND_HELP_STRING([Video plugins:]) dnl dnl Xlib dnl AC_PATH_XTRA() -AC_ARG_ENABLE(x11, - [ --enable-x11 X11 support with Xlib (default enabled)],, [ - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [ - enable_x11="yes" - ], [ - enable_x11="no" - ]) -]) - -CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" - -AS_IF([test "${enable_x11}" != "no"], [ - AC_CHECK_HEADERS(X11/Xlib.h) - -dnl Check for DPMS - AC_CHECK_HEADERS(X11/extensions/dpms.h, [ - AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) - AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(DPMSINFO_IN_DPMS_H, 1, - Define if defines DPMSInfo.) - ],[ - AC_MSG_RESULT(no) - ]) - ],,[ - #include - ]) -]) - -dnl -dnl GLX module -dnl (enabled by default except on win32) -dnl -AC_ARG_ENABLE(glx, - [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ - enable_glx="$enable_x11" -]) -AS_IF([test "${enable_glx}" != "no"], [ - AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h) - AC_COMPILE_IFELSE(AC_LANG_PROGRAM( - [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H) - choke me - #endif]]), - [ - VLC_ADD_PLUGIN([glx]) - VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU]) - VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}]) - ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])]) -]) - -dnl -dnl XVMC module -dnl (disabled by default except on win32) -dnl -AC_ARG_ENABLE(xvmc, - [ --enable-xvmc XvMC support (default disabled)],, [ - enable_xvmc="no" -]) -AS_IF([test "${enable_xvmc}" != "no"], [ - AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [ - AS_IF([test "${enable_libmpeg2}" = "yes"], [ - VLC_ADD_PLUGIN([xvmc]) - VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}]) - VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}]) - ], [ - AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available]) - ]) - ], [ - AC_MSG_ERROR([XVideo-MotionCompensation extension not found!]) - ]) -]) - -dnl End of Xlib tests -CPPFLAGS="${CPPFLAGS_save}" - +AC_CHECK_HEADERS(X11/Xlib.h) dnl 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"], [ + AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ enable_xcb="yes" ], [ enable_xcb="no" @@ -3654,14 +3198,10 @@ AC_ARG_ENABLE(xvideo, need_xid_provider="no" AS_IF([test "${enable_xcb}" != "no"], [ - PKG_CHECK_MODULES(XPROTO, [xproto]) - dnl libxcb PKG_CHECK_MODULES(XCB, [xcb]) PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - VLC_ADD_PLUGIN([xcb_x11]) - VLC_ADD_PLUGIN([xcb_screen]) - VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error + VLC_ADD_PLUGIN([screensaver xcb_x11 xcb_window xcb_screen xcb_apps]) AS_IF([test "${enable_xvideo}" != "no"], [ PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ @@ -3678,7 +3218,9 @@ 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]) + ], [ + AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.]) + ]) dnl xcb-utils PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ @@ -3690,42 +3232,38 @@ AS_IF([test "${enable_xcb}" != "no"], [ ], [ have_xcb_keysyms="no" need_xid_provider="yes" + AC_MSG_WARN([libxcb-keysyms not found. Hotkeys will not be supported.]) ]) ]) AS_IF([test "${have_xcb_keysyms}" = "yes"], [ - VLC_ADD_PLUGIN([xcb_window]) + 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]) ]) VLC_ADD_PLUGIN([xdg_screensaver]) ]) - -dnl -dnl OpenGL module -dnl (enabled by default except on beos) -dnl -AC_ARG_ENABLE(opengl, - [ --enable-opengl OpenGL support (default enabled)]) -if test "${enable_opengl}" != "no" && - test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then - if test "${SYS}" != "darwin"; then - AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [ - VLC_ADD_PLUGIN([opengl]) - if test "${SYS}" != "mingw32"; then - VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU]) - else - VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32]) - fi +AC_ARG_ENABLE(glx, + [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [ + enable_glx="$enable_xcb" +]) +AS_IF([test "${enable_glx}" != "no"], [ + PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb]) + PKG_CHECK_MODULES(GL, [gl],, [ + AC_CHECK_HEADER([GL/gl.h], [ + GL_CFLAGS="" + GL_LIBS="-lGL" + ], [ + AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.]) ]) - else - dnl OS X special case (no GL/gl.h but OpenGL/gl.h) - VLC_ADD_PLUGIN([opengl]) - VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL]) - fi -fi + ]) + VLC_ADD_PLUGIN([xcb_glx]) +]) +AC_SUBST([GL_CFLAGS]) +AC_SUBST([GL_LIBS]) dnl dnl SDL module @@ -3736,49 +3274,32 @@ AC_ARG_ENABLE(sdl-image, [ --enable-sdl-image SDL image support (default enabled)]) if test "${enable_sdl}" != "no" then - SDL_PATH="${PATH}" - AC_ARG_WITH(sdl-config-path, - [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)], - [ if test "${with_sdl_config_path}" != "no" - then - SDL_PATH="${with_sdl_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH}) - SDL_HEADER="SDL/SDL.h" - SDL_IMAGE="SDL/SDL_image.h" - - if test "${SDL_CONFIG}" != "no"; 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]) - VLC_ADD_PLUGIN([aout_sdl]) - fi - VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`]) - VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`]) - - # SDL_image - AS_IF([ test "${enable_sdl_image}" != "no"],[ - AC_CHECK_HEADERS("SDL/SDL_image.h", [ - VLC_ADD_PLUGIN([sdl_image]) - AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz]) - AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])]) - AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])]) - VLC_ADD_LIBS([sdl_image], [-lSDL_image])], - [ AC_MSG_WARN([The development package for SDL_image is not installed. - You should install it alongside your SDL package.]) - ]) - ]) - ],[ - AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10. - Alternatively you can also configure with --disable-sdl.]) - ]) - else if test "${enable_sdl}" = "yes"; then - AC_MSG_ERROR([I could not find the SDL package. You can download libSDL -from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day. - ]) + 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]) fi - fi + if test "${SYS}" != "mingw32"; 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}]) + + # SDL_image + AS_IF([ test "${enable_sdl_image}" != "no"],[ + PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [ + 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([The development package for SDL is not present or too old. + You need 1.2.10. Alternatively you can also configure with + --disable-sdl.]) + ]) fi dnl @@ -3789,7 +3310,7 @@ AC_ARG_ENABLE(freetype, AC_ARG_ENABLE(fribidi, [ --enable-fribidi fribidi support (default enabled)]) AC_ARG_ENABLE(fontconfig, - [ --enable-fontconfig, fontconfig support (default enabled)]) + [ --enable-fontconfig fontconfig support (default enabled)]) if test "${enable_freetype}" != "no" then PKG_CHECK_MODULES(FREETYPE, freetype2,[ @@ -3832,7 +3353,7 @@ fi dnl dnl libxml2 module dnl -PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) +PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto]) dnl dnl SVG module @@ -3849,58 +3370,6 @@ then VLC_ADD_PLUGIN([snapshot]) fi -dnl -dnl Qt Embedded module -dnl (disabled by default) -dnl -AC_ARG_ENABLE(qte, - [ --enable-qte QT Embedded support (default disabled)]) -if test "${enable_qte}" = "yes" -then - AC_ARG_WITH(qte, - [ --with-qte=PATH Qt Embedded headers and libraries]) - if test "${with_qte}" != "no" -a -n "${with_qte}" - then - VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte]) - VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti]) - else - VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte]) - VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti]) - fi - VLC_ADD_PLUGIN([qte]) - NEED_QTE_MAIN=yes - CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}" - AC_CHECK_HEADERS(qt.h jpeglib.h, ,[ - AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."]) - ] ) - CPPFLAGS="${CPPFLAGS_save}" -fi - -dnl -dnl Roku HD1000 Video output module -dnl -AC_ARG_ENABLE(hd1000v, - [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)]) -if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" && - (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || - test "${enable_hd1000v}" = "yes"); then - AC_LANG_PUSH([C++]) - AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h], - [ - can_build_roku="yes" - ], - [ - can_build_roku="no" - AC_MSG_WARN([Not building Roku HD1000 compatible video output]) - ]) - if test "$can_build_roku" = "yes" - then - VLC_ADD_PLUGIN([hd1000v]) - VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad]) - fi - AC_LANG_POP([C++]) -fi - dnl dnl Windows DirectX module dnl @@ -3917,8 +3386,7 @@ then if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" then AC_CHECK_HEADERS(ddraw.h, - [ VLC_ADD_PLUGIN([directx]) - VLC_ADD_PLUGIN([aout_directx]) + [ VLC_ADD_PLUGIN([directx aout_directx]) VLC_ADD_LIBS([directx],[-lgdi32]) ],[AC_MSG_ERROR([Cannot find DirectX headers!])] ) @@ -3934,6 +3402,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 @@ -3945,8 +3430,7 @@ if test "${enable_wingdi}" != "no"; then VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32]) fi if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([wingdi]) - VLC_ADD_PLUGIN([wingapi]) + VLC_ADD_PLUGIN([wingdi wingapi]) VLC_ADD_LIBS([wingdi],[-laygshell]) VLC_ADD_LIBS([wingapi],[-laygshell]) fi @@ -3965,42 +3449,6 @@ AC_ARG_ENABLE(fb, ]) fi -dnl -dnl Linux MGA module -dnl -AC_ARG_ENABLE(mga, - [ --enable-mga Linux kernel Matrox support (default disabled)], - [ if test "${enable_mga}" = "yes" - then - VLC_ADD_PLUGIN([mga]) - fi ]) - -dnl -dnl OMAP Framebuffer module -dnl -AC_ARG_ENABLE(omapfb, - [ --enable-omapfb OMAP framebuffer support (default disabled)]) - if test "${enable_omapfb}" = "yes" - then - AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [ - VLC_ADD_PLUGIN([omapfb]) - AC_CHECK_HEADERS(X11/Xlib.h, [ - VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ]) - ]) - VLC_ADD_PLUGIN([swscale_omap]) - fi - -dnl -dnl SVGAlib module -dnl -AC_ARG_ENABLE(svgalib, - [ --enable-svgalib SVGAlib support (default disabled)]) -if test "${enable_svgalib}" = "yes" -then - VLC_ADD_PLUGIN([svgalib]) - VLC_ADD_LIBS([svgalib],[-lvgagl -lvga]) -fi - dnl dnl DirectFB module dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config @@ -4009,7 +3457,7 @@ dnl AC_ARG_ENABLE(directfb, [ --enable-directfb DirectFB support (default disabled)]) AC_ARG_WITH(directfb, - [ --with-directfb=PATH path to DirectFB headers and libraries]) + [ --with-directfb=PATH path to DirectFB headers and libraries]) if test "${enable_directfb}" = "yes"; then have_directfb="false" @@ -4041,7 +3489,7 @@ if test "${enable_directfb}" = "yes"; then LIBS="${LIBS_save}" if test "${have_directfb}" = "true"; then - LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread" + LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread" CPPFLAGS_mydirectfb="${CPPFLAGS_new}" fi else @@ -4069,30 +3517,6 @@ if test "${enable_directfb}" = "yes"; then fi fi - - -dnl -dnl GGI module -dnl -AC_ARG_ENABLE(ggi, - [ --enable-ggi GGI support (default disabled)]) -if test "${enable_ggi}" = "yes" -then - AC_CHECK_HEADER([ggi/ggi.h],[ - VLC_ADD_PLUGIN([ggi]) - VLC_ADD_LIBS([ggi],[-lggi]) - AC_ARG_WITH(ggi, - [ --with-ggi=PATH path to libggi], - [ if test "${with_ggi}" != "no" -a -n "${with_ggi}" - then - VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include]) - VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib]) - fi ]) - ],[ - AC_MSG_ERROR([LibGGI development files can't be found]) - ]) -fi - dnl dnl AA plugin dnl @@ -4105,41 +3529,51 @@ then then VLC_ADD_PLUGIN([aa]) VLC_ADD_LIBS([aa],[-laa]) + if test "${SYS}" != "mingw32"; then + VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + fi fi fi dnl dnl libcaca plugin dnl -PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto]) +PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto]) dnl dnl Audio plugins dnl -AC_ARG_WITH(,[Audio plugins:]) +EXTEND_HELP_STRING([Audio plugins:]) dnl dnl OSS /dev/dsp module (enabled by default except on win32) dnl AC_ARG_ENABLE(oss, - [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)]) + [ --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]) - VLC_ADD_PLUGIN([access_oss]) - AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])]) + VLC_ADD_PLUGIN([oss access_oss]) + AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss access_oss],[-lossaudio])]) ]) fi dnl dnl Pulseaudio module dnl -PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto]) +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).]) + ]) +], [ + 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 @@ -4149,8 +3583,19 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp dnl dnl ALSA module dnl -PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto]) -PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto]) +AC_ARG_ENABLE(alsa, + [ --enable-alsa Advanced Linux Sound Architecture (default auto)]) +have_alsa="no" +AS_IF([test "${enable_alsa}" != "no"], [ + PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.0], [ + have_alsa="yes" + ], [ + AS_IF([test "x${enable_alsa}" != "x"], [ + AC_MSG_ERROR([alsa-lib not found]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"]) dnl dnl win32 waveOut plugin @@ -4172,8 +3617,8 @@ dnl CoreAudio plugin dnl AC_ARG_ENABLE(macosx-audio, [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)]) -if test "${enable_macosx-audio}" != "no" && - (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes") +if test "x${enable_macosx_audio}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes") then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, [ VLC_ADD_PLUGIN([auhal]) @@ -4181,6 +3626,17 @@ then ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi +dnl +dnl AudioQueue plugin +dnl +AC_ARG_ENABLE(audioqueue, + [ --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]) +fi + dnl dnl Roku HD1000 audio dnl @@ -4200,99 +3656,19 @@ fi dnl dnl JACK modules dnl -PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto]) -PKG_ENABLE_MODULES_VLC([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++]) - ]) -]) +PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) dnl dnl UPnP Plugin (Intel SDK) dnl PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto]) - +VLC_ADD_CXXFLAGS([upnp_intel],[${UPNP_CFLAGS}]) dnl dnl Interface plugins dnl -AC_ARG_WITH(,[Interface plugins:]) - -dnl special case for BeOS -if test "${SYS}" = "beos" -then - VLC_ADD_PLUGIN([beos]) -fi +EXTEND_HELP_STRING([Interface plugins:]) dnl dnl Skins2 module @@ -4348,9 +3724,15 @@ dnl AC_ARG_ENABLE(hildon, [ --enable-hildon Hildon touchscreen UI (default disabled)]) AS_IF([test "${enable_hildon}" = "yes"], [ - PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [ - VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}]) - VLC_ADD_LIBS([hildon],[${HILDON_LIBS}]) + PKG_CHECK_MODULES(HILDON, [hildon-1], [ + PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [ + 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) + ]) + VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}]) + VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11]) VLC_ADD_PLUGIN([hildon]) ALIASES="${ALIASES} mvlc" need_xid_provider="no" @@ -4367,22 +3749,41 @@ dnl dnl QT 4 dnl AC_ARG_ENABLE(qt4, - [ --enable-qt4 QT 4 support (default enabled) ],, [ + [ --enable-qt4 Qt 4 support (default enabled) ],, [ AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no]) ]) AS_IF([test "${enable_qt4}" != "no"], [ PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [ VLC_ADD_PLUGIN([qt4]) + VLC_ADD_LIBS([qt4],[${QT4_LIBS}]) + VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}]) ALIASES="${ALIASES} qvlc" - AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [ - VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11]) - need_xid_provider="no" + + AC_LANG_PUSH([C++]) + CPPFLAGS_save="${CPPFLAGS}" + + AC_MSG_CHECKING([whether Qt uses X11]) + CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}" + AC_PREPROC_IFELSE([ +#include +#if !defined (Q_WS_X11) +# error Fail +#endif ], [ - VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32]) + 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]) + ]) + + CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP([C++]) + + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + VLC_ADD_LIBS([qt4],[-lole32]) ]) - QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/" - AC_SUBST(QT4LOCALEDIR) - VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"]) 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) @@ -4397,26 +3798,6 @@ AS_IF([test "${enable_qt4}" != "no"], [ ]) AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"]) -dnl -dnl WinCE GUI module -dnl -AC_ARG_ENABLE(wince, - [ --enable-wince Windows CE interface (default enabled with MinGW)]) -if test "${enable_wince}" != "no"; then - if test "${SYS}" = "mingwce"; then - VLC_ADD_PLUGIN([wince]) - VLC_ADD_CXXFLAGS([wince],[]) - VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell]) - dnl Gross hack - VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o]) - elif test "${SYS}" = "mingw32"; then - VLC_ADD_CXXFLAGS([wince],[]) - VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32]) - dnl Gross hack - VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o]) - fi -fi - dnl dnl Simple test for skins2 dependency dnl @@ -4424,90 +3805,85 @@ AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [ AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.]) ]) -dnl -dnl Opie QT embedded module -dnl -AC_ARG_ENABLE(opie, - [ --enable-opie Qt embedded interface support (default disabled)], - [if test "${enable_opie}" = "yes"; then - AC_ARG_WITH(qte, - [ --with-qte=PATH Qt Embedded headers and libraries]) - if test "${with_qte}" != "no" -a -n "${with_qte}" - then - VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte]) - VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti]) - else - VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`]) - VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`]) - fi - CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}" - AC_CHECK_HEADERS(qt.h jpeglib.h, ,[ - AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."]) - ] ) - CPPFLAGS="${CPPFLAGS_save}" - - VLC_ADD_PLUGIN([opie]) - NEED_QTE_MAIN=yes - VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}]) - VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}]) - if test "${with_qte}" != "no" -a -n "${with_qte}" - then - MOC=${with_qte}/bin/moc - else - MOC=${QTDIR}/bin/moc - fi - fi]) - dnl dnl MacOS X video output/gui modules dnl AC_ARG_ENABLE(macosx, - [ --enable-macosx MacOS X support (default enabled on MacOS X)]) + [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)]) if test "x${enable_macosx}" = "xyes" then - VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation]) - VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa]) - VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL]) + 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,IOKit]) - VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle]) - VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle]) + VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle]) + VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle]) dnl For bug report VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio]) VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) - VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore]) - VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo]) - VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] ) + VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] ) - VLC_ADD_PLUGIN([access_eyetv]) - VLC_ADD_PLUGIN([qtcapture]) - VLC_ADD_PLUGIN([macosx]) - VLC_ADD_PLUGIN([minimal_macosx]) - VLC_ADD_PLUGIN([opengllayer]) + VLC_ADD_PLUGIN([macosx minimal_macosx]) fi dnl -dnl QNX RTOS module +dnl MacOS X related modules dnl -AC_ARG_ENABLE(qnx, - [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)]) - if test "${enable_qnx}" != "no" - then - AC_CHECK_HEADERS(Ph.h, [ - VLC_ADD_PLUGIN([qnx]) - VLC_ADD_LIBS([qnx],[-lasound -lph]) - ]) - fi + +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_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 AC_ARG_ENABLE(ncurses, - [ --disable-ncurses ncurses interface support (default enabled)], + [ --disable-ncurses ncurses interface support (default disabled)], [if test "${enable_ncurses}" != "no"; then AC_CHECK_HEADER(ncurses.h, [AC_CHECK_LIB(ncursesw, mvprintw, @@ -4590,19 +3966,35 @@ fi dnl dnl goom visualization plugin dnl -PKG_ENABLE_MODULES_VLC([goom], [], [libgoom2], [goom visualization plugin], [auto]) +PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto]) dnl dnl libprojectM visualization plugin dnl -PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto]) +AC_ARG_ENABLE(projectm, + [ --enable-projectm projectM visualization plugin (default enabled)]) +AS_IF([test "${enable_projectm}" != "no"], + [ + PKG_CHECK_MODULES(PROJECTM, libprojectM, + [ + VLC_ADD_PLUGIN([projectm]) + VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS]) + VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS]) + PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0], + [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ], + [ AC_MSG_WARN( [Using libprojectM version 1] ) + ]) + ],[ + AC_MSG_WARN([libprojectM library not found]) + ]) + ]) dnl -dnl AtmoLight (homebrew AmbiLight) +dnl AtmoLight (homemade Philips Ambilight clone) dnl AC_ARG_ENABLE(atmo, -AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight) - (broken, default disabled)]),, [enable_atmo="no"]) +AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone) + (default enabled)]),, [enable_atmo="yes"]) AS_IF([test "${enable_atmo}" != no], [ AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [ AC_LANG_PUSH(C++) @@ -4621,7 +4013,7 @@ PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discov dnl dnl MTP devices services discovery -PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto]) +PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto]) dnl dnl Lirc plugin @@ -4638,14 +4030,13 @@ then fi fi - -AC_ARG_WITH(,[Misc options:]) +EXTEND_HELP_STRING([Misc options:]) dnl dnl libgcrypt dnl AC_ARG_ENABLE(libgcrypt, - [ --disable-libgcrypt gcrypt support (default enabled)]) + [ --disable-libgcrypt gcrypt support (default enabled)]) AS_IF([test "${enable_libgcrypt}" != "no"], [ AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ libgcrypt-config --version >/dev/null || \ @@ -4678,14 +4069,19 @@ dnl AC_ARG_ENABLE(gnutls, [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) +AS_IF([test "${have_libgcrypt}" != "yes"], [ + AS_IF([test "${enable_gnutls}" = "yes"], [ + AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.]) + ]) + enable_gnutls="no" +]) AS_IF([test "${enable_gnutls}" != "no"], [ PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [ 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]) - VLC_ADD_LIBS([gnutls], [${LTLIBINTL}]) + VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}]) ]) dnl The GnuTLS plugin invokes gcry_control directly. AS_IF([test "${have_libgcrypt}" = "yes"],[ @@ -4736,7 +4132,7 @@ AS_IF([test "${have_libgcrypt}" = "yes"], [ dnl dnl OSSO (Maemo screen blanking) plugin dnl -PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto]) +PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto]) AS_IF([test -f "/etc/maemo_version"], [ AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.]) @@ -4759,6 +4155,39 @@ then AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi +dnl +dnl SQLite +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"]) + dnl dnl Endianness check @@ -4771,6 +4200,35 @@ AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [ ]) AC_SUBST(DEFS_BIGENDIAN) +dnl +dnl Where to install KDE solid .desktop +dnl +AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility]) +AS_IF([test "x$KDE4_CONFIG" = "x"], [ + KDE4_CONFIG="kde4-config" +]) + +AC_ARG_WITH(kde-solid, + AS_HELP_STRING([--with-kde-solid=PATH], + [KDE Solid actions directory (auto)]),, [ + +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then + with_kde_solid="yes" +fi +]) +soliddatadir="" +AS_IF([test "${with_kde_solid}" != "no"], [ + AS_IF([test "${with_kde_solid}" = "yes"], [ + kde4datadir="`${KDE4_CONFIG} --install data`" + AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps']) + soliddatadir="${kde4datadir}/solid/actions" + ], [ + soliddatadir="${with_kde_solid}" + ]) +]) +AC_SUBST(soliddatadir) +AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"]) + dnl dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?) dnl @@ -4781,17 +4239,13 @@ AC_ARG_ENABLE(loader, AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader]) - VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader]) - VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER]) - VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la]) - VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER]) - VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la]) + 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([realvideo], [-DLOADER]) + VLC_ADD_LIBS([dmo quicktime], [-lpthread]) ]) -AC_ARG_WITH(,[Components:]) +EXTEND_HELP_STRING([Components:]) dnl dnl the VLC binary @@ -4808,7 +4262,7 @@ 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]) + [ --with-wine-sdk-path=PATH path to wine sdk]) if test "${enable_activex}" != "no" then if test "${SYS}" = "mingw32" @@ -4859,9 +4313,9 @@ 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]) + [ --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.]) + [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.]) AC_LANG_PUSH(C++) if test "${enable_mozilla}" = "yes" then @@ -4875,29 +4329,34 @@ then 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" -a -n "$MOZILLA_LIBS" + 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 - echo "Trying to find $i.pc files" >&5 - if $PKG_CONFIG --exists --print-errors "$i" 2>&5 - then - echo "Using $i.pc files." >&5 - echo "Using $i.pc files." >&6 - found=1 - MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" ) - MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" ) - break - fi - done + 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([npfunctions.h]) AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, [#if HAVE_NPAPI_H @@ -4905,21 +4364,24 @@ then #endif ]) if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then - AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.]) + 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 -DOJI]) - 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.]) - ]) + 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_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}]) VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}]) VLC_ADD_PLUGIN([mozilla]) PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" @@ -4928,9 +4390,9 @@ then ], [ AC_PATH_PROGS(MOZILLA_CONFIG, - [mozilla-config seamonkey-config xulrunner-config], + [mozilla-config seamonkey-config xulrunner-config], [no]) - test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.]) + 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 @@ -4946,6 +4408,9 @@ then [[${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 @@ -4983,9 +4448,8 @@ then fi real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" - CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include" + CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk}/include" 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 @@ -4999,17 +4463,7 @@ then 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} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) - if ${need_xpcom_libs}; then - VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue]) - if test "${SYS}" = "mingw32"; then - dnl latest gecko sdk does not have embedstring - if test -d "${real_mozilla_sdk}/embedstring/bin" - then - VLC_ADD_LIBS([mozilla],[-lembedstring]) - fi - fi - fi + 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 @@ -5021,44 +4475,6 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) -dnl Tests for Xsp -AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[ - VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP]) - VLC_ADD_LIBS([xvmc glx],[-lXsp]) -]) - -dnl -dnl test plugins -dnl -AC_ARG_ENABLE(testsuite, - [ --enable-testsuite build test modules (default disabled)]) -if test "${enable_testsuite}" = "yes" -then - TESTS="test1 test2 test3 test4" - - dnl we define those so that bootstrap sets the right linker - VLC_ADD_CXXFLAGS([test2],[]) - VLC_ADD_OBJCFLAGS([test3],[]) - dnl this one is needed until automake knows what to do - VLC_ADD_LIBS([test3],[-lobjc]) - - VLC_ADD_PLUGIN([test1]) - VLC_ADD_PLUGIN([test2]) - VLC_ADD_PLUGIN([test3]) - VLC_ADD_PLUGIN([test4]) -fi - -dnl -dnl qte_main plugin -dnl -if test "${NEED_QTE_MAIN}" != "no" -then - VLC_ADD_PLUGIN([qte_main]) - VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN]) - VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}]) - VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}]) -fi - dnl dnl Plugin and builtin checks dnl @@ -5088,7 +4504,7 @@ dnl dnl Stuff used by the program dnl VERSION_MESSAGE="${VERSION} ${CODENAME}" -COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team" +COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team" AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string]) AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string]) AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years]) @@ -5105,13 +4521,7 @@ AC_SUBST(VERSION_REVISION) AC_SUBST(VERSION_EXTRA) AC_SUBST(COPYRIGHT_YEARS) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) -if test "${build_os}" = "cygwin" -then - AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) -else - AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure]) -fi -AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) +AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) dnl Win32 need s a numerical version_extra. case $( echo ${VERSION_EXTRA}|wc -m ) in @@ -5165,16 +4575,9 @@ dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ - extras/package/win32/vlc.win32.nsi - 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 Makefile projects/activex/Makefile - projects/activex/axvlc.inf doc/Makefile - extras/package/ipkg/Makefile libs/loader/Makefile libs/srtp/Makefile libs/unzip/Makefile @@ -5182,13 +4585,7 @@ AC_CONFIG_FILES([ projects/mozilla/Makefile m4/Makefile po/Makefile.in - projects/activex/axvlc_rc.rc - projects/mozilla/npvlc_rc.rc - projects/mozilla/vlc.r - projects/mozilla/install.js share/Makefile - share/vlc_win32_rc.rc - share/libvlc_win32_rc.rc compat/Makefile src/Makefile src/test/Makefile @@ -5200,7 +4597,6 @@ AC_CONFIG_FILES([ modules/access/dshow/Makefile modules/access/dvb/Makefile modules/access/mms/Makefile - modules/access/cdda/Makefile modules/access/rtp/Makefile modules/access/rtsp/Makefile modules/access/vcd/Makefile @@ -5217,15 +4613,14 @@ AC_CONFIG_FILES([ modules/audio_output/Makefile modules/codec/Makefile modules/codec/avcodec/Makefile - modules/codec/cmml/Makefile 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/codec/xvmc/Makefile modules/control/Makefile modules/control/http/Makefile + modules/control/dbus/Makefile modules/control/globalhotkeys/Makefile modules/demux/Makefile modules/demux/asf/Makefile @@ -5236,21 +4631,17 @@ AC_CONFIG_FILES([ modules/demux/mpeg/Makefile modules/demux/playlist/Makefile modules/gui/Makefile - modules/gui/beos/Makefile modules/gui/macosx/Makefile modules/gui/hildon/Makefile modules/gui/minimal_macosx/Makefile - modules/gui/qnx/Makefile + modules/gui/macosx_dialog_provider/Makefile modules/gui/qt4/Makefile modules/gui/skins2/Makefile - modules/gui/wince/Makefile modules/meta_engine/Makefile modules/misc/Makefile modules/misc/dummy/Makefile modules/misc/lua/Makefile - modules/misc/memcpy/Makefile modules/misc/notify/Makefile - modules/misc/testsuite/Makefile modules/misc/playlist/Makefile modules/misc/osd/Makefile modules/misc/stats/Makefile @@ -5261,15 +4652,60 @@ AC_CONFIG_FILES([ modules/services_discovery/Makefile modules/stream_filter/Makefile modules/stream_out/Makefile + modules/stream_out/transcode/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_filter/dynamicoverlay/Makefile modules/video_output/Makefile modules/video_output/msw/Makefile - modules/video_output/qte/Makefile - modules/video_output/x11/Makefile modules/visualization/Makefile modules/visualization/visual/Makefile + modules/mmx/Makefile + modules/mmxext/Makefile + modules/3dnow/Makefile + modules/sse2/Makefile + modules/altivec/Makefile + 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 + ]) + ]) ]) dnl Generate makefiles @@ -5283,13 +4719,18 @@ chmod 0755 vlc-config /bin/echo -n "Enabled modules: " ./vlc-config --list plugin +dnl Do we have to use make or gmake ? +USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac` dnl Shortcut to nice compile message rm -f compile -echo '#! /bin/sh' >compile +if test -n $SHELL; then + SHELL=${CONFIG_SHELL-/bin/sh} +fi +echo '#! '$SHELL >compile echo rm -f .error\$\$ >>compile echo ERROR=0 >>compile echo export PATH=$PATH LANG=C >>compile -echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile +echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile echo test -f .error\$\$ \&\& ERROR=1 >>compile echo rm -f .error\$\$ >>compile @@ -5307,7 +4748,6 @@ 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_release}" = "yes" && printf "release " || printf "devel " echo "" if test "${enable_vlc}" != "no"; then echo "vlc aliases :${ALIASES}" @@ -5317,7 +4757,7 @@ fi echo "plugins/bindings :${PLUGINS_BINDINGS} You can tune the compiler flags in vlc-config. -To build vlc and its plugins, type \`./compile' or \`make'. +To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'. " if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then echo ""