1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2012 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-2012"
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)
28 AM_CONFIG_HEADER(config.h)
30 # Disable with "./configure --disable-silent-rules" or "make V=1"
31 AM_SILENT_RULES([yes])
33 dnl Too many people are not aware of maintainer mode:
34 dnl If you want to use it, you definitely know what you are doing, so
35 dnl you can specify "--disable-maintainer-mode". But if you want the default
36 dnl automake behavior, you've likely never heard of maintainer mode, so we
37 dnl can't expect you to enable it manually.
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39 [enable_maintainer_mode="yes"])
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
49 vlclibdir="\${libdir}/\${PKGDIR}"
56 AC_USE_SYSTEM_EXTENSIONS
57 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
58 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
59 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
60 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
61 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
62 AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of <windows.h>.])
68 _AM_DEPENDENCIES([OBJC])
74 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
75 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
77 dnl Check for compiler properties
82 dnl Extend the --help string at the current spot.
83 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
85 dnl Allow binary package maintainer to pass a custom string to avoid
87 AC_ARG_WITH(binary-version,
88 AS_HELP_STRING([--with-binary-version=STRING],
89 [To avoid plugins cache problem between binary version]),[],[])
90 AS_IF([test -n "${with_binary_version}"],[
91 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
92 [Binary specific version])
96 dnl Check the operating system
108 CFLAGS="${CFLAGS} -pthread"
109 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
113 CFLAGS="${CFLAGS} -pthread"
114 CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
115 LDFLAGS="${LDFLAGS} -L/usr/local/lib"
119 CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include"
120 LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/"
130 dnl Force gcc "-arch" flag
134 ARCH_flag="-arch i386"
137 ARCH_flag="-arch ppc64"
140 ARCH_flag="-arch ppc"
143 ARCH_flag="-arch x86_64"
146 ARCH_flag="-arch armv7"
147 ac_cv_c_bigendian="no"
148 ac_cv_c_attribute_packed="no"
153 CFLAGS="${CFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
154 CXXFLAGS="${CXXFLAGS} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"
155 CPPFLAGS="${CPPFLAGS} ${ARCH_flag}"
156 OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
157 LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
158 VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
159 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,Appkit])
160 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
161 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
162 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
164 dnl Allow binaries created on Lion to run on earlier releases
166 [#import <Cocoa/Cocoa.h>
167 #ifdef MAC_OS_X_VERSION_10_7
170 [AC_MSG_RESULT([yes])
171 AC_LIBOBJ([getdelim])
173 AC_LIBOBJ([strnlen])],)
176 dnl Handle Mac OS X SDK flags
178 AC_ARG_WITH(macosx-sdk,
179 [AS_HELP_STRING([--with-macosx-sdk=DIR],
180 [compile using the SDK in DIR])])
181 if test "${with_macosx_sdk}" != "" ; then
182 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
183 CPP="${CPP} -isysroot ${with_macosx_sdk}"
184 CC="${CC} -isysroot ${with_macosx_sdk}"
185 CXX="${CXX} -isysroot ${with_macosx_sdk}"
186 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
187 LD="${LD} -syslibroot ${with_macosx_sdk}"
189 AC_ARG_WITH(macosx-version-min,
190 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
191 [compile for Mac OS X VERSION and above])])
192 if test "${with_macosx_version_min}" != "" ; then
193 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
194 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
195 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
196 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
197 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
198 LD="${LD} -mmacosx_version_min=${with_macosx_version_min}"
199 CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
200 CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
201 OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
202 export MACOSX_DEPLOYMENT_TARGET
205 *mingw32* | *cygwin* | *wince* | *mingwce*)
206 AC_CHECK_TOOL(WINDRES, windres, :)
207 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
208 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
209 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
216 dnl Check if we are using the mno-cygwin mode in which case we are
217 dnl actually dealing with a mingw32 compiler.
222 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
226 if test "${SYS}" = "mingw32"; then
227 VLC_ADD_LIBS([libvlccore],[-lwinmm])
228 VLC_ADD_LDFLAGS([vlc],[-mwindows])
229 VLC_ADD_LIBS([win32text],[-lgdi32])
230 VLC_ADD_LIBS([vcdx],[-lwinmm])
231 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
232 ac_default_prefix="`pwd`/_win32"
233 DESTDIR="`pwd`/_win32/"
236 dnl NSIS Installer prefix and WIN64
241 PROGRAMFILES="PROGRAMFILES64"
244 PROGRAMFILES="PROGRAMFILES"
247 AC_SUBST(PROGRAMFILES)
265 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild"
271 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
272 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
273 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
274 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
275 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
276 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
279 dnl Check for the contrib directory
282 [AS_HELP_STRING([--with-contrib[=DIR]],
283 [search for 3rd party libraries in DIR/include and DIR/lib])
285 AC_MSG_CHECKING([for 3rd party libraries path])
286 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
287 CONTRIB_DIR="${srcdir}/contrib/${host}"
288 AS_IF([test ! -d "${CONTRIB_DIR}"], [
289 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
290 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
291 AS_IF([test ! -d "${CONTRIB_DIR}"], [
292 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
293 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
294 AS_IF([test ! -d "${CONTRIB_DIR}"], [
295 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
296 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
297 AS_IF([test ! -d "${CONTRIB_DIR}"], [
298 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
300 AC_MSG_RESULT([not found])
306 AS_IF([test "${with_contrib}" != "no"], [
307 CONTRIB_DIR="${with_contrib}"
310 AC_MSG_RESULT([disabled])
313 AS_IF([test -n "${CONTRIB_DIR}"], [
314 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
315 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
317 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
319 AC_MSG_RESULT([not usable])
323 AS_IF([test -n "${CONTRIB_DIR}"], [
324 AC_MSG_RESULT([${CONTRIB_DIR}])
325 export PATH=${CONTRIB_DIR}/bin:$PATH
326 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
327 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
328 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
329 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
330 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
331 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
333 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
335 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
337 AS_IF([test "${SYS}" = "darwin"], [
338 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
339 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
342 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
343 AC_MSG_ERROR([Third party libraries not found!])
346 AC_SUBST(CONTRIB_DIR)
349 dnl Sadly autoconf does not think about testing foo.exe when ask to test
350 dnl for program foo on win32
352 case "${build_os}" in
354 ac_executable_extensions=".exe"
360 dnl Android is linux, but a bit different
361 AS_IF([test "$SYS" = linux],[
362 AC_MSG_CHECKING([for an Android system])
363 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
364 [[#ifndef __ANDROID__
375 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
379 dnl It's very bad, but our former custom system was worst
383 dnl override platform specific check for dependent libraries
384 dnl otherwise libtool linking of shared libraries will
385 dnl fail on anything other than pass_all.
386 AC_CACHE_VAL(lt_cv_deplibs_check_method,
387 [lt_cv_deplibs_check_method=pass_all])
389 LT_INIT([dlopen win32-dll shared disable-static])
391 LT_LANG([Windows Resource])
393 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
394 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
396 lt_cv_deplibs_check_method=pass_all
398 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
399 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
405 AM_GNU_GETTEXT_VERSION([0.18.1])
406 AM_GNU_GETTEXT([external], [need-ngettext])
413 dnl Check for broken versions of mingw-runtime compatability library
414 AS_IF([test "${SYS}" = "mingw32"], [
415 AC_MSG_CHECKING(for broken mingw-runtime)
416 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
418 #if defined(__MINGW64_VERSION_MAJOR)
419 # if __MINGW64_VERSION_MAJOR < 3
420 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
422 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
423 # error Attempting to use mingw-runtime with broken vsnprintf support
428 AC_MSG_RESULT([present])
429 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
431 dnl force use of mingw provided c99 *printf over msvcrt
432 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
435 dnl Check for the need to include the mingwex lib for mingw32
436 if test "${SYS}" = "mingw32" ; then
437 AC_CHECK_LIB(mingwex,opendir,
438 AC_CHECK_LIB(mingw32,opendir,,
439 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
443 dnl Check for fnative-struct or mms-bitfields support for mingw32
444 if test "${SYS}" = "mingw32" ; then
446 CFLAGS="${CFLAGS} -mms-bitfields"
447 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
448 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
449 [ac_cv_c_mms_bitfields],
450 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
451 if test "${ac_cv_c_mms_bitfields}" = "no"; then
453 CFLAGS="${CFLAGS} -fnative-struct"
454 CXXFLAGS="${CXXFLAGS} -fnative-struct"
455 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
456 [ac_cv_c_fnative_struct],
457 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
458 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
463 dnl Buggy glibc prevention. Purposedly not cached.
464 dnl See sourceware.org bugs 5058 and 5443.
465 dnl Ubuntu alone has 20 bug numbers for this...
467 AC_MSG_CHECKING(for buggy GNU/libc versions)
468 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
470 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
471 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
472 # error GNU/libc with dcgettext killer bug!
475 AC_MSG_RESULT([not present])
477 AC_MSG_RESULT([found])
478 AS_IF([test "x${enable_nls}" != "xno"], [
479 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
480 work-around for this. Check with your distribution vendor on how to update the
481 glibc run-time. Alternatively, build with --disable-nls.])
485 dnl Plugin compilation stuff
489 dnl Check for system libs needed
492 dnl Check for usual libc functions
493 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
494 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])
495 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 strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp])
496 AC_CHECK_FUNCS(fdatasync,,
497 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
500 dnl mingw64 implements those as static inline, not functions with C linkage
502 AC_LANG_PROGRAM([#include <stdio.h>], [
504 if (asprintf(&c, "%s %d", "string", 1) == -1)
506 ])],[AC_DEFINE([HAVE_ASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([asprintf])])
508 AC_LANG_PROGRAM([#include <stdio.h>
509 #include <stdarg.h>], [
512 if (vasprintf(&c, "%s %d", ap) == -1)
514 ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
516 dnl C11 static_assert()
517 AC_MSG_CHECKING([for static_assert in assert.h])
518 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
520 #ifndef static_assert
525 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
530 # Windows CE does not have strcoll()
533 dnl Check for non-standard system calls
534 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
536 AH_BOTTOM([#include <vlc_fixups.h>])
538 dnl Check for struct pollfd
539 AC_CHECK_TYPES([struct pollfd],,,
540 [#include <sys/types.h>
543 #elif defined (WIN32)
544 # include <winsock2.h>
548 dnl Checks for socket stuff
551 AC_SEARCH_LIBS(connect, [socket], [
552 AS_IF([test "$ac_cv_search_connect" != "none required"], [
553 SOCKET_LIBS="$ac_cv_search_connect"
556 AS_IF([test "${SYS}" = "mingw32"], [
557 SOCKET_LIBS="-lws2_32"
561 AC_SEARCH_LIBS([getaddrinfo], [nsl], [
562 AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [
563 SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS"
565 ],, [${SOCKET_LIBS}])
567 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
570 AS_IF([test -n "$SOCKET_LIBS"], [
571 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync stream_filter_dash],[${SOCKET_LIBS}])
573 AC_SUBST(SOCKET_LIBS)
575 dnl Check for socklen_t
576 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
577 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
578 ac_cv_type_socklen_t,
579 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
580 [#include <sys/types.h>
582 # include <winsock2.h>
583 # include <ws2tcpip.h>
585 # include <sys/socket.h>
586 #endif]], [[socklen_t len; len = 0;]])],
587 ac_cv_type_socklen_t=yes,
588 ac_cv_type_socklen_t=no)])
589 AS_IF([test "$ac_cv_type_socklen_t" = no],
590 [AC_DEFINE(socklen_t, int)])
592 dnl Check for struct sockaddr_storage
593 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
594 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
595 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
597 [#include <sys/types.h>
599 # include <winsock2.h>
601 # include <sys/socket.h>
602 #endif], [struct sockaddr_storage addr;],
603 ac_cv_struct_sockaddr_storage=yes,
604 ac_cv_struct_sockaddr_storage=no)])
605 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
606 AC_DEFINE(sockaddr_storage, sockaddr)
607 AC_DEFINE(ss_family, sa_family)
610 dnl FreeBSD has a gnugetopt library for this:
612 AC_CHECK_FUNC(getopt_long,, [
613 AC_CHECK_LIB([gnugetopt],[getopt_long], [
614 GNUGETOPT_LIBS="-lgnugetopt"
617 AC_SUBST(GNUGETOPT_LIBS)
620 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex opus mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
627 AC_CHECK_LIB(m,lrintf, [
628 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
629 VLC_ADD_LIBS([skins2],[-lm])
632 dnl Check for dynamic plugins
634 have_dynamic_objects="no"
636 AC_SEARCH_LIBS(dlopen, [dl svld], [
637 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
638 LIBDL="$ac_cv_search_dlopen"
640 have_dynamic_objects="yes"
645 AS_IF([test "${SYS}" = "mingw32"], [
647 have_dynamic_objects="yes" #assume we can use shared objects
650 test "${enable_shared}" = "no" && have_dynamic_objects=no
652 AS_IF([test "${have_dynamic_objects}" != "no"], [
653 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
654 [Define to 1 if dynamic plugins are supported.])
656 dnl Clear $LIBDL so as not to break linking
659 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
662 VLC_ADD_LIBS([lua],[$LIBDL])
664 dnl Check for thread library
665 if test "${SYS}" != "mingw32"; then
669 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
670 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${LIBS}])
674 AC_CHECK_LIB(rt, clock_nanosleep, [
675 VLC_ADD_LIBS([libvlccore],[-lrt])
677 AC_CHECK_FUNC(nanosleep,,[
678 AC_CHECK_LIB(rt,nanosleep, [
679 VLC_ADD_LIBS([libvlccore],[-lrt])
681 AC_CHECK_LIB(posix4,nanosleep, [
682 VLC_ADD_LIBS([libvlccore],[-lposix4])
687 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
689 fi # end "${SYS}" != "mingw32"
691 dnl Check for headers
692 AC_CHECK_HEADERS([search.h])
693 AC_CHECK_HEADERS(getopt.h locale.h xlocale.h)
694 AC_CHECK_HEADERS([sys/time.h sys/ioctl.h])
695 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
696 AC_CHECK_HEADERS([net/if.h], [], [],
698 #include <sys/types.h>
699 #include <sys/socket.h>
701 AC_CHECK_HEADERS([sys/mount.h], [], [],
703 #include <sys/param.h>
706 if test "${SYS}" != "mingw32"; then
707 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
708 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
709 AC_CHECK_HEADERS(syslog.h mntent.h)
710 fi # end "${SYS}" != "mingw32"
712 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
713 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
714 AC_CHECK_TYPE(ssize_t,, [
715 AC_DEFINE(ssize_t, int)
718 dnl Check for threads library
719 if test "${SYS}" != "mingw32"; then
720 AC_CHECK_HEADERS(pthread.h)
721 fi # end "${SYS}" != "mingw32"
723 dnl It seems that autoconf detects pkg-config only during the first
724 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
725 dnl it is nested within a conditional block, so it was not working right.
726 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
727 AC_ARG_VAR(PKG_CONFIG_PATH,
728 [Paths where to find .pc not at the default location])
729 PKG_PROG_PKG_CONFIG()
731 dnl On some OS we need static linking
732 AS_IF([test -n "${PKG_CONFIG}" ],[
733 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
734 PKG_CONFIG="${PKG_CONFIG} --static"
740 dnl Check for zlib.h and -lz along with system -lminizip if available
742 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
743 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
744 if test "${have_zlib}" = "yes"
746 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
747 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
748 AC_CHECK_HEADERS([unzip.h], [
750 MINIZIP_LIBS="-lminizip -lz"
753 MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
754 MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
757 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
758 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
760 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
764 dnl Domain name i18n support via GNU libidn
766 PKG_CHECK_MODULES([IDN], [libidn], [
768 AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
776 [AS_HELP_STRING([--enable-dbus],
777 [compile D-Bus message bus support (default enabled)])])
780 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32"
783 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0],
784 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
785 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
786 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
787 dnl Check for dbus control interface
788 AC_ARG_ENABLE(dbus-control,
789 [AS_HELP_STRING([--disable-dbus-control],
790 [D-Bus control interface (default enabled)])])
791 if test "${enable_dbus_control}" != "no"
793 VLC_ADD_PLUGIN([dbus])
794 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
795 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
797 dnl Power Management Inhibiter
798 VLC_ADD_PLUGIN([inhibit])
799 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
800 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
802 [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])]
808 dnl Check for ntohl, etc.
810 CFLAGS="${CFLAGS} -Wall -Werror"
811 AC_CACHE_CHECK([for ntohl in sys/param.h],
812 [ac_cv_c_ntohl_sys_param_h],
813 [ AC_TRY_COMPILE([#include <sys/param.h>],
814 [int meuh; ntohl(meuh);],
815 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
816 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
817 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
821 EXTEND_HELP_STRING([Optimization options:])
823 dnl Compiler warnings
826 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])
827 RDC_PROG_CC_FLAGS([-pipe])
829 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
836 [AS_HELP_STRING([--enable-debug],
837 [build with run-time assertions (default disabled)])],,
840 [Define to 1 if debug code should NOT be compiled])
841 AS_IF([test "${enable_debug}" != "no"], [
842 AC_CHECK_HEADERS([valgrind/valgrind.h])
851 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
853 AS_IF([test "${enable_gprof}" != "no"], [
854 CFLAGS="${CFLAGS} -pg"
855 CXXFLAGS="${CXXFLAGS} -pg"
856 OBJCFLAGS="${OBJCFLAGS} -pg"
857 LDFLAGS="${LDFLAGS} -pg"
861 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
863 AS_IF([test "${enable_gprof}" != "no"], [
864 CFLAGS="${CFLAGS} -finstrument-functions"
865 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
866 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
867 LDFLAGS="${LDFLAGS} -finstrument-functions"
873 AC_ARG_ENABLE(coverage,
874 [AS_HELP_STRING([--enable-coverage],
875 [build for test coverage (default disabled)])],,
876 [enable_coverage="no"])
877 AS_IF([test "${enable_coverage}" != "no"], [
878 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
879 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
880 LDFLAGS="-lgcov ${LDFLAGS}"
883 AS_IF([test "${SYS}" != "mingw32"], [
885 CFLAGS="${CFLAGS} -fvisibility=hidden"
886 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
887 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
888 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
889 [ac_cv_c_visibility_hidden], [
890 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
891 ac_cv_c_visibility_hidden=yes
893 ac_cv_c_visibility_hidden=no
896 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
901 dnl Enable/disable optimizations
903 AC_ARG_ENABLE(optimizations,
904 [AS_HELP_STRING([--disable-optimizations],
905 [disable compiler optimizations (default enabled)])],,
906 [enable_optimizations="yes"])
908 dnl Check for various optimization flags
909 AS_IF([test "${enable_optimizations}" != "no"], [
911 dnl -O4 and -O3 only in production builds
912 AS_IF([test "{enable_debug}" = "no"], [
914 CFLAGS="${CFLAGS} -O4"
915 CXXFLAGS="${CXXFLAGS} -O4"
916 OBJCFLAGS="${OBJCFLAGS} -O4"
917 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
918 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
924 AS_IF([test "${ac_cv_c_o4}" = "no"], [
926 CFLAGS="${CFLAGS} -O3"
927 CXXFLAGS="${CXXFLAGS} -O3"
928 OBJCFLAGS="${OBJCFLAGS} -O3"
929 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
930 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
936 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
940 dnl Check for -ffast-math
942 CFLAGS="${CFLAGS} -ffast-math"
943 CXXFLAGS="${CXXFLAGS} -ffast-math"
944 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
945 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
946 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
947 ac_cv_c_fast_math=yes
952 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
954 #ifndef __FAST_MATH__
955 # pragma STDC FENV_ACCESS OFF
956 # pragma STDC FP_CONTRACT ON
960 dnl Check for -funroll-loops
962 CFLAGS="${CFLAGS} -funroll-loops"
963 CXXFLAGS="${CXXFLAGS} -funroll-loops"
964 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
965 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
966 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
967 ac_cv_c_unroll_loops=yes
969 ac_cv_c_unroll_loops=no
972 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
974 AS_IF([test "$enable_debug" = "no"], [
975 dnl Check for -fomit-frame-pointer
977 CFLAGS="${CFLAGS} -fomit-frame-pointer"
978 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
979 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
980 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
981 [ac_cv_c_omit_frame_pointer], [
982 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
983 ac_cv_c_omit_frame_pointer=yes
985 ac_cv_c_omit_frame_pointer=no
988 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
992 dnl Check for Darwin plugin linking flags
993 AS_IF([test "${SYS}" = "darwin"], [
995 CFLAGS="${CFLAGS} -bundle -undefined error"
996 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
998 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1004 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1005 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1010 dnl Checks for __attribute__(aligned()) directive
1012 CFLAGS="${CFLAGS} -Werror"
1013 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1014 [ac_cv_c_attribute_aligned],
1015 [ac_cv_c_attribute_aligned=0
1016 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1018 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1019 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1022 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1023 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1024 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1027 dnl Check for __attribute__((packed))
1028 AC_CACHE_CHECK([for __attribute__((packed))],
1029 [ac_cv_c_attribute_packed],
1030 [ac_cv_c_attribute_packed=no
1031 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1032 [ac_cv_c_attribute_packed=yes])])
1033 if test "${ac_cv_c_attribute_packed}" != "no"; then
1034 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1040 case "${host_cpu}" in
1049 dnl Check for backtrace() support
1050 AC_CHECK_HEADERS(execinfo.h)
1051 AC_CHECK_FUNCS(backtrace)
1056 ALIASES="${ALIASES} cvlc rvlc"
1059 dnl Some plugins aren't useful on some platforms
1061 if test "${SYS}" = "os2"; then
1062 VLC_ADD_PLUGIN([dynamicoverlay])
1063 elif test "${SYS}" != "mingw32"; then
1064 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1065 elif test "${SYS}" = "darwin"; then
1066 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
1070 dnl Accelerated modules
1073 dnl Check for fully working MMX intrinsics
1074 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1075 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1077 [AS_HELP_STRING([--disable-mmx],
1078 [disable MMX optimizations (default auto)])],,[
1079 case "${host_cpu}" in
1090 AS_IF([test "${enable_mmx}" != "no"], [
1093 CFLAGS="${CFLAGS} -mmmx"
1094 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1095 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1096 [#include <mmintrin.h>
1098 uint64_t frobzor;]], [
1100 a = b = c = (__m64)frobzor;
1101 a = _mm_slli_pi16(a, 3);
1102 a = _mm_adds_pi16(a, b);
1103 c = _mm_srli_pi16(c, 8);
1104 c = _mm_slli_pi16(c, 3);
1105 b = _mm_adds_pi16(b, c);
1106 a = _mm_unpacklo_pi8(a, b);
1107 frobzor = (uint64_t)a;]])], [
1108 ac_cv_c_mmx_intrinsics=yes
1110 ac_cv_c_mmx_intrinsics=no
1114 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1115 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1119 CFLAGS="${CFLAGS} -mmmx"
1120 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1121 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1123 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1126 ac_cv_mmx_inline=yes
1131 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1132 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1136 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1137 [ac_cv_mmxext_inline], [
1138 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1140 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1143 ac_cv_mmxext_inline=yes
1145 ac_cv_mmxext_inline=no
1149 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1150 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
1154 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1155 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1157 dnl Check for fully workin SSE2 intrinsics
1158 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1159 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1161 [AS_HELP_STRING([--disable-sse],
1162 [disable SSE (1-4) optimizations (default auto)])],, [
1163 case "${host_cpu}" in
1173 AS_IF([test "${enable_sse}" != "no"], [
1174 ARCH="${ARCH} sse sse2"
1177 CFLAGS="${CFLAGS} -msse2"
1178 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1179 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1180 [#include <emmintrin.h>
1182 uint64_t frobzor;]], [
1184 a = b = c = _mm_set1_epi64((__m64)frobzor);
1185 a = _mm_slli_epi16(a, 3);
1186 a = _mm_adds_epi16(a, b);
1187 c = _mm_srli_epi16(c, 8);
1188 c = _mm_slli_epi16(c, 3);
1189 b = _mm_adds_epi16(b, c);
1190 a = _mm_unpacklo_epi8(a, b);
1191 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1192 ac_cv_c_sse2_intrinsics=yes
1194 ac_cv_c_sse2_intrinsics=no
1198 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1199 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1203 CFLAGS="${CFLAGS} -msse"
1204 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1205 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1207 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1210 ac_cv_sse_inline=yes
1216 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1217 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1220 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1221 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1223 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1226 ac_cv_sse2_inline=yes
1228 ac_cv_sse2_inline=no
1231 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1232 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1237 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1238 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1240 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1243 ac_cv_sse3_inline=yes
1245 ac_cv_sse3_inline=no
1249 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1250 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1252 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1253 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1255 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1258 ac_cv_ssse3_inline=yes
1260 ac_cv_ssse3_inline=no
1264 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1265 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1268 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1269 [ac_cv_sse4_1_inline], [
1270 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1272 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1275 ac_cv_sse4_1_inline=yes
1277 ac_cv_sse4_1_inline=no
1281 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1282 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1285 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1286 [ac_cv_sse4_2_inline], [
1287 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1289 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1292 ac_cv_sse4_2_inline=yes
1294 ac_cv_sse4_2_inline=no
1298 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1299 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1302 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1303 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1305 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1308 ac_cv_sse4a_inline=yes
1310 ac_cv_sse4a_inline=no
1314 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1315 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1317 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1320 CFLAGS="${CFLAGS} -mmmx"
1322 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1323 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1325 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1328 ac_cv_3dnow_inline=yes
1330 ac_cv_3dnow_inline=no
1334 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1335 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1336 [Define to 1 if 3D Now! inline assembly is available.])
1339 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1343 [AS_HELP_STRING([--disable-neon],
1344 [disable NEON optimizations (default auto)])],, [
1345 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1347 AS_IF([test "${enable_neon}" != "no"], [
1349 CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
1350 AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
1353 asm volatile("vqmovun.s64 d0, q1":::"d0");
1356 ac_cv_arm_neon="yes"
1363 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
1366 AC_ARG_ENABLE(altivec,
1367 [AS_HELP_STRING([--disable-altivec],
1368 [disable AltiVec optimizations (default auto)])],, [
1369 AS_IF([test "${host_cpu}" = "powerpc"],
1370 [enable_altivec=yes], [enable_altivec=no])
1373 AS_IF([test "${enable_altivec}" = "yes"], [
1374 ARCH="${ARCH} altivec";
1376 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1377 [ac_cv_altivec_inline],
1378 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1379 ac_cv_altivec_inline="yes",
1380 [CFLAGS="${CFLAGS} -Wa,-m7400"
1381 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1382 [ac_cv_altivec_inline="-Wa,-m7400"],
1383 ac_cv_altivec_inline=no)
1386 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1387 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1388 [Define to 1 if AltiVec inline assembly is available.])
1389 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1390 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1391 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1392 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1397 dnl The AltiVec C extensions
1399 dnl There are several possible cases:
1400 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1401 dnl need <altivec.h>
1402 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1403 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1404 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1405 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1406 dnl - Others: test should fail
1408 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1410 [# OS X/PPC test (gcc 4.x)
1411 CFLAGS="${CFLAGS} -mpim-altivec -force_cpusubtype_ALL"
1412 AC_TRY_COMPILE([vector unsigned char foo;],
1413 [vec_ld(0, (unsigned char *)0);],
1414 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1415 [# OS X/PPC test (gcc 3.x)
1416 CFLAGS="${CFLAGS} -faltivec"
1417 AC_TRY_COMPILE([vector unsigned char foo;],
1418 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1419 [ac_cv_c_altivec="-faltivec"],
1420 dnl Below this are the Linux tests
1421 [# Linux/PPC test (gcc 4.x)
1422 CFLAGS="${CFLAGS} -maltivec"
1423 AC_TRY_COMPILE([#include <altivec.h>],
1424 [vec_ld(0, (unsigned char *)0);],
1425 [ac_cv_c_altivec="-maltivec"],
1426 [# Linux/PPC test (gcc 3.3)
1427 CFLAGS="${CFLAGS} -maltivec -mabi=altivec"
1428 AC_TRY_COMPILE([#include <altivec.h>],
1429 [vec_ld(0, (unsigned char *)0);],
1431 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1432 [# Linux/PPC test (gcc 3.3)
1433 CFLAGS="${CFLAGS} -fvec"
1434 AC_TRY_COMPILE([#include <altivec.h>],
1435 [vec_ld(0, (unsigned char *)0);],
1436 [ac_cv_c_altivec="-fvec"],
1437 [ac_cv_c_altivec=no])
1445 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1446 CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}"
1447 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.])
1448 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1449 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1452 AC_CHECK_HEADERS(altivec.h)
1455 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1456 AC_CACHE_CHECK([if linker needs -framework vecLib],
1458 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1460 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1461 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1464 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1469 AC_ARG_ENABLE(optimize-memory,
1470 [AS_HELP_STRING([--enable-optimize-memory],
1471 [optimize memory usage over performance])])
1472 if test "${enable_optimize_memory}" = "yes"; then
1473 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1477 dnl Allow running as root (useful for people running on embedded platforms)
1479 AC_ARG_ENABLE(run-as-root,
1480 [AS_HELP_STRING([--enable-run-as-root],
1481 [allow running VLC as root (default disabled)])])
1482 AS_IF([test "${enable_run_as_root}" = "yes"],[
1483 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1484 [Define to 1 to allow running VLC as root (uid 0).])
1491 [AS_HELP_STRING([--disable-sout],
1492 [disable streaming output (default enabled)])])
1493 AS_IF([test "${enable_sout}" != "no"], [
1494 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1496 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1500 [AS_HELP_STRING([--disable-lua],
1501 [disable LUA scripting support (default enabled)])])
1502 if test "${enable_lua}" != "no"
1504 PKG_CHECK_MODULES(LUA, lua5.1,
1507 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1508 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1511 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1513 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1516 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1517 [LUA_LIBS="-llua5.1"],
1518 AC_CHECK_LIB( lua51 , luaL_newstate,
1519 [LUA_LIBS="-llua51"],
1520 AC_CHECK_LIB( lua , luaL_newstate,
1528 if test "x${have_lua}" = "xyes" ; then
1529 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1530 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1532 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.])
1534 AC_ARG_VAR([LUAC], [LUA byte compiler])
1535 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1536 AS_IF([test "${LUAC}" = "false"], [
1537 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1540 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1546 AC_ARG_ENABLE(httpd,
1547 [AS_HELP_STRING([--disable-httpd],
1548 [disable the built-in HTTP server (default enabled)])])
1549 if test "${enable_httpd}" != "no"
1551 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1553 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1557 dnl VideoLAN manager
1560 [AS_HELP_STRING([--disable-vlm],
1561 [disable the stream manager (default enabled)])],,
1562 [enable_vlm="${enable_sout}"])
1563 AS_IF([test "${enable_vlm}" != "no"], [
1564 AS_IF([test "${enable_sout}" = "no"], [
1565 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1567 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1569 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1576 EXTEND_HELP_STRING([Input plugins:])
1579 dnl libproxy support
1581 AC_ARG_ENABLE(libproxy,
1582 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1583 AS_IF([test "${enable_libproxy}" != "no"], [
1584 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1585 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1586 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1587 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1589 AS_IF([test -n "${enable_libproxy}"], [
1590 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1598 AC_ARG_ENABLE(live555,
1599 [AS_HELP_STRING([--enable-live555],
1600 [enable RTSP input through live555 (default enabled)])])
1601 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1604 AS_IF([test -z "${CONTRIB_DIR}"], [
1605 AS_IF([test ${SYS} != "os2"], [
1606 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"}
1607 CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment"
1609 LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"}
1610 CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include"
1611 LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment"
1614 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1616 AS_IF([test "${SYS}" = "solaris"], [
1617 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1619 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1620 LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}"
1622 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1623 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1624 [#include <liveMedia_version.hh>
1625 #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 - special access module for dc1394 input
1668 dnl - dv module: digital video module check for libraw1394
1669 dnl - linsys modules: access module check for libzvbi
1671 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1672 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1674 AC_ARG_ENABLE(linsys,
1675 [AS_HELP_STRING([--enable-linsys],
1676 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1677 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1678 VLC_ADD_PLUGIN([linsys_hdsdi])
1679 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1680 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1681 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1682 VLC_ADD_PLUGIN([linsys_sdi]) ],
1683 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1688 dnl dvdread module: check for libdvdread
1690 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1693 dnl libdvdnav plugin
1695 AC_ARG_ENABLE(dvdnav,
1696 [AS_HELP_STRING([--disable-dvdnav],
1697 [disable DVD navigation with libdvdnav (default auto)])])
1698 if test "${enable_dvdnav}" != "no"
1700 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1701 VLC_ADD_PLUGIN([dvdnav])
1702 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1703 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1704 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1705 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1706 [], [${LIBS_dvdnav}])
1707 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1708 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1709 [], [${LIBS_dvdnav}])],
1710 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1714 dnl Windows DirectShow access module
1716 AC_ARG_ENABLE(dshow,
1717 [AS_HELP_STRING([--disable-dshow],
1718 [support DirectShow (default auto)])])
1719 if test "${enable_dshow}" != "no"
1721 if test "${SYS}" = "mingw32"
1724 AC_CHECK_HEADERS(dshow.h,
1725 [ VLC_ADD_PLUGIN([dshow])
1726 VLC_ADD_CXXFLAGS([dshow],[])
1727 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])])
1733 dnl Blu-ray Disc Support with libbluray
1735 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) )
1738 dnl OpenCV wrapper and example filters
1740 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
1744 dnl libsmbclient plugin
1747 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1748 if test "${enable_smb}" != "no"; then
1749 AC_CHECK_HEADERS(libsmbclient.h,
1750 [ VLC_ADD_PLUGIN([access_smb])
1751 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1752 [ if test -n "${enable_smb}"; then
1753 AC_MSG_ERROR([cannot find libsmbclient headers])
1759 dnl sftp access support
1762 [AS_HELP_STRING([--enable-sftp],
1763 [support SFTP file transfer via libssh2 (default disabled)])])
1764 if test "${enable_sftp}" = "yes"; then
1765 AC_CHECK_HEADERS(libssh2.h, [
1766 VLC_ADD_PLUGIN([access_sftp])
1767 VLC_ADD_LIBS([access_sftp], [-lssh2])
1774 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1775 [disable Video4Linux version 2 (default auto)])])
1776 AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
1777 [support PVR V4L2 cards (default disabled)])])
1779 AS_IF([test "$enable_v4l2" != "no"], [
1780 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1784 AS_IF([test "$have_v4l2" = "yes"], [
1785 AS_IF([test "${enable_pvr}" = "yes"], [
1786 VLC_ADD_PLUGIN([pvr])
1789 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1792 dnl special access module for Blackmagic SDI cards
1794 AC_ARG_ENABLE(decklink,
1795 [AS_HELP_STRING([--disable-decklink],
1796 [disable Blackmagic DeckLink SDI input (default auto)])])
1797 AC_ARG_WITH(decklink_sdk,
1798 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1799 [ location of Blackmagic DeckLink SDI SDK])])
1800 if test "${enable_decklink}" != "no"
1802 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1804 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
1807 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_decklink}"
1809 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1810 VLC_ADD_PLUGIN([decklink])
1811 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
1818 dnl gnomeVFS access module
1820 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1826 [AS_HELP_STRING([--enable-vcdx],
1827 [navigate VCD with libvcdinfo (default disabled)])])
1828 if test "${enable_vcdx}" = "yes"
1830 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
1831 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
1832 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
1833 [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])])
1834 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
1835 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
1836 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
1837 [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])])
1838 VLC_ADD_PLUGIN([vcdx])
1842 dnl Built-in CD-DA and VCD module
1845 [AS_HELP_STRING([--disable-vcd],
1846 [disable built-in VCD and CD-DA support (default enabled)])])
1848 AC_ARG_ENABLE(libcddb,
1849 [AS_HELP_STRING([--disable-libcddb],
1850 [disable CDDB for Audio CD (default enabled)])])
1852 if test "${enable_vcd}" != "no"
1854 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1855 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1857 VLC_ADD_PLUGIN([vcd cdda])
1862 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1863 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1865 VLC_ADD_PLUGIN([vcd cdda])
1866 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1871 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1872 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1874 VLC_ADD_PLUGIN([vcd cdda])
1875 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1880 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1882 VLC_ADD_PLUGIN([vcd cdda])
1885 if test "${SYS}" = "darwin"
1887 VLC_ADD_PLUGIN([vcd cdda])
1888 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1889 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1892 if test "$enable_libcddb" != "no"; then
1893 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1895 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1896 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1897 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1899 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1907 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1908 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1909 [#include <linux/dvb/version.h>
1910 #if (DVB_API_VERSION < 5)
1911 # error Linux DVB API v3.2 and older are not supported.
1913 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1914 # error Linux DVB API v5.0 is unsupported. Please update.
1917 ac_cv_linux_dvb_5_1=yes
1919 ac_cv_linux_dvb_5_1=no
1921 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1924 dnl Screen capture module
1926 AC_ARG_ENABLE(screen,
1927 [AS_HELP_STRING([--enable-screen],
1928 [disable screen capture (default enabled)])])
1929 if test "${enable_screen}" != "no"; then
1930 if test "${SYS}" = "darwin"; then
1931 AC_CHECK_HEADERS(OpenGL/gl.h, [
1932 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1933 VLC_ADD_PLUGIN([screen])
1934 VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
1937 elif test "${SYS}" = "mingw32"; then
1938 VLC_ADD_PLUGIN([screen])
1939 VLC_ADD_LIBS([screen],[-lgdi32])
1944 dnl Real RTSP plugin
1946 AC_ARG_ENABLE(realrtsp,
1947 [ --enable-realrtsp Real RTSP module (default disabled)])
1948 if test "${enable_realrtsp}" = "yes"; then
1949 VLC_ADD_PLUGIN([access_realrtsp])
1954 AC_ARG_ENABLE(macosx-eyetv,
1955 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1956 if test "x${enable_macosx_eyetv}" != "xno" &&
1957 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1959 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1960 VLC_ADD_PLUGIN([access_eyetv])
1965 AC_ARG_ENABLE(macosx-qtkit,
1966 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1967 if test "x${enable_macosx_qtkit}" != "xno" &&
1968 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1970 VLC_ADD_PLUGIN([qtcapture])
1971 VLC_ADD_PLUGIN([qtsound])
1973 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1980 EXTEND_HELP_STRING([Mux/Demux plugins:])
1983 dnl libdvbpsi check for ts mux/demux
1986 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1987 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1991 dnl GME demux plugin
1994 [AS_HELP_STRING([--enable-gme],
1995 [use Game Music Emu (default auto)])])
1996 AS_IF([test "${enable_gme}" != "no"], [
1997 AC_CHECK_HEADER([gme/gme.h], [
1998 VLC_ADD_LIBS([gme], [-lgme])
1999 VLC_ADD_PLUGIN([gme])
2001 AS_IF([test "x${enable_gme}" != "x"], [
2002 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2012 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
2013 AS_IF([test "${enable_sid}" != "no"], [
2014 PKG_CHECK_MODULES(SID, [libsidplay2], [
2016 oldCPPFLAGS="$CPPFLAGS"
2017 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2018 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2019 VLC_ADD_PLUGIN([sid])
2020 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2021 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2023 AS_IF([test -n "${enable_sid}"],
2024 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2025 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2028 CPPFLAGS="$oldCPPFLAGS"
2031 AS_IF([test "x${enable_sid}" = "xyes"],
2032 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2033 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2040 dnl ogg demux plugin
2042 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2043 if test "${enable_sout}" != "no"; then
2044 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2045 dnl Check for libshout
2046 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2050 dnl matroska demux plugin
2053 [AS_HELP_STRING([--disable-mkv],
2054 [do not use libmatroska (default auto)])])
2055 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2057 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2058 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2060 [#include <ebml/EbmlVersion.h>
2061 #ifdef LIBEBML_VERSION
2062 #if LIBEBML_VERSION >= 0x010000
2066 [AC_MSG_RESULT([yes])
2067 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2068 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2070 [#include <matroska/KaxVersion.h>
2071 #ifdef LIBMATROSKA_VERSION
2072 #if LIBMATROSKA_VERSION >= 0x010000
2076 [AC_MSG_RESULT([yes])
2077 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2078 VLC_ADD_CXXFLAGS([mkv],[])
2079 AC_CHECK_LIB(ebml_pic, main, [
2080 VLC_ADD_PLUGIN([mkv])
2081 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2083 AC_CHECK_LIB(ebml, main, [
2084 VLC_ADD_PLUGIN([mkv])
2085 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2090 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.])
2094 [AC_MSG_RESULT([no])
2095 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.])
2102 dnl modplug demux plugin
2105 [AS_HELP_STRING([--disable-mod],
2106 [do not use libmodplug (default auto)])])
2107 if test "${enable_mod}" != "no" ; then
2108 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2109 VLC_ADD_PLUGIN([mod])
2110 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2111 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2113 AS_IF([test -n "${enable_mod}"],
2114 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2115 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2120 dnl mpc demux plugin
2123 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2124 if test "${enable_mpc}" != "no"
2126 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2127 VLC_ADD_PLUGIN([mpc])
2128 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2129 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2130 VLC_ADD_PLUGIN([mpc])
2131 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2138 EXTEND_HELP_STRING([Codec plugins:])
2143 AC_ARG_ENABLE(wma-fixed,
2144 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2145 if test "${enable_wma_fixed}" = "yes"
2147 VLC_ADD_PLUGIN([wma_fixed])
2151 dnl shine fixed point mp3 encoder
2153 AC_ARG_ENABLE(shine,
2154 [ --enable-shine shine mp3 encoding module (default disabled)])
2155 if test "${enable_shine}" = "yes"
2157 VLC_ADD_PLUGIN([shine])
2161 dnl openmax il codec plugin
2163 AC_ARG_ENABLE(omxil,
2164 [ --enable-omxil openmax il codec module (default disabled)])
2165 if test "${enable_omxil}" = "yes"
2167 VLC_ADD_PLUGIN([omxil])
2168 VLC_ADD_LIBS([omxil], [$LIBDL])
2172 dnl iomx codec plugin
2175 [ --enable-iomx iomx codec module (default disabled)])
2176 if test "${enable_iomx}" = "yes"
2178 VLC_ADD_PLUGIN([iomx])
2182 dnl CrystalHD codec plugin
2184 AC_ARG_ENABLE(crystalhd,
2185 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2186 if test "${enable_crystalhd}" != "no"; then
2187 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2188 VLC_ADD_PLUGIN([crystalhd])
2189 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2191 if test "${SYS}" = "mingw32" ; then
2192 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2193 VLC_ADD_PLUGIN([crystalhd])
2194 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2195 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2198 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2199 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2200 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2201 ],[#define __LINUX_USER__
2202 #include <libcrystalhd/bc_dts_types.h>
2206 #include <libcrystalhd/bc_dts_types.h>
2214 [ --enable-mad libmad module (default enabled)])
2215 if test "${enable_mad}" != "no"
2218 [ --with-mad=PATH path to libmad],[],[])
2219 if test "${with_mad}" != "no" -a -n "${with_mad}"
2221 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2222 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2225 AC_ARG_WITH(mad-tree,
2226 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2227 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2229 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2230 if test -z "${real_mad_tree}"
2232 dnl The given directory can't be found
2234 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2236 dnl Use a custom libmad
2237 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2238 if test -f ${real_mad_tree}/mad.h
2241 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2242 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2244 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2245 AC_CHECK_LIB(mad, mad_bit_init, [
2246 VLC_ADD_PLUGIN([mpgatofixed32])
2247 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2248 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2253 AC_MSG_ERROR([the specified tree does not have mad.h])
2257 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2258 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2259 AC_CHECK_HEADERS(mad.h, ,
2260 [ 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.]) ])
2261 AC_CHECK_LIB(mad, mad_bit_init, [
2262 VLC_ADD_PLUGIN([mpgatofixed32])
2263 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2264 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2270 AC_ARG_ENABLE(merge-ffmpeg,
2271 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2272 enable_merge_ffmpeg="no"
2274 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2277 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2278 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2279 [ac_cv_ld_bsymbolic],
2280 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2284 dnl avcodec decoder/encoder plugin
2286 AC_ARG_ENABLE(avcodec,
2287 [ --enable-avcodec libavcodec codec (default enabled)])
2288 AS_IF([test "${enable_avcodec}" != "no"], [
2289 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil >= 49.5.0],
2292 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2293 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2294 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2295 AC_CHECK_HEADERS(libavutil/avutil.h)
2296 VLC_ADD_PLUGIN([avcodec])
2297 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2298 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2299 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2301 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2305 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2312 dnl libva needs avcodec
2314 AC_ARG_ENABLE(libva,
2315 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2317 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2318 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2320 AS_IF([test "${enable_libva}" != "no"], [
2321 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2323 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2324 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2325 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2326 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2327 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2328 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2329 AC_MSG_NOTICE([VAAPI acceleration activated])
2331 AS_IF([test -n "${enable_libva}"], [
2332 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2334 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2339 AS_IF([test -n "${enable_libva}"], [
2340 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2342 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2348 dnl dxva2 needs avcodec
2350 AC_ARG_ENABLE(dxva2,
2351 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2353 AS_IF([test "${enable_dxva2}" != "no"], [
2354 if test "${SYS}" = "mingw32"; then
2355 AS_IF([test "x${have_avcodec}" = "xyes"], [
2356 AC_CHECK_HEADERS(dxva2api.h,
2358 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2359 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2360 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2361 echo "DxVA2 acceleration activated"
2363 AS_IF([test "${enable_dxva2}" = "yes"],
2364 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2365 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2366 ], [#undef _WIN32_WINNT
2367 /* DXVA2 is only available in Vista and above */
2368 #define _WIN32_WINNT 0x600])
2370 AS_IF([test "${enable_dxva2}" = "yes"],
2371 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2372 [AC_MSG_WARN([dxva2api.h not found])])
2375 AS_IF([test "x${enable_dxva2}" != "x"], [
2376 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2383 dnl vda needs avcodec
2386 [ --enable-vda VDA support (default auto)])
2388 AS_IF([test "${enable_vda}" != "no"], [
2389 if test "${SYS}" = "darwin"; then
2390 AS_IF([test "x${have_avcodec}" = "xyes"], [
2391 AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
2393 AC_CHECK_HEADERS(libavcodec/vda.h, [
2394 VLC_ADD_LIBS([avcodec],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore])
2395 VLC_ADD_LDFLAGS([vda],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore])
2396 AC_DEFINE(HAVE_AVCODEC_VDA, 1, [Define if avcodec has to be built with VDA support.])
2398 AS_IF([test "${enable_vda}" == "yes"],
2399 [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])],
2400 [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])])
2403 AS_IF([test "${enable_vda}" == "yes"],
2404 [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])],
2405 [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])])
2408 AS_IF([test "x${enable_vda}" != "x"], [
2409 AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.])
2416 dnl stream_out switcher needs libavcodec
2418 AC_ARG_ENABLE(switcher,
2419 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2420 AS_IF([test "${enable_switcher}" = "yes"], [
2421 AS_IF([test "x${have_avcodec}" = "xyes"], [
2422 VLC_ADD_PLUGIN([stream_out_switcher])
2423 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2424 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2425 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2431 dnl avformat demuxer/muxer plugin
2434 AC_ARG_ENABLE(avformat,
2435 [ --enable-avformat libavformat containers (default enabled)],, [
2436 enable_avformat="${have_avcodec}"
2438 if test "${enable_avformat}" != "no"
2440 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2443 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2444 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2445 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2446 AC_CHECK_HEADERS(libavutil/avutil.h)
2447 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2448 VLC_ADD_PLUGIN([avformat access_avio])
2449 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2450 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2451 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2452 VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
2455 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2456 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2460 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2465 dnl swscale image scaling and conversion plugin
2468 AC_ARG_ENABLE(swscale,
2469 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2470 (default enabled)]))
2471 if test "${enable_swscale}" != "no"
2473 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2476 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2477 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2478 AC_CHECK_HEADERS(libswscale/swscale.h)
2479 VLC_ADD_PLUGIN([swscale])
2480 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2481 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2482 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2483 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2487 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2495 AC_ARG_ENABLE(postproc,
2496 [ --enable-postproc libpostproc image post-processing (default enabled)])
2497 if test "${enable_postproc}" != "no"
2499 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2502 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2503 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2504 AC_CHECK_HEADERS(postproc/postprocess.h)
2505 VLC_ADD_PLUGIN([postproc])
2506 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2507 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2510 AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.])
2515 dnl faad decoder plugin
2518 [ --enable-faad faad codec (default auto)])
2519 if test "${enable_faad}" != "no"; then
2520 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2521 if test -n "${with_faad_tree}"; then
2522 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2523 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2524 if test -z "${real_faad_tree}"; then
2525 dnl The given directory can't be found
2527 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2529 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2530 dnl Use the custom faad
2531 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2532 VLC_ADD_PLUGIN([faad])
2533 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2534 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2536 dnl The given libfaad wasn't built
2538 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2542 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2543 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2544 AC_CHECK_HEADERS(faad.h,
2545 [ AC_CHECK_LIB(faad, faacDecOpen, [
2546 VLC_ADD_PLUGIN([faad])
2547 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2548 AC_CHECK_LIB(faad, NeAACDecOpen, [
2549 VLC_ADD_PLUGIN([faad])
2550 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2551 AS_IF([test "${enable_faad}" = "yes"],
2552 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2553 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2554 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2555 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2556 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2562 dnl twolame encoder plugin
2564 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2567 dnl QuickTime plugin
2569 AC_ARG_ENABLE(quicktime,
2570 [ --enable-quicktime QuickTime module (deprecated)])
2571 if test "${enable_quicktime}" = "yes"; then
2572 if test "${SYS}" = "mingw32"; then
2573 VLC_ADD_PLUGIN([quicktime])
2575 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2576 [ VLC_ADD_PLUGIN([quicktime])
2577 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2578 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2583 dnl A52/AC3 decoder plugin
2586 [ --enable-a52 A/52 support with liba52 (default enabled)])
2587 if test "${enable_a52}" != "no"
2590 [ --with-a52=PATH a52 headers and libraries])
2591 AC_ARG_WITH(a52-tree,
2592 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2593 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2595 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2596 if test -z "${real_a52_tree}"
2598 dnl The given directory can't be found
2600 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2602 dnl Use a custom a52dec
2603 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2604 if test -f ${real_a52_tree}/include/a52.h
2607 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2608 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2610 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2611 AC_CHECK_LIB(a52, a52_free, [
2612 VLC_ADD_PLUGIN([a52tofloat32])
2613 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2614 VLC_ADD_LIBS([a52tofloat32],[-la52])
2616 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2618 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2620 AC_MSG_ERROR([the specified tree has not been compiled])
2625 AC_MSG_ERROR([the specified tree does not have a52.h])
2628 if test -z "${with_a52}"
2633 LDFLAGS_test="-L${with_a52}/lib"
2634 CPPFLAGS_test="-I${with_a52}/include"
2637 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2638 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2639 AC_CHECK_HEADERS(a52dec/a52.h, [
2640 AC_CHECK_LIB(a52, a52_free, [
2641 VLC_ADD_PLUGIN([a52tofloat32])
2642 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2643 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2645 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.])
2648 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.])
2654 AC_ARG_WITH(a52-fixed,
2655 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2657 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2660 dnl DTS Coherent Acoustics decoder plugin
2662 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2667 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2672 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2677 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2682 AC_ARG_ENABLE(tremor,
2683 [ --enable-tremor Tremor decoder support (default disabled)])
2684 if test "${enable_tremor}" = "yes"
2686 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2687 VLC_ADD_PLUGIN([tremor])
2688 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2695 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2697 AS_IF([test "${enable_speex}" != "no"], [
2698 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2701 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2704 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2709 PKG_ENABLE_MODULES_VLC([OPUS], [], [ogg opus], [Opus support], [auto])
2712 dnl theora decoder plugin
2714 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2717 dnl dirac encoder plugin
2719 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2722 dnl schroedinger decoder plugin (for dirac format video)
2724 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2727 dnl PNG decoder module
2730 [ --enable-png PNG support (default enabled)])
2731 if test "${enable_png}" != "no"; then
2732 AC_CHECK_HEADERS(png.h, [
2734 LDFLAGS="${LDFLAGS} -lz $LIBM"
2735 AC_CHECK_LIB(png, png_set_rows, [
2736 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2737 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2742 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2745 dnl H264 encoder plugin (10-bit lib264)
2747 AC_ARG_ENABLE(x26410b,
2748 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2749 if test "${enable_x26410b}" != "no"; then
2750 AC_ARG_WITH(x26410b-tree,
2751 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2752 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2754 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2755 if test -z "${real_x26410b_tree}"
2758 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2760 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2761 if test -f ${with_x26410b_tree}/x264_config.h
2764 AC_MSG_CHECKING(for 10-bit build of x264)
2765 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2767 VLC_ADD_PLUGIN([x26410b])
2768 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2769 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2772 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2776 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2779 PKG_CHECK_MODULES(X26410B, x26410b, [
2780 VLC_ADD_PLUGIN([x26410b])
2781 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2782 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2783 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2785 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2786 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2787 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2790 if test "${enable_x26410b}" = "yes"; then
2791 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2799 dnl H264 encoder plugin (using libx264)
2802 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2803 if test "${enable_x264}" != "no"; then
2804 AC_ARG_WITH(x264-tree,
2805 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2806 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2808 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2809 if test -z "${real_x264_tree}"
2811 dnl The given directory can't be found
2813 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2815 dnl Use a custom libx264
2816 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2817 if test -f ${real_x264_tree}/x264.h
2820 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2821 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2822 PKG_CHECK_MODULES(X264,x264, [
2823 VLC_ADD_PLUGIN([x264])
2824 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2825 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2826 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2827 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2830 AC_MSG_ERROR([the specified tree has not been compiled])
2834 AC_MSG_ERROR([the specified tree does not have x264.h])
2837 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2838 VLC_ADD_PLUGIN([x264])
2839 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2841 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2842 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2845 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2846 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2847 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2850 if test "${enable_x264}" = "yes"; then
2851 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2858 dnl libfluidsynth (MIDI synthetizer) plugin
2860 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2863 dnl Teletext Modules
2864 dnl vbi decoder plugin (using libzbvi)
2869 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2870 libzvbi (default enabled)]))
2872 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2873 zvbi) (default enabled if zvbi is absent)]))
2875 AS_IF( [test "${enable_zvbi}" != "no"],[
2876 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2878 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2879 if test "${SYS}" = "mingw32"; then
2880 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2882 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2883 VLC_ADD_PLUGIN([zvbi])
2884 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2885 AS_IF( [test "${enable_telx}" = "yes"],[
2886 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2889 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2892 AS_IF( [test "${enable_telx}" != "no" ],[
2893 VLC_ADD_PLUGIN([telx])
2897 dnl libass subtitle rendering module
2899 AC_ARG_ENABLE(libass,
2900 [ --enable-libass Subtitle support using libass (default enabled)])
2901 AS_IF( [test "${enable_libass}" != "no"], [
2902 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2904 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2905 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2906 VLC_ADD_PLUGIN([libass])
2908 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2909 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2910 VLC_ADD_LIBS([libass],[-lfontconfig])
2913 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2918 dnl kate decoder plugin
2920 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2923 dnl tiger rendering for kate decoder plugin
2925 AC_ARG_ENABLE(tiger,
2926 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2927 AS_IF([test "${enable_tiger}" != "no"], [
2928 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2929 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2930 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2931 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2932 AS_IF([test -n "${enable_tiger}"], [
2933 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2943 EXTEND_HELP_STRING([Video plugins:])
2948 PKG_CHECK_MODULES([GL], [gl], [
2951 AC_CHECK_HEADER([GL/gl.h], [
2960 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2961 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2962 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2963 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2966 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2969 AS_IF([test "$enable_egl" != "no"], [
2970 PKG_CHECK_MODULES([EGL], [egl], [
2971 VLC_ADD_PLUGIN([gl])
2972 VLC_ADD_PLUGIN([egl])
2981 AC_CHECK_HEADERS(X11/Xlib.h)
2984 dnl X C Bindings modules
2987 [ --enable-xcb X11 support with XCB (default enabled)],, [
2988 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2994 AC_ARG_ENABLE(xvideo,
2995 [ --enable-xvideo XVideo support (default enabled)],, [
2996 enable_xvideo="$enable_xcb"
2999 [ --enable-glx OpenGL support through GLX (default enabled)],, [
3000 enable_glx="$enable_xcb"
3004 AS_IF([test "${enable_xcb}" != "no"], [
3006 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3008 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3009 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3011 AS_IF([test "${enable_xvideo}" != "no"], [
3012 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3013 VLC_ADD_PLUGIN([xcb_xv])
3017 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3018 VLC_ADD_PLUGIN([panoramix])
3019 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3020 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3022 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
3026 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3027 PKG_CHECK_MODULES(XPROTO, [xproto])
3028 VLC_ADD_PLUGIN([globalhotkeys])
3029 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3030 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3031 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3033 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
3036 AS_IF([test "${enable_glx}" != "no"], [
3037 AS_IF([test "${have_gl}" != "yes"], [
3038 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
3040 VLC_ADD_PLUGIN([xcb_glx])
3043 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3049 [ --enable-sdl SDL support (default enabled)])
3050 AC_ARG_ENABLE(sdl-image,
3051 [ --enable-sdl-image SDL image support (default enabled)])
3052 if test "${enable_sdl}" != "no"
3054 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3055 # SDL on Darwin is heavily patched and can only run SDL_image
3056 if test "${SYS}" != "darwin"; then
3057 VLC_ADD_PLUGIN([vout_sdl])
3059 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3060 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3062 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3063 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3066 AS_IF([ test "${enable_sdl_image}" != "no"],[
3067 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3068 VLC_ADD_PLUGIN([sdl_image])
3069 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3070 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3071 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3075 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3082 AC_ARG_ENABLE(macosx-vout,
3083 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3084 if test "x${enable_macosx_vout}" != "xno" &&
3085 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3087 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3088 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3089 VLC_ADD_PLUGIN([vout_macosx])
3096 AC_ARG_ENABLE(freetype,
3097 [ --enable-freetype freetype support (default auto)])
3098 AC_ARG_ENABLE(fribidi,
3099 [ --enable-fribidi fribidi support (default auto)])
3100 AC_ARG_ENABLE(fontconfig,
3101 [ --enable-fontconfig fontconfig support (default auto)])
3103 if test "${enable_freetype}" != "no"; then
3104 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3106 VLC_ADD_PLUGIN([freetype])
3107 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3108 if test "${SYS}" = "mingw32"; then
3109 VLC_ADD_LIBS([freetype],[-liconv -lz])
3111 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3113 AC_CHECK_HEADERS(Carbon/Carbon.h,
3114 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3116 dnl fontconfig support
3117 if test "${SYS}" != "mingw32"; then
3118 if test "${enable_fontconfig}" != "no"; then
3119 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3120 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3121 VLC_ADD_LIBS([freetype],[-lfontconfig])
3122 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3125 VLC_ADD_LIBS([freetype],[-lgdi32])
3129 if test "${enable_fribidi}" != "no"; then
3130 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3131 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3132 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3133 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3138 AS_IF([test -n "${enable_freetype}"],[
3139 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3146 dnl QuartzText vout module (iOS/Mac OS)
3148 AC_ARG_ENABLE(macosx-quartztext,
3149 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3150 if test "x${enable_macosx_quartztext}" != "xno" &&
3151 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3153 VLC_ADD_PLUGIN([quartztext])
3154 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3160 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3163 dnl android surface module
3165 AC_ARG_ENABLE(android-surface,
3166 [ --enable-android-surface Android Surface video output module (default disabled)])
3167 if test "${enable_android_surface}" = "yes"; then
3168 if test "${HAVE_ANDROID}" = "1"; then
3169 VLC_ADD_PLUGIN([android_surface])
3170 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3178 AC_ARG_ENABLE(ios-vout,
3179 [ --enable-ios-vout iOS video output module (default disabled)])
3180 if test "${enable_ios_vout}" = "yes"
3182 VLC_ADD_PLUGIN([vout_ios])
3183 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3184 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3188 dnl Windows DirectX module
3191 if test "${SYS}" = "mingw32"
3193 VLC_ADD_PLUGIN([panoramix])
3196 AC_ARG_ENABLE(directx,
3197 [AS_HELP_STRING([--enable-directx],
3198 [Microsoft DirectX support (default enabled on Windows)])],, [
3199 AS_IF([test "${SYS}" = "mingw32"], [
3200 enable_directx="yes"
3206 AS_IF([test "${enable_directx}" != "no"], [
3208 AC_CHECK_HEADERS(ddraw.h, [
3211 AC_MSG_ERROR([Cannot find DirectX headers!])
3215 AC_CHECK_HEADERS(GL/wglew.h, [
3216 VLC_ADD_PLUGIN([glwin32])
3217 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3219 #include <windows.h>
3224 AC_CHECK_HEADERS(d3d9.h, [
3225 VLC_ADD_PLUGIN([direct3d])
3226 VLC_ADD_LIBS([direct3d],[-lgdi32])
3228 VLC_ADD_LIBS([direct3d glwin32],[-lole32 -luuid])
3230 AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"])
3233 dnl Windows Direct2D plugin
3235 AC_ARG_ENABLE(direct2d,
3236 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [
3237 AS_IF([test "${SYS}" != "mingw32"], [
3238 enable_direct2d="no"
3241 AS_IF([test "${enable_direct2d}" != "no"], [
3242 AC_CHECK_HEADERS(d2d1.h, [
3243 VLC_ADD_PLUGIN([direct2d])
3244 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid])
3246 AC_MSG_WARN([Cannot find Direct2D headers!])
3251 dnl win32 GDI plugin
3253 AC_ARG_ENABLE(wingdi,
3254 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3255 if test "${enable_wingdi}" != "no"; then
3256 if test "${SYS}" = "mingw32"; then
3257 VLC_ADD_PLUGIN([wingdi])
3258 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid])
3264 dnl Linux framebuffer module
3266 AC_CHECK_HEADER([linux/fb.h], [
3267 VLC_ADD_PLUGIN([fb])
3273 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3274 dnl TODO: support for static linking
3276 AC_ARG_ENABLE(directfb,
3277 [ --enable-directfb DirectFB support (default disabled)])
3278 AC_ARG_WITH(directfb,
3279 [ --with-directfb=PATH path to DirectFB headers and libraries])
3281 if test "${enable_directfb}" = "yes"; then
3282 have_directfb="false"
3283 CPPFLAGS_mydirectfb=
3285 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3286 dnl Trying the given location
3289 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3290 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3292 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3293 LIBS="${LIBS} ${LIBS_new}"
3295 dnl FIXME: too obscure
3296 AC_CHECK_HEADER([directfb.h], [
3297 AC_CHECK_LIB([direct],[direct_initialize], [
3298 AC_CHECK_LIB([fusion], [fusion_enter], [
3299 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3300 ], have_directfb="false")
3301 ], have_directfb="false")
3302 ], have_directfb="false")
3306 if test "${have_directfb}" = "true"; then
3307 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3308 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3311 dnl Look for directfb-config
3312 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3313 if test "${DIRECTFB_CONFIG}" != "no"; then
3314 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3315 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3316 have_directfb="true"
3318 dnl Trying with pkg-config
3319 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3320 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3321 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3322 have_directfb="true"
3323 ], [have_directfb="false"])
3326 if test "${have_directfb}" = "true"; then
3327 VLC_ADD_PLUGIN([directfb])
3328 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3329 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3331 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3339 [ --enable-aa aalib output (default disabled)])
3340 if test "${enable_aa}" = "yes"
3342 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3343 if test "${have_aa}" = "true"
3345 VLC_ADD_PLUGIN([aa])
3346 VLC_ADD_LIBS([aa],[-laa])
3347 if test "${SYS}" != "mingw32"; then
3348 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3356 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3362 [AS_HELP_STRING([--enable-kva],
3363 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3364 AS_IF([test "$SYS" = "os2"], [
3370 AS_IF([test "$enable_kva" != "no"], [
3371 AC_CHECK_HEADERS([kva.h], [
3373 AC_CHECK_LIB(kva, main, [
3379 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3385 EXTEND_HELP_STRING([Audio plugins:])
3388 dnl Pulseaudio module
3390 AC_ARG_ENABLE(pulse,
3391 [AS_HELP_STRING([--enable-pulse],
3392 [use the PulseAudio client library (default auto)])])
3394 AS_IF([test "${enable_pulse}" != "no"], [
3395 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3398 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3399 AS_IF([test "${no_x}" != "yes"], [
3401 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3403 AS_IF([test "${enable_pulse}" = "yes"], [
3404 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3405 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3409 AS_IF([test "x${enable_pulse}" != "x"], [
3410 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3415 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3421 [AS_HELP_STRING([--enable-alsa],
3422 [support the Advanced Linux Sound Architecture (default auto)])],, [
3423 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3428 AS_IF([test "${enable_alsa}" != "no"], [
3429 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3432 AS_IF([test "x${enable_alsa}" != "x"], [
3433 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3437 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3440 dnl Open Sound System module
3443 [AS_HELP_STRING([--enable-oss],
3444 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3445 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3451 AS_IF([test "$enable_oss" != "no"], [
3452 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3454 AC_CHECK_LIB(ossaudio, main, [
3455 OSS_LIBS="-lossaudio"
3460 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3463 dnl OpenBSD sndio module
3465 AC_ARG_ENABLE([sndio],
3466 [AS_HELP_STRING([--disable-sndio],
3467 [support the OpenBSD sndio (default auto)])],, [
3468 AS_IF([test "$SYS" = "opensd"], [
3473 AS_IF([test "$enable_sndio" != "no"], [
3474 AC_CHECK_HEADER([sndio.h], [
3478 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3481 dnl Windows Audio Session plugin
3483 AC_ARG_ENABLE([wasapi],
3484 [AS_HELP_STRING([--enable-wasapi],
3485 [use the Windows Audio Session API (default auto)])
3488 AS_IF([test "$enable_wasapi" != "no"], [
3489 AC_CHECK_HEADER([audioclient.h], [
3492 AS_IF([test "x${enable_wasapi}" != "x"], [
3493 AC_MSG_ERROR([Windows Audio Session API not found.])
3497 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3500 dnl win32 waveOut plugin
3502 AC_ARG_ENABLE(waveout,
3503 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3504 if test "${enable_waveout}" != "no"; then
3505 if test "${SYS}" = "mingw32"; then
3506 VLC_ADD_PLUGIN([waveout])
3507 VLC_ADD_LIBS([waveout],[-lwinmm])
3512 dnl CoreAudio plugin
3514 AC_ARG_ENABLE(macosx-audio,
3515 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3516 if test "x${enable_macosx_audio}" != "xno" &&
3517 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3519 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3520 [ VLC_ADD_PLUGIN([auhal])
3521 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3522 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3526 dnl AudioQueue plugin
3528 AC_ARG_ENABLE(audioqueue,
3529 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3530 if test "${enable_audioqueue}" = "yes"
3532 VLC_ADD_PLUGIN([audioqueue])
3533 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3539 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3542 dnl OpenSLES Android
3544 AC_ARG_ENABLE(opensles,
3545 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3546 if test "${HAVE_ANDROID}" = "1"; then
3547 if test "${enable_opensles}" = "yes"; then
3548 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3549 [ VLC_ADD_PLUGIN([opensles_android]) ],
3550 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3555 dnl libsamplerate plugin
3557 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3563 [AS_HELP_STRING([--enable-kai],
3564 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3565 AS_IF([test "$SYS" = "os2"], [
3571 AS_IF([test "$enable_kai" != "no"], [
3572 AC_CHECK_HEADERS([kai.h], [
3574 AC_CHECK_LIB(kai, main, [
3580 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3583 dnl Interface plugins
3586 EXTEND_HELP_STRING([Interface plugins:])
3592 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3593 AS_IF([test "${SYS}" = "darwin"], [
3597 AS_IF([test "${enable_qt}" != "no"], [
3598 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3599 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3600 AS_IF([test -n "${enable_qt}"],[
3601 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3603 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3609 AS_IF([test "${enable_qt}" != "no"], [
3610 VLC_ADD_PLUGIN([qt4])
3611 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3612 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3613 ALIASES="${ALIASES} qvlc"
3618 AC_MSG_CHECKING([whether Qt uses Xlib])
3619 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3620 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3622 #if !defined (Q_WS_X11)
3626 AC_MSG_RESULT([yes])
3627 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3628 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3636 AS_IF([test "${SYS}" = "mingw32"], [
3637 VLC_ADD_LIBS([qt4],[-lole32])
3639 AS_IF([test "${SYS}" = "darwin" ],[
3640 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3643 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3644 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin])
3645 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin])
3646 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin])
3648 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3651 dnl Simple test for skins2 dependency
3653 AS_IF([test "$enable_qt" = "no"], [
3654 AS_IF([test "${enable_skins2}" = "yes"], [
3655 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.])
3658 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3665 AC_ARG_ENABLE(skins2,
3666 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3667 AS_IF([test "${enable_skins2}" != "no"], [
3668 have_skins_deps="yes"
3671 AS_IF([test "${SYS}" = "mingw32"], [
3672 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3673 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3675 ], [test "${SYS}" = "darwin"], [
3676 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3677 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3680 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3681 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3682 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3683 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3684 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3688 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3690 dnl we need freetype
3691 AS_IF([test "${have_freetype}" != "yes"], [
3692 have_skins_deps="no"
3695 AS_IF([test "${have_skins_deps}" = "no"], [
3696 AS_IF([test "x${enable_skins2}" = "x"], [
3697 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3699 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3703 VLC_ADD_PLUGIN([skins2])
3704 ALIASES="${ALIASES} svlc"
3708 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3710 AC_ARG_ENABLE(libtar,
3711 [ --enable-libtar libtar support for skins2 (default auto)])
3712 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3713 AC_CHECK_HEADERS(libtar.h, [
3714 VLC_ADD_LIBS([skins2],[-ltar])
3719 dnl MacOS X gui module
3721 AC_ARG_ENABLE(macosx,
3722 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3723 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3725 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL])
3726 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3727 VLC_ADD_PLUGIN([macosx minimal_macosx])
3729 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
3731 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3733 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3735 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3736 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3738 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3740 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3742 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3743 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3748 dnl MacOS X dialor provider
3750 AC_ARG_ENABLE(macosx-dialog-provider,
3751 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3752 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3753 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3755 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3756 VLC_ADD_PLUGIN([macosx_dialog_provider])
3762 AC_ARG_ENABLE(ncurses,
3763 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3764 AS_IF([test "${enable_ncurses}" != "no"] ,[
3765 PKG_CHECK_MODULES([NCURSES], [ncursesw], [
3766 VLC_ADD_PLUGIN([ncurses])
3767 VLC_ADD_CFLAGS([ncurses],[${NCURSES_CFLAGS}])
3768 VLC_ADD_LIBS([ncurses],[${NCURSES_LIBS}])
3769 ALIASES="${ALIASES} nvlc"
3771 AS_IF([test -n "${enable_ncurses}"], [
3772 AC_MSG_ERROR([${NCURSES_PKG_ERRORS}.])
3781 [ --enable-lirc lirc support (default disabled)])
3782 if test "${enable_lirc}" = "yes"
3784 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3785 if test "${have_lirc}" = "true"
3787 VLC_ADD_PLUGIN([lirc])
3788 VLC_ADD_LIBS([lirc],[-llirc_client])
3792 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3794 dnl Visualisation plugin
3796 AC_ARG_ENABLE(visual,
3797 [ --enable-visual visualisation plugin (default enabled)])
3798 if test "${enable_visual}" != "no"
3800 VLC_ADD_PLUGIN([visual])
3804 dnl goom visualization plugin
3806 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3809 dnl libprojectM visualization plugin
3811 AC_ARG_ENABLE(projectm,
3812 [ --enable-projectm projectM visualization plugin (default enabled)])
3813 AS_IF([test "${enable_projectm}" != "no"],
3815 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3817 VLC_ADD_PLUGIN([projectm])
3818 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3819 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3820 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3821 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3822 [ AC_MSG_WARN( [Using libprojectM version 1] )
3825 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3830 dnl Vovoid VSXu visualization plugin
3833 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3834 AS_IF([test "${enable_vsxu}" != "no"],
3836 PKG_CHECK_MODULES(VSXU, libvsxu,
3838 VLC_ADD_PLUGIN([vsxu])
3839 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3840 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3842 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3847 dnl AtmoLight (homemade Philips Ambilight clone)
3850 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3851 (default enabled)]),, [enable_atmo="yes"])
3852 AS_IF([test "${enable_atmo}" != no], [
3853 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3855 VLC_ADD_PLUGIN([atmo])
3860 EXTEND_HELP_STRING([Service Discovery plugins:])
3862 dnl Bonjour services discovery
3863 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3866 dnl libudev services discovery
3867 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3870 dnl MTP devices services discovery
3871 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3874 dnl UPnP Plugin (Intel SDK)
3876 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3877 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3879 EXTEND_HELP_STRING([Misc options:])
3884 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3890 AC_ARG_ENABLE(libgcrypt,
3891 [ --disable-libgcrypt gcrypt support (default enabled)])
3892 AS_IF([test "${enable_libgcrypt}" != "no"], [
3893 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3894 libgcrypt-config --version >/dev/null || \
3895 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3896 AC_CHECK_LIB(gcrypt, gcry_control, [
3897 have_libgcrypt="yes"
3898 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3899 GCRYPT_LIBS="`libgcrypt-config --libs`"
3901 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3902 ], [`libgcrypt-config --libs`])
3904 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3905 ], [#include <gcrypt.h>]
3909 AC_SUBST(GCRYPT_CFLAGS)
3910 AC_SUBST(GCRYPT_LIBS)
3911 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3916 AC_ARG_ENABLE(gnutls,
3917 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3919 AS_IF([test "${have_libgcrypt}" != "yes"], [
3920 AS_IF([test "${enable_gnutls}" = "yes"], [
3921 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
3925 AS_IF([test "${enable_gnutls}" != "no"], [
3926 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3927 VLC_ADD_PLUGIN([gnutls])
3929 AS_IF([test -n "${enable_gnutls}"], [
3930 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3937 dnl Nokia MCE plugin (Maemo screen unblanking)
3939 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
3942 AS_IF([test -f "/etc/maemo_version"], [
3943 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
3950 AC_ARG_ENABLE(taglib,
3951 [AS_HELP_STRING([--disable-taglib],
3952 [do not use TagLib (default enabled)])])
3953 AS_IF([test "${enable_taglib}" != "no"], [
3954 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.6.1, [
3955 VLC_ADD_PLUGIN([taglib])
3956 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3957 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3959 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3964 dnl update checking system
3966 AC_ARG_ENABLE(update-check,
3967 [ --enable-update-check update checking system (default disabled)])
3968 if test "${enable_update_check}" = "yes"
3970 if test "${have_libgcrypt}" != "yes"
3972 AC_MSG_ERROR([libgcrypt is required for update checking system])
3974 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3975 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3976 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3980 dnl Growl notification plugin
3982 AC_ARG_ENABLE(growl,
3983 [ --enable-growl growl notification plugin (default disabled)],,
3985 AS_IF([test "${enable_growl}" != "no"], [
3986 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3987 VLC_ADD_PLUGIN([growl])
3988 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3989 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3990 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3996 dnl Libnotify notification plugin
3998 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
4003 AC_ARG_ENABLE(media-library,
4004 [ --enable-media-library media library (default disabled)])
4005 AS_IF([test "${enable_media_library}" = "yes"], [
4006 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4007 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4008 VLC_ADD_PLUGIN([media_library])
4013 AS_IF([test "${SYS}" != "darwin"], [
4014 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4016 AS_IF([test "${enable_sqlite}" != "no"], [
4017 AC_CHECK_HEADERS(sqlite3.h, [
4018 VLC_ADD_PLUGIN([sqlite])
4019 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4021 AC_MSG_ERROR([sqlite3 is required for the media library])
4029 dnl Endianness check
4032 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4033 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4037 AC_SUBST(DEFS_BIGENDIAN)
4040 dnl Where to install KDE solid .desktop
4042 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4043 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4044 KDE4_CONFIG="kde4-config"
4047 AC_ARG_WITH(kde-solid,
4048 AS_HELP_STRING([--with-kde-solid=PATH],
4049 [KDE Solid actions directory (auto)]),, [
4051 if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then
4052 with_kde_solid="yes"
4056 AS_IF([test "${with_kde_solid}" != "no"], [
4057 AS_IF([test "${with_kde_solid}" = "yes"], [
4058 kde4datadir="`${KDE4_CONFIG} --install data`"
4059 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4060 soliddatadir="${kde4datadir}/solid/actions"
4062 soliddatadir="${with_kde_solid}"
4065 AC_SUBST(soliddatadir)
4066 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4069 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4072 AC_ARG_ENABLE(loader,
4073 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4074 (default disabled)]))
4075 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4076 AS_IF([test "${enable_loader}" = "yes"],
4077 [ VLC_ADD_PLUGIN([dmo])
4078 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\${top_srcdir}/modules/codec/loader])
4079 VLC_ADD_LIBS([dmo quicktime ],[\\\${top_builddir}/modules/codec/loader/libloader.la])
4080 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4083 EXTEND_HELP_STRING([Components:])
4089 [ --enable-vlc build the VLC media player (default enabled)])
4090 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4092 AC_ARG_ENABLE(macosx-vlc-app,
4093 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4094 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4095 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4098 dnl Stuff used by the program
4100 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4101 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4102 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4103 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4104 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4105 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4106 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4107 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4108 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4109 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4110 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4111 AC_SUBST(COPYRIGHT_MESSAGE)
4112 AC_SUBST(VERSION_MESSAGE)
4113 AC_SUBST(VERSION_MAJOR)
4114 AC_SUBST(VERSION_MINOR)
4115 AC_SUBST(VERSION_REVISION)
4116 AC_SUBST(VERSION_EXTRA)
4117 AC_SUBST(COPYRIGHT_YEARS)
4118 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4119 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4120 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4122 dnl Handle substvars that use $(top_srcdir)
4124 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4127 dnl Configuration is finished
4137 AC_SUBST(WINE_SDK_PATH)
4139 AC_SUBST(AM_CPPFLAGS)
4140 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4141 AC_SUBST(FILE_LIBVLCCORE_DLL)
4142 AC_SUBST(FILE_LIBVLC_DLL)
4156 modules/access/Makefile
4157 modules/access/bd/Makefile
4158 modules/access/dshow/Makefile
4159 modules/access/mms/Makefile
4160 modules/access/rtp/Makefile
4161 modules/access/rtsp/Makefile
4162 modules/access/vcd/Makefile
4163 modules/access/vcdx/Makefile
4164 modules/access/screen/Makefile
4165 modules/access/zip/Makefile
4166 modules/access/zip/unzip/Makefile
4167 modules/access_output/Makefile
4168 modules/audio_filter/Makefile
4169 modules/audio_mixer/Makefile
4170 modules/audio_output/Makefile
4171 modules/codec/Makefile
4172 modules/codec/avcodec/Makefile
4173 modules/codec/dmo/Makefile
4174 modules/codec/loader/Makefile
4175 modules/codec/omxil/Makefile
4176 modules/codec/shine/Makefile
4177 modules/codec/spudec/Makefile
4178 modules/codec/wmafixed/Makefile
4179 modules/control/Makefile
4180 modules/control/dbus/Makefile
4181 modules/control/globalhotkeys/Makefile
4182 modules/demux/Makefile
4183 modules/demux/asf/Makefile
4184 modules/demux/avformat/Makefile
4185 modules/demux/avi/Makefile
4186 modules/demux/mkv/Makefile
4187 modules/demux/mp4/Makefile
4188 modules/demux/mpeg/Makefile
4189 modules/demux/playlist/Makefile
4190 modules/gui/Makefile
4191 modules/gui/macosx/Makefile
4192 modules/gui/minimal_macosx/Makefile
4193 modules/gui/macosx_dialog_provider/Makefile
4194 modules/gui/qt4/Makefile
4195 modules/gui/skins2/Makefile
4196 modules/lua/Makefile
4197 modules/meta_engine/Makefile
4198 modules/misc/Makefile
4199 modules/misc/playlist/Makefile
4200 modules/misc/osd/Makefile
4201 modules/misc/stats/Makefile
4202 modules/media_library/Makefile
4203 modules/mux/Makefile
4204 modules/mux/mpeg/Makefile
4205 modules/notify/Makefile
4206 modules/packetizer/Makefile
4207 modules/services_discovery/Makefile
4208 modules/stream_filter/Makefile
4209 modules/stream_filter/dash/Makefile
4210 modules/stream_out/Makefile
4211 modules/stream_out/transcode/Makefile
4212 modules/text_renderer/Makefile
4213 modules/video_chroma/Makefile
4214 modules/video_filter/Makefile
4215 modules/video_filter/dynamicoverlay/Makefile
4216 modules/video_output/Makefile
4217 modules/video_output/msw/Makefile
4218 modules/visualization/Makefile
4219 modules/visualization/visual/Makefile
4220 modules/mmx/Makefile
4221 modules/sse2/Makefile
4222 modules/altivec/Makefile
4223 modules/arm_neon/Makefile
4226 AM_COND_IF([HAVE_WIN32], [
4228 extras/package/win32/spad.nsi
4229 extras/package/win32/vlc.win32.nsi
4233 AM_COND_IF([HAVE_DARWIN], [
4235 extras/package/macosx/Info.plist
4236 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4240 dnl Generate makefiles
4243 dnl Do we have to use make or gmake ?
4244 if make --version 2>&1|grep -q GNU
4246 # GNU make, all seems good
4249 # Known GNU make alias (on BSD)
4252 dnl Shortcut to nice compile message
4253 if test -n $SHELL; then
4254 SHELL=${CONFIG_SHELL-/bin/sh}
4260 export PATH=\"$PATH\" LANG=C
4261 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4262 test -f .error\$\$ && ERROR=1
4264 exit \$ERROR" >compile
4268 libvlc configuration
4269 --------------------
4270 version : ${VERSION}
4272 architecture : ${ARCH}
4273 optimizations : ${enable_optimizations}"
4274 if test "${enable_vlc}" != "no"; then
4275 echo "vlc aliases :${ALIASES}"
4277 echo "build vlc executable : no"
4280 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."