X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=6da74e61d665f636c19f7378962a36c50c9103cf;hb=bf4dbee29e452c5a83f1020b03d3418848d5f82c;hp=af9c44777ed44d5a782575dc5f4895084a516d52;hpb=c957debcf32b9c67b2e9ede8a923d62638965ea1;p=vlc diff --git a/configure.ac b/configure.ac index af9c44777e..6da74e61d6 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) @@ -106,7 +106,6 @@ case "${host_os}" in bsdi*) SYS=bsdi CFLAGS="${CFLAGS} -pthread" - VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd]) ;; freebsd*) SYS=freebsd @@ -154,10 +153,8 @@ case "${host_os}" in CPPFLAGS="${CPPFLAGS} ${ARCH_flag}" OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}" 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_CFLAGS([motion rotate],[-fconstant-cfstrings]) + 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,SystemConfiguration]) dnl Allow binaries created on Lion to run on earlier releases @@ -204,7 +201,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 +216,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,10 +224,12 @@ 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]) - VLC_ADD_LIBS([vcdx],[-lwinmm]) AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos) ac_default_prefix="`pwd`/_win32" DESTDIR="`pwd`/_win32/" @@ -398,9 +397,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 +406,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 @@ -472,7 +468,10 @@ 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"], [vlc_winstore_app=1]) +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]) @@ -561,7 +560,7 @@ AC_CHECK_TYPES([struct pollfd],,, [#include #if HAVE_POLL # include -#elif defined (WIN32) +#elif defined (_WIN32) # include #endif ]) @@ -587,7 +586,7 @@ AC_SEARCH_LIBS([getaddrinfo], [nsl], [ LIBS="${LIBS} ${SOCKET_LIBS}" AC_LINK_IFELSE([ - AC_LANG_PROGRAM([#ifdef WIN32 + AC_LANG_PROGRAM([#ifdef _WIN32 # if _WIN32_WINNT < 0x600 # error Needs vista+ # endif @@ -603,7 +602,7 @@ 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 ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}]) + VLC_ADD_LIBS([access_rtmp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls ts remoteosd audiobargraph_a],[${SOCKET_LIBS}]) ]) AC_SUBST(SOCKET_LIBS) @@ -613,7 +612,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 @@ -630,7 +629,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 @@ -652,7 +651,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 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 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]) LIBM="-lm" ], [ LIBM="" @@ -688,7 +687,6 @@ AS_IF([test "${enable_shared}" = "no"], [ AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"]) AC_SUBST(LIBDL) -VLC_ADD_LIBS([lua],[$LIBDL]) dnl Check for thread library LIBPTHREAD="" @@ -775,14 +773,14 @@ AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ]) AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ]) if test "${have_zlib}" = "yes" then - VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz]) + VLC_ADD_LIBS([skins2 sap unzip zip],[-lz]) PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [ AC_CHECK_HEADERS([unzip.h], [ have_minizip=yes MINIZIP_LIBS="-lminizip -lz" ], [ VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip]) - VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la]) + VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/libunzip.la]) have_minizip=no ]) ]) @@ -809,7 +807,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}"], [ @@ -1005,6 +1003,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 @@ -1371,10 +1382,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 @@ -1392,8 +1404,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" @@ -1451,7 +1462,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) @@ -1463,9 +1475,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 @@ -1537,10 +1550,7 @@ then ]) ]) ]) - if test "x${have_lua}" = "xyes" ; then - VLC_ADD_LIBS([lua],[$LUA_LIBS]) - VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS]) - else + if test "x${have_lua}" != "xyes" ; then 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]) @@ -1548,7 +1558,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 @@ -1598,74 +1608,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 @@ -1680,15 +1699,14 @@ dnl AC_ARG_ENABLE(linsys, [AS_HELP_STRING([--enable-linsys], [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])]) -if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then +AS_IF([test "$SYS" = "linux" -a "${enable_linsys}" != "no"], [ VLC_ADD_PLUGIN([linsys_hdsdi]) - PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28], - [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS]) - VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS]) - VLC_ADD_PLUGIN([linsys_sdi]) ], - [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])] - ) -fi + PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28], [ + VLC_ADD_PLUGIN([linsys_sdi]) + ], [ + AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.]) + ]) +]) dnl dnl dvdread module: check for libdvdread @@ -1701,12 +1719,9 @@ dnl AC_ARG_ENABLE(dvdnav, [AS_HELP_STRING([--disable-dvdnav], [disable DVD navigation with libdvdnav (default auto)])]) -if test "${enable_dvdnav}" != "no" -then +AS_IF([test "${enable_dvdnav}" != "no"], [ PKG_CHECK_MODULES(DVDNAV, dvdnav, [ VLC_ADD_PLUGIN([dvdnav]) - VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}]) - VLC_ADD_LIBS([dvdnav],[${DVDNAV_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}]) @@ -1714,7 +1729,7 @@ then AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]), [], [${LIBS_dvdnav}])], [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])]) -fi +]) dnl dnl Blu-ray Disc Support with libbluray @@ -1730,7 +1745,8 @@ PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0] dnl dnl libsmbclient plugin dnl -PKG_ENABLE_MODULES_VLC([SMBCLIENT], [access_smb], [smbclient], (SMB/CIFS support), [auto]) +PKG_ENABLE_MODULES_VLC([SMBCLIENT], [smb], [smbclient], (SMB/CIFS support), [auto]) +AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ]) dnl @@ -1784,7 +1800,7 @@ AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ]) dnl dnl gnomeVFS access module dnl -PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto]) +PKG_ENABLE_MODULES_VLC([GNOMEVFS], [gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto]) dnl dnl VCDX modules @@ -1830,16 +1846,9 @@ then AC_MSG_RESULT(no) ]) - if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2" - then - VLC_ADD_PLUGIN([vcd cdda]) - fi - - if test "${SYS}" = "darwin" + if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2" -o "${SYS}" = "darwin" then VLC_ADD_PLUGIN([vcd cdda]) - VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_LIBS([vcdx cdda],[-liconv]) fi if test "$enable_libcddb" != "no"; then @@ -1891,11 +1900,11 @@ AM_CONDITIONAL(HAVE_MAC_SCREEN, [test "${SYS}" = "darwin" -a "x${enable_screen}" dnl dnl VNC/RFB access module dnl -PKG_ENABLE_MODULES_VLC([LIBVNC], [libvnc], [libvncclient >= 0.9.9], (VNC/rfb client support), [auto]) +PKG_ENABLE_MODULES_VLC([VNC], [vnc], [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) ) +PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) ) dnl dnl Real RTSP plugin @@ -1903,7 +1912,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 @@ -1913,7 +1922,6 @@ AC_ARG_ENABLE(macosx-eyetv, if test "x${enable_macosx_eyetv}" != "xno" && (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes") then - VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation]) VLC_ADD_PLUGIN([access_eyetv]) fi @@ -1943,7 +1951,6 @@ then LIBS="${SAVED_LIBS}" if test "${have_avfoundation}" != "no" then - VLC_ADD_LIBS([macosx],[-Wl,-framework,AVFoundation]) VLC_ADD_PLUGIN([avcapture]) fi fi @@ -2051,7 +2058,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]) @@ -2259,13 +2265,6 @@ 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 @@ -2273,20 +2272,14 @@ 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_EXISTS([libavcodec < 56],, [ - AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) - ]) + 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" ],[ @@ -2295,6 +2288,7 @@ AS_IF([test "${enable_avcodec}" != "no"], [ ], [ have_avcodec="no" ]) +AM_CONDITIONAL([HAVE_AVCODEC], [test "${have_avcodec}" != "no"]) dnl dnl libva needs avcodec @@ -2379,24 +2373,24 @@ AS_IF([test "${enable_vda}" != "no"], [ if test "${SYS}" = "darwin"; then AS_IF([test "x${have_avcodec}" = "xyes"], [ AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h, - [ - AC_CHECK_HEADERS(libavcodec/vda.h, [ - have_avcodec_vda="yes" - ],[ - AS_IF([test "${enable_vda}" = "yes"], - [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])], - [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])]) - ]) - ],[ - AS_IF([test "${enable_vda}" = "yes"], - [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])], - [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])]) + [ + PKG_CHECK_EXISTS([libavcodec >= 55.19.0], [ + have_avcodec_vda="yes" + ],[ + AS_IF([test "${enable_vda}" = "yes"], + [AC_MSG_ERROR([libavcodec >= 55.19.0 is required for VDA decoding])], + [AC_MSG_WARN([libavcodec >= 55.19.0 is required for VDA decoding])]) ]) + ],[ + AS_IF([test "${enable_vda}" = "yes"], + [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])], + [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])]) + ]) ],[ AS_IF([test "x${enable_vda}" != "x"], [ AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.]) ]) - ]) + ]) fi ]) AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"]) @@ -2409,31 +2403,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 @@ -2453,8 +2440,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 ],[ @@ -2659,7 +2646,6 @@ if test "${enable_tremor}" = "yes" then AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [ VLC_ADD_PLUGIN([tremor]) - VLC_ADD_LIBS([tremor],[-lvorbisidec -logg]) ],[]) fi @@ -2707,13 +2693,76 @@ AC_CHECK_HEADERS(png.h, [ VLC_SAVE_FLAGS LDFLAGS="${LDFLAGS} -lz $LIBM" AC_CHECK_LIB(png, png_set_rows, [ - VLC_ADD_LIBS([png],[-lpng -lz $LIBM]) VLC_ADD_PLUGIN([png]) ], [], [-lz $LIBM]) VLC_RESTORE_FLAGS ]) ]) +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 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_CHECK_HEADER([x265.h], [ + AC_CHECK_LIB([x265],[x265_encoder_open], [ + 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]) + ]) + ]) +]) + + dnl dnl H264 encoder plugin (10-bit lib264) dnl @@ -2751,9 +2800,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 @@ -2809,10 +2858,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}]) @@ -2827,6 +2876,11 @@ if test "${enable_x264}" != "no"; then fi fi +dnl +dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder +dnl +PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto]) + dnl dnl libfluidsynth (MIDI synthetizer) plugin dnl @@ -2848,11 +2902,6 @@ AC_ARG_ENABLE(telx, AS_IF( [test "${enable_zvbi}" != "no"],[ PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28], [ - VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([zvbi],[ -lpthreadGC2]) - fi - VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS]) VLC_ADD_PLUGIN([zvbi]) AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) AS_IF( [test "${enable_telx}" = "yes"],[ @@ -2874,8 +2923,6 @@ AC_ARG_ENABLE(libass, AS_IF( [test "${enable_libass}" != "no"], [ PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8], [ - VLC_ADD_LIBS([libass],[$LIBASS_LIBS]) - VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS]) VLC_ADD_PLUGIN([libass]) AC_CHECK_HEADERS(fontconfig/fontconfig.h, @@ -2899,9 +2946,7 @@ AC_ARG_ENABLE(tiger, [ --enable-tiger Tiger rendering library for Kate streams (default auto)]) AS_IF([test "${enable_tiger}" != "no"], [ PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [ - AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.]) - VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS]) - VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[ + AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])],[ AS_IF([test -n "${enable_tiger}"], [ AC_MSG_ERROR([${TIGER_PKG_ERRORS}.]) ]) @@ -2924,11 +2969,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"], [ + AC_CHECK_HEADER([GL/glew.h], [ + ], [ + have_gl="no" + ]) + GL_LIBS="-lopengl32" + ], [ + GL_LIBS="-lGL" + ]) ], [ have_gl="no" ]) ]) +AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"]) dnl OpenGL ES 2: depends on EGL 1.1 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [disabled]) @@ -2941,7 +2995,6 @@ AC_ARG_ENABLE(egl, ]) AS_IF([test "$enable_egl" != "no"], [ PKG_CHECK_MODULES([EGL], [egl], [ - VLC_ADD_PLUGIN([gl]) VLC_ADD_PLUGIN([egl]) ]) ]) @@ -2974,79 +3027,59 @@ AC_ARG_ENABLE(glx, ]) have_xcb="no" +have_xcb_keysyms="no" +have_xcb_randr="no" +have_xcb_xvideo="no" AS_IF([test "${enable_xcb}" != "no"], [ dnl libxcb PKG_CHECK_MODULES(XCB, [xcb >= 1.6]) have_xcb="yes" PKG_CHECK_MODULES(XCB_SHM, [xcb-shm]) PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite]) + PKG_CHECK_MODULES(XPROTO, [xproto]) AS_IF([test "${enable_xvideo}" != "no"], [ - PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [ - VLC_ADD_PLUGIN([xcb_xv]) - ]) - ]) - - 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.]) + PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [have_xcb_xvideo="yes"]) ]) - PKG_CHECK_MODULES(XPROTO, [xproto], [ - VLC_ADD_PLUGIN([xwd]) - - dnl xcb-utils - PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [ - VLC_ADD_PLUGIN([globalhotkeys]) - VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS]) - ], [ - AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) - ]) - ], [ - AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.]) - ]) + PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [have_xcb_randr="yes"]) - AS_IF([test "${enable_glx}" != "no"], [ - AS_IF([test "${have_gl}" != "yes"], [ - AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) - ]) - VLC_ADD_PLUGIN([xcb_glx]) - VLC_ADD_PLUGIN([glx]) - VLC_ADD_PLUGIN([gl]) + dnl xcb-utils + PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [have_xcb_keysyms="yes"], [ + AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.]) ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) +AM_CONDITIONAL([HAVE_XCB_KEYSYMS], [test "${have_xcb_keysyms}" = "yes"]) +AM_CONDITIONAL([HAVE_XCB_RANDR], [test "${have_xcb_randr}" = "yes"]) +AM_CONDITIONAL([HAVE_XCB_XVIDEO], [test "${have_xcb_xvideo}" = "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" -a "${have_avcodec}" = "yes"], [ - PKG_CHECK_MODULES([VDPAU], [vdpau], [ +AS_IF([test "${enable_vdpau}" != "no"], [ + 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.]) @@ -3081,9 +3114,7 @@ then # 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}])], + VLC_ADD_PLUGIN([sdl_image])], [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.]) ]) ]) @@ -3105,6 +3136,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 @@ -3205,7 +3245,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 @@ -3237,11 +3277,6 @@ dnl dnl Windows DirectX module dnl -if test "${SYS}" = "mingw32" -then - VLC_ADD_PLUGIN([panoramix]) -fi - AC_ARG_ENABLE(directx, [AS_HELP_STRING([--enable-directx], [Microsoft DirectX support (default enabled on Windows)])],, [ @@ -3516,18 +3551,6 @@ AS_IF([test "$enable_wasapi" != "no"], [ ]) AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"]) -dnl -dnl win32 waveOut plugin -dnl -AC_ARG_ENABLE(waveout, - [ --enable-waveout Win32 waveOut module (default enabled on Win32)]) -if test "${enable_waveout}" != "no"; then - if test "${SYS}" = "mingw32"; then - VLC_ADD_PLUGIN([waveout]) - VLC_ADD_LIBS([waveout],[-lwinmm]) - fi -fi - dnl dnl CoreAudio plugin dnl @@ -3536,9 +3559,8 @@ AC_ARG_ENABLE(macosx-audio, if test "x${enable_macosx_audio}" != "xno" && (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes") then - AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, + AC_CHECK_HEADER([CoreAudio/CoreAudio.h], [ VLC_ADD_PLUGIN([auhal]) - VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,CoreServices]) ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi @@ -3549,9 +3571,8 @@ 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, + AC_CHECK_HEADER([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 @@ -3563,13 +3584,31 @@ AC_ARG_ENABLE(audioqueue, if test "${enable_audioqueue}" = "yes" then VLC_ADD_PLUGIN([audioqueue]) - VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation]) 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 @@ -3617,10 +3656,9 @@ 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_PLUGIN([stream_out_chromaprint]) 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)] @@ -3644,21 +3682,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++]) @@ -3673,8 +3718,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]) ]) @@ -3682,17 +3725,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"]) @@ -3724,6 +3756,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"]) @@ -3868,9 +3903,7 @@ AS_IF([test "${enable_projectm}" != "no"], PKG_CHECK_MODULES(PROJECTM, libprojectM, [ VLC_ADD_PLUGIN([projectm]) - VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS]) - VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS]) - PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0], + PKG_CHECK_EXISTS([libprojectM >= 2.0.0], [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ], [ AC_MSG_WARN( [Using libprojectM version 1] ) ]) @@ -3910,6 +3943,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 @@ -3928,7 +3971,6 @@ dnl dnl UPnP Plugin (Intel SDK) dnl PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto]) -VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}]) EXTEND_HELP_STRING([Misc options:]) @@ -3989,8 +4031,6 @@ AC_ARG_ENABLE(taglib, AS_IF([test "${enable_taglib}" != "no"], [ PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [ VLC_ADD_PLUGIN([taglib]) - VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz]) - VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], [ AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])]) ]) @@ -4073,10 +4113,6 @@ AS_IF([test "${with_kde_solid}" != "no"], [ AC_SUBST(soliddatadir) AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"]) -dnl -dnl DMO codec -AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ]) - EXTEND_HELP_STRING([Components:]) dnl @@ -4150,15 +4186,11 @@ AC_CONFIG_FILES([ lib/Makefile bin/Makefile test/Makefile - modules/access/Makefile modules/access/rtp/Makefile modules/access_output/Makefile modules/audio_filter/Makefile modules/audio_mixer/Makefile - modules/audio_output/Makefile - modules/codec/Makefile modules/control/Makefile - modules/demux/Makefile modules/gui/Makefile modules/gui/macosx/Makefile modules/gui/minimal_macosx/Makefile @@ -4166,23 +4198,20 @@ AC_CONFIG_FILES([ modules/gui/qt4/Makefile modules/gui/skins2/Makefile modules/lua/Makefile - modules/meta_engine/Makefile modules/misc/Makefile modules/mux/Makefile modules/notify/Makefile modules/packetizer/Makefile - modules/services_discovery/Makefile modules/stream_filter/Makefile modules/stream_out/Makefile modules/text_renderer/Makefile 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], [