1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 1999-2015 VLC authors and VideoLAN])
5 AC_INIT(vlc, 3.0.0-git)
15 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
17 COPYRIGHT_YEARS="1996-2015"
19 AC_CONFIG_SRCDIR(src/libvlc.c)
20 AC_CONFIG_AUX_DIR(autotools)
21 AC_CONFIG_MACRO_DIR(m4)
22 AC_CONFIG_LIBOBJ_DIR(compat)
25 AC_PRESERVE_HELP_ORDER
27 AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
28 AC_CONFIG_HEADERS([config.h])
30 AM_SILENT_RULES([yes])
31 AM_MAINTAINER_MODE([enable])
36 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
37 dnl AC_SUBST(vlcincludedir)
38 vlcdatadir="\${datadir}/\${PKGDIR}"
40 vlclibdir="\${libdir}/\${PKGDIR}"
47 AC_USE_SYSTEM_EXTENSIONS
48 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
49 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
55 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
56 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
57 AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of <windows.h>.])
63 _AM_DEPENDENCIES([OBJC])
69 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
70 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
71 AC_PATH_PROG(YASM, yasm)
73 dnl Check for compiler properties
77 AX_CXX_COMPILE_STDCXX_11(noext, optional)
79 dnl Extend the --help string at the current spot.
80 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
82 dnl Allow binary package maintainer to pass a custom string to avoid
84 AC_ARG_WITH(binary-version,
85 AS_HELP_STRING([--with-binary-version=STRING],
86 [To avoid plugins cache problem between binary version]),[],[])
87 AS_IF([test -n "${with_binary_version}"],[
88 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
89 [Binary specific version])
93 dnl Check the operating system
119 CFLAGS="${CFLAGS} -pthread"
123 CFLAGS="${CFLAGS} -pthread"
124 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
125 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
129 CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include"
130 LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/"
140 dnl Force gcc "-arch" flag
144 ARCH_flag="-arch i386"
145 YASMFLAGS="-f macho32"
148 ARCH_flag="-arch ppc64"
151 ARCH_flag="-arch ppc"
154 ARCH_flag="-arch x86_64"
155 YASMFLAGS="-f macho64"
158 ac_cv_c_bigendian="no"
159 ac_cv_c_attribute_packed="no"
164 CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
165 CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
166 CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
167 OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
168 LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
169 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
170 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation,-framework,CoreServices])
173 [#import <TargetConditionals.h>
180 dnl Allow binaries created on Lion to run on earlier releases
182 [#import <Cocoa/Cocoa.h>
183 #ifdef MAC_OS_X_VERSION_10_7
186 [AC_MSG_RESULT([yes])
187 AC_LIBOBJ([getdelim])
189 AC_LIBOBJ([strnlen])],)
192 dnl Handle Mac OS X SDK flags
194 AC_ARG_WITH(macosx-sdk,
195 [AS_HELP_STRING([--with-macosx-sdk=DIR],
196 [compile using the SDK in DIR])])
197 if test "${with_macosx_sdk}" != "" ; then
198 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
199 CPP="${CPP} -isysroot ${with_macosx_sdk}"
200 CC="${CC} -isysroot ${with_macosx_sdk}"
201 CXX="${CXX} -isysroot ${with_macosx_sdk}"
202 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
203 LD="${LD} -syslibroot ${with_macosx_sdk}"
205 AC_ARG_WITH(macosx-version-min,
206 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
207 [compile for Mac OS X VERSION and above])])
208 if test "${with_macosx_version_min}" != "" ; then
209 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
210 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
211 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
212 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
213 LD="${LD} -mmacosx_version_min=${with_macosx_version_min}"
216 *mingw32* | *cygwin* | *wince* | *mingwce*)
217 AC_CHECK_TOOL(WINDRES, windres, :)
218 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
219 AH_TOP([#if defined(_WIN32) && !defined(_WIN32_WINNT)])
220 AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */])
222 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
223 AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
224 AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
225 AC_DEFINE([_ISOC99_SOURCE], [1], [Extensions to ISO C89 from ISO C99.])
226 AC_DEFINE([_ISOC11_SOURCE], [1], [Extensions to ISO C99 from ISO C11.])
227 AC_DEFINE([_POSIX_SOURCE], [1], [IEEE Std 1003.1.])
228 AC_DEFINE([_POSIX_C_SOURCE], [200809L], [IEEE Std 1003.1.])
229 AC_DEFINE([_XOPEN_SOURCE], [700], [POSIX and XPG 7th edition])
230 AC_DEFINE([_XOPEN_SOURCE_EXTENDED], [1], [XPG things and X/Open Unix extensions.])
231 AC_DEFINE([_BSD_SOURCE], [1], [ISO C, POSIX, and 4.3BSD things.])
232 AC_DEFINE([_SVID_SOURCE], [1], [ISO C, POSIX, and SVID things.])
239 dnl Check if we are using the mno-cygwin mode in which case we are
240 dnl actually dealing with a mingw32 compiler.
245 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
249 if test "${SYS}" = "mingw32"; then
251 LDFLAGS="${LDFLAGS} -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase"
253 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
254 ac_default_prefix="`pwd`/_win32"
255 DESTDIR="`pwd`/_win32/"
258 dnl NSIS/MSI Installer prefix and WIN64
264 PROGRAMFILES="PROGRAMFILES64"
269 PROGRAMFILES="PROGRAMFILES"
273 AC_SUBST(WINDOWS_ARCH)
274 AC_SUBST(PROGRAMFILES)
292 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild -Zhigh-mem"
293 AC_LIBOBJ([freeaddrinfo])
299 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
300 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
301 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
302 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
303 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
304 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
305 AM_CONDITIONAL(HAVE_IOS, test "${HAVE_IOS}" = "1")
306 AM_CONDITIONAL(HAVE_OSX, test "${HAVE_OSX}" = "1")
311 dnl Sadly autoconf does not think about testing foo.exe when ask to test
312 dnl for program foo on win32
313 case "${build_os}" in
315 ac_executable_extensions=".exe"
321 dnl Android is linux, but a bit different
322 AS_IF([test "$SYS" = linux],[
323 AC_MSG_CHECKING([for an Android system])
324 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
325 [[#ifndef __ANDROID__
336 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
340 dnl Check for the contrib directory
343 [AS_HELP_STRING([--with-contrib[=DIR]],
344 [search for 3rd party libraries in DIR/include and DIR/lib])
346 AC_MSG_CHECKING([for 3rd party libraries path])
347 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
348 CONTRIB_DIR="${srcdir}/contrib/${host}"
349 AS_IF([test ! -d "${CONTRIB_DIR}"], [
350 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
351 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
352 AS_IF([test ! -d "${CONTRIB_DIR}"], [
353 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
354 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
355 AS_IF([test ! -d "${CONTRIB_DIR}"], [
356 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
357 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
358 AS_IF([test ! -d "${CONTRIB_DIR}"], [
359 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
361 AC_MSG_RESULT([not found])
367 AS_IF([test "${with_contrib}" != "no"], [
368 CONTRIB_DIR="${with_contrib}"
371 AC_MSG_RESULT([disabled])
374 AS_IF([test -n "${CONTRIB_DIR}"], [
375 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
376 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
378 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
380 AC_MSG_RESULT([not usable])
384 AS_IF([test -n "${CONTRIB_DIR}"], [
385 AC_MSG_RESULT([${CONTRIB_DIR}])
386 export PATH=${CONTRIB_DIR}/bin:$PATH
387 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
388 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
389 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
390 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
391 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
392 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
394 AS_IF([test "${SYS}" = "darwin"], [
395 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
396 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
399 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
400 AC_MSG_ERROR([Third party libraries not found!])
403 AC_SUBST(CONTRIB_DIR)
405 dnl Add extras/tools to the PATH
406 TOOLS_DIR="${srcdir}/extras/tools/build/bin"
407 AS_IF([test -d "${TOOLS_DIR}"], [
408 TOOLS_DIR=`cd "${TOOLS_DIR}" && pwd`
409 export PATH="${TOOLS_DIR}":$PATH
414 dnl It's very bad, but our former custom system was worst
418 dnl override platform specific check for dependent libraries
419 dnl otherwise libtool linking of shared libraries will
420 dnl fail on anything other than pass_all.
421 AC_CACHE_VAL(lt_cv_deplibs_check_method,
422 [lt_cv_deplibs_check_method=pass_all])
424 LT_INIT([dlopen win32-dll shared disable-static])
426 LT_LANG([Windows Resource])
430 lt_cv_deplibs_check_method=pass_all
432 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
433 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
439 AM_GNU_GETTEXT_VERSION([0.19.2])
440 AM_GNU_GETTEXT([external], [need-ngettext])
449 AS_IF([test "${SYS}" = "mingw32"], [
451 dnl Check for broken versions of mingw-runtime compatability library
452 AC_MSG_CHECKING(for broken mingw-runtime)
453 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
455 #if defined(__MINGW64_VERSION_MAJOR)
456 # if __MINGW64_VERSION_MAJOR < 3
457 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
459 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
460 # error Attempting to use mingw-runtime with broken vsnprintf support
465 AC_MSG_RESULT([present])
466 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
469 dnl force use of mingw provided c99 *printf over msvcrt
470 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
472 dnl Add WinMainCRTStartup entry point to show it's a WinMain application
473 VLC_ADD_LDFLAGS([vlc],[-mwindows])
475 dnl Check for the need to include the mingwex lib for mingw32
477 AC_CHECK_LIB(mingwex,opendir,
478 AC_CHECK_LIB(mingw32,opendir,,
479 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
483 dnl Check for fnative-struct or mms-bitfields support for mingw32
485 CFLAGS="${CFLAGS} -mms-bitfields"
486 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
487 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
488 [ac_cv_c_mms_bitfields],
489 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
490 if test "${ac_cv_c_mms_bitfields}" = "no"; then
492 CFLAGS="${CFLAGS} -fnative-struct"
493 CXXFLAGS="${CXXFLAGS} -fnative-struct"
494 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
495 [ac_cv_c_fnative_struct],
496 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
497 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
501 AC_ARG_ENABLE(winstore_app,
502 AS_HELP_STRING([--enable-winstore-app],
503 [Build targetted for Windows Store apps (default disabled)]))
506 AS_IF([test "${SYS}" = "mingw32"],[
507 AS_IF([test "${enable_winstore_app}" = "yes"], [
509 VLC_ADD_LIBS([libvlccore], [-lole32 -lruntimeobject])
511 VLC_ADD_LIBS([libvlccore],[-lwinmm])
514 AC_DEFINE_UNQUOTED(VLC_WINSTORE_APP, ${vlc_winstore_app}, [Define to 1 if you want to build for Windows Store apps])
515 AM_CONDITIONAL([HAVE_WINSTORE], [test "$vlc_winstore_app" = "1"])
519 dnl Buggy glibc prevention. Purposedly not cached.
520 dnl See sourceware.org bugs 5058 and 5443.
521 dnl Ubuntu alone has 20 bug numbers for this...
523 AC_MSG_CHECKING(for buggy GNU/libc versions)
524 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
526 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
527 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
528 # error GNU/libc with dcgettext killer bug!
531 AC_MSG_RESULT([not present])
533 AC_MSG_RESULT([found])
534 AS_IF([test "x${enable_nls}" != "xno"], [
535 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
536 work-around for this. Check with your distribution vendor on how to update the
537 glibc run-time. Alternatively, build with --disable-nls.])
541 dnl Plugin compilation stuff
545 dnl Check for system libs needed
548 dnl Check for usual libc functions
549 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
550 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale pthread_cond_timedwait_monotonic_np pthread_condattr_setclock])
551 AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid lldiv nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
552 AC_CHECK_FUNCS(fdatasync,,
553 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
556 dnl mingw64 implements those as static inline, not functions with C linkage
557 VLC_REPLACE_DECL([asprintf], [#include <stdio.h>])
558 VLC_REPLACE_DECL([vasprintf], [#include <stdio.h>])
559 VLC_REPLACE_DECL([gmtime_r], [#include <time.h>])
560 VLC_REPLACE_DECL([localtime_r], [#include <time.h>])
562 dnl C11 static_assert()
563 AC_MSG_CHECKING([for static_assert in assert.h])
564 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <assert.h>], [
565 static_assert(1, "The impossible happened.");
568 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
573 # Windows CE does not have strcoll()
576 dnl Check for non-standard system calls
579 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
582 AC_CHECK_FUNCS([_lock_file])
586 AH_BOTTOM([#include <vlc_fixups.h>])
588 dnl Check for struct pollfd
589 AC_CHECK_TYPES([struct pollfd],,,
590 [#include <sys/types.h>
593 #elif defined (_WIN32)
594 # include <winsock2.h>
598 dnl Checks for socket stuff
601 AC_SEARCH_LIBS(connect, [socket], [
602 AS_IF([test "$ac_cv_search_connect" != "none required"], [
603 SOCKET_LIBS="$ac_cv_search_connect"
606 AS_IF([test "${SYS}" = "mingw32"], [
607 SOCKET_LIBS="-lws2_32"
611 AC_SEARCH_LIBS([inet_pton], [nsl], [
612 AS_IF([test "$ac_cv_search_inet_pton" != "none required"], [
613 SOCKET_LIBS="$ac_cv_search_inet_pton $SOCKET_LIBS"
615 ],, [${SOCKET_LIBS}])
617 LIBS="${LIBS} ${SOCKET_LIBS}"
619 AC_LANG_PROGRAM([#ifdef _WIN32
620 # if _WIN32_WINNT < 0x600
623 #include <ws2tcpip.h>
625 #include <sys/socket.h>
626 #include <arpa/inet.h>
628 char dst[[sizeof(struct in_addr)]];
629 inet_pton(AF_INET, "127.0.0.1", dst);
630 ])],[AC_DEFINE([HAVE_INET_PTON],[1],[Define to 1 if you have inet_pton function])],[AC_LIBOBJ([inet_pton])])
631 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
633 AC_SUBST(SOCKET_LIBS)
635 dnl Check for socklen_t
636 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
637 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
638 ac_cv_type_socklen_t,
639 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
640 [#include <sys/types.h>
642 # include <winsock2.h>
643 # include <ws2tcpip.h>
645 # include <sys/socket.h>
646 #endif]], [[socklen_t len; len = 0;]])],
647 ac_cv_type_socklen_t=yes,
648 ac_cv_type_socklen_t=no)])
649 AS_IF([test "$ac_cv_type_socklen_t" = no],
650 [AC_DEFINE(socklen_t, int)])
652 dnl Check for struct sockaddr_storage
653 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
654 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
655 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
657 [#include <sys/types.h>
658 #if defined( _WIN32 )
659 # include <winsock2.h>
661 # include <sys/socket.h>
662 #endif], [struct sockaddr_storage addr;],
663 ac_cv_struct_sockaddr_storage=yes,
664 ac_cv_struct_sockaddr_storage=no)])
665 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
666 AC_DEFINE(sockaddr_storage, sockaddr)
667 AC_DEFINE(ss_family, sa_family)
670 dnl FreeBSD has a gnugetopt library for this:
672 AC_CHECK_FUNC(getopt_long,, [
673 AC_CHECK_LIB([gnugetopt],[getopt_long], [
674 GNUGETOPT_LIBS="-lgnugetopt"
677 AC_SUBST(GNUGETOPT_LIBS)
686 AC_CHECK_LIB(m,lrintf, [
687 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
688 VLC_ADD_LIBS([skins2],[-lm])
691 AC_DEFINE(HAVE_NANF, 1, [Define to 1 if you have the NANF function])
694 dnl Check for dynamic plugins
696 have_dynamic_objects="no"
698 AC_SEARCH_LIBS(dlsym, [dl svld], [
699 AS_IF([test "$ac_cv_search_dlsym" != "none required"], [
700 LIBDL="$ac_cv_search_dlsym"
702 have_dynamic_objects="yes"
707 AS_IF([test "${SYS}" = "mingw32"], [
709 have_dynamic_objects="yes" #assume we can use shared objects
712 AS_IF([test "${enable_shared}" = "no"], [
713 have_dynamic_objects=no
715 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
719 dnl Check for thread library
721 AS_IF([test "${SYS}" != "mingw32"], [
724 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
725 AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [
726 LIBPTHREAD="$ac_cv_search_pthread_rwlock_init"
731 AC_CHECK_LIB(rt, clock_nanosleep, [
732 VLC_ADD_LIBS([libvlccore],[-lrt])
734 AC_CHECK_FUNC(nanosleep,,[
735 AC_CHECK_LIB(rt,nanosleep, [
736 VLC_ADD_LIBS([libvlccore],[-lrt])
738 AC_CHECK_LIB(posix4,nanosleep, [
739 VLC_ADD_LIBS([libvlccore],[-lposix4])
744 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
750 dnl Check for headers
754 AC_CHECK_HEADERS([arpa/inet.h pthread.h search.h sys/shm.h sys/socket.h])
755 AC_CHECK_HEADERS([net/if.h], [], [],
757 #include <sys/types.h>
758 #include <sys/socket.h>
760 AC_CHECK_HEADER([syslog.h], [have_syslog="yes"], [have_syslog="no"])
761 AM_CONDITIONAL([HAVE_SYSLOG], [test "$have_syslog" = "yes"])
764 AC_CHECK_HEADERS([netinet/udplite.h sys/param.h sys/mount.h])
767 AC_CHECK_HEADERS([getopt.h linux/dccp.h linux/magic.h mntent.h sys/eventfd.h])
770 AC_CHECK_HEADERS([xlocale.h])
772 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
773 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
774 AC_CHECK_TYPE(ssize_t,, [
775 AC_DEFINE(ssize_t, int)
778 dnl It seems that autoconf detects pkg-config only during the first
779 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
780 dnl it is nested within a conditional block, so it was not working right.
781 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
782 AC_ARG_VAR(PKG_CONFIG_PATH,
783 [Paths where to find .pc not at the default location])
784 PKG_PROG_PKG_CONFIG()
786 dnl On some OS we need static linking
787 AS_IF([test -n "${PKG_CONFIG}" ],[
788 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
789 PKG_CONFIG="${PKG_CONFIG} --static"
795 dnl Check for zlib.h and -lz along with system -lminizip if available
797 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
798 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
799 if test "${have_zlib}" = "yes"
801 VLC_ADD_LIBS([skins2 sap unzip zip],[-lz])
802 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
803 AC_CHECK_HEADERS([unzip.h], [
805 MINIZIP_LIBS="-lminizip -lz"
807 VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip])
808 VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/libunzip.la])
812 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
813 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
815 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
819 dnl Domain name i18n support via GNU libidn
821 PKG_CHECK_MODULES([IDN], [libidn], [
823 AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
831 [AS_HELP_STRING([--enable-dbus],
832 [compile D-Bus message bus support (default enabled)])])
834 AS_IF([test "${enable_dbus}" != "no"], [
835 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.6.0], [
838 AS_IF([test -n "${enable_dbus}"], [
839 AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])
841 AC_MSG_WARN([${DBUS_PKG_ERRORS}.])
845 AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"])
848 dnl Check for systemd
849 PKG_CHECK_MODULES([SYSTEMD], [libsystemd], [
852 AC_MSG_WARN([${SYSTEMD_PKG_ERRORS}.])
854 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${have_systemd}" = "yes"])
857 dnl Check for ntohl, etc.
859 CFLAGS="${CFLAGS} -Wall -Werror"
860 AC_CACHE_CHECK([for ntohl in sys/param.h],
861 [ac_cv_c_ntohl_sys_param_h],
862 [ AC_TRY_COMPILE([#include <sys/param.h>],
863 [int meuh; ntohl(meuh);],
864 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
865 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
866 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
870 EXTEND_HELP_STRING([Optimization options:])
872 dnl Compiler warnings
875 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])
876 RDC_PROG_CC_FLAGS([-pipe])
878 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
885 [AS_HELP_STRING([--enable-debug],
886 [build with run-time assertions (default disabled)])],,
889 [Define to 1 if debug code should NOT be compiled])
890 AS_IF([test "${enable_debug}" != "no"], [
891 AC_CHECK_HEADERS([valgrind/valgrind.h])
900 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
902 AS_IF([test "${enable_gprof}" != "no"], [
903 CFLAGS="${CFLAGS} -pg"
904 CXXFLAGS="${CXXFLAGS} -pg"
905 OBJCFLAGS="${OBJCFLAGS} -pg"
906 LDFLAGS="${LDFLAGS} -pg"
910 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
912 AS_IF([test "${enable_gprof}" != "no"], [
913 CFLAGS="${CFLAGS} -finstrument-functions"
914 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
915 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
916 LDFLAGS="${LDFLAGS} -finstrument-functions"
922 AC_ARG_ENABLE(coverage,
923 [AS_HELP_STRING([--enable-coverage],
924 [build for test coverage (default disabled)])],,
925 [enable_coverage="no"])
926 AS_IF([test "${enable_coverage}" != "no"], [
927 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
928 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
929 LDFLAGS="-lgcov ${LDFLAGS}"
932 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "os2"], [
934 CFLAGS="${CFLAGS} -fvisibility=hidden"
935 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
936 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
937 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
938 [ac_cv_c_visibility_hidden], [
939 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
940 ac_cv_c_visibility_hidden=yes
942 ac_cv_c_visibility_hidden=no
945 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
950 dnl Enable/disable optimizations
952 AC_ARG_ENABLE(optimizations,
953 [AS_HELP_STRING([--disable-optimizations],
954 [disable compiler optimizations (default enabled)])],,
955 [enable_optimizations="yes"])
957 dnl Check for various optimization flags
958 AS_IF([test "${enable_optimizations}" != "no"], [
960 dnl -O3 only in production builds
961 AS_IF([test "${enable_debug}" = "no"], [
963 CFLAGS="${CFLAGS} -O3"
964 CXXFLAGS="${CXXFLAGS} -O3"
965 OBJCFLAGS="${OBJCFLAGS} -O3"
966 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
967 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
973 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
976 dnl Check for -ffast-math
978 CFLAGS="${CFLAGS} -ffast-math"
979 CXXFLAGS="${CXXFLAGS} -ffast-math"
980 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
981 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
982 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
983 ac_cv_c_fast_math=yes
988 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
990 #ifndef __FAST_MATH__
992 # pragma STDC FENV_ACCESS OFF
993 # pragma STDC FP_CONTRACT ON
995 # pragma fenv_access(off)
996 # pragma fp_contract(on)
1001 dnl Check for -funroll-loops
1003 CFLAGS="${CFLAGS} -funroll-loops"
1004 CXXFLAGS="${CXXFLAGS} -funroll-loops"
1005 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1006 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
1007 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1008 ac_cv_c_unroll_loops=yes
1010 ac_cv_c_unroll_loops=no
1013 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
1015 AS_IF([test "$enable_debug" = "no"], [
1016 dnl Check for -fomit-frame-pointer
1018 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1019 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1020 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
1021 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1022 [ac_cv_c_omit_frame_pointer], [
1023 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1024 ac_cv_c_omit_frame_pointer=yes
1026 ac_cv_c_omit_frame_pointer=no
1029 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
1034 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
1035 AC_CACHE_CHECK([if linker supports -Bsymbolic], [ac_cv_ld_bsymbolic], [
1037 ac_cv_ld_bsymbolic="-Wl,-Bsymbolic"
1039 ac_cv_ld_bsymbolic=""
1043 SYMBOLIC_LDFLAGS="${ac_cv_ld_bsymbolic}"
1044 AC_SUBST(SYMBOLIC_LDFLAGS)
1046 dnl Checks for __attribute__(aligned()) directive
1048 CFLAGS="${CFLAGS} -Werror"
1049 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1050 [ac_cv_c_attribute_aligned],
1051 [ac_cv_c_attribute_aligned=0
1052 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1054 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1055 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1058 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1059 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1060 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1063 dnl Check for __attribute__((packed))
1064 AC_CACHE_CHECK([for __attribute__((packed))],
1065 [ac_cv_c_attribute_packed],
1066 [ac_cv_c_attribute_packed=no
1067 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1068 [ac_cv_c_attribute_packed=yes])])
1069 if test "${ac_cv_c_attribute_packed}" != "no"; then
1070 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1076 case "${host_cpu}" in
1085 dnl Check for backtrace() support
1086 AC_CHECK_HEADERS(execinfo.h)
1087 AC_CHECK_FUNCS(backtrace)
1092 ALIASES="${ALIASES} cvlc rvlc"
1095 dnl Accelerated modules
1098 dnl Check for fully working MMX intrinsics
1099 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1100 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1102 [AS_HELP_STRING([--disable-mmx],
1103 [disable MMX optimizations (default auto)])],,[
1104 case "${host_cpu}" in
1115 AS_IF([test "${enable_mmx}" != "no"], [
1118 CFLAGS="${CFLAGS} -mmmx"
1119 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1120 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1121 [#include <mmintrin.h>
1123 uint64_t frobzor;]], [
1125 a = b = c = (__m64)frobzor;
1126 a = _mm_slli_pi16(a, 3);
1127 a = _mm_adds_pi16(a, b);
1128 c = _mm_srli_pi16(c, 8);
1129 c = _mm_slli_pi16(c, 3);
1130 b = _mm_adds_pi16(b, c);
1131 a = _mm_unpacklo_pi8(a, b);
1132 frobzor = (uint64_t)a;]])], [
1133 ac_cv_c_mmx_intrinsics=yes
1135 ac_cv_c_mmx_intrinsics=no
1139 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1140 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1144 CFLAGS="${CFLAGS} -mmmx"
1145 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1146 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1148 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1151 ac_cv_mmx_inline=yes
1156 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1157 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1161 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1162 [ac_cv_mmxext_inline], [
1163 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1165 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1168 ac_cv_mmxext_inline=yes
1170 ac_cv_mmxext_inline=no
1174 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1175 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
1179 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1180 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1182 dnl Check for fully workin SSE2 intrinsics
1183 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1184 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1186 [AS_HELP_STRING([--disable-sse],
1187 [disable SSE (1-4) optimizations (default auto)])],, [
1188 case "${host_cpu}" in
1198 AS_IF([test "${enable_sse}" != "no"], [
1199 ARCH="${ARCH} sse sse2"
1202 CFLAGS="${CFLAGS} -msse2"
1203 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1204 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1205 [#include <emmintrin.h>
1207 uint64_t frobzor;]], [
1209 a = b = c = _mm_set1_epi64((__m64)frobzor);
1210 a = _mm_slli_epi16(a, 3);
1211 a = _mm_adds_epi16(a, b);
1212 c = _mm_srli_epi16(c, 8);
1213 c = _mm_slli_epi16(c, 3);
1214 b = _mm_adds_epi16(b, c);
1215 a = _mm_unpacklo_epi8(a, b);
1216 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1217 ac_cv_c_sse2_intrinsics=yes
1219 ac_cv_c_sse2_intrinsics=no
1223 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1224 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1228 CFLAGS="${CFLAGS} -msse"
1229 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1230 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1232 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1235 ac_cv_sse_inline=yes
1241 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1242 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1245 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1246 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1248 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1251 ac_cv_sse2_inline=yes
1253 ac_cv_sse2_inline=no
1256 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1257 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1262 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1263 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1265 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1268 ac_cv_sse3_inline=yes
1270 ac_cv_sse3_inline=no
1274 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1275 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1277 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1278 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1280 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1283 ac_cv_ssse3_inline=yes
1285 ac_cv_ssse3_inline=no
1289 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1290 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1293 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1294 [ac_cv_sse4_1_inline], [
1295 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1297 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1300 ac_cv_sse4_1_inline=yes
1302 ac_cv_sse4_1_inline=no
1306 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1307 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1310 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1311 [ac_cv_sse4_2_inline], [
1312 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1314 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1317 ac_cv_sse4_2_inline=yes
1319 ac_cv_sse4_2_inline=no
1323 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1324 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1327 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1328 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1330 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1333 ac_cv_sse4a_inline=yes
1335 ac_cv_sse4a_inline=no
1339 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1340 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1342 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1345 CFLAGS="${CFLAGS} -mmmx"
1347 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1348 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1350 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1353 ac_cv_3dnow_inline=yes
1355 ac_cv_3dnow_inline=no
1359 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1360 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1361 [Define to 1 if 3D Now! inline assembly is available.])
1364 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1368 [AS_HELP_STRING([--disable-neon],
1369 [disable NEON optimizations (default auto)])],, [
1370 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1372 AS_IF([test "${enable_neon}" != "no"], [
1374 CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
1375 AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
1378 asm volatile("vqmovun.s64 d0, q1":::"d0");
1381 ac_cv_arm_neon="yes"
1388 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
1391 AC_ARG_ENABLE(altivec,
1392 [AS_HELP_STRING([--disable-altivec],
1393 [disable AltiVec optimizations (default auto)])],, [
1394 AS_CASE("${host_cpu}", [powerpc*],
1395 [enable_altivec=yes], [enable_altivec=no])
1399 AS_IF([test "${enable_altivec}" = "yes"], [
1400 ARCH="${ARCH} altivec";
1402 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1403 [ac_cv_altivec_inline],
1404 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1405 ac_cv_altivec_inline="yes",
1406 [CFLAGS="${CFLAGS} -Wa,-maltivec"
1407 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1408 [ac_cv_altivec_inline="-Wa,-maltivec"],
1409 ac_cv_altivec_inline=no)
1412 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1413 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1414 [Define to 1 if AltiVec inline assembly is available.])
1415 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1416 ALTIVEC_CFLAGS="${ac_cv_altivec_inline}"
1417 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1423 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1424 [ac_cv_c_altivec], [
1425 CFLAGS="${CFLAGS} -maltivec"
1426 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1427 [#include <altivec.h>]], [
1428 [vec_ld(0, (unsigned char *)0);]])], [
1429 ac_cv_c_altivec="-maltivec"
1431 ac_cv_c_altivec="no"
1435 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1436 CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}"
1437 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.])
1438 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1439 ALTIVEC_CFLAGS="$ALTIVEC_FLAGS ${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}"
1440 VLC_ADD_CFLAGS([deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1443 AC_CHECK_HEADERS(altivec.h)
1446 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1447 AC_CACHE_CHECK([if linker needs -framework vecLib],
1449 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1451 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1452 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,vecLib])
1455 AC_SUBST(ALTIVEC_CFLAGS)
1456 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1461 AC_ARG_ENABLE(optimize-memory,
1462 [AS_HELP_STRING([--enable-optimize-memory],
1463 [optimize memory usage over performance])])
1464 if test "${enable_optimize_memory}" = "yes"; then
1465 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1469 dnl Allow running as root (useful for people running on embedded platforms)
1471 AC_ARG_ENABLE(run-as-root,
1472 [AS_HELP_STRING([--enable-run-as-root],
1473 [allow running VLC as root (default disabled)])])
1474 AS_IF([test "${enable_run_as_root}" = "yes"],[
1475 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1476 [Define to 1 to allow running VLC as root (uid 0).])
1483 [AS_HELP_STRING([--disable-sout],
1484 [disable streaming output (default enabled)])])
1485 AS_IF([test "${enable_sout}" != "no"], [
1486 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1488 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1492 [AS_HELP_STRING([--disable-lua],
1493 [disable LUA scripting support (default enabled)])])
1494 if test "${enable_lua}" != "no"
1496 PKG_CHECK_MODULES(LUA, lua5.2,
1499 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua 5.1 instead])
1501 PKG_CHECK_MODULES(LUA, lua5.1,
1504 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1505 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1508 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1510 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1513 AC_CHECK_LIB( lua5.2 , luaL_newstate,
1514 [LUA_LIBS="-llua5.2"],
1515 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1516 [LUA_LIBS="-llua5.1"],
1517 AC_CHECK_LIB( lua51 , luaL_newstate,
1518 [LUA_LIBS="-llua51"],
1519 AC_CHECK_LIB( lua , luaL_newstate,
1527 if test "x${have_lua}" != "xyes" ; then
1528 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.])
1530 AC_ARG_VAR([LUAC], [LUA byte compiler])
1531 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1532 AS_IF([test "${LUAC}" = "false"], [
1533 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1535 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], [
1536 AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.])
1539 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1545 AC_ARG_ENABLE(httpd,
1546 [AS_HELP_STRING([--disable-httpd],
1547 [disable the built-in HTTP server (default enabled)])])
1548 if test "${enable_httpd}" != "no"
1550 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1552 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1556 dnl VideoLAN manager
1559 [AS_HELP_STRING([--disable-vlm],
1560 [disable the stream manager (default enabled)])],,
1561 [enable_vlm="${enable_sout}"])
1562 AS_IF([test "${enable_vlm}" != "no"], [
1563 AS_IF([test "${enable_sout}" = "no"], [
1564 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1566 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1568 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1572 dnl Addons manager storage and repositories modules
1574 AC_ARG_ENABLE(addonmanagermodules,
1575 [AS_HELP_STRING([--disable-addonmanagermodules],
1576 [disable the addons manager modules (default enabled)])])
1577 if test "${enable_addonmanagermodules}" != "no"
1579 AC_DEFINE(ENABLE_ADDONMANAGERMODULES, 1, [Define if you want the addons manager modules])
1581 AM_CONDITIONAL([ENABLE_ADDONMANAGERMODULES], [test "${enable_addonmanagermodules}" != "no"])
1588 EXTEND_HELP_STRING([Input plugins:])
1591 dnl libarchive access module
1593 PKG_ENABLE_MODULES_VLC([ARCHIVE], [access_archive], [libarchive >= 3.1.0], (libarchive support), [auto])
1598 AC_ARG_ENABLE(live555,
1599 [AS_HELP_STRING([--enable-live555],
1600 [enable RTSP input through live555 (default enabled)])])
1602 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1603 PKG_CHECK_MODULES(LIVE555, live555, [
1604 VLC_ADD_PLUGIN([live555])
1605 VLC_ADD_CXXFLAGS([live555], [$LIVE555_CFLAGS])
1606 VLC_ADD_LIBS([live555],[$LIVE555_LIBS])
1608 AC_MSG_WARN([${LIVE555_PKG_ERRORS}.])
1613 dnl detect include paths
1614 AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [
1615 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1617 AS_IF([test "${SYS}" != "os2"], [
1618 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
1619 CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
1621 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
1622 CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
1623 LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
1628 AS_IF([test "${SYS}" = "solaris"], [
1629 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1631 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1632 LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
1635 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1636 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1637 [#include <liveMedia_version.hh>
1638 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
1648 AS_IF([test "$ac_cv_live555" = "no"], [
1649 AC_MSG_WARN([live555 is missing or its installed version is too old:
1650 Version 2011.12.23 or later is required to proceed.
1651 You can get an updated one from http://www.live555.com/liveMedia .])
1652 AS_IF([test -n "${enable_live555}"], [
1653 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1656 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1657 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1658 AS_IF([test "${SYS}" = "mingw32"], [
1659 # add ws2_32 for closesocket, select, recv
1660 other_libs="$other_libs -lws2_32"
1663 dnl We need to check for pic because live555 don't provide shared libs
1664 dnl and we want to build a plugins so we need -fPIC on some arch.
1665 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1666 VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
1667 AC_CHECK_LIB(liveMedia_pic, main, [
1668 VLC_ADD_PLUGIN([live555])
1669 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1671 AC_CHECK_LIB(liveMedia, main, [
1672 VLC_ADD_PLUGIN([live555])
1673 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1674 ],[],[${other_libs}])
1675 ],[${other_libs_pic}])
1683 dnl IIDC and DV FireWire input modules
1685 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1686 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1689 dnl - linsys modules: access module check for libzvbi
1691 AC_ARG_ENABLE(linsys,
1692 [AS_HELP_STRING([--enable-linsys],
1693 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1694 AS_IF([test "$SYS" = "linux" -a "${enable_linsys}" != "no"], [
1695 VLC_ADD_PLUGIN([linsys_hdsdi])
1696 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28], [
1697 VLC_ADD_PLUGIN([linsys_sdi])
1699 AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])
1704 dnl dvdread module: check for libdvdread
1706 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread > 4.9.0], [dvdread input module], [auto])
1709 dnl libdvdnav plugin
1711 PKG_ENABLE_MODULES_VLC([DVDNAV], [], [dvdnav > 4.9.0], [DVD with navigation input module (dvdnav)], [auto])
1714 dnl Blu-ray Disc Support with libbluray
1716 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.5.0], (libbluray for Blu-ray disc support ) )
1719 dnl OpenCV wrapper and example filters
1721 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
1725 dnl libsmbclient plugin
1727 PKG_ENABLE_MODULES_VLC([SMBCLIENT], [smb], [smbclient], (SMB/CIFS support), [auto])
1728 AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([smb]) ])
1731 dnl liBDSM access module
1733 PKG_ENABLE_MODULES_VLC([DSM], [dsm], [libdsm >= 0.0.4], [libdsm SMB/CIFS access/sd module], [auto])
1736 dnl sftp access support
1738 PKG_ENABLE_MODULES_VLC([SFTP], [sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
1743 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1744 [disable Video4Linux version 2 (default auto)])])
1746 AS_IF([test "$enable_v4l2" != "no"], [
1747 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1751 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1754 dnl special access module for Blackmagic SDI cards
1756 AC_ARG_ENABLE(decklink,
1757 [AS_HELP_STRING([--disable-decklink],
1758 [disable Blackmagic DeckLink SDI input (default auto)])])
1759 AC_ARG_WITH(decklink_sdk,
1760 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1761 [ location of Blackmagic DeckLink SDI SDK])])
1763 if test "${enable_decklink}" != "no"
1765 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1767 VLC_ADD_CPPFLAGS([decklink decklinkoutput],[-I${with_decklink_sdk}/include])
1770 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_decklink}"
1772 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1775 AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)
1780 AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ])
1784 dnl gnomeVFS access module
1786 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1791 PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no])
1794 dnl Built-in CD-DA and VCD module
1797 [AS_HELP_STRING([--disable-vcd],
1798 [disable built-in VCD and CD-DA support (default enabled)])])
1800 AC_ARG_ENABLE(libcddb,
1801 [AS_HELP_STRING([--disable-libcddb],
1802 [disable CDDB for Audio CD (default enabled)])])
1804 if test "${enable_vcd}" != "no"
1806 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1807 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1809 VLC_ADD_PLUGIN([vcd cdda])
1814 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1815 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1817 VLC_ADD_PLUGIN([vcd cdda])
1818 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1823 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1824 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1826 VLC_ADD_PLUGIN([vcd cdda])
1827 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1832 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2" -o "${SYS}" = "darwin"
1834 VLC_ADD_PLUGIN([vcd cdda])
1837 if test "$enable_libcddb" != "no"; then
1838 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1840 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1841 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1842 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1844 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1852 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1853 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1854 [#include <linux/dvb/version.h>
1855 #if (DVB_API_VERSION < 5)
1856 # error Linux DVB API v3.2 and older are not supported.
1858 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1859 # error Linux DVB API v5.0 is unsupported. Please update.
1862 ac_cv_linux_dvb_5_1=yes
1864 ac_cv_linux_dvb_5_1=no
1866 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1869 dnl Screen capture module
1871 AC_ARG_ENABLE(screen,
1872 [AS_HELP_STRING([--enable-screen],
1873 [disable screen capture (default enabled)])])
1874 if test "${enable_screen}" != "no"; then
1875 if test "${SYS}" = "darwin"; then
1876 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1877 VLC_ADD_PLUGIN([screen])
1881 AM_CONDITIONAL(HAVE_MAC_SCREEN, [test "${SYS}" = "darwin" -a "x${enable_screen}" != "xno"])
1884 dnl VNC/RFB access module
1886 PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client support), [auto])
1888 dnl RDP/Remote Desktop access module
1890 PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
1893 dnl Real RTSP plugin
1895 AC_ARG_ENABLE(realrtsp,
1896 [ --enable-realrtsp Real RTSP module (default disabled)])
1897 if test "${enable_realrtsp}" = "yes"; then
1898 VLC_ADD_PLUGIN([access_realrtsp])
1903 AC_ARG_ENABLE(macosx-eyetv,
1904 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1905 if test "x${enable_macosx_eyetv}" != "xno" &&
1906 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1908 VLC_ADD_PLUGIN([access_eyetv])
1913 AC_ARG_ENABLE(macosx-qtkit,
1914 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1915 if test "x${enable_macosx_qtkit}" != "xno" &&
1916 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1918 VLC_ADD_PLUGIN([qtcapture])
1919 VLC_ADD_PLUGIN([qtsound])
1921 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1925 AC_SUBST(have_avfoundation, ["no"])
1926 AC_ARG_ENABLE(macosx-avfoundation,
1927 [ --enable-macosx-avfoundation Mac OS X avcapture (video) module (default enabled on Mac OS X)])
1928 if test "x${enable_macosx_avfoundation}" != "xno" &&
1929 (test "${SYS}" = "darwin" || test "${enable_macosx_avfoundation}" = "yes")
1931 SAVED_LIBS="${LIBS}"
1932 LIBS="-framework AVFoundation"
1933 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[have_avfoundation=yes],[have_avfoundation=no])
1934 LIBS="${SAVED_LIBS}"
1935 if test "${have_avfoundation}" != "no"
1937 VLC_ADD_PLUGIN([avcapture])
1940 AM_CONDITIONAL(HAVE_AVFOUNDATION, [test "${have_avfoundation}" != "no"])
1943 dnl DCP plugin (using asdcplib)
1945 PKG_WITH_MODULES([ASDCP], [asdcplib], [have_asdcp="yes"])
1946 AM_CONDITIONAL(HAVE_ASDCP, [test "${have_asdcp}" = "yes"])
1952 EXTEND_HELP_STRING([Mux/Demux plugins:])
1955 dnl libdvbpsi check for ts mux/demux
1958 PKG_WITH_MODULES([DVBPSI], [libdvbpsi >= 1.0.0], [have_dvbpsi="yes"])
1959 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1963 dnl GME demux plugin
1966 [AS_HELP_STRING([--enable-gme],
1967 [use Game Music Emu (default auto)])])
1968 AS_IF([test "${enable_gme}" != "no"], [
1969 AC_CHECK_HEADER([gme/gme.h], [
1970 VLC_ADD_LIBS([gme], [-lgme])
1971 VLC_ADD_PLUGIN([gme])
1973 AS_IF([test "x${enable_gme}" != "x"], [
1974 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1984 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1985 AS_IF([test "${enable_sid}" != "no"], [
1986 PKG_CHECK_MODULES(SID, [libsidplay2], [
1988 oldCPPFLAGS="$CPPFLAGS"
1989 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1990 AC_CHECK_HEADER([sidplay/builders/resid.h], [
1991 VLC_ADD_PLUGIN([sid])
1992 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
1993 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
1995 AS_IF([test -n "${enable_sid}"],
1996 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1997 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2000 CPPFLAGS="$oldCPPFLAGS"
2003 AS_IF([test "x${enable_sid}" = "xyes"],
2004 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2005 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2012 dnl ogg demux plugin
2014 PKG_ENABLE_MODULES_VLC([OGG], [mux_ogg], [ogg >= 1.0], [Ogg demux support], [auto])
2015 PKG_CHECK_MODULES(LIBVORBIS, [vorbis >= 1.1], [
2016 AC_DEFINE(HAVE_LIBVORBIS, 1, [Define to 1 if you have the libvorbis])
2018 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto], [${LIBVORBIS_CFLAGS}], [${LIBVORBIS_LIBS}])
2019 if test "${enable_sout}" != "no"; then
2020 dnl Check for libshout
2021 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2025 dnl matroska demux plugin
2028 [AS_HELP_STRING([--disable-mkv],
2029 [do not use libmatroska (default auto)])])
2030 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2032 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2033 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2035 [#include <ebml/EbmlVersion.h>
2036 #ifdef LIBEBML_VERSION
2037 #if LIBEBML_VERSION >= 0x010000
2041 [AC_MSG_RESULT([yes])
2042 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2043 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2045 [#include <matroska/KaxVersion.h>
2046 #ifdef LIBMATROSKA_VERSION
2047 #if LIBMATROSKA_VERSION >= 0x010000
2051 [AC_MSG_RESULT([yes])
2052 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2053 AC_CHECK_LIB(ebml_pic, main, [
2054 VLC_ADD_PLUGIN([mkv])
2055 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2057 AC_CHECK_LIB(ebml, main, [
2058 VLC_ADD_PLUGIN([mkv])
2059 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2064 AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
2068 [AC_MSG_RESULT([no])
2069 AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
2076 dnl modplug demux plugin
2079 [AS_HELP_STRING([--disable-mod],
2080 [do not use libmodplug (default auto)])])
2081 if test "${enable_mod}" != "no" ; then
2082 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2083 VLC_ADD_PLUGIN([mod])
2084 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2085 VLC_ADD_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod
2086 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2088 AS_IF([test -n "${enable_mod}"],
2089 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2090 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2095 dnl mpc demux plugin
2098 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2099 if test "${enable_mpc}" != "no"
2101 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2102 VLC_ADD_PLUGIN([mpc])
2103 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2104 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2105 VLC_ADD_PLUGIN([mpc])
2106 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2113 EXTEND_HELP_STRING([Codec plugins:])
2118 AC_ARG_ENABLE(wma-fixed,
2119 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2120 if test "${enable_wma_fixed}" = "yes"
2122 VLC_ADD_PLUGIN([wma_fixed])
2126 dnl shine encoder plugin
2128 PKG_ENABLE_MODULES_VLC([SHINE], [], [shine >= 3.0.0], [MPEG Audio Layer 3 encoder], [auto], [], [], [])
2132 dnl openmax il codec plugin
2134 AC_ARG_ENABLE(omxil,
2135 [ --enable-omxil openmax il codec module (default disabled)])
2136 if test "${enable_omxil}" = "yes"
2138 VLC_ADD_PLUGIN([omxil])
2142 dnl openmax il vout plugin
2144 AC_ARG_ENABLE(omxil-vout,
2145 [ --enable-omxil-vout openmax il video output module (default disabled)])
2146 if test "${enable_omxil_vout}" = "yes"
2148 VLC_ADD_PLUGIN([omxil_vout])
2152 dnl raspberry pi openmax il configuration
2154 AC_ARG_ENABLE(rpi-omxil,
2155 [ --enable-rpi-omxil openmax il configured for raspberry pi (default disabled)])
2156 if test "${enable_rpi_omxil}" = "yes"
2158 VLC_ADD_PLUGIN([omxil omxil_vout])
2159 VLC_ADD_CFLAGS([omxil omxil_vout],[-DRPI_OMX])
2163 dnl CrystalHD codec plugin
2165 AC_ARG_ENABLE(crystalhd,
2166 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2167 if test "${enable_crystalhd}" != "no"; then
2168 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2169 VLC_ADD_PLUGIN([crystalhd])
2170 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2172 if test "${SYS}" = "mingw32" ; then
2173 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2174 VLC_ADD_PLUGIN([crystalhd])
2175 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2176 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2179 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2180 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2181 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2182 ],[#define __LINUX_USER__
2183 #include <libcrystalhd/bc_dts_types.h>
2187 #include <libcrystalhd/bc_dts_types.h>
2198 AC_ARG_WITH(mad, [ --with-mad=PATH path to libmad], [
2203 AS_IF([test "${with_mad}" != "no"], [
2204 MAD_CFLAGS="-I${with_mad}/include"
2205 MAD_LIBS="-L${with_mad}/lib"
2209 [ --enable-mad libmad module (default enabled)])
2210 AS_IF([test "${enable_mad}" != "no"], [
2212 CPPFLAGS="${CPPFLAGS} ${MAD_CFLAGS}"
2213 LDFLAGS="${LDFLAGS} ${MAD_LIBS}"
2214 AC_CHECK_HEADERS(mad.h, [
2215 AC_CHECK_LIB(mad, mad_bit_init, [
2217 MAD_LIBS="${MAD_LIBS} -lmad"
2221 AS_IF([test -n "$enable_mad" -a "${have_mad}" = "no"], [
2222 AC_MSG_ERROR([Could not find libmad. Install it or pass --disable-mad to disable it.])
2225 AC_SUBST(MAD_CFLAGS)
2227 AM_CONDITIONAL([HAVE_MAD], [test "${have_mad}" = "yes"])
2232 PKG_ENABLE_MODULES_VLC([MPG123], [mpg123], [libmpg123], [libmpg123 decoder support], [auto])
2235 AC_ARG_ENABLE(merge-ffmpeg,
2236 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2237 enable_merge_ffmpeg="no"
2239 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2241 AC_MSG_CHECKING([for libavutil variant])
2242 PKG_CHECK_EXISTS([libavutil], [
2243 libavutil_version="$(${PKG_CONFIG} --modversion libavutil)"
2244 libavutil_micro="${libavutil_version##*.}"
2245 AS_IF([test ${libavutil_micro} -le 99], [
2253 AC_MSG_RESULT([${avfork}])
2258 AC_ARG_ENABLE(gst-decode,
2259 [ --enable-gst-decode GStreamer based decoding support (currently supports only video decoding) (default auto)])
2261 have_gst_decode="no"
2262 AS_IF([test "${enable_gst_decode}" != "no"], [
2263 PKG_CHECK_MODULES([GST_APP], [gstreamer-app-1.0], [
2264 PKG_CHECK_MODULES([GST_VIDEO], [gstreamer-video-1.0], [
2265 have_gst_decode="yes"
2267 AC_MSG_WARN([${GST_VIDEO_PKG_ERRORS}. GStreamer decoder module will not be built.])
2270 AC_MSG_WARN([${GST_APP_PKG_ERRORS}. GStreamer modules will not be built.])
2273 AM_CONDITIONAL([HAVE_GST_DECODE], [test "${have_gst_decode}" = "yes"])
2276 dnl avcodec decoder/encoder plugin
2278 AC_ARG_ENABLE(avcodec,
2279 [ --enable-avcodec libavcodec codec (default enabled)])
2280 AS_IF([test "${enable_avcodec}" != "no"], [
2281 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 55.0.0 libavutil >= 52.0.0], [
2282 dnl PKG_CHECK_EXISTS([libavcodec < 56],, [
2283 dnl AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.])
2286 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2287 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2288 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2289 AC_CHECK_HEADERS(libavutil/avutil.h)
2293 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2298 AM_CONDITIONAL([HAVE_AVCODEC], [test "${have_avcodec}" != "no"])
2301 dnl libva needs avcodec
2303 AC_ARG_ENABLE(libva,
2304 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2306 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2307 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2313 AS_IF([test "${enable_libva}" != "no"], [
2314 PKG_CHECK_EXISTS([libva], [
2317 AS_IF([test -n "${enable_libva}"], [
2318 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2320 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2323 PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm], [
2324 have_vaapi_drm="yes"
2326 AC_MSG_WARN([${LIBVA_DRM_PKG_ERRORS}.])
2328 PKG_CHECK_MODULES(LIBVA_X11, [libva-x11], [
2329 have_vaapi_x11="yes"
2331 AC_MSG_WARN([${LIBVA_X11_PKG_ERRORS}.])
2334 AM_CONDITIONAL([HAVE_VAAPI_DRM], [test "${have_vaapi_drm}" = "yes"])
2335 AM_CONDITIONAL([HAVE_VAAPI_X11], [test "${have_vaapi_x11}" = "yes"])
2337 have_avcodec_vaapi="no"
2338 AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [
2340 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2341 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2342 AC_CHECK_HEADERS([libavcodec/vaapi.h], [
2343 AC_MSG_NOTICE([VAAPI acceleration activated])
2344 have_avcodec_vaapi="yes"
2346 AS_IF([test -n "${enable_libva}"], [
2347 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2349 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2354 AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
2357 dnl dxva2 needs avcodec
2359 AC_ARG_ENABLE(dxva2,
2360 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2362 have_avcodec_dxva2="no"
2363 AS_IF([test "${enable_dxva2}" != "no"], [
2364 if test "${SYS}" = "mingw32"; then
2365 AS_IF([test "x${have_avcodec}" = "xyes"], [
2366 AC_CHECK_HEADERS(dxva2api.h,
2368 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2369 AC_MSG_NOTICE([DxVA2 acceleration activated])
2370 have_avcodec_dxva2="yes"
2372 AS_IF([test "${enable_dxva2}" = "yes"],
2373 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2374 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2375 ], [#undef _WIN32_WINNT
2376 /* DXVA2 is only available in Vista and above */
2377 #define _WIN32_WINNT 0x600])
2379 AS_IF([test "${enable_dxva2}" = "yes"],
2380 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2381 [AC_MSG_WARN([dxva2api.h not found])])
2384 AS_IF([test "x${enable_dxva2}" != "x"], [
2385 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2390 AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
2393 dnl d3d11va needs avcodec
2395 AC_ARG_ENABLE(d3d11va,
2396 [ --enable-d3d11va D3D11 GPU decoding support (default auto)])
2398 have_avcodec_d3d11va="no"
2399 AS_IF([test "${enable_d3d11va}" != "no"], [
2400 if test "${SYS}" = "mingw32"; then
2401 AS_IF([test "x${have_avcodec}" = "xyes"], [
2402 AC_CHECK_TYPES([ID3D11VideoDecoder],
2404 AC_CHECK_HEADERS(dxva2api.h,
2406 AC_CHECK_HEADERS(libavcodec/d3d11va.h, [
2407 AC_MSG_NOTICE([D3D11 acceleration activated])
2408 AC_DEFINE(HAVE_AVCODEC_D3D11VA, 1, [Define if the d3d11va module is built])
2409 have_avcodec_d3d11va="yes"
2411 AS_IF([test "${enable_d3d11va}" = "yes"],
2412 [AC_MSG_ERROR([d3d11va is present but libavcodec/d3d11va.h is missing])],
2413 [AC_MSG_WARN([d3d11va is present but libavcodec/d3d11va.h is missing ])])
2414 ], [#undef _WIN32_WINNT
2415 /* D3D11 is only available in Vista and above */
2416 #define _WIN32_WINNT 0x600])
2418 AS_IF([test "${enable_d3d11va}" = "yes"],
2419 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2420 [AC_MSG_WARN([dxva2api.h not found])])
2423 AS_IF([test "${enable_d3d11va}" = "yes"],
2424 [AC_MSG_ERROR([Could not find required ID3D11VideoDecoder in d3d11.h])],
2425 [AC_MSG_WARN([ID3D11VideoDecoder not found])])
2426 ], [#include <d3d11.h>])
2428 AS_IF([test "x${enable_d3d11va}" != "x"], [
2429 AC_MSG_ERROR([--enable-d3d11va and --disable-avcodec options are mutually exclusive.])
2434 AM_CONDITIONAL([HAVE_AVCODEC_D3D11VA], [test "${have_avcodec_d3d11va}" = "yes"])
2439 AC_CHECK_HEADERS(dxgidebug.h)
2442 dnl vda needs avcodec
2445 [ --enable-vda VDA support (default auto)])
2447 have_avcodec_vda="no"
2448 AS_IF([test "${enable_vda}" != "no"], [
2449 if test "${SYS}" = "darwin"; then
2450 AS_IF([test "x${have_avcodec}" = "xyes"], [
2451 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2453 AC_CHECK_HEADERS(libavcodec/vda.h, [
2454 have_avcodec_vda="yes"
2456 AS_IF([test "${enable_vda}" = "yes"],
2457 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2458 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2461 AS_IF([test "${enable_vda}" = "yes"],
2462 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2463 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2466 AS_IF([test "x${enable_vda}" != "x"], [
2467 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2470 AS_IF([test "${have_avcodec_vda}" = "yes"], [
2472 LIBS="$LIBS $AVCODEC_LIBS"
2473 AC_CHECK_FUNCS([av_vda_alloc_context])
2478 AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"])
2481 dnl avformat demuxer/muxer plugin
2484 AC_ARG_ENABLE(avformat,
2485 [ --enable-avformat libavformat containers (default enabled)],, [
2486 enable_avformat="${have_avcodec}"
2489 AS_IF([test "${enable_avformat}" != "no"], [
2490 PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil], [
2493 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2494 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2495 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2496 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2497 AC_CHECK_HEADERS(libavutil/avutil.h)
2498 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2503 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2506 AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"])
2509 dnl swscale image scaling and conversion plugin
2512 AC_ARG_ENABLE(swscale,
2513 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2514 (default enabled)]))
2515 if test "${enable_swscale}" != "no"
2517 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2520 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2521 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2522 AC_CHECK_HEADERS(libswscale/swscale.h)
2523 AC_CHECK_HEADERS(libavutil/avutil.h)
2524 VLC_ADD_PLUGIN([swscale])
2525 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2526 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2527 AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [
2528 VLC_ADD_LIBS([swscale],[${ac_cv_ld_bsymbolic}])
2532 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2540 AC_ARG_ENABLE(postproc,
2541 [ --enable-postproc libpostproc image post-processing (default auto)])
2542 if test "${enable_postproc}" != "no"
2544 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2547 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2548 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2549 AC_CHECK_HEADERS(postproc/postprocess.h)
2550 VLC_ADD_PLUGIN([postproc])
2553 AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
2558 dnl faad decoder plugin
2561 [ --enable-faad faad codec (default auto)])
2563 AS_IF([test "${enable_faad}" != "no"], [
2564 AC_CHECK_HEADERS([neaacdec.h], [
2565 AC_CHECK_LIB(faad, NeAACDecOpen, [have_faad="yes"],, [$LIBM])
2567 AS_IF([test "${have_faad}" = "yes"], [
2568 VLC_ADD_PLUGIN([faad])
2569 VLC_ADD_LIBS([faad],[-lfaad])
2571 AS_IF([test "${enable_faad}" = "yes"], [
2572 AC_MSG_ERROR([cannot find FAAD library])
2574 AC_MSG_WARN([cannot find FAAD library])
2581 dnl libvpx decoder plugin
2584 AS_HELP_STRING([--enable-vpx],[libvpx VP8/VP9 decoder (default auto)]))
2585 AS_IF([test "${enable_vpx}" != "no"],[
2586 PKG_CHECK_MODULES([VPX], [vpx] , [
2587 VLC_ADD_PLUGIN([vpx])
2588 VLC_ADD_CPPFLAGS([vpx], [${VPX_CFLAGS}])
2589 VLC_ADD_LIBS([vpx], [${VPX_LIBS}])
2590 AC_CHECK_LIB([vpx],[vpx_codec_vp8_dx], [
2591 VLC_ADD_CPPFLAGS([vpx], [-DENABLE_VP8_DECODER])
2592 ], [], [${VPX_LIBS}])
2593 AC_CHECK_LIB([vpx],[vpx_codec_vp9_dx], [
2594 VLC_ADD_CPPFLAGS([vpx], [-DENABLE_VP9_DECODER])
2595 ], [], [${VPX_LIBS}])
2597 AS_IF([test "${enable_vpx}" = "yes"],[
2598 AC_MSG_ERROR([libvpx was not found])
2603 dnl twolame encoder plugin
2605 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2608 dnl fdk-aac encoder plugin
2610 PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
2613 dnl QuickTime plugin
2615 AC_ARG_ENABLE(quicktime,
2616 [ --enable-quicktime QuickTime module (deprecated)])
2617 if test "${enable_quicktime}" = "yes"; then
2618 if test "${SYS}" = "mingw32"; then
2619 VLC_ADD_PLUGIN([quicktime])
2621 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2622 [ VLC_ADD_PLUGIN([quicktime])
2623 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2624 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2629 dnl A52/AC3 decoder plugin
2632 [ --enable-a52 A/52 support with liba52 (default enabled)])
2633 if test "${enable_a52}" != "no"
2636 [ --with-a52=PATH a52 headers and libraries])
2637 if test -z "${with_a52}"
2642 LDFLAGS_test="-L${with_a52}/lib"
2643 CPPFLAGS_test="-I${with_a52}/include"
2646 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2647 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2648 AC_CHECK_HEADERS(a52dec/a52.h, [
2649 AC_CHECK_LIB(a52, a52_free, [
2650 VLC_ADD_PLUGIN([a52tofloat32])
2651 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2652 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2654 AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
2657 AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
2663 dnl DTS Coherent Acoustics decoder plugin
2665 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2670 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2675 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2680 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2685 AC_ARG_ENABLE(tremor,
2686 [ --enable-tremor Tremor decoder support (default disabled)])
2687 if test "${enable_tremor}" = "yes"
2689 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2690 VLC_ADD_PLUGIN([tremor])
2697 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2699 AS_IF([test "${enable_speex}" != "no"], [
2700 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2703 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2706 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2711 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus >= 1.0.3], [Opus support], [auto])
2714 dnl theora decoder plugin
2716 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2719 dnl Daala decoder plugin
2721 PKG_ENABLE_MODULES_VLC([DAALA], [], [ogg daaladec daalaenc], [experimental daala codec], [disabled])
2724 dnl schroedinger decoder plugin (for dirac format video)
2726 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2729 dnl PNG decoder module
2732 [ --enable-png PNG support (default enabled)])
2733 AS_IF([test "${enable_png}" != "no"], [
2734 AC_CHECK_HEADERS(png.h, [
2736 LDFLAGS="${LDFLAGS} -lz $LIBM"
2737 AC_CHECK_LIB(png, png_set_rows, [
2738 VLC_ADD_PLUGIN([png])
2745 dnl JPEG decoder module
2748 [ --enable-jpeg JPEG support (default enabled)])
2749 AS_IF([test "${enable_jpeg}" != "no"], [
2750 AC_CHECK_HEADERS(jpeglib.h, [
2751 VLC_ADD_PLUGIN([jpeg])
2756 dnl BPG decoder module
2759 [ --enable-bpg BPG support (default disabled)])
2760 AS_IF([test "${enable_bpg}" != "no"], [
2761 AC_CHECK_HEADERS(libbpg.h, [
2762 VLC_ADD_PLUGIN([bpg])
2767 dnl H262 encoder plugin (lib262)
2770 [ --enable-x262 H262 encoding support with static libx262 (default disabled)])
2771 if test "${enable_x262}" != "no"; then
2772 PKG_CHECK_MODULES(X262, x262, [
2773 VLC_ADD_PLUGIN([x262])
2774 VLC_ADD_LDFLAGS([x262],[${X262_LIBS}])
2775 AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [
2776 VLC_ADD_LIBS([x262],[${av_cv_ld_bsymbolic}])
2778 VLC_ADD_CFLAGS([x262],[${X262_CFLAGS}])
2779 if echo ${X262_LIBS} |grep -q 'pthreadGC2'; then
2780 VLC_ADD_CFLAGS([x262], [-DPTW32_STATIC_LIB])
2783 if test "${enable_x262}" = "yes"; then
2784 AC_MSG_ERROR([x262 module doesn't work without staticly compiled libx262.a])
2790 PKG_ENABLE_MODULES_VLC([X265],, [x265], [HEVC/H.265 encoder], [auto])
2793 dnl H264 encoder plugin (10-bit lib264)
2795 AC_ARG_ENABLE(x26410b,
2796 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2797 if test "${enable_x26410b}" != "no"; then
2798 PKG_CHECK_MODULES(X26410B, x26410b, [
2799 VLC_ADD_PLUGIN([x26410b])
2800 VLC_ADD_LIBS([x26410b],[${X26410B_LIBS}])
2801 AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [
2802 VLC_ADD_LDFLAGS([x26410b],[${ac_cv_ld_bsymbolic}])
2804 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2805 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2806 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2809 if test "${enable_x26410b}" = "yes"; then
2810 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2817 dnl H264 encoder plugin (using libx264)
2820 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2821 if test "${enable_x264}" != "no"; then
2822 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2823 VLC_ADD_PLUGIN([x264])
2824 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2826 AS_IF([test -n "${ac_cv_ld_bsymbolic}"], [
2827 VLC_ADD_LDFLAGS([x264],[${ac_cv_ld_bsymbolic}])
2830 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2831 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2832 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2835 if test "${enable_x264}" = "yes"; then
2836 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2842 dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder
2844 PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
2847 dnl libfluidsynth (MIDI synthetizer) plugin
2849 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2852 dnl Teletext Modules
2853 dnl vbi decoder plugin (using libzbvi)
2858 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2859 libzvbi (default enabled)]))
2861 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2862 zvbi) (default enabled if zvbi is absent)]))
2864 AS_IF( [test "${enable_zvbi}" != "no"],[
2865 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2867 VLC_ADD_PLUGIN([zvbi])
2868 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2869 AS_IF( [test "${enable_telx}" = "yes"],[
2870 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2873 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2876 AS_IF( [test "${enable_telx}" != "no" ],[
2877 VLC_ADD_PLUGIN([telx])
2881 dnl libass subtitle rendering module
2883 AC_ARG_ENABLE(libass,
2884 [ --enable-libass Subtitle support using libass (default enabled)])
2885 AS_IF( [test "${enable_libass}" != "no"], [
2886 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2888 VLC_ADD_PLUGIN([libass])
2890 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2891 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2892 VLC_ADD_LIBS([libass],[-lfontconfig])
2895 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2900 dnl ARIB subtitles rendering module
2902 AC_ARG_ENABLE(aribsub,
2903 [ --enable-aribsub ARIB Subtitles support (default enabled)])
2904 AS_IF( [test "${enable_aribsub}" != "no" ],[
2905 PKG_CHECK_MODULES(ARIBB24, [aribb24 >= 1.0.1], [
2907 VLC_ADD_PLUGIN([aribsub])
2908 VLC_ADD_LIBS([aribsub],[-laribb24])
2909 AC_DEFINE(HAVE_ARIBB24, 1, [Define if libaribb24 is available.])
2911 AC_MSG_WARN(Library [aribb24] needed for [aribsub] was not found)
2915 AM_CONDITIONAL([HAVE_ARIBB24], [test x"${have_aribb24}" = x"yes"])
2920 PKG_ENABLE_MODULES_VLC([ARIBB25], [aribcam], [aribb25 >= 0.2.6], [ARIB STD-B25], [auto])
2923 dnl kate decoder plugin
2925 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2928 dnl tiger rendering for kate decoder plugin
2930 AC_ARG_ENABLE(tiger,
2931 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2932 AS_IF([test "${enable_tiger}" != "no"], [
2933 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2934 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])],[
2935 AS_IF([test -n "${enable_tiger}"], [
2936 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2946 EXTEND_HELP_STRING([Video plugins:])
2951 PKG_CHECK_MODULES([EGL], [egl], [
2956 AM_CONDITIONAL([HAVE_EGL], [test "${have_egl}" = "yes"])
2959 PKG_CHECK_MODULES([GL], [gl], [
2962 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
2964 # include <GL/glew.h>
2968 [int t0 = GL_TEXTURE0;]])
2972 AS_IF([test "${SYS}" != "mingw32"], [
2975 GL_LIBS="-lopengl32"
2979 AM_CONDITIONAL([HAVE_GL], [test "${have_gl}" = "yes"])
2981 dnl OpenGL ES 2: depends on EGL 1.1
2982 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [disabled])
2983 dnl OpenGL ES 1: depends on EGL 1.0
2984 PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [disabled])
2991 AC_CHECK_HEADERS(X11/Xlib.h)
2994 dnl X C Bindings modules
2997 [ --enable-xcb X11 support with XCB (default enabled)],, [
2998 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3004 AC_ARG_ENABLE(xvideo,
3005 [ --enable-xvideo XVideo support (default enabled)],, [
3006 enable_xvideo="$enable_xcb"
3010 have_xcb_keysyms="no"
3012 have_xcb_xvideo="no"
3013 AS_IF([test "${enable_xcb}" != "no"], [
3015 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3017 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3018 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3019 PKG_CHECK_MODULES(XPROTO, [xproto])
3021 AS_IF([test "${enable_xvideo}" != "no"], [
3022 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [have_xcb_xvideo="yes"])
3025 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [have_xcb_randr="yes"])
3028 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [have_xcb_keysyms="yes"], [
3029 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
3032 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3033 AM_CONDITIONAL([HAVE_XCB_KEYSYMS], [test "${have_xcb_keysyms}" = "yes"])
3034 AM_CONDITIONAL([HAVE_XCB_RANDR], [test "${have_xcb_randr}" = "yes"])
3035 AM_CONDITIONAL([HAVE_XCB_XVIDEO], [test "${have_xcb_xvideo}" = "yes"])
3041 AC_ARG_ENABLE(vdpau,
3042 [AS_HELP_STRING([--enable-vdpau], [VDPAU hardware support (default auto)])])
3044 AS_IF([test "${enable_vdpau}" != "no"], [
3045 PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.6], [
3047 AS_IF([test "${no_x}" = "yes"], [
3048 AC_MSG_ERROR([VDPAU requires Xlib (X11).])
3051 AS_IF([test -n "${enable_vdpau}"], [
3052 AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
3056 AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
3058 have_avcodec_vdpau="no"
3059 AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [
3061 libav) av_vdpau_ver="55.26.0" ;;
3062 ffmpeg) av_vdpau_ver="55.42.100" ;;
3064 PKG_CHECK_EXISTS([libavutil >= 52.4.0 libavcodec >= ${av_vdpau_ver}], [
3065 have_avcodec_vdpau="yes"
3066 AC_MSG_NOTICE([VDPAU decoding acceleration activated])
3068 AS_IF([test -n "${enable_vdpau}"], [
3069 AC_MSG_ERROR([libav libavutil >= 52.4.0 and libavcodec >= 55.26.0 are required for VDPAU decoding.])
3071 AC_MSG_WARN([libav libavutil >= 52.4.0 and libavcodec >= 55.26.0 are required for VDPAU decoding.])
3075 AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"])
3081 AC_ARG_ENABLE(wayland,
3082 [AS_HELP_STRING([--enable-wayland], [Wayland support (default auto)])])
3084 AC_ARG_VAR([WAYLAND_SCANNER], [Wayland scanner utility])
3086 AS_IF([test "${enable_wayland}" != "no"], [
3087 AC_MSG_CHECKING([for the Wayland scanner])
3088 AS_IF([test -z "$WAYLAND_SCANNER"], [
3089 PKG_CHECK_EXISTS([wayland-scanner], [
3090 WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)"
3092 WAYLAND_SCANNER="wayland-scanner"
3095 AC_MSG_RESULT([$WAYLAND_SCANNER])
3097 PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= 1.5.91], [
3100 AS_IF([test -n "${enable_wayland}"], [
3101 AC_MSG_ERROR([${WAYLAND_CLIENT_PKG_ERRORS}.])
3105 AS_IF([test "${have_egl}" = "yes"], [
3106 PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl], [
3107 have_wayland_egl="yes"
3109 AS_IF([test -n "${enable_wayland}"], [
3110 AC_MSG_ERROR([${WAYLAND_EGL_PKG_ERRORS}.])
3115 AM_CONDITIONAL([HAVE_WAYLAND], [test "${have_wayland}" = "yes"])
3116 AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test "${have_wayland_egl}" = "yes"])
3123 [ --enable-sdl SDL support (default enabled)])
3124 AC_ARG_ENABLE(sdl-image,
3125 [ --enable-sdl-image SDL image support (default enabled)])
3126 if test "${enable_sdl}" != "no"
3128 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3129 # SDL on Darwin is heavily patched and can only run SDL_image
3130 if test "${SYS}" != "darwin"; then
3131 VLC_ADD_PLUGIN([vout_sdl])
3135 AS_IF([ test "${enable_sdl_image}" != "no"],[
3136 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3137 VLC_ADD_PLUGIN([sdl_image])],
3138 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3142 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3149 AC_ARG_ENABLE(freetype,
3150 [ --enable-freetype freetype support (default auto)])
3151 AC_ARG_ENABLE(fribidi,
3152 [ --enable-fribidi fribidi support (default auto)])
3153 AC_ARG_ENABLE(harfbuzz,
3154 [ --enable-harfbuzz harfbuzz support (default auto)])
3155 AC_ARG_ENABLE(fontconfig,
3156 [ --enable-fontconfig fontconfig support (default auto)])
3158 AC_ARG_WITH([default-font],
3159 AS_HELP_STRING([--with-default-font=PATH],
3160 [Path to the default font]),
3161 [AC_DEFINE_UNQUOTED([DEFAULT_FONT_FILE],
3162 "$withval", [Default font])])
3163 AC_ARG_WITH([default-monospace-font],
3164 AS_HELP_STRING([--with-default-monospace-font=PATH],
3165 [Path to the default font]),
3166 [AC_DEFINE_UNQUOTED([DEFAULT_MONOSPACE_FONT_FILE],
3167 "$withval", [Default monospace font])])
3169 AC_ARG_WITH([default-font-family],
3170 AS_HELP_STRING([--with-default-font-family=NAME],
3171 [Path to the default font family]),
3172 [AC_DEFINE_UNQUOTED([DEFAULT_FAMILY],
3173 "$withval", [Default font family])])
3174 AC_ARG_WITH([default-monospace-font-family],
3175 AS_HELP_STRING([--with-default-monospace-font-family=NAME],
3176 [Path to the default font family]),
3177 [AC_DEFINE_UNQUOTED([DEFAULT_MONOSPACE_FAMILY],
3178 "$withval", [Default monospace font family])])
3181 have_fontconfig="no"
3185 if test "${enable_freetype}" != "no"; then
3186 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3188 VLC_ADD_CPPFLAGS([skins2],[${FREETYPE_CFLAGS}])
3189 VLC_ADD_LIBS([skins2],[${FREETYPE_LIBS}])
3191 dnl fontconfig support
3192 if test "${SYS}" != "mingw32"; then
3193 if test "${enable_fontconfig}" != "no"; then
3194 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3195 have_fontconfig="yes"
3196 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3201 if test "${enable_fribidi}" != "no"; then
3202 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3204 VLC_ADD_CPPFLAGS([skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3205 VLC_ADD_LIBS([skins2], [${FRIBIDI_LIBS}])
3206 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional text and complex scripts (Arabic, Farsi, Thai...) will be disabled in FreeType.])])
3209 dnl harfbuzz support
3210 if test "${have_fribidi}" != "no"; then
3211 if test "${enable_harfbuzz}" != "no"; then
3212 PKG_CHECK_MODULES(HARFBUZZ, harfbuzz, [
3214 VLC_ADD_CPPFLAGS([skins2], [${HARFBUZZ_CFLAGS} -DHAVE_HARFBUZZ])
3215 VLC_ADD_LIBS([skins2], [${HARFBUZZ_LIBS}])
3216 ],[AC_MSG_WARN([${HARFBUZZ_PKG_ERRORS}. Support for complex scripts (Arabic, Farsi, Thai...) will be disabled in FreeType.])])
3220 AS_IF([test -n "${enable_freetype}"],[
3221 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3226 AM_CONDITIONAL([HAVE_FREETYPE], [test "${have_freetype}" = "yes"])
3227 AM_CONDITIONAL([HAVE_FONTCONFIG], [test "${have_fontconfig}" = "yes"])
3228 AM_CONDITIONAL([HAVE_FRIBIDI], [test "${have_fribidi}" = "yes"])
3229 AM_CONDITIONAL([HAVE_HARFBUZZ], [test "${have_harfbuzz}" = "yes"])
3233 dnl QuartzText vout module (iOS/Mac OS)
3235 AC_ARG_ENABLE(macosx-quartztext,
3236 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3237 if test "x${enable_macosx_quartztext}" != "xno" &&
3238 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3240 VLC_ADD_PLUGIN([quartztext])
3244 dnl SVG module (text rendering and image decoding)
3246 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3247 PKG_ENABLE_MODULES_VLC([SVGDEC], [], [librsvg-2.0 >= 2.9.0 cairo >= 1.13.1], [SVG image decoder library],[auto])
3250 dnl android surface module
3252 AC_ARG_ENABLE(android-surface,
3253 [ --enable-android-surface Android Surface video output module (default disabled)])
3254 if test "${enable_android_surface}" = "yes"; then
3255 VLC_ADD_PLUGIN([android_surface])
3256 VLC_ADD_PLUGIN([android_window])
3260 dnl Windows DirectX module
3263 AC_ARG_ENABLE(directx,
3264 [AS_HELP_STRING([--enable-directx],
3265 [Microsoft DirectX support (default enabled on Windows)])],, [
3266 AS_IF([test "${SYS}" = "mingw32"], [
3267 enable_directx="yes"
3273 AS_IF([test "${enable_directx}" != "no"], [
3275 AC_CHECK_HEADERS(ddraw.h, [
3278 AC_MSG_ERROR([Cannot find DirectX headers!])
3282 AC_CHECK_HEADERS(GL/wglew.h, [
3283 VLC_ADD_PLUGIN([glwin32])
3285 #include <windows.h>
3290 AC_CHECK_HEADERS(d3d11.h, [
3291 VLC_ADD_PLUGIN([direct3d11])
3295 AC_CHECK_HEADERS(d3d9.h, [
3296 VLC_ADD_PLUGIN([direct3d9])
3300 AC_CHECK_HEADERS(d2d1.h, [
3301 VLC_ADD_PLUGIN([direct2d])
3304 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3307 dnl Linux framebuffer module
3309 AC_CHECK_HEADER([linux/fb.h], [
3310 VLC_ADD_PLUGIN([fb])
3316 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3317 dnl TODO: support for static linking
3319 AC_ARG_ENABLE(directfb,
3320 [ --enable-directfb DirectFB support (default disabled)])
3321 AC_ARG_WITH(directfb,
3322 [ --with-directfb=PATH path to DirectFB headers and libraries])
3324 if test "${enable_directfb}" = "yes"; then
3325 have_directfb="false"
3326 CPPFLAGS_mydirectfb=
3328 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3329 dnl Trying the given location
3332 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3333 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3335 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3336 LIBS="${LIBS} ${LIBS_new}"
3338 dnl FIXME: too obscure
3339 AC_CHECK_HEADER([directfb.h], [
3340 AC_CHECK_LIB([direct],[direct_initialize], [
3341 AC_CHECK_LIB([fusion], [fusion_enter], [
3342 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3343 ], have_directfb="false")
3344 ], have_directfb="false")
3345 ], have_directfb="false")
3349 if test "${have_directfb}" = "true"; then
3350 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3351 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3354 dnl Look for directfb-config
3355 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3356 if test "${DIRECTFB_CONFIG}" != "no"; then
3357 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3358 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3359 have_directfb="true"
3361 dnl Trying with pkg-config
3362 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3363 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3364 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3365 have_directfb="true"
3366 ], [have_directfb="false"])
3369 if test "${have_directfb}" = "true"; then
3370 VLC_ADD_PLUGIN([directfb])
3371 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3372 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3374 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3382 [ --enable-aa aalib output (default disabled)])
3383 if test "${enable_aa}" = "yes"
3385 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3386 if test "${have_aa}" = "true"
3388 VLC_ADD_PLUGIN([aa])
3395 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3401 [AS_HELP_STRING([--enable-kva],
3402 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3403 AS_IF([test "$SYS" = "os2"], [
3409 AS_IF([test "$enable_kva" != "no"], [
3410 AC_CHECK_HEADERS([kva.h], [
3412 AC_CHECK_LIB(kva, main, [
3418 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3424 AS_HELP_STRING([--enable-mmal],
3425 [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)]))
3426 if test "${enable_mmal}" != "no"; then
3428 LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
3429 CPPFLAGS="${CPPFLAGS} -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
3430 AC_CHECK_HEADERS(interface/mmal/mmal.h,
3431 [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
3433 VLC_ADD_PLUGIN([mmal])
3434 VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
3435 VLC_ADD_CFLAGS([mmal],[ -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux ])
3436 VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lvchostif ]) ], [
3437 AS_IF([test "${enable_mmal}" = "yes"],
3438 [ AC_MSG_ERROR([Cannot find bcm library...]) ],
3439 [ AC_MSG_WARN([Cannot find bcm library...]) ])
3442 ] , [ AS_IF([test "${enable_mmal}" = "yes"],
3443 [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
3444 [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
3447 AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
3453 EXTEND_HELP_STRING([Audio plugins:])
3456 dnl Pulseaudio module
3458 AC_ARG_ENABLE(pulse,
3459 [AS_HELP_STRING([--enable-pulse],
3460 [use the PulseAudio client library (default auto)])])
3462 AS_IF([test "${enable_pulse}" != "no"], [
3463 PKG_CHECK_MODULES([PULSE], [libpulse >= 1.0], [
3466 AS_IF([test "x${enable_pulse}" != "x"], [
3467 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 1.0 or later required.])
3471 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3477 [AS_HELP_STRING([--enable-alsa],
3478 [support the Advanced Linux Sound Architecture (default auto)])],, [
3479 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3484 AS_IF([test "${enable_alsa}" != "no"], [
3485 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
3488 AS_IF([test "x${enable_alsa}" != "x"], [
3489 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.])
3493 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3496 dnl Open Sound System module
3499 [AS_HELP_STRING([--enable-oss],
3500 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3501 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3507 AS_IF([test "$enable_oss" != "no"], [
3508 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3510 AC_CHECK_LIB(ossaudio, main, [
3511 OSS_LIBS="-lossaudio"
3516 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3519 dnl OpenBSD sndio module
3521 AC_ARG_ENABLE([sndio],
3522 [AS_HELP_STRING([--disable-sndio],
3523 [support the OpenBSD sndio (default auto)])],, [
3524 AS_IF([test "$SYS" = "openbsd"], [
3529 AS_IF([test "$enable_sndio" != "no"], [
3530 AC_CHECK_HEADER([sndio.h], [
3534 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3537 dnl Windows Audio Session plugin
3539 AC_ARG_ENABLE([wasapi],
3540 [AS_HELP_STRING([--enable-wasapi],
3541 [use the Windows Audio Session API (default auto)])
3544 AS_IF([test "$enable_wasapi" != "no"], [
3545 AC_CHECK_HEADER([audioclient.h], [
3548 AS_IF([test "x${enable_wasapi}" != "x"], [
3549 AC_MSG_ERROR([Windows Audio Session API not found.])
3553 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3556 dnl AudioQueue plugin
3558 AC_ARG_ENABLE(audioqueue,
3559 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3560 if test "${enable_audioqueue}" = "yes"
3562 VLC_ADD_PLUGIN([audioqueue])
3569 [AS_HELP_STRING([--disable-jack],
3570 [do not use jack (default auto)])])
3572 AS_IF([test "${enable_jack}" != "no"], [
3573 PKG_CHECK_MODULES(JACK, jack >= 1.9.7,
3576 AC_MSG_WARN([${JACK_PKG_ERRORS}, trying jack1 instead])
3578 PKG_CHECK_MODULES(JACK, jack >= 0.120.1 jack < 1.0,
3581 AS_IF([test -n "${enable_jack}"],
3582 [AC_MSG_ERROR([${JACK_PKG_ERRORS}.])],
3583 [AC_MSG_WARN([${JACK_PKG_ERRORS}.])])
3587 AM_CONDITIONAL([HAVE_JACK], [test "${have_jack}" != "no"])
3590 dnl OpenSLES Android
3592 AC_ARG_ENABLE(opensles,
3593 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3594 if test "${HAVE_ANDROID}" = "1"; then
3595 if test "${enable_opensles}" = "yes"; then
3596 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3597 [ VLC_ADD_PLUGIN([opensles_android]) ],
3598 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3603 dnl libsamplerate plugin
3605 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3611 [AS_HELP_STRING([--enable-kai],
3612 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3613 AS_IF([test "$SYS" = "os2"], [
3619 AS_IF([test "$enable_kai" != "no"], [
3620 AC_CHECK_HEADERS([kai.h], [
3622 AC_CHECK_LIB(kai, main, [
3628 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3631 dnl chromaprint audio track fingerprinter
3633 m4_pushdef([libchromaprint_version], 0.6.0)
3634 PKG_WITH_MODULES([CHROMAPRINT],[libchromaprint >= libchromaprint_version],
3635 VLC_ADD_PLUGIN([stream_out_chromaprint]),
3636 AS_IF([test "${enable_chromaprint}" = "yes"],
3637 [AC_MSG_ERROR(Library [libchromaprint >= libchromaprint_version] needed for [chromaprint] was not found)],
3638 [AC_MSG_WARN(Library [libchromaprint >= libchromaprint_version] needed for [chromaprint] was not found)]
3640 [(Chromaprint based audio fingerprinter)],[auto])
3641 m4_popdef([libchromaprint_version])
3644 dnl Chromecast streaming support
3646 m4_pushdef([protobuf_lite_version], 2.5.0)
3647 AC_ARG_VAR(PROTOC, [protobuf compiler])
3648 AC_PATH_PROGS(PROTOC, protoc, no)
3649 PKG_WITH_MODULES([CHROMECAST],[protobuf-lite >= protobuf_lite_version], [
3650 AS_IF([test "x${PROTOC}" != "xno"], [
3651 build_chromecast="yes"
3653 AC_MSG_ERROR(protoc compiler needed for [chromecast] was not found)
3656 AS_IF([test "${enable_chromecast}" = "yes"],
3657 AC_MSG_ERROR(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found),
3658 AC_MSG_WARN(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found)
3660 enable_chromecast="no"
3661 ], [(Chromecast streaming support)], [auto])
3662 AM_CONDITIONAL([BUILD_CHROMECAST], [test "${build_chromecast}" = "yes"])
3663 m4_popdef([protobuf_lite_version])
3666 dnl Interface plugins
3669 EXTEND_HELP_STRING([Interface plugins:])
3675 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3676 AS_IF([test "${SYS}" = "darwin"], [
3680 AS_IF([test "${enable_qt}" != "no"], [
3681 PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [
3682 PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [
3683 VLC_ADD_LIBS([qt4],[${QTX11_LIBS}])
3684 VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11])
3686 AC_MSG_WARN([Not building Qt Interface with X11 helpers.])
3688 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)"
3689 QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)"
3690 AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
3691 AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
3692 AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
3694 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3695 AS_IF([test -n "${enable_qt}"],[
3696 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3698 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3702 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3703 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
3704 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3705 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"])
3708 AS_IF([test "${enable_qt}" != "no"], [
3709 VLC_ADD_PLUGIN([qt4])
3710 ALIASES="${ALIASES} qvlc"
3712 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3715 dnl Simple test for skins2 dependency
3717 AS_IF([test "$enable_qt" = "no"], [
3718 AS_IF([test "${enable_skins2}" = "yes"], [
3719 AC_MSG_ERROR([The skins2 module depends on the Qt4 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 Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
3722 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3729 AC_ARG_ENABLE(skins2,
3730 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3731 AS_IF([test "${enable_skins2}" != "no"], [
3732 have_skins_deps="yes"
3735 AS_IF([test "${SYS}" = "mingw32"], [
3736 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3737 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3739 ], [test "${SYS}" = "darwin"], [
3740 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3741 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3743 ], [test "${SYS}" = "os2"], [
3744 VLC_ADD_CPPFLAGS([skins2],[ -DOS2_SKINS])
3747 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3748 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3749 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3750 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3751 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3755 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3757 dnl we need freetype
3758 AS_IF([test "${have_freetype}" != "yes"], [
3759 have_skins_deps="no"
3762 AS_IF([test "${have_skins_deps}" = "no"], [
3763 AS_IF([test "x${enable_skins2}" = "x"], [
3764 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3766 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3770 VLC_ADD_PLUGIN([skins2])
3771 ALIASES="${ALIASES} svlc"
3775 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3777 AC_ARG_ENABLE(libtar,
3778 [ --enable-libtar libtar support for skins2 (default auto)])
3779 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3780 AC_CHECK_HEADERS(libtar.h, [
3781 VLC_ADD_LIBS([skins2],[-ltar])
3786 dnl MacOS X gui module
3788 AC_ARG_ENABLE(macosx,
3789 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3790 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3792 VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,CoreServices])
3793 VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] )
3794 VLC_ADD_PLUGIN([macosx])
3796 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration -Wl,-framework,ScriptingBridge])
3798 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3800 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3802 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3803 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3805 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3807 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3809 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3810 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3812 AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
3815 dnl Minimal Mac OS X module
3817 AC_ARG_ENABLE(minimal-macosx,
3818 [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)])
3819 if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
3821 VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa])
3822 VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] )
3823 VLC_ADD_PLUGIN([minimal_macosx])
3825 AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"])
3828 dnl MacOS X dialog provider
3830 AC_ARG_ENABLE(macosx-dialog-provider,
3831 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3832 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3833 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3835 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3836 VLC_ADD_PLUGIN([macosx_dialog_provider])
3838 AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"])
3843 AC_ARG_ENABLE(ncurses,
3844 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3846 AS_IF([test "${enable_ncurses}" != "no"] ,[
3847 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3849 ALIASES="${ALIASES} nvlc"
3851 AS_IF([test -n "${enable_ncurses}"], [
3852 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3856 AM_CONDITIONAL([HAVE_NCURSES], [test "${have_ncurses}" = "yes"])
3862 [ --enable-lirc lirc support (default disabled)])
3864 AS_IF([test "${enable_lirc}" = "yes"], [
3865 AC_CHECK_HEADER(lirc/lirc_client.h, [
3866 AC_CHECK_LIB(lirc_client, lirc_init, [
3871 AM_CONDITIONAL([HAVE_LIRC], [test "${have_lirc}" = "yes"])
3873 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3875 dnl goom visualization plugin
3877 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3880 dnl libprojectM visualization plugin
3882 AC_ARG_ENABLE(projectm,
3883 [ --enable-projectm projectM visualization plugin (default enabled)])
3884 AS_IF([test "${enable_projectm}" != "no"],
3886 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3888 VLC_ADD_PLUGIN([projectm])
3889 PKG_CHECK_EXISTS([libprojectM >= 2.0.0],
3890 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3891 [ AC_MSG_WARN( [Using libprojectM version 1] )
3894 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3899 dnl Vovoid VSXu visualization plugin
3902 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3903 AS_IF([test "${enable_vsxu}" != "no"],
3905 PKG_CHECK_MODULES(VSXU, libvsxu,
3907 VLC_ADD_PLUGIN([vsxu])
3909 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3914 dnl AtmoLight (homemade Philips Ambilight clone)
3917 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3918 (default enabled)]),, [enable_atmo="yes"])
3919 AS_IF([test "${enable_atmo}" != no], [
3920 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3921 VLC_ADD_PLUGIN([atmo])
3925 EXTEND_HELP_STRING([Service Discovery plugins:])
3927 dnl Bonjour services discovery
3928 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3931 dnl libudev services discovery
3932 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3935 dnl MTP devices services discovery
3936 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3939 dnl UPnP Plugin (Intel SDK)
3941 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3943 EXTEND_HELP_STRING([Misc options:])
3948 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3954 AC_ARG_ENABLE(libgcrypt,
3955 [ --disable-libgcrypt gcrypt support (default enabled)])
3956 AS_IF([test "${enable_libgcrypt}" != "no"], [
3957 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3958 libgcrypt-config --version >/dev/null || \
3959 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3960 AC_CHECK_LIB(gcrypt, gcry_control, [
3961 have_libgcrypt="yes"
3962 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3963 GCRYPT_LIBS="`libgcrypt-config --libs`"
3965 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.])
3966 ], [`libgcrypt-config --libs`])
3968 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
3969 ], [#include <gcrypt.h>]
3973 AC_SUBST(GCRYPT_CFLAGS)
3974 AC_SUBST(GCRYPT_LIBS)
3975 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3980 AC_ARG_ENABLE(gnutls,
3981 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3982 AS_IF([test "${enable_gnutls}" != "no"], [
3983 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 3.2.0], [
3984 VLC_ADD_PLUGIN([gnutls])
3986 AS_IF([test -n "${enable_gnutls}"], [
3987 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3996 AC_ARG_ENABLE(taglib,
3997 [AS_HELP_STRING([--disable-taglib],
3998 [do not use TagLib (default enabled)])])
3999 AS_IF([test "${enable_taglib}" != "no"], [
4000 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.9, [
4001 VLC_ADD_PLUGIN([taglib])
4003 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
4008 dnl update checking system
4010 AC_ARG_ENABLE(update-check,
4011 [ --enable-update-check update checking system (default disabled)])
4012 if test "${enable_update_check}" = "yes"
4014 if test "${have_libgcrypt}" != "yes"
4016 AC_MSG_ERROR([libgcrypt is required for update checking system])
4018 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4019 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4020 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4024 dnl Growl notification plugin
4026 AC_ARG_ENABLE(growl,
4027 [ --enable-growl growl notification plugin (default disabled)],,
4029 AS_IF([test "${enable_growl}" != "no"], [
4030 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
4031 VLC_ADD_PLUGIN([growl])
4032 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
4033 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
4034 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
4040 dnl Libnotify notification plugin
4042 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
4045 dnl Endianness check
4048 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4049 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4053 AC_SUBST(DEFS_BIGENDIAN)
4056 dnl Where to install KDE solid .desktop
4058 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4059 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4060 KDE4_CONFIG="kde4-config"
4063 AC_ARG_WITH(kde-solid,
4064 AS_HELP_STRING([--with-kde-solid=PATH],
4065 [KDE Solid actions directory (auto)]),, [
4067 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
4068 with_kde_solid="yes"
4072 AS_IF([test "${with_kde_solid}" != "no"], [
4073 AS_IF([test "${with_kde_solid}" = "yes"], [
4074 kde4datadir="`${KDE4_CONFIG} --install data`"
4075 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4076 soliddatadir="${kde4datadir}/solid/actions"
4078 soliddatadir="${with_kde_solid}"
4081 AC_SUBST(soliddatadir)
4082 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4084 EXTEND_HELP_STRING([Components:])
4090 [ --enable-vlc build the VLC media player (default enabled)])
4091 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4093 AC_ARG_ENABLE(macosx-vlc-app,
4094 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4095 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4096 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4099 dnl Stuff used by the program
4101 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4102 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4103 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4104 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4105 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4106 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4107 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4108 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4109 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4110 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4111 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4112 AC_SUBST(COPYRIGHT_MESSAGE)
4113 AC_SUBST(VERSION_MESSAGE)
4114 AC_SUBST(VERSION_MAJOR)
4115 AC_SUBST(VERSION_MINOR)
4116 AC_SUBST(VERSION_REVISION)
4117 AC_SUBST(VERSION_EXTRA)
4118 AC_SUBST(COPYRIGHT_YEARS)
4119 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4120 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4121 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4123 dnl Handle substvars that use $(top_srcdir)
4125 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4128 dnl Configuration is finished
4138 AC_SUBST(WINE_SDK_PATH)
4140 AC_SUBST(AM_CPPFLAGS)
4141 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4142 AC_SUBST(FILE_LIBVLCCORE_DLL)
4143 AC_SUBST(FILE_LIBVLC_DLL)
4157 modules/gui/ios_dialog_provider/Makefile
4158 modules/gui/macosx/Makefile
4159 modules/gui/minimal_macosx/Makefile
4160 modules/gui/macosx_dialog_provider/Makefile
4161 modules/gui/qt4/Makefile
4162 modules/gui/skins2/Makefile
4163 modules/hw/mmal/Makefile
4166 AM_COND_IF([HAVE_WIN32], [
4168 extras/package/win32/NSIS/spad.nsi
4169 extras/package/win32/NSIS/vlc.win32.nsi
4170 extras/package/win32/msi/config.wxi
4174 AM_COND_IF([HAVE_DARWIN], [
4176 extras/package/macosx/Info.plist
4177 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4181 dnl Generate makefiles
4184 dnl Do we have to use make or gmake ?
4185 if make --version 2>&1|grep -q GNU
4187 # GNU make, all seems good
4190 # Known GNU make alias (on BSD)
4193 dnl Shortcut to nice compile message
4194 if test -n $SHELL; then
4195 SHELL=${CONFIG_SHELL-/bin/sh}
4198 compile_top_srcdir=`sed -ne "s/^top_srcdir *= *//p" < Makefile`
4202 export PATH=\"$PATH\" LANG=C
4203 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| $compile_top_srcdir/extras/buildsystem/make.pl
4204 test -f .error\$\$ && ERROR=1
4206 exit \$ERROR" >compile
4210 libvlc configuration
4211 --------------------
4212 version : ${VERSION}
4214 architecture : ${ARCH}
4215 optimizations : ${enable_optimizations}"
4216 if test "${enable_vlc}" != "no"; then
4217 echo "vlc aliases :${ALIASES}"
4219 echo "build vlc executable : no"
4222 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."