X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=8b1de34a6938db098853d5e4f0c6f029e7deb998;hb=a6a85ef927c02541847538f2ba148fb1c19b0370;hp=ffdb097ad10e66d3b6588653650e37e958e04a63;hpb=184e8e76c475c19d1626e6c2d90460e8b1fa9e6c;p=vlc diff --git a/configure.ac b/configure.ac index ffdb097ad1..8b1de34a69 100644 --- a/configure.ac +++ b/configure.ac @@ -2,9 +2,9 @@ dnl Autoconf settings for vlc AC_COPYRIGHT([Copyright 2002-2013 VLC authors and VideoLAN]) -AC_INIT(vlc, 2.1.0-git) +AC_INIT(vlc, 2.2.0-git) VERSION_MAJOR=2 -VERSION_MINOR=1 +VERSION_MINOR=2 VERSION_REVISION=0 VERSION_EXTRA=0 VERSION_DEV=git @@ -13,7 +13,7 @@ PKGDIR="vlc" AC_SUBST(PKGDIR) CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" -CODENAME="Rincewind" +CODENAME="Weatherwax" COPYRIGHT_YEARS="1996-2013" AC_CONFIG_SRCDIR(src/libvlc.c) @@ -156,9 +156,9 @@ case "${host_os}" in LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}" VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit]) - VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x262 x264 x26410b],[-Wl,-read_only_relocs,suppress]) VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings]) - VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation]) + VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,SystemConfiguration]) dnl Allow binaries created on Lion to run on earlier releases AC_EGREP_CPP(yes, @@ -204,7 +204,7 @@ case "${host_os}" in *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) AC_CHECK_TOOL(OBJCOPY, objcopy, :) - AH_TOP([#if defined(WIN32) && !defined(_WIN32_WINNT)]) + AH_TOP([#if defined(_WIN32) && !defined(_WIN32_WINNT)]) AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */]) AH_TOP([#endif]) AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.]) @@ -219,7 +219,7 @@ case "${host_os}" in dnl Check if we are using the mno-cygwin mode in which case we are dnl actually dealing with a mingw32 compiler. AC_EGREP_CPP(yes, - [#ifdef WIN32 + [#ifdef _WIN32 yes #endif], SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin])) @@ -227,6 +227,9 @@ case "${host_os}" in esac if test "${SYS}" = "mingw32"; then + # 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]) @@ -398,9 +401,6 @@ LT_LANG([Windows Resource]) DOLT -m4_undefine([AC_DEPLIBS_CHECK_METHOD]) -m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) - lt_cv_deplibs_check_method=pass_all AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [ @@ -410,7 +410,7 @@ AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [ dnl dnl Gettext stuff dnl -AM_GNU_GETTEXT_VERSION([0.18.1]) +AM_GNU_GETTEXT_VERSION([0.18.3]) AM_GNU_GETTEXT([external], [need-ngettext]) dnl @@ -442,10 +442,12 @@ dnl Check for broken versions of mingw-runtime compatability library CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1" 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,, [VLC_ADD_LIBS([libvlccore],[-lmingwex])]) ) + VLC_RESTORE_FLAGS dnl Check for fnative-struct or mms-bitfields support for mingw32 VLC_SAVE_FLAGS @@ -469,10 +471,12 @@ AC_ARG_ENABLE(winstore_app, AS_HELP_STRING([--enable-winstore-app], [Build targetted for Windows Store apps (default disabled)])) -AS_IF([test "${SYS}" = "mingw32"], [ - AS_IF([test "${enable_winstore_app}" == "yes"], [ - AC_DEFINE(WINAPI_FAMILY_APP, 1, [Define if you want to build for Windows Store apps])]) +vlc_winstore_app=0 +AS_IF([test "${SYS}" = "mingw32" -a "${enable_winstore_app}" = "yes"], [ + vlc_winstore_app=1 + VLC_ADD_LIBS([libvlccore], [-lole32 -lruntimeobject]) ]) +AC_DEFINE_UNQUOTED(VLC_WINSTORE_APP, ${vlc_winstore_app}, [Define to 1 if you want to build for Windows Store apps]) dnl @@ -508,7 +512,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_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) +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.]) ]) @@ -560,7 +564,7 @@ AC_CHECK_TYPES([struct pollfd],,, [#include #if HAVE_POLL # include -#elif defined (WIN32) +#elif defined (_WIN32) # include #endif ]) @@ -584,11 +588,25 @@ AC_SEARCH_LIBS([getaddrinfo], [nsl], [ ]) ],, [${SOCKET_LIBS}]) +LIBS="${LIBS} ${SOCKET_LIBS}" +AC_LINK_IFELSE([ + AC_LANG_PROGRAM([#ifdef _WIN32 + # if _WIN32_WINNT < 0x600 + # error Needs vista+ + # endif + #include + #else + #include + #include + #endif], [ + char dst[[sizeof(struct in_addr)]]; + inet_pton(AF_INET, "127.0.0.1", dst); + ])],[AC_DEFINE([HAVE_INET_PTON],[1],[Define to 1 if you have inet_pton function])],[AC_LIBOBJ([inet_pton])]) AC_CHECK_FUNCS([if_nameindex if_nametoindex]) VLC_RESTORE_FLAGS AS_IF([test -n "$SOCKET_LIBS"], [ - VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}]) + VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}]) ]) AC_SUBST(SOCKET_LIBS) @@ -598,7 +616,7 @@ AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight ac_cv_type_socklen_t, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#include -#ifdef WIN32 +#ifdef _WIN32 # include # include #else @@ -615,7 +633,7 @@ AH_TEMPLATE(ss_family, [Define to `sa_family' if does not define. AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage, [AC_TRY_COMPILE( [#include - #if defined( WIN32 ) + #if defined( _WIN32 ) # include #else # include @@ -637,7 +655,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 panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm]) + VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom rotate noise grain scene kate lua chorus_flanger freetype swscale postproc faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a audiobargraph_v speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x262 x26410b hqdn3d anaglyph oldrc ncurses oldmovie glspectrum],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -794,7 +812,7 @@ AC_ARG_ENABLE(dbus, [compile D-Bus message bus support (default enabled)])]) have_dbus="no" AS_IF([test "${enable_dbus}" != "no"], [ - PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [ + PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.6.0], [ have_dbus="yes" ], [ AS_IF([test -n "${enable_dbus}"], [ @@ -990,6 +1008,19 @@ AS_IF([test "${enable_optimizations}" != "no"], [ ]) ]) +VLC_SAVE_FLAGS +LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic" +AC_CACHE_CHECK([if linker supports -Bsymbolic], [ac_cv_ld_bsymbolic], [ + AC_TRY_LINK([],, [ + ac_cv_ld_bsymbolic="-Wl,-Bsymbolic" + ], [ + ac_cv_ld_bsymbolic="" + ]) +]) +VLC_RESTORE_FLAGS +SYMBOLIC_LDFLAGS="${ac_cv_ld_bsymbolic}" +AC_SUBST(SYMBOLIC_LDFLAGS) + dnl Check for Darwin plugin linking flags AS_IF([test "${SYS}" = "darwin"], [ VLC_SAVE_FLAGS @@ -1356,10 +1387,11 @@ AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"]) AC_ARG_ENABLE(altivec, [AS_HELP_STRING([--disable-altivec], [disable AltiVec optimizations (default auto)])],, [ - AS_IF([test "${host_cpu}" = "powerpc"], + AS_CASE("${host_cpu}", [powerpc*], [enable_altivec=yes], [enable_altivec=no]) ]) have_altivec="no" +ALTIVEC_CFLAGS="" AS_IF([test "${enable_altivec}" = "yes"], [ ARCH="${ARCH} altivec"; VLC_SAVE_FLAGS @@ -1377,8 +1409,7 @@ AS_IF([test "${enable_altivec}" = "yes"], [ AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, [Define to 1 if AltiVec inline assembly is available.]) AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [ - VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}]) - VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) + ALTIVEC_CFLAGS="${ac_cv_altivec_inline}" VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}]) ]) have_altivec="yes" @@ -1436,7 +1467,8 @@ dnl - Others: test should fail CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}" AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.]) VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}]) - VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) + ALTIVEC_CFLAGS="$ALTIVEC_FLAGS ${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}" + VLC_ADD_CFLAGS([deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) have_altivec="yes" ]) AC_CHECK_HEADERS(altivec.h) @@ -1448,9 +1480,10 @@ dnl - Others: test should fail [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)]) VLC_RESTORE_FLAGS AS_IF([test "${ac_cv_ld_altivec}" != "no"], [ - VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib]) + VLC_ADD_LIBS([libvlccore],[-Wl,-framework,vecLib]) ]) ]) +AC_SUBST(ALTIVEC_CFLAGS) AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"]) dnl @@ -1491,28 +1524,35 @@ AC_ARG_ENABLE(lua, [disable LUA scripting support (default enabled)])]) if test "${enable_lua}" != "no" then - PKG_CHECK_MODULES(LUA, lua5.1, + PKG_CHECK_MODULES(LUA, lua5.2, [ have_lua=yes ], [ - AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead]) - PKG_CHECK_MODULES(LUA, lua >= 5.1, + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua 5.1 instead]) + + PKG_CHECK_MODULES(LUA, lua5.1, [ have_lua=yes ], [ - AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead]) - have_lua=yes - AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], - [], - [ have_lua=no ] ) - AC_CHECK_LIB( lua5.1 , luaL_newstate, - [LUA_LIBS="-llua5.1"], - AC_CHECK_LIB( lua51 , luaL_newstate, - [LUA_LIBS="-llua51"], - AC_CHECK_LIB( lua , luaL_newstate, - [LUA_LIBS="-llua"], - [ have_lua=no - ], [-lm]) - ) - ) + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead]) + PKG_CHECK_MODULES(LUA, lua >= 5.1, + [ have_lua=yes ], + [ + AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead]) + have_lua=yes + AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], + [], + [ have_lua=no ] ) + AC_CHECK_LIB( lua5.2 , luaL_newstate, + [LUA_LIBS="-llua5.2"], + AC_CHECK_LIB( lua5.1 , luaL_newstate, + [LUA_LIBS="-llua5.1"], + AC_CHECK_LIB( lua51 , luaL_newstate, + [LUA_LIBS="-llua51"], + AC_CHECK_LIB( lua , luaL_newstate, + [LUA_LIBS="-llua"], + [ have_lua=no + ], [-lm]) + ))) + ]) ]) ]) if test "x${have_lua}" = "xyes" ; then @@ -1526,7 +1566,7 @@ then AS_IF([test "${LUAC}" = "false"], [ AC_MSG_ERROR([Could not find the LUA byte compiler.]) ]) - AS_IF([test -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|cut -d' ' -f2` != 0404], [ AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.]) ]) fi @@ -1568,23 +1608,6 @@ dnl EXTEND_HELP_STRING([Input plugins:]) -dnl -dnl libproxy support -dnl -AC_ARG_ENABLE(libproxy, - [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])]) -AS_IF([test "${enable_libproxy}" != "no"], [ - PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [ - AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]) - VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS]) - VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS]) - ], [ - AS_IF([test -n "${enable_libproxy}"], [ - AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.]) - ]) - ]) -]) - dnl dnl live555 input dnl @@ -1593,74 +1616,83 @@ AC_ARG_ENABLE(live555, [enable RTSP input through live555 (default enabled)])]) AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ - AC_LANG_PUSH(C++) - VLC_SAVE_FLAGS - - dnl detect include paths - AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [ - CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" + PKG_CHECK_MODULES(LIVE555, live555, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_CXXFLAGS([live555], [$LIVE555_CFLAGS]) + VLC_ADD_LIBS([live555],[$LIVE555_LIBS]) ], [ - AS_IF([test ${SYS} != "os2"], [ - LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"} - CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment" + AC_MSG_WARN([${LIVE555_PKG_ERRORS}.]) + + AC_LANG_PUSH(C++) + VLC_SAVE_FLAGS + + dnl detect include paths + AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [ + CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" ], [ - LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"} - CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include" - LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment" + AS_IF([test "${SYS}" != "os2"], [ + LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"} + CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment" + ], [ + LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"} + CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include" + LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment" + ]) ]) - ]) - dnl CPP Flags - AS_IF([test "${SYS}" = "solaris"], [ - CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" - ]) - CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" - LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}" + dnl CPP Flags + AS_IF([test "${SYS}" = "solaris"], [ + CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" + ]) + CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" + LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}" - dnl version check - AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [ - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ + dnl version check + AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [ + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ [#include #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400) # error BOOM #endif]]) - ], [ - ac_cv_live555="yes" - ], [ - ac_cv_live555="no" + ], [ + ac_cv_live555="yes" + ], [ + ac_cv_live555="no" + ]) ]) - ]) - AS_IF([test "$ac_cv_live555" = "no"], [ - AC_MSG_WARN([liveMedia is missing or its installed version is too old: + AS_IF([test "$ac_cv_live555" = "no"], [ + AC_MSG_WARN([live555 is missing or its installed version is too old: Version 2011.12.23 or later is required to proceed. You can get an updated one from http://www.live555.com/liveMedia .]) - AS_IF([test -n "${enable_live555}"], [ - AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) - ]) - ], [ - other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" - other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" - AS_IF([test "${SYS}" = "mingw32"], [ - # add ws2_32 for closesocket, select, recv - other_libs="$other_libs -lws2_32" - ]) + AS_IF([test -n "${enable_live555}"], [ + AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) + ]) + ], [ + other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + AS_IF([test "${SYS}" = "mingw32"], [ + # add ws2_32 for closesocket, select, recv + other_libs="$other_libs -lws2_32" + ]) - dnl We need to check for pic because live555 don't provide shared libs - dnl and we want to build a plugins so we need -fPIC on some arch. - VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) - VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}]) - AC_CHECK_LIB(liveMedia_pic, main, [ - VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) - ],[ - AC_CHECK_LIB(liveMedia, main, [ + dnl We need to check for pic because live555 don't provide shared libs + dnl and we want to build a plugins so we need -fPIC on some arch. + VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) + VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}]) + AC_CHECK_LIB(liveMedia_pic, main, [ VLC_ADD_PLUGIN([live555]) - VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) - ],[],[${other_libs}])],[${other_libs_pic}]) + VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) + ],[ + AC_CHECK_LIB(liveMedia, main, [ + VLC_ADD_PLUGIN([live555]) + VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}]) + ],[],[${other_libs}]) + ],[${other_libs_pic}]) + ]) + VLC_RESTORE_FLAGS + AC_LANG_POP(C++) ]) - VLC_RESTORE_FLAGS - AC_LANG_POP(C++) ]) dnl @@ -1726,6 +1758,7 @@ dnl dnl libsmbclient plugin dnl PKG_ENABLE_MODULES_VLC([SMBCLIENT], [access_smb], [smbclient], (SMB/CIFS support), [auto]) +AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ]) dnl @@ -1876,13 +1909,21 @@ AC_ARG_ENABLE(screen, [disable screen capture (default enabled)])]) if test "${enable_screen}" != "no"; then if test "${SYS}" = "darwin"; then - AC_CHECK_HEADERS(OpenGL/gl.h, [ - AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ - VLC_ADD_PLUGIN([screen]) - ]) + AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ + VLC_ADD_PLUGIN([screen]) ]) fi fi +AM_CONDITIONAL(HAVE_MAC_SCREEN, [test "${SYS}" = "darwin" -a "x${enable_screen}" != "xno"]) + +dnl +dnl VNC/RFB access module +dnl +PKG_ENABLE_MODULES_VLC([LIBVNC], [libvnc], [libvncclient >= 0.9.9], (VNC/rfb client support), [auto]) + +dnl RDP/Remote Desktop access module +dnl +PKG_ENABLE_MODULES_VLC([LIBFREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) ) dnl dnl Real RTSP plugin @@ -1890,7 +1931,7 @@ dnl AC_ARG_ENABLE(realrtsp, [ --enable-realrtsp Real RTSP module (default disabled)]) if test "${enable_realrtsp}" = "yes"; then - VLC_ADD_PLUGIN([realrtsp]) + VLC_ADD_PLUGIN([access_realrtsp]) fi dnl @@ -1916,6 +1957,24 @@ then fi AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"]) +dnl +dnl AVFoundation +AC_SUBST(have_avfoundation, ["no"]) +AC_ARG_ENABLE(macosx-avfoundation, + [ --enable-macosx-avfoundation Mac OS X avcapture (video) module (default enabled on Mac OS X)]) +if test "x${enable_macosx_avfoundation}" != "xno" && + (test "${SYS}" = "darwin" || test "${enable_macosx_avfoundation}" = "yes") +then + SAVED_LIBS="${LIBS}" + LIBS="-framework AVFoundation" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[have_avfoundation=yes],[have_avfoundation=no]) + LIBS="${SAVED_LIBS}" + if test "${have_avfoundation}" != "no" + then + VLC_ADD_PLUGIN([avcapture]) + fi +fi +AM_CONDITIONAL(HAVE_AVFOUNDATION, [test "${have_avfoundation}" != "no"]) dnl dnl Demux plugins @@ -2019,7 +2078,6 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then #endif], [AC_MSG_RESULT([yes]) AC_CHECK_HEADERS(matroska/KaxAttachments.h) - VLC_ADD_CXXFLAGS([mkv],[]) AC_CHECK_LIB(ebml_pic, main, [ VLC_ADD_PLUGIN([mkv]) VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic]) @@ -2111,6 +2169,27 @@ then VLC_ADD_PLUGIN([omxil]) fi +dnl +dnl openmax il vout plugin +dnl +AC_ARG_ENABLE(omxil-vout, + [ --enable-omxil-vout openmax il video output module (default disabled)]) +if test "${enable_omxil_vout}" = "yes" +then + VLC_ADD_PLUGIN([omxil_vout]) +fi + +dnl +dnl raspberry pi openmax il configuration +dnl +AC_ARG_ENABLE(rpi-omxil, + [ --enable-rpi-omxil openmax il configured for raspberry pi (default disabled)]) +if test "${enable_rpi_omxil}" = "yes" +then + VLC_ADD_PLUGIN([omxil omxil_vout]) + VLC_ADD_CFLAGS([omxil omxil_vout],[-DRPI_OMX]) +fi + dnl dnl CrystalHD codec plugin dnl @@ -2206,39 +2285,21 @@ AC_ARG_ENABLE(merge-ffmpeg, ]) AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"]) -VLC_SAVE_FLAGS -LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic" -AC_CACHE_CHECK([if linker supports -Bsymbolic], - [ac_cv_ld_bsymbolic], - [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)]) -VLC_RESTORE_FLAGS - 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 >= 54.25.0 libavutil >= 51.22.0], [ - AS_IF([test "${enable_sout}" != "no"], [ - PKG_CHECK_EXISTS([libavcodec < 55],, [ - AC_MSG_ERROR([libavcodec version 55 requires --disable-sout.]) - ]) - ]) - PKG_CHECK_EXISTS([libavcodec < 56],, [ - AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) - ]) + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ + dnl PKG_CHECK_EXISTS([libavcodec < 56],, [ + dnl AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) + dnl ]) VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" AC_CHECK_HEADERS(libavcodec/avcodec.h) AC_CHECK_HEADERS(libavutil/avutil.h) - VLC_ADD_PLUGIN([avcodec]) - VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS]) - AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ - VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic]) - ]) - VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS]) VLC_RESTORE_FLAGS have_avcodec="yes" ],[ @@ -2247,6 +2308,7 @@ AS_IF([test "${enable_avcodec}" != "no"], [ ], [ have_avcodec="no" ]) +AM_CONDITIONAL([HAVE_AVCODEC], [test "${have_avcodec}" != "no"]) dnl dnl libva needs avcodec @@ -2258,7 +2320,7 @@ 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"], [ +AS_IF([test "${enable_libva}" != "no" -a "${have_avcodec}" = "yes"], [ PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2353,21 +2415,6 @@ AS_IF([test "${enable_vda}" != "no"], [ ]) AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"]) -dnl -dnl stream_out switcher needs libavcodec -dnl -AC_ARG_ENABLE(switcher, - [ --enable-switcher Stream-out switcher plugin (default disabled)]) -AS_IF([test "${enable_switcher}" = "yes"], [ - AS_IF([test "x${have_avcodec}" = "xyes"], [ - VLC_ADD_PLUGIN([stream_out_switcher]) - VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM]) - VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS]) - ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec]) - ]) -]) - - dnl dnl avformat demuxer/muxer plugin dnl @@ -2376,31 +2423,24 @@ AC_ARG_ENABLE(avformat, [ --enable-avformat libavformat containers (default enabled)],, [ enable_avformat="${have_avcodec}" ]) -if test "${enable_avformat}" != "no" -then - PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil], - [ +have_avformat="no" +AS_IF([test "${enable_avformat}" != "no"], [ + PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil], [ + have_avformat="yes" VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}" CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}" AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h) AC_CHECK_HEADERS(libavutil/avutil.h) AS_IF([test "$enable_merge_ffmpeg" = "no"], [ - VLC_ADD_PLUGIN([avformat access_avio]) - VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([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]) + have_avformat="no" ]) VLC_RESTORE_FLAGS ],[ AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) ]) -fi +]) +AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"]) dnl dnl swscale image scaling and conversion plugin @@ -2420,8 +2460,8 @@ 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_LIBS([swscale],[-Wl,-Bsymbolic]) + AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [ + VLC_ADD_LIBS([swscale],[${ac_cv_ld_bsymbolic}]) ]) VLC_RESTORE_FLAGS ],[ @@ -2681,6 +2721,52 @@ AC_CHECK_HEADERS(png.h, [ ]) ]) +dnl +dnl H262 encoder plugin (lib262) +dnl +AC_ARG_ENABLE(x262, + [ --enable-x262 H262 encoding support with static libx262 (default disabled)]) +if test "${enable_x262}" != "no"; then +AC_ARG_WITH(x262-tree, + [ --with-x262-tree=PATH H262 encoding module with libx262 (static linking)],[],[]) + if test "${with_x262_tree}" != "no" -a -n "${with_x262_tree}" + then + real_x262_tree="̧`cd ${with_x262_tree} 2>/dev/null && pwd`" + if test -z "${real_x262_tree}" + then + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_x262_tree} directory does not exist]) + fi + AC_MSG_CHECKING(for x262.h in ${real_x262_tree}) + if test -f ${with_x262_tree}/x262_config.h + then + VLC_ADD_PLUGIN([x262]) + VLC_ADD_CFLAGS([x262],[-I${with_x262_tree}]) + VLC_ADD_LIBS([x262],[-L${with_x262_tree} -lm -lpthread -lx262]) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_x262_tree} doesnt have x262_config.h]) + fi + else + PKG_CHECK_MODULES(X262, x262, [ + VLC_ADD_PLUGIN([x262]) + VLC_ADD_LDFLAGS([x262],[${X262_LIBS}]) + AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [ + VLC_ADD_LIBS([x262],[${av_cv_ld_bsymbolic}]) + ]) + VLC_ADD_CFLAGS([x262],[${X262_CFLAGS}]) + if echo ${X262_LIBS} |grep -q 'pthreadGC2'; then + VLC_ADD_CFLAGS([x262], [-DPTW32_STATIC_LIB]) + fi + ], [ + if test "${enable_x262}" = "yes"; then + AC_MSG_ERROR([x262 module doesn't work without staticly compiled libx262.a]) + fi + ]) + fi +fi + + dnl dnl H264 encoder plugin (10-bit lib264) dnl @@ -2718,9 +2804,9 @@ AC_ARG_WITH(x26410b-tree, else PKG_CHECK_MODULES(X26410B, x26410b, [ VLC_ADD_PLUGIN([x26410b]) - VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}]) - AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ - VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic]) + VLC_ADD_LIBS([x26410b],[${X26410B_LIBS}]) + AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [ + VLC_ADD_LDFLAGS([x26410b],[${ac_cv_ld_bsymbolic}]) ]) VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}]) if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then @@ -2776,10 +2862,10 @@ if test "${enable_x264}" != "no"; then else PKG_CHECK_MODULES(X264,x264 >= 0.86, [ VLC_ADD_PLUGIN([x264]) - VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) + VLC_ADD_LIBS([x264],[${X264_LIBS}]) - AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [ - VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic]) + AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [ + VLC_ADD_LDFLAGS([x264],[${ac_cv_ld_bsymbolic}]) ]) VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) @@ -2794,6 +2880,11 @@ if test "${enable_x264}" != "no"; then fi fi +dnl +dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder +dnl +PKG_ENABLE_MODULES_VLC([QUICKSYNC], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto]) + dnl dnl libfluidsynth (MIDI synthetizer) plugin dnl @@ -2891,16 +2982,20 @@ PKG_CHECK_MODULES([GL], [gl], [ AC_CHECK_HEADER([GL/gl.h], [ have_gl="yes" GL_CFLAGS="" - GL_LIBS="-lGL" + AS_IF([test "${SYS}" = "mingw32"], [ + GL_LIBS="-lopengl32" + ], [ + GL_LIBS="-lGL" + ]) ], [ have_gl="no" ]) ]) -dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished -dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto]) -dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken -dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto]) +dnl OpenGL ES 2: depends on EGL 1.1 +PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [disabled]) +dnl OpenGL ES 1: depends on EGL 1.0 +PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [disabled]) AC_ARG_ENABLE(egl, [ --enable-egl OpenGL support through EGL (default disabled)],, [ @@ -2941,6 +3036,7 @@ AC_ARG_ENABLE(glx, ]) have_xcb="no" +have_xcb_randr="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) @@ -2955,11 +3051,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ ]) PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [ - VLC_ADD_PLUGIN([panoramix]) - VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}]) - VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}]) - ], [ - AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.]) + have_xcb_randr="yes" ]) PKG_CHECK_MODULES(XPROTO, [xproto], [ @@ -2967,7 +3059,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ dnl xcb-utils PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ - VLC_ADD_PLUGIN([globalhotkeys]) + VLC_ADD_PLUGIN([xcb_hotkeys]) VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) ], [ AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) @@ -2986,34 +3078,34 @@ AS_IF([test "${enable_xcb}" != "no"], [ ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) +AM_CONDITIONAL([HAVE_XCB_RANDR], [test "${have_xcb_randr}" = "yes"]) dnl -dnl VDPAU needs X11 and avcodec +dnl VDPAU needs X11 dnl AC_ARG_ENABLE(vdpau, - [AS_HELP_STRING([--enable-vdpau], - [VDPAU hardware decoder support (default auto)])]) + [AS_HELP_STRING([--enable-vdpau], [VDPAU hardware support (default auto)])]) have_vdpau="no" AS_IF([test "${enable_vdpau}" != "no"], [ - PKG_CHECK_MODULES([VDPAU], [vdpau], [ + PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.6], [ have_vdpau="yes" AS_IF([test "${no_x}" = "yes"], [ AC_MSG_ERROR([VDPAU requires Xlib (X11).]) ]) - AC_MSG_NOTICE([VDPAU acceleration activated]) ], [ AS_IF([test -n "${enable_vdpau}"], [ AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.]) ]) ]) ]) -dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"]) +AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"]) have_avcodec_vdpau="no" -AS_IF([test "${have_vdpau}" = "yes"], [ +AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [ PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [ 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.]) @@ -3072,6 +3164,15 @@ then 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 @@ -3083,6 +3184,28 @@ AC_ARG_ENABLE(fribidi, AC_ARG_ENABLE(fontconfig, [ --enable-fontconfig fontconfig support (default auto)]) +AC_ARG_WITH([default-font], + AS_HELP_STRING([--with-default-font=PATH], + [Path to the default font]), + [AC_DEFINE_UNQUOTED([DEFAULT_FONT_FILE], + "$withval", [Default font])]) +AC_ARG_WITH([default-monospace-font], + AS_HELP_STRING([--with-default-monospace-font=PATH], + [Path to the default font]), + [AC_DEFINE_UNQUOTED([DEFAULT_MONOSPACE_FONT_FILE], + "$withval", [Default monospace font])]) + +AC_ARG_WITH([default-font-family], + AS_HELP_STRING([--with-default-font-family=NAME], + [Path to the default font family]), + [AC_DEFINE_UNQUOTED([DEFAULT_FAMILY], + "$withval", [Default font family])]) +AC_ARG_WITH([default-monospace-font-family], + AS_HELP_STRING([--with-default-monospace-font-family=NAME], + [Path to the default font family]), + [AC_DEFINE_UNQUOTED([DEFAULT_MONOSPACE_FAMILY], + "$withval", [Default monospace font family])]) + if test "${enable_freetype}" != "no"; then PKG_CHECK_MODULES(FREETYPE, freetype2, [ have_freetype=yes @@ -3150,7 +3273,7 @@ AC_ARG_ENABLE(android-surface, if test "${enable_android_surface}" = "yes"; then if test "${HAVE_ANDROID}" = "1"; then VLC_ADD_PLUGIN([android_surface]) - VLC_ADD_LDFLAGS([android_surface], [-ldl]) + VLC_ADD_LIBS([android_surface], [-ldl]) fi fi @@ -3167,14 +3290,21 @@ then fi dnl -dnl Windows DirectX module +dnl iOS ES2 vout module dnl - -if test "${SYS}" = "mingw32" +AC_ARG_ENABLE(ios-vout2, + [ --enable-ios-vout2 iOS video output module (default disabled)]) +if test "${enable_ios_vout2}" = "yes" then - VLC_ADD_PLUGIN([panoramix]) + VLC_ADD_PLUGIN([vout_ios2]) + VLC_ADD_LIBS([vout_ios2], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit]) fi + +dnl +dnl Windows DirectX module +dnl + AC_ARG_ENABLE(directx, [AS_HELP_STRING([--enable-directx], [Microsoft DirectX support (default enabled on Windows)])],, [ @@ -3418,7 +3548,7 @@ dnl AC_ARG_ENABLE([sndio], [AS_HELP_STRING([--disable-sndio], [support the OpenBSD sndio (default auto)])],, [ - AS_IF([test "$SYS" = "opensd"], [ + AS_IF([test "$SYS" = "openbsd"], [ enable_sndio="yes" ]) ]) @@ -3475,6 +3605,19 @@ then ], [ 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_HEADERS(AudioUnit/AudioUnit.h, + [ VLC_ADD_PLUGIN([audiounit_ios]) + VLC_ADD_LIBS([audiounit_ios],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,CoreServices]) + ], [ AC_MSG_ERROR([cannot find AudioUnit headers]) ]) +fi + dnl dnl AudioQueue plugin dnl @@ -3489,7 +3632,26 @@ fi dnl dnl JACK modules dnl -PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto]) +AC_ARG_ENABLE(jack, + [AS_HELP_STRING([--disable-jack], + [do not use jack (default auto)])]) +have_jack="no" +AS_IF([test "${enable_jack}" != "no"], [ + PKG_CHECK_MODULES(JACK, jack >= 1.9.7, + [ have_jack=yes ], + [ + AC_MSG_WARN([${JACK_PKG_ERRORS}, trying jack1 instead]) + + PKG_CHECK_MODULES(JACK, jack >= 0.120.1 jack < 1.0, + [ have_jack=yes ], + [ + AS_IF([test -n "${enable_jack}"], + [AC_MSG_ERROR([${JACK_PKG_ERRORS}.])], + [AC_MSG_WARN([${JACK_PKG_ERRORS}.])]) + ]) + ]) +]) +AM_CONDITIONAL([HAVE_JACK], [test "${have_jack}" != "no"]) dnl dnl OpenSLES Android @@ -3532,6 +3694,22 @@ AS_IF([test "$enable_kai" != "no"], [ AC_SUBST(KAI_LIBS) AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"]) +dnl +dnl chromaprint audio track fingerprinter +dnl +m4_pushdef([libchromaprint_version], 0.6.0) +PKG_WITH_MODULES([CHROMAPRINT],[libchromaprint >= libchromaprint_version], + VLC_ADD_PLUGIN([stream_out_chromaprint fingerprinter]) + VLC_ADD_CFLAGS([stream_out_chromaprint],[${CHROMAPRINT_CFLAGS}] [-I./webservices -I../stream_out]) + VLC_ADD_LIBS([stream_out_chromaprint],[${CHROMAPRINT_LIBS}]) + VLC_ADD_LIBS([fingerprinter],[-lm]), + AS_IF([test "${enable_chromaprint}" = "yes"], + [AC_MSG_ERROR(Library [libchromaprint >= libchromaprint_version] needed for [chromaprint] was not found)], + [AC_MSG_WARN(Library [libchromaprint >= libchromaprint_version] needed for [chromaprint] was not found)] + ), + [(Chromaprint based audio fingerprinter)],[auto]) +m4_popdef([libchromaprint_version]) + dnl dnl Interface plugins dnl @@ -3548,21 +3726,28 @@ AC_ARG_ENABLE(qt, [ ]) ]) AS_IF([test "${enable_qt}" != "no"], [ - PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [ - PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ - AS_IF([test -n "${enable_qt}"],[ - AC_MSG_ERROR([${QT_PKG_ERRORS}.]) - ],[ - AC_MSG_WARN([${QT_PKG_ERRORS}.]) + PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [ + 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]) + ], [ + PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ + AS_IF([test -n "${enable_qt}"],[ + AC_MSG_ERROR([${QT_PKG_ERRORS}.]) + ],[ + AC_MSG_WARN([${QT_PKG_ERRORS}.]) + ]) + 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_PROG(RCC, rcc, rcc, [${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]) - VLC_ADD_LIBS([qt4],[${QT_LIBS}]) - VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}]) ALIASES="${ALIASES} qvlc" AC_LANG_PUSH([C++]) @@ -3577,8 +3762,6 @@ AS_IF([test "${enable_qt}" != "no"], [ #endif ])], [ AC_MSG_RESULT([yes]) - VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) ], [ AC_MSG_RESULT([no]) ]) @@ -3586,17 +3769,6 @@ AS_IF([test "${enable_qt}" != "no"], [ VLC_RESTORE_FLAGS AC_LANG_POP([C++]) - AS_IF([test "${SYS}" = "mingw32"], [ - VLC_ADD_LIBS([qt4],[-lole32]) - ]) - AS_IF([test "${SYS}" = "darwin" ],[ - VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa]) - ]) - - 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_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) - AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) ]) AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"]) @@ -3628,6 +3800,9 @@ AS_IF([test "${enable_skins2}" != "no"], [ ], [test "${SYS}" = "darwin"], [ VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS]) VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon]) + dnl OS/2 + ], [test "${SYS}" = "os2"], [ + VLC_ADD_CPPFLAGS([skins2],[ -DOS2_SKINS]) dnl Linux/Unix ], [ PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"]) @@ -3814,6 +3989,16 @@ AS_IF([test "${enable_atmo}" != no], [ ]) ]) +dnl +dnl glSpectrum +dnl +AC_ARG_ENABLE(glspectrum, + [ --enable-glspectrum 3D OpenGL spectrum visualization (default auto)]) +if test "${enable_glspectrum}" != "no" && test "${have_gl}" = "yes" +then + VLC_ADD_PLUGIN([glspectrum]) + VLC_ADD_LIBS([glspectrum],[$GL_LIBS]) +fi EXTEND_HELP_STRING([Service Discovery plugins:]) dnl @@ -3874,7 +4059,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 >= 2.6.6], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.0.20], [ VLC_ADD_PLUGIN([gnutls]) ], [ AS_IF([test -n "${enable_gnutls}"], [ @@ -3937,34 +4122,6 @@ dnl Libnotify notification plugin dnl PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto]) -dnl -dnl media library -dnl -AC_ARG_ENABLE(media-library, - [ --enable-media-library media library (default disabled)]) -AS_IF([test "${enable_media_library}" = "yes"], [ - AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library]) - VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY") - VLC_ADD_PLUGIN([media_library]) - -dnl -dnl SQLite -dnl - AS_IF([test "${SYS}" != "darwin"], [ - PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto]) - ], [ - AS_IF([test "${enable_sqlite}" != "no"], [ - AC_CHECK_HEADERS(sqlite3.h, [ - VLC_ADD_PLUGIN([sqlite]) - VLC_ADD_LIBS([sqlite], [-lsqlite3]) - ], [ - AC_MSG_ERROR([sqlite3 is required for the media library]) - ]) - ]) - ]) -]) - - dnl dnl Endianness check dnl @@ -4006,20 +4163,7 @@ AC_SUBST(soliddatadir) AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"]) dnl -dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?) -dnl -loader=false -AC_ARG_ENABLE(loader, - AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms - (default disabled)])) -AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) -AS_IF([test "${enable_loader}" = "yes"], - [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader]) - VLC_ADD_LIBS([dmo quicktime ],[libloader.la]) - VLC_ADD_LIBS([dmo quicktime], [-lpthread]) - ]) - +dnl DMO codec AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ]) EXTEND_HELP_STRING([Components:]) @@ -4113,7 +4257,6 @@ AC_CONFIG_FILES([ modules/lua/Makefile modules/meta_engine/Makefile modules/misc/Makefile - modules/media_library/Makefile modules/mux/Makefile modules/notify/Makefile modules/packetizer/Makefile @@ -4124,11 +4267,10 @@ AC_CONFIG_FILES([ modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_output/Makefile + modules/video_splitter/Makefile modules/visualization/Makefile - modules/mmx/Makefile - modules/sse2/Makefile - modules/altivec/Makefile modules/arm_neon/Makefile + modules/hw/vdpau/Makefile ]) AM_COND_IF([HAVE_WIN32], [