Newer
Older
AC_MSG_ERROR([You need to supply the CrashDragon Server URL as value for --with-breakpad])
])
AS_IF([test "$HAVE_OSX" = "1"], [
AC_MSG_CHECKING([for Breakpad framework])
AS_IF([test ! -d ${CONTRIB_DIR}/Breakpad.framework -a \
! -d ${CONTRIB_DIR}/Frameworks/Breakpad.framework], [
AC_MSG_RESULT([no])
with_breakpad="no"
AC_MSG_ERROR([Breakpad framework is required and was not found in ${CONTRIB_DIR}])
], [
AC_MSG_RESULT([yes])
])
],[
PKG_CHECK_MODULES([BREAKPAD], [breakpad-client], [
LDFLAGS="${LDFLAGS} -Wl,--build-id"
], [
AC_MSG_ERROR(["breakpad not found"])
])
])
])
AM_CONDITIONAL([HAVE_BREAKPAD], [test "$with_breakpad" != "no"])
AS_IF([test "$with_breakpad" != "no"], [
AC_SUBST([BREAKPAD_URL], ["${with_breakpad}"])

Felix Paul Kühne
committed
dnl
dnl Minimal Mac OS X module
dnl
AC_ARG_ENABLE([minimal-macosx],
AS_HELP_STRING([--enable-minimal-macosx], [Minimal Mac OS X support (default disabled)]))

Felix Paul Kühne
committed
if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
then
VLC_ADD_PLUGIN([minimal_macosx])
dnl
dnl Mac OS X fancy dmg build tool
dnl
if test "${HAVE_OSX}" = "1"
then
AC_PATH_PROG(DMGBUILD, dmgbuild, no)
AS_IF([test "${DMGBUILD}" = "no"], [
AC_MSG_WARN([dmgbuild not found -- unable to build fancy DMGs])
])
fi
AM_CONDITIONAL([HAVE_DMGBUILD], [test "$DMGBUILD" != "no" -a "${HAVE_OSX}" = "1"])
dnl
dnl VideoToolbox plugins
AC_CHECK_HEADERS([VideoToolbox/VideoToolbox.h], [
VLC_ADD_PLUGIN([videotoolbox])
dnl
dnl AudioToolbox MIDI plugin
AC_CHECK_HEADERS([AudioToolbox/AudioToolbox.h], [
VLC_ADD_PLUGIN([audiotoolboxmidi])
])
AC_ARG_ENABLE([ncurses],
AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)]))
AS_IF([test "${enable_ncurses}" != "no"] ,[
PKG_CHECK_MODULES([NCURSES], [ncursesw], [
ALIASES="${ALIASES} nvlc"
AS_IF([test -n "${enable_ncurses}"], [
AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
])
AM_CONDITIONAL([HAVE_NCURSES], [test "${have_ncurses}" = "yes"])
dnl
dnl Lirc plugin
dnl
AC_ARG_ENABLE([lirc],
AS_HELP_STRING([--enable-lirc], [lirc support (default disabled)]))
have_lirc="no"
AS_IF([test "${enable_lirc}" = "yes"], [
AC_CHECK_HEADER(lirc/lirc_client.h, [
AC_CHECK_LIB([lirc_client], [lirc_init], [
])
])
])
AM_CONDITIONAL([HAVE_LIRC], [test "${have_lirc}" = "yes"])
PKG_ENABLE_MODULES_VLC([SRT], [access_srt access_output_srt], [srt >= 1.3.0], [SRT input/output plugin], [auto], [], [], [-DENABLE_SRT])
dnl
dnl RIST plugin
dnl
PKG_ENABLE_MODULES_VLC([RIST], [rist access_output_rist], [librist], [RIST input/output plugin (default auto)])
EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
dnl
dnl goom visualization plugin
dnl
PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
dnl
dnl libprojectM visualization plugin
dnl
AC_ARG_ENABLE([projectm],
AS_HELP_STRING([--enable-projectm], [projectM visualization plugin (default enabled)]))
AS_IF([test "${enable_projectm}" != "no"],
[
PKG_CHECK_MODULES(PROJECTM, libprojectM,
[
VLC_ADD_PLUGIN([projectm])
[ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
[ AC_MSG_WARN( [Using libprojectM version 1] )
])
AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
dnl
dnl Vovoid VSXu visualization plugin
dnl
AC_ARG_ENABLE([vsxu],
AS_HELP_STRING([--enable-vsxu], [Vovoid VSXu visualization plugin (default auto)]))
AS_IF([test "${enable_vsxu}" != "no"],
[
PKG_CHECK_MODULES(VSXU, libvsxu,
[
VLC_ADD_PLUGIN([vsxu])
],[
AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
])
])
EXTEND_HELP_STRING([Service Discovery plugins:])
dnl Avahi-Zeroconf services discovery
PKG_ENABLE_MODULES_VLC([AVAHI], [], [avahi-client >= 0.6], [Zeroconf services discovery], [auto])
dnl
dnl libudev services discovery
PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
dnl
dnl UPnP Plugin (Intel SDK)
dnl
PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp >= 1.8.3], [Intel UPNP SDK],[auto])
dnl
dnl mDNS using libmicrodns
dnl
PKG_ENABLE_MODULES_VLC([MICRODNS], [], [microdns >= 0.1.2], [mDNS services discovery], [auto])
dnl
dnl libxml2 module
dnl
PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
AC_ARG_ENABLE([libgcrypt],
AS_HELP_STRING([--disable-libgcrypt], [gcrypt support (default enabled)]))
AC_ARG_VAR([GCRYPT_CFLAGS], [C compiler flags for gcrypt])
AC_ARG_VAR([GCRYPT_LIBS], [linker flags flags for gcrypt])
AS_IF([test "${enable_libgcrypt}" != "no"], [
AC_CACHE_CHECK([for gcrypt 1.6.0 or later], [ac_cv_lib_gcrypt], [
VLC_SAVE_FLAGS
CFLAGS="${CFLAGS} ${GCRYPT_CFLAGS}"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
[#include <gcrypt.h>
#if GCRYPT_VERSION_NUMBER < 0x010600
#error
#endif]])], [
ac_cv_lib_gcrypt=yes
], [
ac_cv_lib_gcrypt=no
])
VLC_RESTORE_FLAGS
])
AS_IF([test "${ac_cv_lib_gcrypt}" = "yes"], [
AC_DEFINE([HAVE_GCRYPT], 1, [Defined if having gcrypt])
AS_IF([test "${enable_libgcrypt}" = "yes"], [
AC_MSG_ERROR([libgcrypt version 1.6.0 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
])
])
AS_IF([test -z "$GCRYPT_LIBS"], [
GCRYPT_LIBS="-lgcrypt -lgpg-error"
])
AC_SUBST([GCRYPT_CFLAGS])
AC_SUBST([GCRYPT_LIBS])
AM_CONDITIONAL([HAVE_GCRYPT], [test "${ac_cv_lib_gcrypt}" = "yes"])

Rémi Denis-Courmont
committed
dnl
dnl TLS/SSL
dnl
AC_ARG_ENABLE([gnutls],
AS_HELP_STRING([--enable-gnutls], [GNU TLS TLS/SSL support (default enabled)]))

Rémi Denis-Courmont
committed
AS_IF([test "${enable_gnutls}" != "no"], [
PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.5.0], [

Rémi Denis-Courmont
committed
], [
AS_IF([test -n "${enable_gnutls}"], [
AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])

Rémi Denis-Courmont
committed
])
])
])
dnl
dnl Taglib plugin
dnl
AC_ARG_ENABLE([taglib],
AS_HELP_STRING([--disable-taglib],
[do not use TagLib (default enabled)]))
AS_IF([test "${enable_taglib}" != "no"], [
PKG_CHECK_MODULES(TAGLIB, taglib >= 1.11, [
VLC_ADD_PLUGIN([taglib])
], [
AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
AM_CONDITIONAL([HAVE_TAGLIB], [test "${have_taglib}" = "yes"])
PKG_ENABLE_MODULES_VLC([SECRET], [], [libsecret-1 >= 0.18], [use libsecret for keystore], [auto])
AC_ARG_ENABLE([kwallet],
AS_HELP_STRING([--enable-kwallet],
[use kwallet (via D-Bus) for keystore (default enabled)]))
AS_IF([test "${enable_kwallet}" != "no" -a "${have_dbus}" = "yes"], [
VLC_ADD_PLUGIN([kwallet])
])
dnl
dnl update checking system
dnl
AC_ARG_ENABLE([update-check],
AS_HELP_STRING([--enable-update-check], [update checking system (default disabled)]))
if test "${enable_update_check}" = "yes"
then
AS_IF([test "${ac_cv_lib_gcrypt}" != "yes"],[
AC_MSG_ERROR([libgcrypt is required for update checking system]) ])
fi
AM_CONDITIONAL([UPDATE_CHECK], [test "${enable_update_check}" = "yes"])

Rémi Denis-Courmont
committed
dnl OS X notification plugin
AC_ARG_ENABLE([osx_notifications],
AS_HELP_STRING([--enable-osx-notifications],
[macOS notification plugin (default disabled)]),,
[enable_osx_notifications=no])
AS_IF([test "${enable_osx_notifications}" != "no"], [
VLC_ADD_PLUGIN([osx_notifications])
dnl
dnl Check for GBM
dnl
PKG_HAVE_WITH_MODULES([GBM], [gbm])
dnl
dnl Libnotify notification plugin
dnl
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
PKG_ENABLE_MODULES_VLC([MEDIALIBRARY], [medialibrary], [medialibrary >= 0.12.0], (medialibrary support), [auto])
AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
], [
DEFS_BIGENDIAN=""
])
dnl
dnl Where to install KDE solid .desktop
dnl
AC_ARG_WITH(kde-solid,
AS_HELP_STRING([--with-kde-solid=PATH],
[KDE Solid actions directory (auto)]),, [
if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${HAVE_ANDROID}" != "1" ; then
with_kde_solid="yes"
])
soliddatadir=""
AS_IF([test "${with_kde_solid}" != "no"], [
AS_IF([test "${with_kde_solid}" = "yes"], [
kde4datadir="`${KDE4_CONFIG} --install data`"
AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
soliddatadir="${kde4datadir}/solid/actions"
], [
soliddatadir="${with_kde_solid}"
])
AC_SUBST([soliddatadir])
AM_CONDITIONAL([KDE_SOLID], [test "x${soliddatadir}" != "x"])
dnl
dnl Doxygen and documentation tools
dnl
doxygen_stylesheet=""
AC_ARG_WITH([doxygen-stylesheet],
AS_HELP_STRING([--with-doxygen-stylesheet=PATH],
[Doxygen stylesheet (default is doxygen default)]),
[ doxygen_stylesheet="$with_doxygen_stylesheet" ], [])
AC_SUBST([doxygen_stylesheet])
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
dnl
dnl Find tools for win32 packaging
dnl
AS_IF([test "${SYS}" = "mingw32"], [
dnl
dnl Find makensis required to build the NSIS installer
dnl
nsis_major_required="3"
nsis_version_ok="no"
AC_PATH_PROG([MAKENSIS], [makensis], [no])
AS_IF([test "$MAKENSIS" != "no"], [
# Check version
AC_MSG_CHECKING([makensis version])
nsis_version=$($MAKENSIS -VERSION)
AC_MSG_RESULT([$nsis_version])
nsis_version_major=$(echo "$nsis_version" | awk -F \. '{print $1}' | sed 's/v//')
# Check if major version is a valid number
AS_IF([test -n "$nsis_version_major" && \
test "$nsis_version_major" -eq "$nsis_version_major" 2> /dev/null], [
# Do the version check using major version
AS_IF([test "$nsis_version_major" -lt "$nsis_major_required"], [
AC_MSG_WARN([makensis too old, (needs ${nsis_major_required}.x, have ${nsis_version_major}.x)])
], [
nsis_version_ok="yes"
])
], [
AC_MSG_WARN([failed to check the makensis version])
])
])
AC_PATH_PROG([SEVENZIP], [7z], [7z])
AM_CONDITIONAL([HAVE_MAKENSIS], [test "$MAKENSIS" != "no" && test "$nsis_version_ok" = "yes"])
dnl
dnl Check wether we have the PROCESS_MITIGATION_IMAGE_LOAD_POLICY
dnl It should only be available when building for win10, but some SDKs define it unconditionnaly
dnl
if test "${SYS}" = "mingw32"; then
AC_CHECK_TYPES([PROCESS_MITIGATION_IMAGE_LOAD_POLICY],,,[#include <windows.h>])
fi
dnl
dnl the VLC binary
dnl
AC_ARG_ENABLE([vlc],
AS_HELP_STRING([--enable-vlc], [build the VLC media player (default enabled)]))
AM_CONDITIONAL([BUILD_VLC], [test "${enable_vlc}" != "no"])
dnl Fuzzer (at the end not to mess dependencies FLAGS)
dnl
AS_VAR_IF(with_libfuzzer, no, [], [
LIBS="-lstdc++ ${LIBM}"
AS_IF([test "${with_libfuzzer}" != "yes"], [
LIBS="$LIBS -L${with_libfuzzer}"
])
AX_CHECK_COMPILE_FLAG(-fsanitize-coverage=trace-pc-guard, [
AX_APPEND_FLAG([-fsanitize-coverage=trace-pc-guard])
AX_APPEND_FLAG([-fsanitize-coverage=trace-pc-guard], [CXXFLAGS])
AX_APPEND_COMPILE_FLAGS([-fsanitize-coverage=trace-cmp])
AX_APPEND_COMPILE_FLAGS([-fsanitize-coverage=trace-cmp], [CXXFLAGS])
], [
AX_CHECK_COMPILE_FLAG(-fsanitize-coverage=trace-pc, [
AX_APPEND_FLAG([-fsanitize-coverage=trace-pc])
AX_APPEND_FLAG([-fsanitize-coverage=trace-pc], [CXXFLAGS])
], [
AC_MSG_ERROR([Sanitizer coverage not supported by your compiler])
])
])
])
VERSION_MESSAGE="${VERSION} ${CODENAME}"
COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
AC_DEFINE_UNQUOTED([VERSION_MESSAGE], "${VERSION_MESSAGE}", [Simple version string])
AC_DEFINE_UNQUOTED([COPYRIGHT_MESSAGE], "${COPYRIGHT_MESSAGE}", [Copyright string])
AC_DEFINE_UNQUOTED([COPYRIGHT_YEARS], "${COPYRIGHT_YEARS}", [The copyright years])
AC_DEFINE_UNQUOTED([CONFIGURE_LINE], "${CONFIGURE_LINE}", [The ./configure command line])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],${VERSION_MAJOR}, [version major number])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],${VERSION_MINOR}, [version minor number])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_REVISION],${VERSION_REVISION}, [version revision number])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_EXTRA],${VERSION_EXTRA}, [version extra number])
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_DEV],"${VERSION_DEV}", [version development string])
AC_SUBST([COPYRIGHT_MESSAGE])
AC_SUBST([VERSION_MESSAGE])
AC_SUBST([VERSION_MAJOR])
AC_SUBST([VERSION_MINOR])
AC_SUBST([VERSION_REVISION])
AC_SUBST([VERSION_EXTRA])
AC_SUBST([COPYRIGHT_YEARS])
AS_IF([test -z "$VLC_COMPILE_BY"],[
VLC_COMPILE_BY=`whoami|sed -e 's/\\\/\\\\\\\/g'`
AC_DEFINE_UNQUOTED([VLC_COMPILE_BY], "$VLC_COMPILE_BY", [user who ran configure])
AS_IF([test -z "$VLC_COMPILE_HOST"],[
VLC_COMPILE_HOST=`hostname -f 2>/dev/null || hostname`
AC_DEFINE_UNQUOTED([VLC_COMPILE_HOST], "$VLC_COMPILE_HOST", [host which ran configure])
AC_DEFINE_UNQUOTED([VLC_COMPILER], "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
Samuel Hocevar
committed
dnl
AC_SUBST([SYS])
AC_SUBST([ARCH])
AC_SUBST([ALIASES])
AC_SUBST([ASM])
AC_SUBST([MOC])
AC_SUBST([RCC])
AC_SUBST([UIC])
AC_SUBST([WINDRES])
AC_SUBST([LIBEXT])
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([MACOSX_DEPLOYMENT_TARGET])
AC_SUBST([FILE_LIBVLCCORE_DLL])
AC_SUBST([FILE_LIBVLC_DLL])
AC_CONFIG_FILES([
Makefile
Samuel Hocevar
committed
doc/Makefile
modules/Makefile
po/Makefile.in
Samuel Hocevar
committed
share/Makefile
compat/Makefile
bin/Makefile
Pierre d'Herbemont
committed
test/Makefile
share/vlc.appdata.xml.in
])
AM_COND_IF([HAVE_WIN32], [
AC_CONFIG_FILES([
extras/package/win32/NSIS/spad.nsi
extras/package/win32/NSIS/vlc.win32.nsi
])
])
AM_COND_IF([HAVE_DARWIN], [
AC_CONFIG_FILES([
share/macosx/Info.plist:share/Info.plist.in
])
])
dnl Generate makefiles
AC_OUTPUT
dnl Do we have to use make or gmake ?
if make --version 2>&1|grep -q GNU
then
# GNU make, all seems good
MAKE=make
else
# Known GNU make alias (on BSD)
MAKE=gmake
fi
Christophe Mutricy
committed
dnl Shortcut to nice compile message
if test -n $SHELL; then
SHELL=${CONFIG_SHELL-/bin/sh}
fi
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\$\$)| $compile_top_srcdir/extras/buildsystem/make.pl
rm -f .error\$\$
exit \$ERROR" >compile
Christophe Mutricy
committed
chmod a+x compile
libvlc configuration
version : ${VERSION}
optimizations : ${enable_optimizations}"
if test "${enable_vlc}" != "no"; then
echo "vlc aliases :${ALIASES}"
else
echo "build vlc executable : no"
fi
To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."