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 Check for Mac OS X SDK settings
178 AC_ARG_WITH(macosx-sdk,
179 [AS_HELP_STRING([--with-macosx-sdk=DIR],
180 [compile using the SDK in DIR])])
181 test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.6.sdk
182 test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
183 AC_ARG_WITH(macosx-version-min,
184 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
185 [compile for MacOS X VERSION and above])])
186 if test "${with_macosx_version_min}" = "" ; then
187 with_macosx_version_min=10.5
189 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
190 CPP="${CPP} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}"
191 CC="${CC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}"
192 CXX="${CXX} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}"
193 OBJC="${OBJC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}"
194 LD="${LD} -syslibroot ${with_macosx_sdk} -mmacosx_version_min=${with_macosx_version_min}"
195 CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
196 CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
197 OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"
198 export MACOSX_DEPLOYMENT_TARGET
200 *mingw32* | *cygwin* | *wince* | *mingwce*)
201 AC_CHECK_TOOL(WINDRES, windres, :)
202 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
203 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
204 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
207 *wince* | *mingwce* | *mingw32ce*)
209 dnl Sadly CeGCC still needs non-wince macros
215 dnl Check if we are using the mno-cygwin mode in which case we are
216 dnl actually dealing with a mingw32 compiler.
221 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
225 if test "${SYS}" = "mingw32"; then
226 VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm])
227 VLC_ADD_LDFLAGS([vlc],[-mwindows])
228 VLC_ADD_LIBS([win32text],[-lgdi32])
229 VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm])
230 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
231 ac_default_prefix="`pwd`/_win32"
232 DESTDIR="`pwd`/_win32/"
235 dnl NSIS Installer prefix and WIN64
240 PROGRAMFILES="PROGRAMFILES64"
243 PROGRAMFILES="PROGRAMFILES"
246 AC_SUBST(PROGRAMFILES)
249 if test "${SYS}" = "mingwce"; then
250 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
251 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
252 ac_default_prefix="`pwd`/_wince"
253 DESTDIR="`pwd`/_wince/"
270 LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild"
276 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
277 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
278 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
279 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
280 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
281 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
282 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
285 dnl Check for the contrib directory
288 [AS_HELP_STRING([--with-contrib[=DIR]],
289 [search for 3rd party libraries in DIR/include and DIR/lib])
291 AC_MSG_CHECKING([for 3rd party libraries path])
292 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
293 CONTRIB_DIR="${srcdir}/contrib/${host}"
294 AS_IF([test ! -d "${CONTRIB_DIR}"], [
295 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
296 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
297 AS_IF([test ! -d "${CONTRIB_DIR}"], [
298 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
299 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
300 AS_IF([test ! -d "${CONTRIB_DIR}"], [
301 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
302 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
303 AS_IF([test ! -d "${CONTRIB_DIR}"], [
304 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
306 AC_MSG_RESULT([not found])
312 AS_IF([test "${with_contrib}" != "no"], [
313 CONTRIB_DIR="${with_contrib}"
316 AC_MSG_RESULT([disabled])
319 AS_IF([test -n "${CONTRIB_DIR}"], [
320 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
321 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
323 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
325 AC_MSG_RESULT([not usable])
329 AS_IF([test -n "${CONTRIB_DIR}"], [
330 AC_MSG_RESULT([${CONTRIB_DIR}])
331 export PATH=${CONTRIB_DIR}/bin:$PATH
332 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
333 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
334 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
335 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
336 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
337 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
339 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
341 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
343 AS_IF([test "${SYS}" = "darwin"], [
344 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
345 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
348 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
349 AC_MSG_ERROR([Third party libraries not found!])
352 AC_SUBST(CONTRIB_DIR)
355 dnl Sadly autoconf does not think about testing foo.exe when ask to test
356 dnl for program foo on win32
358 case "${build_os}" in
360 ac_executable_extensions=".exe"
366 dnl Android is linux, but a bit different
367 AS_IF([test "$SYS" = linux],[
368 AC_MSG_CHECKING([for an Android system])
369 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
370 [[#ifndef __ANDROID__
381 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
385 dnl It's very bad, but our former custom system was worst
389 dnl override platform specific check for dependent libraries
390 dnl otherwise libtool linking of shared libraries will
391 dnl fail on anything other than pass_all.
392 AC_CACHE_VAL(lt_cv_deplibs_check_method,
393 [lt_cv_deplibs_check_method=pass_all])
395 LT_INIT([dlopen win32-dll shared disable-static])
397 LT_LANG([Windows Resource])
399 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
400 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
402 lt_cv_deplibs_check_method=pass_all
404 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
405 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
411 AM_GNU_GETTEXT_VERSION([0.18.1])
412 AM_GNU_GETTEXT([external], [need-ngettext])
419 dnl Check for broken versions of mingw-runtime compatability library
420 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
421 AC_MSG_CHECKING(for broken mingw-runtime)
422 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
424 #if defined(__MINGW64_VERSION_MAJOR)
425 # if __MINGW64_VERSION_MAJOR < 3
426 # error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
428 #elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
429 # error Attempting to use mingw-runtime with broken vsnprintf support
434 AC_MSG_RESULT([present])
435 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
437 dnl force use of mingw provided c99 *printf over msvcrt
438 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
441 dnl Check for the need to include the mingwex lib for mingw32
442 if test "${SYS}" = "mingw32" ; then
443 AC_CHECK_LIB(mingwex,opendir,
444 AC_CHECK_LIB(mingw32,opendir,,
445 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
449 dnl Check for fnative-struct or mms-bitfields support for mingw32
450 if test "${SYS}" = "mingw32" ; then
452 CFLAGS="${CFLAGS} -mms-bitfields"
453 CXXFLAGS="${CXXFLAGS} -mms-bitfields"
454 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
455 [ac_cv_c_mms_bitfields],
456 [AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
457 if test "${ac_cv_c_mms_bitfields}" = "no"; then
459 CFLAGS="${CFLAGS} -fnative-struct"
460 CXXFLAGS="${CXXFLAGS} -fnative-struct"
461 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
462 [ac_cv_c_fnative_struct],
463 [AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
464 "${ac_cv_c_fnative_struct}" = "no" && VLC_RESTORE_FLAGS
469 dnl Buggy glibc prevention. Purposedly not cached.
470 dnl See sourceware.org bugs 5058 and 5443.
471 dnl Ubuntu alone has 20 bug numbers for this...
473 AC_MSG_CHECKING(for buggy GNU/libc versions)
474 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
476 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
477 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
478 # error GNU/libc with dcgettext killer bug!
481 AC_MSG_RESULT([not present])
483 AC_MSG_RESULT([found])
484 AS_IF([test "x${enable_nls}" != "xno"], [
485 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
486 work-around for this. Check with your distribution vendor on how to update the
487 glibc run-time. Alternatively, build with --disable-nls.])
491 dnl Plugin compilation stuff
495 dnl Check for system libs needed
498 dnl Check for usual libc functions
499 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
500 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])
501 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])
502 AC_CHECK_FUNCS(fdatasync,,
503 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
506 dnl mingw64 implements those as static inline, not functions with C linkage
508 AC_LANG_PROGRAM([#include <stdio.h>], [
510 if (asprintf(&c, "%s %d", "string", 1) == -1)
512 ])],[AC_DEFINE([HAVE_ASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([asprintf])])
514 AC_LANG_PROGRAM([#include <stdio.h>
515 #include <stdarg.h>], [
518 if (vasprintf(&c, "%s %d", ap) == -1)
520 ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])])
522 dnl C11 static_assert()
523 AC_MSG_CHECKING([for static_assert in assert.h])
524 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
526 #ifndef static_assert
531 AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if <assert.h> defines static_assert.])
536 # Windows CE does not have strcoll()
539 dnl Check for non-standard system calls
540 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
542 AH_BOTTOM([#include <vlc_fixups.h>])
544 dnl Check for struct pollfd
545 AC_CHECK_TYPES([struct pollfd],,,
546 [#include <sys/types.h>
549 #elif defined (WIN32)
550 # include <winsock2.h>
554 dnl Checks for socket stuff
557 AC_SEARCH_LIBS(connect, [socket], [
558 AS_IF([test "$ac_cv_search_connect" != "none required"], [
559 SOCKET_LIBS="$ac_cv_search_connect"
562 AS_IF([test "${SYS}" = "mingw32"], [
563 SOCKET_LIBS="-lws2_32"
565 AS_IF([test "${SYS}" = "mingwce"], [
570 AC_SEARCH_LIBS([getaddrinfo], [nsl], [
571 AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [
572 SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS"
574 ],, [${SOCKET_LIBS}])
576 AC_CHECK_FUNCS([if_nameindex if_nametoindex])
579 AS_IF([test -n "$SOCKET_LIBS"], [
580 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}])
582 AC_SUBST(SOCKET_LIBS)
584 dnl Check for socklen_t
585 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
586 AC_CACHE_CHECK([for socklen_t in sys/socket.h], dnl ` (fix VIM syntax highlight
587 ac_cv_type_socklen_t,
588 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
589 [#include <sys/types.h>
591 # include <winsock2.h>
592 # include <ws2tcpip.h>
594 # include <sys/socket.h>
595 #endif]], [[socklen_t len; len = 0;]])],
596 ac_cv_type_socklen_t=yes,
597 ac_cv_type_socklen_t=no)])
598 AS_IF([test "$ac_cv_type_socklen_t" = no],
599 [AC_DEFINE(socklen_t, int)])
601 dnl Check for struct sockaddr_storage
602 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
603 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.]) dnl ` (fix VIM syntax highlight
604 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
606 [#include <sys/types.h>
607 #if defined( UNDER_CE )
608 # include <winsock2.h>
609 #elif defined( WIN32 )
610 # include <winsock2.h>
612 # include <sys/socket.h>
613 #endif], [struct sockaddr_storage addr;],
614 ac_cv_struct_sockaddr_storage=yes,
615 ac_cv_struct_sockaddr_storage=no)])
616 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
617 AC_DEFINE(sockaddr_storage, sockaddr)
618 AC_DEFINE(ss_family, sa_family)
621 dnl FreeBSD has a gnugetopt library for this:
623 AC_CHECK_FUNC(getopt_long,, [
624 AC_CHECK_LIB([gnugetopt],[getopt_long], [
625 GNUGETOPT_LIBS="-lgnugetopt"
628 AC_SUBST(GNUGETOPT_LIBS)
631 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 mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
638 AC_CHECK_LIB(m,lrintf, [
639 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
640 VLC_ADD_LIBS([skins2],[-lm])
643 dnl Check for dynamic plugins
645 have_dynamic_objects="no"
647 AC_SEARCH_LIBS(dlopen, [dl svld], [
648 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
649 LIBDL="$ac_cv_search_dlopen"
651 have_dynamic_objects="yes"
656 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
658 have_dynamic_objects="yes" #assume we can use shared objects
661 test "${enable_shared}" = "no" && have_dynamic_objects=no
663 AS_IF([test "${have_dynamic_objects}" != "no"], [
664 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
665 [Define to 1 if dynamic plugins are supported.])
667 dnl Clear $LIBDL so as not to break linking
670 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
673 VLC_ADD_LIBS([lua],[$LIBDL])
675 dnl Check for thread library
676 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
680 AC_SEARCH_LIBS(pthread_rwlock_init, pthread pthreads c_r, [
681 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${LIBS}])
685 AC_CHECK_LIB(rt, clock_nanosleep, [
686 VLC_ADD_LIBS([libvlccore],[-lrt])
688 AC_CHECK_FUNC(nanosleep,,[
689 AC_CHECK_LIB(rt,nanosleep, [
690 VLC_ADD_LIBS([libvlccore],[-lrt])
692 AC_CHECK_LIB(posix4,nanosleep, [
693 VLC_ADD_LIBS([libvlccore],[-lposix4])
698 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
700 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
702 dnl Check for headers
703 AC_CHECK_HEADERS([search.h])
704 AC_CHECK_HEADERS(getopt.h locale.h xlocale.h)
705 AC_CHECK_HEADERS([sys/time.h sys/ioctl.h])
706 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
707 AC_CHECK_HEADERS([net/if.h], [], [],
709 #include <sys/types.h>
710 #include <sys/socket.h>
712 AC_CHECK_HEADERS([sys/mount.h], [], [],
714 #include <sys/param.h>
717 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
718 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
719 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
720 AC_CHECK_HEADERS(syslog.h mntent.h)
721 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
723 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
724 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.]) dnl ` (fix VIM syntax highlight
725 AC_CHECK_TYPE(ssize_t,, [
726 AC_DEFINE(ssize_t, int)
729 dnl Check for threads library
730 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
731 AC_CHECK_HEADERS(pthread.h)
732 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
734 dnl It seems that autoconf detects pkg-config only during the first
735 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
736 dnl it is nested within a conditional block, so it was not working right.
737 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
738 AC_ARG_VAR(PKG_CONFIG_PATH,
739 [Paths where to find .pc not at the default location])
740 PKG_PROG_PKG_CONFIG()
742 dnl On some OS we need static linking
743 AS_IF([test -n "${PKG_CONFIG}" ],[
744 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
745 PKG_CONFIG="${PKG_CONFIG} --static"
751 dnl Check for zlib.h and -lz along with system -lminizip if available
753 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
754 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
755 if test "${have_zlib}" = "yes"
757 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
758 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
759 AC_CHECK_HEADERS([unzip.h], [
761 MINIZIP_LIBS="-lminizip -lz"
764 MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
765 MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
768 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
769 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
771 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
776 [AS_HELP_STRING([--enable-dbus],
777 [compile D-Bus message bus support (default enabled)])])
780 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
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 Check for Telepathy
798 AC_ARG_ENABLE(telepathy,
799 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
800 if test "${enable_telepathy}" != "no"; then
801 VLC_ADD_PLUGIN([telepathy])
802 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
803 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
805 dnl Power Management Inhibiter
806 VLC_ADD_PLUGIN([inhibit])
807 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
808 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
810 [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])]
816 dnl Check for ntohl, etc.
818 CFLAGS="${CFLAGS} -Wall -Werror"
819 AC_CACHE_CHECK([for ntohl in sys/param.h],
820 [ac_cv_c_ntohl_sys_param_h],
821 [ AC_TRY_COMPILE([#include <sys/param.h>],
822 [int meuh; ntohl(meuh);],
823 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
824 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
825 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
829 EXTEND_HELP_STRING([Optimization options:])
831 dnl Compiler warnings
834 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])
835 RDC_PROG_CC_FLAGS([-pipe])
837 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
844 [AS_HELP_STRING([--enable-debug],
845 [build with run-time assertions (default disabled)])],,
848 [Define to 1 if debug code should NOT be compiled])
849 AS_IF([test "${enable_debug}" != "no"], [
850 AC_CHECK_HEADERS([valgrind/valgrind.h])
859 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
861 AS_IF([test "${enable_gprof}" != "no"], [
862 CFLAGS="${CFLAGS} -pg"
863 CXXFLAGS="${CXXFLAGS} -pg"
864 OBJCFLAGS="${OBJCFLAGS} -pg"
865 LDFLAGS="${LDFLAGS} -pg"
869 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
871 AS_IF([test "${enable_gprof}" != "no"], [
872 CFLAGS="${CFLAGS} -finstrument-functions"
873 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
874 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
875 LDFLAGS="${LDFLAGS} -finstrument-functions"
881 AC_ARG_ENABLE(coverage,
882 [AS_HELP_STRING([--enable-coverage],
883 [build for test coverage (default disabled)])],,
884 [enable_coverage="no"])
885 AS_IF([test "${enable_coverage}" != "no"], [
886 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
887 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
888 LDFLAGS="-lgcov ${LDFLAGS}"
891 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
893 CFLAGS="${CFLAGS} -fvisibility=hidden"
894 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
895 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
896 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
897 [ac_cv_c_visibility_hidden], [
898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
899 ac_cv_c_visibility_hidden=yes
901 ac_cv_c_visibility_hidden=no
904 AS_IF([test "${ac_cv_c_visibility_hidden}" = "no"], [VLC_RESTORE_FLAGS])
909 dnl Enable/disable optimizations
911 AC_ARG_ENABLE(optimizations,
912 [AS_HELP_STRING([--disable-optimizations],
913 [disable compiler optimizations (default enabled)])],,
914 [enable_optimizations="yes"])
916 dnl Check for various optimization flags
917 AS_IF([test "${enable_optimizations}" != "no"], [
919 dnl -O4 and -O3 only in production builds
920 AS_IF([test "{enable_debug}" = "no"], [
922 CFLAGS="${CFLAGS} -O4"
923 CXXFLAGS="${CXXFLAGS} -O4"
924 OBJCFLAGS="${OBJCFLAGS} -O4"
925 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
926 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
932 AS_IF([test "${ac_cv_c_o4}" = "no"], [
934 CFLAGS="${CFLAGS} -O3"
935 CXXFLAGS="${CXXFLAGS} -O3"
936 OBJCFLAGS="${OBJCFLAGS} -O3"
937 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
938 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
944 AS_IF([test "${ac_cv_c_o3}" = "no"], [VLC_RESTORE_FLAGS])
948 dnl Check for -ffast-math
950 CFLAGS="${CFLAGS} -ffast-math"
951 CXXFLAGS="${CXXFLAGS} -ffast-math"
952 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
953 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
954 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
955 ac_cv_c_fast_math=yes
960 AS_IF([test "${ac_cv_c_fast_math}" = "no"], [VLC_RESTORE_FLAGS])
962 #ifndef __FAST_MATH__
963 # pragma STDC FENV_ACCESS OFF
964 # pragma STDC FP_CONTRACT ON
968 dnl Check for -funroll-loops
970 CFLAGS="${CFLAGS} -funroll-loops"
971 CXXFLAGS="${CXXFLAGS} -funroll-loops"
972 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
973 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
974 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
975 ac_cv_c_unroll_loops=yes
977 ac_cv_c_unroll_loops=no
980 AS_IF([test "${ac_cv_c_unroll_loops}" = "no"], [VLC_RESTORE_FLAGS])
982 AS_IF([test "$enable_debug" = "no"], [
983 dnl Check for -fomit-frame-pointer
985 CFLAGS="${CFLAGS} -fomit-frame-pointer"
986 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
987 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
988 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
989 [ac_cv_c_omit_frame_pointer], [
990 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
991 ac_cv_c_omit_frame_pointer=yes
993 ac_cv_c_omit_frame_pointer=no
996 AS_IF([test "${ac_cv_c_omit_frame_pointer}" = "no"], [VLC_RESTORE_FLAGS])
1000 dnl Check for Darwin plugin linking flags
1001 AS_IF([test "${SYS}" = "darwin"], [
1003 CFLAGS="${CFLAGS} -bundle -undefined error"
1004 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1005 [ac_cv_ld_darwin], [
1006 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1012 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1013 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1018 dnl Checks for __attribute__(aligned()) directive
1020 CFLAGS="${CFLAGS} -Werror"
1021 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1022 [ac_cv_c_attribute_aligned],
1023 [ac_cv_c_attribute_aligned=0
1024 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1026 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1027 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1030 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1031 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1032 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1035 dnl Check for __attribute__((packed))
1036 AC_CACHE_CHECK([for __attribute__((packed))],
1037 [ac_cv_c_attribute_packed],
1038 [ac_cv_c_attribute_packed=no
1039 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1040 [ac_cv_c_attribute_packed=yes])])
1041 if test "${ac_cv_c_attribute_packed}" != "no"; then
1042 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1048 case "${host_cpu}" in
1057 dnl Check for backtrace() support
1058 AC_CHECK_HEADERS(execinfo.h)
1059 AC_CHECK_FUNCS(backtrace)
1064 ALIASES="${ALIASES} cvlc rvlc"
1067 dnl Some plugins aren't useful on some platforms
1069 if test "${SYS}" = "os2"; then
1070 VLC_ADD_PLUGIN([dynamicoverlay])
1071 elif test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1072 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1073 elif test "${SYS}" != "mingwce"; then
1074 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1075 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1077 if test "${SYS}" = "darwin"; then
1078 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
1082 dnl Accelerated modules
1085 dnl Check for fully working MMX intrinsics
1086 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1087 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1089 [AS_HELP_STRING([--disable-mmx],
1090 [disable MMX optimizations (default auto)])],,[
1091 case "${host_cpu}" in
1101 AS_IF([test "${enable_mmx}" != "no"], [
1104 CFLAGS="${CFLAGS} -mmmx"
1105 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1106 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1107 [#include <mmintrin.h>
1109 uint64_t frobzor;]], [
1111 a = b = c = (__m64)frobzor;
1112 a = _mm_slli_pi16(a, 3);
1113 a = _mm_adds_pi16(a, b);
1114 c = _mm_srli_pi16(c, 8);
1115 c = _mm_slli_pi16(c, 3);
1116 b = _mm_adds_pi16(b, c);
1117 a = _mm_unpacklo_pi8(a, b);
1118 frobzor = (uint64_t)a;]])], [
1119 ac_cv_c_mmx_intrinsics=yes
1121 ac_cv_c_mmx_intrinsics=no
1125 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1126 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, [Define to 1 if MMX intrinsics are available.])
1130 CFLAGS="${CFLAGS} -mmmx"
1131 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1132 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1134 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1137 ac_cv_mmx_inline=yes
1142 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1143 AC_DEFINE(CAN_COMPILE_MMX, 1, [Define to 1 inline MMX assembly is available.])
1149 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1151 dnl Check for fully workin SSE2 intrinsics
1152 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1153 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1155 [AS_HELP_STRING([--disable-sse],
1156 [disable SSE (1-4) optimizations (default auto)])],, [
1157 case "${host_cpu}" in
1167 AS_IF([test "${enable_sse}" != "no"], [
1168 ARCH="${ARCH} sse sse2"
1171 CFLAGS="${CFLAGS} -msse2"
1172 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1173 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1174 [#include <emmintrin.h>
1176 uint64_t frobzor;]], [
1178 a = b = c = _mm_set1_epi64((__m64)frobzor);
1179 a = _mm_slli_epi16(a, 3);
1180 a = _mm_adds_epi16(a, b);
1181 c = _mm_srli_epi16(c, 8);
1182 c = _mm_slli_epi16(c, 3);
1183 b = _mm_adds_epi16(b, c);
1184 a = _mm_unpacklo_epi8(a, b);
1185 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1186 ac_cv_c_sse2_intrinsics=yes
1188 ac_cv_c_sse2_intrinsics=no
1192 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1193 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1197 CFLAGS="${CFLAGS} -msse"
1198 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1199 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1201 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1204 ac_cv_sse_inline=yes
1210 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1211 AC_DEFINE(CAN_COMPILE_SSE, 1, [Define to 1 if SSE inline assembly is available.])
1214 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1215 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1217 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1220 ac_cv_sse2_inline=yes
1222 ac_cv_sse2_inline=no
1225 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1226 AC_DEFINE(CAN_COMPILE_SSE2, 1, [Define to 1 if SSE2 inline assembly is available.])
1231 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1232 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1234 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1237 ac_cv_sse3_inline=yes
1239 ac_cv_sse3_inline=no
1243 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1244 AC_DEFINE(CAN_COMPILE_SSE3, 1, [Define to 1 if SSE3 inline assembly is available.]) ])
1246 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1247 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1249 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1252 ac_cv_ssse3_inline=yes
1254 ac_cv_ssse3_inline=no
1258 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1259 AC_DEFINE(CAN_COMPILE_SSSE3, 1, [Define to 1 if SSSE3 inline assembly is available.]) ])
1262 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1263 [ac_cv_sse4_1_inline], [
1264 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1266 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1269 ac_cv_sse4_1_inline=yes
1271 ac_cv_sse4_1_inline=no
1275 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1276 AC_DEFINE(CAN_COMPILE_SSE4_1, 1, [Define to 1 if SSE4_1 inline assembly is available.]) ])
1279 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1280 [ac_cv_sse4_2_inline], [
1281 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1283 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1286 ac_cv_sse4_2_inline=yes
1288 ac_cv_sse4_2_inline=no
1292 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1293 AC_DEFINE(CAN_COMPILE_SSE4_2, 1, [Define to 1 if SSE4_2 inline assembly is available.]) ])
1296 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1297 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1299 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1302 ac_cv_sse4a_inline=yes
1304 ac_cv_sse4a_inline=no
1308 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1309 AC_DEFINE(CAN_COMPILE_SSE4A, 1, [Define to 1 if SSE4A inline assembly is available.]) ])
1311 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1314 [AS_HELP_STRING([--disable-neon],
1315 [disable NEON optimizations (default auto)])],, [
1316 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1318 AS_IF([test "${enable_neon}" != "no"], [
1320 CFLAGS="${CFLAGS} -mfpu=neon"
1321 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1324 asm volatile("vqmovun.s64 d0, q1":::"d0");
1325 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1328 ac_cv_neon_inline="-mfpu=neon"
1330 ac_cv_neon_inline="no"
1334 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1335 NEON_CFLAGS="$ac_cv_neon_inline"
1336 AC_DEFINE([CAN_COMPILE_NEON], 1, [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1339 ac_cv_neon_inline="no"
1341 AC_SUBST(NEON_CFLAGS)
1342 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1345 AC_ARG_ENABLE(altivec,
1346 [AS_HELP_STRING([--disable-altivec],
1347 [disable AltiVec optimizations (default auto)])],, [
1348 AS_IF([test "${host_cpu}" = "powerpc"],
1349 [enable_altivec=yes], [enable_altivec=no])
1352 AS_IF([test "${enable_altivec}" = "yes"], [
1353 ARCH="${ARCH} altivec";
1355 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1356 [ac_cv_altivec_inline],
1357 [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1358 ac_cv_altivec_inline="yes",
1359 [CFLAGS="${CFLAGS} -Wa,-m7400"
1360 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1361 [ac_cv_altivec_inline="-Wa,-m7400"],
1362 ac_cv_altivec_inline=no)
1365 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1366 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1367 [Define to 1 if AltiVec inline assembly is available.])
1368 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1369 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1370 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1371 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1376 dnl The AltiVec C extensions
1378 dnl There are several possible cases:
1379 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1380 dnl need <altivec.h>
1381 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1382 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1383 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1384 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1385 dnl - Others: test should fail
1387 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1389 [# OS X/PPC test (gcc 4.x)
1390 CFLAGS="${CFLAGS} -mpim-altivec -force_cpusubtype_ALL"
1391 AC_TRY_COMPILE([vector unsigned char foo;],
1392 [vec_ld(0, (unsigned char *)0);],
1393 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1394 [# OS X/PPC test (gcc 3.x)
1395 CFLAGS="${CFLAGS} -faltivec"
1396 AC_TRY_COMPILE([vector unsigned char foo;],
1397 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1398 [ac_cv_c_altivec="-faltivec"],
1399 dnl Below this are the Linux tests
1400 [# Linux/PPC test (gcc 4.x)
1401 CFLAGS="${CFLAGS} -maltivec"
1402 AC_TRY_COMPILE([#include <altivec.h>],
1403 [vec_ld(0, (unsigned char *)0);],
1404 [ac_cv_c_altivec="-maltivec"],
1405 [# Linux/PPC test (gcc 3.3)
1406 CFLAGS="${CFLAGS} -maltivec -mabi=altivec"
1407 AC_TRY_COMPILE([#include <altivec.h>],
1408 [vec_ld(0, (unsigned char *)0);],
1410 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1411 [# Linux/PPC test (gcc 3.3)
1412 CFLAGS="${CFLAGS} -fvec"
1413 AC_TRY_COMPILE([#include <altivec.h>],
1414 [vec_ld(0, (unsigned char *)0);],
1415 [ac_cv_c_altivec="-fvec"],
1416 [ac_cv_c_altivec=no])
1424 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1425 CPPFLAGS="${CPPFLAGS} ${ac_cv_c_altivec}"
1426 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, [Define to 1 if C AltiVec extensions are available.])
1427 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1428 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1431 AC_CHECK_HEADERS(altivec.h)
1434 LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1435 AC_CACHE_CHECK([if linker needs -framework vecLib],
1437 [AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)])
1439 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1440 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1443 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1448 AC_ARG_ENABLE(optimize-memory,
1449 [AS_HELP_STRING([--enable-optimize-memory],
1450 [optimize memory usage over performance])])
1451 if test "${enable_optimize_memory}" = "yes"; then
1452 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1456 dnl Allow running as root (useful for people running on embedded platforms)
1458 AC_ARG_ENABLE(run-as-root,
1459 [AS_HELP_STRING([--enable-run-as-root],
1460 [allow running VLC as root (default disabled)])])
1461 AS_IF([test "${enable_run_as_root}" = "yes"],[
1462 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1463 [Define to 1 to allow running VLC as root (uid 0).])
1470 [AS_HELP_STRING([--disable-sout],
1471 [disable streaming output (default enabled)])])
1472 AS_IF([test "${enable_sout}" != "no"], [
1473 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1475 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1479 [AS_HELP_STRING([--disable-lua],
1480 [disable LUA scripting support (default enabled)])])
1481 if test "${enable_lua}" != "no"
1483 PKG_CHECK_MODULES(LUA, lua5.1,
1486 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1487 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1490 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1492 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1495 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1496 [LUA_LIBS="-llua5.1"],
1497 AC_CHECK_LIB( lua51 , luaL_newstate,
1498 [LUA_LIBS="-llua51"],
1499 AC_CHECK_LIB( lua , luaL_newstate,
1507 if test "x${have_lua}" = "xyes" ; then
1508 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1509 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1511 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.])
1513 AC_ARG_VAR([LUAC], [LUA byte compiler])
1514 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1515 AS_IF([test "${LUAC}" = "false"], [
1516 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1519 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1525 AC_ARG_ENABLE(httpd,
1526 [AS_HELP_STRING([--disable-httpd],
1527 [disable the built-in HTTP server (default enabled)])])
1528 if test "${enable_httpd}" != "no"
1530 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1532 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1536 dnl VideoLAN manager
1539 [AS_HELP_STRING([--disable-vlm],
1540 [disable the stream manager (default enabled)])],,
1541 [enable_vlm="${enable_sout}"])
1542 AS_IF([test "${enable_vlm}" != "no"], [
1543 AS_IF([test "${enable_sout}" = "no"], [
1544 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1546 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1548 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1555 EXTEND_HELP_STRING([Input plugins:])
1558 dnl libproxy support
1560 AC_ARG_ENABLE(libproxy,
1561 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1562 AS_IF([test "${enable_libproxy}" != "no"], [
1563 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1564 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1565 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1566 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1568 AS_IF([test -n "${enable_libproxy}"], [
1569 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1577 AC_ARG_ENABLE(live555,
1578 [AS_HELP_STRING([--enable-live555],
1579 [enable RTSP input through live555 (default enabled)])])
1580 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1583 AS_IF([test -z "${CONTRIB_DIR}"], [
1584 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1586 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1588 AS_IF([test "${SYS}" = "solaris"], [
1589 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1591 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1593 AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [
1594 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1595 [#include <liveMedia_version.hh>
1596 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1324598400)
1605 AS_IF([test "$ac_cv_live555" = "no"], [
1606 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1607 Version 2011.12.23 or later is required to proceed.
1608 You can get an updated one from http://www.live555.com/liveMedia .])
1609 AS_IF([test -n "${enable_live555}"], [
1610 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1613 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1614 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1615 AS_IF([test "${SYS}" = "mingw32"], [
1616 # add ws2_32 for closesocket, select, recv
1617 other_libs="$other_libs -lws2_32"
1618 ], [test "${SYS}" = "mingwce"], [
1619 # add ws2 for closesocket, select, recv
1620 other_libs="$other_libs -lws2"
1623 dnl We need to check for pic because live555 don't provide shared libs
1624 dnl and we want to build a plugins so we need -fPIC on some arch.
1625 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1626 AC_CHECK_LIB(liveMedia_pic, main, [
1627 VLC_ADD_PLUGIN([live555])
1628 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1630 AC_CHECK_LIB(liveMedia, main, [
1631 VLC_ADD_PLUGIN([live555])
1632 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1633 ],[],[${other_libs}])],[${other_libs_pic}])
1640 dnl - special access module for dc1394 input
1641 dnl - dv module: digital video module check for libraw1394
1642 dnl - linsys modules: access module check for libzvbi
1644 PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
1645 PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
1647 AC_ARG_ENABLE(linsys,
1648 [AS_HELP_STRING([--enable-linsys],
1649 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1650 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1651 VLC_ADD_PLUGIN([linsys_hdsdi])
1652 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1653 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1654 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1655 VLC_ADD_PLUGIN([linsys_sdi]) ],
1656 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1661 dnl dvdread module: check for libdvdread
1663 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1666 dnl libdvdnav plugin
1668 AC_ARG_ENABLE(dvdnav,
1669 [AS_HELP_STRING([--disable-dvdnav],
1670 [disable DVD navigation with libdvdnav (default auto)])])
1671 if test "${enable_dvdnav}" != "no"
1673 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1674 VLC_ADD_PLUGIN([dvdnav])
1675 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1676 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1677 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1678 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1679 [], [${LIBS_dvdnav}])
1680 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1681 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1682 [], [${LIBS_dvdnav}])],
1683 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1687 dnl Windows DirectShow access module
1689 AC_ARG_ENABLE(dshow,
1690 [AS_HELP_STRING([--disable-dshow],
1691 [support DirectShow (default auto)])])
1692 if test "${enable_dshow}" != "no"
1694 if test "${SYS}" = "mingw32"
1697 AC_CHECK_HEADERS(dshow.h,
1698 [ VLC_ADD_PLUGIN([dshow])
1699 VLC_ADD_CXXFLAGS([dshow],[])
1700 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])])
1706 dnl Blu-ray Disc Support with libbluray
1708 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray for Blu-ray disc support ) )
1711 dnl OpenCV wrapper and example filters
1713 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1717 dnl libsmbclient plugin
1720 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1721 if test "${enable_smb}" != "no"; then
1722 AC_CHECK_HEADERS(libsmbclient.h,
1723 [ VLC_ADD_PLUGIN([access_smb])
1724 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1725 [ if test -n "${enable_smb}"; then
1726 AC_MSG_ERROR([cannot find libsmbclient headers])
1732 dnl sftp access support
1735 [AS_HELP_STRING([--enable-sftp],
1736 [support SFTP file transfer via libssh2 (default disabled)])])
1737 if test "${enable_sftp}" = "yes"; then
1738 AC_CHECK_HEADERS(libssh2.h, [
1739 VLC_ADD_PLUGIN([access_sftp])
1740 VLC_ADD_LIBS([access_sftp], [-lssh2])
1747 AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2],
1748 [disable Video4Linux version 2 (default auto)])])
1749 AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
1750 [support PVR V4L2 cards (default disabled)])])
1752 AS_IF([test "$enable_v4l2" != "no"], [
1753 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1756 AC_CHECK_DECLS([V4L2_CTRL_TYPE_BITMASK],,, [
1757 #ifdef HAVE_LINUX_VIDEODEV2_H
1758 # include <linux/videodev2.h>
1760 #ifdef HAVE_SYS_VIDEOIO_H
1761 # include <sys/videoio.h>
1765 AS_IF([test "$have_v4l2" = "yes"], [
1766 AS_IF([test "${enable_pvr}" = "yes"], [
1767 VLC_ADD_PLUGIN([pvr])
1770 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1773 dnl special access module for Blackmagic SDI cards
1775 AC_ARG_ENABLE(decklink,
1776 [AS_HELP_STRING([--disable-decklink],
1777 [disable Blackmagic DeckLink SDI input (default auto)])])
1778 AC_ARG_WITH(decklink_sdk,
1779 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1780 [ location of Blackmagic DeckLink SDI SDK])])
1781 if test "${enable_decklink}" != "no"
1783 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1785 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
1788 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_decklink}"
1790 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1791 VLC_ADD_PLUGIN([decklink])
1792 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
1799 dnl gnomeVFS access module
1801 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1807 [AS_HELP_STRING([--enable-vcdx],
1808 [navigate VCD with libvcdinfo (default disabled)])])
1809 if test "${enable_vcdx}" = "yes"
1811 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
1812 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
1813 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
1814 [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])])
1815 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
1816 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
1817 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
1818 [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])])
1819 VLC_ADD_PLUGIN([vcdx])
1823 dnl Built-in CD-DA and VCD module
1826 [AS_HELP_STRING([--disable-vcd],
1827 [disable built-in VCD and CD-DA support (default enabled)])])
1829 AC_ARG_ENABLE(libcddb,
1830 [AS_HELP_STRING([--disable-libcddb],
1831 [disable CDDB for Audio CD (default enabled)])])
1833 if test "${enable_vcd}" != "no"
1835 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1836 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1838 VLC_ADD_PLUGIN([vcd cdda])
1843 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1844 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1846 VLC_ADD_PLUGIN([vcd cdda])
1847 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1852 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1853 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1855 VLC_ADD_PLUGIN([vcd cdda])
1856 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1861 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
1863 VLC_ADD_PLUGIN([vcd cdda])
1866 if test "${SYS}" = "darwin"
1868 VLC_ADD_PLUGIN([vcd cdda])
1869 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
1870 VLC_ADD_LIBS([vcdx cdda],[-liconv])
1873 if test "$enable_libcddb" != "no"; then
1874 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
1876 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
1877 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
1878 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
1880 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
1888 AC_CACHE_CHECK([for Linux DVB version 5.1], [ac_cv_linux_dvb_5_1], [
1889 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1890 [#include <linux/dvb/version.h>
1891 #if (DVB_API_VERSION < 5)
1892 # error Linux DVB API v3.2 and older are not supported.
1894 #if (DVB_API_VERSION == 5 && DVB_API_VERSION_MINOR < 1)
1895 # error Linux DVB API v5.0 is unsupported. Please update.
1898 ac_cv_linux_dvb_5_1=yes
1900 ac_cv_linux_dvb_5_1=no
1902 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_dvb_5_1" = "yes"])
1905 dnl Screen capture module
1907 AC_ARG_ENABLE(screen,
1908 [AS_HELP_STRING([--enable-screen],
1909 [disable screen capture (default enabled)])])
1910 if test "${enable_screen}" != "no"; then
1911 if test "${SYS}" = "darwin"; then
1912 AC_CHECK_HEADERS(OpenGL/gl.h, [
1913 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1914 VLC_ADD_PLUGIN([screen])
1915 VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
1918 elif test "${SYS}" = "mingw32"; then
1919 VLC_ADD_PLUGIN([screen])
1920 VLC_ADD_LIBS([screen],[-lgdi32])
1925 dnl Real RTSP plugin
1927 AC_ARG_ENABLE(realrtsp,
1928 [ --enable-realrtsp Real RTSP module (default disabled)])
1929 if test "${enable_realrtsp}" = "yes"; then
1930 VLC_ADD_PLUGIN([access_realrtsp])
1935 AC_ARG_ENABLE(macosx-eyetv,
1936 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
1937 if test "x${enable_macosx_eyetv}" != "xno" &&
1938 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
1940 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
1941 VLC_ADD_PLUGIN([access_eyetv])
1946 AC_ARG_ENABLE(macosx-qtkit,
1947 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
1948 if test "x${enable_macosx_qtkit}" != "xno" &&
1949 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
1951 VLC_ADD_PLUGIN([qtcapture])
1952 VLC_ADD_PLUGIN([qtsound])
1954 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" -a "x${enable_macosx_qtkit}" != "xno"])
1961 EXTEND_HELP_STRING([Mux/Demux plugins:])
1964 dnl libdvbpsi check for ts mux/demux
1967 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
1968 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
1972 dnl GME demux plugin
1975 [AS_HELP_STRING([--enable-gme],
1976 [use Game Music Emu (default auto)])])
1977 AS_IF([test "${enable_gme}" != "no"], [
1978 AC_CHECK_HEADER([gme/gme.h], [
1979 VLC_ADD_LIBS([gme], [-lgme])
1980 VLC_ADD_PLUGIN([gme])
1982 AS_IF([test "x${enable_gme}" != "x"], [
1983 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
1993 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
1994 AS_IF([test "${enable_sid}" != "no"], [
1995 PKG_CHECK_MODULES(SID, [libsidplay2], [
1997 oldCPPFLAGS="$CPPFLAGS"
1998 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
1999 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2000 VLC_ADD_PLUGIN([sid])
2001 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2002 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2004 AS_IF([test -n "${enable_sid}"],
2005 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2006 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2009 CPPFLAGS="$oldCPPFLAGS"
2012 AS_IF([test "x${enable_sid}" = "xyes"],
2013 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2014 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2021 dnl ogg demux plugin
2023 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2024 if test "${enable_sout}" != "no"; then
2025 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2026 dnl Check for libshout
2027 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2031 dnl matroska demux plugin
2034 [AS_HELP_STRING([--disable-mkv],
2035 [do not use libmatroska (default auto)])])
2036 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2038 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2039 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2041 [#include <ebml/EbmlVersion.h>
2042 #ifdef LIBEBML_VERSION
2043 #if LIBEBML_VERSION >= 0x010000
2047 [AC_MSG_RESULT([yes])
2048 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2049 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2051 [#include <matroska/KaxVersion.h>
2052 #ifdef LIBMATROSKA_VERSION
2053 #if LIBMATROSKA_VERSION >= 0x010000
2057 [AC_MSG_RESULT([yes])
2058 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2059 VLC_ADD_CXXFLAGS([mkv],[])
2060 AC_CHECK_LIB(ebml_pic, main, [
2061 VLC_ADD_PLUGIN([mkv])
2062 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2064 AC_CHECK_LIB(ebml, main, [
2065 VLC_ADD_PLUGIN([mkv])
2066 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2071 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.])
2075 [AC_MSG_RESULT([no])
2076 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.])
2083 dnl modplug demux plugin
2086 [AS_HELP_STRING([--disable-mod],
2087 [do not use libmodplug (default auto)])])
2088 if test "${enable_mod}" != "no" ; then
2089 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2090 VLC_ADD_PLUGIN([mod])
2091 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2092 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2094 AS_IF([test -n "${enable_mod}"],
2095 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2096 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2101 dnl mpc demux plugin
2104 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2105 if test "${enable_mpc}" != "no"
2107 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2108 VLC_ADD_PLUGIN([mpc])
2109 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2110 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2111 VLC_ADD_PLUGIN([mpc])
2112 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2119 EXTEND_HELP_STRING([Codec plugins:])
2124 AC_ARG_ENABLE(wma-fixed,
2125 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2126 if test "${enable_wma_fixed}" = "yes"
2128 VLC_ADD_PLUGIN([wma_fixed])
2132 dnl shine fixed point mp3 encoder
2134 AC_ARG_ENABLE(shine,
2135 [ --enable-shine shine mp3 encoding module (default disabled)])
2136 if test "${enable_shine}" = "yes"
2138 VLC_ADD_PLUGIN([shine])
2142 dnl openmax il codec plugin
2144 AC_ARG_ENABLE(omxil,
2145 [ --enable-omxil openmax il codec module (default disabled)])
2146 if test "${enable_omxil}" = "yes"
2148 VLC_ADD_PLUGIN([omxil])
2149 VLC_ADD_LIBS([omxil], [$LIBDL])
2153 dnl iomx codec plugin
2156 [ --enable-iomx iomx codec module (default disabled)])
2157 if test "${enable_iomx}" = "yes"
2159 VLC_ADD_PLUGIN([iomx])
2163 dnl CrystalHD codec plugin
2165 AC_ARG_ENABLE(crystalhd,
2166 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2167 if test "${enable_crystalhd}" != "no"; then
2168 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2169 VLC_ADD_PLUGIN([crystalhd])
2170 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2172 if test "${SYS}" = "mingw32" ; then
2173 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2174 VLC_ADD_PLUGIN([crystalhd])
2175 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2176 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2179 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2180 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2181 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2182 ],[#define __LINUX_USER__
2183 #include <libcrystalhd/bc_dts_types.h>
2187 #include <libcrystalhd/bc_dts_types.h>
2195 [ --enable-mad libmad module (default enabled)])
2196 if test "${enable_mad}" != "no"
2199 [ --with-mad=PATH path to libmad],[],[])
2200 if test "${with_mad}" != "no" -a -n "${with_mad}"
2202 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2203 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2206 AC_ARG_WITH(mad-tree,
2207 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2208 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2210 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2211 if test -z "${real_mad_tree}"
2213 dnl The given directory can't be found
2215 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2217 dnl Use a custom libmad
2218 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2219 if test -f ${real_mad_tree}/mad.h
2222 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2223 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2225 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2226 AC_CHECK_LIB(mad, mad_bit_init, [
2227 VLC_ADD_PLUGIN([mpgatofixed32])
2228 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2229 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2234 AC_MSG_ERROR([the specified tree does not have mad.h])
2238 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_mpgatofixed32}"
2239 LDFLAGS="${LDFLAGS} ${LIBS_mpgatofixed32}"
2240 AC_CHECK_HEADERS(mad.h, ,
2241 [ 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.]) ])
2242 AC_CHECK_LIB(mad, mad_bit_init, [
2243 VLC_ADD_PLUGIN([mpgatofixed32])
2244 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2245 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2251 AC_ARG_ENABLE(merge-ffmpeg,
2252 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2253 enable_merge_ffmpeg="no"
2255 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2258 LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2259 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2260 [ac_cv_ld_bsymbolic],
2261 [AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)])
2265 dnl avcodec decoder/encoder plugin
2267 AC_ARG_ENABLE(avcodec,
2268 [ --enable-avcodec libavcodec codec (default enabled)])
2269 AS_IF([test "${enable_avcodec}" != "no"], [
2270 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2273 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2274 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2275 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2276 AC_CHECK_HEADERS(libavutil/avutil.h)
2277 VLC_ADD_PLUGIN([avcodec])
2278 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2279 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2280 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2282 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2286 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2293 dnl libva needs avcodec
2295 AC_ARG_ENABLE(libva,
2296 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2298 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2299 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2301 AS_IF([test "${enable_libva}" != "no"], [
2302 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2304 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2305 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2306 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2307 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2308 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2309 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2310 AC_MSG_NOTICE([VAAPI acceleration activated])
2312 AS_IF([test -n "${enable_libva}"], [
2313 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2315 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2320 AS_IF([test -n "${enable_libva}"], [
2321 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2323 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2329 dnl dxva2 needs avcodec
2331 AC_ARG_ENABLE(dxva2,
2332 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2334 AS_IF([test "${enable_dxva2}" != "no"], [
2335 if test "${SYS}" = "mingw32"; then
2336 AS_IF([test "x${have_avcodec}" = "xyes"], [
2337 AC_CHECK_HEADERS(dxva2api.h,
2339 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2340 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2341 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2342 echo "DxVA2 acceleration activated"
2344 AS_IF([test "${enable_dxva2}" = "yes"],
2345 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2346 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2347 ], [#undef _WIN32_WINNT
2348 /* DXVA2 is only available in Vista and above */
2349 #define _WIN32_WINNT 0x600])
2351 AS_IF([test "${enable_dxva2}" = "yes"],
2352 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2353 [AC_MSG_WARN([dxva2api.h not found])])
2356 AS_IF([test "x${enable_dxva2}" != "x"], [
2357 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2365 dnl stream_out switcher needs libavcodec
2367 AC_ARG_ENABLE(switcher,
2368 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2369 AS_IF([test "${enable_switcher}" = "yes"], [
2370 AS_IF([test "x${have_avcodec}" = "xyes"], [
2371 VLC_ADD_PLUGIN([stream_out_switcher])
2372 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
2373 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2374 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2380 dnl avformat demuxer/muxer plugin
2383 AC_ARG_ENABLE(avformat,
2384 [ --enable-avformat libavformat containers (default enabled)],, [
2385 enable_avformat="${have_avcodec}"
2387 if test "${enable_avformat}" != "no"
2389 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2392 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2393 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2394 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2395 AC_CHECK_HEADERS(libavutil/avutil.h)
2396 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2397 VLC_ADD_PLUGIN([avformat access_avio])
2398 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2399 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2400 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2401 VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
2404 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2405 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2409 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2414 dnl swscale image scaling and conversion plugin
2417 AC_ARG_ENABLE(swscale,
2418 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2419 (default enabled)]))
2420 if test "${enable_swscale}" != "no"
2422 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2425 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2426 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2427 AC_CHECK_HEADERS(libswscale/swscale.h)
2428 VLC_ADD_PLUGIN([swscale])
2429 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2430 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2431 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2432 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2436 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2444 AC_ARG_ENABLE(postproc,
2445 [ --enable-postproc libpostproc image post-processing (default enabled)])
2446 if test "${enable_postproc}" != "no"
2448 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2451 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2452 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2453 AC_CHECK_HEADERS(postproc/postprocess.h)
2454 VLC_ADD_PLUGIN([postproc])
2455 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2456 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2459 AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.])
2464 dnl faad decoder plugin
2467 [ --enable-faad faad codec (default auto)])
2468 if test "${enable_faad}" != "no"; then
2469 AC_ARG_WITH(faad-tree, [ --with-faad-tree=PATH faad tree for static linking])
2470 if test -n "${with_faad_tree}"; then
2471 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2472 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2473 if test -z "${real_faad_tree}"; then
2474 dnl The given directory can't be found
2476 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2478 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"; then
2479 dnl Use the custom faad
2480 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2481 VLC_ADD_PLUGIN([faad])
2482 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2483 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2485 dnl The given libfaad wasn't built
2487 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2491 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_faad}"
2492 LDFLAGS="${LDFLAGS} ${LIBS_faad}"
2493 AC_CHECK_HEADERS(faad.h,
2494 [ AC_CHECK_LIB(faad, faacDecOpen, [
2495 VLC_ADD_PLUGIN([faad])
2496 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2497 AC_CHECK_LIB(faad, NeAACDecOpen, [
2498 VLC_ADD_PLUGIN([faad])
2499 VLC_ADD_LIBS([faad],[-lfaad]) ], [
2500 AS_IF([test "${enable_faad}" = "yes"],
2501 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],
2502 [ AC_MSG_WARN([Cannot find libfaad library...]) ]) ]) ])
2503 ] , [ AS_IF([test "${enable_faad}" = "yes"],
2504 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ],
2505 [ AC_MSG_WARN([Cannot find development headers for libfaad...]) ]) ])
2511 dnl twolame encoder plugin
2513 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2516 dnl QuickTime plugin
2518 AC_ARG_ENABLE(quicktime,
2519 [ --enable-quicktime QuickTime module (deprecated)])
2520 if test "${enable_quicktime}" = "yes"; then
2521 if test "${SYS}" = "mingw32"; then
2522 VLC_ADD_PLUGIN([quicktime])
2524 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2525 [ VLC_ADD_PLUGIN([quicktime])
2526 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2527 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2532 dnl A52/AC3 decoder plugin
2535 [ --enable-a52 A/52 support with liba52 (default enabled)])
2536 if test "${enable_a52}" != "no"
2539 [ --with-a52=PATH a52 headers and libraries])
2540 AC_ARG_WITH(a52-tree,
2541 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2542 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2544 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2545 if test -z "${real_a52_tree}"
2547 dnl The given directory can't be found
2549 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2551 dnl Use a custom a52dec
2552 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2553 if test -f ${real_a52_tree}/include/a52.h
2556 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2557 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2559 LDFLAGS="${LDFLAGS} ${LIBS_a52tofloat32}"
2560 AC_CHECK_LIB(a52, a52_free, [
2561 VLC_ADD_PLUGIN([a52tofloat32])
2562 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2563 VLC_ADD_LIBS([a52tofloat32],[-la52])
2565 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2567 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2569 AC_MSG_ERROR([the specified tree has not been compiled])
2574 AC_MSG_ERROR([the specified tree does not have a52.h])
2577 if test -z "${with_a52}"
2582 LDFLAGS_test="-L${with_a52}/lib"
2583 CPPFLAGS_test="-I${with_a52}/include"
2586 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2587 LDFLAGS="${LDFLAGS} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2588 AC_CHECK_HEADERS(a52dec/a52.h, [
2589 AC_CHECK_LIB(a52, a52_free, [
2590 VLC_ADD_PLUGIN([a52tofloat32])
2591 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2592 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2594 AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
2597 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.])
2603 AC_ARG_WITH(a52-fixed,
2604 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2606 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2609 dnl DTS Coherent Acoustics decoder plugin
2611 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2616 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2621 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2626 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2631 AC_ARG_ENABLE(tremor,
2632 [ --enable-tremor Tremor decoder support (default disabled)])
2633 if test "${enable_tremor}" = "yes"
2635 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2636 VLC_ADD_PLUGIN([tremor])
2637 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2644 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2646 AS_IF([test "${enable_speex}" != "no"], [
2647 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2650 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2653 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2656 dnl theora decoder plugin
2658 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto])
2661 dnl dirac encoder plugin
2663 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2666 dnl schroedinger decoder plugin (for dirac format video)
2668 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2671 dnl PNG decoder module
2674 [ --enable-png PNG support (default enabled)])
2675 if test "${enable_png}" != "no"; then
2676 AC_CHECK_HEADERS(png.h, [
2678 LDFLAGS="${LDFLAGS} -lz $LIBM"
2679 AC_CHECK_LIB(png, png_set_rows, [
2680 VLC_ADD_LIBS([png],[-lpng -lz $LIBM])
2681 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2686 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2689 dnl H264 encoder plugin (10-bit lib264)
2691 AC_ARG_ENABLE(x26410b,
2692 [ --enable-x26410b H264 10-bit encoding support with static libx264 (default disabled)])
2693 if test "${enable_x26410b}" != "no"; then
2694 AC_ARG_WITH(x26410b-tree,
2695 [ --with-x26410b-tree=PATH H264 10-bit encoding module with libx264 (static linking)],[],[])
2696 if test "${with_x26410b_tree}" != "no" -a -n "${with_x26410b_tree}"
2698 real_x26410b_tree="̧`cd ${with_x26410b_tree} 2>/dev/null && pwd`"
2699 if test -z "${real_x26410b_tree}"
2702 AC_MSG_ERROR([${with_x26410b_tree} directory does not exist])
2704 AC_MSG_CHECKING(for x264.h in ${real_x26410b_tree})
2705 if test -f ${with_x26410b_tree}/x264_config.h
2708 AC_MSG_CHECKING(for 10-bit build of x264)
2709 if grep -q "BIT_DEPTH.*10" ${with_x26410b_tree}/x264_config.h ;then
2711 VLC_ADD_PLUGIN([x26410b])
2712 VLC_ADD_CFLAGS([x26410b],[-I${with_x26410b_tree}])
2713 VLC_ADD_LIBS([x26410b],[-L${with_x26410b_tree} -lm -lpthread -lx264])
2716 AC_MSG_ERROR([${with_x26410b_tree} isnt build 10-bit])
2720 AC_MSG_ERROR([${with_x26410b_tree} doesnt have x264_config.h])
2723 PKG_CHECK_MODULES(X26410B, x26410b, [
2724 VLC_ADD_PLUGIN([x26410b])
2725 VLC_ADD_LDFLAGS([x26410b],[${X26410B_LIBS}])
2726 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2727 VLC_ADD_LIBS([x26410b],[-Wl,-Bsymbolic])
2729 VLC_ADD_CFLAGS([x26410b],[${X26410B_CFLAGS}])
2730 if echo ${X26410B_LIBS} |grep -q 'pthreadGC2'; then
2731 VLC_ADD_CFLAGS([x26410b], [-DPTW32_STATIC_LIB])
2734 if test "${enable_x26410b}" = "yes"; then
2735 AC_MSG_ERROR([x26410b module doesn't work without staticly compiled libx264.a])
2743 dnl H264 encoder plugin (using libx264)
2746 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2747 if test "${enable_x264}" != "no"; then
2748 AC_ARG_WITH(x264-tree,
2749 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2750 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2752 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2753 if test -z "${real_x264_tree}"
2755 dnl The given directory can't be found
2757 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2759 dnl Use a custom libx264
2760 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2761 if test -f ${real_x264_tree}/x264.h
2764 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2765 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2766 PKG_CHECK_MODULES(X264,x264, [
2767 VLC_ADD_PLUGIN([x264])
2768 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2769 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2770 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2771 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2774 AC_MSG_ERROR([the specified tree has not been compiled])
2778 AC_MSG_ERROR([the specified tree does not have x264.h])
2781 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2782 VLC_ADD_PLUGIN([x264])
2783 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2785 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2786 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2789 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2790 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2791 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2794 if test "${enable_x264}" = "yes"; then
2795 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2802 dnl libfluidsynth (MIDI synthetizer) plugin
2804 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.2], [MIDI synthetiser with libfluidsynth], [auto])
2807 dnl Teletext Modules
2808 dnl vbi decoder plugin (using libzbvi)
2813 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2814 libzvbi (default enabled)]))
2816 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2817 zvbi) (default enabled if zvbi is absent)]))
2819 AS_IF( [test "${enable_zvbi}" != "no"],[
2820 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2822 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2823 if test "${SYS}" = "mingw32"; then
2824 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2826 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2827 VLC_ADD_PLUGIN([zvbi])
2828 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2829 AS_IF( [test "${enable_telx}" = "yes"],[
2830 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2833 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2836 AS_IF( [test "${enable_telx}" != "no" ],[
2837 VLC_ADD_PLUGIN([telx])
2841 dnl libass subtitle rendering module
2843 AC_ARG_ENABLE(libass,
2844 [ --enable-libass Subtitle support using libass (default enabled)])
2845 AS_IF( [test "${enable_libass}" != "no"], [
2846 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2848 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2849 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2850 VLC_ADD_PLUGIN([libass])
2852 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2853 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2854 VLC_ADD_LIBS([libass],[-lfontconfig])
2857 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2862 dnl kate decoder plugin
2864 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2867 dnl tiger rendering for kate decoder plugin
2869 AC_ARG_ENABLE(tiger,
2870 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
2871 AS_IF([test "${enable_tiger}" != "no"], [
2872 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
2873 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
2874 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
2875 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
2876 AS_IF([test -n "${enable_tiger}"], [
2877 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
2887 EXTEND_HELP_STRING([Video plugins:])
2892 PKG_CHECK_MODULES([GL], [gl], [
2895 AC_CHECK_HEADER([GL/gl.h], [
2904 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
2905 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
2906 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
2907 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
2910 [ --enable-egl OpenGL support through EGL (default disabled)],, [
2913 AS_IF([test "$enable_egl" != "no"], [
2914 PKG_CHECK_MODULES([EGL], [egl], [
2915 VLC_ADD_PLUGIN([gl])
2916 VLC_ADD_PLUGIN([egl])
2925 AC_CHECK_HEADERS(X11/Xlib.h)
2928 dnl X C Bindings modules
2931 [ --enable-xcb X11 support with XCB (default enabled)],, [
2932 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
2938 AC_ARG_ENABLE(xvideo,
2939 [ --enable-xvideo XVideo support (default enabled)],, [
2940 enable_xvideo="$enable_xcb"
2943 [ --enable-glx OpenGL support through GLX (default enabled)],, [
2944 enable_glx="$enable_xcb"
2948 AS_IF([test "${enable_xcb}" != "no"], [
2950 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
2952 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
2953 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
2955 AS_IF([test "${enable_xvideo}" != "no"], [
2956 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
2957 VLC_ADD_PLUGIN([xcb_xv])
2961 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
2962 VLC_ADD_PLUGIN([panoramix])
2963 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
2964 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
2966 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
2970 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
2971 PKG_CHECK_MODULES(XPROTO, [xproto])
2972 VLC_ADD_PLUGIN([globalhotkeys])
2973 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
2974 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
2975 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
2977 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
2980 AS_IF([test "${enable_glx}" != "no"], [
2981 AS_IF([test "${have_gl}" != "yes"], [
2982 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
2984 VLC_ADD_PLUGIN([xcb_glx])
2987 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
2993 [ --enable-sdl SDL support (default enabled)])
2994 AC_ARG_ENABLE(sdl-image,
2995 [ --enable-sdl-image SDL image support (default enabled)])
2996 if test "${enable_sdl}" != "no"
2998 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
2999 # SDL on Darwin is heavily patched and can only run SDL_image
3000 if test "${SYS}" != "darwin"; then
3001 VLC_ADD_PLUGIN([vout_sdl])
3003 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3004 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3006 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3007 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3010 AS_IF([ test "${enable_sdl_image}" != "no"],[
3011 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3012 VLC_ADD_PLUGIN([sdl_image])
3013 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3014 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3015 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3019 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3026 AC_ARG_ENABLE(macosx-vout,
3027 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3028 if test "x${enable_macosx_vout}" != "xno" &&
3029 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3031 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3032 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3033 VLC_ADD_PLUGIN([vout_macosx])
3040 AC_ARG_ENABLE(freetype,
3041 [ --enable-freetype freetype support (default auto)])
3042 AC_ARG_ENABLE(fribidi,
3043 [ --enable-fribidi fribidi support (default auto)])
3044 AC_ARG_ENABLE(fontconfig,
3045 [ --enable-fontconfig fontconfig support (default auto)])
3047 if test "${enable_freetype}" != "no"; then
3048 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3050 VLC_ADD_PLUGIN([freetype])
3051 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3052 if test "${SYS}" = "mingw32"; then
3053 VLC_ADD_LIBS([freetype],[-liconv -lz])
3055 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3057 AC_CHECK_HEADERS(Carbon/Carbon.h,
3058 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3060 dnl fontconfig support
3061 if test "${SYS}" != "mingw32"; then
3062 if test "${enable_fontconfig}" != "no"; then
3063 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3064 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3065 VLC_ADD_LIBS([freetype],[-lfontconfig])
3066 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3069 VLC_ADD_LIBS([freetype],[-lgdi32])
3073 if test "${enable_fribidi}" != "no"; then
3074 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3075 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3076 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3077 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3082 AS_IF([test -n "${enable_freetype}"],[
3083 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3090 dnl QuartzText vout module (iOS/Mac OS)
3092 AC_ARG_ENABLE(macosx-quartztext,
3093 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3094 if test "x${enable_macosx_quartztext}" != "xno" &&
3095 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3097 VLC_ADD_PLUGIN([quartztext])
3098 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3104 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3107 dnl android surface module
3109 AC_ARG_ENABLE(android-surface,
3110 [ --enable-android-surface Android Surface video output module (default disabled)])
3111 if test "${enable_android_surface}" = "yes"; then
3112 if test "${HAVE_ANDROID}" = "1"; then
3113 VLC_ADD_PLUGIN([android_surface])
3114 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3122 AC_ARG_ENABLE(ios-vout,
3123 [ --enable-ios-vout iOS video output module (default disabled)])
3124 if test "${enable_ios_vout}" = "yes"
3126 VLC_ADD_PLUGIN([vout_ios])
3127 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3128 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3132 dnl Windows DirectX module
3135 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3137 VLC_ADD_PLUGIN([panoramix])
3140 AC_ARG_ENABLE(directx,
3141 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3142 if test "${enable_directx}" != "no"; then
3143 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
3145 AC_CHECK_HEADERS(ddraw.h,
3146 [ VLC_ADD_PLUGIN([directx aout_directx])
3147 VLC_ADD_LIBS([directx],[-luser32 -lgdi32])
3148 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3152 AC_CHECK_HEADERS(GL/wglew.h,
3153 [ VLC_ADD_PLUGIN([glwin32])
3154 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3156 #include <windows.h>
3161 AC_CHECK_HEADERS(d3d9.h,
3162 [ VLC_ADD_PLUGIN([direct3d])
3163 VLC_ADD_LIBS([direct3d],[-lgdi32])
3165 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32 -luuid])
3170 dnl Windows Direct2D plugin
3172 AC_ARG_ENABLE(direct2d,
3173 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [
3174 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3175 enable_direct2d="no"
3178 AS_IF([test "${enable_direct2d}" != "no"], [
3179 AC_CHECK_HEADERS(d2d1.h, [
3180 VLC_ADD_PLUGIN([direct2d])
3181 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid])
3183 AC_MSG_WARN([Cannot find Direct2D headers!])
3188 dnl win32 GDI plugin
3190 AC_ARG_ENABLE(wingdi,
3191 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3192 if test "${enable_wingdi}" != "no"; then
3193 if test "${SYS}" = "mingw32"; then
3194 VLC_ADD_PLUGIN([wingdi])
3195 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid])
3197 if test "${SYS}" = "mingwce"; then
3198 VLC_ADD_PLUGIN([wingdi wingapi])
3199 VLC_ADD_LIBS([wingdi],[-laygshell])
3200 VLC_ADD_LIBS([wingapi],[-laygshell])
3206 dnl Linux framebuffer module
3208 AC_CHECK_HEADER([linux/fb.h], [
3209 VLC_ADD_PLUGIN([fb])
3215 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3216 dnl TODO: support for static linking
3218 AC_ARG_ENABLE(directfb,
3219 [ --enable-directfb DirectFB support (default disabled)])
3220 AC_ARG_WITH(directfb,
3221 [ --with-directfb=PATH path to DirectFB headers and libraries])
3223 if test "${enable_directfb}" = "yes"; then
3224 have_directfb="false"
3225 CPPFLAGS_mydirectfb=
3227 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3228 dnl Trying the given location
3231 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3232 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"
3234 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3235 LIBS="${LIBS} ${LIBS_new}"
3237 dnl FIXME: too obscure
3238 AC_CHECK_HEADER([directfb.h], [
3239 AC_CHECK_LIB([direct],[direct_initialize], [
3240 AC_CHECK_LIB([fusion], [fusion_enter], [
3241 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3242 ], have_directfb="false")
3243 ], have_directfb="false")
3244 ], have_directfb="false")
3248 if test "${have_directfb}" = "true"; then
3249 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3250 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3253 dnl Look for directfb-config
3254 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3255 if test "${DIRECTFB_CONFIG}" != "no"; then
3256 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3257 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3258 have_directfb="true"
3260 dnl Trying with pkg-config
3261 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3262 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3263 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3264 have_directfb="true"
3265 ], [have_directfb="false"])
3268 if test "${have_directfb}" = "true"; then
3269 VLC_ADD_PLUGIN([directfb])
3270 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3271 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3273 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3281 [ --enable-aa aalib output (default disabled)])
3282 if test "${enable_aa}" = "yes"
3284 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3285 if test "${have_aa}" = "true"
3287 VLC_ADD_PLUGIN([aa])
3288 VLC_ADD_LIBS([aa],[-laa])
3289 if test "${SYS}" != "mingw32"; then
3290 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3298 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3304 [AS_HELP_STRING([--enable-kva],
3305 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3306 AS_IF([test "$SYS" = "os2"], [
3312 AS_IF([test "$enable_kva" != "no"], [
3313 AC_CHECK_HEADERS([kva.h], [
3315 AC_CHECK_LIB(kva, main, [
3321 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3327 EXTEND_HELP_STRING([Audio plugins:])
3330 dnl Pulseaudio module
3332 AC_ARG_ENABLE(pulse,
3333 [AS_HELP_STRING([--enable-pulse],
3334 [use the PulseAudio client library (default auto)])])
3336 AS_IF([test "${enable_pulse}" != "no"], [
3337 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3340 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3341 AS_IF([test "${no_x}" != "yes"], [
3343 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3345 AS_IF([test "${enable_pulse}" = "yes"], [
3346 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3347 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3351 AS_IF([test "x${enable_pulse}" != "x"], [
3352 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3357 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3363 [AS_HELP_STRING([--enable-alsa],
3364 [support the Advanced Linux Sound Architecture (default auto)])],, [
3365 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3370 AS_IF([test "${enable_alsa}" != "no"], [
3371 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3374 AS_IF([test "x${enable_alsa}" != "x"], [
3375 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3379 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3382 dnl Open Sound System module
3385 [AS_HELP_STRING([--enable-oss],
3386 [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
3387 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
3393 AS_IF([test "$enable_oss" != "no"], [
3394 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3396 AC_CHECK_LIB(ossaudio, main, [
3397 OSS_LIBS="-lossaudio"
3402 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3405 dnl OpenBSD sndio module
3407 AC_ARG_ENABLE([sndio],
3408 [AS_HELP_STRING([--disable-sndio],
3409 [support the OpenBSD sndio (default auto)])],, [
3410 AS_IF([test "$SYS" = "opensd"], [
3415 AS_IF([test "$enable_sndio" != "no"], [
3416 AC_CHECK_HEADER([sndio.h], [
3420 AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
3423 dnl Windows Audio Session plugin
3425 AC_ARG_ENABLE([wasapi],
3426 [AS_HELP_STRING([--enable-wasapi],
3427 [use the Windows Audio Session API (default auto)])
3430 AS_IF([test "$enable_wasapi" != "no"], [
3431 AC_CHECK_HEADER([audioclient.h], [
3434 AS_IF([test "x${enable_wasapi}" != "x"], [
3435 AC_MSG_ERROR([Windows Audio Session API not found.])
3439 AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
3442 dnl win32 waveOut plugin
3444 AC_ARG_ENABLE(waveout,
3445 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3446 if test "${enable_waveout}" != "no"; then
3447 if test "${SYS}" = "mingw32"; then
3448 VLC_ADD_PLUGIN([waveout])
3449 VLC_ADD_LIBS([waveout],[-lwinmm])
3451 if test "${SYS}" = "mingwce"; then
3452 VLC_ADD_PLUGIN([waveout])
3457 dnl CoreAudio plugin
3459 AC_ARG_ENABLE(macosx-audio,
3460 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3461 if test "x${enable_macosx_audio}" != "xno" &&
3462 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3464 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3465 [ VLC_ADD_PLUGIN([auhal])
3466 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3467 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3471 dnl AudioQueue plugin
3473 AC_ARG_ENABLE(audioqueue,
3474 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3475 if test "${enable_audioqueue}" = "yes"
3477 VLC_ADD_PLUGIN([audioqueue])
3478 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3484 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3487 dnl OpenSLES Android
3489 AC_ARG_ENABLE(opensles,
3490 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3491 if test "${HAVE_ANDROID}" = "1"; then
3492 if test "${enable_opensles}" = "yes"; then
3493 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3494 [ VLC_ADD_PLUGIN([opensles_android]) ],
3495 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3500 dnl libsamplerate plugin
3502 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3508 [AS_HELP_STRING([--enable-kai],
3509 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3510 AS_IF([test "$SYS" = "os2"], [
3516 AS_IF([test "$enable_kai" != "no"], [
3517 AC_CHECK_HEADERS([kai.h], [
3519 AC_CHECK_LIB(kai, main, [
3525 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3528 dnl Interface plugins
3531 EXTEND_HELP_STRING([Interface plugins:])
3536 AC_ARG_ENABLE(hildon,
3537 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3538 AS_IF([test "${enable_hildon}" = "yes"], [
3539 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3540 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3541 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3542 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3544 AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.])
3546 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3547 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3548 VLC_ADD_PLUGIN([hildon])
3549 ALIASES="${ALIASES} mvlc"
3551 AS_IF([test "${enable_hildon}" = "yes"],[
3552 AC_MSG_ERROR([${HILDON_PKG_ERRORS}.])
3557 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3563 AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [
3564 AS_IF([test "${SYS}" = "darwin"], [
3568 AS_IF([test "${enable_qt}" != "no"], [
3569 PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [
3570 PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
3571 AS_IF([test -n "${enable_qt}"],[
3572 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
3574 AC_MSG_WARN([${QT_PKG_ERRORS}.])
3580 AS_IF([test "${enable_qt}" != "no"], [
3581 VLC_ADD_PLUGIN([qt4])
3582 VLC_ADD_LIBS([qt4],[${QT_LIBS}])
3583 VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}])
3584 ALIASES="${ALIASES} qvlc"
3589 AC_MSG_CHECKING([whether Qt uses Xlib])
3590 CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
3591 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3593 #if !defined (Q_WS_X11)
3597 AC_MSG_RESULT([yes])
3598 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3599 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3607 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3608 VLC_ADD_LIBS([qt4],[-lole32])
3610 AS_IF([test "${SYS}" = "darwin" ],[
3611 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3614 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)"
3615 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin])
3616 AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin])
3617 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin])
3619 AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"])
3622 dnl Simple test for skins2 dependency
3624 AS_IF([test "$enable_qt" = "no"], [
3625 AS_IF([test "${enable_skins2}" = "yes"], [
3626 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.])
3629 AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
3636 AC_ARG_ENABLE(skins2,
3637 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3638 AS_IF([test "${enable_skins2}" != "no"], [
3639 have_skins_deps="yes"
3642 AS_IF([test "${SYS}" = "mingw32"], [
3643 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -DWIN32_SKINS])
3644 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3646 ], [test "${SYS}" = "darwin"], [
3647 VLC_ADD_CPPFLAGS([skins2],[ -DMACOSX_SKINS])
3648 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3651 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3652 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3653 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3654 VLC_ADD_CPPFLAGS([skins2],[${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3655 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3659 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3661 dnl we need freetype
3662 AS_IF([test "${have_freetype}" != "yes"], [
3663 have_skins_deps="no"
3666 AS_IF([test "${have_skins_deps}" = "no"], [
3667 AS_IF([test "x${enable_skins2}" = "x"], [
3668 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3670 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3674 VLC_ADD_PLUGIN([skins2])
3675 ALIASES="${ALIASES} svlc"
3679 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3681 AC_ARG_ENABLE(libtar,
3682 [ --enable-libtar libtar support for skins2 (default auto)])
3683 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3684 AC_CHECK_HEADERS(libtar.h, [
3685 VLC_ADD_LIBS([skins2],[-ltar])
3690 dnl MacOS X gui module
3692 AC_ARG_ENABLE(macosx,
3693 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3694 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3696 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL])
3697 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3698 VLC_ADD_PLUGIN([macosx minimal_macosx])
3700 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
3702 if test ! -d ${CONTRIB_DIR}/Sparkle.framework
3704 AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
3706 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3707 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3709 if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3711 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3713 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3714 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3719 dnl MacOS X dialor provider
3721 AC_ARG_ENABLE(macosx-dialog-provider,
3722 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3723 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3724 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3726 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3727 VLC_ADD_PLUGIN([macosx_dialog_provider])
3733 AC_ARG_ENABLE(ncurses,
3734 [AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
3735 if test "${enable_ncurses}" != "no"; then
3738 AC_CHECK_HEADER(ncurses.h, [
3739 AC_CHECK_LIB(ncursesw, mvprintw, [
3740 AC_SEARCH_LIBS([tgetent], [ncursesw tinfow tinfo], [
3741 VLC_ADD_PLUGIN([ncurses])
3742 ALIASES="${ALIASES} nvlc"
3743 VLC_ADD_LIBS([ncurses],[-lncursesw ${LIBS}])
3745 AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([tgetent not found])])
3748 AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([libncursesw not found])])
3751 AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([ncurses.h not found])])
3760 [ --enable-lirc lirc support (default disabled)])
3761 if test "${enable_lirc}" = "yes"
3763 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3764 if test "${have_lirc}" = "true"
3766 VLC_ADD_PLUGIN([lirc])
3767 VLC_ADD_LIBS([lirc],[-llirc_client])
3771 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3773 dnl Visualisation plugin
3775 AC_ARG_ENABLE(visual,
3776 [ --enable-visual visualisation plugin (default enabled)])
3777 if test "${enable_visual}" != "no"
3779 VLC_ADD_PLUGIN([visual])
3783 dnl goom visualization plugin
3785 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3788 dnl libprojectM visualization plugin
3790 AC_ARG_ENABLE(projectm,
3791 [ --enable-projectm projectM visualization plugin (default enabled)])
3792 AS_IF([test "${enable_projectm}" != "no"],
3794 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3796 VLC_ADD_PLUGIN([projectm])
3797 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3798 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3799 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3800 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3801 [ AC_MSG_WARN( [Using libprojectM version 1] )
3804 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3809 dnl Vovoid VSXu visualization plugin
3812 [ --enable-vsxu Vovoid VSXu visualization plugin (default auto)])
3813 AS_IF([test "${enable_vsxu}" != "no"],
3815 PKG_CHECK_MODULES(VSXU, libvsxu,
3817 VLC_ADD_PLUGIN([vsxu])
3818 VLC_ADD_CXXFLAGS([vsxu],[$VSXU_CFLAGS])
3819 VLC_ADD_LIBS([vsxu],[$VSXU_LIBS])
3821 AC_MSG_WARN([${VSXU_PKG_ERRORS}.])
3826 dnl AtmoLight (homemade Philips Ambilight clone)
3829 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3830 (default enabled)]),, [enable_atmo="yes"])
3831 AS_IF([test "${enable_atmo}" != no], [
3832 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3834 VLC_ADD_PLUGIN([atmo])
3839 EXTEND_HELP_STRING([Service Discovery plugins:])
3841 dnl Bonjour services discovery
3842 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3845 dnl libudev services discovery
3846 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3849 dnl MTP devices services discovery
3850 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3853 dnl UPnP Plugin (Intel SDK)
3855 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3856 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3858 EXTEND_HELP_STRING([Misc options:])
3863 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3869 AC_ARG_ENABLE(libgcrypt,
3870 [ --disable-libgcrypt gcrypt support (default enabled)])
3871 AS_IF([test "${enable_libgcrypt}" != "no"], [
3872 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3873 libgcrypt-config --version >/dev/null || \
3874 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3875 AC_CHECK_LIB(gcrypt, gcry_control, [
3876 have_libgcrypt="yes"
3877 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3878 GCRYPT_LIBS="`libgcrypt-config --libs`"
3880 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3881 ], [`libgcrypt-config --libs`])
3883 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3884 ], [#include <gcrypt.h>]
3888 AC_SUBST(GCRYPT_CFLAGS)
3889 AC_SUBST(GCRYPT_LIBS)
3890 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
3895 AC_ARG_ENABLE(gnutls,
3896 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
3898 AS_IF([test "${have_libgcrypt}" != "yes"], [
3899 AS_IF([test "${enable_gnutls}" = "yes"], [
3900 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
3904 AS_IF([test "${enable_gnutls}" != "no"], [
3905 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
3906 VLC_ADD_PLUGIN([gnutls])
3908 AS_IF([test -n "${enable_gnutls}"], [
3909 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
3916 dnl Nokia MCE plugin (Maemo screen unblanking)
3918 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
3921 AS_IF([test -f "/etc/maemo_version"], [
3922 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
3929 AC_ARG_ENABLE(taglib,
3930 [AS_HELP_STRING([--disable-taglib],
3931 [do not use TagLib (default enabled)])])
3932 AS_IF([test "${enable_taglib}" != "no"], [
3933 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
3934 VLC_ADD_PLUGIN([taglib])
3935 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
3936 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
3938 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
3943 dnl update checking system
3945 AC_ARG_ENABLE(update-check,
3946 [ --enable-update-check update checking system (default disabled)])
3947 if test "${enable_update_check}" = "yes"
3949 if test "${have_libgcrypt}" != "yes"
3951 AC_MSG_ERROR([libgcrypt is required for update checking system])
3953 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
3954 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
3955 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
3959 dnl Growl notification plugin
3961 AC_ARG_ENABLE(growl,
3962 [ --enable-growl growl notification plugin (default disabled)],,
3964 AS_IF([test "${enable_growl}" != "no"], [
3965 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
3966 VLC_ADD_PLUGIN([growl])
3967 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
3968 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
3969 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
3975 dnl Libnotify notification plugin
3977 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
3982 AC_ARG_ENABLE(media-library,
3983 [ --enable-media-library media library (default disabled)])
3984 AS_IF([test "${enable_media_library}" = "yes"], [
3985 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
3986 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
3987 VLC_ADD_PLUGIN([media_library])
3992 AS_IF([test "${SYS}" != "darwin"], [
3993 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
3995 AS_IF([test "${enable_sqlite}" != "no"], [
3996 AC_CHECK_HEADERS(sqlite3.h, [
3997 VLC_ADD_PLUGIN([sqlite])
3998 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4000 AC_MSG_ERROR([sqlite3 is required for the media library])
4008 dnl Endianness check
4011 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4012 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4016 AC_SUBST(DEFS_BIGENDIAN)
4019 dnl Where to install KDE solid .desktop
4021 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4022 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4023 KDE4_CONFIG="kde4-config"
4026 AC_ARG_WITH(kde-solid,
4027 AS_HELP_STRING([--with-kde-solid=PATH],
4028 [KDE Solid actions directory (auto)]),, [
4030 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" ; then
4031 with_kde_solid="yes"
4035 AS_IF([test "${with_kde_solid}" != "no"], [
4036 AS_IF([test "${with_kde_solid}" = "yes"], [
4037 kde4datadir="`${KDE4_CONFIG} --install data`"
4038 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4039 soliddatadir="${kde4datadir}/solid/actions"
4041 soliddatadir="${with_kde_solid}"
4044 AC_SUBST(soliddatadir)
4045 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4048 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4051 AC_ARG_ENABLE(loader,
4052 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4053 (default disabled)]))
4054 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4055 AS_IF([test "${enable_loader}" = "yes"],
4056 [ VLC_ADD_PLUGIN([dmo])
4057 VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\${top_srcdir}/modules/codec/loader])
4058 VLC_ADD_LIBS([dmo quicktime ],[\\\${top_builddir}/modules/codec/loader/libloader.la])
4059 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4062 EXTEND_HELP_STRING([Components:])
4068 [ --enable-vlc build the VLC media player (default enabled)])
4069 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4071 AC_ARG_ENABLE(macosx-vlc-app,
4072 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4073 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4074 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4077 dnl Stuff used by the program
4079 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4080 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4081 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4082 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4083 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4084 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4085 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4086 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4087 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4088 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4089 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4090 AC_SUBST(COPYRIGHT_MESSAGE)
4091 AC_SUBST(VERSION_MESSAGE)
4092 AC_SUBST(VERSION_MAJOR)
4093 AC_SUBST(VERSION_MINOR)
4094 AC_SUBST(VERSION_REVISION)
4095 AC_SUBST(VERSION_EXTRA)
4096 AC_SUBST(COPYRIGHT_YEARS)
4097 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
4098 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4099 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
4101 dnl Handle substvars that use $(top_srcdir)
4103 CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS}"
4106 dnl Configuration is finished
4116 AC_SUBST(WINE_SDK_PATH)
4118 AC_SUBST(AM_CPPFLAGS)
4119 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4120 AC_SUBST(FILE_LIBVLCCORE_DLL)
4121 AC_SUBST(FILE_LIBVLC_DLL)
4136 modules/access/Makefile
4137 modules/access/bd/Makefile
4138 modules/access/dshow/Makefile
4139 modules/access/mms/Makefile
4140 modules/access/rtp/Makefile
4141 modules/access/rtsp/Makefile
4142 modules/access/vcd/Makefile
4143 modules/access/vcdx/Makefile
4144 modules/access/screen/Makefile
4145 modules/access/zip/Makefile
4146 modules/access/zip/unzip/Makefile
4147 modules/access_output/Makefile
4148 modules/audio_filter/Makefile
4149 modules/audio_mixer/Makefile
4150 modules/audio_output/Makefile
4151 modules/codec/Makefile
4152 modules/codec/avcodec/Makefile
4153 modules/codec/dmo/Makefile
4154 modules/codec/loader/Makefile
4155 modules/codec/omxil/Makefile
4156 modules/codec/shine/Makefile
4157 modules/codec/spudec/Makefile
4158 modules/codec/wmafixed/Makefile
4159 modules/control/Makefile
4160 modules/control/dbus/Makefile
4161 modules/control/globalhotkeys/Makefile
4162 modules/demux/Makefile
4163 modules/demux/asf/Makefile
4164 modules/demux/avformat/Makefile
4165 modules/demux/avi/Makefile
4166 modules/demux/mkv/Makefile
4167 modules/demux/mp4/Makefile
4168 modules/demux/mpeg/Makefile
4169 modules/demux/playlist/Makefile
4170 modules/gui/Makefile
4171 modules/gui/macosx/Makefile
4172 modules/gui/hildon/Makefile
4173 modules/gui/minimal_macosx/Makefile
4174 modules/gui/macosx_dialog_provider/Makefile
4175 modules/gui/qt4/Makefile
4176 modules/gui/skins2/Makefile
4177 modules/lua/Makefile
4178 modules/meta_engine/Makefile
4179 modules/misc/Makefile
4180 modules/misc/playlist/Makefile
4181 modules/misc/osd/Makefile
4182 modules/misc/stats/Makefile
4183 modules/media_library/Makefile
4184 modules/mux/Makefile
4185 modules/mux/mpeg/Makefile
4186 modules/notify/Makefile
4187 modules/packetizer/Makefile
4188 modules/services_discovery/Makefile
4189 modules/stream_filter/Makefile
4190 modules/stream_filter/dash/Makefile
4191 modules/stream_out/Makefile
4192 modules/stream_out/transcode/Makefile
4193 modules/text_renderer/Makefile
4194 modules/video_chroma/Makefile
4195 modules/video_filter/Makefile
4196 modules/video_filter/dynamicoverlay/Makefile
4197 modules/video_output/Makefile
4198 modules/video_output/msw/Makefile
4199 modules/visualization/Makefile
4200 modules/visualization/visual/Makefile
4201 modules/mmx/Makefile
4202 modules/sse2/Makefile
4203 modules/altivec/Makefile
4204 modules/arm_neon/Makefile
4207 AM_COND_IF([HAVE_WIN32], [
4209 extras/package/win32/spad.nsi
4210 extras/package/win32/vlc.win32.nsi
4214 AM_COND_IF([HAVE_DARWIN], [
4216 extras/package/macosx/Info.plist
4217 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4221 dnl Generate makefiles
4224 dnl Do we have to use make or gmake ?
4225 if make --version 2>&1|grep -q GNU
4227 # GNU make, all seems good
4230 # Known GNU make alias (on BSD)
4233 dnl Shortcut to nice compile message
4234 if test -n $SHELL; then
4235 SHELL=${CONFIG_SHELL-/bin/sh}
4241 export PATH=\"$PATH\" LANG=C
4242 ($MAKE V=1 \$@ 2>&1 || touch .error\$\$)| `sed -ne \"s/^top_srcdir *= *//p\" < Makefile`/extras/buildsystem/make.pl
4243 test -f .error\$\$ && ERROR=1
4245 exit \$ERROR" >compile
4249 libvlc configuration
4250 --------------------
4251 version : ${VERSION}
4253 architecture : ${ARCH}
4254 optimizations : ${enable_optimizations}"
4255 if test "${enable_vlc}" != "no"; then
4256 echo "vlc aliases :${ALIASES}"
4258 echo "build vlc executable : no"
4261 To build vlc and its plugins, type \`$MAKE', or \`./compile' if you like nice colors."