X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=71189e2d2abbb87838ace618033609185494da5f;hb=HEAD;hp=753e21d342febc10f0a0fbd1223d921cf5e1e8d9;hpb=430be231b62977db7a191808fdff7e0a4d5a23d6;p=vlc diff --git a/configure.ac b/configure.ac index 753e21d342..71189e2d2a 100644 --- a/configure.ac +++ b/configure.ac @@ -2,32 +2,31 @@ dnl Autoconf settings for vlc 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="The Luggage" +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,23 +101,22 @@ 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/hosts/${host} + CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}" if ! test -d "$CONTRIB_DIR" then gccmachine=`$CC -dumpmachine` - CONTRIB_DIR=${topdir}/extras/contrib/hosts/${gccmachine} + CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}" fi - fi - AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}]) - AS_IF([test -d ${CONTRIB_DIR}/lib],[ + ]) + 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 @@ -145,31 +128,32 @@ 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]) - ]) + ],[ + AC_MSG_RESULT([no]) + CONTRIB_DIR="" + ]) ]) dnl dnl Set default values @@ -189,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],[-ldvd]) + VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd]) ;; *bsd*) SYS="${host_os}" @@ -210,19 +194,35 @@ case "${host_os}" in 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]) + 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" @@ -236,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" @@ -258,8 +256,6 @@ case "${host_os}" in echo " Assuming --enable-realrtsp" enable_libass="yes" echo " Assuming --enable-libass" - enable_asademux="yes" - echo " Assuming --enable-asademux" enable_skins2="no" echo " Assuming --disable-skins2" @@ -293,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, :) @@ -327,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 @@ -345,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([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 slp oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldtelnet oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap 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 on Windows)]) - if test "${enable_peflags}" != "no" - then + 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 oldhttp netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts oldtelnet audiobargraph_a],[-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*) @@ -380,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([filesystem],[-lpoll]) LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" dnl Check for BONE if test -f /boot/beos/system/lib/libbind.so; then - VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp oldtelnet 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([filesystem access_ftp access_mms access_output_udp oldtelnet 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 ;; *) @@ -451,7 +424,7 @@ AS_IF([test "${enable_shared}" = "no"], [ 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}]) @@ -568,14 +541,14 @@ dnl Check for system libs needed need_libc=false dnl Check for usual libc functions -AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fork getenv getpwuid_r gettimeofday isatty lstat memalign posix_fadvise posix_madvise posix_memalign putenv setenv stricmp strnicmp tdestroy uselocale]) -AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf]) +AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday 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([accept4 eventfd fstatfs vmsplice]) +AC_CHECK_FUNCS([accept4 dup3 eventfd vmsplice sched_getaffinity]) AH_BOTTOM([#include ]) @@ -592,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]) ]) ]) @@ -638,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( @@ -686,30 +640,24 @@ 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 access_avio 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 audiobargraph_a speex mono colorthres extract ball],[-lm]) + VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm]) @@ -775,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 @@ -809,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]) @@ -842,13 +798,17 @@ 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/time.h sys/ioctl.h sys/stat.h sys/mount.h) +AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ #include #include ]) +AC_CHECK_HEADERS([sys/mount.h], [], [], + [ + #include + ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) @@ -869,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) @@ -938,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)]) @@ -998,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 disabled)]),, [enable_warnings_as_error="no"]) -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], @@ -1167,41 +1124,25 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -ALIASES="${ALIASES} cvlc" - -if test "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([oldrc]) - VLC_ADD_PLUGIN([mediadirs]) - ALIASES="${ALIASES} rvlc" -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([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 @@ -1408,7 +1349,10 @@ AS_IF([test "${enable_neon}" != "no"], [ AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ CFLAGS="${CFLAGS_save} -mfpu=neon" AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]]) + AC_LANG_PROGRAM(,[[ +asm volatile("vqmovun.s64 d0, q1":::"d0"); +asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ +]]) ], [ ac_cv_neon_inline="-mfpu=neon" ], [ @@ -1604,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 @@ -1629,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 @@ -1670,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]) ) ) @@ -1684,6 +1618,11 @@ then 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"]) @@ -1728,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([oldtelnet]) ]) AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) @@ -1753,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 @@ -1772,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)]) ]) @@ -1780,19 +1712,10 @@ 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 @@ -1802,27 +1725,25 @@ if test "${enable_live555}" != "no"; then 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 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" AC_CHECK_HEADERS(liveMedia_version.hh, [ - AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) AC_EGREP_CPP(yes, [#include #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 yes #endif #endif], @@ -1871,11 +1792,11 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.]) AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a) AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[ - AC_MSG_CHECKING(for liveMedia version >= 1214895600 ) + AC_MSG_CHECKING(for liveMedia version >= 1275091200 ) AC_EGREP_CPP(yes, [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh" #ifdef LIVEMEDIA_LIBRARY_VERSION_INT - #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600 + #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200 yes #endif #endif], @@ -1926,88 +1847,19 @@ PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5 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, @@ -2022,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 @@ -2061,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 @@ -2240,42 +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 libv4l1 support for video4linux. -dnl -AC_ARG_ENABLE( libv4l, - [ --enable-libv4l Libv4l Video4Linux support (default enabled)]) -if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no" -then - PKG_CHECK_MODULES( LIBV4L, libv4l1, [ - VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}]) - VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}]) - AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)], - AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found]) - ) -fi - dnl dnl Video4Linux2 plugin dnl @@ -2291,7 +2079,7 @@ then 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}" @@ -2346,36 +2134,33 @@ 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(libvcdinfo, - [ --enable-libvcdinfo VCD information library support (default enabled)]) - -have_libcdio=no -have_libvcdinfo=no -if test "${enable_libcdio}" != "no" +AC_ARG_ENABLE(decklink, + [ --enable-decklink Blackmagic DeckLink SDI access module (default enabled)]) +if test "${enable_decklink}" != "no" 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_libvcdinfo}" != "no" + AC_ARG_WITH(decklink_sdk, + [ --with-decklink-sdk=DIR Location of Blackmagic DeckLink SDI SDK],[],[]) + if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}" then - PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22, - [have_libvcdinfo=yes], - [AC_MSG_WARN(VCD information library not found)]) + VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include]) fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}" + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [ + VLC_ADD_PLUGIN([decklink]) + ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)]) + AC_LANG_POP(C++) + CPPFLAGS="${CPPFLAGS_save}" fi + +dnl +dnl gnomeVFS access module +dnl +PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto]) + dnl dnl VCDX modules dnl @@ -2384,42 +2169,22 @@ AC_ARG_ENABLE(vcdx, if test "${enable_vcdx}" = "yes" then - if test "${have_libvcdinfo}" = "yes" - then - VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_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],[$LIBVCDINFO_LIBS]) - VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_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)]) @@ -2429,8 +2194,7 @@ 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) ]) @@ -2438,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) @@ -2448,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) @@ -2457,14 +2219,12 @@ 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_PLUGIN([vcd cdda]) VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LIBS([vcdx cdda],[-liconv]) fi @@ -2552,7 +2312,7 @@ 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 @@ -2618,40 +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 - PKG_CHECK_MODULES(LIBMODPLUG, libmodplug >= 0.8, - [ VLC_ADD_PLUGIN([mod]) + [ --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]) - ],[AC_MSG_WARN([libmodplug not found!])]) - fi + ],[ + 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 @@ -2711,7 +2448,7 @@ dnl dnl Codec plugins dnl -AC_ARG_WITH(,[Codec plugins:]) +EXTEND_HELP_STRING([Codec plugins:]) dnl dnl wmafixed plugin @@ -2733,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 @@ -2791,19 +2539,6 @@ 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-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [ @@ -2811,20 +2546,20 @@ AC_ARG_ENABLE(merge-ffmpeg, ]) AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) +AC_CACHE_CHECK([if linker supports -Bsymbolic], + [ac_cv_ld_bsymbolic], + [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic" + AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no) + LDFLAGS="${LDFLAGS_save}" + ]) + dnl dnl avcodec decoder/encoder plugin dnl - -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}" @@ -2833,13 +2568,18 @@ 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 @@ -2851,9 +2591,12 @@ AS_IF([test "${enable_libva}" != "no"], [ AS_IF([test "x${have_avcodec}" = "xyes"], [ PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) echo "VAAPI acceleration activated" ],[ @@ -2861,6 +2604,7 @@ AS_IF([test "${enable_libva}" != "no"], [ [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])], [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])]) ]) + VLC_RESTORE_FLAGS ],[ AS_IF([test "${enable_libva}" == "yes"], [AC_MSG_ERROR([Could not find required libva.])], @@ -2927,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}" @@ -2938,13 +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([access_avio]) - VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([access_avio],[$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]) @@ -2973,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.]) @@ -3077,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 @@ -3090,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 @@ -3191,9 +2929,6 @@ AC_ARG_WITH(a52-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 @@ -3254,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}" ]) @@ -3303,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]) ]) @@ -3323,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}" @@ -3392,26 +3119,6 @@ AS_IF( [test "${enable_libass}" != "no"], [ ]) ]) -dnl -dnl asa demuxer -dnl -AC_ARG_ENABLE(asademux, - [ --enable-asademux asa subtitle demuxing (default disabled)]) -AS_IF( [test "${enable_asademux}" = "yes"], [ - PKG_CHECK_MODULES(PCRE, - libpcre >= 6.5, - [ - VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS]) - VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC]) - fi - VLC_ADD_PLUGIN([asademux]) - ],[ - AC_MSG_WARN([PCRE library not found (required for asademux)]) - ]) - ]) - dnl dnl kate decoder plugin dnl @@ -3464,13 +3171,14 @@ dnl dnl Video plugins dnl -AC_ARG_WITH(,[Video plugins:]) +EXTEND_HELP_STRING([Video plugins:]) dnl dnl Xlib dnl AC_PATH_XTRA() +AC_CHECK_HEADERS(X11/Xlib.h) dnl dnl X C Bindings modules @@ -3493,11 +3201,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb PKG_CHECK_MODULES(XCB, [xcb]) PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) - VLC_ADD_PLUGIN([screensaver]) - VLC_ADD_PLUGIN([xcb_x11]) - VLC_ADD_PLUGIN([xcb_screen]) - VLC_ADD_PLUGIN([xcb_apps]) - 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], [ @@ -3514,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], [ @@ -3526,15 +3232,16 @@ 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"], [ PKG_CHECK_MODULES(XPROTO, [xproto]) - VLC_ADD_PLUGIN([xcb_window]) 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]) ]) @@ -3558,20 +3265,6 @@ AS_IF([test "${enable_glx}" != "no"], [ AC_SUBST([GL_CFLAGS]) AC_SUBST([GL_LIBS]) - -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}" = "darwin"; then - 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 - dnl dnl SDL module dnl @@ -3581,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 @@ -3694,31 +3370,6 @@ then VLC_ADD_PLUGIN([snapshot]) 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 @@ -3735,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!])] ) @@ -3752,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 @@ -3763,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 @@ -3783,32 +3449,6 @@ AC_ARG_ENABLE(fb, ]) 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 @@ -3849,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 @@ -3877,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 @@ -3913,6 +3529,9 @@ 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 @@ -3925,30 +3544,36 @@ 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_LIBS([access_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 @@ -3958,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 @@ -3990,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 @@ -4009,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 @@ -4157,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" @@ -4182,16 +3755,35 @@ AC_ARG_ENABLE(qt4, 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 + ], [ + AC_MSG_RESULT([yes]) + VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + need_xid_provider="no" + VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) ], [ - VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32]) + 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) @@ -4233,8 +3825,7 @@ then VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] ) - VLC_ADD_PLUGIN([macosx]) - VLC_ADD_PLUGIN([minimal_macosx]) + VLC_ADD_PLUGIN([macosx minimal_macosx]) fi dnl @@ -4292,7 +3883,7 @@ 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, @@ -4380,14 +3971,30 @@ PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [aut 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++) @@ -4406,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 @@ -4423,8 +4030,7 @@ then fi fi - -AC_ARG_WITH(,[Misc options:]) +EXTEND_HELP_STRING([Misc options:]) dnl dnl libgcrypt @@ -4475,8 +4081,7 @@ AS_IF([test "${enable_gnutls}" != "no"], [ 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"],[ @@ -4527,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.]) @@ -4595,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 @@ -4605,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 @@ -4699,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 @@ -4729,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" @@ -4752,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 @@ -4770,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 @@ -4807,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 @@ -4823,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 @@ -4845,27 +4475,6 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) -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 Plugin and builtin checks dnl @@ -4895,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]) @@ -4912,8 +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]) -AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s 2>/dev/null || hostname`", [host which ran configure]) -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 @@ -4967,17 +4575,9 @@ dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ - extras/package/win32/spad.nsi - 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 @@ -4985,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 @@ -5020,12 +4614,13 @@ AC_CONFIG_FILES([ modules/codec/Makefile modules/codec/avcodec/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/control/Makefile modules/control/http/Makefile + modules/control/dbus/Makefile modules/control/globalhotkeys/Makefile modules/demux/Makefile modules/demux/asf/Makefile @@ -5036,7 +4631,6 @@ 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 @@ -5048,7 +4642,6 @@ AC_CONFIG_FILES([ modules/misc/dummy/Makefile modules/misc/lua/Makefile modules/misc/notify/Makefile - modules/misc/testsuite/Makefile modules/misc/playlist/Makefile modules/misc/osd/Makefile modules/misc/stats/Makefile @@ -5075,6 +4668,46 @@ AC_CONFIG_FILES([ modules/arm_neon/Makefile ]) +AM_COND_IF([BUILD_MOZILLA], [ + AC_CONFIG_FILES([ + projects/mozilla/install.js + projects/mozilla/install.rdf + projects/mozilla/manifest.json + ]) +]) + +AM_COND_IF([HAVE_WIN32], [ + AC_CONFIG_FILES([ + extras/package/win32/spad.nsi + extras/package/win32/vlc.win32.nsi + ]) + AM_COND_IF([BUILD_ACTIVEX], [ + AC_CONFIG_FILES([ + projects/activex/axvlc.inf + projects/activex/axvlc_rc.rc + ]) + ]) + AM_COND_IF([BUILD_MOZILLA], [ + AC_CONFIG_FILES([ + projects/mozilla/npvlc_rc.rc + ]) + ]) +]) + +AM_COND_IF([HAVE_DARWIN], [ + AC_CONFIG_FILES([ + extras/package/macosx/Info.plist + extras/package/macosx/Resources/English.lproj/InfoPlist.strings + extras/package/macosx/plugin/Info.plist + extras/package/macosx/plugin/InstallerInfo.plist + ]) + AM_COND_IF([BUILD_MOZILLA], [ + AC_CONFIG_FILES([ + projects/mozilla/vlc.r + ]) + ]) +]) + dnl Generate makefiles AC_OUTPUT @@ -5090,7 +4723,10 @@ 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 @@ -5112,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}"