1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2013 VLC authors and VideoLAN])
5 AC_INIT(vlc, 2.1.0-git)
15 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
17 COPYRIGHT_YEARS="1996-2013"
19 AC_CONFIG_SRCDIR(src/libvlc.c)
20 AC_CONFIG_AUX_DIR(autotools)
21 AC_CONFIG_MACRO_DIR(m4)
22 AC_CONFIG_LIBOBJ_DIR(compat)
25 AC_PRESERVE_HELP_ORDER
27 AM_INIT_AUTOMAKE(tar-ustar color-tests foreign)
28 AC_CONFIG_HEADERS([config.h])
30 # Disable with "./configure --disable-silent-rules" or "make V=1"
31 AM_SILENT_RULES([yes])
33 dnl Too many people are not aware of maintainer mode:
34 dnl If you want to use it, you definitely know what you are doing, so
35 dnl you can specify "--disable-maintainer-mode". But if you want the default
36 dnl automake behavior, you've likely never heard of maintainer mode, so we
37 dnl can't expect you to enable it manually.
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39 [enable_maintainer_mode="yes"])
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
49 vlclibdir="\${libdir}/\${PKGDIR}"
56 AC_USE_SYSTEM_EXTENSIONS
57 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
58 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
59 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
60 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
61 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
62 AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of <windows.h>.])
68 _AM_DEPENDENCIES([OBJC])
74 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
75 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
77 dnl Check for compiler properties
82 dnl Extend the --help string at the current spot.
83 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
85 dnl Allow binary package maintainer to pass a custom string to avoid
87 AC_ARG_WITH(binary-version,
88 AS_HELP_STRING([--with-binary-version=STRING],
89 [To avoid plugins cache problem between binary version]),[],[])
90 AS_IF([test -n "${with_binary_version}"],[
91 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
92 [Binary specific version])
96 dnl Check the operating system
108 CFLAGS="${CFLAGS} -pthread"
109 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
113 CFLAGS="${CFLAGS} -pthread"
114 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
115 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
119 CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include"
120 LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/"
130 dnl Force gcc "-arch" flag
134 ARCH_flag="-arch i386"
137 ARCH_flag="-arch ppc64"
140 ARCH_flag="-arch ppc"
143 ARCH_flag="-arch x86_64"
146 ac_cv_c_bigendian="no"
147 ac_cv_c_attribute_packed="no"
152 CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
153 CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
154 CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
155 OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
156 LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
157 VLC_ADD_LIBS([motion rotate], [-Wl,-framework,IOKit,-framework,CoreFoundation])
158 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,AppKit])
159 VLC_ADD_LIBS([avcodec access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
160 VLC_ADD_CFLAGS([motion rotate],[-fconstant-cfstrings])
161 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
163 dnl Allow binaries created on Lion to run on earlier releases
165 [#import <Cocoa/Cocoa.h>
166 #ifdef MAC_OS_X_VERSION_10_7
169 [AC_MSG_RESULT([yes])
170 AC_LIBOBJ([getdelim])
172 AC_LIBOBJ([strnlen])],)
175 dnl Handle Mac OS X SDK flags
177 AC_ARG_WITH(macosx-sdk,
178 [AS_HELP_STRING([--with-macosx-sdk=DIR],
179 [compile using the SDK in DIR])])
180 if test "${with_macosx_sdk}" != "" ; then
181 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
182 CPP="${CPP} -isysroot ${with_macosx_sdk}"
183 CC="${CC} -isysroot ${with_macosx_sdk}"
184 CXX="${CXX} -isysroot ${with_macosx_sdk}"
185 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
186 LD="${LD} -syslibroot ${with_macosx_sdk}"
188 AC_ARG_WITH(macosx-version-min,
189 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
190 [compile for Mac OS X VERSION and above])])
191 if test "${with_macosx_version_min}" != "" ; then
192 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
193 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
194 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
195 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
196 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
197 LD="${LD} -mmacosx_version_min=${with_macosx_version_min}"
198 CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
199 CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
200 OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
201 export MACOSX_DEPLOYMENT_TARGET
204 *mingw32* | *cygwin* | *wince* | *mingwce*)
205 AC_CHECK_TOOL(WINDRES, windres, :)
206 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
207 AH_TOP([#if defined(WIN32) && !defined(_WIN32_WINNT)])
208 AH_TOP([# define _WIN32_WINNT 0x0502 /* Windows XP SP2 */])
210 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
211 AC_DEFINE([_UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
212 AC_DEFINE([UNICODE], [1], [Define to 1 for Unicode (Wide Chars) APIs.])
219 dnl Check if we are using the mno-cygwin mode in which case we are
220 dnl actually dealing with a mingw32 compiler.
225 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
229 if test "${SYS}" = "mingw32"; then
230 VLC_ADD_LIBS([libvlccore],[-lwinmm])
231 VLC_ADD_LDFLAGS([vlc],[-mwindows])
232 VLC_ADD_LIBS([win32text],[-lgdi32])
233 VLC_ADD_LIBS([vcdx],[-lwinmm])
234 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
235 ac_default_prefix="`pwd`/_win32"
236 DESTDIR="`pwd`/_win32/"
239 dnl NSIS/MSI Installer prefix and WIN64
245 PROGRAMFILES="PROGRAMFILES64"
249 PROGRAMFILES="PROGRAMFILES"
252 AC_SUBST(WINDOWS_ARCH)
253 AC_SUBST(PROGRAMFILES)
271 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild"
277 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
278 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
279 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
280 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
281 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
282 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
285 dnl Sadly autoconf does not think about testing foo.exe when ask to test
286 dnl for program foo on win32
287 case "${build_os}" in
289 ac_executable_extensions=".exe"
295 dnl Android is linux, but a bit different
296 AS_IF([test "$SYS" = linux],[
297 AC_MSG_CHECKING([for an Android system])
298 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
299 [[#ifndef __ANDROID__
310 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
314 dnl Check for the contrib directory
317 [AS_HELP_STRING([--with-contrib[=DIR]],
318 [search for 3rd party libraries in DIR/include and DIR/lib])
320 AC_MSG_CHECKING([for 3rd party libraries path])
321 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
322 CONTRIB_DIR="${srcdir}/contrib/${host}"
323 AS_IF([test ! -d "${CONTRIB_DIR}"], [
324 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
325 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
326 AS_IF([test ! -d "${CONTRIB_DIR}"], [
327 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
328 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
329 AS_IF([test ! -d "${CONTRIB_DIR}"], [
330 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
331 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
332 AS_IF([test ! -d "${CONTRIB_DIR}"], [
333 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
335 AC_MSG_RESULT([not found])
341 AS_IF([test "${with_contrib}" != "no"], [
342 CONTRIB_DIR="${with_contrib}"
345 AC_MSG_RESULT([disabled])
348 AS_IF([test -n "${CONTRIB_DIR}"], [
349 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
350 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
352 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
354 AC_MSG_RESULT([not usable])
358 AS_IF([test -n "${CONTRIB_DIR}"], [
359 AC_MSG_RESULT([${CONTRIB_DIR}])
360 export PATH=${CONTRIB_DIR}/bin:$PATH
361 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
362 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
363 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
364 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
365 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
366 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
368 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
370 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
372 AS_IF([test "${SYS}" = "darwin"], [
373 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
374 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
377 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
378 AC_MSG_ERROR([Third party libraries not found!])
381 AC_SUBST(CONTRIB_DIR)
385 dnl It's very bad, but our former custom system was worst
389 dnl override platform specific check for dependent libraries
390 dnl otherwise libtool linking of shared libraries will
391 dnl fail on anything other than pass_all.
392 AC_CACHE_VAL(lt_cv_deplibs_check_method,
393 [lt_cv_deplibs_check_method=pass_all])
395 LT_INIT([dlopen win32-dll shared disable-static])
397 LT_LANG([Windows Resource])
401 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
402 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
404 lt_cv_deplibs_check_method=pass_all
406 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
407 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
413 AM_GNU_GETTEXT_VERSION([0.18.1])
414 AM_GNU_GETTEXT([external], [need-ngettext])
423 AS_IF([test "${SYS}" = "mingw32"], [
424 dnl Check for broken versions of mingw-runtime compatability library
425 AC_MSG_CHECKING(for broken mingw-runtime)
426 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
428 #if defined(__MINGW64_VERSION_MAJOR)
429 # if __MINGW64_VERSION_MAJOR < 3
430 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
432 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
433 # error Attempting to use mingw-runtime with broken vsnprintf support
438 AC_MSG_RESULT([present])
439 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
441 dnl force use of mingw provided c99 *printf over msvcrt
442 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
444 dnl Check for the need to include the mingwex lib for mingw32
445 AC_CHECK_LIB(mingwex,opendir,
446 AC_CHECK_LIB(mingw32,opendir,,
447 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
450 dnl Check for fnative-struct or mms-bitfields support for mingw32
452 CFLAGS="${CFLAGS} -mms-bitfields"
453 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
454 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
455 [ac_cv_c_mms_bitfields],
456 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
457 if test "${ac_cv_c_mms_bitfields}" = "no"; then
459 CFLAGS="${CFLAGS} -fnative-struct"
460 CXXFLAGS="${CXXFLAGS} -fnative-struct"
461 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
462 [ac_cv_c_fnative_struct],
463 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
464 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
468 AC_ARG_ENABLE(winstore_app,
469 AS_HELP_STRING([--enable-winstore-app],
470 [Build targetted for Windows Store apps (default disabled)]))
472 AS_IF([test "${SYS}" = "mingw32"], [
473 AS_IF([test "${enable_winstore_app}" == "yes"], [
474 AC_DEFINE(WINAPI_FAMILY_APP, 1, [Define if you want to build for Windows Store apps])])
479 dnl Buggy glibc prevention. Purposedly not cached.
480 dnl See sourceware.org bugs 5058 and 5443.
481 dnl Ubuntu alone has 20 bug numbers for this...
483 AC_MSG_CHECKING(for buggy GNU/libc versions)
484 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
486 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
487 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
488 # error GNU/libc with dcgettext killer bug!
491 AC_MSG_RESULT([not present])
493 AC_MSG_RESULT([found])
494 AS_IF([test "x${enable_nls}" != "xno"], [
495 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
496 work-around for this. Check with your distribution vendor on how to update the
497 glibc run-time. Alternatively, build with --disable-nls.])
501 dnl Plugin compilation stuff
505 dnl Check for system libs needed
508 dnl Check for usual libc functions
509 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
510 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale])
511 AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
512 AC_CHECK_FUNCS(fdatasync,,
513 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
516 dnl mingw64 implements those as static inline, not functions with C linkage
518 AC_LANG_PROGRAM([#include <stdio.h>], [
520 if (asprintf(&c, "%s %d", "string", 1) == -1)
522 ])],[AC_DEFINE([HAVE_ASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([asprintf])])
524 AC_LANG_PROGRAM([#include <stdio.h>
525 #include <stdarg.h>], [
528 if (vasprintf(&c, "%s %d", ap) == -1)
530 ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
532 dnl C11 static_assert()
533 AC_MSG_CHECKING([for static_assert in assert.h])
534 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <assert.h>], [
535 static_assert(1, "The impossible happened.");
538 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
543 # Windows CE does not have strcoll()
546 dnl Check for non-standard system calls
549 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
552 AC_CHECK_FUNCS([_lock_file])
556 AH_BOTTOM([#include <vlc_fixups.h>])
558 dnl Check for struct pollfd
559 AC_CHECK_TYPES([struct pollfd],,,
560 [#include <sys/types.h>
563 #elif defined (WIN32)
564 # include <winsock2.h>
568 dnl Checks for socket stuff
571 AC_SEARCH_LIBS(connect, [socket], [
572 AS_IF([test "$ac_cv_search_connect" != "none required"], [
573 SOCKET_LIBS="$ac_cv_search_connect"
576 AS_IF([test "${SYS}" = "mingw32"], [
577 SOCKET_LIBS="-lws2_32"
581 AC_SEARCH_LIBS([getaddrinfo], [nsl], [
582 AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [
583 SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS"
585 ],, [${SOCKET_LIBS}])
587 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
590 AS_IF([test -n "$SOCKET_LIBS"], [
591 VLC_ADD_LIBS([access_http access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp rtp oldrc netsync gnutls ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[${SOCKET_LIBS}])
593 AC_SUBST(SOCKET_LIBS)
595 dnl Check for socklen_t
596 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
597 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
598 ac_cv_type_socklen_t,
599 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
600 [#include <sys/types.h>
602 # include <winsock2.h>
603 # include <ws2tcpip.h>
605 # include <sys/socket.h>
606 #endif]], [[socklen_t len; len = 0;]])],
607 ac_cv_type_socklen_t=yes,
608 ac_cv_type_socklen_t=no)])
609 AS_IF([test "$ac_cv_type_socklen_t" = no],
610 [AC_DEFINE(socklen_t, int)])
612 dnl Check for struct sockaddr_storage
613 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
614 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
615 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
617 [#include <sys/types.h>
619 # include <winsock2.h>
621 # include <sys/socket.h>
622 #endif], [struct sockaddr_storage addr;],
623 ac_cv_struct_sockaddr_storage=yes,
624 ac_cv_struct_sockaddr_storage=no)])
625 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
626 AC_DEFINE(sockaddr_storage, sockaddr)
627 AC_DEFINE(ss_family, sa_family)
630 dnl FreeBSD has a gnugetopt library for this:
632 AC_CHECK_FUNC(getopt_long,, [
633 AC_CHECK_LIB([gnugetopt],[getopt_long], [
634 GNUGETOPT_LIBS="-lgnugetopt"
637 AC_SUBST(GNUGETOPT_LIBS)
640 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom panoramix rotate noise grain scene kate lua chorus_flanger freetype avcodec access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
647 AC_CHECK_LIB(m,lrintf, [
648 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
649 VLC_ADD_LIBS([skins2],[-lm])
652 dnl Check for dynamic plugins
654 have_dynamic_objects="no"
656 AC_SEARCH_LIBS(dlopen, [dl svld], [
657 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
658 LIBDL="$ac_cv_search_dlopen"
660 have_dynamic_objects="yes"
665 AS_IF([test "${SYS}" = "mingw32"], [
667 have_dynamic_objects="yes" #assume we can use shared objects
670 AS_IF([test "${enable_shared}" = "no"], [
671 have_dynamic_objects=no
673 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
676 VLC_ADD_LIBS([lua],[$LIBDL])
678 dnl Check for thread library
680 AS_IF([test "${SYS}" != "mingw32"], [
683 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
684 AS_IF([test "$ac_cv_search_pthread_rwlock_init" != "none required"], [
685 LIBPTHREAD="$ac_cv_search_pthread_rwlock_init"
690 AC_CHECK_LIB(rt, clock_nanosleep, [
691 VLC_ADD_LIBS([libvlccore],[-lrt])
693 AC_CHECK_FUNC(nanosleep,,[
694 AC_CHECK_LIB(rt,nanosleep, [
695 VLC_ADD_LIBS([libvlccore],[-lrt])
697 AC_CHECK_LIB(posix4,nanosleep, [
698 VLC_ADD_LIBS([libvlccore],[-lposix4])
703 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
708 dnl Check for headers
709 AC_CHECK_HEADERS([search.h])
710 AC_CHECK_HEADERS(getopt.h locale.h xlocale.h)
711 AC_CHECK_HEADERS([sys/time.h sys/ioctl.h])
712 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
713 AC_CHECK_HEADERS([net/if.h], [], [],
715 #include <sys/types.h>
716 #include <sys/socket.h>
718 AC_CHECK_HEADERS([sys/mount.h], [], [],
720 #include <sys/param.h>
723 if test "${SYS}" != "mingw32"; then
724 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
725 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
726 AC_CHECK_HEADERS(syslog.h mntent.h)
727 fi # end "${SYS}" != "mingw32"
729 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
730 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
731 AC_CHECK_TYPE(ssize_t,, [
732 AC_DEFINE(ssize_t, int)
735 dnl Check for threads library
736 if test "${SYS}" != "mingw32"; then
737 AC_CHECK_HEADERS(pthread.h)
738 fi # end "${SYS}" != "mingw32"
740 dnl It seems that autoconf detects pkg-config only during the first
741 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
742 dnl it is nested within a conditional block, so it was not working right.
743 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
744 AC_ARG_VAR(PKG_CONFIG_PATH,
745 [Paths where to find .pc not at the default location])
746 PKG_PROG_PKG_CONFIG()
748 dnl On some OS we need static linking
749 AS_IF([test -n "${PKG_CONFIG}" ],[
750 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
751 PKG_CONFIG="${PKG_CONFIG} --static"
757 dnl Check for zlib.h and -lz along with system -lminizip if available
759 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
760 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
761 if test "${have_zlib}" = "yes"
763 VLC_ADD_LIBS([access_http skins2 sap unzip zip],[-lz])
764 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
765 AC_CHECK_HEADERS([unzip.h], [
767 MINIZIP_LIBS="-lminizip -lz"
769 VLC_ADD_CPPFLAGS([skins2], [-I\\\$(top_srcdir)/modules/access/zip/unzip])
770 VLC_ADD_LIBS([skins2], [\\\$(top_builddir)/modules/access/libunzip.la])
774 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
775 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
777 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
781 dnl Domain name i18n support via GNU libidn
783 PKG_CHECK_MODULES([IDN], [libidn], [
785 AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
793 [AS_HELP_STRING([--enable-dbus],
794 [compile D-Bus message bus support (default enabled)])])
796 AS_IF([test "${enable_dbus}" != "no"], [
797 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0], [
800 AS_IF([test -n "${enable_dbus}"], [
801 AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])
803 AC_MSG_WARN([${DBUS_PKG_ERRORS}.])
807 AM_CONDITIONAL([HAVE_DBUS], [test "${have_dbus}" = "yes"])
809 dnl Check for ntohl, etc.
811 CFLAGS="${CFLAGS} -Wall -Werror"
812 AC_CACHE_CHECK([for ntohl in sys/param.h],
813 [ac_cv_c_ntohl_sys_param_h],
814 [ AC_TRY_COMPILE([#include <sys/param.h>],
815 [int meuh; ntohl(meuh);],
816 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
817 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
818 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
822 EXTEND_HELP_STRING([Optimization options:])
824 dnl Compiler warnings
827 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
828 RDC_PROG_CC_FLAGS([-pipe])
830 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
837 [AS_HELP_STRING([--enable-debug],
838 [build with run-time assertions (default disabled)])],,
841 [Define to 1 if debug code should NOT be compiled])
842 AS_IF([test "${enable_debug}" != "no"], [
843 AC_CHECK_HEADERS([valgrind/valgrind.h])
852 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
854 AS_IF([test "${enable_gprof}" != "no"], [
855 CFLAGS="${CFLAGS} -pg"
856 CXXFLAGS="${CXXFLAGS} -pg"
857 OBJCFLAGS="${OBJCFLAGS} -pg"
858 LDFLAGS="${LDFLAGS} -pg"
862 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
864 AS_IF([test "${enable_gprof}" != "no"], [
865 CFLAGS="${CFLAGS} -finstrument-functions"
866 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
867 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
868 LDFLAGS="${LDFLAGS} -finstrument-functions"
874 AC_ARG_ENABLE(coverage,
875 [AS_HELP_STRING([--enable-coverage],
876 [build for test coverage (default disabled)])],,
877 [enable_coverage="no"])
878 AS_IF([test "${enable_coverage}" != "no"], [
879 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
880 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
881 LDFLAGS="-lgcov ${LDFLAGS}"
884 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "os2"], [
886 CFLAGS="${CFLAGS} -fvisibility=hidden"
887 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
888 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
889 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
890 [ac_cv_c_visibility_hidden], [
891 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
892 ac_cv_c_visibility_hidden=yes
894 ac_cv_c_visibility_hidden=no
897 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
902 dnl Enable/disable optimizations
904 AC_ARG_ENABLE(optimizations,
905 [AS_HELP_STRING([--disable-optimizations],
906 [disable compiler optimizations (default enabled)])],,
907 [enable_optimizations="yes"])
909 dnl Check for various optimization flags
910 AS_IF([test "${enable_optimizations}" != "no"], [
912 dnl -O4 and -O3 only in production builds
913 AS_IF([test "{enable_debug}" = "no"], [
915 CFLAGS="${CFLAGS} -O4"
916 CXXFLAGS="${CXXFLAGS} -O4"
917 OBJCFLAGS="${OBJCFLAGS} -O4"
918 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
919 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
925 AS_IF([test "${ac_cv_c_o4}" = "no"], [
927 CFLAGS="${CFLAGS} -O3"
928 CXXFLAGS="${CXXFLAGS} -O3"
929 OBJCFLAGS="${OBJCFLAGS} -O3"
930 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
931 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
937 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
941 dnl Check for -ffast-math
943 CFLAGS="${CFLAGS} -ffast-math"
944 CXXFLAGS="${CXXFLAGS} -ffast-math"
945 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
946 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
947 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
948 ac_cv_c_fast_math=yes
953 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
955 #ifndef __FAST_MATH__
956 # pragma STDC FENV_ACCESS OFF
957 # pragma STDC FP_CONTRACT ON
961 dnl Check for -funroll-loops
963 CFLAGS="${CFLAGS} -funroll-loops"
964 CXXFLAGS="${CXXFLAGS} -funroll-loops"
965 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
966 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
967 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
968 ac_cv_c_unroll_loops=yes
970 ac_cv_c_unroll_loops=no
973 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
975 AS_IF([test "$enable_debug" = "no"], [
976 dnl Check for -fomit-frame-pointer
978 CFLAGS="${CFLAGS} -fomit-frame-pointer"
979 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
980 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
981 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
982 [ac_cv_c_omit_frame_pointer], [
983 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
984 ac_cv_c_omit_frame_pointer=yes
986 ac_cv_c_omit_frame_pointer=no
989 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
993 dnl Check for Darwin plugin linking flags
994 AS_IF([test "${SYS}" = "darwin"], [
996 CFLAGS="${CFLAGS} -bundle -undefined error"
997 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
999 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1005 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1006 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1011 dnl Checks for __attribute__(aligned()) directive
1013 CFLAGS="${CFLAGS} -Werror"
1014 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1015 [ac_cv_c_attribute_aligned],
1016 [ac_cv_c_attribute_aligned=0
1017 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1019 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1020 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1023 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1024 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1025 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1028 dnl Check for __attribute__((packed))
1029 AC_CACHE_CHECK([for __attribute__((packed))],
1030 [ac_cv_c_attribute_packed],
1031 [ac_cv_c_attribute_packed=no
1032 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1033 [ac_cv_c_attribute_packed=yes])])
1034 if test "${ac_cv_c_attribute_packed}" != "no"; then
1035 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1041 case "${host_cpu}" in
1050 dnl Check for backtrace() support
1051 AC_CHECK_HEADERS(execinfo.h)
1052 AC_CHECK_FUNCS(backtrace)
1057 ALIASES="${ALIASES} cvlc rvlc"
1060 dnl Accelerated modules
1063 dnl Check for fully working MMX intrinsics
1064 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1065 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1067 [AS_HELP_STRING([--disable-mmx],
1068 [disable MMX optimizations (default auto)])],,[
1069 case "${host_cpu}" in
1080 AS_IF([test "${enable_mmx}" != "no"], [
1083 CFLAGS="${CFLAGS} -mmmx"
1084 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1085 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1086 [#include <mmintrin.h>
1088 uint64_t frobzor;]], [
1090 a = b = c = (__m64)frobzor;
1091 a = _mm_slli_pi16(a, 3);
1092 a = _mm_adds_pi16(a, b);
1093 c = _mm_srli_pi16(c, 8);
1094 c = _mm_slli_pi16(c, 3);
1095 b = _mm_adds_pi16(b, c);
1096 a = _mm_unpacklo_pi8(a, b);
1097 frobzor = (uint64_t)a;]])], [
1098 ac_cv_c_mmx_intrinsics=yes
1100 ac_cv_c_mmx_intrinsics=no
1104 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1105 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1109 CFLAGS="${CFLAGS} -mmmx"
1110 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1111 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1113 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1116 ac_cv_mmx_inline=yes
1121 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1122 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1126 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1127 [ac_cv_mmxext_inline], [
1128 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1130 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1133 ac_cv_mmxext_inline=yes
1135 ac_cv_mmxext_inline=no
1139 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1140 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
1144 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1145 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1147 dnl Check for fully workin SSE2 intrinsics
1148 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1149 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1151 [AS_HELP_STRING([--disable-sse],
1152 [disable SSE (1-4) optimizations (default auto)])],, [
1153 case "${host_cpu}" in
1163 AS_IF([test "${enable_sse}" != "no"], [
1164 ARCH="${ARCH} sse sse2"
1167 CFLAGS="${CFLAGS} -msse2"
1168 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1169 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1170 [#include <emmintrin.h>
1172 uint64_t frobzor;]], [
1174 a = b = c = _mm_set1_epi64((__m64)frobzor);
1175 a = _mm_slli_epi16(a, 3);
1176 a = _mm_adds_epi16(a, b);
1177 c = _mm_srli_epi16(c, 8);
1178 c = _mm_slli_epi16(c, 3);
1179 b = _mm_adds_epi16(b, c);
1180 a = _mm_unpacklo_epi8(a, b);
1181 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1182 ac_cv_c_sse2_intrinsics=yes
1184 ac_cv_c_sse2_intrinsics=no
1188 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1189 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1193 CFLAGS="${CFLAGS} -msse"
1194 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1195 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1197 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1200 ac_cv_sse_inline=yes
1206 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1207 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1210 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1211 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1213 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1216 ac_cv_sse2_inline=yes
1218 ac_cv_sse2_inline=no
1221 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1222 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1227 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1228 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1230 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1233 ac_cv_sse3_inline=yes
1235 ac_cv_sse3_inline=no
1239 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1240 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1242 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1243 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1245 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1248 ac_cv_ssse3_inline=yes
1250 ac_cv_ssse3_inline=no
1254 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1255 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1258 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1259 [ac_cv_sse4_1_inline], [
1260 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1262 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1265 ac_cv_sse4_1_inline=yes
1267 ac_cv_sse4_1_inline=no
1271 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1272 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1275 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1276 [ac_cv_sse4_2_inline], [
1277 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1279 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1282 ac_cv_sse4_2_inline=yes
1284 ac_cv_sse4_2_inline=no
1288 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1289 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1292 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1293 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1295 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1298 ac_cv_sse4a_inline=yes
1300 ac_cv_sse4a_inline=no
1304 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1305 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1307 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1310 CFLAGS="${CFLAGS} -mmmx"
1312 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1313 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1315 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1318 ac_cv_3dnow_inline=yes
1320 ac_cv_3dnow_inline=no
1324 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1325 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1326 [Define to 1 if 3D Now! inline assembly is available.])
1329 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1333 [AS_HELP_STRING([--disable-neon],
1334 [disable NEON optimizations (default auto)])],, [
1335 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1337 AS_IF([test "${enable_neon}" != "no"], [
1339 CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
1340 AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
1343 asm volatile("vqmovun.s64 d0, q1":::"d0");
1346 ac_cv_arm_neon="yes"
1353 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
1356 AC_ARG_ENABLE(altivec,
1357 [AS_HELP_STRING([--disable-altivec],
1358 [disable AltiVec optimizations (default auto)])],, [
1359 AS_IF([test "${host_cpu}" = "powerpc"],
1360 [enable_altivec=yes], [enable_altivec=no])
1363 AS_IF([test "${enable_altivec}" = "yes"], [
1364 ARCH="${ARCH} altivec";
1366 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1367 [ac_cv_altivec_inline],
1368 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1369 ac_cv_altivec_inline="yes",
1370 [CFLAGS="${CFLAGS} -Wa,-m7400"
1371 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1372 [ac_cv_altivec_inline="-Wa,-m7400"],
1373 ac_cv_altivec_inline=no)
1376 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1377 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1378 [Define to 1 if AltiVec inline assembly is available.])
1379 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1380 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1381 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1382 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1387 dnl The AltiVec C extensions
1389 dnl There are several possible cases:
1390 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1391 dnl need <altivec.h>
1392 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1393 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1394 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1395 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1396 dnl - Others: test should fail
1398 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1400 [# OS X/PPC test (gcc 4.x)
1401 CFLAGS="${CFLAGS} -mpim-altivec -force_cpusubtype_ALL"
1402 AC_TRY_COMPILE([vector unsigned char foo;],
1403 [vec_ld(0, (unsigned char *)0);],
1404 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1405 [# OS X/PPC test (gcc 3.x)
1406 CFLAGS="${CFLAGS} -faltivec"
1407 AC_TRY_COMPILE([vector unsigned char foo;],
1408 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1409 [ac_cv_c_altivec="-faltivec"],
1410 dnl Below this are the Linux tests
1411 [# Linux/PPC test (gcc 4.x)
1412 CFLAGS="${CFLAGS} -maltivec"
1413 AC_TRY_COMPILE([#include <altivec.h>],
1414 [vec_ld(0, (unsigned char *)0);],
1415 [ac_cv_c_altivec="-maltivec"],
1416 [# Linux/PPC test (gcc 3.3)
1417 CFLAGS="${CFLAGS} -maltivec -mabi=altivec"
1418 AC_TRY_COMPILE([#include <altivec.h>],
1419 [vec_ld(0, (unsigned char *)0);],
1421 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1422 [# Linux/PPC test (gcc 3.3)
1423 CFLAGS="${CFLAGS} -fvec"
1424 AC_TRY_COMPILE([#include <altivec.h>],
1425 [vec_ld(0, (unsigned char *)0);],
1426 [ac_cv_c_altivec="-fvec"],
1427 [ac_cv_c_altivec=no])
1435 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1436 CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}"
1437 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.])
1438 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1439 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1442 AC_CHECK_HEADERS(altivec.h)
1445 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1446 AC_CACHE_CHECK([if linker needs -framework vecLib],
1448 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1450 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1451 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1454 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1459 AC_ARG_ENABLE(optimize-memory,
1460 [AS_HELP_STRING([--enable-optimize-memory],
1461 [optimize memory usage over performance])])
1462 if test "${enable_optimize_memory}" = "yes"; then
1463 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1467 dnl Allow running as root (useful for people running on embedded platforms)
1469 AC_ARG_ENABLE(run-as-root,
1470 [AS_HELP_STRING([--enable-run-as-root],
1471 [allow running VLC as root (default disabled)])])
1472 AS_IF([test "${enable_run_as_root}" = "yes"],[
1473 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1474 [Define to 1 to allow running VLC as root (uid 0).])
1481 [AS_HELP_STRING([--disable-sout],
1482 [disable streaming output (default enabled)])])
1483 AS_IF([test "${enable_sout}" != "no"], [
1484 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1486 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1490 [AS_HELP_STRING([--disable-lua],
1491 [disable LUA scripting support (default enabled)])])
1492 if test "${enable_lua}" != "no"
1494 PKG_CHECK_MODULES(LUA, lua5.1,
1497 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1498 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1501 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1503 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1506 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1507 [LUA_LIBS="-llua5.1"],
1508 AC_CHECK_LIB( lua51 , luaL_newstate,
1509 [LUA_LIBS="-llua51"],
1510 AC_CHECK_LIB( lua , luaL_newstate,
1518 if test "x${have_lua}" = "xyes" ; then
1519 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1520 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1522 AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
1524 AC_ARG_VAR([LUAC], [LUA byte compiler])
1525 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1526 AS_IF([test "${LUAC}" = "false"], [
1527 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1529 AS_IF([test -f ${CONTRIB_DIR}/lib/liblua.a -a `echo|${LUAC} -o - -|od -j 8 -N 2 -t x2|head -n 1|cut -d' ' -f2` != 0404], [
1530 AC_MSG_ERROR([You need 32-bits luac when using using lua from contrib.])
1533 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1539 AC_ARG_ENABLE(httpd,
1540 [AS_HELP_STRING([--disable-httpd],
1541 [disable the built-in HTTP server (default enabled)])])
1542 if test "${enable_httpd}" != "no"
1544 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1546 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1550 dnl VideoLAN manager
1553 [AS_HELP_STRING([--disable-vlm],
1554 [disable the stream manager (default enabled)])],,
1555 [enable_vlm="${enable_sout}"])
1556 AS_IF([test "${enable_vlm}" != "no"], [
1557 AS_IF([test "${enable_sout}" = "no"], [
1558 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1560 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1562 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1569 EXTEND_HELP_STRING([Input plugins:])
1572 dnl libproxy support
1574 AC_ARG_ENABLE(libproxy,
1575 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1576 AS_IF([test "${enable_libproxy}" != "no"], [
1577 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1578 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1579 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1580 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1582 AS_IF([test -n "${enable_libproxy}"], [
1583 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1591 AC_ARG_ENABLE(live555,
1592 [AS_HELP_STRING([--enable-live555],
1593 [enable RTSP input through live555 (default enabled)])])
1595 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1599 dnl detect include paths
1600 AS_IF([test -f "${CONTRIB_DIR}/include/UsageEnvironment.hh"], [
1601 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1603 AS_IF([test ${SYS} != "os2"], [
1604 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
1605 CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
1607 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
1608 CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
1609 LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
1614 AS_IF([test "${SYS}" = "solaris"], [
1615 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1617 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1618 LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
1621 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1622 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1623 [#include <liveMedia_version.hh>
1624 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
1634 AS_IF([test "$ac_cv_live555" = "no"], [
1635 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1636 Version 2011.12.23 or later is required to proceed.
1637 You can get an updated one from http://www.live555.com/liveMedia .])
1638 AS_IF([test -n "${enable_live555}"], [
1639 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1642 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1643 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1644 AS_IF([test "${SYS}" = "mingw32"], [
1645 # add ws2_32 for closesocket, select, recv
1646 other_libs="$other_libs -lws2_32"
1649 dnl We need to check for pic because live555 don't provide shared libs
1650 dnl and we want to build a plugins so we need -fPIC on some arch.
1651 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1652 VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}])
1653 AC_CHECK_LIB(liveMedia_pic, main, [
1654 VLC_ADD_PLUGIN([live555])
1655 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1657 AC_CHECK_LIB(liveMedia, main, [
1658 VLC_ADD_PLUGIN([live555])
1659 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1660 ],[],[${other_libs}])],[${other_libs_pic}])
1667 dnl IIDC and DV FireWire input modules
1669 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1670 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1673 dnl - linsys modules: access module check for libzvbi
1675 AC_ARG_ENABLE(linsys,
1676 [AS_HELP_STRING([--enable-linsys],
1677 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1678 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1679 VLC_ADD_PLUGIN([linsys_hdsdi])
1680 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1681 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1682 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1683 VLC_ADD_PLUGIN([linsys_sdi]) ],
1684 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1689 dnl dvdread module: check for libdvdread
1691 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1694 dnl libdvdnav plugin
1696 AC_ARG_ENABLE(dvdnav,
1697 [AS_HELP_STRING([--disable-dvdnav],
1698 [disable DVD navigation with libdvdnav (default auto)])])
1699 if test "${enable_dvdnav}" != "no"
1701 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1702 VLC_ADD_PLUGIN([dvdnav])
1703 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1704 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1705 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1706 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1707 [], [${LIBS_dvdnav}])
1708 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1709 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1710 [], [${LIBS_dvdnav}])],
1711 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1715 dnl Blu-ray Disc Support with libbluray
1717 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) )
1720 dnl OpenCV wrapper and example filters
1722 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
1726 dnl libsmbclient plugin
1728 PKG_ENABLE_MODULES_VLC([SMBCLIENT], [access_smb], [smbclient], (SMB/CIFS support), [auto])
1732 dnl sftp access support
1734 PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
1739 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1740 [disable Video4Linux version 2 (default auto)])])
1742 AS_IF([test "$enable_v4l2" != "no"], [
1743 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1747 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1750 dnl special access module for Blackmagic SDI cards
1752 AC_ARG_ENABLE(decklink,
1753 [AS_HELP_STRING([--disable-decklink],
1754 [disable Blackmagic DeckLink SDI input (default auto)])])
1755 AC_ARG_WITH(decklink_sdk,
1756 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1757 [ location of Blackmagic DeckLink SDI SDK])])
1759 if test "${enable_decklink}" != "no"
1761 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1763 VLC_ADD_CPPFLAGS([decklink decklinkoutput],[-I${with_decklink_sdk}/include])
1766 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_decklink}"
1768 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1771 AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)
1776 AM_CONDITIONAL(HAVE_DECKLINK, [ test "${have_decklink}" != "no" ])
1780 dnl gnomeVFS access module
1782 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1787 PKG_ENABLE_MODULES_VLC([VCDX], [vcdx], [libcdio >= 0.78.2 libiso9660 >= 0.72 libvcdinfo >= 0.7.22], [navigate VCD with libvcdinfo], [no])
1790 dnl Built-in CD-DA and VCD module
1793 [AS_HELP_STRING([--disable-vcd],
1794 [disable built-in VCD and CD-DA support (default enabled)])])
1796 AC_ARG_ENABLE(libcddb,
1797 [AS_HELP_STRING([--disable-libcddb],
1798 [disable CDDB for Audio CD (default enabled)])])
1800 if test "${enable_vcd}" != "no"
1802 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1803 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1805 VLC_ADD_PLUGIN([vcd cdda])
1810 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1811 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1813 VLC_ADD_PLUGIN([vcd cdda])
1814 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1819 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1820 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1822 VLC_ADD_PLUGIN([vcd cdda])
1823 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1828 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1830 VLC_ADD_PLUGIN([vcd cdda])
1833 if test "${SYS}" = "darwin"
1835 VLC_ADD_PLUGIN([vcd cdda])
1836 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1837 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1840 if test "$enable_libcddb" != "no"; then
1841 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1843 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1844 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1845 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1847 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1855 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1856 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1857 [#include <linux/dvb/version.h>
1858 #if (DVB_API_VERSION < 5)
1859 # error Linux DVB API v3.2 and older are not supported.
1861 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1862 # error Linux DVB API v5.0 is unsupported. Please update.
1865 ac_cv_linux_dvb_5_1=yes
1867 ac_cv_linux_dvb_5_1=no
1869 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1872 dnl Screen capture module
1874 AC_ARG_ENABLE(screen,
1875 [AS_HELP_STRING([--enable-screen],
1876 [disable screen capture (default enabled)])])
1877 if test "${enable_screen}" != "no"; then
1878 if test "${SYS}" = "darwin"; then
1879 AC_CHECK_HEADERS(OpenGL/gl.h, [
1880 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1881 VLC_ADD_PLUGIN([screen])
1888 dnl Real RTSP plugin
1890 AC_ARG_ENABLE(realrtsp,
1891 [ --enable-realrtsp Real RTSP module (default disabled)])
1892 if test "${enable_realrtsp}" = "yes"; then
1893 VLC_ADD_PLUGIN([realrtsp])
1898 AC_ARG_ENABLE(macosx-eyetv,
1899 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1900 if test "x${enable_macosx_eyetv}" != "xno" &&
1901 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1903 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1904 VLC_ADD_PLUGIN([access_eyetv])
1909 AC_ARG_ENABLE(macosx-qtkit,
1910 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1911 if test "x${enable_macosx_qtkit}" != "xno" &&
1912 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1914 VLC_ADD_PLUGIN([qtcapture])
1915 VLC_ADD_PLUGIN([qtsound])
1917 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1924 EXTEND_HELP_STRING([Mux/Demux plugins:])
1927 dnl libdvbpsi check for ts mux/demux
1930 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1931 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1935 dnl GME demux plugin
1938 [AS_HELP_STRING([--enable-gme],
1939 [use Game Music Emu (default auto)])])
1940 AS_IF([test "${enable_gme}" != "no"], [
1941 AC_CHECK_HEADER([gme/gme.h], [
1942 VLC_ADD_LIBS([gme], [-lgme])
1943 VLC_ADD_PLUGIN([gme])
1945 AS_IF([test "x${enable_gme}" != "x"], [
1946 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1956 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1957 AS_IF([test "${enable_sid}" != "no"], [
1958 PKG_CHECK_MODULES(SID, [libsidplay2], [
1960 oldCPPFLAGS="$CPPFLAGS"
1961 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1962 AC_CHECK_HEADER([sidplay/builders/resid.h], [
1963 VLC_ADD_PLUGIN([sid])
1964 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
1965 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
1967 AS_IF([test -n "${enable_sid}"],
1968 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1969 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1972 CPPFLAGS="$oldCPPFLAGS"
1975 AS_IF([test "x${enable_sid}" = "xyes"],
1976 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
1977 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
1984 dnl ogg demux plugin
1986 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
1987 if test "${enable_sout}" != "no"; then
1988 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
1989 dnl Check for libshout
1990 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
1994 dnl matroska demux plugin
1997 [AS_HELP_STRING([--disable-mkv],
1998 [do not use libmatroska (default auto)])])
1999 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2001 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2002 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2004 [#include <ebml/EbmlVersion.h>
2005 #ifdef LIBEBML_VERSION
2006 #if LIBEBML_VERSION >= 0x010000
2010 [AC_MSG_RESULT([yes])
2011 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2012 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2014 [#include <matroska/KaxVersion.h>
2015 #ifdef LIBMATROSKA_VERSION
2016 #if LIBMATROSKA_VERSION >= 0x010000
2020 [AC_MSG_RESULT([yes])
2021 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2022 VLC_ADD_CXXFLAGS([mkv],[])
2023 AC_CHECK_LIB(ebml_pic, main, [
2024 VLC_ADD_PLUGIN([mkv])
2025 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2027 AC_CHECK_LIB(ebml, main, [
2028 VLC_ADD_PLUGIN([mkv])
2029 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2034 AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
2038 [AC_MSG_RESULT([no])
2039 AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.])
2046 dnl modplug demux plugin
2049 [AS_HELP_STRING([--disable-mod],
2050 [do not use libmodplug (default auto)])])
2051 if test "${enable_mod}" != "no" ; then
2052 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2053 VLC_ADD_PLUGIN([mod])
2054 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2055 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2057 AS_IF([test -n "${enable_mod}"],
2058 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2059 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2064 dnl mpc demux plugin
2067 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2068 if test "${enable_mpc}" != "no"
2070 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2071 VLC_ADD_PLUGIN([mpc])
2072 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2073 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2074 VLC_ADD_PLUGIN([mpc])
2075 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2082 EXTEND_HELP_STRING([Codec plugins:])
2087 AC_ARG_ENABLE(wma-fixed,
2088 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2089 if test "${enable_wma_fixed}" = "yes"
2091 VLC_ADD_PLUGIN([wma_fixed])
2095 dnl shine fixed point mp3 encoder
2097 AC_ARG_ENABLE(shine,
2098 [ --enable-shine shine mp3 encoding module (default disabled)])
2099 if test "${enable_shine}" = "yes"
2101 VLC_ADD_PLUGIN([shine])
2105 dnl openmax il codec plugin
2107 AC_ARG_ENABLE(omxil,
2108 [ --enable-omxil openmax il codec module (default disabled)])
2109 if test "${enable_omxil}" = "yes"
2111 VLC_ADD_PLUGIN([omxil])
2115 dnl CrystalHD codec plugin
2117 AC_ARG_ENABLE(crystalhd,
2118 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2119 if test "${enable_crystalhd}" != "no"; then
2120 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2121 VLC_ADD_PLUGIN([crystalhd])
2122 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2124 if test "${SYS}" = "mingw32" ; then
2125 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2126 VLC_ADD_PLUGIN([crystalhd])
2127 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2128 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2131 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2132 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2133 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2134 ],[#define __LINUX_USER__
2135 #include <libcrystalhd/bc_dts_types.h>
2139 #include <libcrystalhd/bc_dts_types.h>
2147 [ --enable-mad libmad module (default enabled)])
2148 if test "${enable_mad}" != "no"
2151 [ --with-mad=PATH path to libmad],[],[])
2152 if test "${with_mad}" != "no" -a -n "${with_mad}"
2154 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2155 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2158 AC_ARG_WITH(mad-tree,
2159 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2160 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2162 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2163 if test -z "${real_mad_tree}"
2165 dnl The given directory can't be found
2167 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2169 dnl Use a custom libmad
2170 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2171 if test -f ${real_mad_tree}/mad.h
2174 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2175 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2177 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2178 AC_CHECK_LIB(mad, mad_bit_init, [
2179 VLC_ADD_PLUGIN([mpgatofixed32])
2180 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2181 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2186 AC_MSG_ERROR([the specified tree does not have mad.h])
2190 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2191 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2192 AC_CHECK_HEADERS(mad.h, ,
2193 [ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ])
2194 AC_CHECK_LIB(mad, mad_bit_init, [
2195 VLC_ADD_PLUGIN([mpgatofixed32])
2196 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2197 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2203 AC_ARG_ENABLE(merge-ffmpeg,
2204 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2205 enable_merge_ffmpeg="no"
2207 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2210 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2211 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2212 [ac_cv_ld_bsymbolic],
2213 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2217 dnl avcodec decoder/encoder plugin
2219 AC_ARG_ENABLE(avcodec,
2220 [ --enable-avcodec libavcodec codec (default enabled)])
2221 AS_IF([test "${enable_avcodec}" != "no"], [
2222 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 54.25.0 libavutil >= 51.22.0], [
2223 AS_IF([test "${enable_sout}" != "no"], [
2224 PKG_CHECK_EXISTS([libavcodec < 55],, [
2225 AC_MSG_ERROR([libavcodec version 55 requires --disable-sout.])
2228 PKG_CHECK_EXISTS([libavcodec < 56],, [
2229 AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.])
2232 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2233 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2234 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2235 AC_CHECK_HEADERS(libavutil/avutil.h)
2236 VLC_ADD_PLUGIN([avcodec])
2237 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2238 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2239 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2241 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2245 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2252 dnl libva needs avcodec
2254 AC_ARG_ENABLE(libva,
2255 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2257 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2258 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2260 have_avcodec_vaapi="no"
2261 AS_IF([test "${enable_libva}" != "no"], [
2262 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2264 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2265 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2266 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2267 AC_MSG_NOTICE([VAAPI acceleration activated])
2268 have_avcodec_vaapi="yes"
2270 AS_IF([test -n "${enable_libva}"], [
2271 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2273 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2278 AS_IF([test -n "${enable_libva}"], [
2279 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2281 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2285 AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
2288 dnl dxva2 needs avcodec
2290 AC_ARG_ENABLE(dxva2,
2291 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2293 have_avcodec_dxva2="no"
2294 AS_IF([test "${enable_dxva2}" != "no"], [
2295 if test "${SYS}" = "mingw32"; then
2296 AS_IF([test "x${have_avcodec}" = "xyes"], [
2297 AC_CHECK_HEADERS(dxva2api.h,
2299 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2300 AC_MSG_NOTICE([DxVA2 acceleration activated])
2301 have_avcodec_dxva2="yes"
2303 AS_IF([test "${enable_dxva2}" = "yes"],
2304 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2305 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2306 ], [#undef _WIN32_WINNT
2307 /* DXVA2 is only available in Vista and above */
2308 #define _WIN32_WINNT 0x600])
2310 AS_IF([test "${enable_dxva2}" = "yes"],
2311 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2312 [AC_MSG_WARN([dxva2api.h not found])])
2315 AS_IF([test "x${enable_dxva2}" != "x"], [
2316 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2321 AM_CONDITIONAL([HAVE_AVCODEC_DXVA2], [test "${have_avcodec_dxva2}" = "yes"])
2324 dnl vda needs avcodec
2327 [ --enable-vda VDA support (default auto)])
2329 have_avcodec_vda="no"
2330 AS_IF([test "${enable_vda}" != "no"], [
2331 if test "${SYS}" = "darwin"; then
2332 AS_IF([test "x${have_avcodec}" = "xyes"], [
2333 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2335 AC_CHECK_HEADERS(libavcodec/vda.h, [
2336 have_avcodec_vda="yes"
2338 AS_IF([test "${enable_vda}" = "yes"],
2339 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2340 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2343 AS_IF([test "${enable_vda}" = "yes"],
2344 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2345 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2348 AS_IF([test "x${enable_vda}" != "x"], [
2349 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2354 AM_CONDITIONAL([HAVE_AVCODEC_VDA], [test "${have_avcodec_vda}" = "yes"])
2357 dnl stream_out switcher needs libavcodec
2359 AC_ARG_ENABLE(switcher,
2360 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2361 AS_IF([test "${enable_switcher}" = "yes"], [
2362 AS_IF([test "x${have_avcodec}" = "xyes"], [
2363 VLC_ADD_PLUGIN([stream_out_switcher])
2364 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2365 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2366 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2372 dnl avformat demuxer/muxer plugin
2375 AC_ARG_ENABLE(avformat,
2376 [ --enable-avformat libavformat containers (default enabled)],, [
2377 enable_avformat="${have_avcodec}"
2379 if test "${enable_avformat}" != "no"
2381 PKG_CHECK_MODULES(AVFORMAT,[libavformat >= 53.21.0 libavcodec libavutil],
2384 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2385 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2386 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2387 AC_CHECK_HEADERS(libavutil/avutil.h)
2388 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2389 VLC_ADD_PLUGIN([avformat access_avio])
2390 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2391 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2392 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2393 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2396 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2397 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2401 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2406 dnl swscale image scaling and conversion plugin
2409 AC_ARG_ENABLE(swscale,
2410 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2411 (default enabled)]))
2412 if test "${enable_swscale}" != "no"
2414 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2417 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2418 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2419 AC_CHECK_HEADERS(libswscale/swscale.h)
2420 VLC_ADD_PLUGIN([swscale])
2421 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2422 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2423 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2424 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2428 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2436 AC_ARG_ENABLE(postproc,
2437 [ --enable-postproc libpostproc image post-processing (default auto)])
2438 if test "${enable_postproc}" != "no"
2440 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2443 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2444 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2445 AC_CHECK_HEADERS(postproc/postprocess.h)
2446 VLC_ADD_PLUGIN([postproc])
2447 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2448 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2451 AC_MSG_WARN([${POSTPROC_PKG_ERRORS}.])
2456 dnl faad decoder plugin
2459 [ --enable-faad faad codec (default auto)])
2460 if test "${enable_faad}" != "no"; then
2461 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2462 if test -n "${with_faad_tree}"; then
2463 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2464 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2465 if test -z "${real_faad_tree}"; then
2466 dnl The given directory can't be found
2468 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2470 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2471 dnl Use the custom faad
2472 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2473 VLC_ADD_PLUGIN([faad])
2474 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2475 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2477 dnl The given libfaad wasn't built
2479 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2483 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2484 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2485 AC_CHECK_HEADERS(faad.h,
2486 [ AC_CHECK_LIB(faad, faacDecOpen, [
2487 VLC_ADD_PLUGIN([faad])
2488 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2489 AC_CHECK_LIB(faad, NeAACDecOpen, [
2490 VLC_ADD_PLUGIN([faad])
2491 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2492 AS_IF([test "${enable_faad}" = "yes"],
2493 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2494 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2495 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2496 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2497 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2503 dnl twolame encoder plugin
2505 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2508 dnl fdk-aac encoder plugin
2510 PKG_ENABLE_MODULES_VLC([FDKAAC], [], [fdk-aac], [FDK-AAC encoder], [disabled])
2513 dnl QuickTime plugin
2515 AC_ARG_ENABLE(quicktime,
2516 [ --enable-quicktime QuickTime module (deprecated)])
2517 if test "${enable_quicktime}" = "yes"; then
2518 if test "${SYS}" = "mingw32"; then
2519 VLC_ADD_PLUGIN([quicktime])
2521 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2522 [ VLC_ADD_PLUGIN([quicktime])
2523 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2524 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2529 dnl A52/AC3 decoder plugin
2532 [ --enable-a52 A/52 support with liba52 (default enabled)])
2533 if test "${enable_a52}" != "no"
2536 [ --with-a52=PATH a52 headers and libraries])
2537 AC_ARG_WITH(a52-tree,
2538 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2539 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2541 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2542 if test -z "${real_a52_tree}"
2544 dnl The given directory can't be found
2546 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2548 dnl Use a custom a52dec
2549 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2550 if test -f ${real_a52_tree}/include/a52.h
2553 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2554 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2556 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2557 AC_CHECK_LIB(a52, a52_free, [
2558 VLC_ADD_PLUGIN([a52tofloat32])
2559 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2560 VLC_ADD_LIBS([a52tofloat32],[-la52])
2562 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2564 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2566 AC_MSG_ERROR([the specified tree has not been compiled])
2571 AC_MSG_ERROR([the specified tree does not have a52.h])
2574 if test -z "${with_a52}"
2579 LDFLAGS_test="-L${with_a52}/lib"
2580 CPPFLAGS_test="-I${with_a52}/include"
2583 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2584 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2585 AC_CHECK_HEADERS(a52dec/a52.h, [
2586 AC_CHECK_LIB(a52, a52_free, [
2587 VLC_ADD_PLUGIN([a52tofloat32])
2588 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2589 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2591 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.])
2594 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.])
2601 dnl DTS Coherent Acoustics decoder plugin
2603 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2608 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2613 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2618 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2623 AC_ARG_ENABLE(tremor,
2624 [ --enable-tremor Tremor decoder support (default disabled)])
2625 if test "${enable_tremor}" = "yes"
2627 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2628 VLC_ADD_PLUGIN([tremor])
2629 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2636 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2638 AS_IF([test "${enable_speex}" != "no"], [
2639 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2642 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2645 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2650 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
2653 dnl theora decoder plugin
2655 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2658 dnl dirac encoder plugin
2660 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2663 dnl schroedinger decoder plugin (for dirac format video)
2665 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2668 dnl PNG decoder module
2671 [ --enable-png PNG support (default enabled)])
2672 AS_IF([test "${enable_png}" != "no"], [
2673 AC_CHECK_HEADERS(png.h, [
2675 LDFLAGS="${LDFLAGS} -lz $LIBM"
2676 AC_CHECK_LIB(png, png_set_rows, [
2677 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2678 VLC_ADD_PLUGIN([png])
2685 dnl H264 encoder plugin (10-bit lib264)
2687 AC_ARG_ENABLE(x26410b,
2688 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2689 if test "${enable_x26410b}" != "no"; then
2690 AC_ARG_WITH(x26410b-tree,
2691 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2692 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2694 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2695 if test -z "${real_x26410b_tree}"
2698 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2700 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2701 if test -f ${with_x26410b_tree}/x264_config.h
2704 AC_MSG_CHECKING(for 10-bit build of x264)
2705 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2707 VLC_ADD_PLUGIN([x26410b])
2708 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2709 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2712 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2716 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2719 PKG_CHECK_MODULES(X26410B, x26410b, [
2720 VLC_ADD_PLUGIN([x26410b])
2721 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2722 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2723 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2725 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2726 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2727 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2730 if test "${enable_x26410b}" = "yes"; then
2731 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2739 dnl H264 encoder plugin (using libx264)
2742 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2743 if test "${enable_x264}" != "no"; then
2744 AC_ARG_WITH(x264-tree,
2745 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2746 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2748 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2749 if test -z "${real_x264_tree}"
2751 dnl The given directory can't be found
2753 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2755 dnl Use a custom libx264
2756 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2757 if test -f ${real_x264_tree}/x264.h
2760 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2761 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2762 PKG_CHECK_MODULES(X264,x264, [
2763 VLC_ADD_PLUGIN([x264])
2764 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2765 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2766 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2767 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2770 AC_MSG_ERROR([the specified tree has not been compiled])
2774 AC_MSG_ERROR([the specified tree does not have x264.h])
2777 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2778 VLC_ADD_PLUGIN([x264])
2779 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2781 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2782 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2785 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2786 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2787 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2790 if test "${enable_x264}" = "yes"; then
2791 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2798 dnl libfluidsynth (MIDI synthetizer) plugin
2800 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2803 dnl Teletext Modules
2804 dnl vbi decoder plugin (using libzbvi)
2809 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2810 libzvbi (default enabled)]))
2812 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2813 zvbi) (default enabled if zvbi is absent)]))
2815 AS_IF( [test "${enable_zvbi}" != "no"],[
2816 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2818 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2819 if test "${SYS}" = "mingw32"; then
2820 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2822 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2823 VLC_ADD_PLUGIN([zvbi])
2824 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2825 AS_IF( [test "${enable_telx}" = "yes"],[
2826 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2829 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2832 AS_IF( [test "${enable_telx}" != "no" ],[
2833 VLC_ADD_PLUGIN([telx])
2837 dnl libass subtitle rendering module
2839 AC_ARG_ENABLE(libass,
2840 [ --enable-libass Subtitle support using libass (default enabled)])
2841 AS_IF( [test "${enable_libass}" != "no"], [
2842 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2844 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2845 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2846 VLC_ADD_PLUGIN([libass])
2848 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2849 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2850 VLC_ADD_LIBS([libass],[-lfontconfig])
2853 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2858 dnl kate decoder plugin
2860 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2863 dnl tiger rendering for kate decoder plugin
2865 AC_ARG_ENABLE(tiger,
2866 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2867 AS_IF([test "${enable_tiger}" != "no"], [
2868 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2869 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2870 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2871 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2872 AS_IF([test -n "${enable_tiger}"], [
2873 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2883 EXTEND_HELP_STRING([Video plugins:])
2888 PKG_CHECK_MODULES([GL], [gl], [
2891 AC_CHECK_HEADER([GL/gl.h], [
2900 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2901 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2902 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2903 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2906 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2909 AS_IF([test "$enable_egl" != "no"], [
2910 PKG_CHECK_MODULES([EGL], [egl], [
2911 VLC_ADD_PLUGIN([gl])
2912 VLC_ADD_PLUGIN([egl])
2921 AC_CHECK_HEADERS(X11/Xlib.h)
2924 dnl X C Bindings modules
2927 [ --enable-xcb X11 support with XCB (default enabled)],, [
2928 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2934 AC_ARG_ENABLE(xvideo,
2935 [ --enable-xvideo XVideo support (default enabled)],, [
2936 enable_xvideo="$enable_xcb"
2939 [ --enable-glx OpenGL support through GLX (default enabled)],, [
2940 enable_glx="$enable_xcb"
2944 AS_IF([test "${enable_xcb}" != "no"], [
2946 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
2948 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
2949 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
2951 AS_IF([test "${enable_xvideo}" != "no"], [
2952 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
2953 VLC_ADD_PLUGIN([xcb_xv])
2957 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
2958 VLC_ADD_PLUGIN([panoramix])
2959 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
2960 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
2962 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
2965 PKG_CHECK_MODULES(XPROTO, [xproto], [
2966 VLC_ADD_PLUGIN([xwd])
2969 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
2970 VLC_ADD_PLUGIN([globalhotkeys])
2971 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
2973 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
2976 AC_MSG_WARN([${XPROTO_PKG_ERRORS}. Hotkeys and XWD will not work.])
2979 AS_IF([test "${enable_glx}" != "no"], [
2980 AS_IF([test "${have_gl}" != "yes"], [
2981 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
2983 VLC_ADD_PLUGIN([xcb_glx])
2984 VLC_ADD_PLUGIN([glx])
2985 VLC_ADD_PLUGIN([gl])
2988 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
2992 dnl VDPAU needs X11 and avcodec
2994 AC_ARG_ENABLE(vdpau,
2995 [AS_HELP_STRING([--enable-vdpau],
2996 [VDPAU hardware decoder support (default auto)])])
2998 AS_IF([test "${enable_vdpau}" != "no"], [
2999 PKG_CHECK_MODULES([VDPAU], [vdpau], [
3001 AS_IF([test "${no_x}" = "yes"], [
3002 AC_MSG_ERROR([VDPAU requires Xlib (X11).])
3004 AC_MSG_NOTICE([VDPAU acceleration activated])
3006 AS_IF([test -n "${enable_vdpau}"], [
3007 AC_MSG_ERROR([${VDPAU_PKG_ERRORS}.])
3011 dnl AM_CONDITIONAL([HAVE_VDPAU], [test "${have_vdpau}" = "yes"])
3013 have_avcodec_vdpau="no"
3014 AS_IF([test "${have_vdpau}" = "yes"], [
3015 PKG_CHECK_EXISTS([libavutil >= 0.52.4 libavcodec >= 54.36.0], [
3016 have_avcodec_vdpau="yes"
3018 AS_IF([test -n "${enable_vdpau}"], [
3019 AC_MSG_ERROR([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3021 AC_MSG_WARN([libavutil >= 0.52.4 and libavcodec >= 54.36.0 are required for VDPAU decoding.])
3025 AM_CONDITIONAL([HAVE_AVCODEC_VDPAU], [test "${have_avcodec_vdpau}" = "yes"])
3032 [ --enable-sdl SDL support (default enabled)])
3033 AC_ARG_ENABLE(sdl-image,
3034 [ --enable-sdl-image SDL image support (default enabled)])
3035 if test "${enable_sdl}" != "no"
3037 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3038 # SDL on Darwin is heavily patched and can only run SDL_image
3039 if test "${SYS}" != "darwin"; then
3040 VLC_ADD_PLUGIN([vout_sdl])
3042 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3043 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3045 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3046 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3049 AS_IF([ test "${enable_sdl_image}" != "no"],[
3050 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3051 VLC_ADD_PLUGIN([sdl_image])
3052 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3053 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3054 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3058 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3065 AC_ARG_ENABLE(macosx-vout,
3066 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3067 if test "x${enable_macosx_vout}" != "xno" &&
3068 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3070 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3071 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3072 VLC_ADD_PLUGIN([vout_macosx])
3079 AC_ARG_ENABLE(freetype,
3080 [ --enable-freetype freetype support (default auto)])
3081 AC_ARG_ENABLE(fribidi,
3082 [ --enable-fribidi fribidi support (default auto)])
3083 AC_ARG_ENABLE(fontconfig,
3084 [ --enable-fontconfig fontconfig support (default auto)])
3086 if test "${enable_freetype}" != "no"; then
3087 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3089 VLC_ADD_PLUGIN([freetype])
3090 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3091 if test "${SYS}" = "mingw32"; then
3092 VLC_ADD_LIBS([freetype],[-liconv -lz])
3094 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3096 AC_CHECK_HEADERS(Carbon/Carbon.h,
3097 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3099 dnl fontconfig support
3100 if test "${SYS}" != "mingw32"; then
3101 if test "${enable_fontconfig}" != "no"; then
3102 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3103 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3104 VLC_ADD_LIBS([freetype],[-lfontconfig])
3105 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3108 VLC_ADD_LIBS([freetype],[-lgdi32])
3112 if test "${enable_fribidi}" != "no"; then
3113 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3114 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3115 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3116 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3121 AS_IF([test -n "${enable_freetype}"],[
3122 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3129 dnl QuartzText vout module (iOS/Mac OS)
3131 AC_ARG_ENABLE(macosx-quartztext,
3132 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3133 if test "x${enable_macosx_quartztext}" != "xno" &&
3134 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3136 VLC_ADD_PLUGIN([quartztext])
3137 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3143 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3146 dnl android surface module
3148 AC_ARG_ENABLE(android-surface,
3149 [ --enable-android-surface Android Surface video output module (default disabled)])
3150 if test "${enable_android_surface}" = "yes"; then
3151 if test "${HAVE_ANDROID}" = "1"; then
3152 VLC_ADD_PLUGIN([android_surface])
3153 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3161 AC_ARG_ENABLE(ios-vout,
3162 [ --enable-ios-vout iOS video output module (default disabled)])
3163 if test "${enable_ios_vout}" = "yes"
3165 VLC_ADD_PLUGIN([vout_ios])
3166 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3170 dnl Windows DirectX module
3173 if test "${SYS}" = "mingw32"
3175 VLC_ADD_PLUGIN([panoramix])
3178 AC_ARG_ENABLE(directx,
3179 [AS_HELP_STRING([--enable-directx],
3180 [Microsoft DirectX support (default enabled on Windows)])],, [
3181 AS_IF([test "${SYS}" = "mingw32"], [
3182 enable_directx="yes"
3188 AS_IF([test "${enable_directx}" != "no"], [
3190 AC_CHECK_HEADERS(ddraw.h, [
3193 AC_MSG_ERROR([Cannot find DirectX headers!])
3197 AC_CHECK_HEADERS(GL/wglew.h, [
3198 VLC_ADD_PLUGIN([glwin32])
3200 #include <windows.h>
3205 AC_CHECK_HEADERS(d3d9.h, [
3206 VLC_ADD_PLUGIN([direct3d])
3210 AC_CHECK_HEADERS(d2d1.h, [
3211 VLC_ADD_PLUGIN([direct2d])
3214 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3217 dnl Linux framebuffer module
3219 AC_CHECK_HEADER([linux/fb.h], [
3220 VLC_ADD_PLUGIN([fb])
3226 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3227 dnl TODO: support for static linking
3229 AC_ARG_ENABLE(directfb,
3230 [ --enable-directfb DirectFB support (default disabled)])
3231 AC_ARG_WITH(directfb,
3232 [ --with-directfb=PATH path to DirectFB headers and libraries])
3234 if test "${enable_directfb}" = "yes"; then
3235 have_directfb="false"
3236 CPPFLAGS_mydirectfb=
3238 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3239 dnl Trying the given location
3242 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3243 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3245 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3246 LIBS="${LIBS} ${LIBS_new}"
3248 dnl FIXME: too obscure
3249 AC_CHECK_HEADER([directfb.h], [
3250 AC_CHECK_LIB([direct],[direct_initialize], [
3251 AC_CHECK_LIB([fusion], [fusion_enter], [
3252 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3253 ], have_directfb="false")
3254 ], have_directfb="false")
3255 ], have_directfb="false")
3259 if test "${have_directfb}" = "true"; then
3260 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3261 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3264 dnl Look for directfb-config
3265 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3266 if test "${DIRECTFB_CONFIG}" != "no"; then
3267 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3268 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3269 have_directfb="true"
3271 dnl Trying with pkg-config
3272 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3273 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3274 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3275 have_directfb="true"
3276 ], [have_directfb="false"])
3279 if test "${have_directfb}" = "true"; then
3280 VLC_ADD_PLUGIN([directfb])
3281 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3282 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3284 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3292 [ --enable-aa aalib output (default disabled)])
3293 if test "${enable_aa}" = "yes"
3295 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3296 if test "${have_aa}" = "true"
3298 VLC_ADD_PLUGIN([aa])
3299 VLC_ADD_LIBS([aa],[-laa])
3300 if test "${SYS}" != "mingw32"; then
3301 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3309 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3315 [AS_HELP_STRING([--enable-kva],
3316 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3317 AS_IF([test "$SYS" = "os2"], [
3323 AS_IF([test "$enable_kva" != "no"], [
3324 AC_CHECK_HEADERS([kva.h], [
3326 AC_CHECK_LIB(kva, main, [
3332 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3338 EXTEND_HELP_STRING([Audio plugins:])
3341 dnl Pulseaudio module
3343 AC_ARG_ENABLE(pulse,
3344 [AS_HELP_STRING([--enable-pulse],
3345 [use the PulseAudio client library (default auto)])])
3347 AS_IF([test "${enable_pulse}" != "no"], [
3348 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3351 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3352 AS_IF([test "${no_x}" != "yes"], [
3354 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3356 AS_IF([test "${enable_pulse}" = "yes"], [
3357 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3358 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3362 AS_IF([test "x${enable_pulse}" != "x"], [
3363 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3368 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3374 [AS_HELP_STRING([--enable-alsa],
3375 [support the Advanced Linux Sound Architecture (default auto)])],, [
3376 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3381 AS_IF([test "${enable_alsa}" != "no"], [
3382 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.24], [
3385 AS_IF([test "x${enable_alsa}" != "x"], [
3386 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.24 or later required.])
3390 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3393 dnl Open Sound System module
3396 [AS_HELP_STRING([--enable-oss],
3397 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3398 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3404 AS_IF([test "$enable_oss" != "no"], [
3405 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3407 AC_CHECK_LIB(ossaudio, main, [
3408 OSS_LIBS="-lossaudio"
3413 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3416 dnl OpenBSD sndio module
3418 AC_ARG_ENABLE([sndio],
3419 [AS_HELP_STRING([--disable-sndio],
3420 [support the OpenBSD sndio (default auto)])],, [
3421 AS_IF([test "$SYS" = "opensd"], [
3426 AS_IF([test "$enable_sndio" != "no"], [
3427 AC_CHECK_HEADER([sndio.h], [
3431 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3434 dnl Windows Audio Session plugin
3436 AC_ARG_ENABLE([wasapi],
3437 [AS_HELP_STRING([--enable-wasapi],
3438 [use the Windows Audio Session API (default auto)])
3441 AS_IF([test "$enable_wasapi" != "no"], [
3442 AC_CHECK_HEADER([audioclient.h], [
3445 AS_IF([test "x${enable_wasapi}" != "x"], [
3446 AC_MSG_ERROR([Windows Audio Session API not found.])
3450 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3453 dnl win32 waveOut plugin
3455 AC_ARG_ENABLE(waveout,
3456 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3457 if test "${enable_waveout}" != "no"; then
3458 if test "${SYS}" = "mingw32"; then
3459 VLC_ADD_PLUGIN([waveout])
3460 VLC_ADD_LIBS([waveout],[-lwinmm])
3465 dnl CoreAudio plugin
3467 AC_ARG_ENABLE(macosx-audio,
3468 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3469 if test "x${enable_macosx_audio}" != "xno" &&
3470 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3472 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3473 [ VLC_ADD_PLUGIN([auhal])
3474 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,CoreServices])
3475 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3479 dnl AudioQueue plugin
3481 AC_ARG_ENABLE(audioqueue,
3482 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3483 if test "${enable_audioqueue}" = "yes"
3485 VLC_ADD_PLUGIN([audioqueue])
3486 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3492 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3495 dnl OpenSLES Android
3497 AC_ARG_ENABLE(opensles,
3498 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3499 if test "${HAVE_ANDROID}" = "1"; then
3500 if test "${enable_opensles}" = "yes"; then
3501 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3502 [ VLC_ADD_PLUGIN([opensles_android]) ],
3503 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3508 dnl libsamplerate plugin
3510 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3516 [AS_HELP_STRING([--enable-kai],
3517 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3518 AS_IF([test "$SYS" = "os2"], [
3524 AS_IF([test "$enable_kai" != "no"], [
3525 AC_CHECK_HEADERS([kai.h], [
3527 AC_CHECK_LIB(kai, main, [
3533 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3536 dnl Interface plugins
3539 EXTEND_HELP_STRING([Interface plugins:])
3545 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3546 AS_IF([test "${SYS}" = "darwin"], [
3550 AS_IF([test "${enable_qt}" != "no"], [
3551 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3552 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3553 AS_IF([test -n "${enable_qt}"],[
3554 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3556 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3562 AS_IF([test "${enable_qt}" != "no"], [
3563 VLC_ADD_PLUGIN([qt4])
3564 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3565 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3566 ALIASES="${ALIASES} qvlc"
3571 AC_MSG_CHECKING([whether Qt uses Xlib])
3572 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3573 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3575 #if !defined (Q_WS_X11)
3579 AC_MSG_RESULT([yes])
3580 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3581 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3589 AS_IF([test "${SYS}" = "mingw32"], [
3590 VLC_ADD_LIBS([qt4],[-lole32])
3592 AS_IF([test "${SYS}" = "darwin" ],[
3593 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3596 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3597 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3598 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3599 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin ${CONTRIB_DIR}/bin])
3601 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3604 dnl Simple test for skins2 dependency
3606 AS_IF([test "$enable_qt" = "no"], [
3607 AS_IF([test "${enable_skins2}" = "yes"], [
3608 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.])
3611 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3618 AC_ARG_ENABLE(skins2,
3619 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3620 AS_IF([test "${enable_skins2}" != "no"], [
3621 have_skins_deps="yes"
3624 AS_IF([test "${SYS}" = "mingw32"], [
3625 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3626 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3628 ], [test "${SYS}" = "darwin"], [
3629 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3630 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3633 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3634 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3635 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3636 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3637 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3641 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3643 dnl we need freetype
3644 AS_IF([test "${have_freetype}" != "yes"], [
3645 have_skins_deps="no"
3648 AS_IF([test "${have_skins_deps}" = "no"], [
3649 AS_IF([test "x${enable_skins2}" = "x"], [
3650 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3652 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3656 VLC_ADD_PLUGIN([skins2])
3657 ALIASES="${ALIASES} svlc"
3661 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3663 AC_ARG_ENABLE(libtar,
3664 [ --enable-libtar libtar support for skins2 (default auto)])
3665 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3666 AC_CHECK_HEADERS(libtar.h, [
3667 VLC_ADD_LIBS([skins2],[-ltar])
3672 dnl MacOS X gui module
3674 AC_ARG_ENABLE(macosx,
3675 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3676 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3678 VLC_ADD_LIBS([macosx], [-Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,CoreServices])
3679 VLC_ADD_OBJCFLAGS([macosx], [-fobjc-exceptions] )
3680 VLC_ADD_PLUGIN([macosx])
3682 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration -Wl,-framework,ScriptingBridge])
3684 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3686 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3688 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3689 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3691 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3693 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3695 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3696 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3698 AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
3701 dnl Minimal Mac OS X module
3703 AC_ARG_ENABLE(minimal-macosx,
3704 [ --enable-minimal-macosx Minimal Mac OS X support (default disabled)])
3705 if test "${enable_minimal_macosx}" = "yes" -a "${SYS}" = "darwin"
3707 VLC_ADD_LIBS([minimal_macosx], [-Wl,-framework,Cocoa])
3708 VLC_ADD_OBJCFLAGS([minimal_macosx], [-fobjc-exceptions] )
3709 VLC_ADD_PLUGIN([minimal_macosx])
3711 AM_CONDITIONAL(ENABLE_MINIMAL_MACOSX, [test "$enable_minimal_macosx" != "no"])
3714 dnl MacOS X dialog provider
3716 AC_ARG_ENABLE(macosx-dialog-provider,
3717 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3718 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3719 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3721 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3722 VLC_ADD_PLUGIN([macosx_dialog_provider])
3724 AM_CONDITIONAL(ENABLE_MACOSX_DIALOG_PROVIDER, [test "$enable_macosx_dialog_provider" != "no"])
3729 AC_ARG_ENABLE(ncurses,
3730 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3731 AS_IF([test "${enable_ncurses}" != "no"] ,[
3732 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3733 VLC_ADD_PLUGIN([ncurses])
3734 VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}])
3735 VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}])
3736 ALIASES="${ALIASES} nvlc"
3738 AS_IF([test -n "${enable_ncurses}"], [
3739 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3748 [ --enable-lirc lirc support (default disabled)])
3749 if test "${enable_lirc}" = "yes"
3751 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3752 if test "${have_lirc}" = "true"
3754 VLC_ADD_PLUGIN([lirc])
3755 VLC_ADD_LIBS([lirc],[-llirc_client])
3759 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3761 dnl goom visualization plugin
3763 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3766 dnl libprojectM visualization plugin
3768 AC_ARG_ENABLE(projectm,
3769 [ --enable-projectm projectM visualization plugin (default enabled)])
3770 AS_IF([test "${enable_projectm}" != "no"],
3772 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3774 VLC_ADD_PLUGIN([projectm])
3775 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3776 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3777 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3778 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3779 [ AC_MSG_WARN( [Using libprojectM version 1] )
3782 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3787 dnl Vovoid VSXu visualization plugin
3790 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3791 AS_IF([test "${enable_vsxu}" != "no"],
3793 PKG_CHECK_MODULES(VSXU, libvsxu,
3795 VLC_ADD_PLUGIN([vsxu])
3796 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3797 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3799 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3804 dnl AtmoLight (homemade Philips Ambilight clone)
3807 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3808 (default enabled)]),, [enable_atmo="yes"])
3809 AS_IF([test "${enable_atmo}" != no], [
3810 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3812 VLC_ADD_PLUGIN([atmo])
3818 EXTEND_HELP_STRING([Service Discovery plugins:])
3820 dnl Bonjour services discovery
3821 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3824 dnl libudev services discovery
3825 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3828 dnl MTP devices services discovery
3829 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3832 dnl UPnP Plugin (Intel SDK)
3834 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3835 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3837 EXTEND_HELP_STRING([Misc options:])
3842 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3848 AC_ARG_ENABLE(libgcrypt,
3849 [ --disable-libgcrypt gcrypt support (default enabled)])
3850 AS_IF([test "${enable_libgcrypt}" != "no"], [
3851 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3852 libgcrypt-config --version >/dev/null || \
3853 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3854 AC_CHECK_LIB(gcrypt, gcry_control, [
3855 have_libgcrypt="yes"
3856 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3857 GCRYPT_LIBS="`libgcrypt-config --libs`"
3859 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3860 ], [`libgcrypt-config --libs`])
3862 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3863 ], [#include <gcrypt.h>]
3867 AC_SUBST(GCRYPT_CFLAGS)
3868 AC_SUBST(GCRYPT_LIBS)
3869 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3874 AC_ARG_ENABLE(gnutls,
3875 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3876 AS_IF([test "${enable_gnutls}" != "no"], [
3877 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3878 VLC_ADD_PLUGIN([gnutls])
3880 AS_IF([test -n "${enable_gnutls}"], [
3881 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3890 AC_ARG_ENABLE(taglib,
3891 [AS_HELP_STRING([--disable-taglib],
3892 [do not use TagLib (default enabled)])])
3893 AS_IF([test "${enable_taglib}" != "no"], [
3894 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [
3895 VLC_ADD_PLUGIN([taglib])
3896 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3897 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3899 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3904 dnl update checking system
3906 AC_ARG_ENABLE(update-check,
3907 [ --enable-update-check update checking system (default disabled)])
3908 if test "${enable_update_check}" = "yes"
3910 if test "${have_libgcrypt}" != "yes"
3912 AC_MSG_ERROR([libgcrypt is required for update checking system])
3914 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3915 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3916 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3920 dnl Growl notification plugin
3922 AC_ARG_ENABLE(growl,
3923 [ --enable-growl growl notification plugin (default disabled)],,
3925 AS_IF([test "${enable_growl}" != "no"], [
3926 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3927 VLC_ADD_PLUGIN([growl])
3928 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3929 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3930 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3936 dnl Libnotify notification plugin
3938 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
3943 AC_ARG_ENABLE(media-library,
3944 [ --enable-media-library media library (default disabled)])
3945 AS_IF([test "${enable_media_library}" = "yes"], [
3946 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
3947 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
3948 VLC_ADD_PLUGIN([media_library])
3953 AS_IF([test "${SYS}" != "darwin"], [
3954 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
3956 AS_IF([test "${enable_sqlite}" != "no"], [
3957 AC_CHECK_HEADERS(sqlite3.h, [
3958 VLC_ADD_PLUGIN([sqlite])
3959 VLC_ADD_LIBS([sqlite], [-lsqlite3])
3961 AC_MSG_ERROR([sqlite3 is required for the media library])
3969 dnl Endianness check
3972 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
3973 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
3977 AC_SUBST(DEFS_BIGENDIAN)
3980 dnl Where to install KDE solid .desktop
3982 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
3983 AS_IF([test "x$KDE4_CONFIG" = "x"], [
3984 KDE4_CONFIG="kde4-config"
3987 AC_ARG_WITH(kde-solid,
3988 AS_HELP_STRING([--with-kde-solid=PATH],
3989 [KDE Solid actions directory (auto)]),, [
3991 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
3992 with_kde_solid="yes"
3996 AS_IF([test "${with_kde_solid}" != "no"], [
3997 AS_IF([test "${with_kde_solid}" = "yes"], [
3998 kde4datadir="`${KDE4_CONFIG} --install data`"
3999 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4000 soliddatadir="${kde4datadir}/solid/actions"
4002 soliddatadir="${with_kde_solid}"
4005 AC_SUBST(soliddatadir)
4006 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4009 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4012 AC_ARG_ENABLE(loader,
4013 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4014 (default disabled)]))
4015 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4016 AS_IF([test "${enable_loader}" = "yes"],
4017 [ VLC_ADD_PLUGIN([dmo])
4018 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\$(srcdir)/loader])
4019 VLC_ADD_LIBS([dmo quicktime ],[libloader.la])
4020 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4023 AS_IF([test "${SYS}" = "mingw32"], [VLC_ADD_PLUGIN([dmo]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) ])
4025 EXTEND_HELP_STRING([Components:])
4031 [ --enable-vlc build the VLC media player (default enabled)])
4032 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4034 AC_ARG_ENABLE(macosx-vlc-app,
4035 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4036 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4037 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4040 dnl Stuff used by the program
4042 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4043 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4044 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4045 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4046 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4047 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4048 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4049 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4050 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4051 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4052 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4053 AC_SUBST(COPYRIGHT_MESSAGE)
4054 AC_SUBST(VERSION_MESSAGE)
4055 AC_SUBST(VERSION_MAJOR)
4056 AC_SUBST(VERSION_MINOR)
4057 AC_SUBST(VERSION_REVISION)
4058 AC_SUBST(VERSION_EXTRA)
4059 AC_SUBST(COPYRIGHT_YEARS)
4060 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4061 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4062 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4064 dnl Handle substvars that use $(top_srcdir)
4066 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4069 dnl Configuration is finished
4079 AC_SUBST(WINE_SDK_PATH)
4081 AC_SUBST(AM_CPPFLAGS)
4082 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4083 AC_SUBST(FILE_LIBVLCCORE_DLL)
4084 AC_SUBST(FILE_LIBVLC_DLL)
4098 modules/access/Makefile
4099 modules/access/rtp/Makefile
4100 modules/access_output/Makefile
4101 modules/audio_filter/Makefile
4102 modules/audio_mixer/Makefile
4103 modules/audio_output/Makefile
4104 modules/codec/Makefile
4105 modules/control/Makefile
4106 modules/demux/Makefile
4107 modules/gui/Makefile
4108 modules/gui/macosx/Makefile
4109 modules/gui/minimal_macosx/Makefile
4110 modules/gui/macosx_dialog_provider/Makefile
4111 modules/gui/qt4/Makefile
4112 modules/gui/skins2/Makefile
4113 modules/lua/Makefile
4114 modules/meta_engine/Makefile
4115 modules/misc/Makefile
4116 modules/media_library/Makefile
4117 modules/mux/Makefile
4118 modules/notify/Makefile
4119 modules/packetizer/Makefile
4120 modules/services_discovery/Makefile
4121 modules/stream_filter/Makefile
4122 modules/stream_out/Makefile
4123 modules/text_renderer/Makefile
4124 modules/video_chroma/Makefile
4125 modules/video_filter/Makefile
4126 modules/video_output/Makefile
4127 modules/visualization/Makefile
4128 modules/mmx/Makefile
4129 modules/sse2/Makefile
4130 modules/altivec/Makefile
4131 modules/arm_neon/Makefile
4134 AM_COND_IF([HAVE_WIN32], [
4136 extras/package/win32/NSIS/spad.nsi
4137 extras/package/win32/NSIS/vlc.win32.nsi
4138 extras/package/win32/msi/config.wxi
4142 AM_COND_IF([HAVE_DARWIN], [
4144 extras/package/macosx/Info.plist
4145 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4149 dnl Generate makefiles
4152 dnl Do we have to use make or gmake ?
4153 if make --version 2>&1|grep -q GNU
4155 # GNU make, all seems good
4158 # Known GNU make alias (on BSD)
4161 dnl Shortcut to nice compile message
4162 if test -n $SHELL; then
4163 SHELL=${CONFIG_SHELL-/bin/sh}
4169 export PATH=\"$PATH\" LANG=C
4170 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4171 test -f .error\$\$ && ERROR=1
4173 exit \$ERROR" >compile
4177 libvlc configuration
4178 --------------------
4179 version : ${VERSION}
4181 architecture : ${ARCH}
4182 optimizations : ${enable_optimizations}"
4183 if test "${enable_vlc}" != "no"; then
4184 echo "vlc aliases :${ALIASES}"
4186 echo "build vlc executable : no"
4189 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."