1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2013 VLC authors and VideoLAN])
5 AC_INIT(vlc, 2.1.0-git)
15 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
17 COPYRIGHT_YEARS="1996-2013"
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 # Disable with "./configure --disable-silent-rules" or "make V=1"
31 AM_SILENT_RULES([yes])
33 dnl Too many people are not aware of maintainer mode:
34 dnl If you want to use it, you definitely know what you are doing, so
35 dnl you can specify "--disable-maintainer-mode". But if you want the default
36 dnl automake behavior, you've likely never heard of maintainer mode, so we
37 dnl can't expect you to enable it manually.
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39 [enable_maintainer_mode="yes"])
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
49 vlclibdir="\${libdir}/\${PKGDIR}"
56 AC_USE_SYSTEM_EXTENSIONS
57 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
58 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
59 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
60 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
61 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
62 AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of <windows.h>.])
68 _AM_DEPENDENCIES([OBJC])
74 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
75 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
77 dnl Check for compiler properties
82 dnl Extend the --help string at the current spot.
83 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
85 dnl Allow binary package maintainer to pass a custom string to avoid
87 AC_ARG_WITH(binary-version,
88 AS_HELP_STRING([--with-binary-version=STRING],
89 [To avoid plugins cache problem between binary version]),[],[])
90 AS_IF([test -n "${with_binary_version}"],[
91 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
92 [Binary specific version])
96 dnl Check the operating system
108 CFLAGS="${CFLAGS} -pthread"
109 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
113 CFLAGS="${CFLAGS} -pthread"
114 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
115 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
119 CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include"
120 LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/"
130 dnl Force gcc "-arch" flag
134 ARCH_flag="-arch i386"
137 ARCH_flag="-arch ppc64"
140 ARCH_flag="-arch ppc"
143 ARCH_flag="-arch x86_64"
146 ac_cv_c_bigendian="no"
147 ac_cv_c_attribute_packed="no"
152 CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
153 CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
154 CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
155 OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
156 LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
157 VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation])
158 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
159 VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
160 VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings])
161 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
163 dnl Allow binaries created on Lion to run on earlier releases
165 [#import <Cocoa/Cocoa.h>
166 #ifdef MAC_OS_X_VERSION_10_7
169 [AC_MSG_RESULT([yes])
170 AC_LIBOBJ([getdelim])
172 AC_LIBOBJ([strnlen])],)
175 dnl Handle Mac OS X SDK flags
177 AC_ARG_WITH(macosx-sdk,
178 [AS_HELP_STRING([--with-macosx-sdk=DIR],
179 [compile using the SDK in DIR])])
180 if test "${with_macosx_sdk}" != "" ; then
181 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
182 CPP="${CPP} -isysroot ${with_macosx_sdk}"
183 CC="${CC} -isysroot ${with_macosx_sdk}"
184 CXX="${CXX} -isysroot ${with_macosx_sdk}"
185 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
186 LD="${LD} -syslibroot ${with_macosx_sdk}"
188 AC_ARG_WITH(macosx-version-min,
189 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
190 [compile for Mac OS X VERSION and above])])
191 if test "${with_macosx_version_min}" != "" ; then
192 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
193 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
194 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
195 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
196 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
197 LD="${LD} -mmacosx_version_min=${with_macosx_version_min}"
198 CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
199 CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
200 OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
201 export MACOSX_DEPLOYMENT_TARGET
204 *mingw32* | *cygwin* | *wince* | *mingwce*)
205 AC_CHECK_TOOL(WINDRES, windres, :)
206 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
207 AH_TOP([#if defined(WIN32) && !defined(_WIN32_WINNT)])
208 AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */])
210 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
211 AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
212 AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
219 dnl Check if we are using the mno-cygwin mode in which case we are
220 dnl actually dealing with a mingw32 compiler.
225 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
229 if test "${SYS}" = "mingw32"; then
230 VLC_ADD_LIBS([libvlccore],[-lwinmm])
231 VLC_ADD_LDFLAGS([vlc],[-mwindows])
232 VLC_ADD_LIBS([win32text],[-lgdi32])
233 VLC_ADD_LIBS([vcdx],[-lwinmm])
234 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
235 ac_default_prefix="`pwd`/_win32"
236 DESTDIR="`pwd`/_win32/"
239 dnl NSIS/MSI Installer prefix and WIN64
245 PROGRAMFILES="PROGRAMFILES64"
249 PROGRAMFILES="PROGRAMFILES"
252 AC_SUBST(WINDOWS_ARCH)
253 AC_SUBST(PROGRAMFILES)
271 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild"
277 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
278 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
279 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
280 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
281 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
282 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
285 dnl Sadly autoconf does not think about testing foo.exe when ask to test
286 dnl for program foo on win32
287 case "${build_os}" in
289 ac_executable_extensions=".exe"
295 dnl Android is linux, but a bit different
296 AS_IF([test "$SYS" = linux],[
297 AC_MSG_CHECKING([for an Android system])
298 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
299 [[#ifndef __ANDROID__
310 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
314 dnl Check for the contrib directory
317 [AS_HELP_STRING([--with-contrib[=DIR]],
318 [search for 3rd party libraries in DIR/include and DIR/lib])
320 AC_MSG_CHECKING([for 3rd party libraries path])
321 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
322 CONTRIB_DIR="${srcdir}/contrib/${host}"
323 AS_IF([test ! -d "${CONTRIB_DIR}"], [
324 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
325 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
326 AS_IF([test ! -d "${CONTRIB_DIR}"], [
327 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
328 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
329 AS_IF([test ! -d "${CONTRIB_DIR}"], [
330 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
331 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
332 AS_IF([test ! -d "${CONTRIB_DIR}"], [
333 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
335 AC_MSG_RESULT([not found])
341 AS_IF([test "${with_contrib}" != "no"], [
342 CONTRIB_DIR="${with_contrib}"
345 AC_MSG_RESULT([disabled])
348 AS_IF([test -n "${CONTRIB_DIR}"], [
349 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
350 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
352 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
354 AC_MSG_RESULT([not usable])
358 AS_IF([test -n "${CONTRIB_DIR}"], [
359 AC_MSG_RESULT([${CONTRIB_DIR}])
360 export PATH=${CONTRIB_DIR}/bin:$PATH
361 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
362 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
363 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
364 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
365 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
366 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
368 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
370 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
372 AS_IF([test "${SYS}" = "darwin"], [
373 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
374 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
377 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
378 AC_MSG_ERROR([Third party libraries not found!])
381 AC_SUBST(CONTRIB_DIR)
385 dnl It's very bad, but our former custom system was worst
389 dnl override platform specific check for dependent libraries
390 dnl otherwise libtool linking of shared libraries will
391 dnl fail on anything other than pass_all.
392 AC_CACHE_VAL(lt_cv_deplibs_check_method,
393 [lt_cv_deplibs_check_method=pass_all])
395 LT_INIT([dlopen win32-dll shared disable-static])
397 LT_LANG([Windows Resource])
401 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
402 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
404 lt_cv_deplibs_check_method=pass_all
406 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
407 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
413 AM_GNU_GETTEXT_VERSION([0.18.1])
414 AM_GNU_GETTEXT([external], [need-ngettext])
423 AS_IF([test "${SYS}" = "mingw32"], [
424 dnl Check for broken versions of mingw-runtime compatability library
425 AC_MSG_CHECKING(for broken mingw-runtime)
426 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
428 #if defined(__MINGW64_VERSION_MAJOR)
429 # if __MINGW64_VERSION_MAJOR < 3
430 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
432 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
433 # error Attempting to use mingw-runtime with broken vsnprintf support
438 AC_MSG_RESULT([present])
439 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
441 dnl force use of mingw provided c99 *printf over msvcrt
442 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
444 dnl Check for the need to include the mingwex lib for mingw32
445 AC_CHECK_LIB(mingwex,opendir,
446 AC_CHECK_LIB(mingw32,opendir,,
447 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
450 dnl Check for fnative-struct or mms-bitfields support for mingw32
452 CFLAGS="${CFLAGS} -mms-bitfields"
453 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
454 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
455 [ac_cv_c_mms_bitfields],
456 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
457 if test "${ac_cv_c_mms_bitfields}" = "no"; then
459 CFLAGS="${CFLAGS} -fnative-struct"
460 CXXFLAGS="${CXXFLAGS} -fnative-struct"
461 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
462 [ac_cv_c_fnative_struct],
463 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
464 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
468 AC_ARG_ENABLE(winstore_app,
469 AS_HELP_STRING([--enable-winstore-app],
470 [Build targetted for Windows Store apps (default disabled)]))
472 AS_IF([test "${SYS}" = "mingw32"], [
473 AS_IF([test "${enable_winstore_app}" == "yes"], [
474 AC_DEFINE(WINAPI_FAMILY_APP, 1, [Define if you want to build for Windows Store apps])])
479 dnl Buggy glibc prevention. Purposedly not cached.
480 dnl See sourceware.org bugs 5058 and 5443.
481 dnl Ubuntu alone has 20 bug numbers for this...
483 AC_MSG_CHECKING(for buggy GNU/libc versions)
484 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
486 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
487 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
488 # error GNU/libc with dcgettext killer bug!
491 AC_MSG_RESULT([not present])
493 AC_MSG_RESULT([found])
494 AS_IF([test "x${enable_nls}" != "xno"], [
495 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
496 work-around for this. Check with your distribution vendor on how to update the
497 glibc run-time. Alternatively, build with --disable-nls.])
501 dnl Plugin compilation stuff
505 dnl Check for system libs needed
508 dnl Check for usual libc functions
509 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
510 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale])
511 AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
512 AC_CHECK_FUNCS(fdatasync,,
513 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
516 dnl mingw64 implements those as static inline, not functions with C linkage
518 AC_LANG_PROGRAM([#include <stdio.h>], [
520 if (asprintf(&c, "%s %d", "string", 1) == -1)
522 ])],[AC_DEFINE([HAVE_ASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([asprintf])])
524 AC_LANG_PROGRAM([#include <stdio.h>
525 #include <stdarg.h>], [
528 if (vasprintf(&c, "%s %d", ap) == -1)
530 ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
532 dnl C11 static_assert()
533 AC_MSG_CHECKING([for static_assert in assert.h])
534 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <assert.h>], [
535 static_assert(1, "The impossible happened.");
538 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
543 # Windows CE does not have strcoll()
546 dnl Check for non-standard system calls
549 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
552 AC_CHECK_FUNCS([_lock_file])
556 AH_BOTTOM([#include <vlc_fixups.h>])
558 dnl Check for struct pollfd
559 AC_CHECK_TYPES([struct pollfd],,,
560 [#include <sys/types.h>
563 #elif defined (WIN32)
564 # include <winsock2.h>
568 dnl Checks for socket stuff
571 AC_SEARCH_LIBS(connect, [socket], [
572 AS_IF([test "$ac_cv_search_connect" != "none required"], [
573 SOCKET_LIBS="$ac_cv_search_connect"
576 AS_IF([test "${SYS}" = "mingw32"], [
577 SOCKET_LIBS="-lws2_32"
581 AC_SEARCH_LIBS([getaddrinfo], [nsl], [
582 AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [
583 SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS"
585 ],, [${SOCKET_LIBS}])
587 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
590 AS_IF([test -n "$SOCKET_LIBS"], [
591 VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}])
593 AC_SUBST(SOCKET_LIBS)
595 dnl Check for socklen_t
596 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
597 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
598 ac_cv_type_socklen_t,
599 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
600 [#include <sys/types.h>
602 # include <winsock2.h>
603 # include <ws2tcpip.h>
605 # include <sys/socket.h>
606 #endif]], [[socklen_t len; len = 0;]])],
607 ac_cv_type_socklen_t=yes,
608 ac_cv_type_socklen_t=no)])
609 AS_IF([test "$ac_cv_type_socklen_t" = no],
610 [AC_DEFINE(socklen_t, int)])
612 dnl Check for struct sockaddr_storage
613 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
614 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
615 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
617 [#include <sys/types.h>
619 # include <winsock2.h>
621 # include <sys/socket.h>
622 #endif], [struct sockaddr_storage addr;],
623 ac_cv_struct_sockaddr_storage=yes,
624 ac_cv_struct_sockaddr_storage=no)])
625 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
626 AC_DEFINE(sockaddr_storage, sockaddr)
627 AC_DEFINE(ss_family, sa_family)
630 dnl FreeBSD has a gnugetopt library for this:
632 AC_CHECK_FUNC(getopt_long,, [
633 AC_CHECK_LIB([gnugetopt],[getopt_long], [
634 GNUGETOPT_LIBS="-lgnugetopt"
637 AC_SUBST(GNUGETOPT_LIBS)
640 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
647 AC_CHECK_LIB(m,lrintf, [
648 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
649 VLC_ADD_LIBS([skins2],[-lm])
652 dnl Check for dynamic plugins
654 have_dynamic_objects="no"
656 AC_SEARCH_LIBS(dlopen, [dl svld], [
657 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
658 LIBDL="$ac_cv_search_dlopen"
660 have_dynamic_objects="yes"
665 AS_IF([test "${SYS}" = "mingw32"], [
667 have_dynamic_objects="yes" #assume we can use shared objects
670 AS_IF([test "${enable_shared}" = "no"], [
671 have_dynamic_objects=no
673 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
676 VLC_ADD_LIBS([lua],[$LIBDL])
678 dnl Check for thread library
680 AS_IF([test "${SYS}" != "mingw32"], [
683 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
684 AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [
685 LIBPTHREAD="$ac_cv_search_pthread_rwlock_init"
690 AC_CHECK_LIB(rt, clock_nanosleep, [
691 VLC_ADD_LIBS([libvlccore],[-lrt])
693 AC_CHECK_FUNC(nanosleep,,[
694 AC_CHECK_LIB(rt,nanosleep, [
695 VLC_ADD_LIBS([libvlccore],[-lrt])
697 AC_CHECK_LIB(posix4,nanosleep, [
698 VLC_ADD_LIBS([libvlccore],[-lposix4])
703 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
708 dnl Check for headers
709 AC_CHECK_HEADERS([search.h])
710 AC_CHECK_HEADERS(getopt.h locale.h xlocale.h)
711 AC_CHECK_HEADERS([sys/time.h sys/ioctl.h])
712 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
713 AC_CHECK_HEADERS([net/if.h], [], [],
715 #include <sys/types.h>
716 #include <sys/socket.h>
718 AC_CHECK_HEADERS([sys/mount.h], [], [],
720 #include <sys/param.h>
723 if test "${SYS}" != "mingw32"; then
724 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
725 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
726 AC_CHECK_HEADERS(syslog.h mntent.h)
727 fi # end "${SYS}" != "mingw32"
729 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
730 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
731 AC_CHECK_TYPE(ssize_t,, [
732 AC_DEFINE(ssize_t, int)
735 dnl Check for threads library
736 if test "${SYS}" != "mingw32"; then
737 AC_CHECK_HEADERS(pthread.h)
738 fi # end "${SYS}" != "mingw32"
740 dnl It seems that autoconf detects pkg-config only during the first
741 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
742 dnl it is nested within a conditional block, so it was not working right.
743 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
744 AC_ARG_VAR(PKG_CONFIG_PATH,
745 [Paths where to find .pc not at the default location])
746 PKG_PROG_PKG_CONFIG()
748 dnl On some OS we need static linking
749 AS_IF([test -n "${PKG_CONFIG}" ],[
750 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
751 PKG_CONFIG="${PKG_CONFIG} --static"
757 dnl Check for zlib.h and -lz along with system -lminizip if available
759 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
760 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
761 if test "${have_zlib}" = "yes"
763 VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz])
764 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
765 AC_CHECK_HEADERS([unzip.h], [
767 MINIZIP_LIBS="-lminizip -lz"
769 VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip])
770 VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la])
774 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
775 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
777 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
781 dnl Domain name i18n support via GNU libidn
783 PKG_CHECK_MODULES([IDN], [libidn], [
785 AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
793 [AS_HELP_STRING([--enable-dbus],
794 [compile D-Bus message bus support (default enabled)])])
796 AS_IF([test "${enable_dbus}" != "no"], [
797 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [
800 AS_IF([test -n "${enable_dbus}"], [
801 AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])
803 AC_MSG_WARN([${DBUS_PKG_ERRORS}.])
807 AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"])
809 dnl Check for ntohl, etc.
811 CFLAGS="${CFLAGS} -Wall -Werror"
812 AC_CACHE_CHECK([for ntohl in sys/param.h],
813 [ac_cv_c_ntohl_sys_param_h],
814 [ AC_TRY_COMPILE([#include <sys/param.h>],
815 [int meuh; ntohl(meuh);],
816 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
817 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
818 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
822 EXTEND_HELP_STRING([Optimization options:])
824 dnl Compiler warnings
827 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])
828 RDC_PROG_CC_FLAGS([-pipe])
830 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
837 [AS_HELP_STRING([--enable-debug],
838 [build with run-time assertions (default disabled)])],,
841 [Define to 1 if debug code should NOT be compiled])
842 AS_IF([test "${enable_debug}" != "no"], [
843 AC_CHECK_HEADERS([valgrind/valgrind.h])
852 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
854 AS_IF([test "${enable_gprof}" != "no"], [
855 CFLAGS="${CFLAGS} -pg"
856 CXXFLAGS="${CXXFLAGS} -pg"
857 OBJCFLAGS="${OBJCFLAGS} -pg"
858 LDFLAGS="${LDFLAGS} -pg"
862 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
864 AS_IF([test "${enable_gprof}" != "no"], [
865 CFLAGS="${CFLAGS} -finstrument-functions"
866 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
867 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
868 LDFLAGS="${LDFLAGS} -finstrument-functions"
874 AC_ARG_ENABLE(coverage,
875 [AS_HELP_STRING([--enable-coverage],
876 [build for test coverage (default disabled)])],,
877 [enable_coverage="no"])
878 AS_IF([test "${enable_coverage}" != "no"], [
879 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
880 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
881 LDFLAGS="-lgcov ${LDFLAGS}"
884 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "os2"], [
886 CFLAGS="${CFLAGS} -fvisibility=hidden"
887 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
888 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
889 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
890 [ac_cv_c_visibility_hidden], [
891 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
892 ac_cv_c_visibility_hidden=yes
894 ac_cv_c_visibility_hidden=no
897 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
902 dnl Enable/disable optimizations
904 AC_ARG_ENABLE(optimizations,
905 [AS_HELP_STRING([--disable-optimizations],
906 [disable compiler optimizations (default enabled)])],,
907 [enable_optimizations="yes"])
909 dnl Check for various optimization flags
910 AS_IF([test "${enable_optimizations}" != "no"], [
912 dnl -O4 and -O3 only in production builds
913 AS_IF([test "{enable_debug}" = "no"], [
915 CFLAGS="${CFLAGS} -O4"
916 CXXFLAGS="${CXXFLAGS} -O4"
917 OBJCFLAGS="${OBJCFLAGS} -O4"
918 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
919 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
925 AS_IF([test "${ac_cv_c_o4}" = "no"], [
927 CFLAGS="${CFLAGS} -O3"
928 CXXFLAGS="${CXXFLAGS} -O3"
929 OBJCFLAGS="${OBJCFLAGS} -O3"
930 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
931 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
937 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
941 dnl Check for -ffast-math
943 CFLAGS="${CFLAGS} -ffast-math"
944 CXXFLAGS="${CXXFLAGS} -ffast-math"
945 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
946 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
947 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
948 ac_cv_c_fast_math=yes
953 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
955 #ifndef __FAST_MATH__
956 # pragma STDC FENV_ACCESS OFF
957 # pragma STDC FP_CONTRACT ON
961 dnl Check for -funroll-loops
963 CFLAGS="${CFLAGS} -funroll-loops"
964 CXXFLAGS="${CXXFLAGS} -funroll-loops"
965 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
966 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
967 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
968 ac_cv_c_unroll_loops=yes
970 ac_cv_c_unroll_loops=no
973 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
975 AS_IF([test "$enable_debug" = "no"], [
976 dnl Check for -fomit-frame-pointer
978 CFLAGS="${CFLAGS} -fomit-frame-pointer"
979 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
980 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
981 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
982 [ac_cv_c_omit_frame_pointer], [
983 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
984 ac_cv_c_omit_frame_pointer=yes
986 ac_cv_c_omit_frame_pointer=no
989 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
993 dnl Check for Darwin plugin linking flags
994 AS_IF([test "${SYS}" = "darwin"], [
996 CFLAGS="${CFLAGS} -bundle -undefined error"
997 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
999 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1005 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1006 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1011 dnl Checks for __attribute__(aligned()) directive
1013 CFLAGS="${CFLAGS} -Werror"
1014 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1015 [ac_cv_c_attribute_aligned],
1016 [ac_cv_c_attribute_aligned=0
1017 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1019 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1020 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1023 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1024 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1025 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1028 dnl Check for __attribute__((packed))
1029 AC_CACHE_CHECK([for __attribute__((packed))],
1030 [ac_cv_c_attribute_packed],
1031 [ac_cv_c_attribute_packed=no
1032 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1033 [ac_cv_c_attribute_packed=yes])])
1034 if test "${ac_cv_c_attribute_packed}" != "no"; then
1035 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1041 case "${host_cpu}" in
1050 dnl Check for backtrace() support
1051 AC_CHECK_HEADERS(execinfo.h)
1052 AC_CHECK_FUNCS(backtrace)
1057 ALIASES="${ALIASES} cvlc rvlc"
1060 dnl Accelerated modules
1063 dnl Check for fully working MMX intrinsics
1064 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1065 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1067 [AS_HELP_STRING([--disable-mmx],
1068 [disable MMX optimizations (default auto)])],,[
1069 case "${host_cpu}" in
1080 AS_IF([test "${enable_mmx}" != "no"], [
1083 CFLAGS="${CFLAGS} -mmmx"
1084 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1085 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1086 [#include <mmintrin.h>
1088 uint64_t frobzor;]], [
1090 a = b = c = (__m64)frobzor;
1091 a = _mm_slli_pi16(a, 3);
1092 a = _mm_adds_pi16(a, b);
1093 c = _mm_srli_pi16(c, 8);
1094 c = _mm_slli_pi16(c, 3);
1095 b = _mm_adds_pi16(b, c);
1096 a = _mm_unpacklo_pi8(a, b);
1097 frobzor = (uint64_t)a;]])], [
1098 ac_cv_c_mmx_intrinsics=yes
1100 ac_cv_c_mmx_intrinsics=no
1104 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1105 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1109 CFLAGS="${CFLAGS} -mmmx"
1110 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1111 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1113 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1116 ac_cv_mmx_inline=yes
1121 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1122 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1126 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1127 [ac_cv_mmxext_inline], [
1128 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1130 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1133 ac_cv_mmxext_inline=yes
1135 ac_cv_mmxext_inline=no
1139 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1140 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
1144 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1145 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1147 dnl Check for fully workin SSE2 intrinsics
1148 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1149 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1151 [AS_HELP_STRING([--disable-sse],
1152 [disable SSE (1-4) optimizations (default auto)])],, [
1153 case "${host_cpu}" in
1163 AS_IF([test "${enable_sse}" != "no"], [
1164 ARCH="${ARCH} sse sse2"
1167 CFLAGS="${CFLAGS} -msse2"
1168 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1169 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1170 [#include <emmintrin.h>
1172 uint64_t frobzor;]], [
1174 a = b = c = _mm_set1_epi64((__m64)frobzor);
1175 a = _mm_slli_epi16(a, 3);
1176 a = _mm_adds_epi16(a, b);
1177 c = _mm_srli_epi16(c, 8);
1178 c = _mm_slli_epi16(c, 3);
1179 b = _mm_adds_epi16(b, c);
1180 a = _mm_unpacklo_epi8(a, b);
1181 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1182 ac_cv_c_sse2_intrinsics=yes
1184 ac_cv_c_sse2_intrinsics=no
1188 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1189 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1193 CFLAGS="${CFLAGS} -msse"
1194 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1195 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1197 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1200 ac_cv_sse_inline=yes
1206 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1207 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1210 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1211 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1213 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1216 ac_cv_sse2_inline=yes
1218 ac_cv_sse2_inline=no
1221 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1222 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1227 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1228 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1230 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1233 ac_cv_sse3_inline=yes
1235 ac_cv_sse3_inline=no
1239 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1240 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1242 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1243 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1245 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1248 ac_cv_ssse3_inline=yes
1250 ac_cv_ssse3_inline=no
1254 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1255 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1258 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1259 [ac_cv_sse4_1_inline], [
1260 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1262 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1265 ac_cv_sse4_1_inline=yes
1267 ac_cv_sse4_1_inline=no
1271 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1272 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1275 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1276 [ac_cv_sse4_2_inline], [
1277 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1279 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1282 ac_cv_sse4_2_inline=yes
1284 ac_cv_sse4_2_inline=no
1288 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1289 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1292 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1293 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1295 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1298 ac_cv_sse4a_inline=yes
1300 ac_cv_sse4a_inline=no
1304 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1305 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1307 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1310 CFLAGS="${CFLAGS} -mmmx"
1312 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1313 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1315 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1318 ac_cv_3dnow_inline=yes
1320 ac_cv_3dnow_inline=no
1324 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1325 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1326 [Define to 1 if 3D Now! inline assembly is available.])
1329 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1333 [AS_HELP_STRING([--disable-neon],
1334 [disable NEON optimizations (default auto)])],, [
1335 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1337 AS_IF([test "${enable_neon}" != "no"], [
1339 CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
1340 AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
1343 asm volatile("vqmovun.s64 d0, q1":::"d0");
1346 ac_cv_arm_neon="yes"
1353 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
1356 AC_ARG_ENABLE(altivec,
1357 [AS_HELP_STRING([--disable-altivec],
1358 [disable AltiVec optimizations (default auto)])],, [
1359 AS_IF([test "${host_cpu}" = "powerpc"],
1360 [enable_altivec=yes], [enable_altivec=no])
1363 AS_IF([test "${enable_altivec}" = "yes"], [
1364 ARCH="${ARCH} altivec";
1366 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1367 [ac_cv_altivec_inline],
1368 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1369 ac_cv_altivec_inline="yes",
1370 [CFLAGS="${CFLAGS} -Wa,-m7400"
1371 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1372 [ac_cv_altivec_inline="-Wa,-m7400"],
1373 ac_cv_altivec_inline=no)
1376 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1377 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1378 [Define to 1 if AltiVec inline assembly is available.])
1379 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1380 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1381 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1382 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1387 dnl The AltiVec C extensions
1389 dnl There are several possible cases:
1390 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1391 dnl need <altivec.h>
1392 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1393 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1394 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1395 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1396 dnl - Others: test should fail
1398 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1400 [# OS X/PPC test (gcc 4.x)
1401 CFLAGS="${CFLAGS} -mpim-altivec -force_cpusubtype_ALL"
1402 AC_TRY_COMPILE([vector unsigned char foo;],
1403 [vec_ld(0, (unsigned char *)0);],
1404 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1405 [# OS X/PPC test (gcc 3.x)
1406 CFLAGS="${CFLAGS} -faltivec"
1407 AC_TRY_COMPILE([vector unsigned char foo;],
1408 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1409 [ac_cv_c_altivec="-faltivec"],
1410 dnl Below this are the Linux tests
1411 [# Linux/PPC test (gcc 4.x)
1412 CFLAGS="${CFLAGS} -maltivec"
1413 AC_TRY_COMPILE([#include <altivec.h>],
1414 [vec_ld(0, (unsigned char *)0);],
1415 [ac_cv_c_altivec="-maltivec"],
1416 [# Linux/PPC test (gcc 3.3)
1417 CFLAGS="${CFLAGS} -maltivec -mabi=altivec"
1418 AC_TRY_COMPILE([#include <altivec.h>],
1419 [vec_ld(0, (unsigned char *)0);],
1421 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1422 [# Linux/PPC test (gcc 3.3)
1423 CFLAGS="${CFLAGS} -fvec"
1424 AC_TRY_COMPILE([#include <altivec.h>],
1425 [vec_ld(0, (unsigned char *)0);],
1426 [ac_cv_c_altivec="-fvec"],
1427 [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 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1442 AC_CHECK_HEADERS(altivec.h)
1445 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1446 AC_CACHE_CHECK([if linker needs -framework vecLib],
1448 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1450 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1451 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1454 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1459 AC_ARG_ENABLE(optimize-memory,
1460 [AS_HELP_STRING([--enable-optimize-memory],
1461 [optimize memory usage over performance])])
1462 if test "${enable_optimize_memory}" = "yes"; then
1463 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1467 dnl Allow running as root (useful for people running on embedded platforms)
1469 AC_ARG_ENABLE(run-as-root,
1470 [AS_HELP_STRING([--enable-run-as-root],
1471 [allow running VLC as root (default disabled)])])
1472 AS_IF([test "${enable_run_as_root}" = "yes"],[
1473 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1474 [Define to 1 to allow running VLC as root (uid 0).])
1481 [AS_HELP_STRING([--disable-sout],
1482 [disable streaming output (default enabled)])])
1483 AS_IF([test "${enable_sout}" != "no"], [
1484 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1486 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1490 [AS_HELP_STRING([--disable-lua],
1491 [disable LUA scripting support (default enabled)])])
1492 if test "${enable_lua}" != "no"
1494 PKG_CHECK_MODULES(LUA, lua5.1,
1497 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1498 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1501 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1503 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1506 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1507 [LUA_LIBS="-llua5.1"],
1508 AC_CHECK_LIB( lua51 , luaL_newstate,
1509 [LUA_LIBS="-llua51"],
1510 AC_CHECK_LIB( lua , luaL_newstate,
1518 if test "x${have_lua}" = "xyes" ; then
1519 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1520 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1522 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.])
1524 AC_ARG_VAR([LUAC], [LUA byte compiler])
1525 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1526 AS_IF([test "${LUAC}" = "false"], [
1527 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1529 AS_IF([test -f ${CONTRIB_DIR}/lib/liblua.a -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|cut -d' ' -f2` != 0404], [
1530 AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.])
1533 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1539 AC_ARG_ENABLE(httpd,
1540 [AS_HELP_STRING([--disable-httpd],
1541 [disable the built-in HTTP server (default enabled)])])
1542 if test "${enable_httpd}" != "no"
1544 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1546 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1550 dnl VideoLAN manager
1553 [AS_HELP_STRING([--disable-vlm],
1554 [disable the stream manager (default enabled)])],,
1555 [enable_vlm="${enable_sout}"])
1556 AS_IF([test "${enable_vlm}" != "no"], [
1557 AS_IF([test "${enable_sout}" = "no"], [
1558 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1560 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1562 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1569 EXTEND_HELP_STRING([Input plugins:])
1572 dnl libproxy support
1574 AC_ARG_ENABLE(libproxy,
1575 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1576 AS_IF([test "${enable_libproxy}" != "no"], [
1577 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1578 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1579 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1580 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1582 AS_IF([test -n "${enable_libproxy}"], [
1583 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1591 AC_ARG_ENABLE(live555,
1592 [AS_HELP_STRING([--enable-live555],
1593 [enable RTSP input through live555 (default enabled)])])
1595 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1599 dnl detect include paths
1600 AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [
1601 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1603 AS_IF([test ${SYS} != "os2"], [
1604 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
1605 CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
1607 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
1608 CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
1609 LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
1614 AS_IF([test "${SYS}" = "solaris"], [
1615 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1617 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1618 LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
1621 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1622 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1623 [#include <liveMedia_version.hh>
1624 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
1634 AS_IF([test "$ac_cv_live555" = "no"], [
1635 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1636 Version 2011.12.23 or later is required to proceed.
1637 You can get an updated one from http://www.live555.com/liveMedia .])
1638 AS_IF([test -n "${enable_live555}"], [
1639 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1642 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1643 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1644 AS_IF([test "${SYS}" = "mingw32"], [
1645 # add ws2_32 for closesocket, select, recv
1646 other_libs="$other_libs -lws2_32"
1649 dnl We need to check for pic because live555 don't provide shared libs
1650 dnl and we want to build a plugins so we need -fPIC on some arch.
1651 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1652 VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
1653 AC_CHECK_LIB(liveMedia_pic, main, [
1654 VLC_ADD_PLUGIN([live555])
1655 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1657 AC_CHECK_LIB(liveMedia, main, [
1658 VLC_ADD_PLUGIN([live555])
1659 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1660 ],[],[${other_libs}])],[${other_libs_pic}])
1667 dnl IIDC and DV FireWire input modules
1669 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1670 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1673 dnl - linsys modules: access module check for libzvbi
1675 AC_ARG_ENABLE(linsys,
1676 [AS_HELP_STRING([--enable-linsys],
1677 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1678 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1679 VLC_ADD_PLUGIN([linsys_hdsdi])
1680 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1681 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1682 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1683 VLC_ADD_PLUGIN([linsys_sdi]) ],
1684 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1689 dnl dvdread module: check for libdvdread
1691 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1694 dnl libdvdnav plugin
1696 AC_ARG_ENABLE(dvdnav,
1697 [AS_HELP_STRING([--disable-dvdnav],
1698 [disable DVD navigation with libdvdnav (default auto)])])
1699 if test "${enable_dvdnav}" != "no"
1701 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1702 VLC_ADD_PLUGIN([dvdnav])
1703 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1704 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1705 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1706 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1707 [], [${LIBS_dvdnav}])
1708 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1709 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1710 [], [${LIBS_dvdnav}])],
1711 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1715 dnl Blu-ray Disc Support with libbluray
1717 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) )
1720 dnl OpenCV wrapper and example filters
1722 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
1726 dnl libsmbclient plugin
1729 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1730 if test "${enable_smb}" != "no"; then
1731 AC_CHECK_HEADERS(libsmbclient.h,
1732 [ VLC_ADD_PLUGIN([access_smb])
1733 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1734 [ if test -n "${enable_smb}"; then
1735 AC_MSG_ERROR([cannot find libsmbclient headers])
1741 dnl sftp access support
1743 PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
1748 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1749 [disable Video4Linux version 2 (default auto)])])
1751 AS_IF([test "$enable_v4l2" != "no"], [
1752 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1756 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1759 dnl special access module for Blackmagic SDI cards
1761 AC_ARG_ENABLE(decklink,
1762 [AS_HELP_STRING([--disable-decklink],
1763 [disable Blackmagic DeckLink SDI input (default auto)])])
1764 AC_ARG_WITH(decklink_sdk,
1765 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1766 [ location of Blackmagic DeckLink SDI SDK])])
1768 if test "${enable_decklink}" != "no"
1770 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1772 VLC_ADD_CXXFLAGS([decklink decklinkoutput],[-I${with_decklink_sdk}/include])
1775 CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_decklink}"
1777 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1780 AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)
1785 AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ])
1789 dnl gnomeVFS access module
1791 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1796 PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no])
1799 dnl Built-in CD-DA and VCD module
1802 [AS_HELP_STRING([--disable-vcd],
1803 [disable built-in VCD and CD-DA support (default enabled)])])
1805 AC_ARG_ENABLE(libcddb,
1806 [AS_HELP_STRING([--disable-libcddb],
1807 [disable CDDB for Audio CD (default enabled)])])
1809 if test "${enable_vcd}" != "no"
1811 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1812 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1814 VLC_ADD_PLUGIN([vcd cdda])
1819 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1820 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1822 VLC_ADD_PLUGIN([vcd cdda])
1823 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1828 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1829 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1831 VLC_ADD_PLUGIN([vcd cdda])
1832 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1837 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1839 VLC_ADD_PLUGIN([vcd cdda])
1842 if test "${SYS}" = "darwin"
1844 VLC_ADD_PLUGIN([vcd cdda])
1845 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1846 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1849 if test "$enable_libcddb" != "no"; then
1850 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1852 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1853 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1854 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1856 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1864 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1865 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1866 [#include <linux/dvb/version.h>
1867 #if (DVB_API_VERSION < 5)
1868 # error Linux DVB API v3.2 and older are not supported.
1870 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1871 # error Linux DVB API v5.0 is unsupported. Please update.
1874 ac_cv_linux_dvb_5_1=yes
1876 ac_cv_linux_dvb_5_1=no
1878 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1881 dnl Screen capture module
1883 AC_ARG_ENABLE(screen,
1884 [AS_HELP_STRING([--enable-screen],
1885 [disable screen capture (default enabled)])])
1886 if test "${enable_screen}" != "no"; then
1887 if test "${SYS}" = "darwin"; then
1888 AC_CHECK_HEADERS(OpenGL/gl.h, [
1889 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1890 VLC_ADD_PLUGIN([screen])
1897 dnl Real RTSP plugin
1899 AC_ARG_ENABLE(realrtsp,
1900 [ --enable-realrtsp Real RTSP module (default disabled)])
1901 if test "${enable_realrtsp}" = "yes"; then
1902 VLC_ADD_PLUGIN([realrtsp])
1907 AC_ARG_ENABLE(macosx-eyetv,
1908 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1909 if test "x${enable_macosx_eyetv}" != "xno" &&
1910 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1912 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1913 VLC_ADD_PLUGIN([access_eyetv])
1918 AC_ARG_ENABLE(macosx-qtkit,
1919 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1920 if test "x${enable_macosx_qtkit}" != "xno" &&
1921 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1923 VLC_ADD_PLUGIN([qtcapture])
1924 VLC_ADD_PLUGIN([qtsound])
1926 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1933 EXTEND_HELP_STRING([Mux/Demux plugins:])
1936 dnl libdvbpsi check for ts mux/demux
1939 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1940 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1944 dnl GME demux plugin
1947 [AS_HELP_STRING([--enable-gme],
1948 [use Game Music Emu (default auto)])])
1949 AS_IF([test "${enable_gme}" != "no"], [
1950 AC_CHECK_HEADER([gme/gme.h], [
1951 VLC_ADD_LIBS([gme], [-lgme])
1952 VLC_ADD_PLUGIN([gme])
1954 AS_IF([test "x${enable_gme}" != "x"], [
1955 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1965 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1966 AS_IF([test "${enable_sid}" != "no"], [
1967 PKG_CHECK_MODULES(SID, [libsidplay2], [
1969 oldCPPFLAGS="$CPPFLAGS"
1970 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1971 AC_CHECK_HEADER([sidplay/builders/resid.h], [
1972 VLC_ADD_PLUGIN([sid])
1973 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
1974 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
1976 AS_IF([test -n "${enable_sid}"],
1977 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1978 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1981 CPPFLAGS="$oldCPPFLAGS"
1984 AS_IF([test "x${enable_sid}" = "xyes"],
1985 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1986 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1993 dnl ogg demux plugin
1995 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
1996 if test "${enable_sout}" != "no"; then
1997 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
1998 dnl Check for libshout
1999 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2003 dnl matroska demux plugin
2006 [AS_HELP_STRING([--disable-mkv],
2007 [do not use libmatroska (default auto)])])
2008 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2010 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2011 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2013 [#include <ebml/EbmlVersion.h>
2014 #ifdef LIBEBML_VERSION
2015 #if LIBEBML_VERSION >= 0x010000
2019 [AC_MSG_RESULT([yes])
2020 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2021 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2023 [#include <matroska/KaxVersion.h>
2024 #ifdef LIBMATROSKA_VERSION
2025 #if LIBMATROSKA_VERSION >= 0x010000
2029 [AC_MSG_RESULT([yes])
2030 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2031 VLC_ADD_CXXFLAGS([mkv],[])
2032 AC_CHECK_LIB(ebml_pic, main, [
2033 VLC_ADD_PLUGIN([mkv])
2034 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2036 AC_CHECK_LIB(ebml, main, [
2037 VLC_ADD_PLUGIN([mkv])
2038 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2043 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.])
2047 [AC_MSG_RESULT([no])
2048 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.])
2055 dnl modplug demux plugin
2058 [AS_HELP_STRING([--disable-mod],
2059 [do not use libmodplug (default auto)])])
2060 if test "${enable_mod}" != "no" ; then
2061 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2062 VLC_ADD_PLUGIN([mod])
2063 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2064 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2066 AS_IF([test -n "${enable_mod}"],
2067 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2068 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2073 dnl mpc demux plugin
2076 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2077 if test "${enable_mpc}" != "no"
2079 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2080 VLC_ADD_PLUGIN([mpc])
2081 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2082 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2083 VLC_ADD_PLUGIN([mpc])
2084 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2091 EXTEND_HELP_STRING([Codec plugins:])
2096 AC_ARG_ENABLE(wma-fixed,
2097 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2098 if test "${enable_wma_fixed}" = "yes"
2100 VLC_ADD_PLUGIN([wma_fixed])
2104 dnl shine fixed point mp3 encoder
2106 AC_ARG_ENABLE(shine,
2107 [ --enable-shine shine mp3 encoding module (default disabled)])
2108 if test "${enable_shine}" = "yes"
2110 VLC_ADD_PLUGIN([shine])
2114 dnl openmax il codec plugin
2116 AC_ARG_ENABLE(omxil,
2117 [ --enable-omxil openmax il codec module (default disabled)])
2118 if test "${enable_omxil}" = "yes"
2120 VLC_ADD_PLUGIN([omxil])
2124 dnl CrystalHD codec plugin
2126 AC_ARG_ENABLE(crystalhd,
2127 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2128 if test "${enable_crystalhd}" != "no"; then
2129 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2130 VLC_ADD_PLUGIN([crystalhd])
2131 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2133 if test "${SYS}" = "mingw32" ; then
2134 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2135 VLC_ADD_PLUGIN([crystalhd])
2136 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2137 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2140 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2141 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2142 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2143 ],[#define __LINUX_USER__
2144 #include <libcrystalhd/bc_dts_types.h>
2148 #include <libcrystalhd/bc_dts_types.h>
2156 [ --enable-mad libmad module (default enabled)])
2157 if test "${enable_mad}" != "no"
2160 [ --with-mad=PATH path to libmad],[],[])
2161 if test "${with_mad}" != "no" -a -n "${with_mad}"
2163 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2164 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2167 AC_ARG_WITH(mad-tree,
2168 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2169 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2171 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2172 if test -z "${real_mad_tree}"
2174 dnl The given directory can't be found
2176 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2178 dnl Use a custom libmad
2179 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2180 if test -f ${real_mad_tree}/mad.h
2183 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2184 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2186 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2187 AC_CHECK_LIB(mad, mad_bit_init, [
2188 VLC_ADD_PLUGIN([mpgatofixed32])
2189 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2190 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2195 AC_MSG_ERROR([the specified tree does not have mad.h])
2199 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2200 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2201 AC_CHECK_HEADERS(mad.h, ,
2202 [ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ])
2203 AC_CHECK_LIB(mad, mad_bit_init, [
2204 VLC_ADD_PLUGIN([mpgatofixed32])
2205 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2206 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2212 AC_ARG_ENABLE(merge-ffmpeg,
2213 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2214 enable_merge_ffmpeg="no"
2216 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2219 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2220 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2221 [ac_cv_ld_bsymbolic],
2222 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2226 dnl avcodec decoder/encoder plugin
2228 AC_ARG_ENABLE(avcodec,
2229 [ --enable-avcodec libavcodec codec (default enabled)])
2230 AS_IF([test "${enable_avcodec}" != "no"], [
2231 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
2232 PKG_CHECK_EXISTS([libavcodec < 55],, [
2233 AC_MSG_ERROR([libavcodec versions 55 and later are not supported yet.])
2236 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2237 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2238 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2239 AC_CHECK_HEADERS(libavutil/avutil.h)
2240 VLC_ADD_PLUGIN([avcodec])
2241 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2242 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2243 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2245 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2249 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2256 dnl libva needs avcodec
2258 AC_ARG_ENABLE(libva,
2259 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2261 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2262 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2264 have_avcodec_vaapi="no"
2265 AS_IF([test "${enable_libva}" != "no"], [
2266 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2268 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2269 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2270 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2271 AC_MSG_NOTICE([VAAPI acceleration activated])
2272 have_avcodec_vaapi="yes"
2274 AS_IF([test -n "${enable_libva}"], [
2275 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2277 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2282 AS_IF([test -n "${enable_libva}"], [
2283 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2285 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2289 AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
2292 dnl dxva2 needs avcodec
2294 AC_ARG_ENABLE(dxva2,
2295 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2297 have_avcodec_dxva2="no"
2298 AS_IF([test "${enable_dxva2}" != "no"], [
2299 if test "${SYS}" = "mingw32"; then
2300 AS_IF([test "x${have_avcodec}" = "xyes"], [
2301 AC_CHECK_HEADERS(dxva2api.h,
2303 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2304 AC_MSG_NOTICE([DxVA2 acceleration activated])
2305 have_avcodec_dxva2="yes"
2307 AS_IF([test "${enable_dxva2}" = "yes"],
2308 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2309 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2310 ], [#undef _WIN32_WINNT
2311 /* DXVA2 is only available in Vista and above */
2312 #define _WIN32_WINNT 0x600])
2314 AS_IF([test "${enable_dxva2}" = "yes"],
2315 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2316 [AC_MSG_WARN([dxva2api.h not found])])
2319 AS_IF([test "x${enable_dxva2}" != "x"], [
2320 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2325 AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
2328 dnl vda needs avcodec
2331 [ --enable-vda VDA support (default auto)])
2333 have_avcodec_vda="no"
2334 AS_IF([test "${enable_vda}" != "no"], [
2335 if test "${SYS}" = "darwin"; then
2336 AS_IF([test "x${have_avcodec}" = "xyes"], [
2337 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2339 AC_CHECK_HEADERS(libavcodec/vda.h, [
2340 have_avcodec_vda="yes"
2342 AS_IF([test "${enable_vda}" = "yes"],
2343 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2344 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2347 AS_IF([test "${enable_vda}" = "yes"],
2348 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2349 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2352 AS_IF([test "x${enable_vda}" != "x"], [
2353 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2358 AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"])
2361 dnl stream_out switcher needs libavcodec
2363 AC_ARG_ENABLE(switcher,
2364 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2365 AS_IF([test "${enable_switcher}" = "yes"], [
2366 AS_IF([test "x${have_avcodec}" = "xyes"], [
2367 VLC_ADD_PLUGIN([stream_out_switcher])
2368 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2369 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2370 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2376 dnl avformat demuxer/muxer plugin
2379 AC_ARG_ENABLE(avformat,
2380 [ --enable-avformat libavformat containers (default enabled)],, [
2381 enable_avformat="${have_avcodec}"
2383 if test "${enable_avformat}" != "no"
2385 PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil],
2388 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2389 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2390 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2391 AC_CHECK_HEADERS(libavutil/avutil.h)
2392 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2393 VLC_ADD_PLUGIN([avformat access_avio])
2394 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2395 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2396 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2397 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2400 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2401 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2405 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2410 dnl swscale image scaling and conversion plugin
2413 AC_ARG_ENABLE(swscale,
2414 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2415 (default enabled)]))
2416 if test "${enable_swscale}" != "no"
2418 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2421 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2422 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2423 AC_CHECK_HEADERS(libswscale/swscale.h)
2424 VLC_ADD_PLUGIN([swscale])
2425 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2426 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2427 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2428 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2432 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2440 AC_ARG_ENABLE(postproc,
2441 [ --enable-postproc libpostproc image post-processing (default auto)])
2442 if test "${enable_postproc}" != "no"
2444 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2447 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2448 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2449 AC_CHECK_HEADERS(postproc/postprocess.h)
2450 VLC_ADD_PLUGIN([postproc])
2451 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2452 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2455 AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
2460 dnl faad decoder plugin
2463 [ --enable-faad faad codec (default auto)])
2464 if test "${enable_faad}" != "no"; then
2465 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2466 if test -n "${with_faad_tree}"; then
2467 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2468 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2469 if test -z "${real_faad_tree}"; then
2470 dnl The given directory can't be found
2472 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2474 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2475 dnl Use the custom faad
2476 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2477 VLC_ADD_PLUGIN([faad])
2478 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2479 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2481 dnl The given libfaad wasn't built
2483 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2487 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2488 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2489 AC_CHECK_HEADERS(faad.h,
2490 [ AC_CHECK_LIB(faad, faacDecOpen, [
2491 VLC_ADD_PLUGIN([faad])
2492 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2493 AC_CHECK_LIB(faad, NeAACDecOpen, [
2494 VLC_ADD_PLUGIN([faad])
2495 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2496 AS_IF([test "${enable_faad}" = "yes"],
2497 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2498 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2499 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2500 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2501 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2507 dnl twolame encoder plugin
2509 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2512 dnl fdk-aac encoder plugin
2514 PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
2517 dnl QuickTime plugin
2519 AC_ARG_ENABLE(quicktime,
2520 [ --enable-quicktime QuickTime module (deprecated)])
2521 if test "${enable_quicktime}" = "yes"; then
2522 if test "${SYS}" = "mingw32"; then
2523 VLC_ADD_PLUGIN([quicktime])
2525 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2526 [ VLC_ADD_PLUGIN([quicktime])
2527 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2528 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2533 dnl A52/AC3 decoder plugin
2536 [ --enable-a52 A/52 support with liba52 (default enabled)])
2537 if test "${enable_a52}" != "no"
2540 [ --with-a52=PATH a52 headers and libraries])
2541 AC_ARG_WITH(a52-tree,
2542 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2543 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2545 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2546 if test -z "${real_a52_tree}"
2548 dnl The given directory can't be found
2550 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2552 dnl Use a custom a52dec
2553 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2554 if test -f ${real_a52_tree}/include/a52.h
2557 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2558 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2560 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2561 AC_CHECK_LIB(a52, a52_free, [
2562 VLC_ADD_PLUGIN([a52tofloat32])
2563 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2564 VLC_ADD_LIBS([a52tofloat32],[-la52])
2566 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2568 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2570 AC_MSG_ERROR([the specified tree has not been compiled])
2575 AC_MSG_ERROR([the specified tree does not have a52.h])
2578 if test -z "${with_a52}"
2583 LDFLAGS_test="-L${with_a52}/lib"
2584 CPPFLAGS_test="-I${with_a52}/include"
2587 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2588 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2589 AC_CHECK_HEADERS(a52dec/a52.h, [
2590 AC_CHECK_LIB(a52, a52_free, [
2591 VLC_ADD_PLUGIN([a52tofloat32])
2592 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2593 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2595 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.])
2598 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.])
2605 dnl DTS Coherent Acoustics decoder plugin
2607 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2612 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2617 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2622 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2627 AC_ARG_ENABLE(tremor,
2628 [ --enable-tremor Tremor decoder support (default disabled)])
2629 if test "${enable_tremor}" = "yes"
2631 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2632 VLC_ADD_PLUGIN([tremor])
2633 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2640 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2642 AS_IF([test "${enable_speex}" != "no"], [
2643 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2646 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2649 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2654 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
2657 dnl theora decoder plugin
2659 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2662 dnl dirac encoder plugin
2664 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2667 dnl schroedinger decoder plugin (for dirac format video)
2669 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2672 dnl PNG decoder module
2675 [ --enable-png PNG support (default enabled)])
2676 AS_IF([test "${enable_png}" != "no"], [
2677 AC_CHECK_HEADERS(png.h, [
2679 LDFLAGS="${LDFLAGS} -lz $LIBM"
2680 AC_CHECK_LIB(png, png_set_rows, [
2681 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2682 VLC_ADD_PLUGIN([png])
2689 dnl H264 encoder plugin (10-bit lib264)
2691 AC_ARG_ENABLE(x26410b,
2692 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2693 if test "${enable_x26410b}" != "no"; then
2694 AC_ARG_WITH(x26410b-tree,
2695 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2696 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2698 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2699 if test -z "${real_x26410b_tree}"
2702 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2704 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2705 if test -f ${with_x26410b_tree}/x264_config.h
2708 AC_MSG_CHECKING(for 10-bit build of x264)
2709 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2711 VLC_ADD_PLUGIN([x26410b])
2712 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2713 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2716 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2720 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2723 PKG_CHECK_MODULES(X26410B, x26410b, [
2724 VLC_ADD_PLUGIN([x26410b])
2725 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2726 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2727 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2729 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2730 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2731 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2734 if test "${enable_x26410b}" = "yes"; then
2735 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2743 dnl H264 encoder plugin (using libx264)
2746 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2747 if test "${enable_x264}" != "no"; then
2748 AC_ARG_WITH(x264-tree,
2749 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2750 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2752 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2753 if test -z "${real_x264_tree}"
2755 dnl The given directory can't be found
2757 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2759 dnl Use a custom libx264
2760 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2761 if test -f ${real_x264_tree}/x264.h
2764 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2765 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2766 PKG_CHECK_MODULES(X264,x264, [
2767 VLC_ADD_PLUGIN([x264])
2768 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2769 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2770 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2771 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2774 AC_MSG_ERROR([the specified tree has not been compiled])
2778 AC_MSG_ERROR([the specified tree does not have x264.h])
2781 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2782 VLC_ADD_PLUGIN([x264])
2783 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2785 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2786 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2789 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2790 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2791 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2794 if test "${enable_x264}" = "yes"; then
2795 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2802 dnl libfluidsynth (MIDI synthetizer) plugin
2804 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2807 dnl Teletext Modules
2808 dnl vbi decoder plugin (using libzbvi)
2813 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2814 libzvbi (default enabled)]))
2816 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2817 zvbi) (default enabled if zvbi is absent)]))
2819 AS_IF( [test "${enable_zvbi}" != "no"],[
2820 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2822 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2823 if test "${SYS}" = "mingw32"; then
2824 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2826 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2827 VLC_ADD_PLUGIN([zvbi])
2828 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2829 AS_IF( [test "${enable_telx}" = "yes"],[
2830 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2833 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2836 AS_IF( [test "${enable_telx}" != "no" ],[
2837 VLC_ADD_PLUGIN([telx])
2841 dnl libass subtitle rendering module
2843 AC_ARG_ENABLE(libass,
2844 [ --enable-libass Subtitle support using libass (default enabled)])
2845 AS_IF( [test "${enable_libass}" != "no"], [
2846 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2848 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2849 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2850 VLC_ADD_PLUGIN([libass])
2852 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2853 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2854 VLC_ADD_LIBS([libass],[-lfontconfig])
2857 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2862 dnl kate decoder plugin
2864 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2867 dnl tiger rendering for kate decoder plugin
2869 AC_ARG_ENABLE(tiger,
2870 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2871 AS_IF([test "${enable_tiger}" != "no"], [
2872 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2873 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2874 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2875 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2876 AS_IF([test -n "${enable_tiger}"], [
2877 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2887 EXTEND_HELP_STRING([Video plugins:])
2892 PKG_CHECK_MODULES([GL], [gl], [
2895 AC_CHECK_HEADER([GL/gl.h], [
2904 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2905 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2906 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2907 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2910 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2913 AS_IF([test "$enable_egl" != "no"], [
2914 PKG_CHECK_MODULES([EGL], [egl], [
2915 VLC_ADD_PLUGIN([gl])
2916 VLC_ADD_PLUGIN([egl])
2925 AC_CHECK_HEADERS(X11/Xlib.h)
2928 dnl X C Bindings modules
2931 [ --enable-xcb X11 support with XCB (default enabled)],, [
2932 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2938 AC_ARG_ENABLE(xvideo,
2939 [ --enable-xvideo XVideo support (default enabled)],, [
2940 enable_xvideo="$enable_xcb"
2943 [ --enable-glx OpenGL support through GLX (default enabled)],, [
2944 enable_glx="$enable_xcb"
2948 AS_IF([test "${enable_xcb}" != "no"], [
2950 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
2952 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
2953 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
2955 AS_IF([test "${enable_xvideo}" != "no"], [
2956 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
2957 VLC_ADD_PLUGIN([xcb_xv])
2961 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
2962 VLC_ADD_PLUGIN([panoramix])
2963 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
2964 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
2966 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
2969 PKG_CHECK_MODULES(XPROTO, [xproto], [
2970 VLC_ADD_PLUGIN([xwd])
2973 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
2974 VLC_ADD_PLUGIN([globalhotkeys])
2975 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
2977 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
2980 AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.])
2983 AS_IF([test "${enable_glx}" != "no"], [
2984 AS_IF([test "${have_gl}" != "yes"], [
2985 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
2987 VLC_ADD_PLUGIN([xcb_glx])
2988 VLC_ADD_PLUGIN([glx])
2989 VLC_ADD_PLUGIN([gl])
2992 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
2996 dnl VDPAU needs X11 and avcodec
2998 AC_ARG_ENABLE(vdpau,
2999 [AS_HELP_STRING([--enable-vdpau],
3000 [VDPAU hardware decoder support (default auto)])])
3002 AS_IF([test "${enable_vdpau}" != "no"], [
3003 PKG_CHECK_MODULES([VDPAU], [vdpau], [
3005 AS_IF([test "${no_x}" = "yes"], [
3006 AC_MSG_ERROR([VDPAU requires Xlib (X11).])
3008 AC_MSG_NOTICE([VDPAU acceleration activated])
3010 AS_IF([test -n "${enable_vdpau}"], [
3011 AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
3015 dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
3017 have_avcodec_vdpau="no"
3018 AS_IF([test "${have_vdpau}" = "yes"], [
3019 PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [
3020 have_avcodec_vdpau="yes"
3022 AS_IF([test -n "${enable_vdpau}"], [
3023 AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3025 AC_MSG_WARN([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3029 AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"])
3036 [ --enable-sdl SDL support (default enabled)])
3037 AC_ARG_ENABLE(sdl-image,
3038 [ --enable-sdl-image SDL image support (default enabled)])
3039 if test "${enable_sdl}" != "no"
3041 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3042 # SDL on Darwin is heavily patched and can only run SDL_image
3043 if test "${SYS}" != "darwin"; then
3044 VLC_ADD_PLUGIN([vout_sdl])
3046 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3047 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3049 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3050 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3053 AS_IF([ test "${enable_sdl_image}" != "no"],[
3054 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3055 VLC_ADD_PLUGIN([sdl_image])
3056 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3057 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3058 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3062 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3069 AC_ARG_ENABLE(macosx-vout,
3070 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3071 if test "x${enable_macosx_vout}" != "xno" &&
3072 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3074 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3075 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3076 VLC_ADD_PLUGIN([vout_macosx])
3083 AC_ARG_ENABLE(freetype,
3084 [ --enable-freetype freetype support (default auto)])
3085 AC_ARG_ENABLE(fribidi,
3086 [ --enable-fribidi fribidi support (default auto)])
3087 AC_ARG_ENABLE(fontconfig,
3088 [ --enable-fontconfig fontconfig support (default auto)])
3090 if test "${enable_freetype}" != "no"; then
3091 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3093 VLC_ADD_PLUGIN([freetype])
3094 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3095 if test "${SYS}" = "mingw32"; then
3096 VLC_ADD_LIBS([freetype],[-liconv -lz])
3098 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3100 AC_CHECK_HEADERS(Carbon/Carbon.h,
3101 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3103 dnl fontconfig support
3104 if test "${SYS}" != "mingw32"; then
3105 if test "${enable_fontconfig}" != "no"; then
3106 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3107 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3108 VLC_ADD_LIBS([freetype],[-lfontconfig])
3109 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3112 VLC_ADD_LIBS([freetype],[-lgdi32])
3116 if test "${enable_fribidi}" != "no"; then
3117 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3118 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3119 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3120 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3125 AS_IF([test -n "${enable_freetype}"],[
3126 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3133 dnl QuartzText vout module (iOS/Mac OS)
3135 AC_ARG_ENABLE(macosx-quartztext,
3136 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3137 if test "x${enable_macosx_quartztext}" != "xno" &&
3138 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3140 VLC_ADD_PLUGIN([quartztext])
3141 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3147 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3150 dnl android surface module
3152 AC_ARG_ENABLE(android-surface,
3153 [ --enable-android-surface Android Surface video output module (default disabled)])
3154 if test "${enable_android_surface}" = "yes"; then
3155 if test "${HAVE_ANDROID}" = "1"; then
3156 VLC_ADD_PLUGIN([android_surface])
3157 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3165 AC_ARG_ENABLE(ios-vout,
3166 [ --enable-ios-vout iOS video output module (default disabled)])
3167 if test "${enable_ios_vout}" = "yes"
3169 VLC_ADD_PLUGIN([vout_ios])
3170 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3174 dnl Windows DirectX module
3177 if test "${SYS}" = "mingw32"
3179 VLC_ADD_PLUGIN([panoramix])
3182 AC_ARG_ENABLE(directx,
3183 [AS_HELP_STRING([--enable-directx],
3184 [Microsoft DirectX support (default enabled on Windows)])],, [
3185 AS_IF([test "${SYS}" = "mingw32"], [
3186 enable_directx="yes"
3192 AS_IF([test "${enable_directx}" != "no"], [
3194 AC_CHECK_HEADERS(ddraw.h, [
3197 AC_MSG_ERROR([Cannot find DirectX headers!])
3201 AC_CHECK_HEADERS(GL/wglew.h, [
3202 VLC_ADD_PLUGIN([glwin32])
3204 #include <windows.h>
3209 AC_CHECK_HEADERS(d3d9.h, [
3210 VLC_ADD_PLUGIN([direct3d])
3214 AC_CHECK_HEADERS(d2d1.h, [
3215 VLC_ADD_PLUGIN([direct2d])
3218 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3221 dnl Linux framebuffer module
3223 AC_CHECK_HEADER([linux/fb.h], [
3224 VLC_ADD_PLUGIN([fb])
3230 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3231 dnl TODO: support for static linking
3233 AC_ARG_ENABLE(directfb,
3234 [ --enable-directfb DirectFB support (default disabled)])
3235 AC_ARG_WITH(directfb,
3236 [ --with-directfb=PATH path to DirectFB headers and libraries])
3238 if test "${enable_directfb}" = "yes"; then
3239 have_directfb="false"
3240 CPPFLAGS_mydirectfb=
3242 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3243 dnl Trying the given location
3246 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3247 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3249 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3250 LIBS="${LIBS} ${LIBS_new}"
3252 dnl FIXME: too obscure
3253 AC_CHECK_HEADER([directfb.h], [
3254 AC_CHECK_LIB([direct],[direct_initialize], [
3255 AC_CHECK_LIB([fusion], [fusion_enter], [
3256 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3257 ], have_directfb="false")
3258 ], have_directfb="false")
3259 ], have_directfb="false")
3263 if test "${have_directfb}" = "true"; then
3264 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3265 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3268 dnl Look for directfb-config
3269 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3270 if test "${DIRECTFB_CONFIG}" != "no"; then
3271 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3272 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3273 have_directfb="true"
3275 dnl Trying with pkg-config
3276 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3277 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3278 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3279 have_directfb="true"
3280 ], [have_directfb="false"])
3283 if test "${have_directfb}" = "true"; then
3284 VLC_ADD_PLUGIN([directfb])
3285 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3286 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3288 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3296 [ --enable-aa aalib output (default disabled)])
3297 if test "${enable_aa}" = "yes"
3299 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3300 if test "${have_aa}" = "true"
3302 VLC_ADD_PLUGIN([aa])
3303 VLC_ADD_LIBS([aa],[-laa])
3304 if test "${SYS}" != "mingw32"; then
3305 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3313 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3319 [AS_HELP_STRING([--enable-kva],
3320 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3321 AS_IF([test "$SYS" = "os2"], [
3327 AS_IF([test "$enable_kva" != "no"], [
3328 AC_CHECK_HEADERS([kva.h], [
3330 AC_CHECK_LIB(kva, main, [
3336 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3342 EXTEND_HELP_STRING([Audio plugins:])
3345 dnl Pulseaudio module
3347 AC_ARG_ENABLE(pulse,
3348 [AS_HELP_STRING([--enable-pulse],
3349 [use the PulseAudio client library (default auto)])])
3351 AS_IF([test "${enable_pulse}" != "no"], [
3352 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3355 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3356 AS_IF([test "${no_x}" != "yes"], [
3358 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3360 AS_IF([test "${enable_pulse}" = "yes"], [
3361 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3362 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3366 AS_IF([test "x${enable_pulse}" != "x"], [
3367 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3372 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3378 [AS_HELP_STRING([--enable-alsa],
3379 [support the Advanced Linux Sound Architecture (default auto)])],, [
3380 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3385 AS_IF([test "${enable_alsa}" != "no"], [
3386 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
3389 AS_IF([test "x${enable_alsa}" != "x"], [
3390 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.])
3394 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3397 dnl Open Sound System module
3400 [AS_HELP_STRING([--enable-oss],
3401 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3402 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3408 AS_IF([test "$enable_oss" != "no"], [
3409 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3411 AC_CHECK_LIB(ossaudio, main, [
3412 OSS_LIBS="-lossaudio"
3417 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3420 dnl OpenBSD sndio module
3422 AC_ARG_ENABLE([sndio],
3423 [AS_HELP_STRING([--disable-sndio],
3424 [support the OpenBSD sndio (default auto)])],, [
3425 AS_IF([test "$SYS" = "opensd"], [
3430 AS_IF([test "$enable_sndio" != "no"], [
3431 AC_CHECK_HEADER([sndio.h], [
3435 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3438 dnl Windows Audio Session plugin
3440 AC_ARG_ENABLE([wasapi],
3441 [AS_HELP_STRING([--enable-wasapi],
3442 [use the Windows Audio Session API (default auto)])
3445 AS_IF([test "$enable_wasapi" != "no"], [
3446 AC_CHECK_HEADER([audioclient.h], [
3449 AS_IF([test "x${enable_wasapi}" != "x"], [
3450 AC_MSG_ERROR([Windows Audio Session API not found.])
3454 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3457 dnl win32 waveOut plugin
3459 AC_ARG_ENABLE(waveout,
3460 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3461 if test "${enable_waveout}" != "no"; then
3462 if test "${SYS}" = "mingw32"; then
3463 VLC_ADD_PLUGIN([waveout])
3464 VLC_ADD_LIBS([waveout],[-lwinmm])
3469 dnl CoreAudio plugin
3471 AC_ARG_ENABLE(macosx-audio,
3472 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3473 if test "x${enable_macosx_audio}" != "xno" &&
3474 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3476 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3477 [ VLC_ADD_PLUGIN([auhal])
3478 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox])
3479 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3483 dnl AudioQueue plugin
3485 AC_ARG_ENABLE(audioqueue,
3486 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3487 if test "${enable_audioqueue}" = "yes"
3489 VLC_ADD_PLUGIN([audioqueue])
3490 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3496 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3499 dnl OpenSLES Android
3501 AC_ARG_ENABLE(opensles,
3502 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3503 if test "${HAVE_ANDROID}" = "1"; then
3504 if test "${enable_opensles}" = "yes"; then
3505 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3506 [ VLC_ADD_PLUGIN([opensles_android]) ],
3507 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3512 dnl libsamplerate plugin
3514 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3520 [AS_HELP_STRING([--enable-kai],
3521 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3522 AS_IF([test "$SYS" = "os2"], [
3528 AS_IF([test "$enable_kai" != "no"], [
3529 AC_CHECK_HEADERS([kai.h], [
3531 AC_CHECK_LIB(kai, main, [
3537 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3540 dnl Interface plugins
3543 EXTEND_HELP_STRING([Interface plugins:])
3549 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3550 AS_IF([test "${SYS}" = "darwin"], [
3554 AS_IF([test "${enable_qt}" != "no"], [
3555 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3556 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3557 AS_IF([test -n "${enable_qt}"],[
3558 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3560 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3566 AS_IF([test "${enable_qt}" != "no"], [
3567 VLC_ADD_PLUGIN([qt4])
3568 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3569 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3570 ALIASES="${ALIASES} qvlc"
3575 AC_MSG_CHECKING([whether Qt uses Xlib])
3576 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3577 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3579 #if !defined (Q_WS_X11)
3583 AC_MSG_RESULT([yes])
3584 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3585 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3593 AS_IF([test "${SYS}" = "mingw32"], [
3594 VLC_ADD_LIBS([qt4],[-lole32])
3596 AS_IF([test "${SYS}" = "darwin" ],[
3597 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3600 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3601 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3602 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3603 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3605 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3608 dnl Simple test for skins2 dependency
3610 AS_IF([test "$enable_qt" = "no"], [
3611 AS_IF([test "${enable_skins2}" = "yes"], [
3612 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.])
3615 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3622 AC_ARG_ENABLE(skins2,
3623 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3624 AS_IF([test "${enable_skins2}" != "no"], [
3625 have_skins_deps="yes"
3628 AS_IF([test "${SYS}" = "mingw32"], [
3629 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3630 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3632 ], [test "${SYS}" = "darwin"], [
3633 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3634 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3637 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3638 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3639 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3640 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3641 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3645 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3647 dnl we need freetype
3648 AS_IF([test "${have_freetype}" != "yes"], [
3649 have_skins_deps="no"
3652 AS_IF([test "${have_skins_deps}" = "no"], [
3653 AS_IF([test "x${enable_skins2}" = "x"], [
3654 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3656 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3660 VLC_ADD_PLUGIN([skins2])
3661 ALIASES="${ALIASES} svlc"
3665 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3667 AC_ARG_ENABLE(libtar,
3668 [ --enable-libtar libtar support for skins2 (default auto)])
3669 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3670 AC_CHECK_HEADERS(libtar.h, [
3671 VLC_ADD_LIBS([skins2],[-ltar])
3676 dnl MacOS X gui module
3678 AC_ARG_ENABLE(macosx,
3679 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3680 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3682 VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,CoreServices])
3683 VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] )
3684 VLC_ADD_PLUGIN([macosx])
3686 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
3688 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3690 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3692 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3693 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3695 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3697 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3699 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3700 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3702 AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
3705 dnl Minimal Mac OS X module
3707 AC_ARG_ENABLE(minimal-macosx,
3708 [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)])
3709 if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
3711 VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa])
3712 VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] )
3713 VLC_ADD_PLUGIN([minimal_macosx])
3715 AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"])
3718 dnl MacOS X dialog provider
3720 AC_ARG_ENABLE(macosx-dialog-provider,
3721 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3722 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3723 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3725 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3726 VLC_ADD_PLUGIN([macosx_dialog_provider])
3728 AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"])
3733 AC_ARG_ENABLE(ncurses,
3734 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3735 AS_IF([test "${enable_ncurses}" != "no"] ,[
3736 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3737 VLC_ADD_PLUGIN([ncurses])
3738 VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}])
3739 VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}])
3740 ALIASES="${ALIASES} nvlc"
3742 AS_IF([test -n "${enable_ncurses}"], [
3743 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3752 [ --enable-lirc lirc support (default disabled)])
3753 if test "${enable_lirc}" = "yes"
3755 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3756 if test "${have_lirc}" = "true"
3758 VLC_ADD_PLUGIN([lirc])
3759 VLC_ADD_LIBS([lirc],[-llirc_client])
3763 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3765 dnl goom visualization plugin
3767 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3770 dnl libprojectM visualization plugin
3772 AC_ARG_ENABLE(projectm,
3773 [ --enable-projectm projectM visualization plugin (default enabled)])
3774 AS_IF([test "${enable_projectm}" != "no"],
3776 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3778 VLC_ADD_PLUGIN([projectm])
3779 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3780 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3781 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3782 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3783 [ AC_MSG_WARN( [Using libprojectM version 1] )
3786 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3791 dnl Vovoid VSXu visualization plugin
3794 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3795 AS_IF([test "${enable_vsxu}" != "no"],
3797 PKG_CHECK_MODULES(VSXU, libvsxu,
3799 VLC_ADD_PLUGIN([vsxu])
3800 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3801 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3803 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3808 dnl AtmoLight (homemade Philips Ambilight clone)
3811 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3812 (default enabled)]),, [enable_atmo="yes"])
3813 AS_IF([test "${enable_atmo}" != no], [
3814 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3816 VLC_ADD_PLUGIN([atmo])
3822 EXTEND_HELP_STRING([Service Discovery plugins:])
3824 dnl Bonjour services discovery
3825 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3828 dnl libudev services discovery
3829 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3832 dnl MTP devices services discovery
3833 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3836 dnl UPnP Plugin (Intel SDK)
3838 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3839 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3841 EXTEND_HELP_STRING([Misc options:])
3846 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3852 AC_ARG_ENABLE(libgcrypt,
3853 [ --disable-libgcrypt gcrypt support (default enabled)])
3854 AS_IF([test "${enable_libgcrypt}" != "no"], [
3855 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3856 libgcrypt-config --version >/dev/null || \
3857 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3858 AC_CHECK_LIB(gcrypt, gcry_control, [
3859 have_libgcrypt="yes"
3860 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3861 GCRYPT_LIBS="`libgcrypt-config --libs`"
3863 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3864 ], [`libgcrypt-config --libs`])
3866 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3867 ], [#include <gcrypt.h>]
3871 AC_SUBST(GCRYPT_CFLAGS)
3872 AC_SUBST(GCRYPT_LIBS)
3873 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3878 AC_ARG_ENABLE(gnutls,
3879 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3880 AS_IF([test "${enable_gnutls}" != "no"], [
3881 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3882 VLC_ADD_PLUGIN([gnutls])
3884 AS_IF([test -n "${enable_gnutls}"], [
3885 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3892 dnl Nokia MCE plugin (Maemo screen unblanking)
3894 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
3897 AS_IF([test -f "/etc/maemo_version"], [
3898 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
3905 AC_ARG_ENABLE(taglib,
3906 [AS_HELP_STRING([--disable-taglib],
3907 [do not use TagLib (default enabled)])])
3908 AS_IF([test "${enable_taglib}" != "no"], [
3909 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [
3910 VLC_ADD_PLUGIN([taglib])
3911 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3912 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3914 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3919 dnl update checking system
3921 AC_ARG_ENABLE(update-check,
3922 [ --enable-update-check update checking system (default disabled)])
3923 if test "${enable_update_check}" = "yes"
3925 if test "${have_libgcrypt}" != "yes"
3927 AC_MSG_ERROR([libgcrypt is required for update checking system])
3929 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3930 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3931 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3935 dnl Growl notification plugin
3937 AC_ARG_ENABLE(growl,
3938 [ --enable-growl growl notification plugin (default disabled)],,
3940 AS_IF([test "${enable_growl}" != "no"], [
3941 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3942 VLC_ADD_PLUGIN([growl])
3943 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3944 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3945 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3951 dnl Libnotify notification plugin
3953 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
3958 AC_ARG_ENABLE(media-library,
3959 [ --enable-media-library media library (default disabled)])
3960 AS_IF([test "${enable_media_library}" = "yes"], [
3961 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
3962 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
3963 VLC_ADD_PLUGIN([media_library])
3968 AS_IF([test "${SYS}" != "darwin"], [
3969 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
3971 AS_IF([test "${enable_sqlite}" != "no"], [
3972 AC_CHECK_HEADERS(sqlite3.h, [
3973 VLC_ADD_PLUGIN([sqlite])
3974 VLC_ADD_LIBS([sqlite], [-lsqlite3])
3976 AC_MSG_ERROR([sqlite3 is required for the media library])
3984 dnl Endianness check
3987 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
3988 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
3992 AC_SUBST(DEFS_BIGENDIAN)
3995 dnl Where to install KDE solid .desktop
3997 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
3998 AS_IF([test "x$KDE4_CONFIG" = "x"], [
3999 KDE4_CONFIG="kde4-config"
4002 AC_ARG_WITH(kde-solid,
4003 AS_HELP_STRING([--with-kde-solid=PATH],
4004 [KDE Solid actions directory (auto)]),, [
4006 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
4007 with_kde_solid="yes"
4011 AS_IF([test "${with_kde_solid}" != "no"], [
4012 AS_IF([test "${with_kde_solid}" = "yes"], [
4013 kde4datadir="`${KDE4_CONFIG} --install data`"
4014 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4015 soliddatadir="${kde4datadir}/solid/actions"
4017 soliddatadir="${with_kde_solid}"
4020 AC_SUBST(soliddatadir)
4021 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4024 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4027 AC_ARG_ENABLE(loader,
4028 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4029 (default disabled)]))
4030 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4031 AS_IF([test "${enable_loader}" = "yes"],
4032 [ VLC_ADD_PLUGIN([dmo])
4033 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader])
4034 VLC_ADD_LIBS([dmo quicktime ],[libloader.la])
4035 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4038 AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ])
4040 EXTEND_HELP_STRING([Components:])
4046 [ --enable-vlc build the VLC media player (default enabled)])
4047 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4049 AC_ARG_ENABLE(macosx-vlc-app,
4050 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4051 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4052 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4055 dnl Stuff used by the program
4057 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4058 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4059 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4060 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4061 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4062 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4063 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4064 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4065 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4066 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4067 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4068 AC_SUBST(COPYRIGHT_MESSAGE)
4069 AC_SUBST(VERSION_MESSAGE)
4070 AC_SUBST(VERSION_MAJOR)
4071 AC_SUBST(VERSION_MINOR)
4072 AC_SUBST(VERSION_REVISION)
4073 AC_SUBST(VERSION_EXTRA)
4074 AC_SUBST(COPYRIGHT_YEARS)
4075 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4076 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4077 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4079 dnl Handle substvars that use $(top_srcdir)
4081 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4084 dnl Configuration is finished
4094 AC_SUBST(WINE_SDK_PATH)
4096 AC_SUBST(AM_CPPFLAGS)
4097 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4098 AC_SUBST(FILE_LIBVLCCORE_DLL)
4099 AC_SUBST(FILE_LIBVLC_DLL)
4113 modules/access/Makefile
4114 modules/access/rtp/Makefile
4115 modules/access_output/Makefile
4116 modules/audio_filter/Makefile
4117 modules/audio_mixer/Makefile
4118 modules/audio_output/Makefile
4119 modules/codec/Makefile
4120 modules/control/Makefile
4121 modules/demux/Makefile
4122 modules/gui/Makefile
4123 modules/gui/macosx/Makefile
4124 modules/gui/minimal_macosx/Makefile
4125 modules/gui/macosx_dialog_provider/Makefile
4126 modules/gui/qt4/Makefile
4127 modules/gui/skins2/Makefile
4128 modules/lua/Makefile
4129 modules/meta_engine/Makefile
4130 modules/misc/Makefile
4131 modules/media_library/Makefile
4132 modules/mux/Makefile
4133 modules/notify/Makefile
4134 modules/packetizer/Makefile
4135 modules/services_discovery/Makefile
4136 modules/stream_filter/Makefile
4137 modules/stream_out/Makefile
4138 modules/text_renderer/Makefile
4139 modules/video_chroma/Makefile
4140 modules/video_filter/Makefile
4141 modules/video_output/Makefile
4142 modules/visualization/Makefile
4143 modules/mmx/Makefile
4144 modules/sse2/Makefile
4145 modules/altivec/Makefile
4146 modules/arm_neon/Makefile
4149 AM_COND_IF([HAVE_WIN32], [
4151 extras/package/win32/NSIS/spad.nsi
4152 extras/package/win32/NSIS/vlc.win32.nsi
4153 extras/package/win32/msi/config.wxi
4157 AM_COND_IF([HAVE_DARWIN], [
4159 extras/package/macosx/Info.plist
4160 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4164 dnl Generate makefiles
4167 dnl Do we have to use make or gmake ?
4168 if make --version 2>&1|grep -q GNU
4170 # GNU make, all seems good
4173 # Known GNU make alias (on BSD)
4176 dnl Shortcut to nice compile message
4177 if test -n $SHELL; then
4178 SHELL=${CONFIG_SHELL-/bin/sh}
4184 export PATH=\"$PATH\" LANG=C
4185 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4186 test -f .error\$\$ && ERROR=1
4188 exit \$ERROR" >compile
4192 libvlc configuration
4193 --------------------
4194 version : ${VERSION}
4196 architecture : ${ARCH}
4197 optimizations : ${enable_optimizations}"
4198 if test "${enable_vlc}" != "no"; then
4199 echo "vlc aliases :${ALIASES}"
4201 echo "build vlc executable : no"
4204 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."