X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=65d4e91150e566747b0cbacffc58e99e99a20f39;hb=12ade3e3bc975d5426ba4af155b7372c31093b31;hp=7daeb303dc84988d4ba709d720ebcaad3a741931;hpb=b3d1041ddf0f5df6c9ac2ecb144733a62829da9c;p=vlc diff --git a/configure.ac b/configure.ac index 7daeb303dc..65d4e91150 100644 --- a/configure.ac +++ b/configure.ac @@ -2,19 +2,18 @@ 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) @@ -23,12 +22,11 @@ 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 @@ -103,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 @@ -131,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 "${SYS}" = "darwin"; then - export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH - export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH + 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 + 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 @@ -175,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}" @@ -196,11 +194,30 @@ 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}" + 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]) @@ -219,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" @@ -241,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" @@ -276,28 +289,6 @@ case "${host_os}" in export MACOSX_DEPLOYMENT_TARGET fi ;; - darwin9*) - if test "${host_cpu}" = "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, :) @@ -310,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 @@ -330,22 +321,27 @@ case "${host_os}" in VLC_ADD_LDFLAGS([vlc],[-mwindows]) 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 netsync],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap 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 netsync],[-lws2]) + VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap 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*) @@ -368,9 +364,9 @@ case "${host_os}" in 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]) + VLC_ADD_LIBS([filesystem access_ftp access_mms access_output_udp netsync sap libvlccore growl_udp],[-lnet]) fi ;; *) @@ -428,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}]) @@ -545,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 setlocale 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 ]) @@ -615,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( @@ -663,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 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]) @@ -752,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 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 @@ -819,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]) @@ -846,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) @@ -920,6 +898,19 @@ 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)]) @@ -974,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], @@ -1368,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" ], [ @@ -1564,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 @@ -1589,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 @@ -1630,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]) ) ) @@ -1644,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"]) @@ -1688,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"]) @@ -1722,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)]) ]) @@ -1746,7 +1728,11 @@ if test "${enable_live555}" != "no"; then 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 @@ -1861,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 enabled)]) -if test "${enable_dvdread}" != "no" -then - AC_ARG_WITH(dvdread, - [ --with-dvdread=PATH libdvdread headers and libraries]) - AC_ARG_WITH(dvdread-tree, - [ --with-dvdread-tree=PATH libdvdread tree for static linking]) - - dnl 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, @@ -1957,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 @@ -1996,48 +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 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 @@ -2174,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 @@ -2225,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}" @@ -2279,6 +2133,29 @@ then fi fi +dnl +dnl special access module for Blackmagic SDI cards +dnl +AC_ARG_ENABLE(sdi, + [ --enable-sdi Blackmagic SDI access module (default enabled)]) +if test "${enable_sdi}" != "no" +then + 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 + 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 gnomeVFS access module dnl @@ -2435,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 @@ -2501,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 @@ -2616,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 @@ -2674,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)],, [ @@ -2694,14 +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 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}" @@ -2710,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 @@ -2732,8 +2595,8 @@ AS_IF([test "${enable_libva}" != "no"], [ CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS]) - VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS]) + VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}]) AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.]) echo "VAAPI acceleration activated" ],[ @@ -2808,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}" @@ -2822,6 +2687,9 @@ then 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]) @@ -2850,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.]) @@ -2966,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 @@ -3174,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]) ]) @@ -3194,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}" @@ -3263,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 @@ -3342,6 +3178,7 @@ dnl Xlib dnl AC_PATH_XTRA() +AC_CHECK_HEADERS(X11/Xlib.h) dnl dnl X C Bindings modules @@ -3364,8 +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 xcb_x11 xcb_screen 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], [ @@ -3382,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], [ @@ -3394,14 +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 globalhotkeys]) + 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]) ]) @@ -3425,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 @@ -3448,48 +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 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 @@ -3560,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 @@ -3617,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 @@ -3647,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 @@ -3713,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 @@ -3741,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 @@ -3777,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 @@ -3795,7 +3550,7 @@ 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" || @@ -3810,7 +3565,15 @@ 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 @@ -3820,7 +3583,19 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp dnl dnl ALSA module dnl -PKG_ENABLE_MODULES_VLC([ALSA], [alsa access_alsa], [alsa >= 1.0.0], [Alsa sound support 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 @@ -3851,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 @@ -3872,84 +3658,11 @@ dnl JACK modules dnl PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) - -dnl -dnl CyberLink for C++ UPnP stack -dnl -AC_ARG_ENABLE(cyberlink, - [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)]) - AS_IF([test "${enable_cyberlink}" = "yes" ], [ - AC_ARG_WITH(cyberlink-tree, - [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking]) - - dnl - dnl test for --with-cyberlink-tree - dnl - AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [ - AC_LANG_PUSH(C++) - real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`" - AS_IF([test -z "${real_cyberlink_tree}"], [ - dnl The given directory can't be found - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}]) - ]) - CPPFLAGS_save="${CPPFLAGS}" - CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include" - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}" - AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h], - [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}]) - VLC_ADD_PLUGIN([upnp_cc]) - ],[ - AC_MSG_ERROR([cannot find CyberLink for C++ headers]) - ]) - AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree}) - AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [ - AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a) - dnl The mere fact that we have to make such an ugly check sucks - AC_MSG_CHECKING(for XML parser to link CyberLink with) - LIBS_save="$LIBS" - LIBS_cclink="no" - for l in "`xml2-config --libs`" -lexpat -lxerces-c; do - LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l" - AC_LINK_IFELSE([AC_LANG_PROGRAM([ -#include -using namespace CyberLink; - -class testclass : public SearchResponseListener, public MediaPlayer -{ - virtual void deviceSearchResponseReceived( SSDPPacket *) - { - } - - public: - testclass (void) - { - addSearchResponseListener (this); - start (); - } -}; -],[testclass l;])],[LIBS_cclink="$l"]) - done - LIBS="${LIBS_save}" - dnl should not happen - otherwise this needs fixing - hence FAILURE - AS_IF([test "${LIBS_cclink}" = "no"], - [AC_MSG_FAILURE([cannot find XML parser for CyberLink])]) - AC_MSG_RESULT([${LIBS_cclink}]) - VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}]) - ], [ - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}]) - ]) - CPPFLAGS="${CPPFLAGS_save}" - AC_LANG_POP([C++]) - ]) -]) - dnl dnl UPnP Plugin (Intel SDK) dnl PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto]) - +VLC_ADD_CXXFLAGS([upnp_intel],[${UPNP_CFLAGS}]) dnl dnl Interface plugins @@ -4011,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" @@ -4036,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) @@ -4275,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 @@ -4394,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.]) @@ -4462,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 @@ -4562,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 @@ -4592,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" @@ -4615,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 @@ -4633,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 @@ -4670,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 @@ -4686,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 @@ -4708,24 +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 test2 test3 test4]) -fi - dnl dnl Plugin and builtin checks dnl @@ -4755,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]) @@ -4826,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 @@ -4844,11 +4585,6 @@ 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 - projects/mozilla/install.rdf share/Makefile compat/Makefile src/Makefile @@ -4878,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 @@ -4905,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 @@ -4932,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 @@ -4972,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}"