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
AC_SUBST(PKGDIR)
CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
-CODENAME="Weatherwax"
+CODENAME="Vetinari"
COPYRIGHT_YEARS="1996-2014"
AC_CONFIG_SRCDIR(src/libvlc.c)
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 <windows.h>.])
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
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,
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*)
])
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
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
dnl Check for usual libc functions
AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
-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 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.])
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)
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=""
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"
])
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 <sys/types.h>
- #include <sys/socket.h>
- ])
-AC_CHECK_HEADERS([sys/mount.h], [], [],
- [
- #include <sys/param.h>
- ])
-
-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 <sys/types.h>
+#include <sys/socket.h>
+])
+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 <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
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.
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])
AS_IF([test "${enable_optimizations}" != "no"], [
dnl -O4 and -O3 only in production builds
- AS_IF([test "{enable_debug}" = "no"], [
+ AS_IF([test "${enable_debug}" = "no"], [
VLC_SAVE_FLAGS
CFLAGS="${CFLAGS} -O4"
CXXFLAGS="${CXXFLAGS} -O4"
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
])
[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
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
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
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
-PKG_ENABLE_MODULES_VLC([DVDNAV], [], [dvdnav >= 4.2.1], [DVD with navigation input module (dvdnav)], [auto])
+PKG_ENABLE_MODULES_VLC([DVDNAV], [], [dvdnav > 4.9.0], [DVD with navigation input module (dvdnav)], [auto])
dnl
dnl Blu-ray Disc Support with libbluray
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
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
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}"],
])
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 ])
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"])
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"])
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])
dnl
PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
+dnl
+dnl Daala decoder plugin
+dnl
+PKG_ENABLE_MODULES_VLC([DAALA], [], [ogg daaladec daalaenc], [experimental daala codec], [disabled])
+
dnl
dnl schroedinger decoder plugin (for dirac format video)
dnl
])
])
+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
])
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 <GL/gl.h>]], [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifdef _WIN32
+# include <GL/glew.h>
+#endif
+#include <GL/gl.h>
+]], [
[int t0 = GL_TEXTURE0;]])
], [
GL_CFLAGS=""
+ have_gl="yes"
AS_IF([test "${SYS}" != "mingw32"], [
- have_gl="yes"
GL_LIBS="-lGL"
], [
- AC_CHECK_HEADER([GL/glew.h], [
- have_gl="yes"
- ], [
- have_gl="no"
- ])
GL_LIBS="-lopengl32"
])
- ], [
- have_gl="no"
])
])
AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"])
libav) av_vdpau_ver="55.26.0" ;;
ffmpeg) av_vdpau_ver="55.42.100" ;;
esac
- PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= ${av_vdpau_ver}], [
+ 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 >= 55.26.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 >= 55.26.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
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"],[
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
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])
VLC_ADD_PLUGIN([android_opaque])
- VLC_ADD_LIBS([android_opaque], [-ldl])
- fi
fi
dnl
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
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
[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.])
])
])
])
[(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
])
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}"],[
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 <QWidget>
-#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"])
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 <gcrypt.h>]
)
])
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}"], [
[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}.])])
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], [
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