1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
5 AC_INIT(vlc, 1.2.0-pre1)
15 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
17 COPYRIGHT_YEARS="1996-2011"
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.])
67 _AM_DEPENDENCIES([OBJC])
73 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
74 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
76 dnl Check for compiler properties
86 dnl Extend the --help string at the current spot.
87 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
89 dnl Allow binary package maintainer to pass a custom string to avoid
91 AC_ARG_WITH(binary-version,
92 AS_HELP_STRING([--with-binary-version=STRING],
93 [To avoid plugins cache problem between binary version]),[],[])
94 AS_IF([test -n "${with_binary_version}"],[
95 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
96 [Binary specific version])
100 dnl Check for the contrib directory
103 [AS_HELP_STRING([--with-contrib[=DIR]],
104 [search for 3rd party libraries in DIR/include and DIR/lib])
106 AC_MSG_CHECKING([for 3rd party libraries path])
107 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
108 CONTRIB_DIR="${srcdir}/contrib/${host}"
109 AS_IF([test ! -d "${CONTRIB_DIR}"], [
110 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
111 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
112 AS_IF([test ! -d "${CONTRIB_DIR}"], [
113 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
114 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
115 AS_IF([test ! -d "${CONTRIB_DIR}"], [
116 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
117 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
118 AS_IF([test ! -d "${CONTRIB_DIR}"], [
119 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
121 AC_MSG_RESULT([not found])
127 AS_IF([test "${with_contrib}" != "no"], [
128 CONTRIB_DIR="${with_contrib}"
131 AC_MSG_RESULT([disabled])
134 AS_IF([test -n "${CONTRIB_DIR}"], [
135 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
136 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
138 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
140 AC_MSG_RESULT([not usable])
144 AS_IF([test -n "${CONTRIB_DIR}"], [
145 AC_MSG_RESULT([${CONTRIB_DIR}])
146 export PATH=${CONTRIB_DIR}/bin:$PATH
147 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
148 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
149 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
150 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
151 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
152 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
153 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
154 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
155 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
156 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
158 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
160 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
161 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
163 AS_IF([test "${SYS}" = "darwin"], [
164 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
165 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
168 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
169 AC_MSG_ERROR([Third party libraries not found!])
172 AC_SUBST(CONTRIB_DIR)
175 dnl Set default values
177 LDFLAGS_vlc="${LDFLAGS}"
180 dnl Check the operating system
192 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
193 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
197 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
200 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
201 CPPFLAGS="${CPPFLAGS_save}"
202 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
203 LDFLAGS="${LDFLAGS_save}"
206 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
207 CPPFLAGS="${CPPFLAGS_save}"
208 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
209 LDFLAGS="${LDFLAGS_save}"
215 dnl Force gcc "-arch" flag
219 ARCH_flag="-arch i386"
222 ARCH_flag="-arch ppc64"
225 ARCH_flag="-arch ppc"
228 ARCH_flag="-arch x86_64"
233 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
234 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
235 CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
236 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
237 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
238 VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
239 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
240 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
241 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
242 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
243 AC_ARG_ENABLE(macosx-defaults,
244 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
245 if test "x${enable_macosx_defaults}" != "xno"
248 echo "Building with Mac OS X defaults:"
250 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
251 ac_default_prefix="${build_dir}/vlc_install_dir"
253 echo " Assuming --enable-faad"
255 echo " Assuming --enable-flac"
257 echo " Assuming --enable-theora"
259 echo " Assuming --enable-shout"
261 echo " Assuming --enable-vcdx"
263 echo " Assuming --enable-caca"
265 echo " Assuming --enable-ncurses"
267 echo " Assuming --enable-twolame"
268 enable_realrtsp="yes"
269 echo " Assuming --enable-realrtsp"
271 echo " Assuming --enable-libass"
274 echo " Assuming --disable-skins2"
276 echo " Assuming --disable-xcb"
279 dnl Check for Mac OS X SDK settings
281 AC_ARG_WITH(macosx-sdk,
282 [AS_HELP_STRING([--with-macosx-sdk=DIR],
283 [compile using the SDK in DIR])])
284 if test "${with_macosx_sdk}" != "" ; then
285 CPP="${CPP} -isysroot ${with_macosx_sdk}"
286 CC="${CC} -isysroot ${with_macosx_sdk}"
287 CXX="${CXX} -isysroot ${with_macosx_sdk}"
288 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
289 LD="${LD} -syslibroot ${with_macosx_sdk}"
291 echo " No desired SDK version given, falling back to 10.5"
292 CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
293 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
294 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
295 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
296 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
297 with_macosx_version_min="10.5"
298 echo " Assuming --with-macosx-version-min=10.5"
300 AC_ARG_WITH(macosx-version-min,
301 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
302 [compile for MacOS X VERSION and above])])
303 if test "${with_macosx_version_min}" != "" ; then
304 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
305 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
306 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
307 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
308 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
309 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
310 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
311 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
312 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
313 export MACOSX_DEPLOYMENT_TARGET
316 *mingw32* | *cygwin* | *wince* | *mingwce*)
317 AC_CHECK_TOOL(WINDRES, windres, :)
318 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
319 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
320 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
323 *wince* | *mingwce* | *mingw32ce*)
325 dnl Sadly CeGCC still needs non-wince macros
331 dnl Check if we are using the mno-cygwin mode in which case we are
332 dnl actually dealing with a mingw32 compiler.
337 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
341 if test "${SYS}" = "mingw32"; then
342 VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm])
343 VLC_ADD_LDFLAGS([vlc],[-mwindows])
344 VLC_ADD_LIBS([win32text],[-lgdi32])
345 VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm])
346 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
347 ac_default_prefix="`pwd`/_win32"
348 DESTDIR="`pwd`/_win32/"
351 dnl NSIS Installer prefix and WIN64
356 PROGRAMFILES="PROGRAMFILES64"
359 PROGRAMFILES="PROGRAMFILES"
362 AC_SUBST(PROGRAMFILES)
365 if test "${SYS}" = "mingwce"; then
366 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
367 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
368 ac_default_prefix="`pwd`/_wince"
369 DESTDIR="`pwd`/_wince/"
386 LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
392 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
393 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
394 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
395 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
396 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
397 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
398 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
401 dnl Sadly autoconf does not think about testing foo.exe when ask to test
402 dnl for program foo on win32
404 case "${build_os}" in
406 ac_executable_extensions=".exe"
412 dnl Android is linux, but a bit different
413 AS_IF([test "$SYS" = linux],[
414 AC_MSG_CHECKING([for an Android system])
415 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
416 [[#ifndef __ANDROID__
427 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
431 dnl It's very bad, but our former custom system was worst
435 dnl override platform specific check for dependent libraries
436 dnl otherwise libtool linking of shared libraries will
437 dnl fail on anything other than pass_all.
438 AC_CACHE_VAL(lt_cv_deplibs_check_method,
439 [lt_cv_deplibs_check_method=pass_all])
441 LT_INIT([dlopen win32-dll shared disable-static])
443 LT_LANG([Windows Resource])
445 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
446 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
448 lt_cv_deplibs_check_method=pass_all
450 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
451 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
457 AM_GNU_GETTEXT_VERSION([0.18.1])
458 AM_GNU_GETTEXT([external])
465 dnl Check for broken versions of mingw-runtime compatability library
466 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
467 AC_MSG_CHECKING(for broken mingw-runtime)
468 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
470 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
471 #ifndef __MINGW64_VERSION_MAJOR
472 # error Attempting to use mingw-runtime with broken vsnprintf support
478 AC_MSG_RESULT([present])
479 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
481 dnl force use of mingw provided c99 *printf over msvcrt
482 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
483 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
486 dnl Check for the need to include the mingwex lib for mingw32
487 if test "${SYS}" = "mingw32" ; then
488 AC_CHECK_LIB(mingwex,opendir,
489 AC_CHECK_LIB(mingw32,opendir,,
490 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
494 dnl Check for fnative-struct or mms-bitfields support for mingw32
495 if test "${SYS}" = "mingw32" ; then
496 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
497 [ac_cv_c_mms_bitfields],
498 [CFLAGS="${CFLAGS_save} -mms-bitfields"
499 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
500 if test "${ac_cv_c_mms_bitfields}" != "no"; then
501 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
502 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
504 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
505 [ac_cv_c_fnative_struct],
506 [CFLAGS="${CFLAGS_save} -fnative-struct"
507 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
508 if test "${ac_cv_c_fnative_struct}" != "no"; then
509 CFLAGS_save="${CFLAGS_save} -fnative-struct";
510 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
514 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
518 dnl Buggy glibc prevention. Purposedly not cached.
519 dnl See sourceware.org bugs 5058 and 5443.
520 dnl Ubuntu alone has 20 bug numbers for this...
522 AC_MSG_CHECKING(for buggy GNU/libc versions)
523 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
525 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
526 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
527 # error GNU/libc with dcgettext killer bug!
530 AC_MSG_RESULT([not present])
532 AC_MSG_RESULT([found])
533 AS_IF([test "x${enable_nls}" != "xno"], [
534 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
535 work-around for this. Check with your distribution vendor on how to update the
536 glibc run-time. Alternatively, build with --disable-nls.])
538 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
542 dnl Plugin compilation stuff
546 dnl Check for system libs needed
549 dnl Check for usual libc functions
550 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
551 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale])
552 AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
553 AC_CHECK_FUNCS(fdatasync,,
554 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
557 # Windows CE does not have strcoll()
560 dnl Check for non-standard system calls
561 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
563 AH_BOTTOM([#include <vlc_fixups.h>])
566 AC_SEARCH_LIBS(poll, [poll], [
567 AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().])
569 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "os2"], [
570 AC_MSG_ERROR([poll() is required.])
574 dnl Check for struct pollfd
575 AC_CHECK_TYPES([struct pollfd],,,
576 [#include <sys/types.h>
579 #elif defined (WIN32)
580 # include <winsock2.h>
584 dnl Check for connect
587 AC_SEARCH_LIBS(connect, [socket], [
588 AS_IF([test "$ac_cv_search_connect" != "none required"], [
589 SOCKET_LIBS="$ac_cv_search_connect"
592 AS_IF([test "${SYS}" = "mingw32"], [
593 SOCKET_LIBS="-lws2_32"
595 AS_IF([test "${SYS}" = "mingwce"], [
600 AS_IF([test -n "$SOCKET_LIBS"], [
601 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],[${SOCKET_LIBS}])
603 AC_SUBST(SOCKET_LIBS)
605 dnl Check for socklen_t
606 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
607 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
608 ac_cv_type_socklen_t,
609 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
610 [#include <sys/types.h>
612 # include <winsock2.h>
613 # include <ws2tcpip.h>
615 # include <sys/socket.h>
616 #endif]], [[socklen_t len; len = 0;]])],
617 ac_cv_type_socklen_t=yes,
618 ac_cv_type_socklen_t=no)])
619 AS_IF([test "$ac_cv_type_socklen_t" = no],
620 [AC_DEFINE(socklen_t, int)])
622 dnl Check for struct sockaddr_storage
623 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
624 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
625 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
627 [#include <sys/types.h>
628 #if defined( UNDER_CE )
629 # include <winsock2.h>
630 #elif defined( WIN32 )
631 # include <winsock2.h>
633 # include <sys/socket.h>
634 #endif], [struct sockaddr_storage addr;],
635 ac_cv_struct_sockaddr_storage=yes,
636 ac_cv_struct_sockaddr_storage=no)])
637 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
638 AC_DEFINE(sockaddr_storage, sockaddr)
639 AC_DEFINE(ss_family, sa_family)
642 dnl getaddrinfo, getnameinfo and gai_strerror check
643 dnl -lnsl and -lsocket are needed on Solaris;
644 dnl we purposedly make the test fail on Windows
646 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
649 dnl FreeBSD has a gnugetopt library for this:
651 AC_CHECK_FUNC(getopt_long,, [
652 AC_CHECK_LIB([gnugetopt],[getopt_long], [
653 GNUGETOPT_LIBS="-lgnugetopt"
656 AC_SUBST(GNUGETOPT_LIBS)
659 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 mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm])
666 AC_CHECK_LIB(m,lrintf, [
667 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
668 VLC_ADD_LIBS([skins2],[-lm])
671 dnl Check for dynamic plugins
673 have_dynamic_objects="no"
675 AC_SEARCH_LIBS(dlopen, [dl svld], [
676 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
677 LIBDL="$ac_cv_search_dlopen"
679 have_dynamic_objects="yes"
684 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
686 have_dynamic_objects="yes" #assume we can use shared objects
689 test "${enable_shared}" = "no" && have_dynamic_objects=no
691 AS_IF([test "${have_dynamic_objects}" != "no"], [
692 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
693 [Define to 1 if dynamic plugins are supported.])
695 dnl Clear $LIBDL so as not to break linking
698 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
701 VLC_ADD_LIBS([realvideo lua],[$LIBDL])
703 dnl Check for thread library
704 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
705 dnl Check for pthreads - borrowed from XMMS
707 if test "${THREAD_LIB}" = "error"; then
708 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
710 if test "${THREAD_LIB}" = "error"; then
711 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
713 if test "${THREAD_LIB}" = "error"; then
714 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
716 if test "${THREAD_LIB}" = "error"; then
717 AC_CHECK_FUNCS(pthread_mutex_lock)
721 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
723 AC_CHECK_LIB(rt, clock_nanosleep, [
724 VLC_ADD_LIBS([libvlccore],[-lrt])
726 AC_CHECK_FUNC(nanosleep,,[
727 AC_CHECK_LIB(rt,nanosleep, [
728 VLC_ADD_LIBS([libvlccore],[-lrt])
730 AC_CHECK_LIB(posix4,nanosleep, [
731 VLC_ADD_LIBS([libvlccore],[-lposix4])
736 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
738 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
740 dnl Check for misc headers
741 AC_MSG_CHECKING(for strncasecmp in strings.h)
742 AC_EGREP_HEADER(strncasecmp,strings.h,[
744 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
745 Define if <strings.h> defines strncasecmp.)],[
748 dnl Check for headers
749 AC_CHECK_HEADERS([search.h])
750 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
751 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
752 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
753 AC_CHECK_HEADERS([net/if.h], [], [],
755 #include <sys/types.h>
756 #include <sys/socket.h>
758 AC_CHECK_HEADERS([sys/mount.h], [], [],
760 #include <sys/param.h>
763 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
764 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
765 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
766 AC_CHECK_HEADERS(syslog.h)
767 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
769 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
770 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
771 AC_CHECK_TYPE(ssize_t,, [
772 AC_DEFINE(ssize_t, int)
775 dnl Check for threads library
776 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
777 AC_CHECK_HEADERS(pthread.h)
778 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
780 dnl It seems that autoconf detects pkg-config only during the first
781 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
782 dnl it is nested within a conditional block, so it was not working right.
783 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
784 AC_ARG_VAR(PKG_CONFIG_PATH,
785 [Paths where to find .pc not at the default location])
786 PKG_PROG_PKG_CONFIG()
788 dnl On some OS we need static linking
789 AS_IF([test -n "${PKG_CONFIG}" ],[
790 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
791 PKG_CONFIG="${PKG_CONFIG} --static"
797 dnl Check for zlib.h and -lz along with system -lminizip if available
799 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
800 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
801 if test "${have_zlib}" = "yes"
803 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
804 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
805 AC_CHECK_HEADERS([unzip.h], [
807 MINIZIP_LIBS="-lminizip -lz"
810 MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
811 MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
814 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
815 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
817 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
820 dnl Manual switch for UTF-8
821 AC_ARG_ENABLE(non-utf8,
822 [AS_HELP_STRING([--enable-non-utf8],
823 [support legacy non-UTF-8 systems (default disabled)])],, [
824 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "os2"], [
828 AS_IF([test "${enable_non_utf8}" != "no"], [
829 AC_DEFINE([ASSUME_UTF8], [1],
830 [Define to 1 if the operating system uses UTF-8 internally])
836 [AS_HELP_STRING([--enable-dbus],
837 [compile D-Bus message bus support (default enabled)])])
840 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
843 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0],
844 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
845 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
846 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
847 dnl Check for dbus control interface
848 AC_ARG_ENABLE(dbus-control,
849 [AS_HELP_STRING([--disable-dbus-control],
850 [D-Bus control interface (default enabled)])])
851 if test "${enable_dbus_control}" != "no"
853 VLC_ADD_PLUGIN([dbus])
854 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
855 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
857 dnl Check for Telepathy
858 AC_ARG_ENABLE(telepathy,
859 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
860 if test "${enable_telepathy}" != "no"; then
861 VLC_ADD_PLUGIN([telepathy])
862 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
863 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
865 dnl Power Management Inhibiter
866 VLC_ADD_PLUGIN([inhibit])
867 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
868 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
870 [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])]
876 dnl Check for ntohl, etc.
877 AC_CACHE_CHECK([for ntohl in sys/param.h],
878 [ac_cv_c_ntohl_sys_param_h],
879 [CFLAGS="${CFLAGS_save} -Wall -Werror"
880 AC_TRY_COMPILE([#include <sys/param.h>],
881 [int meuh; ntohl(meuh);],
882 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
883 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
884 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
887 EXTEND_HELP_STRING([Optimization options:])
890 dnl Compiler warnings
893 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])
894 RDC_PROG_CC_FLAGS([-pipe])
896 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
903 [AS_HELP_STRING([--enable-debug],
904 [build with run-time assertions (default disabled)])],,
907 [Define to 1 if debug code should NOT be compiled])
908 AS_IF([test "${enable_debug}" != "no"], [
909 AC_CHECK_HEADERS([valgrind/valgrind.h])
918 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
920 AS_IF([test "${enable_gprof}" != "no"], [
921 CFLAGS="${CFLAGS} -pg"
922 CXXFLAGS="${CXXFLAGS} -pg"
923 OBJCFLAGS="${OBJCFLAGS} -pg"
924 LDFLAGS="${LDFLAGS} -pg"
928 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
930 AS_IF([test "${enable_gprof}" != "no"], [
931 CFLAGS="${CFLAGS} -finstrument-functions"
932 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
933 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
934 LDFLAGS="${LDFLAGS} -finstrument-functions"
940 AC_ARG_ENABLE(coverage,
941 [AS_HELP_STRING([--enable-coverage],
942 [build for test coverage (default disabled)])],,
943 [enable_coverage="no"])
944 AS_IF([test "${enable_coverage}" != "no"], [
945 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
946 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
947 LDFLAGS="-lgcov ${LDFLAGS}"
952 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
953 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
954 [ac_cv_c_visibility_hidden], [
955 CFLAGS="${CFLAGS_save} -fvisibility=hidden"
956 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
957 ac_cv_c_visibility_hidden=yes
959 ac_cv_c_visibility_hidden=no
962 AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
964 CFLAGS="${CFLAGS} -fvisibility=hidden"
965 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
966 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
973 dnl Enable/disable optimizations
975 AC_ARG_ENABLE(optimizations,
976 [AS_HELP_STRING([--disable-optimizations],
977 [disable compiler optimizations (default enabled)])],,
978 [enable_optimizations="yes"])
980 dnl Check for various optimization flags
981 AS_IF([test "${enable_optimizations}" != "no"], [
984 dnl -O4 and -O3 only in production builds
985 AS_IF([test "{enable_debug}" = "no"], [
986 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
987 CFLAGS="${CFLAGS_save} -O4"
988 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
994 AS_IF([test "${ac_cv_c_o4}" != "no"], [
997 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
998 CFLAGS="${CFLAGS_save} -O3"
999 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1005 AS_IF([test "${ac_cv_c_o3}" != "no"], [
1012 CFLAGS="${CFLAGS} ${C_O}"
1013 CXXFLAGS="${CXXFLAGS} ${C_O}"
1014 OBJCFLAGS="${OBJCFLAGS} ${C_O}"
1017 dnl Check for -ffast-math
1018 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
1019 CFLAGS="${CFLAGS_save} -ffast-math"
1020 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1021 ac_cv_c_fast_math=yes
1023 ac_cv_c_fast_math=no
1026 AS_IF([test "${ac_cv_c_fast_math}" != "no"], [
1028 CFLAGS="${CFLAGS} -ffast-math"
1029 CXXFLAGS="${CXXFLAGS} -ffast-math"
1030 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
1034 dnl Check for -funroll-loops
1035 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
1036 CFLAGS="${CFLAGS_save} -funroll-loops"
1037 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1038 ac_cv_c_unroll_loops=yes
1040 ac_cv_c_unroll_loops=no
1043 AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [
1045 CFLAGS="${CFLAGS} -funroll-loops"
1046 CXXFLAGS="${CXXFLAGS} -funroll-loops"
1047 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1051 AS_IF([test "$enable_debug" = "no"], [
1052 dnl Check for -fomit-frame-pointer
1053 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1054 [ac_cv_c_omit_frame_pointer], [
1055 CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1056 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1057 ac_cv_c_omit_frame_pointer=yes
1059 ac_cv_c_omit_frame_pointer=no
1062 AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [
1064 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1065 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1066 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
1072 dnl Check for Darwin plugin linking flags
1073 AS_IF([test "${SYS}" = "darwin"], [
1074 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1075 [ac_cv_ld_darwin], [
1076 CFLAGS="${CFLAGS_save} -bundle -undefined error"
1077 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1083 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1084 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1088 dnl Checks for __attribute__(aligned()) directive
1089 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1090 [ac_cv_c_attribute_aligned],
1091 [ac_cv_c_attribute_aligned=0
1092 CFLAGS="${CFLAGS_save} -Werror"
1093 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1095 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1096 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1098 CFLAGS="${CFLAGS_save}"])
1099 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1100 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1101 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1104 dnl Check for __attribute__((packed))
1105 AC_CACHE_CHECK([for __attribute__((packed))],
1106 [ac_cv_c_attribute_packed],
1107 [ac_cv_c_attribute_packed=no
1108 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1109 [ac_cv_c_attribute_packed=yes])])
1110 if test "${ac_cv_c_attribute_packed}" != "no"; then
1111 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1117 case "${host_cpu}" in
1126 dnl Check for backtrace() support
1127 AC_CHECK_HEADERS(execinfo.h)
1128 AC_CHECK_FUNCS(backtrace)
1133 ALIASES="${ALIASES} cvlc rvlc"
1136 dnl Some plugins aren't useful on some platforms
1138 if test "${SYS}" = "os2"; then
1139 VLC_ADD_PLUGIN([dynamicoverlay])
1140 elif test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1141 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1142 elif test "${SYS}" != "mingwce"; then
1143 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1144 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1146 if test "${SYS}" = "darwin"; then
1147 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
1151 dnl Accelerated modules
1154 dnl Check for fully working MMX intrinsics
1155 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1156 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1158 [AS_HELP_STRING([--disable-mmx],
1159 [disable MMX optimizations (default auto)])],,[
1160 case "${host_cpu}" in
1171 AS_IF([test "${enable_mmx}" != "no"], [
1174 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1175 CFLAGS="${CFLAGS_save} -O -mmmx"
1176 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1177 [#include <mmintrin.h>
1179 uint64_t frobzor;]], [
1181 a = b = c = (__m64)frobzor;
1182 a = _mm_slli_pi16(a, 3);
1183 a = _mm_adds_pi16(a, b);
1184 c = _mm_srli_pi16(c, 8);
1185 c = _mm_slli_pi16(c, 3);
1186 b = _mm_adds_pi16(b, c);
1187 a = _mm_unpacklo_pi8(a, b);
1188 frobzor = (uint64_t)a;]])], [
1189 ac_cv_c_mmx_intrinsics=yes
1191 ac_cv_c_mmx_intrinsics=no
1193 CFLAGS="${CFLAGS_save}"
1195 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1196 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1197 [Define to 1 if MMX intrinsics are available.])
1200 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1201 CFLAGS="${CFLAGS_save} -mmmx"
1202 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1204 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1207 ac_cv_mmx_inline=yes
1211 CFLAGS="${CFLAGS_save}"
1213 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1214 AC_DEFINE(CAN_COMPILE_MMX, 1,
1215 [Define to 1 inline MMX assembly is available.])
1219 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1220 [ac_cv_mmxext_inline], [
1221 CFLAGS="${CFLAGS_save} -mmmx"
1222 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1224 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1227 ac_cv_mmxext_inline=yes
1229 ac_cv_mmxext_inline=no
1231 CFLAGS="${CFLAGS_save}"
1233 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1234 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1235 [Define to 1 if MMX EXT inline assembly is available.])
1239 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1240 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1242 dnl Check for fully workin SSE2 intrinsics
1243 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1244 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1246 [AS_HELP_STRING([--disable-sse],
1247 [disable SSE (1-4) optimizations (default auto)])],, [
1248 case "${host_cpu}" in
1258 AS_IF([test "${enable_sse}" != "no"], [
1259 ARCH="${ARCH} sse sse2"
1261 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1262 CFLAGS="${CFLAGS_save} -O -msse2"
1263 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1264 [#include <emmintrin.h>
1266 uint64_t frobzor;]], [
1268 a = b = c = _mm_set1_epi64((__m64)frobzor);
1269 a = _mm_slli_epi16(a, 3);
1270 a = _mm_adds_epi16(a, b);
1271 c = _mm_srli_epi16(c, 8);
1272 c = _mm_slli_epi16(c, 3);
1273 b = _mm_adds_epi16(b, c);
1274 a = _mm_unpacklo_epi8(a, b);
1275 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1276 ac_cv_c_sse2_intrinsics=yes
1278 ac_cv_c_sse2_intrinsics=no
1280 CFLAGS="${CFLAGS_save}"
1282 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1283 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1284 [Define to 1 if SSE2 intrinsics are available.])
1287 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1288 CFLAGS="${CFLAGS_save} -msse"
1289 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1291 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1294 ac_cv_sse_inline=yes
1298 CFLAGS="${CFLAGS_save}"
1300 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1301 AC_DEFINE(CAN_COMPILE_SSE, 1,
1302 [Define to 1 if SSE inline assembly is available.])
1305 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1306 CFLAGS="${CFLAGS_save} -msse"
1307 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1309 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1312 ac_cv_sse2_inline=yes
1314 ac_cv_sse2_inline=no
1316 CFLAGS="${CFLAGS_save}"
1318 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1319 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1320 [Define to 1 if SSE2 inline assembly is available.])
1325 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1326 CFLAGS="${CFLAGS_save} -msse"
1327 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1329 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1332 ac_cv_sse3_inline=yes
1334 ac_cv_sse3_inline=no
1336 CFLAGS="${CFLAGS_save}"
1338 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1339 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1340 [Define to 1 if SSE3 inline assembly is available.]) ])
1342 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1343 CFLAGS="${CFLAGS_save} -msse"
1344 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1346 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1349 ac_cv_ssse3_inline=yes
1351 ac_cv_ssse3_inline=no
1353 CFLAGS="${CFLAGS_save}"
1355 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1356 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1357 [Define to 1 if SSSE3 inline assembly is available.]) ])
1360 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1361 [ac_cv_sse4_1_inline], [
1362 CFLAGS="${CFLAGS_save} -msse"
1363 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1365 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1368 ac_cv_sse4_1_inline=yes
1370 ac_cv_sse4_1_inline=no
1372 CFLAGS="${CFLAGS_save}"
1374 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1375 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1376 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1379 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1380 [ac_cv_sse4_2_inline], [
1381 CFLAGS="${CFLAGS_save} -msse"
1382 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1384 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1387 ac_cv_sse4_2_inline=yes
1389 ac_cv_sse4_2_inline=no
1391 CFLAGS="${CFLAGS_save}"
1393 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1394 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1395 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1398 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1399 CFLAGS="${CFLAGS_save} -msse"
1400 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1402 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1405 ac_cv_sse4a_inline=yes
1407 ac_cv_sse4a_inline=no
1409 CFLAGS="${CFLAGS_save}"
1411 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1412 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1413 [Define to 1 if SSE4A inline assembly is available.]) ])
1415 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1418 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1419 CFLAGS="${CFLAGS_save} -mmmx"
1420 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1422 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1425 ac_cv_3dnow_inline=yes
1427 ac_cv_3dnow_inline=no
1429 CFLAGS="${CFLAGS_save}"
1431 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1432 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1433 [Define to 1 if 3D Now! inline assembly is available.])
1436 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1440 [AS_HELP_STRING([--disable-neon],
1441 [disable NEON optimizations (default auto)])],, [
1442 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1444 AS_IF([test "${enable_neon}" != "no"], [
1445 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1446 CFLAGS="${CFLAGS_save} -mfpu=neon"
1449 asm volatile("vqmovun.s64 d0, q1":::"d0");
1450 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1453 ac_cv_neon_inline="-mfpu=neon"
1455 ac_cv_neon_inline="no"
1457 CFLAGS="${CFLAGS_save}"
1459 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1460 NEON_CFLAGS="$ac_cv_neon_inline"
1461 AC_DEFINE([CAN_COMPILE_NEON], 1,
1462 [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1465 ac_cv_neon_inline="no"
1467 AC_SUBST(NEON_CFLAGS)
1468 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1471 AC_ARG_ENABLE(altivec,
1472 [AS_HELP_STRING([--disable-altivec],
1473 [disable AltiVec optimizations (default auto)])],, [
1474 AS_IF([test "${host_cpu}" = "powerpc"],
1475 [enable_altivec=yes], [enable_altivec=no])
1478 AS_IF([test "${enable_altivec}" = "yes"], [
1479 ARCH="${ARCH} altivec";
1480 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1481 [ac_cv_altivec_inline],
1482 [CFLAGS="${CFLAGS_save}"
1483 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1484 ac_cv_altivec_inline="yes",
1485 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1486 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1487 [ac_cv_altivec_inline="-Wa,-m7400"],
1488 ac_cv_altivec_inline=no)
1490 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1491 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1492 [Define to 1 if AltiVec inline assembly is available.])
1493 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1494 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1495 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1496 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1501 dnl The AltiVec C extensions
1503 dnl There are several possible cases:
1504 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1505 dnl need <altivec.h>
1506 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1507 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1508 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1509 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1510 dnl - Others: test should fail
1511 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1513 [# OS X/PPC test (gcc 4.x)
1514 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1515 AC_TRY_COMPILE([vector unsigned char foo;],
1516 [vec_ld(0, (unsigned char *)0);],
1517 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1518 [# OS X/PPC test (gcc 3.x)
1519 CFLAGS="${CFLAGS_save} -faltivec"
1520 AC_TRY_COMPILE([vector unsigned char foo;],
1521 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1522 [ac_cv_c_altivec="-faltivec"],
1523 dnl Below this are the Linux tests
1524 [# Linux/PPC test (gcc 4.x)
1525 CFLAGS="${CFLAGS_save} -maltivec"
1526 AC_TRY_COMPILE([#include <altivec.h>],
1527 [vec_ld(0, (unsigned char *)0);],
1528 [ac_cv_c_altivec="-maltivec"],
1529 [# Linux/PPC test (gcc 3.3)
1530 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1531 AC_TRY_COMPILE([#include <altivec.h>],
1532 [vec_ld(0, (unsigned char *)0);],
1534 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1535 [# Linux/PPC test (gcc 3.3)
1536 CFLAGS="${CFLAGS_save} -fvec"
1537 AC_TRY_COMPILE([#include <altivec.h>],
1538 [vec_ld(0, (unsigned char *)0);],
1539 [ac_cv_c_altivec="-fvec"],
1540 [ac_cv_c_altivec=no])
1545 CFLAGS="${CFLAGS_save}"
1547 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1548 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1551 AC_CHECK_HEADERS(altivec.h)
1552 CPPFLAGS="${CPPFLAGS_save}"
1554 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1555 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1556 [Define to 1 if C AltiVec extensions are available.])
1557 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1558 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1562 AC_CACHE_CHECK([if linker needs -framework vecLib],
1564 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1565 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1566 LDFLAGS="${LDFLAGS_save}"
1568 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1569 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1572 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1575 dnl Special arch tuning
1578 [AS_HELP_STRING([--with-tuning=ARCH],
1579 [tune compilation for an architecture (default varies)])])
1580 if test -n "${with_tuning}"; then
1581 if test "${with_tuning}" != "no"; then
1582 CFLAGS_TUNING="-mtune=${with_tuning}"
1585 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1586 CFLAGS_TUNING="-march=prescott -mtune=generic"
1587 elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1588 CFLAGS_TUNING="-march=core2 -mtune=core2"
1589 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1590 CFLAGS_TUNING="-mtune=pentium2"
1591 elif test "${host_cpu}" = "x86_64"; then
1592 CFLAGS_TUNING="-mtune=athlon64"
1593 elif test "${host_cpu}" = "powerpc"; then
1594 CFLAGS_TUNING="-mtune=G4";
1598 dnl NOTE: this can't be cached cleanly
1599 AS_IF([test -n "${CFLAGS_TUNING}"], [
1600 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1601 CFLAGS="${CFLAGS_save} ${CFLAGS_TUNING}"
1602 AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [
1605 CFLAGS_TUNING=""; tuning="no"
1606 AS_IF([test "${with_tuning}"], [
1607 AC_MSG_ERROR([requested tuning not supported])
1610 CFLAGS="${CFLAGS_save}"
1611 AC_MSG_RESULT([$tuning])
1613 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1620 AC_ARG_ENABLE(optimize-memory,
1621 [AS_HELP_STRING([--enable-optimize-memory],
1622 [optimize memory usage over performance])])
1623 if test "${enable_optimize_memory}" = "yes"; then
1624 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1628 dnl Allow running as root (useful for people running on embedded platforms)
1630 AC_ARG_ENABLE(run-as-root,
1631 [AS_HELP_STRING([--enable-run-as-root],
1632 [allow running VLC as root (default disabled)])])
1633 AS_IF([test "${enable_run_as_root}" = "yes"],[
1634 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1635 [Define to 1 to allow running VLC as root (uid 0).])
1642 [AS_HELP_STRING([--disable-sout],
1643 [disable streaming output (default enabled)])])
1644 AS_IF([test "${enable_sout}" != "no"], [
1645 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1647 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1651 [AS_HELP_STRING([--disable-lua],
1652 [disable LUA scripting support (default enabled)])])
1653 if test "${enable_lua}" != "no"
1655 PKG_CHECK_MODULES(LUA, lua5.1,
1658 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1659 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1662 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1664 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1667 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1668 [LUA_LIBS="-llua5.1"],
1669 AC_CHECK_LIB( lua51 , luaL_newstate,
1670 [LUA_LIBS="-llua51"],
1671 AC_CHECK_LIB( lua , luaL_newstate,
1679 if test "x${have_lua}" = "xyes" ; then
1680 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1681 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1683 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.])
1685 AC_ARG_VAR([LUAC], [LUA byte compiler])
1686 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1687 AS_IF([test "${LUAC}" = "false"], [
1688 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1691 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1697 AC_ARG_ENABLE(httpd,
1698 [AS_HELP_STRING([--disable-httpd],
1699 [disable the built-in HTTP server (default enabled)])])
1700 if test "${enable_httpd}" != "no"
1702 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1704 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1708 dnl VideoLAN manager
1711 [AS_HELP_STRING([--disable-vlm],
1712 [disable the stream manager (default enabled)])],,
1713 [enable_vlm="${enable_sout}"])
1714 AS_IF([test "${enable_vlm}" != "no"], [
1715 AS_IF([test "${enable_sout}" = "no"], [
1716 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1718 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1720 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1727 EXTEND_HELP_STRING([Input plugins:])
1730 dnl libproxy support
1732 AC_ARG_ENABLE(libproxy,
1733 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1734 AS_IF([test "${enable_libproxy}" != "no"], [
1735 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1736 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1737 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1738 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1740 AS_IF([test -n "${enable_libproxy}"], [
1741 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1749 AC_ARG_ENABLE(live555,
1750 [AS_HELP_STRING([--enable-live555],
1751 [enable RTSP input through live555 (default enabled)])])
1752 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1754 CPPFLAGS_save="${CPPFLAGS}"
1755 AS_IF([test -z "${CONTRIB_DIR}"], [
1756 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1758 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1760 AS_IF([test "${SYS}" = "solaris"], [
1761 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1763 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1765 AC_CACHE_CHECK([for live555 version 1275091200 or later], [ac_cv_live555], [
1766 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1767 [#include <liveMedia_version.hh>
1768 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200)
1777 AS_IF([test "$ac_cv_live555" = "no"], [
1778 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1779 Version 2010.05.29 or later is required to proceed.
1780 You can get an updated one from http://www.live555.com/liveMedia .])
1781 AS_IF([test -n "${enable_live555}"], [
1782 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1784 ac_cv_live555_usable=""
1786 dnl Check that live555 is patched correctly.
1787 AC_CACHE_CHECK([for live555 usability], [ac_cv_live555_usable], [
1788 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1789 [#include <locale.h>
1791 # include <xlocale.h>
1796 #include <Locale.hh>
1798 #include <GroupsockHelper.hh>]], [
1799 [struct in_addr addr;
1800 our_inet_ntoa(addr, NULL);]])
1802 ac_cv_live555_usable="yes"
1804 ac_cv_live555_usable="no"
1807 AS_IF([test "$ac_cv_live555_usable" = "no"], [
1808 AC_MSG_ERROR([liveMedia lacks patches and is not usable.
1809 Please apply our patches from the VLC contrib (contrib/src/live555/).
1810 You can also disable RTSP input with --disable-live555. You were warned.])
1812 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1813 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1814 AS_IF([test "${SYS}" = "mingw32"], [
1815 # add ws2_32 for closesocket, select, recv
1816 other_libs="$other_libs -lws2_32"
1817 ], [test "${SYS}" = "mingwce"], [
1818 # add ws2 for closesocket, select, recv
1819 other_libs="$other_libs -lws2"
1822 dnl We need to check for pic because live555 don't provide shared libs
1823 dnl and we want to build a plugins so we need -fPIC on some arch.
1824 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1825 AC_CHECK_LIB(liveMedia_pic, main, [
1826 VLC_ADD_PLUGIN([live555])
1827 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1829 AC_CHECK_LIB(liveMedia, main, [
1830 VLC_ADD_PLUGIN([live555])
1831 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1832 ],[],[${other_libs}])],[${other_libs_pic}])
1834 CPPFLAGS="${CPPFLAGS_save}"
1839 dnl - special access module for dc1394 input
1840 dnl - dv module: digital video module check for libraw1394
1841 dnl - linsys modules: access module check for libzvbi
1843 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1844 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1846 AC_ARG_ENABLE(linsys,
1847 [AS_HELP_STRING([--enable-linsys],
1848 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1849 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1850 VLC_ADD_PLUGIN([linsys_hdsdi])
1851 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1852 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1853 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1854 VLC_ADD_PLUGIN([linsys_sdi]) ],
1855 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1860 dnl dvdread module: check for libdvdread
1862 dnl prepend -ldvdcss on OS that need it
1863 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
1864 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1867 dnl libdvdnav plugin
1869 AC_ARG_ENABLE(dvdnav,
1870 [AS_HELP_STRING([--disable-dvdnav],
1871 [disable DVD navigation with libdvdnav (default auto)])])
1872 if test "${enable_dvdnav}" != "no"
1874 dnl prepend -ldvdcss on OS that need it
1875 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
1877 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1878 VLC_ADD_PLUGIN([dvdnav])
1879 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1880 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1881 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1882 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1883 [], [${LIBS_dvdnav}])
1884 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1885 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1886 [], [${LIBS_dvdnav}])],
1887 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1891 dnl Windows DirectShow access module
1893 AC_ARG_ENABLE(dshow,
1894 [AS_HELP_STRING([--disable-dshow],
1895 [support DirectShow (default auto)])])
1896 if test "${enable_dshow}" != "no"
1898 if test "${SYS}" = "mingw32"
1901 AC_CHECK_HEADERS(dshow.h,
1902 [ VLC_ADD_PLUGIN([dshow])
1903 VLC_ADD_CXXFLAGS([dshow],[])
1904 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1910 dnl Blu-ray Disc Support with libbluray
1912 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) )
1915 dnl OpenCV wrapper and example filters
1917 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1921 dnl libsmbclient plugin
1924 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1925 if test "${enable_smb}" != "no"; then
1926 AC_CHECK_HEADERS(libsmbclient.h,
1927 [ VLC_ADD_PLUGIN([access_smb])
1928 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1929 [ if test -n "${enable_smb}"; then
1930 AC_MSG_ERROR([cannot find libsmbclient headers])
1936 dnl sftp access support
1939 [AS_HELP_STRING([--enable-sftp],
1940 [support SFTP file transfer via libssh2 (default disabled)])])
1941 if test "${enable_sftp}" = "yes"; then
1942 AC_CHECK_HEADERS(libssh2.h, [
1943 VLC_ADD_PLUGIN([access_sftp])
1944 VLC_ADD_LIBS([access_sftp], [-lssh2])
1951 AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2],
1952 [disable userspace V4L2 library (default auto)])])
1953 AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
1954 [support PVR V4L2 cards (default disabled)])])
1956 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1959 AS_IF([test "$have_v4l2" = "yes"], [
1960 AS_IF([test "${enable_libv4l2}" != "no"], [
1961 PKG_CHECK_MODULES(LIBV4L2, libv4l2, [
1962 AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available])
1964 AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.])
1967 AS_IF([test "${enable_pvr}" = "yes"], [
1968 VLC_ADD_PLUGIN([pvr])
1971 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1974 dnl special access module for Blackmagic SDI cards
1976 AC_ARG_ENABLE(decklink,
1977 [AS_HELP_STRING([--disable-decklink],
1978 [disable Blackmagic DeckLink SDI input (default auto)])])
1979 AC_ARG_WITH(decklink_sdk,
1980 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1981 [ location of Blackmagic DeckLink SDI SDK])])
1982 if test "${enable_decklink}" != "no"
1984 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1986 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
1988 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
1990 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1991 VLC_ADD_PLUGIN([decklink])
1992 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
1994 CPPFLAGS="${CPPFLAGS_save}"
1999 dnl gnomeVFS access module
2001 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2007 [AS_HELP_STRING([--enable-vcdx],
2008 [navigate VCD with libvcdinfo (default disabled)])])
2009 if test "${enable_vcdx}" = "yes"
2011 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
2012 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
2013 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
2014 [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])])
2015 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
2016 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
2017 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
2018 [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])])
2019 VLC_ADD_PLUGIN([vcdx])
2023 dnl Built-in CD-DA and VCD module
2026 [AS_HELP_STRING([--disable-vcd],
2027 [disable built-in VCD and CD-DA support (default enabled)])])
2029 AC_ARG_ENABLE(libcddb,
2030 [AS_HELP_STRING([--disable-libcddb],
2031 [disable CDDB for Audio CD (default enabled)])])
2033 if test "${enable_vcd}" != "no"
2035 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2036 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2038 VLC_ADD_PLUGIN([vcd cdda])
2043 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2044 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2046 VLC_ADD_PLUGIN([vcd cdda])
2047 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2052 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2053 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2055 VLC_ADD_PLUGIN([vcd cdda])
2056 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2061 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
2063 VLC_ADD_PLUGIN([vcd cdda])
2066 if test "${SYS}" = "darwin"
2068 VLC_ADD_PLUGIN([vcd cdda])
2069 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2070 VLC_ADD_LIBS([vcdx cdda],[-liconv])
2073 if test "$enable_libcddb" != "no"; then
2074 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
2076 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2077 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2078 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2080 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
2088 AC_CACHE_CHECK([for Linux DVB version 5], [ac_cv_linux_s2api], [
2089 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
2090 [#include <linux/dvb/version.h>
2091 #if (DVB_API_VERSION < 5)
2094 ac_cv_linux_s2api=yes
2096 ac_cv_linux_s2api=no
2098 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_s2api" = "yes"])
2101 dnl Screen capture module
2103 AC_ARG_ENABLE(screen,
2104 [AS_HELP_STRING([--enable-screen],
2105 [disable screen capture (default enabled)])])
2106 if test "${enable_screen}" != "no"; then
2107 if test "${SYS}" = "darwin"; then
2108 AC_CHECK_HEADERS(OpenGL/gl.h, [
2109 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2110 VLC_ADD_PLUGIN([screen])
2111 VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2114 elif test "${SYS}" = "mingw32"; then
2115 VLC_ADD_PLUGIN([screen])
2116 VLC_ADD_LIBS([screen],[-lgdi32])
2117 elif test "${SYS}" = "mingwce"; then
2118 CPPFLAGS="${CPPFLAGS_save}"
2123 dnl Real RTSP plugin
2125 AC_ARG_ENABLE(realrtsp,
2126 [ --enable-realrtsp Real RTSP module (default disabled)])
2127 if test "${enable_realrtsp}" = "yes"; then
2128 VLC_ADD_PLUGIN([access_realrtsp])
2133 AC_ARG_ENABLE(macosx-eyetv,
2134 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
2135 if test "x${enable_macosx_eyetv}" != "xno" &&
2136 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
2138 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
2139 VLC_ADD_PLUGIN([access_eyetv])
2144 AC_ARG_ENABLE(macosx-qtkit,
2145 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
2146 if test "x${enable_macosx_qtkit}" != "xno" &&
2147 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
2149 VLC_ADD_PLUGIN([qtcapture])
2150 VLC_ADD_PLUGIN([qtsound])
2152 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" && "x${enable_macosx_qtkit}" != "xno"])
2159 EXTEND_HELP_STRING([Mux/Demux plugins:])
2162 dnl libdvbpsi check for ts mux/demux
2165 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
2166 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
2170 dnl GME demux plugin
2173 [AS_HELP_STRING([--enable-gme],
2174 [use Game Music Emu (default auto)])])
2175 AS_IF([test "${enable_gme}" != "no"], [
2176 AC_CHECK_HEADER([gme/gme.h], [
2177 VLC_ADD_LIBS([gme], [-lgme])
2178 VLC_ADD_PLUGIN([gme])
2180 AS_IF([test "x${enable_gme}" != "x"], [
2181 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2191 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
2192 AS_IF([test "${enable_sid}" != "no"], [
2193 PKG_CHECK_MODULES(SID, [libsidplay2], [
2195 oldCPPFLAGS="$CPPFLAGS"
2196 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2197 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2198 VLC_ADD_PLUGIN([sid])
2199 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2200 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2202 AS_IF([test -n "${enable_sid}"],
2203 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2204 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2207 CPPFLAGS="$oldCPPFLAGS"
2210 AS_IF([test "x${enable_sid}" = "xyes"],
2211 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2212 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2219 dnl ogg demux plugin
2221 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2222 if test "${enable_sout}" != "no"; then
2223 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2224 dnl Check for libshout
2225 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2229 dnl matroska demux plugin
2232 [AS_HELP_STRING([--disable-mkv],
2233 [do not use libmatroska (default auto)])])
2234 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2236 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2237 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2239 [#include <ebml/EbmlVersion.h>
2240 #ifdef LIBEBML_VERSION
2241 #if LIBEBML_VERSION >= 0x010000
2245 [AC_MSG_RESULT([yes])
2246 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2247 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2249 [#include <matroska/KaxVersion.h>
2250 #ifdef LIBMATROSKA_VERSION
2251 #if LIBMATROSKA_VERSION >= 0x010000
2255 [AC_MSG_RESULT([yes])
2256 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2257 VLC_ADD_CXXFLAGS([mkv],[])
2258 if test "${SYS}" = "darwin"; then
2259 VLC_ADD_CXXFLAGS([mkv],[-O1])
2261 AC_CHECK_LIB(ebml_pic, main, [
2262 VLC_ADD_PLUGIN([mkv])
2263 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2265 AC_CHECK_LIB(ebml, main, [
2266 VLC_ADD_PLUGIN([mkv])
2267 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2272 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.])
2276 [AC_MSG_RESULT([no])
2277 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.])
2284 dnl modplug demux plugin
2287 [AS_HELP_STRING([--disable-mod],
2288 [do not use libmodplug (default auto)])])
2289 if test "${enable_mod}" != "no" ; then
2290 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2291 VLC_ADD_PLUGIN([mod])
2292 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2293 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2295 AS_IF([test -n "${enable_mod}"],
2296 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2297 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2302 dnl mpc demux plugin
2305 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2306 if test "${enable_mpc}" != "no"
2308 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2309 VLC_ADD_PLUGIN([mpc])
2310 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2311 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2312 VLC_ADD_PLUGIN([mpc])
2313 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2320 EXTEND_HELP_STRING([Codec plugins:])
2325 AC_ARG_ENABLE(wma-fixed,
2326 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2327 if test "${enable_wma_fixed}" = "yes"
2329 VLC_ADD_PLUGIN([wma_fixed])
2333 dnl shine fixed point mp3 encoder
2335 AC_ARG_ENABLE(shine,
2336 [ --enable-shine shine mp3 encoding module (default disabled)])
2337 if test "${enable_shine}" = "yes"
2339 VLC_ADD_PLUGIN([shine])
2343 dnl openmax il codec plugin
2345 AC_ARG_ENABLE(omxil,
2346 [ --enable-omxil openmax il codec module (default disabled)])
2347 if test "${enable_omxil}" = "yes"
2349 VLC_ADD_PLUGIN([omxil])
2350 VLC_ADD_LIBS([omxil], [$LIBDL])
2354 dnl iomx codec plugin
2357 [ --enable-iomx iomx codec module (default disabled)])
2358 if test "${enable_iomx}" = "yes"
2360 CPPFLAGS_save="${CPPFLAGS}"
2361 CPPFLAGS="${CPPFLAGS} -I${srcdir}/modules/codec/omxil" # For the OMX headers
2363 AC_CHECK_HEADER(media/stagefright/OMXClient.h, [
2364 VLC_ADD_PLUGIN([iomx])
2365 VLC_ADD_CXXFLAGS([iomx], [-fno-exceptions -fno-rtti])
2366 VLC_ADD_LIBS([iomx], [-lstagefright -lmedia -lutils -lbinder])
2368 AC_MSG_ERROR("Could not find IOMX headers")
2371 CPPFLAGS="${CPPFLAGS_save}"
2375 dnl CrystalHD codec plugin
2377 AC_ARG_ENABLE(crystalhd,
2378 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2379 if test "${enable_crystalhd}" != "no"; then
2380 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2381 VLC_ADD_PLUGIN([crystalhd])
2382 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2384 if test "${SYS}" = "mingw32" ; then
2385 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2386 VLC_ADD_PLUGIN([crystalhd])
2387 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2388 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2391 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2392 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2393 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2394 ],[#define __LINUX_USER__
2395 #include <libcrystalhd/bc_dts_types.h>
2399 #include <libcrystalhd/bc_dts_types.h>
2407 [ --enable-mad libmad module (default enabled)])
2408 if test "${enable_mad}" != "no"
2411 [ --with-mad=PATH path to libmad],[],[])
2412 if test "${with_mad}" != "no" -a -n "${with_mad}"
2414 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2415 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2418 AC_ARG_WITH(mad-tree,
2419 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2420 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2422 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2423 if test -z "${real_mad_tree}"
2425 dnl The given directory can't be found
2427 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2429 dnl Use a custom libmad
2430 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2431 if test -f ${real_mad_tree}/mad.h
2434 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2435 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2436 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2437 AC_CHECK_LIB(mad, mad_bit_init, [
2438 VLC_ADD_PLUGIN([mpgatofixed32])
2439 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2440 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2442 LDFLAGS="${LDFLAGS_save}"
2445 AC_MSG_ERROR([the specified tree does not have mad.h])
2448 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2449 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2450 AC_CHECK_HEADERS(mad.h, ,
2451 [ 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.]) ])
2452 AC_CHECK_LIB(mad, mad_bit_init, [
2453 VLC_ADD_PLUGIN([mpgatofixed32])
2454 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2455 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2456 CPPFLAGS="${CPPFLAGS_save}"
2457 LDFLAGS="${LDFLAGS_save}"
2462 AC_ARG_ENABLE(merge-ffmpeg,
2463 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2464 enable_merge_ffmpeg="no"
2466 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2468 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2469 [ac_cv_ld_bsymbolic],
2470 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
2471 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2472 LDFLAGS="${LDFLAGS_save}"
2476 dnl avcodec decoder/encoder plugin
2478 AC_ARG_ENABLE(avcodec,
2479 [ --enable-avcodec libavcodec codec (default enabled)])
2480 AS_IF([test "${enable_avcodec}" != "no"], [
2481 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2484 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2485 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2486 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2487 AC_CHECK_HEADERS(libavutil/avutil.h)
2488 VLC_ADD_PLUGIN([avcodec])
2489 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2490 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2491 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2493 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2497 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2504 dnl libva needs avcodec
2506 AC_ARG_ENABLE(libva,
2507 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2509 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2510 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2512 AS_IF([test "${enable_libva}" != "no"], [
2513 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2515 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2516 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2517 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2518 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2519 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2520 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2521 AC_MSG_NOTICE([VAAPI acceleration activated])
2523 AS_IF([test -n "${enable_libva}"], [
2524 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2526 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2531 AS_IF([test -n "${enable_libva}"], [
2532 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2534 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2540 dnl dxva2 needs avcodec
2542 AC_ARG_ENABLE(dxva2,
2543 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2545 AS_IF([test "${enable_dxva2}" != "no"], [
2546 if test "${SYS}" = "mingw32"; then
2547 AS_IF([test "x${have_avcodec}" = "xyes"], [
2548 AC_CHECK_HEADERS(dxva2api.h,
2550 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2551 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2552 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2553 echo "DxVA2 acceleration activated"
2555 AS_IF([test "${enable_dxva2}" = "yes"],
2556 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2557 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2560 AS_IF([test "${enable_dxva2}" = "yes"],
2561 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2562 [AC_MSG_WARN([dxva2api.h not found])])
2565 AS_IF([test "x${enable_dxva2}" != "x"], [
2566 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2574 dnl stream_out switcher needs libavcodec
2576 AC_ARG_ENABLE(switcher,
2577 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2578 AS_IF([test "${enable_switcher}" = "yes"], [
2579 AS_IF([test "x${have_avcodec}" = "xyes"], [
2580 VLC_ADD_PLUGIN([stream_out_switcher])
2581 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2582 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2583 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2589 dnl avformat demuxer/muxer plugin
2592 AC_ARG_ENABLE(avformat,
2593 [ --enable-avformat libavformat containers (default enabled)],, [
2594 enable_avformat="${have_avcodec}"
2596 if test "${enable_avformat}" != "no"
2598 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2601 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2602 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2603 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2604 AC_CHECK_HEADERS(libavutil/avutil.h)
2605 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2606 VLC_ADD_PLUGIN([avformat access_avio])
2607 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2608 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2609 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2610 VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
2613 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2614 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2618 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2623 dnl swscale image scaling and conversion plugin
2626 AC_ARG_ENABLE(swscale,
2627 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2628 (default enabled)]))
2629 if test "${enable_swscale}" != "no"
2631 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2634 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2635 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2636 AC_CHECK_HEADERS(libswscale/swscale.h)
2637 VLC_ADD_PLUGIN([swscale])
2638 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2639 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2640 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2641 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2645 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2653 AC_ARG_ENABLE(postproc,
2654 [ --enable-postproc libpostproc image post-processing (default enabled)])
2655 if test "${enable_postproc}" != "no"
2657 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2660 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2661 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2662 AC_CHECK_HEADERS(postproc/postprocess.h)
2663 VLC_ADD_PLUGIN([postproc])
2664 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2665 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2668 AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.])
2673 dnl faad decoder plugin
2676 [ --enable-faad faad codec (default disabled)])
2677 if test "${enable_faad}" = "yes"
2679 AC_ARG_WITH(faad-tree,
2680 [ --with-faad-tree=PATH faad tree for static linking])
2681 if test -n "${with_faad_tree}"
2683 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2684 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2685 if test -z "${real_faad_tree}"
2687 dnl The given directory can't be found
2689 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2691 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2693 dnl Use a custom faad
2694 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2695 VLC_ADD_PLUGIN([faad])
2696 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2697 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2699 dnl The given libfaad wasn't built
2701 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2704 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2705 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2706 AC_CHECK_HEADERS(faad.h, ,
2707 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2708 AC_CHECK_LIB(faad, faacDecOpen, [
2709 VLC_ADD_PLUGIN([faad])
2710 VLC_ADD_LIBS([faad],[-lfaad]) ],
2711 AC_CHECK_LIB(faad, NeAACDecOpen, [
2712 VLC_ADD_PLUGIN([faad])
2713 VLC_ADD_LIBS([faad],[-lfaad]) ],
2714 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2715 LDFLAGS="${LDFLAGS_save}"
2716 CPPFLAGS="${CPPFLAGS_save}"
2721 dnl twolame encoder plugin
2723 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2726 dnl QuickTime plugin
2728 AC_ARG_ENABLE(quicktime,
2729 [ --enable-quicktime QuickTime module (deprecated)])
2730 if test "${enable_quicktime}" = "yes"; then
2731 if test "${SYS}" = "mingw32"; then
2732 VLC_ADD_PLUGIN([quicktime])
2734 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2735 [ VLC_ADD_PLUGIN([quicktime])
2736 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2737 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2745 [ --enable-real Real video decoder module (default disabled)])
2746 if test "${enable_real}" = "yes"; then
2747 VLC_ADD_PLUGIN([realvideo])
2751 dnl A52/AC3 decoder plugin
2754 [ --enable-a52 A/52 support with liba52 (default enabled)])
2755 if test "${enable_a52}" != "no"
2758 [ --with-a52=PATH a52 headers and libraries])
2759 AC_ARG_WITH(a52-tree,
2760 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2761 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2763 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2764 if test -z "${real_a52_tree}"
2766 dnl The given directory can't be found
2768 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2770 dnl Use a custom a52dec
2771 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2772 if test -f ${real_a52_tree}/include/a52.h
2775 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2776 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2777 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2778 AC_CHECK_LIB(a52, a52_free, [
2779 VLC_ADD_PLUGIN([a52tofloat32])
2780 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2781 VLC_ADD_LIBS([a52tofloat32],[-la52])
2783 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2785 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2787 AC_MSG_ERROR([the specified tree has not been compiled])
2790 LDFLAGS="${LDFLAGS_save}"
2793 AC_MSG_ERROR([the specified tree does not have a52.h])
2796 if test -z "${with_a52}"
2801 LDFLAGS_test="-L${with_a52}/lib"
2802 CPPFLAGS_test="-I${with_a52}/include"
2804 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2805 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2806 AC_CHECK_HEADERS(a52dec/a52.h, [
2807 AC_CHECK_LIB(a52, a52_free, [
2808 VLC_ADD_PLUGIN([a52tofloat32])
2809 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2810 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2812 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.])
2815 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.])
2817 CPPFLAGS="${CPPFLAGS_save}"
2818 LDFLAGS="${LDFLAGS_save}"
2822 AC_ARG_WITH(a52-fixed,
2823 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2825 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2828 dnl DTS Coherent Acoustics decoder plugin
2830 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2835 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2840 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2845 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2850 AC_ARG_ENABLE(tremor,
2851 [ --enable-tremor Tremor decoder support (default disabled)])
2852 if test "${enable_tremor}" = "yes"
2854 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2855 VLC_ADD_PLUGIN([tremor])
2856 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2863 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2865 AS_IF([test "${enable_speex}" != "no"], [
2866 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2869 AS_IF([test -n "${enable_speex}"], [
2870 AC_MSG_ERROR([${SPEEXDSP_PKG_ERRORS}.])
2872 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2876 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2879 dnl theora decoder plugin
2881 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
2884 dnl dirac encoder plugin
2886 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2889 dnl schroedinger decoder plugin (for dirac format video)
2891 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2894 dnl PNG decoder module
2897 [ --enable-png PNG support (default enabled)])
2898 if test "${enable_png}" != "no"; then
2899 AC_CHECK_HEADERS(png.h, [
2900 LDFLAGS="${LDFLAGS_save} -lz"
2901 AC_CHECK_LIB(png, png_set_rows, [
2902 VLC_ADD_LIBS([png],[-lpng -lz -lm])
2903 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2905 LDFLAGS="${LDFLAGS_save}"
2908 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2911 dnl H264 encoder plugin (using libx264)
2914 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2915 if test "${enable_x264}" != "no"; then
2916 AC_ARG_WITH(x264-tree,
2917 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2918 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2920 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2921 if test -z "${real_x264_tree}"
2923 dnl The given directory can't be found
2925 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2927 dnl Use a custom libx264
2928 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2929 if test -f ${real_x264_tree}/x264.h
2932 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2933 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2934 PKG_CHECK_MODULES(X264,x264, [
2935 VLC_ADD_PLUGIN([x264])
2936 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2937 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2938 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2939 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2942 AC_MSG_ERROR([the specified tree has not been compiled])
2944 LDFLAGS="${LDFLAGS_save}"
2947 AC_MSG_ERROR([the specified tree does not have x264.h])
2950 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2951 VLC_ADD_PLUGIN([x264])
2952 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2954 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2955 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2958 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2959 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2960 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2963 if test "${enable_x264}" = "yes"; then
2964 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2967 LDFLAGS="${LDFLAGS_save}"
2972 dnl libfluidsynth (MIDI synthetizer) plugin
2974 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
2977 dnl Teletext Modules
2978 dnl vbi decoder plugin (using libzbvi)
2983 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2984 libzvbi (default enabled)]))
2986 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2987 zvbi) (default enabled if zvbi is absent)]))
2989 AS_IF( [test "${enable_zvbi}" != "no"],[
2990 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2992 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2993 if test "${SYS}" = "mingw32"; then
2994 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2996 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2997 VLC_ADD_PLUGIN([zvbi])
2998 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2999 AS_IF( [test "${enable_telx}" = "yes"],[
3000 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
3003 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
3006 AS_IF( [test "${enable_telx}" != "no" ],[
3007 VLC_ADD_PLUGIN([telx])
3011 dnl libass subtitle rendering module
3013 AC_ARG_ENABLE(libass,
3014 [ --enable-libass Subtitle support using libass (default enabled)])
3015 AS_IF( [test "${enable_libass}" != "no"], [
3016 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
3018 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3019 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3020 VLC_ADD_PLUGIN([libass])
3022 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3023 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3024 VLC_ADD_LIBS([libass],[-lfontconfig])
3027 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
3032 dnl kate decoder plugin
3034 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
3037 dnl tiger rendering for kate decoder plugin
3039 AC_ARG_ENABLE(tiger,
3040 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
3041 AS_IF([test "${enable_tiger}" != "no"], [
3042 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3043 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3044 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3045 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3046 AS_IF([test -n "${enable_tiger}"], [
3047 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
3057 EXTEND_HELP_STRING([Video plugins:])
3062 PKG_CHECK_MODULES([GL], [gl], [
3065 AC_CHECK_HEADER([GL/gl.h], [
3074 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
3075 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3076 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
3077 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3080 [ --enable-egl OpenGL support through EGL (default disabled)],, [
3083 AS_IF([test "$enable_egl" != "no"], [
3084 PKG_CHECK_MODULES([EGL], [egl], [
3085 VLC_ADD_PLUGIN([gl])
3086 VLC_ADD_PLUGIN([egl])
3095 AC_CHECK_HEADERS(X11/Xlib.h)
3098 dnl X C Bindings modules
3101 [ --enable-xcb X11 support with XCB (default enabled)],, [
3102 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3108 AC_ARG_ENABLE(xvideo,
3109 [ --enable-xvideo XVideo support (default enabled)],, [
3110 enable_xvideo="$enable_xcb"
3113 [ --enable-glx OpenGL support through GLX (default enabled)],, [
3114 enable_glx="$enable_xcb"
3118 AS_IF([test "${enable_xcb}" != "no"], [
3120 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3122 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3123 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3125 AS_IF([test "${enable_xvideo}" != "no"], [
3126 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3127 VLC_ADD_PLUGIN([xcb_xv])
3131 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3132 VLC_ADD_PLUGIN([panoramix])
3133 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3134 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3136 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
3140 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3141 PKG_CHECK_MODULES(XPROTO, [xproto])
3142 VLC_ADD_PLUGIN([globalhotkeys])
3143 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3144 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3145 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3147 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
3150 AS_IF([test "${enable_glx}" != "no"], [
3151 AS_IF([test "${have_gl}" != "yes"], [
3152 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
3154 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb], [
3155 VLC_ADD_PLUGIN([xcb_glx])
3157 AC_MSG_ERROR([${XLIB_XCB_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
3161 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3167 [ --enable-sdl SDL support (default enabled)])
3168 AC_ARG_ENABLE(sdl-image,
3169 [ --enable-sdl-image SDL image support (default enabled)])
3170 if test "${enable_sdl}" != "no"
3172 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3173 # SDL on Darwin is heavily patched and can only run SDL_image
3174 if test "${SYS}" != "darwin"; then
3175 VLC_ADD_PLUGIN([vout_sdl])
3177 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3178 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3180 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3181 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3184 AS_IF([ test "${enable_sdl_image}" != "no"],[
3185 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3186 VLC_ADD_PLUGIN([sdl_image])
3187 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3188 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3189 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3193 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3200 AC_ARG_ENABLE(macosx-vout,
3201 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3202 if test "x${enable_macosx_vout}" != "xno" &&
3203 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3205 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3206 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3207 VLC_ADD_PLUGIN([vout_macosx])
3214 AC_ARG_ENABLE(freetype,
3215 [ --enable-freetype freetype support (default auto)])
3216 AC_ARG_ENABLE(fribidi,
3217 [ --enable-fribidi fribidi support (default auto)])
3218 AC_ARG_ENABLE(fontconfig,
3219 [ --enable-fontconfig fontconfig support (default auto)])
3221 if test "${enable_freetype}" != "no"; then
3222 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3224 VLC_ADD_PLUGIN([freetype])
3225 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3226 if test "${SYS}" = "mingw32"; then
3227 VLC_ADD_LIBS([freetype],[-liconv -lz])
3229 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3231 AC_CHECK_HEADERS(Carbon/Carbon.h,
3232 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3234 dnl fontconfig support
3235 if test "${SYS}" != "mingw32"; then
3236 if test "${enable_fontconfig}" != "no"; then
3237 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3238 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3239 VLC_ADD_LIBS([freetype],[-lfontconfig])
3240 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3243 VLC_ADD_LIBS([freetype],[-lgdi32])
3247 if test "${enable_fribidi}" != "no"; then
3248 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3249 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3250 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3251 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3256 AS_IF([test -n "${enable_freetype}"],[
3257 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3264 dnl QuartzText vout module (iOS/Mac OS)
3266 AC_ARG_ENABLE(macosx-quartztext,
3267 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3268 if test "x${enable_macosx_quartztext}" != "xno" &&
3269 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3271 VLC_ADD_PLUGIN([quartztext])
3272 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3278 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3281 dnl android surface module
3283 AC_ARG_ENABLE(android-surface,
3284 [ --enable-android-surface Android Surface video output module (default disabled)])
3285 if test "${enable_android_surface}" = "yes"; then
3286 if test "${HAVE_ANDROID}" = "1"; then
3287 VLC_ADD_PLUGIN([android_surface])
3288 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3296 AC_ARG_ENABLE(ios-vout,
3297 [ --enable-ios-vout iOS video output module (default disabled)])
3298 if test "${enable_ios_vout}" = "yes"
3300 VLC_ADD_PLUGIN([vout_ios])
3301 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3302 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3306 dnl Windows DirectX module
3309 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3311 VLC_ADD_PLUGIN([panoramix])
3314 AC_ARG_ENABLE(directx,
3315 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3316 if test "${enable_directx}" != "no"; then
3317 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
3319 AC_CHECK_HEADERS(ddraw.h,
3320 [ VLC_ADD_PLUGIN([directx aout_directx])
3321 VLC_ADD_LIBS([directx],[-luser32 -lgdi32])
3322 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3326 AC_CHECK_HEADERS(GL/wglew.h,
3327 [ VLC_ADD_PLUGIN([glwin32])
3328 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3330 #include <windows.h>
3335 AC_CHECK_HEADERS(d3d9.h,
3336 [ VLC_ADD_PLUGIN([direct3d])
3337 VLC_ADD_LIBS([direct3d],[-lgdi32])
3339 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3344 dnl Windows Direct2D plugin
3346 AC_ARG_ENABLE(direct2d,
3347 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [
3348 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3349 enable_direct2d="no"
3352 AS_IF([test "${enable_direct2d}" != "no"], [
3353 AC_CHECK_HEADERS(d2d1.h, [
3354 VLC_ADD_PLUGIN([direct2d])
3355 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3357 AC_MSG_WARN([Cannot find Direct2D headers!])
3362 dnl win32 GDI plugin
3364 AC_ARG_ENABLE(wingdi,
3365 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3366 if test "${enable_wingdi}" != "no"; then
3367 if test "${SYS}" = "mingw32"; then
3368 VLC_ADD_PLUGIN([wingdi])
3369 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3371 if test "${SYS}" = "mingwce"; then
3372 VLC_ADD_PLUGIN([wingdi wingapi])
3373 VLC_ADD_LIBS([wingdi],[-laygshell])
3374 VLC_ADD_LIBS([wingapi],[-laygshell])
3380 dnl Linux framebuffer module
3382 AC_CHECK_HEADER([linux/fb.h], [
3383 VLC_ADD_PLUGIN([fb])
3389 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3390 dnl TODO: support for static linking
3392 AC_ARG_ENABLE(directfb,
3393 [ --enable-directfb DirectFB support (default disabled)])
3394 AC_ARG_WITH(directfb,
3395 [ --with-directfb=PATH path to DirectFB headers and libraries])
3397 if test "${enable_directfb}" = "yes"; then
3398 have_directfb="false"
3399 CPPFLAGS_mydirectfb=
3401 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3402 dnl Trying the given location
3403 CPPFLAGS_save="${CPPFLAGS}"
3406 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3407 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3408 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3410 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3411 LIBS="${LIBS} ${LIBS_new}"
3413 dnl FIXME: too obscure
3414 AC_CHECK_HEADER([directfb.h], [
3415 AC_CHECK_LIB([direct],[direct_initialize], [
3416 AC_CHECK_LIB([fusion], [fusion_enter], [
3417 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3418 ], have_directfb="false")
3419 ], have_directfb="false")
3420 ], have_directfb="false")
3423 CPPFLAGS="${CPPFLAGS_save}"
3426 if test "${have_directfb}" = "true"; then
3427 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3428 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3431 dnl Look for directfb-config
3432 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3433 if test "${DIRECTFB_CONFIG}" != "no"; then
3434 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3435 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3436 have_directfb="true"
3438 dnl Trying with pkg-config
3439 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3440 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3441 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3442 have_directfb="true"
3443 ], [have_directfb="false"])
3446 if test "${have_directfb}" = "true"; then
3447 VLC_ADD_PLUGIN([directfb])
3448 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3449 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3451 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3459 [ --enable-aa aalib output (default disabled)])
3460 if test "${enable_aa}" = "yes"
3462 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3463 if test "${have_aa}" = "true"
3465 VLC_ADD_PLUGIN([aa])
3466 VLC_ADD_LIBS([aa],[-laa])
3467 if test "${SYS}" != "mingw32"; then
3468 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3476 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3482 EXTEND_HELP_STRING([Audio plugins:])
3485 dnl Pulseaudio module
3487 AC_ARG_ENABLE(pulse,
3488 [AS_HELP_STRING([--enable-pulse],
3489 [use the PulseAudio client library (default auto)])])
3491 AS_IF([test "${enable_pulse}" != "no"], [
3492 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3495 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3496 AS_IF([test "${no_x}" != "yes"], [
3498 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3500 AS_IF([test "${enable_pulse}" = "yes"], [
3501 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3502 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3506 AS_IF([test "x${enable_pulse}" != "x"], [
3507 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3512 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3518 [AS_HELP_STRING([--enable-alsa],
3519 [support the Advanced Linux Sound Architecture (default auto)])],, [
3520 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3525 AS_IF([test "${enable_alsa}" != "no"], [
3526 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3529 AS_IF([test "x${enable_alsa}" != "x"], [
3530 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3534 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3537 dnl Open Sound System module
3540 [AS_HELP_STRING([--enable-oss],
3541 [support the Open Sound System OSS (default enabled on BSD)])],, [
3542 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3548 AS_IF([test "$enable_oss" != "no"], [
3549 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3551 AC_CHECK_LIB(ossaudio, main, [
3552 OSS_LIBS="-lossaudio"
3557 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3560 dnl Portaudio module
3562 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3565 dnl win32 waveOut plugin
3567 AC_ARG_ENABLE(waveout,
3568 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3569 if test "${enable_waveout}" != "no"; then
3570 if test "${SYS}" = "mingw32"; then
3571 VLC_ADD_PLUGIN([waveout])
3572 VLC_ADD_LIBS([waveout],[-lwinmm])
3574 if test "${SYS}" = "mingwce"; then
3575 VLC_ADD_PLUGIN([waveout])
3580 dnl CoreAudio plugin
3582 AC_ARG_ENABLE(macosx-audio,
3583 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3584 if test "x${enable_macosx_audio}" != "xno" &&
3585 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3587 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3588 [ VLC_ADD_PLUGIN([auhal])
3589 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3590 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3594 dnl AudioQueue plugin
3596 AC_ARG_ENABLE(audioqueue,
3597 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3598 if test "${enable_audioqueue}" = "yes"
3600 VLC_ADD_PLUGIN([audioqueue])
3601 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3607 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3610 dnl OpenSLES Android
3612 AC_ARG_ENABLE(opensles,
3613 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3614 if test "${HAVE_ANDROID}" = "1"; then
3615 if test "${enable_opensles}" = "yes"; then
3616 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3617 [ VLC_ADD_PLUGIN([opensles_android]) ],
3618 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3623 dnl libsamplerate plugin
3625 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3631 [AS_HELP_STRING([--enable-kai],
3632 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3633 AS_IF([test "$SYS" = "os2"], [
3639 AS_IF([test "$enable_kai" != "no"], [
3640 AC_CHECK_HEADERS([kai.h], [
3642 AC_CHECK_LIB(kai, main, [
3648 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3651 dnl Interface plugins
3654 EXTEND_HELP_STRING([Interface plugins:])
3659 AC_ARG_ENABLE(skins2,
3660 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3661 AS_IF([test "${enable_skins2}" != "no"], [
3662 have_skins_deps="yes"
3663 AS_IF([test "${SYS}" = "mingw32"], [
3664 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3665 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3666 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3668 ], [test "${SYS}" = "darwin"], [
3669 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3670 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3671 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3674 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3675 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3676 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3677 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3678 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3679 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3682 AS_IF([test "${have_freetype}" != "yes"], [
3683 have_skins_deps="no"
3686 AS_IF([test "${have_skins_deps}" = "no"], [
3687 AS_IF([test "x${enable_skins2}" = "x"], [
3688 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3690 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3694 VLC_ADD_PLUGIN([skins2])
3695 ALIASES="${ALIASES} svlc"
3698 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3700 AC_ARG_ENABLE(libtar,
3701 [ --enable-libtar libtar support for skins2 (default auto)])
3702 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3703 AC_CHECK_HEADERS(libtar.h, [
3704 VLC_ADD_LIBS([skins2],[-ltar])
3711 AC_ARG_ENABLE(hildon,
3712 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3713 AS_IF([test "${enable_hildon}" = "yes"], [
3714 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3715 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3716 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3717 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3719 AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.])
3721 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3722 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3723 VLC_ADD_PLUGIN([hildon])
3724 ALIASES="${ALIASES} mvlc"
3726 AS_IF([test "${enable_hildon}" = "yes"],[
3727 AC_MSG_ERROR([${HILDON_PKG_ERRORS}.])
3732 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3738 [ --enable-qt4 Qt 4 support (default enabled) ],, [
3739 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3741 AS_IF([test "${enable_qt4}" != "no"], [
3742 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [
3743 VLC_ADD_PLUGIN([qt4])
3744 VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3745 VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3746 ALIASES="${ALIASES} qvlc"
3749 CPPFLAGS_save="${CPPFLAGS}"
3751 AC_MSG_CHECKING([whether Qt uses X11])
3752 CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3753 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3755 #if !defined (Q_WS_X11)
3759 AC_MSG_RESULT([yes])
3760 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3761 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3766 CPPFLAGS="${CPPFLAGS_save}"
3769 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3770 VLC_ADD_LIBS([qt4],[-lole32])
3772 AS_IF([test "${SYS}" = "darwin" ],[
3773 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3775 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3776 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3777 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3779 AS_IF([test -n "${enable_qt4}"],[
3780 AC_MSG_ERROR([${QT4_PKG_ERRORS}.])
3782 AC_MSG_WARN([${QT4_PKG_ERRORS}.])
3787 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3790 dnl Simple test for skins2 dependency
3792 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3793 AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. 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.])
3797 dnl MacOS X gui module
3799 AC_ARG_ENABLE(macosx,
3800 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3801 if test "x${enable_macosx}" != "xno" &&
3802 (test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes")
3804 VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
3805 VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
3806 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Carbon])
3807 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
3808 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,AGL])
3809 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit])
3810 VLC_ADD_LIBS([macosx], [-Wl,-framework,IOKit])
3811 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
3812 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle])
3813 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit])
3814 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit])
3816 VLC_ADD_LIBS([macosx], [-Wl,-framework,AddressBook])
3817 VLC_ADD_LIBS([macosx], [-Wl,-framework,WebKit])
3818 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3820 VLC_ADD_PLUGIN([macosx minimal_macosx])
3824 dnl MacOS X dialor provider
3826 AC_ARG_ENABLE(macosx-dialog-provider,
3827 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3828 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3829 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3831 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3832 VLC_ADD_PLUGIN([macosx_dialog_provider])
3838 AC_ARG_ENABLE(ncurses,
3839 [ --disable-ncurses ncurses interface support (default disabled)],
3840 [if test "${enable_ncurses}" != "no"; then
3841 AC_CHECK_HEADER(ncurses.h,
3842 [AC_CHECK_LIB(ncursesw, mvprintw,
3843 [VLC_ADD_PLUGIN([ncurses])
3844 VLC_ADD_LIBS([ncurses],[-lncursesw])
3845 ALIASES="${ALIASES} nvlc"
3846 AC_CHECK_LIB(ncursesw, tgetent, [],
3847 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3848 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3849 [AS_IF([test "${enable_ncurses}" = "yes"],
3850 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3856 [AS_IF([test "${enable_ncurses}" = "yes"], [
3857 AC_MSG_ERROR([libncursesw not found])])]
3859 [AS_IF([test "${enable_ncurses}" = "yes"], [
3860 AC_MSG_ERROR([ncurses.h not found])])]
3869 [ --enable-xosd xosd interface support (default disabled)])
3870 if test "${enable_xosd}" = "yes"
3872 AC_CHECK_HEADERS(xosd.h,
3873 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3874 VLC_ADD_PLUGIN([xosd])
3875 VLC_ADD_LIBS([xosd],[-lxosd])
3881 dnl Framebuffer (overlay) plugin
3883 AC_ARG_ENABLE(fbosd,
3884 [ --enable-fbosd fbosd interface support (default disabled)])
3885 if test "${enable_fbosd}" = "yes"
3887 AC_CHECK_HEADERS(linux/fb.h, [
3888 VLC_ADD_PLUGIN([fbosd])
3896 [ --enable-lirc lirc support (default disabled)])
3897 if test "${enable_lirc}" = "yes"
3899 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3900 if test "${have_lirc}" = "true"
3902 VLC_ADD_PLUGIN([lirc])
3903 VLC_ADD_LIBS([lirc],[-llirc_client])
3907 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3909 dnl Visualisation plugin
3911 AC_ARG_ENABLE(visual,
3912 [ --enable-visual visualisation plugin (default enabled)])
3913 if test "${enable_visual}" != "no"
3915 VLC_ADD_PLUGIN([visual])
3919 dnl goom visualization plugin
3921 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3924 dnl libprojectM visualization plugin
3926 AC_ARG_ENABLE(projectm,
3927 [ --enable-projectm projectM visualization plugin (default enabled)])
3928 AS_IF([test "${enable_projectm}" != "no"],
3930 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3932 VLC_ADD_PLUGIN([projectm])
3933 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3934 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3935 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3936 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3937 [ AC_MSG_WARN( [Using libprojectM version 1] )
3940 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3945 dnl AtmoLight (homemade Philips Ambilight clone)
3948 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3949 (default enabled)]),, [enable_atmo="yes"])
3950 AS_IF([test "${enable_atmo}" != no], [
3951 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3953 VLC_ADD_PLUGIN([atmo])
3958 EXTEND_HELP_STRING([Service Discovery plugins:])
3960 dnl Bonjour services discovery
3961 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3964 dnl libudev services discovery
3965 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3968 dnl MTP devices services discovery
3969 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3972 dnl UPnP Plugin (Intel SDK)
3974 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3975 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3977 EXTEND_HELP_STRING([Misc options:])
3982 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3988 AC_ARG_ENABLE(libgcrypt,
3989 [ --disable-libgcrypt gcrypt support (default enabled)])
3990 AS_IF([test "${enable_libgcrypt}" != "no"], [
3991 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3992 libgcrypt-config --version >/dev/null || \
3993 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3994 AC_CHECK_LIB(gcrypt, gcry_control, [
3995 have_libgcrypt="yes"
3996 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3997 GCRYPT_LIBS="`libgcrypt-config --libs`"
3999 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4000 ], [`libgcrypt-config --libs`])
4002 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4003 ], [#include <gcrypt.h>]
4007 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4008 AS_IF([test "${have_libgcrypt}" = "yes"],[
4009 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4012 AC_SUBST(GCRYPT_CFLAGS)
4013 AC_SUBST(GCRYPT_LIBS)
4014 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4019 AC_ARG_ENABLE(gnutls,
4020 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
4022 AS_IF([test "${have_libgcrypt}" != "yes"], [
4023 AS_IF([test "${enable_gnutls}" = "yes"], [
4024 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
4028 AS_IF([test "${enable_gnutls}" != "no"], [
4029 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
4030 VLC_ADD_PLUGIN([gnutls])
4031 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4032 AS_IF([test "${SYS}" = "mingw32"], [
4033 dnl pkg-config --libs gnutls omits these
4034 VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
4036 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4037 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4038 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4040 AS_IF([test -n "${enable_gnutls}"], [
4041 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
4048 dnl RemoteOSD plugin (VNC client as video filter)
4050 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
4051 AS_IF([test "${have_libgcrypt}" = "yes"],[
4053 VLC_ADD_PLUGIN([remoteosd])
4054 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4055 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4058 AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4065 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4066 AS_IF([test "${have_libgcrypt}" = "yes"], [
4068 VLC_ADD_PLUGIN([stream_out_raop])
4069 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4070 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4073 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4078 dnl Nokia MCE plugin (Maemo screen unblanking)
4080 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
4083 AS_IF([test -f "/etc/maemo_version"], [
4084 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4091 AC_ARG_ENABLE(taglib,
4092 [AS_HELP_STRING([--disable-taglib],
4093 [do not use TagLib (default enabled)])])
4094 AS_IF([test "${enable_taglib}" != "no"], [
4095 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
4096 VLC_ADD_PLUGIN([taglib])
4097 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
4098 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
4100 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
4105 dnl update checking system
4107 AC_ARG_ENABLE(update-check,
4108 [ --enable-update-check update checking system (default disabled)])
4109 if test "${enable_update_check}" = "yes"
4111 if test "${have_libgcrypt}" != "yes"
4113 AC_MSG_ERROR([libgcrypt is required for update checking system])
4115 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4116 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4117 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4121 dnl Growl notification plugin
4123 AC_ARG_ENABLE(growl,
4124 [ --enable-growl growl notification plugin (default disabled)],,
4126 AS_IF([test "${enable_growl}" != "no"], [
4127 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
4128 VLC_ADD_PLUGIN([growl])
4129 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
4130 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
4131 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
4137 dnl Libnotify notification plugin
4139 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
4144 AC_ARG_ENABLE(media-library,
4145 [ --enable-media-library media library (default disabled)])
4146 AS_IF([test "${enable_media_library}" = "yes"], [
4147 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4148 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4149 VLC_ADD_PLUGIN([media_library])
4154 AS_IF([test "${SYS}" != "darwin"], [
4155 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4157 AS_IF([test "${enable_sqlite}" != "no"], [
4158 AC_CHECK_HEADERS(sqlite3.h, [
4159 VLC_ADD_PLUGIN([sqlite])
4160 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4162 AC_MSG_ERROR([sqlite3 is required for the media library])
4170 dnl Endianness check
4173 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4174 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4178 AC_SUBST(DEFS_BIGENDIAN)
4181 dnl Where to install KDE solid .desktop
4183 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4184 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4185 KDE4_CONFIG="kde4-config"
4188 AC_ARG_WITH(kde-solid,
4189 AS_HELP_STRING([--with-kde-solid=PATH],
4190 [KDE Solid actions directory (auto)]),, [
4192 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4193 with_kde_solid="yes"
4197 AS_IF([test "${with_kde_solid}" != "no"], [
4198 AS_IF([test "${with_kde_solid}" = "yes"], [
4199 kde4datadir="`${KDE4_CONFIG} --install data`"
4200 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4201 soliddatadir="${kde4datadir}/solid/actions"
4203 soliddatadir="${with_kde_solid}"
4206 AC_SUBST(soliddatadir)
4207 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4210 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4213 AC_ARG_ENABLE(loader,
4214 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4215 (default disabled)]))
4216 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4217 AS_IF([test "${enable_loader}" = "yes"],
4218 [ VLC_ADD_PLUGIN([dmo])
4219 VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/modules/codec/loader])
4220 VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la])
4221 VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4222 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4225 EXTEND_HELP_STRING([Components:])
4231 [ --enable-vlc build the VLC media player (default enabled)])
4232 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4234 AC_ARG_ENABLE(macosx-vlc-app,
4235 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4236 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4237 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4240 dnl Stuff used by the program
4242 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4243 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4244 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4245 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4246 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4247 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4248 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4249 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4250 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4251 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4252 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4253 AC_SUBST(COPYRIGHT_MESSAGE)
4254 AC_SUBST(VERSION_MESSAGE)
4255 AC_SUBST(VERSION_MAJOR)
4256 AC_SUBST(VERSION_MINOR)
4257 AC_SUBST(VERSION_REVISION)
4258 AC_SUBST(VERSION_EXTRA)
4259 AC_SUBST(COPYRIGHT_YEARS)
4260 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4261 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4262 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4264 dnl Handle substvars that use $(top_srcdir)
4266 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4274 dnl Sort the modules list
4276 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4279 dnl Configuration is finished
4289 AC_SUBST(WINE_SDK_PATH)
4291 AC_SUBST(AM_CPPFLAGS)
4292 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4293 AC_SUBST(FILE_LIBVLCCORE_DLL)
4294 AC_SUBST(FILE_LIBVLC_DLL)
4309 modules/access/Makefile
4310 modules/access/bd/Makefile
4311 modules/access/dshow/Makefile
4312 modules/access/mms/Makefile
4313 modules/access/rtp/Makefile
4314 modules/access/rtsp/Makefile
4315 modules/access/vcd/Makefile
4316 modules/access/vcdx/Makefile
4317 modules/access/screen/Makefile
4318 modules/access/zip/Makefile
4319 modules/access/zip/unzip/Makefile
4320 modules/access_output/Makefile
4321 modules/audio_filter/Makefile
4322 modules/audio_mixer/Makefile
4323 modules/audio_output/Makefile
4324 modules/codec/Makefile
4325 modules/codec/avcodec/Makefile
4326 modules/codec/dmo/Makefile
4327 modules/codec/loader/Makefile
4328 modules/codec/omxil/Makefile
4329 modules/codec/shine/Makefile
4330 modules/codec/spudec/Makefile
4331 modules/codec/wmafixed/Makefile
4332 modules/control/Makefile
4333 modules/control/dbus/Makefile
4334 modules/control/globalhotkeys/Makefile
4335 modules/demux/Makefile
4336 modules/demux/asf/Makefile
4337 modules/demux/avformat/Makefile
4338 modules/demux/avi/Makefile
4339 modules/demux/mkv/Makefile
4340 modules/demux/mp4/Makefile
4341 modules/demux/mpeg/Makefile
4342 modules/demux/playlist/Makefile
4343 modules/gui/Makefile
4344 modules/gui/macosx/Makefile
4345 modules/gui/hildon/Makefile
4346 modules/gui/minimal_macosx/Makefile
4347 modules/gui/macosx_dialog_provider/Makefile
4348 modules/gui/qt4/Makefile
4349 modules/gui/skins2/Makefile
4350 modules/lua/Makefile
4351 modules/meta_engine/Makefile
4352 modules/misc/Makefile
4353 modules/misc/playlist/Makefile
4354 modules/misc/osd/Makefile
4355 modules/misc/stats/Makefile
4356 modules/media_library/Makefile
4357 modules/mux/Makefile
4358 modules/mux/mpeg/Makefile
4359 modules/notify/Makefile
4360 modules/packetizer/Makefile
4361 modules/services_discovery/Makefile
4362 modules/stream_filter/Makefile
4363 modules/stream_filter/dash/Makefile
4364 modules/stream_out/Makefile
4365 modules/stream_out/transcode/Makefile
4366 modules/text_renderer/Makefile
4367 modules/video_chroma/Makefile
4368 modules/video_filter/Makefile
4369 modules/video_filter/dynamicoverlay/Makefile
4370 modules/video_output/Makefile
4371 modules/video_output/msw/Makefile
4372 modules/visualization/Makefile
4373 modules/visualization/visual/Makefile
4374 modules/mmx/Makefile
4375 modules/mmxext/Makefile
4376 modules/3dnow/Makefile
4377 modules/sse2/Makefile
4378 modules/altivec/Makefile
4379 modules/arm_neon/Makefile
4382 AM_COND_IF([HAVE_WIN32], [
4384 extras/package/win32/spad.nsi
4385 extras/package/win32/vlc.win32.nsi
4389 AM_COND_IF([HAVE_DARWIN], [
4391 extras/package/macosx/Info.plist
4392 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4396 dnl Generate makefiles
4399 dnl Do we have to use make or gmake ?
4400 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4401 dnl Shortcut to nice compile message
4403 if test -n $SHELL; then
4404 SHELL=${CONFIG_SHELL-/bin/sh}
4406 echo '#! '$SHELL >compile
4407 echo rm -f .error\$\$ >>compile
4408 echo ERROR=0 >>compile
4409 echo export PATH=$PATH LANG=C >>compile
4410 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4411 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4412 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4413 echo rm -f .error\$\$ >>compile
4414 echo exit \$ERROR >>compile
4418 libvlc configuration
4419 --------------------
4420 version : ${VERSION}
4422 architecture : ${ARCH}
4423 optimizations : ${enable_optimizations}"
4424 if test "${enable_vlc}" != "no"; then
4425 echo "vlc aliases :${ALIASES}"
4427 echo "build vlc executable : no"
4430 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."