Newer
Older
dnl
dnl libfluidsynth (MIDI synthetizer) plugin
dnl
PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
PKG_ENABLE_MODULES_VLC([FLUIDLITE], [fluidsynth], [fluidlite], [MIDI synthetiser with libfluidsynth], [auto])
AC_CHECK_HEADERS([fluidlite.h], [AC_SUBST([FLUIDSYNTH_LIBS], ${FLUIDLITE_LIBS})])

Jean-Paul Saman
committed
dnl
Christophe Mutricy
committed
dnl Teletext Modules

Jean-Paul Saman
committed
dnl vbi decoder plugin (using libzbvi)
Christophe Mutricy
committed
dnl telx module
dnl uncompatible

Jean-Paul Saman
committed
dnl
AC_ARG_ENABLE([zvbi],
AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
AC_ARG_ENABLE([telx],
AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
zvbi) (default enabled if zvbi is absent)]))
Christophe Mutricy
committed
AS_IF( [test "${enable_zvbi}" != "no"],[
PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
AS_IF( [test "${enable_telx}" = "yes"],[
AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
AM_CONDITIONAL([HAVE_ZVBI], [test "x${have_zvbi}" = x"yes"])
AS_IF( [test "${enable_telx}" != "no" ],[
have_telx="yes"
AC_DEFINE(TELX_COMPILED, 1, [Define if the telx module is built])
Christophe Mutricy
committed
])
AM_CONDITIONAL([HAVE_TELX], [test "x${have_telx}" = x"yes"])

Jean-Paul Saman
committed
dnl
dnl ARIB caption rendering module
dnl
PKG_ENABLE_MODULES_VLC([ARIBCAPTION], [], [libaribcaption], [ARIB caption decoder/renderer], [auto])
dnl
dnl ARIB subtitles rendering module
dnl
AC_ARG_ENABLE([aribsub],
AS_HELP_STRING([--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 "${have_aribb24}" = "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
PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
dnl tiger rendering for kate decoder plugin
dnl
AC_ARG_ENABLE([tiger],
AS_HELP_STRING([--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.])],[
AS_IF([test -n "${enable_tiger}"], [
AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
AC_ARG_ENABLE([css],
AS_HELP_STRING([--enable-css], [CSS selector engine (default auto)]))
AS_IF([test "${enable_css}" != "no"], [
with_css="yes"
AC_DEFINE(HAVE_CSS, 1, [Define if CSS engine is built])
])
AM_CONDITIONAL([ENABLE_CSS], [test "${with_css}" = "yes"])
dnl
dnl libplacebo support
dnl
AC_ARG_ENABLE([libplacebo],
AS_HELP_STRING([--disable-libplacebo],
[disable libplacebo support (default auto)]))
AS_IF([test "$enable_libplacebo" != "no"], [
PKG_CHECK_MODULES([LIBPLACEBO], [libplacebo >= 4.157], [
AC_DEFINE([HAVE_LIBPLACEBO], [1], [Define to 1 if libplacebo is enabled.])
AC_CHECK_HEADER([libplacebo/vulkan.h], [VLC_ADD_PLUGIN([placebo_vk])])
AC_CHECK_HEADER([libplacebo/opengl.h], [
VLC_ADD_PLUGIN([placebo_gl])
VLC_ADD_PLUGIN([placebo_gles2])
dnl Minimum version that the OpenGL filter pl_scale is compatible with
PKG_CHECK_MODULES([LIBPLACEBO], [libplacebo >= 4.167],
[have_libplacebo_glscale="yes"],
[have_libplacebo_glscale="no"])
], [
AS_IF([test -n "${enable_libplacebo}"], [
AC_MSG_ERROR([${LIBPLACEBO_PKG_ERRORS}.])
])
enable_libplacebo="no"
])
])
AM_CONDITIONAL([HAVE_LIBPLACEBO], [test "$enable_libplacebo" != "no"])
AM_CONDITIONAL([HAVE_LIBPLACEBO_SCALE], [test "$have_libplacebo_glscale" = "yes"])

Rémi Denis-Courmont
committed
PKG_CHECK_MODULES([EGL], [egl], [
have_egl="yes"
], [
have_egl="no"
])
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([[
#ifdef _WIN32
# include <GL/glew.h>
#endif
#include <GL/gl.h>
]], [
[int t0 = GL_TEXTURE0;]])
], [
AS_IF([test "${SYS}" != "mingw32"], [
AC_CHECK_LIB([GL], [glTexture2D], [
have_gl="yes"
GL_LIBS="-lGL"
])
GL_LIBS="-lopengl32"
])
AC_MSG_RESULT([${have_gl}])
AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"])
AS_IF([test "${have_gl}" = "yes"], [
AC_DEFINE([HAVE_GL], 1, [Defined if having OpenGL])
])
dnl OpenGL ES 2: depends on EGL 1.1
have_gles2="no"
AC_ARG_ENABLE(gles2,
[AS_HELP_STRING([--enable-gles2],
[enable GLES2 support (default disabled)])])
AS_IF([test "$enable_gles2" = "yes"], [
PKG_CHECK_MODULES([GLES2], [glesv2], [have_gles2="yes"], [])
])
AM_CONDITIONAL([HAVE_GLES2], [test "${have_gles2}" = "yes"])
dnl
dnl Vulkan
dnl
AC_ARG_ENABLE(vulkan,
[AS_HELP_STRING([--disable-vulkan],
[disable Vulkan support (default auto)])])
AS_IF([test "$enable_vulkan" != "no"], [
PKG_CHECK_MODULES([VULKAN], [vulkan >= 1.0.26], [
AC_DEFINE([HAVE_VULKAN], [1], [Define to 1 if vulkan is enabled.])
], [
AS_IF([test -n "${enable_vulkan}"], [
AC_MSG_ERROR([${VULKAN_PKG_ERRORS}.])
])
enable_vulkan="no"
])
])
AM_CONDITIONAL(HAVE_VULKAN, [test "$enable_vulkan" != "no"])
dnl
dnl Xlib
dnl
AC_PATH_XTRA()
AC_ARG_ENABLE([xcb],
AS_HELP_STRING([--enable-xcb], [X11 support with XCB (default enabled)]),, [
AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin"], [
enable_xcb="yes"
], [
enable_xcb="no"
])
])
PKG_CHECK_MODULES([XCB], [xcb >= 1.8],, [
xcb_err="$xcb_err ${XCB_PKG_ERRORS}."])
PKG_CHECK_MODULES([XCB_COMPOSITE], [xcb-composite],, [
xcb_err="$xcb_err ${XCB_COMPOSITE_PKG_ERRORS}."])
PKG_CHECK_MODULES([XCB_RANDR], [xcb-randr >= 1.3],, [
xcb_err="$xcb_err ${XCB_RANDR_PKG_ERRORS}."])
PKG_CHECK_MODULES([XCB_RENDER], [xcb-render],, [
xcb_err="$xcb_err ${XCB_RENDER_PKG_ERRORS}."])
PKG_CHECK_MODULES([XCB_SHM], [xcb-shm >= 1.9.2],, [
xcb_err="$xcb_err ${XCB_SHM_PKG_ERRORS}."])
PKG_CHECK_MODULES([XCB_XKB], [xcb-xkb],, [
xcb_err="$xcb_err ${XCB_XKB_PKG_ERRORS}."])
dnl xproto
PKG_CHECK_MODULES(XPROTO, [xproto],, [
xcb_err="$xcb_err ${XPROTO_PKG_ERRORS}."])
AS_IF([test -n "$xcb_err"], [
AC_MSG_ERROR([$xcb_err Pass --disable-xcb to skip X11 support.])
])
dnl xkbcommon
PKG_CHECK_MODULES([XKBCOMMON_X11], [xkbcommon-x11], [
have_xkbcommon_x11="yes"
AC_MSG_WARN([${XKBCOMMON_X11_PKG_ERRORS}. Hotkeys are disabled.])
PKG_CHECK_MODULES([XCB_KEYSYMS], [xcb-keysyms >= 0.3.4], [
have_xcb_keysyms="yes"
], [
AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Global hotkeys are disabled.])
dnl xcb-damage
PKG_CHECK_MODULES([XCB_DAMAGE], [xcb-damage], [
have_xcb_damage="yes"
], [
AC_MSG_WARN([${XCB_DAMAGE_PKG_ERRORS}. Qt X11 composition disabled.])
])
dnl xcb-fixes
PKG_CHECK_MODULES([XCB_XFIXES], [xcb-xfixes], [
have_xcb_xfixes="yes"
], [
AC_MSG_WARN([${XCB_XFIXES_PKG_ERRORS}. Qt X11 composition disabled.])
])
AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
AM_CONDITIONAL([HAVE_XKBCOMMON_X11], [test "${have_xkbcommon_x11}" = "yes"])
AM_CONDITIONAL([HAVE_XCB_KEYSYMS], [test "${have_xcb_keysyms}" = "yes"])
AM_CONDITIONAL([HAVE_XCB_DAMAGE], [test "${have_xcb_damage}" = "yes"])
AM_CONDITIONAL([HAVE_XCB_XFIXES], [test "${have_xcb_xfixes}" = "yes"])
dnl VDPAU needs X11
AC_ARG_ENABLE([vdpau],
[AS_HELP_STRING([--enable-vdpau], [VDPAU hardware support (default auto)])])
AS_IF([test "${enable_vdpau}" != "no"], [
PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.6], [
AS_IF([test "${no_x}" = "yes"], [
AC_MSG_ERROR([VDPAU requires Xlib (X11).])
])
], [
AS_IF([test -n "${enable_vdpau}"], [
AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
])
])
])
AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
have_avcodec_vdpau="no"
AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [
PKG_CHECK_EXISTS([libavcodec >= 56.19.100], [
have_avcodec_vdpau="yes"
AC_MSG_NOTICE([VDPAU decoding acceleration activated])
], [
AS_IF([test -n "${enable_vdpau}"], [
AC_MSG_ERROR([libavcodec >= 56.10.0 is required for VDPAU decoding.])
AC_MSG_WARN([libavcodec >= 56.10.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)]))
AS_IF([test "${enable_wayland}" != "no"], [
PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= 1.19.91],, [
wl_err="$wl_err ${WAYLAND_CLIENT_PKG_ERRORS}."
])
PKG_CHECK_MODULES([WAYLAND_CURSOR], [wayland-cursor],, [
wl_err="$wl_err ${WAYLAND_CURSOR_PKG_ERRORS}."
])
PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl],, [
wl_err="$wl_err ${WAYLAND_EGL_PKG_ERRORS}."
])
PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner >= 1.15], [
WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
], [
wl_err="$wl_err ${WAYLAND_SCANNER_PKG_ERRORS}."
])
dnl wayland-protocols
PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= 1.15], [
WAYLAND_PROTOCOLS="$(${PKG_CONFIG} wayland-protocols --variable pkgdatadir)"
], [
wl_err="$wl_err ${WAYLAND_PROTOCOLS_PKG_ERRORS}."
])
AS_IF([test -n "$wl_err"], [
AS_IF([test -n "$enable_wayland"], [
AC_MSG_ERROR([$wl_err])
have_wayland="yes"
dnl xkbcommon
PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon], [
have_xkbcommon="yes"
AC_MSG_WARN([${XKBCOMMON_PKG_ERRORS}. Hotkeys are disabled.])
AM_CONDITIONAL([HAVE_WAYLAND], [test "${have_wayland}" = "yes"])
AC_SUBST([WAYLAND_PROTOCOLS])
AM_CONDITIONAL([HAVE_XKBCOMMON], [test "${have_xkbcommon}" = "yes"])
dnl
dnl freetype module
dnl
AC_ARG_ENABLE([freetype],
AS_HELP_STRING([--enable-freetype], [freetype support (default auto)]))
AC_ARG_ENABLE([fribidi],
AS_HELP_STRING([--enable-fribidi], [fribidi support (default auto)]))
AC_ARG_ENABLE([harfbuzz],
AS_HELP_STRING([--enable-harfbuzz], [harfbuzz support (default auto)]))
AC_ARG_ENABLE([fontconfig],
AS_HELP_STRING([--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],
[Name of 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],
[Name of the default font family]),
[AC_DEFINE_UNQUOTED([DEFAULT_MONOSPACE_FAMILY],
"$withval", [Default monospace font family])])
have_freetype="no"
have_fontconfig="no"
have_fribidi="no"
if test "${enable_freetype}" != "no"; then
PKG_CHECK_MODULES(FREETYPE, freetype2, [
have_freetype="yes"
VLC_ADD_CPPFLAGS([skins2],[${FREETYPE_CFLAGS}])
VLC_ADD_LIBS([skins2],[${FREETYPE_LIBS}])
dnl fontconfig support
AS_IF([test "${enable_fontconfig}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "darwin"], [
PKG_CHECK_MODULES(FONTCONFIG, [fontconfig >= 2.11], [
have_fontconfig="yes"
], [
AC_MSG_WARN([${FONTCONFIG_PKG_ERRORS}. Styles will be disabled in FreeType.])
])
])
dnl fribidi support
if test "${enable_fribidi}" != "no"; then
PKG_CHECK_MODULES(FRIBIDI, fribidi, [
have_fribidi="yes"
VLC_ADD_CPPFLAGS([skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
VLC_ADD_LIBS([skins2], [${FRIBIDI_LIBS}])
],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional text and complex scripts (Arabic, Farsi, Thai...) will be disabled in FreeType.])])
fi
dnl harfbuzz support
if test "${have_fribidi}" != "no"; then
if test "${enable_harfbuzz}" != "no"; then
PKG_CHECK_MODULES(HARFBUZZ, harfbuzz, [
have_harfbuzz="yes"
VLC_ADD_CPPFLAGS([skins2], [${HARFBUZZ_CFLAGS} -DHAVE_HARFBUZZ])
VLC_ADD_LIBS([skins2], [${HARFBUZZ_LIBS}])
],[AC_MSG_WARN([${HARFBUZZ_PKG_ERRORS}. Support for complex scripts (Arabic, Farsi, Thai...) will be disabled in FreeType.])])
fi
Christophe Mutricy
committed
],[
AS_IF([test -n "${enable_freetype}"],[
AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
Christophe Mutricy
committed
])
fi
AM_CONDITIONAL([HAVE_FREETYPE], [test "${have_freetype}" = "yes"])
AM_CONDITIONAL([HAVE_FONTCONFIG], [test "${have_fontconfig}" = "yes"])
AM_CONDITIONAL([HAVE_FRIBIDI], [test "${have_fribidi}" = "yes"])
AM_CONDITIONAL([HAVE_HARFBUZZ], [test "${have_harfbuzz}" = "yes"])
dnl
dnl libass subtitle rendering module
dnl
AC_ARG_ENABLE([libass],
AS_HELP_STRING([--enable-libass], [Subtitle support using libass (default enabled)]))
AS_IF( [test "${enable_libass}" != "no"], [
PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
[
VLC_ADD_PLUGIN([libass])
if test "${have_fontconfig}" != "no"; then
VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
VLC_ADD_LIBS([libass],[${FONTCONFIG_LIBS}])
fi
],[
AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
])
])
dnl
dnl SAPI (text to Speech renderer for Windows)
dnl
AC_LANG_PUSH([C++])
AC_CHECK_TYPES([ISpObjectToken],[
],[AC_MSG_WARN([sapi.h not found. Text to Speech renderer for Windows disabled])],
[#include <windows.h>
#include <sapi.h>
#include <sphelper.h>])
AM_CONDITIONAL([HAVE_SAPI], [test "${have_sapi}" = "yes"])
AC_LANG_POP([C++])
dnl
dnl

Jean-Baptiste Kempf
committed
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])
AC_ARG_ENABLE([directx],
AS_HELP_STRING([--enable-directx],
[Microsoft DirectX support (default enabled on Windows)]),, [
enable_directx="yes"
], [
enable_directx="no"
])
])
AS_IF([test "${enable_directx}" != "no"], [
dnl OpenGL
AC_CHECK_HEADERS([GL/glew.h], [
AC_CHECK_HEADERS([GL/wglew.h], [
VLC_ADD_PLUGIN([glwin32 wgl])
],, [
#include <windows.h>
#include <GL/glew.h>
])],, [
#include <windows.h>
])
VLC_ADD_PLUGIN([direct3d11 direct3d11_filters])
VLC_ADD_PLUGIN([direct3d9])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
[[#define COBJMACROS
#include <d3d9.h>
#include <dxva2api.h>
#ifndef IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
# error dxva2 too old
#endif
]],[[;]])
],[
VLC_ADD_PLUGIN([direct3d9_filters])
[AC_MSG_WARN([Could not find required IDirectXVideoDecoder in dxva2api.h])])
dnl Direct Rendering Manager (DRM) plugins
AC_CHECK_HEADER([drm/drm_mode.h], [
have_drm="yes"
], [
have_drm="no"
])
AM_CONDITIONAL([HAVE_DRM], [test "$have_drm" = "yes"])
PKG_HAVE_WITH_MODULES([LIBDRM], [libdrm >= 2.4.83], [Linux kernel mode setting output], [auto])
Ramiro Polla
committed
PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
dnl
dnl OS/2 KVA plugin
dnl
AC_ARG_ENABLE([kva],
AS_HELP_STRING([--enable-kva],
[support the K Video Accelerator KVA (default enabled on OS/2)]),, [
AS_IF([test "$SYS" = "os2"], [
enable_kva="yes"
])
])
have_kva="no"
KVA_LIBS=""
AS_IF([test "$enable_kva" != "no"], [
AC_CHECK_HEADERS([kva.h], [
have_kva="yes"
KVA_LIBS="-lkva"
])
])
])
AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
MMAL_CFLAGS=""
MMAL_LIBS=""
AC_ARG_ENABLE([mmal],
AS_HELP_STRING([--enable-mmal],
[Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)]))
if test "${enable_mmal}" != "no"; then
CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
AC_CHECK_HEADERS([interface/mmal/mmal.h],
[ AC_CHECK_LIB([bcm_host], [vc_tv_unregister_callback_full], [
MMAL_CFLAGS="-isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
MMAL_LIBS="-L/opt/vc/lib -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvcsm -lvchiq_arm"
],[
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
AC_SUBST([MMAL_CFLAGS])
AC_SUBST([MMAL_LIBS])
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
dnl
dnl Pulseaudio module
dnl
AC_ARG_ENABLE([pulse],
AS_HELP_STRING([--enable-pulse],
[use the PulseAudio client library (default auto)]))
have_pulse="no"
AS_IF([test "${enable_pulse}" != "no"], [
PKG_CHECK_MODULES([PULSE], [libpulse >= 6.0], [
AS_IF([test "x${enable_pulse}" != "x"], [
AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 6.0 or later required.])
])
])
])
AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
AC_ARG_ENABLE([alsa],
AS_HELP_STRING([--enable-alsa],
[support the Advanced Linux Sound Architecture (default auto)]),, [
AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
enable_alsa="yes"
])
])
have_alsa="no"
AS_IF([test "${enable_alsa}" != "no"], [
PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
have_alsa="yes"
], [
AS_IF([test "x${enable_alsa}" != "x"], [
AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required. Pass --disable-alsa to ignore this error.])
])
])
])
AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
dnl
dnl Open Sound System module
dnl
AC_ARG_ENABLE([oss],
AS_HELP_STRING([--enable-oss],
[support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)]),, [
AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
enable_oss="no"
])
])
have_oss="no"
OSS_LIBS=""
AS_IF([test "$enable_oss" != "no"], [
AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
have_oss="yes"
OSS_LIBS="-lossaudio"
])
])
])
AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
dnl
dnl OpenBSD sndio module
dnl
AC_ARG_ENABLE([sndio],
AS_HELP_STRING([--disable-sndio],
[support the OpenBSD sndio (default auto)]),, [
enable_sndio="yes"
])
])
have_sndio="no"
AS_IF([test "$enable_sndio" != "no"], [
PKG_CHECK_MODULES([SNDIO], [sndio], [
have_sndio="yes"
], [
AS_IF([test -n "$enable_sndio"], [
AC_MSG_ERROR([${SNDIO_PKG_ERRORS}.)])
])
])
AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
dnl
dnl Windows Audio Session plugin
dnl
AC_ARG_ENABLE([wasapi],
AS_HELP_STRING([--enable-wasapi],
[use the Windows Audio Session API (default auto)])
have_wasapi="no"
AS_IF([test "$enable_wasapi" != "no"], [
AC_CHECK_HEADER([audioclient.h], [
have_wasapi="yes"
], [
AS_IF([test "x${enable_wasapi}" != "x"], [
AC_MSG_ERROR([Windows Audio Session API not found.])
])
])
])
AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
dnl JACK modules
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
dnl
AC_ARG_ENABLE([opensles],
AS_HELP_STRING([--enable-opensles], [Android OpenSL ES audio module (default disabled)]))
if test "${HAVE_ANDROID}" = "1"; then
if test "${enable_opensles}" = "yes"; then
[ VLC_ADD_PLUGIN([opensles_android]) ],
[ AC_MSG_ERROR([cannot find OpenSLES headers])] )
fi
fi
dnl libsamplerate plugin
PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
dnl
dnl soxr module
dnl
PKG_ENABLE_MODULES_VLC([SOXR], [], [soxr >= 0.1.2], [SoX Resampler library], [auto])
dnl
dnl libebur128 module
dnl
PKG_ENABLE_MODULES_VLC([EBUR128], [], [libebur128 >= 1.2.4], [EBU R 128 standard for loudness normalisation], [auto])
dnl
dnl OS/2 KAI plugin
dnl
AC_ARG_ENABLE([kai],
AS_HELP_STRING([--enable-kai],
[support the K Audio Interface KAI (default enabled on OS/2)]),, [
AS_IF([test "$SYS" = "os2"], [
enable_kai="yes"
])
])
have_kai="no"
KAI_LIBS=""
AS_IF([test "$enable_kai" != "no"], [
AC_CHECK_HEADERS([kai.h], [
have_kai="yes"
KAI_LIBS="-lkai"
])
])
])
AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
dnl
dnl chromaprint audio track fingerprinter
dnl
PKG_ENABLE_MODULES_VLC([CHROMAPRINT], [stream_out_chromaprint], [libchromaprint >= 0.6.0], [Chromaprint audio fingeprinter], [auto])
dnl
dnl Chromecast streaming support
dnl
AC_ARG_VAR(PROTOC, [protobuf compiler])
dnl Intentionally using prefixed binaries for native tool in contribs
AC_CHECK_TOOL(PROTOC, protoc, no)
AS_IF([test "${PROTOC}" != "no"], [
protoc_ver="$(eval ${PROTOC} --version 2>/dev/null | head -1 | sed s/'.* '//)"
],[
protoc_ver="3.1.0"
])
m4_pushdef([protobuf_lite_version], ${protoc_ver})
PKG_WITH_MODULES([CHROMECAST],[protobuf-lite = protobuf_lite_version], [
AS_IF([test "${PROTOC}" != "no"], [
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])
AC_ARG_ENABLE([qt],
AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)]),, [
AS_IF([test "${enable_vlc}" != "no"], [enable_qt="yes"])
AS_IF([test "${SYS}" = "darwin"], [
enable_qt="no"
])
])
AS_IF([test "${enable_qt}" != "no"], [
PKG_CHECK_MODULES([QT], [Qt5Core >= 5.11.0 Qt5Widgets Qt5Gui Qt5Quick Qt5QuickWidgets Qt5QuickControls2 Qt5Svg], [
PKG_CHECK_MODULES([QT5_X11], [Qt5X11Extras], [
have_qt5_x11="yes"
],[
AC_MSG_WARN([Not building Qt Interface with X11 helpers.])
dnl TODO
PKG_CHECK_MODULES([QT5_WAYLAND], [Qt5WaylandClient], [
have_qt5_wayland="yes"
],[
AC_MSG_WARN([Not building Qt Interface with wayland support.])
])
QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)"
QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)"
QT_VERSION="$(eval $PKG_CONFIG --modversion Qt5Gui)"
AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
AC_PATH_PROGS(QMLCACHE, [qmlcachegen-qt5 qmlcachegen], no, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
AS_IF([test "${QMLCACHE}" = "no"], [
AC_MSG_WARN([qmlcachegen not found])
])
VLC_SAVE_FLAGS
CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <qconfig.h>]],[[QT_STATIC]])],
[have_qt_static=yes],[have_qt_static=no])
VLC_RESTORE_FLAGS
AS_IF([test "${have_qt_static}" = "yes"],[
PKG_CHECK_MODULES([QT5_PLUGINS], [
qtgraphicaleffectsplugin qtquick2plugin qtquickcontrols2plugin
qtquicktemplates2plugin qquicklayoutsplugin windowplugin
qmlshapesplugin qmlplugin modelsplugin qsvg qsvgicon
qtgraphicaleffectsprivate qjpeg ])
PKG_CHECK_MODULES([QT5_XCB_PLUGINS], [
qxcb-glx-integration qxcb
], [VLC_ADD_LIBS([qt],[${QT5_XCB_PLUGINS_LIBS}])], [:])
PKG_CHECK_MODULES([QT5_WAYLAND_PLUGINS], [
qwayland-generic qwayland-egl xdg-shell
], [VLC_ADD_LIBS([qt],[${QT5_WAYLAND_PLUGINS_LIBS}])], [:])
dnl Platform plugins are mandatory on those platforms, as opposed to
dnl the previous integration for linux which are optional
AS_IF([test "${SYS}" = "mingw32"], [
PKG_CHECK_MODULES([QT5_PLATFORM_PLUGINS], [qwindows qwindowsvistastyle])
])
AS_IF([test "${SYS}" = "darwin" -a "${HAVE_OSX}" = 1], [
PKG_CHECK_MODULES([QT5_PLATFORM_PLUGINS], [qcocoa])
])
])
AS_IF([test -n "${enable_qt}"],[
AC_MSG_ERROR([${QT_PKG_ERRORS}. If you want to build VLC without GUI, pass --disable-qt.])
],[
AC_MSG_WARN([${QT_PKG_ERRORS}.])
AC_ARG_ENABLE([qt-qml-cache],
AS_HELP_STRING([--enable-qt-qml-cache],
[enable qml cache generation]))
AM_CONDITIONAL([HAVE_QMLCACHE], [test "${enable_qt_qml_cache}" = "yes" && test "$QMLCACHE" != "no"])
AC_ARG_ENABLE([qt-qml-debug],
AS_HELP_STRING([--enable-qt-qml-debug], [enable qml debugger]))
AM_CONDITIONAL(QT_QML_DEBUG, [test "${enable_qt_qml_debug}" = "yes"])
AS_IF([test "${enable_qt}" != "no"], [
ALIASES="${ALIASES} qvlc"
AC_SUBST([QT_VERSION])
AM_CONDITIONAL([ENABLE_QT], [test "$enable_qt" != "no"])
AM_CONDITIONAL([HAVE_QT5_X11], [test "${have_qt5_x11}" = "yes"])
AM_CONDITIONAL([HAVE_QT5_WAYLAND], [test "${have_qt5_wayland}" = "yes"])
dnl detect kde4-config patch (used for kde solids).
dnl
AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
AS_IF([test "x$KDE4_CONFIG" = "x"], [
KDE4_CONFIG="kde4-config"
])

Jean-Paul Saman
committed
dnl
dnl Simple test for skins2 dependency
dnl
AS_IF([test "$enable_qt" = "no"], [
AS_IF([test "${enable_skins2}" = "yes"], [
AC_MSG_ERROR([The skins2 module depends on the Qt interface. Without it you will not be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt development package or alternatively you can also configure with: --disable-qt --disable-skins2.])
AC_MSG_WARN([The skins2 module depends on the Qt interface, Qt is not built so skins2 is disabled.])

Jean-Paul Saman
committed
dnl
dnl Skins2 module
dnl
AC_ARG_ENABLE([skins2],
AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)]))
AS_IF([test "${enable_skins2}" != "no"], [
have_skins_deps="yes"
dnl Win32
AS_IF([test "${SYS}" = "mingw32"], [
VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
dnl OS/2
], [test "${SYS}" = "os2"], [
VLC_ADD_CPPFLAGS([skins2],[ -DOS2_SKINS])
dnl Linux/Unix
], [
PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
PKG_CHECK_MODULES([XCURSOR], [xcursor],, [have_skins_deps="no"])
PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} ${XCURSOR_LIBS} -lX11])
])
dnl we need freetype
AS_IF([test "${have_freetype}" != "yes"], [
have_skins_deps="no"