X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=7d0a8ab7abcdf4aa549863df4d1584b1d1a4ebcf;hb=bdddf20856824fa1938c45e23cb641899795111b;hp=d60eae342a1e943f1da72eb386c6f67caea1ecff;hpb=6a06a82aa27617efb5a24d34680f8d823585d4cd;p=vlc diff --git a/configure.ac b/configure.ac index d60eae342a..6e25605e10 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Autoconf settings for vlc -AC_COPYRIGHT([Copyright 2002-2013 VLC authors and VideoLAN]) +AC_COPYRIGHT([Copyright 2002-2014 VLC authors and VideoLAN]) -AC_INIT(vlc, 2.2.0-git) -VERSION_MAJOR=2 -VERSION_MINOR=2 +AC_INIT(vlc, 3.0.0-git) +VERSION_MAJOR=3 +VERSION_MINOR=0 VERSION_REVISION=0 VERSION_EXTRA=0 VERSION_DEV=git @@ -13,8 +13,8 @@ PKGDIR="vlc" AC_SUBST(PKGDIR) CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" -CODENAME="Weatherwax" -COPYRIGHT_YEARS="1996-2013" +CODENAME="Vetinari" +COPYRIGHT_YEARS="1996-2014" AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) @@ -56,7 +56,11 @@ AC_PROG_CC_C99 AC_USE_SYSTEM_EXTENSIONS AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.]) AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.]) -AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.]) +AH_TOP([ +#ifndef _REENTRANT +# define _REENTRANT +#endif +]) AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.]) AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.]) AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of .]) @@ -73,7 +77,7 @@ AM_PROG_AS AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files]) AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :) -AC_CHECK_PROGS(YASM, yasm) +AC_PATH_PROG(YASM, yasm) dnl Check for compiler properties AC_C_CONST @@ -97,6 +101,8 @@ dnl dnl Check the operating system dnl HAVE_WIN64="0" +HAVE_IOS="0" +HAVE_OSX="0" YASMFLAGS="" case "${host}" in @@ -169,9 +175,16 @@ case "${host_os}" in OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}" LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}" VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit]) - VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x262 x264 x26410b],[-Wl,-read_only_relocs,suppress]) VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CoreServices]) + AC_EGREP_CPP(yes, + [#import + #if TARGET_OS_IPHONE + yes + #endif], + [HAVE_IOS="1"], + [HAVE_OSX="1"]) + dnl Allow binaries created on Lion to run on earlier releases AC_EGREP_CPP(yes, [#import @@ -217,6 +230,14 @@ case "${host_os}" in AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.]) AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.]) AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.]) + AC_DEFINE([_ISOC99_SOURCE], [1], [Extensions to ISO C89 from ISO C99.]) + AC_DEFINE([_ISOC11_SOURCE], [1], [Extensions to ISO C99 from ISO C11.]) + AC_DEFINE([_POSIX_SOURCE], [1], [IEEE Std 1003.1.]) + AC_DEFINE([_POSIX_C_SOURCE], [200809L], [IEEE Std 1003.1.]) + AC_DEFINE([_XOPEN_SOURCE], [700], [POSIX and XPG 7th edition]) + AC_DEFINE([_XOPEN_SOURCE_EXTENDED], [1], [XPG things and X/Open Unix extensions.]) + AC_DEFINE([_BSD_SOURCE], [1], [ISO C, POSIX, and 4.3BSD things.]) + AC_DEFINE([_SVID_SOURCE], [1], [ISO C, POSIX, and SVID things.]) case "${host_os}" in *mingw32*) @@ -237,9 +258,6 @@ case "${host_os}" in # DEP, ASLR, NO SEH LDFLAGS="${LDFLAGS} -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" - VLC_ADD_LIBS([libvlccore],[-lwinmm]) - VLC_ADD_LDFLAGS([vlc],[-mwindows]) - VLC_ADD_LIBS([win32text],[-lgdi32]) AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_win32" DESTDIR="`pwd`/_win32/" @@ -279,7 +297,7 @@ case "${host_os}" in ;; *os2*) SYS=os2 - LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild" + LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild -Zhigh-mem" ;; *) SYS="${host_os}" @@ -291,6 +309,8 @@ AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2") AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian") +AM_CONDITIONAL(HAVE_IOS, test "${HAVE_IOS}" = "1") +AM_CONDITIONAL(HAVE_OSX, test "${HAVE_OSX}" = "1") AC_SUBST(YASMFLAGS) @@ -375,11 +395,7 @@ AS_IF([test -n "${CONTRIB_DIR}"], [ CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include" CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include" OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" - AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [ - export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" - ], [ - export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig" - ]) + export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH" LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" AS_IF([test "${SYS}" = "darwin"], [ @@ -393,6 +409,13 @@ AS_IF([test -n "${CONTRIB_DIR}"], [ ]) AC_SUBST(CONTRIB_DIR) +dnl Add extras/tools to the PATH +TOOLS_DIR="${srcdir}/extras/tools/build/bin" +AS_IF([test -d "${TOOLS_DIR}"], [ + TOOLS_DIR=`cd "${TOOLS_DIR}" && pwd` + export PATH="${TOOLS_DIR}":$PATH +]) + dnl dnl Libtool dnl It's very bad, but our former custom system was worst @@ -420,7 +443,7 @@ AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [ dnl dnl Gettext stuff dnl -AM_GNU_GETTEXT_VERSION([0.18.3]) +AM_GNU_GETTEXT_VERSION([0.19.2]) AM_GNU_GETTEXT([external], [need-ngettext]) dnl @@ -431,6 +454,7 @@ AM_ICONV dnl dnl checks for mingw AS_IF([test "${SYS}" = "mingw32"], [ + dnl Check for broken versions of mingw-runtime compatability library AC_MSG_CHECKING(for broken mingw-runtime) AC_PREPROC_IFELSE([AC_LANG_SOURCE([ @@ -448,10 +472,14 @@ dnl Check for broken versions of mingw-runtime compatability library AC_MSG_RESULT([present]) AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!]) ]) + dnl force use of mingw provided c99 *printf over msvcrt CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1" -dnl Check for the need to include the mingwex lib for mingw32 + dnl Add WinMainCRTStartup entry point to show it's a WinMain application + VLC_ADD_LDFLAGS([vlc],[-mwindows]) + + dnl Check for the need to include the mingwex lib for mingw32 VLC_SAVE_FLAGS AC_CHECK_LIB(mingwex,opendir, AC_CHECK_LIB(mingw32,opendir,, @@ -459,7 +487,7 @@ dnl Check for the need to include the mingwex lib for mingw32 ) VLC_RESTORE_FLAGS -dnl Check for fnative-struct or mms-bitfields support for mingw32 + dnl Check for fnative-struct or mms-bitfields support for mingw32 VLC_SAVE_FLAGS CFLAGS="${CFLAGS} -mms-bitfields" CXXFLAGS="${CXXFLAGS} -mms-bitfields" @@ -482,11 +510,17 @@ AC_ARG_ENABLE(winstore_app, [Build targetted for Windows Store apps (default disabled)])) vlc_winstore_app=0 -AS_IF([test "${SYS}" = "mingw32" -a "${enable_winstore_app}" = "yes"], [ +AS_IF([test "${SYS}" = "mingw32"],[ + AS_IF([test "${enable_winstore_app}" = "yes"], [ vlc_winstore_app=1 - VLC_ADD_LIBS([libvlccore], [-lole32 -lruntimeobject]) + VLC_ADD_LIBS([libvlccore], [-lole32 -lruntimeobject]) + ],[ + VLC_ADD_LIBS([win32text],[-lgdi32]) + VLC_ADD_LIBS([libvlccore],[-lwinmm]) ]) + ]) AC_DEFINE_UNQUOTED(VLC_WINSTORE_APP, ${vlc_winstore_app}, [Define to 1 if you want to build for Windows Store apps]) +AM_CONDITIONAL([HAVE_WINSTORE], [test "$vlc_winstore_app" = "1"]) dnl @@ -521,7 +555,7 @@ need_libc=false dnl Check for usual libc functions AC_CHECK_DECLS([nanosleep],,,[#include ]) -AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) +AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale pthread_cond_timedwait_monotonic_np pthread_condattr_setclock]) AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) @@ -575,6 +609,7 @@ AC_CHECK_TYPES([struct pollfd],,, #if HAVE_POLL # include #elif defined (_WIN32) +# define _WIN32_WINNT 0x502 # include #endif ]) @@ -592,7 +627,7 @@ AC_SEARCH_LIBS(connect, [socket], [ ]) ]) -AC_SEARCH_LIBS([getaddrinfo], [nsl], [ +AC_SEARCH_LIBS([inet_pton], [nsl], [ AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [ SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS" ]) @@ -616,7 +651,7 @@ AC_CHECK_FUNCS([if_nameindex if_nametoindex]) VLC_RESTORE_FLAGS AS_IF([test -n "$SOCKET_LIBS"], [ - VLC_ADD_LIBS([access_rtmp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp oldrc netsync gnutls ts remoteosd audiobargraph_a],[${SOCKET_LIBS}]) + VLC_ADD_LIBS([access_rtmp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop stream_out_chromecast oldrc netsync ts remoteosd audiobargraph_a],[${SOCKET_LIBS}]) ]) AC_SUBST(SOCKET_LIBS) @@ -665,7 +700,7 @@ AC_CHECK_FUNC(getopt_long,, [ AC_SUBST(GNUGETOPT_LIBS) AC_CHECK_LIB(m,cos,[ - VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom noise grain scene chorus_flanger freetype swscale postproc equalizer spatializer param_eq samplerate freetype mpc qt4 compressor headphone_channel_mixer normvol audiobargraph_a audiobargraph_v mono colorthres extract ball hotkeys mosaic gaussianblur x262 x26410b hqdn3d anaglyph oldrc ncurses oldmovie glspectrum],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom noise grain scene chorus_flanger freetype swscale postproc equalizer spatializer param_eq samplerate freetype mpc qt4 compressor headphone_channel_mixer normvol audiobargraph_a audiobargraph_v mono colorthres extract ball hotkeys mosaic gaussianblur x262 x26410b hqdn3d anaglyph oldrc ncurses oldmovie glspectrum smooth],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -676,14 +711,17 @@ AC_CHECK_LIB(m,lrintf, [ AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function]) VLC_ADD_LIBS([skins2],[-lm]) ]) +AC_CHECK_LIB(m,nanf, + AC_DEFINE(HAVE_NANF, 1, [Define to 1 if you have the NANF function]) +) dnl Check for dynamic plugins LIBDL="" have_dynamic_objects="no" VLC_SAVE_FLAGS -AC_SEARCH_LIBS(dlopen, [dl svld], [ - AS_IF([test "$ac_cv_search_dlopen" != "none required"], [ - LIBDL="$ac_cv_search_dlopen" +AC_SEARCH_LIBS(dlsym, [dl svld], [ + AS_IF([test "$ac_cv_search_dlsym" != "none required"], [ + LIBDL="$ac_cv_search_dlsym" ]) have_dynamic_objects="yes" ]) @@ -733,25 +771,19 @@ AS_IF([test "${SYS}" != "mingw32"], [ AC_SUBST(LIBPTHREAD) dnl Check for headers -AC_CHECK_HEADERS([search.h]) -AC_CHECK_HEADERS(getopt.h locale.h xlocale.h) -AC_CHECK_HEADERS([sys/time.h sys/ioctl.h]) -AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h]) +dnl POSIX +AC_CHECK_HEADERS([arpa/inet.h pthread.h search.h syslog.h sys/shm.h sys/socket.h]) AC_CHECK_HEADERS([net/if.h], [], [], - [ - #include - #include - ]) -AC_CHECK_HEADERS([sys/mount.h], [], [], - [ - #include - ]) - -if test "${SYS}" != "mingw32"; then - AC_CHECK_HEADERS(machine/param.h sys/shm.h) - AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) - AC_CHECK_HEADERS(syslog.h mntent.h) -fi # end "${SYS}" != "mingw32" +[ +#include +#include +]) +dnl BSD +AC_CHECK_HEADERS([netinet/udplite.h sys/param.h sys/mount.h]) +dnl GNU/Linux +AC_CHECK_HEADERS([getopt.h linux/dccp.h linux/magic.h mntent.h sys/eventfd.h]) +dnl MacOS +AC_CHECK_HEADERS([xlocale.h]) dnl LP64 and LLP64 architectures had better define ssize_t by themselves... AH_TEMPLATE(ssize_t, [Define to `int' if does not define.]) dnl ` (fix VIM syntax highlight @@ -759,11 +791,6 @@ AC_CHECK_TYPE(ssize_t,, [ AC_DEFINE(ssize_t, int) ]) -dnl Check for threads library -if test "${SYS}" != "mingw32"; then - AC_CHECK_HEADERS(pthread.h) -fi # end "${SYS}" != "mingw32" - dnl It seems that autoconf detects pkg-config only during the first dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case, dnl it is nested within a conditional block, so it was not working right. @@ -851,7 +878,7 @@ dnl dnl Compiler warnings dnl -RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) +RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration init-self logical-op]) RDC_PROG_CC_FLAGS([-pipe]) AC_LANG_PUSH([C++]) RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) @@ -936,33 +963,20 @@ AC_ARG_ENABLE(optimizations, dnl Check for various optimization flags AS_IF([test "${enable_optimizations}" != "no"], [ - dnl -O4 and -O3 only in production builds - AS_IF([test "{enable_debug}" = "no"], [ + dnl -O3 only in production builds + AS_IF([test "${enable_debug}" = "no"], [ VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -O4" - CXXFLAGS="${CXXFLAGS} -O4" - OBJCFLAGS="${OBJCFLAGS} -O4" - AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [ + CFLAGS="${CFLAGS} -O3" + CXXFLAGS="${CXXFLAGS} -O3" + OBJCFLAGS="${OBJCFLAGS} -O3" + AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ - ac_cv_c_o4=yes + ac_cv_c_o3=yes ], [ - ac_cv_c_o4=no - ]) - ]) - AS_IF([test "${ac_cv_c_o4}" = "no"], [ - VLC_RESTORE_FLAGS - CFLAGS="${CFLAGS} -O3" - CXXFLAGS="${CXXFLAGS} -O3" - OBJCFLAGS="${OBJCFLAGS} -O3" - AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ - ac_cv_c_o3=yes - ], [ - ac_cv_c_o3=no - ]) + ac_cv_c_o3=no ]) - AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS]) ]) + AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS]) ]) dnl Check for -ffast-math @@ -980,8 +994,13 @@ AS_IF([test "${enable_optimizations}" != "no"], [ AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS]) AH_BOTTOM([ #ifndef __FAST_MATH__ -# pragma STDC FENV_ACCESS OFF -# pragma STDC FP_CONTRACT ON +# ifndef _MSC_VER +# pragma STDC FENV_ACCESS OFF +# pragma STDC FP_CONTRACT ON +# else +# pragma fenv_access(off) +# pragma fp_contract(on) +# endif #endif ]) @@ -1390,9 +1409,9 @@ AS_IF([test "${enable_altivec}" = "yes"], [ [ac_cv_altivec_inline], [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");], ac_cv_altivec_inline="yes", - [CFLAGS="${CFLAGS} -Wa,-m7400" + [CFLAGS="${CFLAGS} -Wa,-maltivec" AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");], - [ac_cv_altivec_inline="-Wa,-m7400"], + [ac_cv_altivec_inline="-Wa,-maltivec"], ac_cv_altivec_inline=no) ])]) VLC_RESTORE_FLAGS @@ -1519,7 +1538,7 @@ then AS_IF([test "${LUAC}" = "false"], [ AC_MSG_ERROR([Could not find the LUA byte compiler.]) ]) - AS_IF([test -d "${CONTRIB_DIR}" -a -f "${CONTRIB_DIR}"/lib/liblua.a -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|cut -d' ' -f2` != 0404], [ + AS_IF([test -d "${CONTRIB_DIR}" -a -f "${CONTRIB_DIR}/lib/liblua.a" -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|tr -s ' '|cut -d' ' -f2` != 0404], [ AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.]) ]) fi @@ -1555,12 +1574,30 @@ AS_IF([test "${enable_vlm}" != "no"], [ AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"]) +dnl +dnl Addons manager storage and repositories modules +dnl +AC_ARG_ENABLE(addonmanagermodules, + [AS_HELP_STRING([--disable-addonmanagermodules], + [disable the addons manager modules (default enabled)])]) +if test "${enable_addonmanagermodules}" != "no" +then + AC_DEFINE(ENABLE_ADDONMANAGERMODULES, 1, [Define if you want the addons manager modules]) +fi +AM_CONDITIONAL([ENABLE_ADDONMANAGERMODULES], [test "${enable_addonmanagermodules}" != "no"]) + + dnl dnl Input plugins dnl EXTEND_HELP_STRING([Input plugins:]) +dnl +dnl libarchive access module +dnl +PKG_ENABLE_MODULES_VLC([ARCHIVE], [access_archive], [libarchive >= 2.8.5], (libarchive support), [auto]) + dnl dnl live555 input dnl @@ -1672,30 +1709,17 @@ AS_IF([test "$SYS" = "linux" -a "${enable_linsys}" != "no"], [ dnl dnl dvdread module: check for libdvdread dnl -PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto]) +PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread > 4.9.0], [dvdread input module], [auto]) dnl dnl libdvdnav plugin dnl -AC_ARG_ENABLE(dvdnav, - [AS_HELP_STRING([--disable-dvdnav], - [disable DVD navigation with libdvdnav (default auto)])]) -AS_IF([test "${enable_dvdnav}" != "no"], [ - PKG_CHECK_MODULES(DVDNAV, dvdnav, [ - VLC_ADD_PLUGIN([dvdnav]) - 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}])], - [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])]) -]) +PKG_ENABLE_MODULES_VLC([DVDNAV], [], [dvdnav > 4.9.0], [DVD with navigation input module (dvdnav)], [auto]) dnl dnl Blu-ray Disc Support with libbluray dnl -PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) ) +PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.3.0], (libbluray for Blu-ray disc support ) ) dnl dnl OpenCV wrapper and example filters @@ -1709,11 +1733,15 @@ dnl PKG_ENABLE_MODULES_VLC([SMBCLIENT], [smb], [smbclient], (SMB/CIFS support), [auto]) AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ]) +dnl +dnl liBDSM access module +dnl +PKG_ENABLE_MODULES_VLC([DSM], [dsm], [libdsm], [libdsm SMB/CIFS access/sd module], [auto]) dnl dnl sftp access support dnl -PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto]) +PKG_ENABLE_MODULES_VLC([SFTP], [sftp], [libssh2], (support SFTP file transfer via libssh2), [auto]) dnl dnl Video4Linux 2 @@ -1920,19 +1948,8 @@ AM_CONDITIONAL(HAVE_AVFOUNDATION, [test "${have_avfoundation}" != "no"]) dnl dnl DCP plugin (using asdcplib) dnl -AC_ARG_ENABLE(dcp, - AS_HELP_STRING([--enable-dcp],[Digital Cinema Package support using asdcplib (default auto)])) -have_asdcp="no" -AS_IF([test "x${enable_dcp}" != "no"], [ - AC_LANG_PUSH(C++) - AC_CHECK_HEADERS( [[AS@&t@_DCP.h]], - [have_asdcp="yes"], - [AS_IF( [test "x${enable_dcp}" = "yes"], - [AC_MSG_ERROR( [ ASDCP library cannot be found (needed for dcp module). Either use --enable-dcp=no or install asdcp library: http://www.cinecert.com/asdcplib/download/] )]) - ]) - AC_LANG_POP(C++) -]) -AM_CONDITIONAL(HAVE_ASDCP, [test "${have_asdcp}" != "no"]) +PKG_WITH_MODULES([ASDCP], [asdcplib], [have_asdcp="yes"]) +AM_CONDITIONAL(HAVE_ASDCP, [test "${have_asdcp}" = "yes"]) dnl dnl Demux plugins @@ -2001,6 +2018,10 @@ dnl dnl ogg demux plugin dnl PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto]) +PKG_CHECK_MODULES(LIBVORBIS, [vorbis >= 1.1], [ + AC_DEFINE(HAVE_LIBVORBIS, 1, [Define to 1 if you have the libvorbis]) +],[true]) +PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto], [${LIBVORBIS_CFLAGS}], [${LIBVORBIS_LIBS}]) if test "${enable_sout}" != "no"; then PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto]) dnl Check for libshout @@ -2068,6 +2089,7 @@ 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_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS]) ],[ AS_IF([test -n "${enable_mod}"], @@ -2239,13 +2261,47 @@ AC_ARG_ENABLE(merge-ffmpeg, ]) AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) +AC_MSG_CHECKING([for libavutil variant]) +PKG_CHECK_EXISTS([libavutil], [ + libavutil_version="$(${PKG_CONFIG} --modversion libavutil)" + libavutil_micro="${libavutil_version##*.}" + AS_IF([test ${libavutil_micro} -le 99], [ + avfork="libav" + ], [ + avfork="ffmpeg" + ]) +], [ + avfork="none" +]) +AC_MSG_RESULT([${avfork}]) + +dnl +dnl gstreamer stuff +dnl +AC_ARG_ENABLE(gst-decode, + [ --enable-gst-decode GStreamer based decoding support (currently supports only video decoding) (default auto)]) + +have_gst_decode="no" +AS_IF([test "${enable_gst_decode}" != "no"], [ + PKG_CHECK_MODULES([GST_APP], [gstreamer-app-1.0], [ + PKG_CHECK_MODULES([GST_VIDEO], [gstreamer-video-1.0], [ + have_gst_decode="yes" + ], [ + AC_MSG_WARN([${GST_VIDEO_PKG_ERRORS}. GStreamer decoder module will not be built.]) + ]) + ], [ + AC_MSG_WARN([${GST_APP_PKG_ERRORS}. GStreamer modules will not be built.]) + ]) +]) +AM_CONDITIONAL([HAVE_GST_DECODE], [test "${have_gst_decode}" = "yes"]) + dnl dnl avcodec decoder/encoder plugin dnl AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 54.25.0 libavutil >= 52.0.0], [ dnl PKG_CHECK_EXISTS([libavcodec < 56],, [ dnl AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) dnl ]) @@ -2273,30 +2329,50 @@ AC_ARG_ENABLE(libva, AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [ AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.]) ]) -have_avcodec_vaapi="no" -AS_IF([test "${enable_libva}" != "no" -a "${have_avcodec}" = "yes"], [ - PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" - CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" - AC_CHECK_HEADERS(libavcodec/vaapi.h, [ - AC_MSG_NOTICE([VAAPI acceleration activated]) - have_avcodec_vaapi="yes" - ],[ - AS_IF([test -n "${enable_libva}"], [ - AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing]) - ], [ - AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ]) - ]) - ]) - VLC_RESTORE_FLAGS - ],[ + +have_vaapi="no" +have_vaapi_drm="no" +have_vaapi_x11="no" +AS_IF([test "${enable_libva}" != "no"], [ + PKG_CHECK_EXISTS([libva], [ + have_vaapi="yes" + ], [ AS_IF([test -n "${enable_libva}"], [ AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.]) ], [ AC_MSG_WARN([${LIBVA_PKG_ERRORS}.]) ]) ]) + PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm], [ + have_vaapi_drm="yes" + ], [ + AC_MSG_WARN([${LIBVA_DRM_PKG_ERRORS}.]) + ]) + PKG_CHECK_MODULES(LIBVA_X11, [libva-x11], [ + have_vaapi_x11="yes" + ], [ + AC_MSG_WARN([${LIBVA_X11_PKG_ERRORS}.]) + ]) +]) +AM_CONDITIONAL([HAVE_VAAPI_DRM], [test "${have_vaapi_drm}" = "yes"]) +AM_CONDITIONAL([HAVE_VAAPI_X11], [test "${have_vaapi_x11}" = "yes"]) + +have_avcodec_vaapi="no" +AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" + AC_CHECK_HEADERS([libavcodec/vaapi.h], [ + AC_MSG_NOTICE([VAAPI acceleration activated]) + have_avcodec_vaapi="yes" + ],[ + AS_IF([test -n "${enable_libva}"], [ + AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing]) + ], [ + AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ]) + ]) + ]) + VLC_RESTORE_FLAGS ]) AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"]) @@ -2365,7 +2441,13 @@ AS_IF([test "${enable_vda}" != "no"], [ AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.]) ]) ]) - fi + AS_IF([test "${have_avcodec_vda}" = "yes"], [ + SAVE_LIBS=$LIBS + LIBS="$LIBS $AVCODEC_LIBS" + AC_CHECK_FUNCS([av_vda_alloc_context]) + LIBS=$SAVE_LIBS + ]) + fi ]) AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"]) @@ -2412,6 +2494,7 @@ then CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}" CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}" AC_CHECK_HEADERS(libswscale/swscale.h) + AC_CHECK_HEADERS(libavutil/avutil.h) VLC_ADD_PLUGIN([swscale]) VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS]) VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS]) @@ -2504,6 +2587,9 @@ AS_IF([test "${enable_vpx}" != "no"],[ VLC_ADD_PLUGIN([vpx]) VLC_ADD_CPPFLAGS([vpx], [${VPX_CFLAGS}]) VLC_ADD_LIBS([vpx], [${VPX_LIBS}]) + AC_CHECK_LIB([vpx],[vpx_codec_vp8_dx], [ + VLC_ADD_CPPFLAGS([vpx], [-DENABLE_VP8_DECODER]) + ], [], [${VPX_LIBS}]) AC_CHECK_LIB([vpx],[vpx_codec_vp9_dx], [ VLC_ADD_CPPFLAGS([vpx], [-DENABLE_VP9_DECODER]) ], [], [${VPX_LIBS}]) @@ -2668,9 +2754,9 @@ dnl PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto]) dnl -dnl dirac encoder plugin +dnl Daala decoder plugin dnl -PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto]) +PKG_ENABLE_MODULES_VLC([DAALA], [], [ogg daaladec daalaenc], [experimental daala codec], [disabled]) dnl dnl schroedinger decoder plugin (for dirac format video) @@ -2750,28 +2836,7 @@ AC_ARG_WITH(x262-tree, fi dnl x265 encoder -AC_ARG_ENABLE(x265, - AS_HELP_STRING([--enable-x265],[H265 / HEVC encoding support with libx265 (default enabled)])) -AS_IF( [test "${enable_x265}" != "no"],[ - AC_PREPROC_IFELSE([AC_LANG_SOURCE([ -#include -#if X265_BUILD != 4 -# error Fail -#endif - ])], [ - AC_CHECK_LIB([x265],[x265_encoder_open_4], [ - VLC_ADD_PLUGIN([x265]) - VLC_ADD_LIBS([x265], [-lx265 -lstdc++ -lm -lpthread]) - ], [ - AC_MSG_ERROR([x265 library not found]) - ], [-lstdc++ -lm -lpthread]) - ], [ - AS_IF([test "${enable_x265}" = "yes"], [ - AC_MSG_ERROR([x265.h not found]) - ]) - ]) -]) - +PKG_ENABLE_MODULES_VLC([X265],, [x265], [HEVC/H.265 encoder], [auto]) dnl dnl H264 encoder plugin (10-bit lib264) @@ -2944,6 +3009,29 @@ AS_IF( [test "${enable_libass}" != "no"], [ ]) ]) +dnl +dnl ARIB subtitles rendering module +dnl +AC_ARG_ENABLE(aribsub, + [ --enable-aribsub ARIB Subtitles support (default enabled)]) +AS_IF( [test "${enable_aribsub}" != "no" ],[ + PKG_CHECK_MODULES(ARIBB24, [aribb24 >= 1.0.1], [ + have_aribb24="yes" + VLC_ADD_PLUGIN([aribsub]) + VLC_ADD_LIBS([aribsub],[-laribb24]) + AC_DEFINE(HAVE_ARIBB24, 1, [Define if libaribb24 is available.]) + ],[ + AC_MSG_WARN(Library [aribb24] needed for [aribsub] was not found) + have_aribb24="no" + ]) +]) +AM_CONDITIONAL([HAVE_ARIBB24], [test x"${have_aribb24}" = x"yes"]) + +dnl +dnl ARIB B25 +dnl +PKG_ENABLE_MODULES_VLC([ARIBB25], [aribcam], [aribb25 >= 0.2.6], [ARIB STD-B25], [auto]) + dnl dnl kate decoder plugin dnl @@ -2980,26 +3068,25 @@ PKG_CHECK_MODULES([EGL], [egl], [ ]) AM_CONDITIONAL([HAVE_EGL], [test "${have_egl}" = "yes"]) +have_gl="no" PKG_CHECK_MODULES([GL], [gl], [ have_gl="yes" ], [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ - [#include ]], [ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef _WIN32 +# include +#endif +#include +]], [ [int t0 = GL_TEXTURE0;]]) ], [ - have_gl="yes" GL_CFLAGS="" - AS_IF([test "${SYS}" = "mingw32"], [ - AC_CHECK_HEADER([GL/glew.h], [ - ], [ - have_gl="no" - ]) - GL_LIBS="-lopengl32" - ], [ + have_gl="yes" + AS_IF([test "${SYS}" != "mingw32"], [ GL_LIBS="-lGL" + ], [ + GL_LIBS="-lopengl32" ]) - ], [ - have_gl="no" ]) ]) AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"]) @@ -3087,20 +3174,65 @@ AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"]) have_avcodec_vdpau="no" AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [ - PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [ + case "${avfork}" in + libav) av_vdpau_ver="55.26.0" ;; + ffmpeg) av_vdpau_ver="55.42.100" ;; + esac + PKG_CHECK_EXISTS([libavutil >= 52.4.0 libavcodec >= ${av_vdpau_ver}], [ have_avcodec_vdpau="yes" AC_MSG_NOTICE([VDPAU decoding acceleration activated]) ], [ AS_IF([test -n "${enable_vdpau}"], [ - AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.]) + AC_MSG_ERROR([libavutil >= 52.4.0 and libavcodec >= 55.26.0 are required for VDPAU decoding.]) ], [ - AC_MSG_WARN([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.]) + AC_MSG_WARN([libavutil >= 52.4.0 and libavcodec >= 55.26.0 are required for VDPAU decoding.]) ]) ]) ]) AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"]) +dnl +dnl Wayland +dnl +AC_ARG_ENABLE(wayland, + [AS_HELP_STRING([--enable-wayland], [Wayland support (default auto)])]) +have_wayland="no" +AC_ARG_VAR([WAYLAND_SCANNER], [Wayland scanner utility]) + +AS_IF([test "${enable_wayland}" != "no"], [ + AC_MSG_CHECKING([for the Wayland scanner]) + AS_IF([test -z "$WAYLAND_SCANNER"], [ + PKG_CHECK_EXISTS([wayland-scanner], [ + WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)" + ], [ + WAYLAND_SCANNER="wayland-scanner" + ]) + ]) + AC_MSG_RESULT([$WAYLAND_SCANNER]) + + PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= 1.5.91], [ + have_wayland="yes" + ], [ + AS_IF([test -n "${enable_wayland}"], [ + AC_MSG_ERROR([${WAYLAND_CLIENT_PKG_ERRORS}.]) + ]) + ]) + + AS_IF([test "${have_egl}" = "yes"], [ + PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl], [ + have_wayland_egl="yes" + ], [ + AS_IF([test -n "${enable_wayland}"], [ + AC_MSG_ERROR([${WAYLAND_EGL_PKG_ERRORS}.]) + ]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_WAYLAND], [test "${have_wayland}" = "yes"]) +AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test "${have_wayland_egl}" = "yes"]) + + dnl dnl SDL module dnl @@ -3115,11 +3247,6 @@ then if test "${SYS}" != "darwin"; then VLC_ADD_PLUGIN([vout_sdl]) fi - if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then - VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - fi - VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}]) - VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}]) # SDL_image AS_IF([ test "${enable_sdl_image}" != "no"],[ @@ -3133,29 +3260,6 @@ then ]) fi - -dnl -dnl Mac Vout -AC_ARG_ENABLE(macosx-vout, - [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)]) -if test "x${enable_macosx_vout}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes") -then - VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa]) - VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL]) - VLC_ADD_PLUGIN([vout_macosx]) -fi - -dnl -dnl Mac CoreGraphics Layer Vout -AC_ARG_ENABLE(coregraphicslayer-vout, - [ --enable-coregraphicslayer-vout CoreGraphics layered video output module (default disabled)]) -if test "${enable_coregraphicslayer_vout}" = "yes"; then - VLC_ADD_LIBS([vout_coregraphicslayer],[-Wl,-framework,Cocoa]) - VLC_ADD_LIBS([vout_coregraphicslayer],[-Wl,-framework,QuartzCore]) - VLC_ADD_PLUGIN([vout_coregraphicslayer]) -fi - dnl dnl freetype module dnl @@ -3210,7 +3314,9 @@ if test "${enable_freetype}" != "no"; then ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])]) fi else - VLC_ADD_LIBS([freetype],[-lgdi32]) + AS_IF([test "$vlc_winstore_app" != "1"],[ + VLC_ADD_LIBS([freetype],[-lgdi32]) + ]) fi dnl fribidi support @@ -3243,9 +3349,10 @@ then fi dnl -dnl SVG module +dnl SVG module (text rendering and image decoding) dnl PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto]) +PKG_ENABLE_MODULES_VLC([SVGDEC], [], [librsvg-2.0 >= 2.9.0 cairo >= 1.13.1], [SVG image decoder library],[auto]) dnl dnl android surface module @@ -3253,25 +3360,10 @@ dnl AC_ARG_ENABLE(android-surface, [ --enable-android-surface Android Surface video output module (default disabled)]) if test "${enable_android_surface}" = "yes"; then - if test "${HAVE_ANDROID}" = "1"; then VLC_ADD_PLUGIN([android_surface]) - VLC_ADD_LIBS([android_surface], [-ldl]) - fi -fi - - -dnl -dnl iOS ES2 vout module -dnl -AC_ARG_ENABLE(ios-vout2, - [ --enable-ios-vout2 iOS video output module (default disabled)]) -if test "${enable_ios_vout2}" = "yes" -then - VLC_ADD_PLUGIN([vout_ios2]) - VLC_ADD_LIBS([vout_ios2], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit]) + VLC_ADD_PLUGIN([android_window]) fi - dnl dnl Windows DirectX module dnl @@ -3397,10 +3489,6 @@ then if test "${have_aa}" = "true" 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 @@ -3432,6 +3520,35 @@ AS_IF([test "$enable_kva" != "no"], [ AC_SUBST(KVA_LIBS) AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"]) +dnl +dnl MMAL plugin +dnl +AC_ARG_ENABLE(mmal, + AS_HELP_STRING([--enable-mmal], + [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)])) +if test "${enable_mmal}" != "no"; then + VLC_SAVE_FLAGS + LDFLAGS="${LDFLAGS} -L/opt/vc/lib" + CPPFLAGS="${CPPFLAGS} -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux" + AC_CHECK_HEADERS(interface/mmal/mmal.h, + [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [ + have_mmal="yes" + VLC_ADD_PLUGIN([mmal]) + VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ]) + VLC_ADD_CFLAGS([mmal],[ -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux ]) + VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal ]) ], [ + AS_IF([test "${enable_mmal}" = "yes"], + [ AC_MSG_ERROR([Cannot find bcm library...]) ], + [ AC_MSG_WARN([Cannot find bcm library...]) ]) + ], + []) + ] , [ AS_IF([test "${enable_mmal}" = "yes"], + [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ], + [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ]) + VLC_RESTORE_FLAGS +fi +AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"]) + dnl dnl Audio plugins dnl @@ -3446,23 +3563,11 @@ AC_ARG_ENABLE(pulse, [use the PulseAudio client library (default auto)])]) have_pulse="no" AS_IF([test "${enable_pulse}" != "no"], [ - PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [ + PKG_CHECK_MODULES([PULSE], [libpulse >= 1.0], [ have_pulse="yes" ], [ - PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [ - AS_IF([test "${no_x}" != "yes"], [ - have_pulse="yes" - PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11" - ], [ - AS_IF([test "${enable_pulse}" = "yes"], [ - AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions -(see http://www.pulseaudio.org/ticket/799 for further reference).]) - ]) - ]) - ], [ - AS_IF([test "x${enable_pulse}" != "x"], [ - AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.]) - ]) + AS_IF([test "x${enable_pulse}" != "x"], [ + AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 1.0 or later required.]) ]) ]) ]) @@ -3550,31 +3655,6 @@ AS_IF([test "$enable_wasapi" != "no"], [ ]) AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"]) -dnl -dnl CoreAudio plugin -dnl -AC_ARG_ENABLE(macosx-audio, - [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)]) -if test "x${enable_macosx_audio}" != "xno" && - (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes") -then - AC_CHECK_HEADER([CoreAudio/CoreAudio.h], - [ VLC_ADD_PLUGIN([auhal]) - ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) -fi - -dnl -dnl iOS CoreAudio plugin -dnl -AC_ARG_ENABLE(ios-audio, - [ --enable-ios-audio Audio module for iOS (default disabled)]) -if test "${enable_ios_audio}" = "yes" -then - AC_CHECK_HEADER([AudioUnit/AudioUnit.h], - [ VLC_ADD_PLUGIN([audiounit_ios]) - ], [ AC_MSG_ERROR([cannot find AudioUnit headers]) ]) -fi - dnl dnl AudioQueue plugin dnl @@ -3665,6 +3745,31 @@ PKG_WITH_MODULES([CHROMAPRINT],[libchromaprint >= libchromaprint_version], [(Chromaprint based audio fingerprinter)],[auto]) m4_popdef([libchromaprint_version]) +dnl +dnl Chromecast streaming support +dnl +m4_pushdef([protobuf_lite_version], 2.5.0) +AC_ARG_VAR(PROTOC, [protobuf compiler]) +AC_PATH_PROGS(PROTOC, protoc, no) +PKG_WITH_MODULES([CHROMECAST],[protobuf-lite >= protobuf_lite_version], [ + AS_IF([test "x${PROTOC}" != "xno"], [ + VLC_ADD_PLUGIN([stream_out_chromecast]) + VLC_ADD_CXXFLAGS([stream_out_chromecast],[${CHROMECAST_CFLAGS}] [-I./chromecast]) + VLC_ADD_LIBS([stream_out_chromecast],[${CHROMECAST_LIBS}]) + build_chromecast="yes" + ], [ + AC_MSG_ERROR(protoc compiler needed for [chromecast] was not found) + ]) +], [ + AS_IF([test "${enable_chromecast}" = "yes"], + AC_MSG_ERROR(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found), + AC_MSG_WARN(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found) + ) + enable_chromecast="no" +], [(Chromecast streaming support)], [auto]) +AM_CONDITIONAL([BUILD_CHROMECAST], [test "${build_chromecast}" = "yes"]) +m4_popdef([protobuf_lite_version]) + dnl dnl Interface plugins dnl @@ -3682,10 +3787,17 @@ AC_ARG_ENABLE(qt, [ ]) AS_IF([test "${enable_qt}" != "no"], [ PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [ + PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [ + VLC_ADD_LIBS([qt4],[${QTX11_LIBS}]) + VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11]) + ],[ + AC_MSG_WARN([Not building Qt Interface with X11 helpers.]) + ]) QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)" - AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) - AC_PATH_PROG(RCC, [rcc-qt5 rcc], rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) - AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) + QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)" + AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) + AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) + AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ], [ PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ AS_IF([test -n "${enable_qt}"],[ @@ -3696,34 +3808,14 @@ AS_IF([test "${enable_qt}" != "no"], [ enable_qt="no" ]) QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)" - AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) - AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ]) ]) AS_IF([test "${enable_qt}" != "no"], [ VLC_ADD_PLUGIN([qt4]) ALIASES="${ALIASES} qvlc" - - AC_LANG_PUSH([C++]) - VLC_SAVE_FLAGS - - AC_MSG_CHECKING([whether Qt uses Xlib]) - CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}" - AC_PREPROC_IFELSE([AC_LANG_SOURCE([ -#include -#if !defined (Q_WS_X11) -# error Fail -#endif - ])], [ - AC_MSG_RESULT([yes]) - ], [ - AC_MSG_RESULT([no]) - ]) - - VLC_RESTORE_FLAGS - AC_LANG_POP([C++]) - ]) AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"]) @@ -3993,10 +4085,10 @@ AS_IF([test "${enable_libgcrypt}" != "no"], [ GCRYPT_CFLAGS="`libgcrypt-config --cflags`" GCRYPT_LIBS="`libgcrypt-config --libs`" ], [ - AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) + AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.]) ], [`libgcrypt-config --libs`]) ], [ - AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) + AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.]) ], [#include ] ) ]) @@ -4011,7 +4103,7 @@ dnl AC_ARG_ENABLE(gnutls, [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.0.20], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.2.0], [ VLC_ADD_PLUGIN([gnutls]) ], [ AS_IF([test -n "${enable_gnutls}"], [ @@ -4028,7 +4120,7 @@ AC_ARG_ENABLE(taglib, [AS_HELP_STRING([--disable-taglib], [do not use TagLib (default enabled)])]) AS_IF([test "${enable_taglib}" != "no"], [ - PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [ + PKG_CHECK_MODULES(TAGLIB, taglib >= 1.9, [ VLC_ADD_PLUGIN([taglib]) ], [ AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])]) @@ -4189,20 +4281,19 @@ AC_CONFIG_FILES([ modules/audio_filter/Makefile modules/control/Makefile modules/gui/Makefile + modules/gui/ios_dialog_provider/Makefile modules/gui/macosx/Makefile modules/gui/minimal_macosx/Makefile modules/gui/macosx_dialog_provider/Makefile modules/gui/qt4/Makefile modules/gui/skins2/Makefile - modules/misc/Makefile modules/mux/Makefile modules/packetizer/Makefile modules/stream_out/Makefile modules/text_renderer/Makefile modules/video_filter/Makefile - modules/video_output/Makefile modules/visualization/Makefile - modules/hw/vdpau/Makefile + modules/hw/mmal/Makefile ]) AM_COND_IF([HAVE_WIN32], [ @@ -4237,11 +4328,12 @@ if test -n $SHELL; then SHELL=${CONFIG_SHELL-/bin/sh} fi rm -f compile +compile_top_srcdir=`sed -ne "s/^top_srcdir *= *//p" < Makefile` echo "#! $SHELL rm -f .error\$\$ ERROR=0 export PATH=\"$PATH\" LANG=C -($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl +($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| $compile_top_srcdir/extras/buildsystem/make.pl test -f .error\$\$ && ERROR=1 rm -f .error\$\$ exit \$ERROR" >compile