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
1728 PKG_ENABLE_MODULES_VLC([SMBCLIENT], [access_smb], [smbclient], (SMB/CIFS support), [auto])
1732 dnl sftp access support
1734 PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
1739 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1740 [disable Video4Linux version 2 (default auto)])])
1742 AS_IF([test "$enable_v4l2" != "no"], [
1743 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1747 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1750 dnl special access module for Blackmagic SDI cards
1752 AC_ARG_ENABLE(decklink,
1753 [AS_HELP_STRING([--disable-decklink],
1754 [disable Blackmagic DeckLink SDI input (default auto)])])
1755 AC_ARG_WITH(decklink_sdk,
1756 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1757 [ location of Blackmagic DeckLink SDI SDK])])
1759 if test "${enable_decklink}" != "no"
1761 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1763 VLC_ADD_CXXFLAGS([decklink decklinkoutput],[-I${with_decklink_sdk}/include])
1766 CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_decklink}"
1768 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1771 AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)
1776 AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ])
1780 dnl gnomeVFS access module
1782 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1787 PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no])
1790 dnl Built-in CD-DA and VCD module
1793 [AS_HELP_STRING([--disable-vcd],
1794 [disable built-in VCD and CD-DA support (default enabled)])])
1796 AC_ARG_ENABLE(libcddb,
1797 [AS_HELP_STRING([--disable-libcddb],
1798 [disable CDDB for Audio CD (default enabled)])])
1800 if test "${enable_vcd}" != "no"
1802 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1803 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1805 VLC_ADD_PLUGIN([vcd cdda])
1810 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1811 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1813 VLC_ADD_PLUGIN([vcd cdda])
1814 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1819 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1820 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1822 VLC_ADD_PLUGIN([vcd cdda])
1823 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1828 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1830 VLC_ADD_PLUGIN([vcd cdda])
1833 if test "${SYS}" = "darwin"
1835 VLC_ADD_PLUGIN([vcd cdda])
1836 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1837 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1840 if test "$enable_libcddb" != "no"; then
1841 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1843 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1844 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1845 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1847 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1855 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1856 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1857 [#include <linux/dvb/version.h>
1858 #if (DVB_API_VERSION < 5)
1859 # error Linux DVB API v3.2 and older are not supported.
1861 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1862 # error Linux DVB API v5.0 is unsupported. Please update.
1865 ac_cv_linux_dvb_5_1=yes
1867 ac_cv_linux_dvb_5_1=no
1869 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1872 dnl Screen capture module
1874 AC_ARG_ENABLE(screen,
1875 [AS_HELP_STRING([--enable-screen],
1876 [disable screen capture (default enabled)])])
1877 if test "${enable_screen}" != "no"; then
1878 if test "${SYS}" = "darwin"; then
1879 AC_CHECK_HEADERS(OpenGL/gl.h, [
1880 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1881 VLC_ADD_PLUGIN([screen])
1888 dnl Real RTSP plugin
1890 AC_ARG_ENABLE(realrtsp,
1891 [ --enable-realrtsp Real RTSP module (default disabled)])
1892 if test "${enable_realrtsp}" = "yes"; then
1893 VLC_ADD_PLUGIN([realrtsp])
1898 AC_ARG_ENABLE(macosx-eyetv,
1899 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1900 if test "x${enable_macosx_eyetv}" != "xno" &&
1901 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1903 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1904 VLC_ADD_PLUGIN([access_eyetv])
1909 AC_ARG_ENABLE(macosx-qtkit,
1910 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1911 if test "x${enable_macosx_qtkit}" != "xno" &&
1912 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1914 VLC_ADD_PLUGIN([qtcapture])
1915 VLC_ADD_PLUGIN([qtsound])
1917 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1924 EXTEND_HELP_STRING([Mux/Demux plugins:])
1927 dnl libdvbpsi check for ts mux/demux
1930 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1931 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1935 dnl GME demux plugin
1938 [AS_HELP_STRING([--enable-gme],
1939 [use Game Music Emu (default auto)])])
1940 AS_IF([test "${enable_gme}" != "no"], [
1941 AC_CHECK_HEADER([gme/gme.h], [
1942 VLC_ADD_LIBS([gme], [-lgme])
1943 VLC_ADD_PLUGIN([gme])
1945 AS_IF([test "x${enable_gme}" != "x"], [
1946 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1956 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1957 AS_IF([test "${enable_sid}" != "no"], [
1958 PKG_CHECK_MODULES(SID, [libsidplay2], [
1960 oldCPPFLAGS="$CPPFLAGS"
1961 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1962 AC_CHECK_HEADER([sidplay/builders/resid.h], [
1963 VLC_ADD_PLUGIN([sid])
1964 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
1965 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
1967 AS_IF([test -n "${enable_sid}"],
1968 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1969 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1972 CPPFLAGS="$oldCPPFLAGS"
1975 AS_IF([test "x${enable_sid}" = "xyes"],
1976 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1977 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1984 dnl ogg demux plugin
1986 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
1987 if test "${enable_sout}" != "no"; then
1988 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
1989 dnl Check for libshout
1990 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
1994 dnl matroska demux plugin
1997 [AS_HELP_STRING([--disable-mkv],
1998 [do not use libmatroska (default auto)])])
1999 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2001 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2002 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2004 [#include <ebml/EbmlVersion.h>
2005 #ifdef LIBEBML_VERSION
2006 #if LIBEBML_VERSION >= 0x010000
2010 [AC_MSG_RESULT([yes])
2011 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2012 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2014 [#include <matroska/KaxVersion.h>
2015 #ifdef LIBMATROSKA_VERSION
2016 #if LIBMATROSKA_VERSION >= 0x010000
2020 [AC_MSG_RESULT([yes])
2021 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2022 VLC_ADD_CXXFLAGS([mkv],[])
2023 AC_CHECK_LIB(ebml_pic, main, [
2024 VLC_ADD_PLUGIN([mkv])
2025 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2027 AC_CHECK_LIB(ebml, main, [
2028 VLC_ADD_PLUGIN([mkv])
2029 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2034 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.])
2038 [AC_MSG_RESULT([no])
2039 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.])
2046 dnl modplug demux plugin
2049 [AS_HELP_STRING([--disable-mod],
2050 [do not use libmodplug (default auto)])])
2051 if test "${enable_mod}" != "no" ; then
2052 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2053 VLC_ADD_PLUGIN([mod])
2054 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2055 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2057 AS_IF([test -n "${enable_mod}"],
2058 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2059 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2064 dnl mpc demux plugin
2067 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2068 if test "${enable_mpc}" != "no"
2070 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2071 VLC_ADD_PLUGIN([mpc])
2072 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2073 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2074 VLC_ADD_PLUGIN([mpc])
2075 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2082 EXTEND_HELP_STRING([Codec plugins:])
2087 AC_ARG_ENABLE(wma-fixed,
2088 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2089 if test "${enable_wma_fixed}" = "yes"
2091 VLC_ADD_PLUGIN([wma_fixed])
2095 dnl shine fixed point mp3 encoder
2097 AC_ARG_ENABLE(shine,
2098 [ --enable-shine shine mp3 encoding module (default disabled)])
2099 if test "${enable_shine}" = "yes"
2101 VLC_ADD_PLUGIN([shine])
2105 dnl openmax il codec plugin
2107 AC_ARG_ENABLE(omxil,
2108 [ --enable-omxil openmax il codec module (default disabled)])
2109 if test "${enable_omxil}" = "yes"
2111 VLC_ADD_PLUGIN([omxil])
2115 dnl CrystalHD codec plugin
2117 AC_ARG_ENABLE(crystalhd,
2118 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2119 if test "${enable_crystalhd}" != "no"; then
2120 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2121 VLC_ADD_PLUGIN([crystalhd])
2122 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2124 if test "${SYS}" = "mingw32" ; then
2125 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2126 VLC_ADD_PLUGIN([crystalhd])
2127 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2128 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2131 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2132 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2133 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2134 ],[#define __LINUX_USER__
2135 #include <libcrystalhd/bc_dts_types.h>
2139 #include <libcrystalhd/bc_dts_types.h>
2147 [ --enable-mad libmad module (default enabled)])
2148 if test "${enable_mad}" != "no"
2151 [ --with-mad=PATH path to libmad],[],[])
2152 if test "${with_mad}" != "no" -a -n "${with_mad}"
2154 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2155 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2158 AC_ARG_WITH(mad-tree,
2159 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2160 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2162 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2163 if test -z "${real_mad_tree}"
2165 dnl The given directory can't be found
2167 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2169 dnl Use a custom libmad
2170 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2171 if test -f ${real_mad_tree}/mad.h
2174 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2175 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2177 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2178 AC_CHECK_LIB(mad, mad_bit_init, [
2179 VLC_ADD_PLUGIN([mpgatofixed32])
2180 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2181 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2186 AC_MSG_ERROR([the specified tree does not have mad.h])
2190 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2191 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2192 AC_CHECK_HEADERS(mad.h, ,
2193 [ 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.]) ])
2194 AC_CHECK_LIB(mad, mad_bit_init, [
2195 VLC_ADD_PLUGIN([mpgatofixed32])
2196 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2197 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2203 AC_ARG_ENABLE(merge-ffmpeg,
2204 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2205 enable_merge_ffmpeg="no"
2207 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2210 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2211 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2212 [ac_cv_ld_bsymbolic],
2213 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2217 dnl avcodec decoder/encoder plugin
2219 AC_ARG_ENABLE(avcodec,
2220 [ --enable-avcodec libavcodec codec (default enabled)])
2221 AS_IF([test "${enable_avcodec}" != "no"], [
2222 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
2223 PKG_CHECK_EXISTS([libavcodec < 55],, [
2224 AC_MSG_ERROR([libavcodec versions 55 and later are not supported yet.])
2227 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2228 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2229 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2230 AC_CHECK_HEADERS(libavutil/avutil.h)
2231 VLC_ADD_PLUGIN([avcodec])
2232 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2233 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2234 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2236 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2240 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2247 dnl libva needs avcodec
2249 AC_ARG_ENABLE(libva,
2250 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2252 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2253 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2255 have_avcodec_vaapi="no"
2256 AS_IF([test "${enable_libva}" != "no"], [
2257 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2259 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2260 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2261 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2262 AC_MSG_NOTICE([VAAPI acceleration activated])
2263 have_avcodec_vaapi="yes"
2265 AS_IF([test -n "${enable_libva}"], [
2266 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2268 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2273 AS_IF([test -n "${enable_libva}"], [
2274 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2276 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2280 AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
2283 dnl dxva2 needs avcodec
2285 AC_ARG_ENABLE(dxva2,
2286 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2288 have_avcodec_dxva2="no"
2289 AS_IF([test "${enable_dxva2}" != "no"], [
2290 if test "${SYS}" = "mingw32"; then
2291 AS_IF([test "x${have_avcodec}" = "xyes"], [
2292 AC_CHECK_HEADERS(dxva2api.h,
2294 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2295 AC_MSG_NOTICE([DxVA2 acceleration activated])
2296 have_avcodec_dxva2="yes"
2298 AS_IF([test "${enable_dxva2}" = "yes"],
2299 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2300 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2301 ], [#undef _WIN32_WINNT
2302 /* DXVA2 is only available in Vista and above */
2303 #define _WIN32_WINNT 0x600])
2305 AS_IF([test "${enable_dxva2}" = "yes"],
2306 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2307 [AC_MSG_WARN([dxva2api.h not found])])
2310 AS_IF([test "x${enable_dxva2}" != "x"], [
2311 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2316 AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
2319 dnl vda needs avcodec
2322 [ --enable-vda VDA support (default auto)])
2324 have_avcodec_vda="no"
2325 AS_IF([test "${enable_vda}" != "no"], [
2326 if test "${SYS}" = "darwin"; then
2327 AS_IF([test "x${have_avcodec}" = "xyes"], [
2328 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2330 AC_CHECK_HEADERS(libavcodec/vda.h, [
2331 have_avcodec_vda="yes"
2333 AS_IF([test "${enable_vda}" = "yes"],
2334 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2335 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2338 AS_IF([test "${enable_vda}" = "yes"],
2339 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2340 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2343 AS_IF([test "x${enable_vda}" != "x"], [
2344 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2349 AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"])
2352 dnl stream_out switcher needs libavcodec
2354 AC_ARG_ENABLE(switcher,
2355 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2356 AS_IF([test "${enable_switcher}" = "yes"], [
2357 AS_IF([test "x${have_avcodec}" = "xyes"], [
2358 VLC_ADD_PLUGIN([stream_out_switcher])
2359 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2360 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2361 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2367 dnl avformat demuxer/muxer plugin
2370 AC_ARG_ENABLE(avformat,
2371 [ --enable-avformat libavformat containers (default enabled)],, [
2372 enable_avformat="${have_avcodec}"
2374 if test "${enable_avformat}" != "no"
2376 PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil],
2379 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2380 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2381 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2382 AC_CHECK_HEADERS(libavutil/avutil.h)
2383 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2384 VLC_ADD_PLUGIN([avformat access_avio])
2385 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2386 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2387 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2388 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2391 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2392 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2396 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2401 dnl swscale image scaling and conversion plugin
2404 AC_ARG_ENABLE(swscale,
2405 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2406 (default enabled)]))
2407 if test "${enable_swscale}" != "no"
2409 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2412 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2413 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2414 AC_CHECK_HEADERS(libswscale/swscale.h)
2415 VLC_ADD_PLUGIN([swscale])
2416 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2417 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2418 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2419 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2423 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2431 AC_ARG_ENABLE(postproc,
2432 [ --enable-postproc libpostproc image post-processing (default auto)])
2433 if test "${enable_postproc}" != "no"
2435 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2438 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2439 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2440 AC_CHECK_HEADERS(postproc/postprocess.h)
2441 VLC_ADD_PLUGIN([postproc])
2442 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2443 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2446 AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
2451 dnl faad decoder plugin
2454 [ --enable-faad faad codec (default auto)])
2455 if test "${enable_faad}" != "no"; then
2456 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2457 if test -n "${with_faad_tree}"; then
2458 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2459 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2460 if test -z "${real_faad_tree}"; then
2461 dnl The given directory can't be found
2463 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2465 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2466 dnl Use the custom faad
2467 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2468 VLC_ADD_PLUGIN([faad])
2469 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2470 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2472 dnl The given libfaad wasn't built
2474 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2478 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2479 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2480 AC_CHECK_HEADERS(faad.h,
2481 [ AC_CHECK_LIB(faad, faacDecOpen, [
2482 VLC_ADD_PLUGIN([faad])
2483 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2484 AC_CHECK_LIB(faad, NeAACDecOpen, [
2485 VLC_ADD_PLUGIN([faad])
2486 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2487 AS_IF([test "${enable_faad}" = "yes"],
2488 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2489 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2490 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2491 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2492 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2498 dnl twolame encoder plugin
2500 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2503 dnl fdk-aac encoder plugin
2505 PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
2508 dnl QuickTime plugin
2510 AC_ARG_ENABLE(quicktime,
2511 [ --enable-quicktime QuickTime module (deprecated)])
2512 if test "${enable_quicktime}" = "yes"; then
2513 if test "${SYS}" = "mingw32"; then
2514 VLC_ADD_PLUGIN([quicktime])
2516 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2517 [ VLC_ADD_PLUGIN([quicktime])
2518 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2519 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2524 dnl A52/AC3 decoder plugin
2527 [ --enable-a52 A/52 support with liba52 (default enabled)])
2528 if test "${enable_a52}" != "no"
2531 [ --with-a52=PATH a52 headers and libraries])
2532 AC_ARG_WITH(a52-tree,
2533 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2534 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2536 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2537 if test -z "${real_a52_tree}"
2539 dnl The given directory can't be found
2541 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2543 dnl Use a custom a52dec
2544 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2545 if test -f ${real_a52_tree}/include/a52.h
2548 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2549 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2551 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2552 AC_CHECK_LIB(a52, a52_free, [
2553 VLC_ADD_PLUGIN([a52tofloat32])
2554 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2555 VLC_ADD_LIBS([a52tofloat32],[-la52])
2557 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2559 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2561 AC_MSG_ERROR([the specified tree has not been compiled])
2566 AC_MSG_ERROR([the specified tree does not have a52.h])
2569 if test -z "${with_a52}"
2574 LDFLAGS_test="-L${with_a52}/lib"
2575 CPPFLAGS_test="-I${with_a52}/include"
2578 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2579 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2580 AC_CHECK_HEADERS(a52dec/a52.h, [
2581 AC_CHECK_LIB(a52, a52_free, [
2582 VLC_ADD_PLUGIN([a52tofloat32])
2583 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2584 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2586 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.])
2589 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.])
2596 dnl DTS Coherent Acoustics decoder plugin
2598 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2603 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2608 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2613 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2618 AC_ARG_ENABLE(tremor,
2619 [ --enable-tremor Tremor decoder support (default disabled)])
2620 if test "${enable_tremor}" = "yes"
2622 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2623 VLC_ADD_PLUGIN([tremor])
2624 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2631 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2633 AS_IF([test "${enable_speex}" != "no"], [
2634 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2637 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2640 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2645 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
2648 dnl theora decoder plugin
2650 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2653 dnl dirac encoder plugin
2655 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2658 dnl schroedinger decoder plugin (for dirac format video)
2660 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2663 dnl PNG decoder module
2666 [ --enable-png PNG support (default enabled)])
2667 AS_IF([test "${enable_png}" != "no"], [
2668 AC_CHECK_HEADERS(png.h, [
2670 LDFLAGS="${LDFLAGS} -lz $LIBM"
2671 AC_CHECK_LIB(png, png_set_rows, [
2672 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2673 VLC_ADD_PLUGIN([png])
2680 dnl H264 encoder plugin (10-bit lib264)
2682 AC_ARG_ENABLE(x26410b,
2683 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2684 if test "${enable_x26410b}" != "no"; then
2685 AC_ARG_WITH(x26410b-tree,
2686 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2687 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2689 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2690 if test -z "${real_x26410b_tree}"
2693 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2695 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2696 if test -f ${with_x26410b_tree}/x264_config.h
2699 AC_MSG_CHECKING(for 10-bit build of x264)
2700 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2702 VLC_ADD_PLUGIN([x26410b])
2703 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2704 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2707 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2711 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2714 PKG_CHECK_MODULES(X26410B, x26410b, [
2715 VLC_ADD_PLUGIN([x26410b])
2716 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2717 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2718 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2720 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2721 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2722 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2725 if test "${enable_x26410b}" = "yes"; then
2726 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2734 dnl H264 encoder plugin (using libx264)
2737 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2738 if test "${enable_x264}" != "no"; then
2739 AC_ARG_WITH(x264-tree,
2740 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2741 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2743 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2744 if test -z "${real_x264_tree}"
2746 dnl The given directory can't be found
2748 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2750 dnl Use a custom libx264
2751 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2752 if test -f ${real_x264_tree}/x264.h
2755 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2756 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2757 PKG_CHECK_MODULES(X264,x264, [
2758 VLC_ADD_PLUGIN([x264])
2759 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2760 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2761 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2762 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2765 AC_MSG_ERROR([the specified tree has not been compiled])
2769 AC_MSG_ERROR([the specified tree does not have x264.h])
2772 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2773 VLC_ADD_PLUGIN([x264])
2774 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2776 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2777 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2780 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2781 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2782 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2785 if test "${enable_x264}" = "yes"; then
2786 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2793 dnl libfluidsynth (MIDI synthetizer) plugin
2795 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2798 dnl Teletext Modules
2799 dnl vbi decoder plugin (using libzbvi)
2804 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2805 libzvbi (default enabled)]))
2807 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2808 zvbi) (default enabled if zvbi is absent)]))
2810 AS_IF( [test "${enable_zvbi}" != "no"],[
2811 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2813 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2814 if test "${SYS}" = "mingw32"; then
2815 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2817 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2818 VLC_ADD_PLUGIN([zvbi])
2819 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2820 AS_IF( [test "${enable_telx}" = "yes"],[
2821 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2824 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2827 AS_IF( [test "${enable_telx}" != "no" ],[
2828 VLC_ADD_PLUGIN([telx])
2832 dnl libass subtitle rendering module
2834 AC_ARG_ENABLE(libass,
2835 [ --enable-libass Subtitle support using libass (default enabled)])
2836 AS_IF( [test "${enable_libass}" != "no"], [
2837 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2839 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2840 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2841 VLC_ADD_PLUGIN([libass])
2843 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2844 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2845 VLC_ADD_LIBS([libass],[-lfontconfig])
2848 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2853 dnl kate decoder plugin
2855 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2858 dnl tiger rendering for kate decoder plugin
2860 AC_ARG_ENABLE(tiger,
2861 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2862 AS_IF([test "${enable_tiger}" != "no"], [
2863 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2864 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2865 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2866 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2867 AS_IF([test -n "${enable_tiger}"], [
2868 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2878 EXTEND_HELP_STRING([Video plugins:])
2883 PKG_CHECK_MODULES([GL], [gl], [
2886 AC_CHECK_HEADER([GL/gl.h], [
2895 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2896 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2897 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2898 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2901 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2904 AS_IF([test "$enable_egl" != "no"], [
2905 PKG_CHECK_MODULES([EGL], [egl], [
2906 VLC_ADD_PLUGIN([gl])
2907 VLC_ADD_PLUGIN([egl])
2916 AC_CHECK_HEADERS(X11/Xlib.h)
2919 dnl X C Bindings modules
2922 [ --enable-xcb X11 support with XCB (default enabled)],, [
2923 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2929 AC_ARG_ENABLE(xvideo,
2930 [ --enable-xvideo XVideo support (default enabled)],, [
2931 enable_xvideo="$enable_xcb"
2934 [ --enable-glx OpenGL support through GLX (default enabled)],, [
2935 enable_glx="$enable_xcb"
2939 AS_IF([test "${enable_xcb}" != "no"], [
2941 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
2943 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
2944 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
2946 AS_IF([test "${enable_xvideo}" != "no"], [
2947 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
2948 VLC_ADD_PLUGIN([xcb_xv])
2952 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
2953 VLC_ADD_PLUGIN([panoramix])
2954 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
2955 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
2957 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
2960 PKG_CHECK_MODULES(XPROTO, [xproto], [
2961 VLC_ADD_PLUGIN([xwd])
2964 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
2965 VLC_ADD_PLUGIN([globalhotkeys])
2966 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
2968 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
2971 AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.])
2974 AS_IF([test "${enable_glx}" != "no"], [
2975 AS_IF([test "${have_gl}" != "yes"], [
2976 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
2978 VLC_ADD_PLUGIN([xcb_glx])
2979 VLC_ADD_PLUGIN([glx])
2980 VLC_ADD_PLUGIN([gl])
2983 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
2987 dnl VDPAU needs X11 and avcodec
2989 AC_ARG_ENABLE(vdpau,
2990 [AS_HELP_STRING([--enable-vdpau],
2991 [VDPAU hardware decoder support (default auto)])])
2993 AS_IF([test "${enable_vdpau}" != "no"], [
2994 PKG_CHECK_MODULES([VDPAU], [vdpau], [
2996 AS_IF([test "${no_x}" = "yes"], [
2997 AC_MSG_ERROR([VDPAU requires Xlib (X11).])
2999 AC_MSG_NOTICE([VDPAU acceleration activated])
3001 AS_IF([test -n "${enable_vdpau}"], [
3002 AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
3006 dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
3008 have_avcodec_vdpau="no"
3009 AS_IF([test "${have_vdpau}" = "yes"], [
3010 PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [
3011 have_avcodec_vdpau="yes"
3013 AS_IF([test -n "${enable_vdpau}"], [
3014 AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3016 AC_MSG_WARN([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3020 AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"])
3027 [ --enable-sdl SDL support (default enabled)])
3028 AC_ARG_ENABLE(sdl-image,
3029 [ --enable-sdl-image SDL image support (default enabled)])
3030 if test "${enable_sdl}" != "no"
3032 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3033 # SDL on Darwin is heavily patched and can only run SDL_image
3034 if test "${SYS}" != "darwin"; then
3035 VLC_ADD_PLUGIN([vout_sdl])
3037 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3038 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3040 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3041 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3044 AS_IF([ test "${enable_sdl_image}" != "no"],[
3045 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3046 VLC_ADD_PLUGIN([sdl_image])
3047 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3048 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3049 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3053 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3060 AC_ARG_ENABLE(macosx-vout,
3061 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3062 if test "x${enable_macosx_vout}" != "xno" &&
3063 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3065 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3066 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3067 VLC_ADD_PLUGIN([vout_macosx])
3074 AC_ARG_ENABLE(freetype,
3075 [ --enable-freetype freetype support (default auto)])
3076 AC_ARG_ENABLE(fribidi,
3077 [ --enable-fribidi fribidi support (default auto)])
3078 AC_ARG_ENABLE(fontconfig,
3079 [ --enable-fontconfig fontconfig support (default auto)])
3081 if test "${enable_freetype}" != "no"; then
3082 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3084 VLC_ADD_PLUGIN([freetype])
3085 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3086 if test "${SYS}" = "mingw32"; then
3087 VLC_ADD_LIBS([freetype],[-liconv -lz])
3089 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3091 AC_CHECK_HEADERS(Carbon/Carbon.h,
3092 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3094 dnl fontconfig support
3095 if test "${SYS}" != "mingw32"; then
3096 if test "${enable_fontconfig}" != "no"; then
3097 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3098 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3099 VLC_ADD_LIBS([freetype],[-lfontconfig])
3100 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3103 VLC_ADD_LIBS([freetype],[-lgdi32])
3107 if test "${enable_fribidi}" != "no"; then
3108 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3109 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3110 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3111 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3116 AS_IF([test -n "${enable_freetype}"],[
3117 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3124 dnl QuartzText vout module (iOS/Mac OS)
3126 AC_ARG_ENABLE(macosx-quartztext,
3127 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3128 if test "x${enable_macosx_quartztext}" != "xno" &&
3129 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3131 VLC_ADD_PLUGIN([quartztext])
3132 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3138 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3141 dnl android surface module
3143 AC_ARG_ENABLE(android-surface,
3144 [ --enable-android-surface Android Surface video output module (default disabled)])
3145 if test "${enable_android_surface}" = "yes"; then
3146 if test "${HAVE_ANDROID}" = "1"; then
3147 VLC_ADD_PLUGIN([android_surface])
3148 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3156 AC_ARG_ENABLE(ios-vout,
3157 [ --enable-ios-vout iOS video output module (default disabled)])
3158 if test "${enable_ios_vout}" = "yes"
3160 VLC_ADD_PLUGIN([vout_ios])
3161 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3165 dnl Windows DirectX module
3168 if test "${SYS}" = "mingw32"
3170 VLC_ADD_PLUGIN([panoramix])
3173 AC_ARG_ENABLE(directx,
3174 [AS_HELP_STRING([--enable-directx],
3175 [Microsoft DirectX support (default enabled on Windows)])],, [
3176 AS_IF([test "${SYS}" = "mingw32"], [
3177 enable_directx="yes"
3183 AS_IF([test "${enable_directx}" != "no"], [
3185 AC_CHECK_HEADERS(ddraw.h, [
3188 AC_MSG_ERROR([Cannot find DirectX headers!])
3192 AC_CHECK_HEADERS(GL/wglew.h, [
3193 VLC_ADD_PLUGIN([glwin32])
3195 #include <windows.h>
3200 AC_CHECK_HEADERS(d3d9.h, [
3201 VLC_ADD_PLUGIN([direct3d])
3205 AC_CHECK_HEADERS(d2d1.h, [
3206 VLC_ADD_PLUGIN([direct2d])
3209 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3212 dnl Linux framebuffer module
3214 AC_CHECK_HEADER([linux/fb.h], [
3215 VLC_ADD_PLUGIN([fb])
3221 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3222 dnl TODO: support for static linking
3224 AC_ARG_ENABLE(directfb,
3225 [ --enable-directfb DirectFB support (default disabled)])
3226 AC_ARG_WITH(directfb,
3227 [ --with-directfb=PATH path to DirectFB headers and libraries])
3229 if test "${enable_directfb}" = "yes"; then
3230 have_directfb="false"
3231 CPPFLAGS_mydirectfb=
3233 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3234 dnl Trying the given location
3237 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3238 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3240 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3241 LIBS="${LIBS} ${LIBS_new}"
3243 dnl FIXME: too obscure
3244 AC_CHECK_HEADER([directfb.h], [
3245 AC_CHECK_LIB([direct],[direct_initialize], [
3246 AC_CHECK_LIB([fusion], [fusion_enter], [
3247 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3248 ], have_directfb="false")
3249 ], have_directfb="false")
3250 ], have_directfb="false")
3254 if test "${have_directfb}" = "true"; then
3255 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3256 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3259 dnl Look for directfb-config
3260 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3261 if test "${DIRECTFB_CONFIG}" != "no"; then
3262 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3263 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3264 have_directfb="true"
3266 dnl Trying with pkg-config
3267 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3268 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3269 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3270 have_directfb="true"
3271 ], [have_directfb="false"])
3274 if test "${have_directfb}" = "true"; then
3275 VLC_ADD_PLUGIN([directfb])
3276 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3277 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3279 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3287 [ --enable-aa aalib output (default disabled)])
3288 if test "${enable_aa}" = "yes"
3290 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3291 if test "${have_aa}" = "true"
3293 VLC_ADD_PLUGIN([aa])
3294 VLC_ADD_LIBS([aa],[-laa])
3295 if test "${SYS}" != "mingw32"; then
3296 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3304 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3310 [AS_HELP_STRING([--enable-kva],
3311 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3312 AS_IF([test "$SYS" = "os2"], [
3318 AS_IF([test "$enable_kva" != "no"], [
3319 AC_CHECK_HEADERS([kva.h], [
3321 AC_CHECK_LIB(kva, main, [
3327 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3333 EXTEND_HELP_STRING([Audio plugins:])
3336 dnl Pulseaudio module
3338 AC_ARG_ENABLE(pulse,
3339 [AS_HELP_STRING([--enable-pulse],
3340 [use the PulseAudio client library (default auto)])])
3342 AS_IF([test "${enable_pulse}" != "no"], [
3343 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3346 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3347 AS_IF([test "${no_x}" != "yes"], [
3349 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3351 AS_IF([test "${enable_pulse}" = "yes"], [
3352 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3353 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3357 AS_IF([test "x${enable_pulse}" != "x"], [
3358 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3363 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3369 [AS_HELP_STRING([--enable-alsa],
3370 [support the Advanced Linux Sound Architecture (default auto)])],, [
3371 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3376 AS_IF([test "${enable_alsa}" != "no"], [
3377 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
3380 AS_IF([test "x${enable_alsa}" != "x"], [
3381 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.])
3385 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3388 dnl Open Sound System module
3391 [AS_HELP_STRING([--enable-oss],
3392 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3393 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3399 AS_IF([test "$enable_oss" != "no"], [
3400 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3402 AC_CHECK_LIB(ossaudio, main, [
3403 OSS_LIBS="-lossaudio"
3408 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3411 dnl OpenBSD sndio module
3413 AC_ARG_ENABLE([sndio],
3414 [AS_HELP_STRING([--disable-sndio],
3415 [support the OpenBSD sndio (default auto)])],, [
3416 AS_IF([test "$SYS" = "opensd"], [
3421 AS_IF([test "$enable_sndio" != "no"], [
3422 AC_CHECK_HEADER([sndio.h], [
3426 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3429 dnl Windows Audio Session plugin
3431 AC_ARG_ENABLE([wasapi],
3432 [AS_HELP_STRING([--enable-wasapi],
3433 [use the Windows Audio Session API (default auto)])
3436 AS_IF([test "$enable_wasapi" != "no"], [
3437 AC_CHECK_HEADER([audioclient.h], [
3440 AS_IF([test "x${enable_wasapi}" != "x"], [
3441 AC_MSG_ERROR([Windows Audio Session API not found.])
3445 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3448 dnl win32 waveOut plugin
3450 AC_ARG_ENABLE(waveout,
3451 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3452 if test "${enable_waveout}" != "no"; then
3453 if test "${SYS}" = "mingw32"; then
3454 VLC_ADD_PLUGIN([waveout])
3455 VLC_ADD_LIBS([waveout],[-lwinmm])
3460 dnl CoreAudio plugin
3462 AC_ARG_ENABLE(macosx-audio,
3463 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3464 if test "x${enable_macosx_audio}" != "xno" &&
3465 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3467 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3468 [ VLC_ADD_PLUGIN([auhal])
3469 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,CoreServices])
3470 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3474 dnl AudioQueue plugin
3476 AC_ARG_ENABLE(audioqueue,
3477 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3478 if test "${enable_audioqueue}" = "yes"
3480 VLC_ADD_PLUGIN([audioqueue])
3481 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3487 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3490 dnl OpenSLES Android
3492 AC_ARG_ENABLE(opensles,
3493 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3494 if test "${HAVE_ANDROID}" = "1"; then
3495 if test "${enable_opensles}" = "yes"; then
3496 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3497 [ VLC_ADD_PLUGIN([opensles_android]) ],
3498 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3503 dnl libsamplerate plugin
3505 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3511 [AS_HELP_STRING([--enable-kai],
3512 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3513 AS_IF([test "$SYS" = "os2"], [
3519 AS_IF([test "$enable_kai" != "no"], [
3520 AC_CHECK_HEADERS([kai.h], [
3522 AC_CHECK_LIB(kai, main, [
3528 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3531 dnl Interface plugins
3534 EXTEND_HELP_STRING([Interface plugins:])
3540 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3541 AS_IF([test "${SYS}" = "darwin"], [
3545 AS_IF([test "${enable_qt}" != "no"], [
3546 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3547 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3548 AS_IF([test -n "${enable_qt}"],[
3549 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3551 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3557 AS_IF([test "${enable_qt}" != "no"], [
3558 VLC_ADD_PLUGIN([qt4])
3559 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3560 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3561 ALIASES="${ALIASES} qvlc"
3566 AC_MSG_CHECKING([whether Qt uses Xlib])
3567 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3568 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3570 #if !defined (Q_WS_X11)
3574 AC_MSG_RESULT([yes])
3575 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3576 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3584 AS_IF([test "${SYS}" = "mingw32"], [
3585 VLC_ADD_LIBS([qt4],[-lole32])
3587 AS_IF([test "${SYS}" = "darwin" ],[
3588 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3591 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3592 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3593 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3594 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3596 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3599 dnl Simple test for skins2 dependency
3601 AS_IF([test "$enable_qt" = "no"], [
3602 AS_IF([test "${enable_skins2}" = "yes"], [
3603 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.])
3606 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3613 AC_ARG_ENABLE(skins2,
3614 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3615 AS_IF([test "${enable_skins2}" != "no"], [
3616 have_skins_deps="yes"
3619 AS_IF([test "${SYS}" = "mingw32"], [
3620 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3621 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3623 ], [test "${SYS}" = "darwin"], [
3624 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3625 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3628 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3629 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3630 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3631 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3632 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3636 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3638 dnl we need freetype
3639 AS_IF([test "${have_freetype}" != "yes"], [
3640 have_skins_deps="no"
3643 AS_IF([test "${have_skins_deps}" = "no"], [
3644 AS_IF([test "x${enable_skins2}" = "x"], [
3645 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3647 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3651 VLC_ADD_PLUGIN([skins2])
3652 ALIASES="${ALIASES} svlc"
3656 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3658 AC_ARG_ENABLE(libtar,
3659 [ --enable-libtar libtar support for skins2 (default auto)])
3660 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3661 AC_CHECK_HEADERS(libtar.h, [
3662 VLC_ADD_LIBS([skins2],[-ltar])
3667 dnl MacOS X gui module
3669 AC_ARG_ENABLE(macosx,
3670 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3671 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3673 VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,CoreServices])
3674 VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] )
3675 VLC_ADD_PLUGIN([macosx])
3677 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
3679 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3681 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3683 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3684 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3686 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3688 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3690 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3691 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3693 AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
3696 dnl Minimal Mac OS X module
3698 AC_ARG_ENABLE(minimal-macosx,
3699 [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)])
3700 if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
3702 VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa])
3703 VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] )
3704 VLC_ADD_PLUGIN([minimal_macosx])
3706 AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"])
3709 dnl MacOS X dialog provider
3711 AC_ARG_ENABLE(macosx-dialog-provider,
3712 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3713 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3714 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3716 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3717 VLC_ADD_PLUGIN([macosx_dialog_provider])
3719 AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"])
3724 AC_ARG_ENABLE(ncurses,
3725 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3726 AS_IF([test "${enable_ncurses}" != "no"] ,[
3727 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3728 VLC_ADD_PLUGIN([ncurses])
3729 VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}])
3730 VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}])
3731 ALIASES="${ALIASES} nvlc"
3733 AS_IF([test -n "${enable_ncurses}"], [
3734 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3743 [ --enable-lirc lirc support (default disabled)])
3744 if test "${enable_lirc}" = "yes"
3746 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3747 if test "${have_lirc}" = "true"
3749 VLC_ADD_PLUGIN([lirc])
3750 VLC_ADD_LIBS([lirc],[-llirc_client])
3754 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3756 dnl goom visualization plugin
3758 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3761 dnl libprojectM visualization plugin
3763 AC_ARG_ENABLE(projectm,
3764 [ --enable-projectm projectM visualization plugin (default enabled)])
3765 AS_IF([test "${enable_projectm}" != "no"],
3767 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3769 VLC_ADD_PLUGIN([projectm])
3770 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3771 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3772 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3773 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3774 [ AC_MSG_WARN( [Using libprojectM version 1] )
3777 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3782 dnl Vovoid VSXu visualization plugin
3785 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3786 AS_IF([test "${enable_vsxu}" != "no"],
3788 PKG_CHECK_MODULES(VSXU, libvsxu,
3790 VLC_ADD_PLUGIN([vsxu])
3791 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3792 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3794 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3799 dnl AtmoLight (homemade Philips Ambilight clone)
3802 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3803 (default enabled)]),, [enable_atmo="yes"])
3804 AS_IF([test "${enable_atmo}" != no], [
3805 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3807 VLC_ADD_PLUGIN([atmo])
3813 EXTEND_HELP_STRING([Service Discovery plugins:])
3815 dnl Bonjour services discovery
3816 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3819 dnl libudev services discovery
3820 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3823 dnl MTP devices services discovery
3824 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3827 dnl UPnP Plugin (Intel SDK)
3829 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3830 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3832 EXTEND_HELP_STRING([Misc options:])
3837 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3843 AC_ARG_ENABLE(libgcrypt,
3844 [ --disable-libgcrypt gcrypt support (default enabled)])
3845 AS_IF([test "${enable_libgcrypt}" != "no"], [
3846 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3847 libgcrypt-config --version >/dev/null || \
3848 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3849 AC_CHECK_LIB(gcrypt, gcry_control, [
3850 have_libgcrypt="yes"
3851 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3852 GCRYPT_LIBS="`libgcrypt-config --libs`"
3854 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3855 ], [`libgcrypt-config --libs`])
3857 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3858 ], [#include <gcrypt.h>]
3862 AC_SUBST(GCRYPT_CFLAGS)
3863 AC_SUBST(GCRYPT_LIBS)
3864 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3869 AC_ARG_ENABLE(gnutls,
3870 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3871 AS_IF([test "${enable_gnutls}" != "no"], [
3872 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3873 VLC_ADD_PLUGIN([gnutls])
3875 AS_IF([test -n "${enable_gnutls}"], [
3876 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3885 AC_ARG_ENABLE(taglib,
3886 [AS_HELP_STRING([--disable-taglib],
3887 [do not use TagLib (default enabled)])])
3888 AS_IF([test "${enable_taglib}" != "no"], [
3889 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [
3890 VLC_ADD_PLUGIN([taglib])
3891 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3892 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3894 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3899 dnl update checking system
3901 AC_ARG_ENABLE(update-check,
3902 [ --enable-update-check update checking system (default disabled)])
3903 if test "${enable_update_check}" = "yes"
3905 if test "${have_libgcrypt}" != "yes"
3907 AC_MSG_ERROR([libgcrypt is required for update checking system])
3909 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3910 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3911 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3915 dnl Growl notification plugin
3917 AC_ARG_ENABLE(growl,
3918 [ --enable-growl growl notification plugin (default disabled)],,
3920 AS_IF([test "${enable_growl}" != "no"], [
3921 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3922 VLC_ADD_PLUGIN([growl])
3923 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3924 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3925 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3931 dnl Libnotify notification plugin
3933 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
3938 AC_ARG_ENABLE(media-library,
3939 [ --enable-media-library media library (default disabled)])
3940 AS_IF([test "${enable_media_library}" = "yes"], [
3941 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
3942 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
3943 VLC_ADD_PLUGIN([media_library])
3948 AS_IF([test "${SYS}" != "darwin"], [
3949 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
3951 AS_IF([test "${enable_sqlite}" != "no"], [
3952 AC_CHECK_HEADERS(sqlite3.h, [
3953 VLC_ADD_PLUGIN([sqlite])
3954 VLC_ADD_LIBS([sqlite], [-lsqlite3])
3956 AC_MSG_ERROR([sqlite3 is required for the media library])
3964 dnl Endianness check
3967 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
3968 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
3972 AC_SUBST(DEFS_BIGENDIAN)
3975 dnl Where to install KDE solid .desktop
3977 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
3978 AS_IF([test "x$KDE4_CONFIG" = "x"], [
3979 KDE4_CONFIG="kde4-config"
3982 AC_ARG_WITH(kde-solid,
3983 AS_HELP_STRING([--with-kde-solid=PATH],
3984 [KDE Solid actions directory (auto)]),, [
3986 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
3987 with_kde_solid="yes"
3991 AS_IF([test "${with_kde_solid}" != "no"], [
3992 AS_IF([test "${with_kde_solid}" = "yes"], [
3993 kde4datadir="`${KDE4_CONFIG} --install data`"
3994 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
3995 soliddatadir="${kde4datadir}/solid/actions"
3997 soliddatadir="${with_kde_solid}"
4000 AC_SUBST(soliddatadir)
4001 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4004 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4007 AC_ARG_ENABLE(loader,
4008 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4009 (default disabled)]))
4010 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4011 AS_IF([test "${enable_loader}" = "yes"],
4012 [ VLC_ADD_PLUGIN([dmo])
4013 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader])
4014 VLC_ADD_LIBS([dmo quicktime ],[libloader.la])
4015 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4018 AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ])
4020 EXTEND_HELP_STRING([Components:])
4026 [ --enable-vlc build the VLC media player (default enabled)])
4027 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4029 AC_ARG_ENABLE(macosx-vlc-app,
4030 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4031 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4032 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4035 dnl Stuff used by the program
4037 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4038 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4039 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4040 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4041 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4042 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4043 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4044 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4045 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4046 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4047 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4048 AC_SUBST(COPYRIGHT_MESSAGE)
4049 AC_SUBST(VERSION_MESSAGE)
4050 AC_SUBST(VERSION_MAJOR)
4051 AC_SUBST(VERSION_MINOR)
4052 AC_SUBST(VERSION_REVISION)
4053 AC_SUBST(VERSION_EXTRA)
4054 AC_SUBST(COPYRIGHT_YEARS)
4055 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4056 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4057 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4059 dnl Handle substvars that use $(top_srcdir)
4061 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4064 dnl Configuration is finished
4074 AC_SUBST(WINE_SDK_PATH)
4076 AC_SUBST(AM_CPPFLAGS)
4077 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4078 AC_SUBST(FILE_LIBVLCCORE_DLL)
4079 AC_SUBST(FILE_LIBVLC_DLL)
4093 modules/access/Makefile
4094 modules/access/rtp/Makefile
4095 modules/access_output/Makefile
4096 modules/audio_filter/Makefile
4097 modules/audio_mixer/Makefile
4098 modules/audio_output/Makefile
4099 modules/codec/Makefile
4100 modules/control/Makefile
4101 modules/demux/Makefile
4102 modules/gui/Makefile
4103 modules/gui/macosx/Makefile
4104 modules/gui/minimal_macosx/Makefile
4105 modules/gui/macosx_dialog_provider/Makefile
4106 modules/gui/qt4/Makefile
4107 modules/gui/skins2/Makefile
4108 modules/lua/Makefile
4109 modules/meta_engine/Makefile
4110 modules/misc/Makefile
4111 modules/media_library/Makefile
4112 modules/mux/Makefile
4113 modules/notify/Makefile
4114 modules/packetizer/Makefile
4115 modules/services_discovery/Makefile
4116 modules/stream_filter/Makefile
4117 modules/stream_out/Makefile
4118 modules/text_renderer/Makefile
4119 modules/video_chroma/Makefile
4120 modules/video_filter/Makefile
4121 modules/video_output/Makefile
4122 modules/visualization/Makefile
4123 modules/mmx/Makefile
4124 modules/sse2/Makefile
4125 modules/altivec/Makefile
4126 modules/arm_neon/Makefile
4129 AM_COND_IF([HAVE_WIN32], [
4131 extras/package/win32/NSIS/spad.nsi
4132 extras/package/win32/NSIS/vlc.win32.nsi
4133 extras/package/win32/msi/config.wxi
4137 AM_COND_IF([HAVE_DARWIN], [
4139 extras/package/macosx/Info.plist
4140 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4144 dnl Generate makefiles
4147 dnl Do we have to use make or gmake ?
4148 if make --version 2>&1|grep -q GNU
4150 # GNU make, all seems good
4153 # Known GNU make alias (on BSD)
4156 dnl Shortcut to nice compile message
4157 if test -n $SHELL; then
4158 SHELL=${CONFIG_SHELL-/bin/sh}
4164 export PATH=\"$PATH\" LANG=C
4165 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4166 test -f .error\$\$ && ERROR=1
4168 exit \$ERROR" >compile
4172 libvlc configuration
4173 --------------------
4174 version : ${VERSION}
4176 architecture : ${ARCH}
4177 optimizations : ${enable_optimizations}"
4178 if test "${enable_vlc}" != "no"; then
4179 echo "vlc aliases :${ALIASES}"
4181 echo "build vlc executable : no"
4184 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."