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 ARCH_flag="-arch armv7"
147 ac_cv_c_bigendian="no"
148 ac_cv_c_attribute_packed="no"
153 CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
154 CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
155 CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
156 OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
157 LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
158 VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation])
159 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
160 VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
161 VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings])
162 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
164 dnl Allow binaries created on Lion to run on earlier releases
166 [#import <Cocoa/Cocoa.h>
167 #ifdef MAC_OS_X_VERSION_10_7
170 [AC_MSG_RESULT([yes])
171 AC_LIBOBJ([getdelim])
173 AC_LIBOBJ([strnlen])],)
176 dnl Handle Mac OS X SDK flags
178 AC_ARG_WITH(macosx-sdk,
179 [AS_HELP_STRING([--with-macosx-sdk=DIR],
180 [compile using the SDK in DIR])])
181 if test "${with_macosx_sdk}" != "" ; then
182 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
183 CPP="${CPP} -isysroot ${with_macosx_sdk}"
184 CC="${CC} -isysroot ${with_macosx_sdk}"
185 CXX="${CXX} -isysroot ${with_macosx_sdk}"
186 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
187 LD="${LD} -syslibroot ${with_macosx_sdk}"
189 AC_ARG_WITH(macosx-version-min,
190 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
191 [compile for Mac OS X VERSION and above])])
192 if test "${with_macosx_version_min}" != "" ; then
193 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
194 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
195 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
196 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
197 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
198 LD="${LD} -mmacosx_version_min=${with_macosx_version_min}"
199 CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
200 CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
201 OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
202 export MACOSX_DEPLOYMENT_TARGET
205 *mingw32* | *cygwin* | *wince* | *mingwce*)
206 AC_CHECK_TOOL(WINDRES, windres, :)
207 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
208 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
209 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
210 AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
211 AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
218 dnl Check if we are using the mno-cygwin mode in which case we are
219 dnl actually dealing with a mingw32 compiler.
224 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
228 if test "${SYS}" = "mingw32"; then
229 VLC_ADD_LIBS([libvlccore],[-lwinmm])
230 VLC_ADD_LDFLAGS([vlc],[-mwindows])
231 VLC_ADD_LIBS([win32text],[-lgdi32])
232 VLC_ADD_LIBS([vcdx],[-lwinmm])
233 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
234 ac_default_prefix="`pwd`/_win32"
235 DESTDIR="`pwd`/_win32/"
238 dnl NSIS Installer prefix and WIN64
243 PROGRAMFILES="PROGRAMFILES64"
246 PROGRAMFILES="PROGRAMFILES"
249 AC_SUBST(PROGRAMFILES)
267 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild"
273 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
274 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
275 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
276 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
277 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
278 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
281 dnl Sadly autoconf does not think about testing foo.exe when ask to test
282 dnl for program foo on win32
283 case "${build_os}" in
285 ac_executable_extensions=".exe"
291 dnl Android is linux, but a bit different
292 AS_IF([test "$SYS" = linux],[
293 AC_MSG_CHECKING([for an Android system])
294 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
295 [[#ifndef __ANDROID__
306 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
310 dnl Check for the contrib directory
313 [AS_HELP_STRING([--with-contrib[=DIR]],
314 [search for 3rd party libraries in DIR/include and DIR/lib])
316 AC_MSG_CHECKING([for 3rd party libraries path])
317 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
318 CONTRIB_DIR="${srcdir}/contrib/${host}"
319 AS_IF([test ! -d "${CONTRIB_DIR}"], [
320 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
321 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
322 AS_IF([test ! -d "${CONTRIB_DIR}"], [
323 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
324 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
325 AS_IF([test ! -d "${CONTRIB_DIR}"], [
326 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
327 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
328 AS_IF([test ! -d "${CONTRIB_DIR}"], [
329 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
331 AC_MSG_RESULT([not found])
337 AS_IF([test "${with_contrib}" != "no"], [
338 CONTRIB_DIR="${with_contrib}"
341 AC_MSG_RESULT([disabled])
344 AS_IF([test -n "${CONTRIB_DIR}"], [
345 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
346 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
348 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
350 AC_MSG_RESULT([not usable])
354 AS_IF([test -n "${CONTRIB_DIR}"], [
355 AC_MSG_RESULT([${CONTRIB_DIR}])
356 export PATH=${CONTRIB_DIR}/bin:$PATH
357 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
358 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
359 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
360 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
361 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
362 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
364 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
366 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
368 AS_IF([test "${SYS}" = "darwin"], [
369 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
370 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
373 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
374 AC_MSG_ERROR([Third party libraries not found!])
377 AC_SUBST(CONTRIB_DIR)
381 dnl It's very bad, but our former custom system was worst
385 dnl override platform specific check for dependent libraries
386 dnl otherwise libtool linking of shared libraries will
387 dnl fail on anything other than pass_all.
388 AC_CACHE_VAL(lt_cv_deplibs_check_method,
389 [lt_cv_deplibs_check_method=pass_all])
391 LT_INIT([dlopen win32-dll shared disable-static])
393 LT_LANG([Windows Resource])
397 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
398 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
400 lt_cv_deplibs_check_method=pass_all
402 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
403 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
409 AM_GNU_GETTEXT_VERSION([0.18.1])
410 AM_GNU_GETTEXT([external], [need-ngettext])
419 AS_IF([test "${SYS}" = "mingw32"], [
420 dnl Check for broken versions of mingw-runtime compatability library
421 AC_MSG_CHECKING(for broken mingw-runtime)
422 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
424 #if defined(__MINGW64_VERSION_MAJOR)
425 # if __MINGW64_VERSION_MAJOR < 3
426 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
428 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
429 # error Attempting to use mingw-runtime with broken vsnprintf support
434 AC_MSG_RESULT([present])
435 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
437 dnl force use of mingw provided c99 *printf over msvcrt
438 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
440 dnl Check for the need to include the mingwex lib for mingw32
441 AC_CHECK_LIB(mingwex,opendir,
442 AC_CHECK_LIB(mingw32,opendir,,
443 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
446 dnl Check for fnative-struct or mms-bitfields support for mingw32
448 CFLAGS="${CFLAGS} -mms-bitfields"
449 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
450 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
451 [ac_cv_c_mms_bitfields],
452 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
453 if test "${ac_cv_c_mms_bitfields}" = "no"; then
455 CFLAGS="${CFLAGS} -fnative-struct"
456 CXXFLAGS="${CXXFLAGS} -fnative-struct"
457 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
458 [ac_cv_c_fnative_struct],
459 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
460 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
465 dnl Buggy glibc prevention. Purposedly not cached.
466 dnl See sourceware.org bugs 5058 and 5443.
467 dnl Ubuntu alone has 20 bug numbers for this...
469 AC_MSG_CHECKING(for buggy GNU/libc versions)
470 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
472 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
473 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
474 # error GNU/libc with dcgettext killer bug!
477 AC_MSG_RESULT([not present])
479 AC_MSG_RESULT([found])
480 AS_IF([test "x${enable_nls}" != "xno"], [
481 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
482 work-around for this. Check with your distribution vendor on how to update the
483 glibc run-time. Alternatively, build with --disable-nls.])
487 dnl Plugin compilation stuff
491 dnl Check for system libs needed
494 dnl Check for usual libc functions
495 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
496 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])
497 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])
498 AC_CHECK_FUNCS(fdatasync,,
499 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
502 dnl mingw64 implements those as static inline, not functions with C linkage
504 AC_LANG_PROGRAM([#include <stdio.h>], [
506 if (asprintf(&c, "%s %d", "string", 1) == -1)
508 ])],[AC_DEFINE([HAVE_ASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([asprintf])])
510 AC_LANG_PROGRAM([#include <stdio.h>
511 #include <stdarg.h>], [
514 if (vasprintf(&c, "%s %d", ap) == -1)
516 ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
518 dnl C11 static_assert()
519 AC_MSG_CHECKING([for static_assert in assert.h])
520 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <assert.h>], [
521 static_assert(1, "The impossible happened.");
524 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
529 # Windows CE does not have strcoll()
532 dnl Check for non-standard system calls
535 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
538 AC_CHECK_FUNCS([_lock_file])
542 AH_BOTTOM([#include <vlc_fixups.h>])
544 dnl Check for struct pollfd
545 AC_CHECK_TYPES([struct pollfd],,,
546 [#include <sys/types.h>
549 #elif defined (WIN32)
550 # include <winsock2.h>
554 dnl Checks for socket stuff
557 AC_SEARCH_LIBS(connect, [socket], [
558 AS_IF([test "$ac_cv_search_connect" != "none required"], [
559 SOCKET_LIBS="$ac_cv_search_connect"
562 AS_IF([test "${SYS}" = "mingw32"], [
563 SOCKET_LIBS="-lws2_32"
567 AC_SEARCH_LIBS([getaddrinfo], [nsl], [
568 AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [
569 SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS"
571 ],, [${SOCKET_LIBS}])
573 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
576 AS_IF([test -n "$SOCKET_LIBS"], [
577 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}])
579 AC_SUBST(SOCKET_LIBS)
581 dnl Check for socklen_t
582 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
583 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
584 ac_cv_type_socklen_t,
585 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
586 [#include <sys/types.h>
588 # include <winsock2.h>
589 # include <ws2tcpip.h>
591 # include <sys/socket.h>
592 #endif]], [[socklen_t len; len = 0;]])],
593 ac_cv_type_socklen_t=yes,
594 ac_cv_type_socklen_t=no)])
595 AS_IF([test "$ac_cv_type_socklen_t" = no],
596 [AC_DEFINE(socklen_t, int)])
598 dnl Check for struct sockaddr_storage
599 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
600 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
601 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
603 [#include <sys/types.h>
605 # include <winsock2.h>
607 # include <sys/socket.h>
608 #endif], [struct sockaddr_storage addr;],
609 ac_cv_struct_sockaddr_storage=yes,
610 ac_cv_struct_sockaddr_storage=no)])
611 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
612 AC_DEFINE(sockaddr_storage, sockaddr)
613 AC_DEFINE(ss_family, sa_family)
616 dnl FreeBSD has a gnugetopt library for this:
618 AC_CHECK_FUNC(getopt_long,, [
619 AC_CHECK_LIB([gnugetopt],[getopt_long], [
620 GNUGETOPT_LIBS="-lgnugetopt"
623 AC_SUBST(GNUGETOPT_LIBS)
626 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])
633 AC_CHECK_LIB(m,lrintf, [
634 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
635 VLC_ADD_LIBS([skins2],[-lm])
638 dnl Check for dynamic plugins
640 have_dynamic_objects="no"
642 AC_SEARCH_LIBS(dlopen, [dl svld], [
643 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
644 LIBDL="$ac_cv_search_dlopen"
646 have_dynamic_objects="yes"
651 AS_IF([test "${SYS}" = "mingw32"], [
653 have_dynamic_objects="yes" #assume we can use shared objects
656 AS_IF([test "${enable_shared}" = "no"], [
657 have_dynamic_objects=no
659 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
662 VLC_ADD_LIBS([lua],[$LIBDL])
664 dnl Check for thread library
666 AS_IF([test "${SYS}" != "mingw32"], [
669 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
670 AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [
671 LIBPTHREAD="$ac_cv_search_pthread_rwlock_init"
676 AC_CHECK_LIB(rt, clock_nanosleep, [
677 VLC_ADD_LIBS([libvlccore],[-lrt])
679 AC_CHECK_FUNC(nanosleep,,[
680 AC_CHECK_LIB(rt,nanosleep, [
681 VLC_ADD_LIBS([libvlccore],[-lrt])
683 AC_CHECK_LIB(posix4,nanosleep, [
684 VLC_ADD_LIBS([libvlccore],[-lposix4])
689 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
694 dnl Check for headers
695 AC_CHECK_HEADERS([search.h])
696 AC_CHECK_HEADERS(getopt.h locale.h xlocale.h)
697 AC_CHECK_HEADERS([sys/time.h sys/ioctl.h])
698 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
699 AC_CHECK_HEADERS([net/if.h], [], [],
701 #include <sys/types.h>
702 #include <sys/socket.h>
704 AC_CHECK_HEADERS([sys/mount.h], [], [],
706 #include <sys/param.h>
709 if test "${SYS}" != "mingw32"; then
710 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
711 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
712 AC_CHECK_HEADERS(syslog.h mntent.h)
713 fi # end "${SYS}" != "mingw32"
715 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
716 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
717 AC_CHECK_TYPE(ssize_t,, [
718 AC_DEFINE(ssize_t, int)
721 dnl Check for threads library
722 if test "${SYS}" != "mingw32"; then
723 AC_CHECK_HEADERS(pthread.h)
724 fi # end "${SYS}" != "mingw32"
726 dnl It seems that autoconf detects pkg-config only during the first
727 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
728 dnl it is nested within a conditional block, so it was not working right.
729 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
730 AC_ARG_VAR(PKG_CONFIG_PATH,
731 [Paths where to find .pc not at the default location])
732 PKG_PROG_PKG_CONFIG()
734 dnl On some OS we need static linking
735 AS_IF([test -n "${PKG_CONFIG}" ],[
736 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
737 PKG_CONFIG="${PKG_CONFIG} --static"
743 dnl Check for zlib.h and -lz along with system -lminizip if available
745 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
746 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
747 if test "${have_zlib}" = "yes"
749 VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz])
750 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
751 AC_CHECK_HEADERS([unzip.h], [
753 MINIZIP_LIBS="-lminizip -lz"
755 VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip])
756 VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la])
760 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
761 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
763 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
767 dnl Domain name i18n support via GNU libidn
769 PKG_CHECK_MODULES([IDN], [libidn], [
771 AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
779 [AS_HELP_STRING([--enable-dbus],
780 [compile D-Bus message bus support (default enabled)])])
782 AS_IF([test "${enable_dbus}" != "no"], [
783 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [
786 AS_IF([test -n "${enable_dbus}"], [
787 AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])
789 AC_MSG_WARN([${DBUS_PKG_ERRORS}.])
793 AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"])
795 dnl Check for ntohl, etc.
797 CFLAGS="${CFLAGS} -Wall -Werror"
798 AC_CACHE_CHECK([for ntohl in sys/param.h],
799 [ac_cv_c_ntohl_sys_param_h],
800 [ AC_TRY_COMPILE([#include <sys/param.h>],
801 [int meuh; ntohl(meuh);],
802 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
803 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
804 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
808 EXTEND_HELP_STRING([Optimization options:])
810 dnl Compiler warnings
813 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])
814 RDC_PROG_CC_FLAGS([-pipe])
816 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
823 [AS_HELP_STRING([--enable-debug],
824 [build with run-time assertions (default disabled)])],,
827 [Define to 1 if debug code should NOT be compiled])
828 AS_IF([test "${enable_debug}" != "no"], [
829 AC_CHECK_HEADERS([valgrind/valgrind.h])
838 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
840 AS_IF([test "${enable_gprof}" != "no"], [
841 CFLAGS="${CFLAGS} -pg"
842 CXXFLAGS="${CXXFLAGS} -pg"
843 OBJCFLAGS="${OBJCFLAGS} -pg"
844 LDFLAGS="${LDFLAGS} -pg"
848 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
850 AS_IF([test "${enable_gprof}" != "no"], [
851 CFLAGS="${CFLAGS} -finstrument-functions"
852 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
853 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
854 LDFLAGS="${LDFLAGS} -finstrument-functions"
860 AC_ARG_ENABLE(coverage,
861 [AS_HELP_STRING([--enable-coverage],
862 [build for test coverage (default disabled)])],,
863 [enable_coverage="no"])
864 AS_IF([test "${enable_coverage}" != "no"], [
865 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
866 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
867 LDFLAGS="-lgcov ${LDFLAGS}"
870 AS_IF([test "${SYS}" != "mingw32"], [
872 CFLAGS="${CFLAGS} -fvisibility=hidden"
873 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
874 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
875 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
876 [ac_cv_c_visibility_hidden], [
877 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
878 ac_cv_c_visibility_hidden=yes
880 ac_cv_c_visibility_hidden=no
883 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
888 dnl Enable/disable optimizations
890 AC_ARG_ENABLE(optimizations,
891 [AS_HELP_STRING([--disable-optimizations],
892 [disable compiler optimizations (default enabled)])],,
893 [enable_optimizations="yes"])
895 dnl Check for various optimization flags
896 AS_IF([test "${enable_optimizations}" != "no"], [
898 dnl -O4 and -O3 only in production builds
899 AS_IF([test "{enable_debug}" = "no"], [
901 CFLAGS="${CFLAGS} -O4"
902 CXXFLAGS="${CXXFLAGS} -O4"
903 OBJCFLAGS="${OBJCFLAGS} -O4"
904 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
905 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
911 AS_IF([test "${ac_cv_c_o4}" = "no"], [
913 CFLAGS="${CFLAGS} -O3"
914 CXXFLAGS="${CXXFLAGS} -O3"
915 OBJCFLAGS="${OBJCFLAGS} -O3"
916 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
917 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
923 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
927 dnl Check for -ffast-math
929 CFLAGS="${CFLAGS} -ffast-math"
930 CXXFLAGS="${CXXFLAGS} -ffast-math"
931 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
932 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
933 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
934 ac_cv_c_fast_math=yes
939 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
941 #ifndef __FAST_MATH__
942 # pragma STDC FENV_ACCESS OFF
943 # pragma STDC FP_CONTRACT ON
947 dnl Check for -funroll-loops
949 CFLAGS="${CFLAGS} -funroll-loops"
950 CXXFLAGS="${CXXFLAGS} -funroll-loops"
951 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
952 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
953 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
954 ac_cv_c_unroll_loops=yes
956 ac_cv_c_unroll_loops=no
959 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
961 AS_IF([test "$enable_debug" = "no"], [
962 dnl Check for -fomit-frame-pointer
964 CFLAGS="${CFLAGS} -fomit-frame-pointer"
965 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
966 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
967 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
968 [ac_cv_c_omit_frame_pointer], [
969 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
970 ac_cv_c_omit_frame_pointer=yes
972 ac_cv_c_omit_frame_pointer=no
975 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
979 dnl Check for Darwin plugin linking flags
980 AS_IF([test "${SYS}" = "darwin"], [
982 CFLAGS="${CFLAGS} -bundle -undefined error"
983 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
985 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
991 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
992 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
997 dnl Checks for __attribute__(aligned()) directive
999 CFLAGS="${CFLAGS} -Werror"
1000 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1001 [ac_cv_c_attribute_aligned],
1002 [ac_cv_c_attribute_aligned=0
1003 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1005 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1006 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1009 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1010 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1011 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1014 dnl Check for __attribute__((packed))
1015 AC_CACHE_CHECK([for __attribute__((packed))],
1016 [ac_cv_c_attribute_packed],
1017 [ac_cv_c_attribute_packed=no
1018 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1019 [ac_cv_c_attribute_packed=yes])])
1020 if test "${ac_cv_c_attribute_packed}" != "no"; then
1021 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1027 case "${host_cpu}" in
1036 dnl Check for backtrace() support
1037 AC_CHECK_HEADERS(execinfo.h)
1038 AC_CHECK_FUNCS(backtrace)
1043 ALIASES="${ALIASES} cvlc rvlc"
1046 dnl Accelerated modules
1049 dnl Check for fully working MMX intrinsics
1050 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1051 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1053 [AS_HELP_STRING([--disable-mmx],
1054 [disable MMX optimizations (default auto)])],,[
1055 case "${host_cpu}" in
1066 AS_IF([test "${enable_mmx}" != "no"], [
1069 CFLAGS="${CFLAGS} -mmmx"
1070 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1071 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1072 [#include <mmintrin.h>
1074 uint64_t frobzor;]], [
1076 a = b = c = (__m64)frobzor;
1077 a = _mm_slli_pi16(a, 3);
1078 a = _mm_adds_pi16(a, b);
1079 c = _mm_srli_pi16(c, 8);
1080 c = _mm_slli_pi16(c, 3);
1081 b = _mm_adds_pi16(b, c);
1082 a = _mm_unpacklo_pi8(a, b);
1083 frobzor = (uint64_t)a;]])], [
1084 ac_cv_c_mmx_intrinsics=yes
1086 ac_cv_c_mmx_intrinsics=no
1090 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1091 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1095 CFLAGS="${CFLAGS} -mmmx"
1096 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1097 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1099 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1102 ac_cv_mmx_inline=yes
1107 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1108 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1112 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1113 [ac_cv_mmxext_inline], [
1114 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1116 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1119 ac_cv_mmxext_inline=yes
1121 ac_cv_mmxext_inline=no
1125 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1126 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
1130 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1131 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1133 dnl Check for fully workin SSE2 intrinsics
1134 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1135 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1137 [AS_HELP_STRING([--disable-sse],
1138 [disable SSE (1-4) optimizations (default auto)])],, [
1139 case "${host_cpu}" in
1149 AS_IF([test "${enable_sse}" != "no"], [
1150 ARCH="${ARCH} sse sse2"
1153 CFLAGS="${CFLAGS} -msse2"
1154 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1155 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1156 [#include <emmintrin.h>
1158 uint64_t frobzor;]], [
1160 a = b = c = _mm_set1_epi64((__m64)frobzor);
1161 a = _mm_slli_epi16(a, 3);
1162 a = _mm_adds_epi16(a, b);
1163 c = _mm_srli_epi16(c, 8);
1164 c = _mm_slli_epi16(c, 3);
1165 b = _mm_adds_epi16(b, c);
1166 a = _mm_unpacklo_epi8(a, b);
1167 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1168 ac_cv_c_sse2_intrinsics=yes
1170 ac_cv_c_sse2_intrinsics=no
1174 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1175 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1179 CFLAGS="${CFLAGS} -msse"
1180 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1181 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1183 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1186 ac_cv_sse_inline=yes
1192 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1193 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1196 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1197 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1199 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1202 ac_cv_sse2_inline=yes
1204 ac_cv_sse2_inline=no
1207 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1208 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1213 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1214 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1216 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1219 ac_cv_sse3_inline=yes
1221 ac_cv_sse3_inline=no
1225 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1226 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1228 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1229 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1231 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1234 ac_cv_ssse3_inline=yes
1236 ac_cv_ssse3_inline=no
1240 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1241 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1244 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1245 [ac_cv_sse4_1_inline], [
1246 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1248 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1251 ac_cv_sse4_1_inline=yes
1253 ac_cv_sse4_1_inline=no
1257 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1258 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1261 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1262 [ac_cv_sse4_2_inline], [
1263 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1265 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1268 ac_cv_sse4_2_inline=yes
1270 ac_cv_sse4_2_inline=no
1274 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1275 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1278 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1279 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1281 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1284 ac_cv_sse4a_inline=yes
1286 ac_cv_sse4a_inline=no
1290 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1291 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1293 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1296 CFLAGS="${CFLAGS} -mmmx"
1298 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1299 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1301 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1304 ac_cv_3dnow_inline=yes
1306 ac_cv_3dnow_inline=no
1310 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1311 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1312 [Define to 1 if 3D Now! inline assembly is available.])
1315 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1319 [AS_HELP_STRING([--disable-neon],
1320 [disable NEON optimizations (default auto)])],, [
1321 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1323 AS_IF([test "${enable_neon}" != "no"], [
1325 CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
1326 AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
1329 asm volatile("vqmovun.s64 d0, q1":::"d0");
1332 ac_cv_arm_neon="yes"
1339 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
1342 AC_ARG_ENABLE(altivec,
1343 [AS_HELP_STRING([--disable-altivec],
1344 [disable AltiVec optimizations (default auto)])],, [
1345 AS_IF([test "${host_cpu}" = "powerpc"],
1346 [enable_altivec=yes], [enable_altivec=no])
1349 AS_IF([test "${enable_altivec}" = "yes"], [
1350 ARCH="${ARCH} altivec";
1352 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1353 [ac_cv_altivec_inline],
1354 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1355 ac_cv_altivec_inline="yes",
1356 [CFLAGS="${CFLAGS} -Wa,-m7400"
1357 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1358 [ac_cv_altivec_inline="-Wa,-m7400"],
1359 ac_cv_altivec_inline=no)
1362 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1363 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1364 [Define to 1 if AltiVec inline assembly is available.])
1365 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1366 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1367 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1368 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1373 dnl The AltiVec C extensions
1375 dnl There are several possible cases:
1376 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1377 dnl need <altivec.h>
1378 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1379 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1380 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1381 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1382 dnl - Others: test should fail
1384 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1386 [# OS X/PPC test (gcc 4.x)
1387 CFLAGS="${CFLAGS} -mpim-altivec -force_cpusubtype_ALL"
1388 AC_TRY_COMPILE([vector unsigned char foo;],
1389 [vec_ld(0, (unsigned char *)0);],
1390 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1391 [# OS X/PPC test (gcc 3.x)
1392 CFLAGS="${CFLAGS} -faltivec"
1393 AC_TRY_COMPILE([vector unsigned char foo;],
1394 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1395 [ac_cv_c_altivec="-faltivec"],
1396 dnl Below this are the Linux tests
1397 [# Linux/PPC test (gcc 4.x)
1398 CFLAGS="${CFLAGS} -maltivec"
1399 AC_TRY_COMPILE([#include <altivec.h>],
1400 [vec_ld(0, (unsigned char *)0);],
1401 [ac_cv_c_altivec="-maltivec"],
1402 [# Linux/PPC test (gcc 3.3)
1403 CFLAGS="${CFLAGS} -maltivec -mabi=altivec"
1404 AC_TRY_COMPILE([#include <altivec.h>],
1405 [vec_ld(0, (unsigned char *)0);],
1407 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1408 [# Linux/PPC test (gcc 3.3)
1409 CFLAGS="${CFLAGS} -fvec"
1410 AC_TRY_COMPILE([#include <altivec.h>],
1411 [vec_ld(0, (unsigned char *)0);],
1412 [ac_cv_c_altivec="-fvec"],
1413 [ac_cv_c_altivec=no])
1421 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1422 CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}"
1423 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.])
1424 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1425 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1428 AC_CHECK_HEADERS(altivec.h)
1431 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1432 AC_CACHE_CHECK([if linker needs -framework vecLib],
1434 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1436 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1437 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1440 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1445 AC_ARG_ENABLE(optimize-memory,
1446 [AS_HELP_STRING([--enable-optimize-memory],
1447 [optimize memory usage over performance])])
1448 if test "${enable_optimize_memory}" = "yes"; then
1449 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1453 dnl Allow running as root (useful for people running on embedded platforms)
1455 AC_ARG_ENABLE(run-as-root,
1456 [AS_HELP_STRING([--enable-run-as-root],
1457 [allow running VLC as root (default disabled)])])
1458 AS_IF([test "${enable_run_as_root}" = "yes"],[
1459 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1460 [Define to 1 to allow running VLC as root (uid 0).])
1467 [AS_HELP_STRING([--disable-sout],
1468 [disable streaming output (default enabled)])])
1469 AS_IF([test "${enable_sout}" != "no"], [
1470 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1472 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1476 [AS_HELP_STRING([--disable-lua],
1477 [disable LUA scripting support (default enabled)])])
1478 if test "${enable_lua}" != "no"
1480 PKG_CHECK_MODULES(LUA, lua5.1,
1483 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1484 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1487 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1489 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1492 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1493 [LUA_LIBS="-llua5.1"],
1494 AC_CHECK_LIB( lua51 , luaL_newstate,
1495 [LUA_LIBS="-llua51"],
1496 AC_CHECK_LIB( lua , luaL_newstate,
1504 if test "x${have_lua}" = "xyes" ; then
1505 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1506 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1508 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.])
1510 AC_ARG_VAR([LUAC], [LUA byte compiler])
1511 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1512 AS_IF([test "${LUAC}" = "false"], [
1513 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1516 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1522 AC_ARG_ENABLE(httpd,
1523 [AS_HELP_STRING([--disable-httpd],
1524 [disable the built-in HTTP server (default enabled)])])
1525 if test "${enable_httpd}" != "no"
1527 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1529 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1533 dnl VideoLAN manager
1536 [AS_HELP_STRING([--disable-vlm],
1537 [disable the stream manager (default enabled)])],,
1538 [enable_vlm="${enable_sout}"])
1539 AS_IF([test "${enable_vlm}" != "no"], [
1540 AS_IF([test "${enable_sout}" = "no"], [
1541 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1543 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1545 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1552 EXTEND_HELP_STRING([Input plugins:])
1555 dnl libproxy support
1557 AC_ARG_ENABLE(libproxy,
1558 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1559 AS_IF([test "${enable_libproxy}" != "no"], [
1560 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1561 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1562 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1563 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1565 AS_IF([test -n "${enable_libproxy}"], [
1566 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1574 AC_ARG_ENABLE(live555,
1575 [AS_HELP_STRING([--enable-live555],
1576 [enable RTSP input through live555 (default enabled)])])
1578 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1582 dnl detect include paths
1583 AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [
1584 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1586 AS_IF([test ${SYS} != "os2"], [
1587 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
1588 CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
1590 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
1591 CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
1592 LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
1597 AS_IF([test "${SYS}" = "solaris"], [
1598 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1600 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1601 LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
1604 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1605 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1606 [#include <liveMedia_version.hh>
1607 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
1617 AS_IF([test "$ac_cv_live555" = "no"], [
1618 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1619 Version 2011.12.23 or later is required to proceed.
1620 You can get an updated one from http://www.live555.com/liveMedia .])
1621 AS_IF([test -n "${enable_live555}"], [
1622 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1625 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1626 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1627 AS_IF([test "${SYS}" = "mingw32"], [
1628 # add ws2_32 for closesocket, select, recv
1629 other_libs="$other_libs -lws2_32"
1632 dnl We need to check for pic because live555 don't provide shared libs
1633 dnl and we want to build a plugins so we need -fPIC on some arch.
1634 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1635 VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
1636 AC_CHECK_LIB(liveMedia_pic, main, [
1637 VLC_ADD_PLUGIN([live555])
1638 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1640 AC_CHECK_LIB(liveMedia, main, [
1641 VLC_ADD_PLUGIN([live555])
1642 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1643 ],[],[${other_libs}])],[${other_libs_pic}])
1650 dnl IIDC and DV FireWire input modules
1652 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1653 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1656 dnl - linsys modules: access module check for libzvbi
1658 AC_ARG_ENABLE(linsys,
1659 [AS_HELP_STRING([--enable-linsys],
1660 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1661 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1662 VLC_ADD_PLUGIN([linsys_hdsdi])
1663 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1664 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1665 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1666 VLC_ADD_PLUGIN([linsys_sdi]) ],
1667 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1672 dnl dvdread module: check for libdvdread
1674 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1677 dnl libdvdnav plugin
1679 AC_ARG_ENABLE(dvdnav,
1680 [AS_HELP_STRING([--disable-dvdnav],
1681 [disable DVD navigation with libdvdnav (default auto)])])
1682 if test "${enable_dvdnav}" != "no"
1684 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1685 VLC_ADD_PLUGIN([dvdnav])
1686 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1687 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1688 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1689 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1690 [], [${LIBS_dvdnav}])
1691 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1692 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1693 [], [${LIBS_dvdnav}])],
1694 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1698 dnl Blu-ray Disc Support with libbluray
1700 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) )
1703 dnl OpenCV wrapper and example filters
1705 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
1709 dnl libsmbclient plugin
1712 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1713 if test "${enable_smb}" != "no"; then
1714 AC_CHECK_HEADERS(libsmbclient.h,
1715 [ VLC_ADD_PLUGIN([access_smb])
1716 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1717 [ if test -n "${enable_smb}"; then
1718 AC_MSG_ERROR([cannot find libsmbclient headers])
1724 dnl sftp access support
1726 PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
1731 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1732 [disable Video4Linux version 2 (default auto)])])
1734 AS_IF([test "$enable_v4l2" != "no"], [
1735 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1739 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1742 dnl special access module for Blackmagic SDI cards
1744 AC_ARG_ENABLE(decklink,
1745 [AS_HELP_STRING([--disable-decklink],
1746 [disable Blackmagic DeckLink SDI input (default auto)])])
1747 AC_ARG_WITH(decklink_sdk,
1748 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1749 [ location of Blackmagic DeckLink SDI SDK])])
1751 if test "${enable_decklink}" != "no"
1753 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1755 VLC_ADD_CXXFLAGS([decklink],[-I${with_decklink_sdk}/include])
1758 CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_decklink}"
1760 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1763 AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)
1768 AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ])
1772 dnl gnomeVFS access module
1774 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1779 PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no])
1782 dnl Built-in CD-DA and VCD module
1785 [AS_HELP_STRING([--disable-vcd],
1786 [disable built-in VCD and CD-DA support (default enabled)])])
1788 AC_ARG_ENABLE(libcddb,
1789 [AS_HELP_STRING([--disable-libcddb],
1790 [disable CDDB for Audio CD (default enabled)])])
1792 if test "${enable_vcd}" != "no"
1794 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1795 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1797 VLC_ADD_PLUGIN([vcd cdda])
1802 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1803 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1805 VLC_ADD_PLUGIN([vcd cdda])
1806 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1811 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1812 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1814 VLC_ADD_PLUGIN([vcd cdda])
1815 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1820 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1822 VLC_ADD_PLUGIN([vcd cdda])
1825 if test "${SYS}" = "darwin"
1827 VLC_ADD_PLUGIN([vcd cdda])
1828 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1829 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1832 if test "$enable_libcddb" != "no"; then
1833 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1835 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1836 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1837 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1839 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1847 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1848 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1849 [#include <linux/dvb/version.h>
1850 #if (DVB_API_VERSION < 5)
1851 # error Linux DVB API v3.2 and older are not supported.
1853 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1854 # error Linux DVB API v5.0 is unsupported. Please update.
1857 ac_cv_linux_dvb_5_1=yes
1859 ac_cv_linux_dvb_5_1=no
1861 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1864 dnl Screen capture module
1866 AC_ARG_ENABLE(screen,
1867 [AS_HELP_STRING([--enable-screen],
1868 [disable screen capture (default enabled)])])
1869 if test "${enable_screen}" != "no"; then
1870 if test "${SYS}" = "darwin"; then
1871 AC_CHECK_HEADERS(OpenGL/gl.h, [
1872 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1873 VLC_ADD_PLUGIN([screen])
1880 dnl Real RTSP plugin
1882 AC_ARG_ENABLE(realrtsp,
1883 [ --enable-realrtsp Real RTSP module (default disabled)])
1884 if test "${enable_realrtsp}" = "yes"; then
1885 VLC_ADD_PLUGIN([realrtsp])
1890 AC_ARG_ENABLE(macosx-eyetv,
1891 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1892 if test "x${enable_macosx_eyetv}" != "xno" &&
1893 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1895 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1896 VLC_ADD_PLUGIN([access_eyetv])
1901 AC_ARG_ENABLE(macosx-qtkit,
1902 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1903 if test "x${enable_macosx_qtkit}" != "xno" &&
1904 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1906 VLC_ADD_PLUGIN([qtcapture])
1907 VLC_ADD_PLUGIN([qtsound])
1909 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1916 EXTEND_HELP_STRING([Mux/Demux plugins:])
1919 dnl libdvbpsi check for ts mux/demux
1922 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1923 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1927 dnl GME demux plugin
1930 [AS_HELP_STRING([--enable-gme],
1931 [use Game Music Emu (default auto)])])
1932 AS_IF([test "${enable_gme}" != "no"], [
1933 AC_CHECK_HEADER([gme/gme.h], [
1934 VLC_ADD_LIBS([gme], [-lgme])
1935 VLC_ADD_PLUGIN([gme])
1937 AS_IF([test "x${enable_gme}" != "x"], [
1938 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1948 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1949 AS_IF([test "${enable_sid}" != "no"], [
1950 PKG_CHECK_MODULES(SID, [libsidplay2], [
1952 oldCPPFLAGS="$CPPFLAGS"
1953 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1954 AC_CHECK_HEADER([sidplay/builders/resid.h], [
1955 VLC_ADD_PLUGIN([sid])
1956 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
1957 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
1959 AS_IF([test -n "${enable_sid}"],
1960 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1961 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1964 CPPFLAGS="$oldCPPFLAGS"
1967 AS_IF([test "x${enable_sid}" = "xyes"],
1968 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1969 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1976 dnl ogg demux plugin
1978 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
1979 if test "${enable_sout}" != "no"; then
1980 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
1981 dnl Check for libshout
1982 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
1986 dnl matroska demux plugin
1989 [AS_HELP_STRING([--disable-mkv],
1990 [do not use libmatroska (default auto)])])
1991 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1993 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1994 AC_MSG_CHECKING(for libebml version >= 1.0.0)
1996 [#include <ebml/EbmlVersion.h>
1997 #ifdef LIBEBML_VERSION
1998 #if LIBEBML_VERSION >= 0x010000
2002 [AC_MSG_RESULT([yes])
2003 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2004 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2006 [#include <matroska/KaxVersion.h>
2007 #ifdef LIBMATROSKA_VERSION
2008 #if LIBMATROSKA_VERSION >= 0x010000
2012 [AC_MSG_RESULT([yes])
2013 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2014 VLC_ADD_CXXFLAGS([mkv],[])
2015 AC_CHECK_LIB(ebml_pic, main, [
2016 VLC_ADD_PLUGIN([mkv])
2017 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2019 AC_CHECK_LIB(ebml, main, [
2020 VLC_ADD_PLUGIN([mkv])
2021 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2026 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.])
2030 [AC_MSG_RESULT([no])
2031 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.])
2038 dnl modplug demux plugin
2041 [AS_HELP_STRING([--disable-mod],
2042 [do not use libmodplug (default auto)])])
2043 if test "${enable_mod}" != "no" ; then
2044 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2045 VLC_ADD_PLUGIN([mod])
2046 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2047 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2049 AS_IF([test -n "${enable_mod}"],
2050 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2051 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2056 dnl mpc demux plugin
2059 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2060 if test "${enable_mpc}" != "no"
2062 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2063 VLC_ADD_PLUGIN([mpc])
2064 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2065 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2066 VLC_ADD_PLUGIN([mpc])
2067 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2074 EXTEND_HELP_STRING([Codec plugins:])
2079 AC_ARG_ENABLE(wma-fixed,
2080 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2081 if test "${enable_wma_fixed}" = "yes"
2083 VLC_ADD_PLUGIN([wma_fixed])
2087 dnl shine fixed point mp3 encoder
2089 AC_ARG_ENABLE(shine,
2090 [ --enable-shine shine mp3 encoding module (default disabled)])
2091 if test "${enable_shine}" = "yes"
2093 VLC_ADD_PLUGIN([shine])
2097 dnl openmax il codec plugin
2099 AC_ARG_ENABLE(omxil,
2100 [ --enable-omxil openmax il codec module (default disabled)])
2101 if test "${enable_omxil}" = "yes"
2103 VLC_ADD_PLUGIN([omxil])
2107 dnl CrystalHD codec plugin
2109 AC_ARG_ENABLE(crystalhd,
2110 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2111 if test "${enable_crystalhd}" != "no"; then
2112 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2113 VLC_ADD_PLUGIN([crystalhd])
2114 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2116 if test "${SYS}" = "mingw32" ; then
2117 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2118 VLC_ADD_PLUGIN([crystalhd])
2119 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2120 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2123 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2124 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2125 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2126 ],[#define __LINUX_USER__
2127 #include <libcrystalhd/bc_dts_types.h>
2131 #include <libcrystalhd/bc_dts_types.h>
2139 [ --enable-mad libmad module (default enabled)])
2140 if test "${enable_mad}" != "no"
2143 [ --with-mad=PATH path to libmad],[],[])
2144 if test "${with_mad}" != "no" -a -n "${with_mad}"
2146 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2147 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2150 AC_ARG_WITH(mad-tree,
2151 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2152 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2154 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2155 if test -z "${real_mad_tree}"
2157 dnl The given directory can't be found
2159 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2161 dnl Use a custom libmad
2162 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2163 if test -f ${real_mad_tree}/mad.h
2166 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2167 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2169 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2170 AC_CHECK_LIB(mad, mad_bit_init, [
2171 VLC_ADD_PLUGIN([mpgatofixed32])
2172 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2173 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2178 AC_MSG_ERROR([the specified tree does not have mad.h])
2182 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2183 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2184 AC_CHECK_HEADERS(mad.h, ,
2185 [ 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.]) ])
2186 AC_CHECK_LIB(mad, mad_bit_init, [
2187 VLC_ADD_PLUGIN([mpgatofixed32])
2188 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2189 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2195 AC_ARG_ENABLE(merge-ffmpeg,
2196 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2197 enable_merge_ffmpeg="no"
2199 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2202 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2203 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2204 [ac_cv_ld_bsymbolic],
2205 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2209 dnl avcodec decoder/encoder plugin
2211 AC_ARG_ENABLE(avcodec,
2212 [ --enable-avcodec libavcodec codec (default enabled)])
2213 AS_IF([test "${enable_avcodec}" != "no"], [
2214 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0],
2217 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2218 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2219 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2220 AC_CHECK_HEADERS(libavutil/avutil.h)
2221 VLC_ADD_PLUGIN([avcodec])
2222 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2223 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2224 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2226 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2230 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2237 dnl libva needs avcodec
2239 AC_ARG_ENABLE(libva,
2240 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2242 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2243 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2245 have_avcodec_vaapi="no"
2246 AS_IF([test "${enable_libva}" != "no"], [
2247 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2249 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2250 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2251 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2252 AC_MSG_NOTICE([VAAPI acceleration activated])
2253 have_avcodec_vaapi="yes"
2255 AS_IF([test -n "${enable_libva}"], [
2256 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2258 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2263 AS_IF([test -n "${enable_libva}"], [
2264 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2266 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2270 AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
2273 dnl dxva2 needs avcodec
2275 AC_ARG_ENABLE(dxva2,
2276 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2278 have_avcodec_dxva2="no"
2279 AS_IF([test "${enable_dxva2}" != "no"], [
2280 if test "${SYS}" = "mingw32"; then
2281 AS_IF([test "x${have_avcodec}" = "xyes"], [
2282 AC_CHECK_HEADERS(dxva2api.h,
2284 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2285 AC_MSG_NOTICE([DxVA2 acceleration activated])
2286 have_avcodec_dxva2="yes"
2288 AS_IF([test "${enable_dxva2}" = "yes"],
2289 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2290 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2291 ], [#undef _WIN32_WINNT
2292 /* DXVA2 is only available in Vista and above */
2293 #define _WIN32_WINNT 0x600])
2295 AS_IF([test "${enable_dxva2}" = "yes"],
2296 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2297 [AC_MSG_WARN([dxva2api.h not found])])
2300 AS_IF([test "x${enable_dxva2}" != "x"], [
2301 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2306 AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
2309 dnl vda needs avcodec
2312 [ --enable-vda VDA support (default auto)])
2314 have_avcodec_vda="no"
2315 AS_IF([test "${enable_vda}" != "no"], [
2316 if test "${SYS}" = "darwin"; then
2317 AS_IF([test "x${have_avcodec}" = "xyes"], [
2318 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2320 AC_CHECK_HEADERS(libavcodec/vda.h, [
2321 have_avcodec_vda="yes"
2323 AS_IF([test "${enable_vda}" = "yes"],
2324 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2325 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2328 AS_IF([test "${enable_vda}" = "yes"],
2329 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2330 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2333 AS_IF([test "x${enable_vda}" != "x"], [
2334 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2339 AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"])
2342 dnl stream_out switcher needs libavcodec
2344 AC_ARG_ENABLE(switcher,
2345 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2346 AS_IF([test "${enable_switcher}" = "yes"], [
2347 AS_IF([test "x${have_avcodec}" = "xyes"], [
2348 VLC_ADD_PLUGIN([stream_out_switcher])
2349 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2350 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2351 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2357 dnl avformat demuxer/muxer plugin
2360 AC_ARG_ENABLE(avformat,
2361 [ --enable-avformat libavformat containers (default enabled)],, [
2362 enable_avformat="${have_avcodec}"
2364 if test "${enable_avformat}" != "no"
2366 PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil],
2369 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2370 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2371 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2372 AC_CHECK_HEADERS(libavutil/avutil.h)
2373 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2374 VLC_ADD_PLUGIN([avformat access_avio])
2375 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2376 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2377 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2378 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2381 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2382 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2386 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2391 dnl swscale image scaling and conversion plugin
2394 AC_ARG_ENABLE(swscale,
2395 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2396 (default enabled)]))
2397 if test "${enable_swscale}" != "no"
2399 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2402 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2403 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2404 AC_CHECK_HEADERS(libswscale/swscale.h)
2405 VLC_ADD_PLUGIN([swscale])
2406 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2407 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2408 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2409 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2413 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2421 AC_ARG_ENABLE(postproc,
2422 [ --enable-postproc libpostproc image post-processing (default auto)])
2423 if test "${enable_postproc}" != "no"
2425 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2428 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2429 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2430 AC_CHECK_HEADERS(postproc/postprocess.h)
2431 VLC_ADD_PLUGIN([postproc])
2432 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2433 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2436 AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
2441 dnl faad decoder plugin
2444 [ --enable-faad faad codec (default auto)])
2445 if test "${enable_faad}" != "no"; then
2446 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2447 if test -n "${with_faad_tree}"; then
2448 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2449 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2450 if test -z "${real_faad_tree}"; then
2451 dnl The given directory can't be found
2453 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2455 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2456 dnl Use the custom faad
2457 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2458 VLC_ADD_PLUGIN([faad])
2459 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2460 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2462 dnl The given libfaad wasn't built
2464 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2468 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2469 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2470 AC_CHECK_HEADERS(faad.h,
2471 [ AC_CHECK_LIB(faad, faacDecOpen, [
2472 VLC_ADD_PLUGIN([faad])
2473 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2474 AC_CHECK_LIB(faad, NeAACDecOpen, [
2475 VLC_ADD_PLUGIN([faad])
2476 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2477 AS_IF([test "${enable_faad}" = "yes"],
2478 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2479 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2480 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2481 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2482 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2488 dnl twolame encoder plugin
2490 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2493 dnl fdk-aac encoder plugin
2495 PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
2498 dnl QuickTime plugin
2500 AC_ARG_ENABLE(quicktime,
2501 [ --enable-quicktime QuickTime module (deprecated)])
2502 if test "${enable_quicktime}" = "yes"; then
2503 if test "${SYS}" = "mingw32"; then
2504 VLC_ADD_PLUGIN([quicktime])
2506 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2507 [ VLC_ADD_PLUGIN([quicktime])
2508 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2509 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2514 dnl A52/AC3 decoder plugin
2517 [ --enable-a52 A/52 support with liba52 (default enabled)])
2518 if test "${enable_a52}" != "no"
2521 [ --with-a52=PATH a52 headers and libraries])
2522 AC_ARG_WITH(a52-tree,
2523 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2524 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2526 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2527 if test -z "${real_a52_tree}"
2529 dnl The given directory can't be found
2531 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2533 dnl Use a custom a52dec
2534 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2535 if test -f ${real_a52_tree}/include/a52.h
2538 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2539 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2541 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2542 AC_CHECK_LIB(a52, a52_free, [
2543 VLC_ADD_PLUGIN([a52tofloat32])
2544 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2545 VLC_ADD_LIBS([a52tofloat32],[-la52])
2547 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2549 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2551 AC_MSG_ERROR([the specified tree has not been compiled])
2556 AC_MSG_ERROR([the specified tree does not have a52.h])
2559 if test -z "${with_a52}"
2564 LDFLAGS_test="-L${with_a52}/lib"
2565 CPPFLAGS_test="-I${with_a52}/include"
2568 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2569 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2570 AC_CHECK_HEADERS(a52dec/a52.h, [
2571 AC_CHECK_LIB(a52, a52_free, [
2572 VLC_ADD_PLUGIN([a52tofloat32])
2573 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2574 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2576 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.])
2579 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.])
2586 dnl DTS Coherent Acoustics decoder plugin
2588 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2593 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2598 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2603 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2608 AC_ARG_ENABLE(tremor,
2609 [ --enable-tremor Tremor decoder support (default disabled)])
2610 if test "${enable_tremor}" = "yes"
2612 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2613 VLC_ADD_PLUGIN([tremor])
2614 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2621 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2623 AS_IF([test "${enable_speex}" != "no"], [
2624 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2627 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2630 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2635 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
2638 dnl theora decoder plugin
2640 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2643 dnl dirac encoder plugin
2645 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2648 dnl schroedinger decoder plugin (for dirac format video)
2650 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2653 dnl PNG decoder module
2656 [ --enable-png PNG support (default enabled)])
2657 AS_IF([test "${enable_png}" != "no"], [
2658 AC_CHECK_HEADERS(png.h, [
2660 LDFLAGS="${LDFLAGS} -lz $LIBM"
2661 AC_CHECK_LIB(png, png_set_rows, [
2662 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2663 VLC_ADD_PLUGIN([png])
2670 dnl H264 encoder plugin (10-bit lib264)
2672 AC_ARG_ENABLE(x26410b,
2673 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2674 if test "${enable_x26410b}" != "no"; then
2675 AC_ARG_WITH(x26410b-tree,
2676 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2677 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2679 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2680 if test -z "${real_x26410b_tree}"
2683 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2685 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2686 if test -f ${with_x26410b_tree}/x264_config.h
2689 AC_MSG_CHECKING(for 10-bit build of x264)
2690 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2692 VLC_ADD_PLUGIN([x26410b])
2693 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2694 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2697 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2701 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2704 PKG_CHECK_MODULES(X26410B, x26410b, [
2705 VLC_ADD_PLUGIN([x26410b])
2706 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2707 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2708 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2710 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2711 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2712 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2715 if test "${enable_x26410b}" = "yes"; then
2716 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2724 dnl H264 encoder plugin (using libx264)
2727 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2728 if test "${enable_x264}" != "no"; then
2729 AC_ARG_WITH(x264-tree,
2730 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2731 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2733 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2734 if test -z "${real_x264_tree}"
2736 dnl The given directory can't be found
2738 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2740 dnl Use a custom libx264
2741 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2742 if test -f ${real_x264_tree}/x264.h
2745 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2746 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2747 PKG_CHECK_MODULES(X264,x264, [
2748 VLC_ADD_PLUGIN([x264])
2749 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2750 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2751 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2752 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2755 AC_MSG_ERROR([the specified tree has not been compiled])
2759 AC_MSG_ERROR([the specified tree does not have x264.h])
2762 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2763 VLC_ADD_PLUGIN([x264])
2764 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2766 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2767 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2770 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2771 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2772 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2775 if test "${enable_x264}" = "yes"; then
2776 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2783 dnl libfluidsynth (MIDI synthetizer) plugin
2785 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2788 dnl Teletext Modules
2789 dnl vbi decoder plugin (using libzbvi)
2794 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2795 libzvbi (default enabled)]))
2797 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2798 zvbi) (default enabled if zvbi is absent)]))
2800 AS_IF( [test "${enable_zvbi}" != "no"],[
2801 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2803 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2804 if test "${SYS}" = "mingw32"; then
2805 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2807 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2808 VLC_ADD_PLUGIN([zvbi])
2809 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2810 AS_IF( [test "${enable_telx}" = "yes"],[
2811 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2814 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2817 AS_IF( [test "${enable_telx}" != "no" ],[
2818 VLC_ADD_PLUGIN([telx])
2822 dnl libass subtitle rendering module
2824 AC_ARG_ENABLE(libass,
2825 [ --enable-libass Subtitle support using libass (default enabled)])
2826 AS_IF( [test "${enable_libass}" != "no"], [
2827 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2829 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2830 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2831 VLC_ADD_PLUGIN([libass])
2833 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2834 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2835 VLC_ADD_LIBS([libass],[-lfontconfig])
2838 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2843 dnl kate decoder plugin
2845 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2848 dnl tiger rendering for kate decoder plugin
2850 AC_ARG_ENABLE(tiger,
2851 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2852 AS_IF([test "${enable_tiger}" != "no"], [
2853 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2854 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2855 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2856 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2857 AS_IF([test -n "${enable_tiger}"], [
2858 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2868 EXTEND_HELP_STRING([Video plugins:])
2873 PKG_CHECK_MODULES([GL], [gl], [
2876 AC_CHECK_HEADER([GL/gl.h], [
2885 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2886 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2887 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2888 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2891 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2894 AS_IF([test "$enable_egl" != "no"], [
2895 PKG_CHECK_MODULES([EGL], [egl], [
2896 VLC_ADD_PLUGIN([gl])
2897 VLC_ADD_PLUGIN([egl])
2906 AC_CHECK_HEADERS(X11/Xlib.h)
2909 dnl X C Bindings modules
2912 [ --enable-xcb X11 support with XCB (default enabled)],, [
2913 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2919 AC_ARG_ENABLE(xvideo,
2920 [ --enable-xvideo XVideo support (default enabled)],, [
2921 enable_xvideo="$enable_xcb"
2924 [ --enable-glx OpenGL support through GLX (default enabled)],, [
2925 enable_glx="$enable_xcb"
2929 AS_IF([test "${enable_xcb}" != "no"], [
2931 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
2933 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
2934 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
2936 AS_IF([test "${enable_xvideo}" != "no"], [
2937 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
2938 VLC_ADD_PLUGIN([xcb_xv])
2942 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
2943 VLC_ADD_PLUGIN([panoramix])
2944 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
2945 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
2947 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
2950 PKG_CHECK_MODULES(XPROTO, [xproto], [
2951 VLC_ADD_PLUGIN([xwd])
2954 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
2955 VLC_ADD_PLUGIN([globalhotkeys])
2956 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
2958 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
2961 AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.])
2964 AS_IF([test "${enable_glx}" != "no"], [
2965 AS_IF([test "${have_gl}" != "yes"], [
2966 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
2968 VLC_ADD_PLUGIN([xcb_glx])
2969 VLC_ADD_PLUGIN([glx])
2970 VLC_ADD_PLUGIN([gl])
2973 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
2977 dnl VDPAU needs X11 and avcodec
2979 AC_ARG_ENABLE(vdpau,
2980 [AS_HELP_STRING([--enable-vdpau],
2981 [VDPAU hardware decoder support (default auto)])])
2983 AS_IF([test "${enable_vdpau}" != "no"], [
2984 PKG_CHECK_MODULES([VDPAU], [vdpau], [
2986 AS_IF([test "${no_x}" = "yes"], [
2987 AC_MSG_ERROR([VDPAU requires Xlib (X11).])
2989 AC_MSG_NOTICE([VDPAU acceleration activated])
2991 AS_IF([test -n "${enable_vdpau}"], [
2992 AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
2996 dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
2998 have_avcodec_vdpau="no"
2999 AS_IF([test "${have_vdpau}" = "yes"], [
3000 PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [
3001 have_avcodec_vdpau="yes"
3003 AS_IF([test -n "${enable_vdpau}"], [
3004 AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3006 AC_MSG_WARN([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3010 AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"])
3017 [ --enable-sdl SDL support (default enabled)])
3018 AC_ARG_ENABLE(sdl-image,
3019 [ --enable-sdl-image SDL image support (default enabled)])
3020 if test "${enable_sdl}" != "no"
3022 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3023 # SDL on Darwin is heavily patched and can only run SDL_image
3024 if test "${SYS}" != "darwin"; then
3025 VLC_ADD_PLUGIN([vout_sdl])
3027 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3028 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3030 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3031 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3034 AS_IF([ test "${enable_sdl_image}" != "no"],[
3035 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3036 VLC_ADD_PLUGIN([sdl_image])
3037 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3038 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3039 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3043 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3050 AC_ARG_ENABLE(macosx-vout,
3051 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3052 if test "x${enable_macosx_vout}" != "xno" &&
3053 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3055 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3056 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3057 VLC_ADD_PLUGIN([vout_macosx])
3064 AC_ARG_ENABLE(freetype,
3065 [ --enable-freetype freetype support (default auto)])
3066 AC_ARG_ENABLE(fribidi,
3067 [ --enable-fribidi fribidi support (default auto)])
3068 AC_ARG_ENABLE(fontconfig,
3069 [ --enable-fontconfig fontconfig support (default auto)])
3071 if test "${enable_freetype}" != "no"; then
3072 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3074 VLC_ADD_PLUGIN([freetype])
3075 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3076 if test "${SYS}" = "mingw32"; then
3077 VLC_ADD_LIBS([freetype],[-liconv -lz])
3079 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3081 AC_CHECK_HEADERS(Carbon/Carbon.h,
3082 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3084 dnl fontconfig support
3085 if test "${SYS}" != "mingw32"; then
3086 if test "${enable_fontconfig}" != "no"; then
3087 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3088 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3089 VLC_ADD_LIBS([freetype],[-lfontconfig])
3090 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3093 VLC_ADD_LIBS([freetype],[-lgdi32])
3097 if test "${enable_fribidi}" != "no"; then
3098 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3099 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3100 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3101 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3106 AS_IF([test -n "${enable_freetype}"],[
3107 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3114 dnl QuartzText vout module (iOS/Mac OS)
3116 AC_ARG_ENABLE(macosx-quartztext,
3117 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3118 if test "x${enable_macosx_quartztext}" != "xno" &&
3119 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3121 VLC_ADD_PLUGIN([quartztext])
3122 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3128 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3131 dnl android surface module
3133 AC_ARG_ENABLE(android-surface,
3134 [ --enable-android-surface Android Surface video output module (default disabled)])
3135 if test "${enable_android_surface}" = "yes"; then
3136 if test "${HAVE_ANDROID}" = "1"; then
3137 VLC_ADD_PLUGIN([android_surface])
3138 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3146 AC_ARG_ENABLE(ios-vout,
3147 [ --enable-ios-vout iOS video output module (default disabled)])
3148 if test "${enable_ios_vout}" = "yes"
3150 VLC_ADD_PLUGIN([vout_ios])
3151 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3152 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3156 dnl Windows DirectX module
3159 if test "${SYS}" = "mingw32"
3161 VLC_ADD_PLUGIN([panoramix])
3164 AC_ARG_ENABLE(directx,
3165 [AS_HELP_STRING([--enable-directx],
3166 [Microsoft DirectX support (default enabled on Windows)])],, [
3167 AS_IF([test "${SYS}" = "mingw32"], [
3168 enable_directx="yes"
3174 AS_IF([test "${enable_directx}" != "no"], [
3176 AC_CHECK_HEADERS(ddraw.h, [
3179 AC_MSG_ERROR([Cannot find DirectX headers!])
3183 AC_CHECK_HEADERS(GL/wglew.h, [
3184 VLC_ADD_PLUGIN([glwin32])
3186 #include <windows.h>
3191 AC_CHECK_HEADERS(d3d9.h, [
3192 VLC_ADD_PLUGIN([direct3d])
3196 AC_CHECK_HEADERS(d2d1.h, [
3197 VLC_ADD_PLUGIN([direct2d])
3200 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3203 dnl Linux framebuffer module
3205 AC_CHECK_HEADER([linux/fb.h], [
3206 VLC_ADD_PLUGIN([fb])
3212 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3213 dnl TODO: support for static linking
3215 AC_ARG_ENABLE(directfb,
3216 [ --enable-directfb DirectFB support (default disabled)])
3217 AC_ARG_WITH(directfb,
3218 [ --with-directfb=PATH path to DirectFB headers and libraries])
3220 if test "${enable_directfb}" = "yes"; then
3221 have_directfb="false"
3222 CPPFLAGS_mydirectfb=
3224 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3225 dnl Trying the given location
3228 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3229 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3231 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3232 LIBS="${LIBS} ${LIBS_new}"
3234 dnl FIXME: too obscure
3235 AC_CHECK_HEADER([directfb.h], [
3236 AC_CHECK_LIB([direct],[direct_initialize], [
3237 AC_CHECK_LIB([fusion], [fusion_enter], [
3238 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3239 ], have_directfb="false")
3240 ], have_directfb="false")
3241 ], have_directfb="false")
3245 if test "${have_directfb}" = "true"; then
3246 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3247 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3250 dnl Look for directfb-config
3251 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3252 if test "${DIRECTFB_CONFIG}" != "no"; then
3253 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3254 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3255 have_directfb="true"
3257 dnl Trying with pkg-config
3258 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3259 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3260 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3261 have_directfb="true"
3262 ], [have_directfb="false"])
3265 if test "${have_directfb}" = "true"; then
3266 VLC_ADD_PLUGIN([directfb])
3267 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3268 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3270 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3278 [ --enable-aa aalib output (default disabled)])
3279 if test "${enable_aa}" = "yes"
3281 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3282 if test "${have_aa}" = "true"
3284 VLC_ADD_PLUGIN([aa])
3285 VLC_ADD_LIBS([aa],[-laa])
3286 if test "${SYS}" != "mingw32"; then
3287 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3295 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3301 [AS_HELP_STRING([--enable-kva],
3302 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3303 AS_IF([test "$SYS" = "os2"], [
3309 AS_IF([test "$enable_kva" != "no"], [
3310 AC_CHECK_HEADERS([kva.h], [
3312 AC_CHECK_LIB(kva, main, [
3318 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3324 EXTEND_HELP_STRING([Audio plugins:])
3327 dnl Pulseaudio module
3329 AC_ARG_ENABLE(pulse,
3330 [AS_HELP_STRING([--enable-pulse],
3331 [use the PulseAudio client library (default auto)])])
3333 AS_IF([test "${enable_pulse}" != "no"], [
3334 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3337 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3338 AS_IF([test "${no_x}" != "yes"], [
3340 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3342 AS_IF([test "${enable_pulse}" = "yes"], [
3343 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3344 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3348 AS_IF([test "x${enable_pulse}" != "x"], [
3349 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3354 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3360 [AS_HELP_STRING([--enable-alsa],
3361 [support the Advanced Linux Sound Architecture (default auto)])],, [
3362 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3367 AS_IF([test "${enable_alsa}" != "no"], [
3368 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
3371 AS_IF([test "x${enable_alsa}" != "x"], [
3372 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.])
3376 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3379 dnl Open Sound System module
3382 [AS_HELP_STRING([--enable-oss],
3383 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3384 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3390 AS_IF([test "$enable_oss" != "no"], [
3391 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3393 AC_CHECK_LIB(ossaudio, main, [
3394 OSS_LIBS="-lossaudio"
3399 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3402 dnl OpenBSD sndio module
3404 AC_ARG_ENABLE([sndio],
3405 [AS_HELP_STRING([--disable-sndio],
3406 [support the OpenBSD sndio (default auto)])],, [
3407 AS_IF([test "$SYS" = "opensd"], [
3412 AS_IF([test "$enable_sndio" != "no"], [
3413 AC_CHECK_HEADER([sndio.h], [
3417 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3420 dnl Windows Audio Session plugin
3422 AC_ARG_ENABLE([wasapi],
3423 [AS_HELP_STRING([--enable-wasapi],
3424 [use the Windows Audio Session API (default auto)])
3427 AS_IF([test "$enable_wasapi" != "no"], [
3428 AC_CHECK_HEADER([audioclient.h], [
3431 AS_IF([test "x${enable_wasapi}" != "x"], [
3432 AC_MSG_ERROR([Windows Audio Session API not found.])
3436 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3439 dnl win32 waveOut plugin
3441 AC_ARG_ENABLE(waveout,
3442 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3443 if test "${enable_waveout}" != "no"; then
3444 if test "${SYS}" = "mingw32"; then
3445 VLC_ADD_PLUGIN([waveout])
3446 VLC_ADD_LIBS([waveout],[-lwinmm])
3451 dnl CoreAudio plugin
3453 AC_ARG_ENABLE(macosx-audio,
3454 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3455 if test "x${enable_macosx_audio}" != "xno" &&
3456 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3458 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3459 [ VLC_ADD_PLUGIN([auhal])
3460 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3461 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3465 dnl AudioQueue plugin
3467 AC_ARG_ENABLE(audioqueue,
3468 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3469 if test "${enable_audioqueue}" = "yes"
3471 VLC_ADD_PLUGIN([audioqueue])
3472 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3478 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3481 dnl OpenSLES Android
3483 AC_ARG_ENABLE(opensles,
3484 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3485 if test "${HAVE_ANDROID}" = "1"; then
3486 if test "${enable_opensles}" = "yes"; then
3487 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3488 [ VLC_ADD_PLUGIN([opensles_android]) ],
3489 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3494 dnl libsamplerate plugin
3496 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3502 [AS_HELP_STRING([--enable-kai],
3503 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3504 AS_IF([test "$SYS" = "os2"], [
3510 AS_IF([test "$enable_kai" != "no"], [
3511 AC_CHECK_HEADERS([kai.h], [
3513 AC_CHECK_LIB(kai, main, [
3519 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3522 dnl Interface plugins
3525 EXTEND_HELP_STRING([Interface plugins:])
3531 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3532 AS_IF([test "${SYS}" = "darwin"], [
3536 AS_IF([test "${enable_qt}" != "no"], [
3537 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3538 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3539 AS_IF([test -n "${enable_qt}"],[
3540 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3542 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3548 AS_IF([test "${enable_qt}" != "no"], [
3549 VLC_ADD_PLUGIN([qt4])
3550 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3551 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3552 ALIASES="${ALIASES} qvlc"
3557 AC_MSG_CHECKING([whether Qt uses Xlib])
3558 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3559 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3561 #if !defined (Q_WS_X11)
3565 AC_MSG_RESULT([yes])
3566 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3567 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3575 AS_IF([test "${SYS}" = "mingw32"], [
3576 VLC_ADD_LIBS([qt4],[-lole32])
3578 AS_IF([test "${SYS}" = "darwin" ],[
3579 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3582 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3583 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3584 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3585 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3587 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3590 dnl Simple test for skins2 dependency
3592 AS_IF([test "$enable_qt" = "no"], [
3593 AS_IF([test "${enable_skins2}" = "yes"], [
3594 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.])
3597 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3604 AC_ARG_ENABLE(skins2,
3605 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3606 AS_IF([test "${enable_skins2}" != "no"], [
3607 have_skins_deps="yes"
3610 AS_IF([test "${SYS}" = "mingw32"], [
3611 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3612 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3614 ], [test "${SYS}" = "darwin"], [
3615 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3616 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3619 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3620 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3621 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3622 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3623 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3627 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3629 dnl we need freetype
3630 AS_IF([test "${have_freetype}" != "yes"], [
3631 have_skins_deps="no"
3634 AS_IF([test "${have_skins_deps}" = "no"], [
3635 AS_IF([test "x${enable_skins2}" = "x"], [
3636 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3638 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3642 VLC_ADD_PLUGIN([skins2])
3643 ALIASES="${ALIASES} svlc"
3647 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3649 AC_ARG_ENABLE(libtar,
3650 [ --enable-libtar libtar support for skins2 (default auto)])
3651 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3652 AC_CHECK_HEADERS(libtar.h, [
3653 VLC_ADD_LIBS([skins2],[-ltar])
3658 dnl MacOS X gui module
3660 AC_ARG_ENABLE(macosx,
3661 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3662 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3664 VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL])
3665 VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] )
3666 VLC_ADD_PLUGIN([macosx])
3668 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
3670 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3672 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3674 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3675 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3677 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3679 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3681 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3682 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3684 AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
3687 dnl Minimal Mac OS X module
3689 AC_ARG_ENABLE(minimal-macosx,
3690 [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)])
3691 if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
3693 VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa])
3694 VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] )
3695 VLC_ADD_PLUGIN([minimal_macosx])
3697 AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"])
3700 dnl MacOS X dialog provider
3702 AC_ARG_ENABLE(macosx-dialog-provider,
3703 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3704 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3705 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3707 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3708 VLC_ADD_PLUGIN([macosx_dialog_provider])
3710 AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"])
3715 AC_ARG_ENABLE(ncurses,
3716 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3717 AS_IF([test "${enable_ncurses}" != "no"] ,[
3718 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3719 VLC_ADD_PLUGIN([ncurses])
3720 VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}])
3721 VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}])
3722 ALIASES="${ALIASES} nvlc"
3724 AS_IF([test -n "${enable_ncurses}"], [
3725 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3734 [ --enable-lirc lirc support (default disabled)])
3735 if test "${enable_lirc}" = "yes"
3737 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3738 if test "${have_lirc}" = "true"
3740 VLC_ADD_PLUGIN([lirc])
3741 VLC_ADD_LIBS([lirc],[-llirc_client])
3745 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3747 dnl goom visualization plugin
3749 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3752 dnl libprojectM visualization plugin
3754 AC_ARG_ENABLE(projectm,
3755 [ --enable-projectm projectM visualization plugin (default enabled)])
3756 AS_IF([test "${enable_projectm}" != "no"],
3758 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3760 VLC_ADD_PLUGIN([projectm])
3761 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3762 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3763 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3764 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3765 [ AC_MSG_WARN( [Using libprojectM version 1] )
3768 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3773 dnl Vovoid VSXu visualization plugin
3776 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3777 AS_IF([test "${enable_vsxu}" != "no"],
3779 PKG_CHECK_MODULES(VSXU, libvsxu,
3781 VLC_ADD_PLUGIN([vsxu])
3782 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3783 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3785 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3790 dnl AtmoLight (homemade Philips Ambilight clone)
3793 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3794 (default enabled)]),, [enable_atmo="yes"])
3795 AS_IF([test "${enable_atmo}" != no], [
3796 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3798 VLC_ADD_PLUGIN([atmo])
3803 AC_ARG_ENABLE(osdmenu,
3804 AS_HELP_STRING([--enable-osdmenu],[OSD menu (default disabled)]),, [
3807 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_osdmenu}" != "no"])
3810 EXTEND_HELP_STRING([Service Discovery plugins:])
3812 dnl Bonjour services discovery
3813 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3816 dnl libudev services discovery
3817 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3820 dnl MTP devices services discovery
3821 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3824 dnl UPnP Plugin (Intel SDK)
3826 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3827 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3829 EXTEND_HELP_STRING([Misc options:])
3834 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3840 AC_ARG_ENABLE(libgcrypt,
3841 [ --disable-libgcrypt gcrypt support (default enabled)])
3842 AS_IF([test "${enable_libgcrypt}" != "no"], [
3843 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3844 libgcrypt-config --version >/dev/null || \
3845 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3846 AC_CHECK_LIB(gcrypt, gcry_control, [
3847 have_libgcrypt="yes"
3848 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3849 GCRYPT_LIBS="`libgcrypt-config --libs`"
3851 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3852 ], [`libgcrypt-config --libs`])
3854 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3855 ], [#include <gcrypt.h>]
3859 AC_SUBST(GCRYPT_CFLAGS)
3860 AC_SUBST(GCRYPT_LIBS)
3861 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3866 AC_ARG_ENABLE(gnutls,
3867 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3868 AS_IF([test "${enable_gnutls}" != "no"], [
3869 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3870 VLC_ADD_PLUGIN([gnutls])
3872 AS_IF([test -n "${enable_gnutls}"], [
3873 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3880 dnl Nokia MCE plugin (Maemo screen unblanking)
3882 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
3885 AS_IF([test -f "/etc/maemo_version"], [
3886 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
3893 AC_ARG_ENABLE(taglib,
3894 [AS_HELP_STRING([--disable-taglib],
3895 [do not use TagLib (default enabled)])])
3896 AS_IF([test "${enable_taglib}" != "no"], [
3897 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [
3898 VLC_ADD_PLUGIN([taglib])
3899 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3900 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3902 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3907 dnl update checking system
3909 AC_ARG_ENABLE(update-check,
3910 [ --enable-update-check update checking system (default disabled)])
3911 if test "${enable_update_check}" = "yes"
3913 if test "${have_libgcrypt}" != "yes"
3915 AC_MSG_ERROR([libgcrypt is required for update checking system])
3917 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3918 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3919 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3923 dnl Growl notification plugin
3925 AC_ARG_ENABLE(growl,
3926 [ --enable-growl growl notification plugin (default disabled)],,
3928 AS_IF([test "${enable_growl}" != "no"], [
3929 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3930 VLC_ADD_PLUGIN([growl])
3931 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3932 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3933 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3939 dnl Libnotify notification plugin
3941 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
3946 AC_ARG_ENABLE(media-library,
3947 [ --enable-media-library media library (default disabled)])
3948 AS_IF([test "${enable_media_library}" = "yes"], [
3949 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
3950 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
3951 VLC_ADD_PLUGIN([media_library])
3956 AS_IF([test "${SYS}" != "darwin"], [
3957 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
3959 AS_IF([test "${enable_sqlite}" != "no"], [
3960 AC_CHECK_HEADERS(sqlite3.h, [
3961 VLC_ADD_PLUGIN([sqlite])
3962 VLC_ADD_LIBS([sqlite], [-lsqlite3])
3964 AC_MSG_ERROR([sqlite3 is required for the media library])
3972 dnl Endianness check
3975 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
3976 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
3980 AC_SUBST(DEFS_BIGENDIAN)
3983 dnl Where to install KDE solid .desktop
3985 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
3986 AS_IF([test "x$KDE4_CONFIG" = "x"], [
3987 KDE4_CONFIG="kde4-config"
3990 AC_ARG_WITH(kde-solid,
3991 AS_HELP_STRING([--with-kde-solid=PATH],
3992 [KDE Solid actions directory (auto)]),, [
3994 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
3995 with_kde_solid="yes"
3999 AS_IF([test "${with_kde_solid}" != "no"], [
4000 AS_IF([test "${with_kde_solid}" = "yes"], [
4001 kde4datadir="`${KDE4_CONFIG} --install data`"
4002 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4003 soliddatadir="${kde4datadir}/solid/actions"
4005 soliddatadir="${with_kde_solid}"
4008 AC_SUBST(soliddatadir)
4009 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4012 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4015 AC_ARG_ENABLE(loader,
4016 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4017 (default disabled)]))
4018 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4019 AS_IF([test "${enable_loader}" = "yes"],
4020 [ VLC_ADD_PLUGIN([dmo])
4021 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader])
4022 VLC_ADD_LIBS([dmo quicktime ],[libloader.la])
4023 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4026 AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ])
4028 EXTEND_HELP_STRING([Components:])
4034 [ --enable-vlc build the VLC media player (default enabled)])
4035 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4037 AC_ARG_ENABLE(macosx-vlc-app,
4038 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4039 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4040 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4043 dnl Stuff used by the program
4045 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4046 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4047 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4048 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4049 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4050 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4051 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4052 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4053 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4054 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4055 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4056 AC_SUBST(COPYRIGHT_MESSAGE)
4057 AC_SUBST(VERSION_MESSAGE)
4058 AC_SUBST(VERSION_MAJOR)
4059 AC_SUBST(VERSION_MINOR)
4060 AC_SUBST(VERSION_REVISION)
4061 AC_SUBST(VERSION_EXTRA)
4062 AC_SUBST(COPYRIGHT_YEARS)
4063 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4064 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4065 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4067 dnl Handle substvars that use $(top_srcdir)
4069 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4072 dnl Configuration is finished
4082 AC_SUBST(WINE_SDK_PATH)
4084 AC_SUBST(AM_CPPFLAGS)
4085 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4086 AC_SUBST(FILE_LIBVLCCORE_DLL)
4087 AC_SUBST(FILE_LIBVLC_DLL)
4101 modules/access/Makefile
4102 modules/access/rtp/Makefile
4103 modules/access_output/Makefile
4104 modules/audio_filter/Makefile
4105 modules/audio_mixer/Makefile
4106 modules/audio_output/Makefile
4107 modules/codec/Makefile
4108 modules/control/Makefile
4109 modules/demux/Makefile
4110 modules/gui/Makefile
4111 modules/gui/macosx/Makefile
4112 modules/gui/minimal_macosx/Makefile
4113 modules/gui/macosx_dialog_provider/Makefile
4114 modules/gui/qt4/Makefile
4115 modules/gui/skins2/Makefile
4116 modules/lua/Makefile
4117 modules/meta_engine/Makefile
4118 modules/misc/Makefile
4119 modules/media_library/Makefile
4120 modules/mux/Makefile
4121 modules/notify/Makefile
4122 modules/packetizer/Makefile
4123 modules/services_discovery/Makefile
4124 modules/stream_filter/Makefile
4125 modules/stream_out/Makefile
4126 modules/text_renderer/Makefile
4127 modules/video_chroma/Makefile
4128 modules/video_filter/Makefile
4129 modules/video_output/Makefile
4130 modules/visualization/Makefile
4131 modules/mmx/Makefile
4132 modules/sse2/Makefile
4133 modules/altivec/Makefile
4134 modules/arm_neon/Makefile
4137 AM_COND_IF([HAVE_WIN32], [
4139 extras/package/win32/NSIS/spad.nsi
4140 extras/package/win32/NSIS/vlc.win32.nsi
4144 AM_COND_IF([HAVE_DARWIN], [
4146 extras/package/macosx/Info.plist
4147 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4151 dnl Generate makefiles
4154 dnl Do we have to use make or gmake ?
4155 if make --version 2>&1|grep -q GNU
4157 # GNU make, all seems good
4160 # Known GNU make alias (on BSD)
4163 dnl Shortcut to nice compile message
4164 if test -n $SHELL; then
4165 SHELL=${CONFIG_SHELL-/bin/sh}
4171 export PATH=\"$PATH\" LANG=C
4172 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4173 test -f .error\$\$ && ERROR=1
4175 exit \$ERROR" >compile
4179 libvlc configuration
4180 --------------------
4181 version : ${VERSION}
4183 architecture : ${ARCH}
4184 optimizations : ${enable_optimizations}"
4185 if test "${enable_vlc}" != "no"; then
4186 echo "vlc aliases :${ALIASES}"
4188 echo "build vlc executable : no"
4191 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."