1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
5 AC_INIT(vlc, 1.2.0-git)
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}"
61 AC_USE_SYSTEM_EXTENSIONS
62 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
63 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
64 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
65 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
66 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
72 _AM_DEPENDENCIES([OBJC])
78 dnl Find the right ranlib, even when cross-compiling
79 AC_CHECK_TOOL(RANLIB, ranlib, :)
80 AC_CHECK_TOOL(STRIP, strip, :)
81 AC_CHECK_TOOL(AR, ar, :)
82 AC_CHECK_TOOL(LD, ld, :)
83 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
85 dnl Check for compiler properties
90 dnl Extend the --help string at the current spot.
91 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
93 dnl Allow binary package maintainer to pass a custom string to avoid
95 AC_ARG_WITH(binary-version,
96 AS_HELP_STRING([--with-binary-version=STRING],
97 [To avoid plugins cache problem between binary version]),[],[])
98 AS_IF([test -n "${with_binary_version}"],[
99 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
100 [Binary specific version])
104 dnl Check for the contrib directory
107 [AS_HELP_STRING([--with-contrib[=DIR]],
108 [search for 3rd party libraries in DIR/include and DIR/lib])
110 AC_MSG_CHECKING([for 3rd party libraries path])
111 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
112 CONTRIB_DIR="${srcdir}/contrib/${host}"
113 AS_IF([test ! -d "${CONTRIB_DIR}"], [
114 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
115 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
116 AS_IF([test ! -d "${CONTRIB_DIR}"], [
117 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
118 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
119 AS_IF([test ! -d "${CONTRIB_DIR}"], [
120 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
121 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
122 AS_IF([test ! -d "${CONTRIB_DIR}"], [
123 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
125 AC_MSG_RESULT([not found])
131 AS_IF([test "${with_contrib}" != "no"], [
132 CONTRIB_DIR="${with_contrib}"
135 AC_MSG_RESULT([disabled])
138 AS_IF([test -n "${CONTRIB_DIR}"], [
139 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
140 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
142 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
144 AC_MSG_RESULT([not usable])
148 AS_IF([test -n "${CONTRIB_DIR}"], [
149 AC_MSG_RESULT([${CONTRIB_DIR}])
150 export PATH=${CONTRIB_DIR}/bin:$PATH
151 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
152 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
153 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
154 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
155 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
156 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
157 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
158 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
159 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
160 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
162 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
164 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
165 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
167 AS_IF([test "${SYS}" = "darwin"], [
168 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
169 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
172 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
173 AC_MSG_ERROR([Third party libraries not found!])
176 AC_SUBST(CONTRIB_DIR)
179 dnl Set default values
181 LDFLAGS_vlc="${LDFLAGS}"
184 dnl Check the operating system
196 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
197 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
201 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
204 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
205 CPPFLAGS="${CPPFLAGS_save}"
206 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
207 LDFLAGS="${LDFLAGS_save}"
210 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
211 CPPFLAGS="${CPPFLAGS_save}"
212 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
213 LDFLAGS="${LDFLAGS_save}"
219 dnl Force gcc "-arch" flag
223 ARCH_flag="-arch i386"
226 ARCH_flag="-arch ppc64"
229 ARCH_flag="-arch ppc"
232 ARCH_flag="-arch x86_64"
237 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
238 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
239 CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
240 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
241 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
242 VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
243 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
244 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
245 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
246 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
247 AC_ARG_ENABLE(macosx-defaults,
248 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
249 if test "x${enable_macosx_defaults}" != "xno"
252 echo "Building with Mac OS X defaults:"
254 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
255 ac_default_prefix="${build_dir}/vlc_install_dir"
257 echo " Assuming --enable-faad"
259 echo " Assuming --enable-flac"
261 echo " Assuming --enable-theora"
263 echo " Assuming --enable-shout"
265 echo " Assuming --enable-vcdx"
267 echo " Assuming --enable-caca"
269 echo " Assuming --enable-ncurses"
271 echo " Assuming --enable-twolame"
272 enable_realrtsp="yes"
273 echo " Assuming --enable-realrtsp"
275 echo " Assuming --enable-libass"
278 echo " Assuming --disable-skins2"
280 echo " Assuming --disable-xcb"
283 dnl Check for Mac OS X SDK settings
285 AC_ARG_WITH(macosx-sdk,
286 [AS_HELP_STRING([--with-macosx-sdk=DIR],
287 [compile using the SDK in DIR])])
288 if test "${with_macosx_sdk}" != "" ; then
289 CPP="${CPP} -isysroot ${with_macosx_sdk}"
290 CC="${CC} -isysroot ${with_macosx_sdk}"
291 CXX="${CXX} -isysroot ${with_macosx_sdk}"
292 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
293 LD="${LD} -syslibroot ${with_macosx_sdk}"
295 echo " No desired SDK version given, falling back to 10.5"
296 CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
297 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
298 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
299 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
300 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
301 with_macosx_version_min="10.5"
302 echo " Assuming --with-macosx-version-min=10.5"
304 AC_ARG_WITH(macosx-version-min,
305 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
306 [compile for MacOS X VERSION and above])])
307 if test "${with_macosx_version_min}" != "" ; then
308 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
309 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
310 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
311 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
312 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
313 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
314 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
315 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
316 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
317 export MACOSX_DEPLOYMENT_TARGET
320 *mingw32* | *cygwin* | *wince* | *mingwce*)
321 AC_CHECK_TOOL(WINDRES, windres, :)
322 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
323 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
324 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
327 *wince* | *mingwce* | *mingw32ce*)
329 dnl Sadly CeGCC still needs non-wince macros
335 dnl Check if we are using the mno-cygwin mode in which case we are
336 dnl actually dealing with a mingw32 compiler.
341 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
345 if test "${SYS}" = "mingw32"; then
346 VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm])
347 VLC_ADD_LDFLAGS([vlc],[-mwindows])
348 VLC_ADD_LIBS([win32text],[-lgdi32])
349 VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm])
351 dnl DEP and ASLR options
354 [AS_HELP_STRING([--with-peflags],
355 [use peflags (default enabled on Windows)])])
356 if test "${with_peflags}" != "no" ; then
357 AC_PATH_TOOL(PEFLAGS, peflags, :)
359 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
360 ac_default_prefix="`pwd`/_win32"
361 DESTDIR="`pwd`/_win32/"
364 dnl NSIS Installer prefix and WIN64
367 amd64*|i686-w64*|x86_64*)
369 PROGRAMFILES="PROGRAMFILES64"
372 PROGRAMFILES="PROGRAMFILES"
375 AC_SUBST(PROGRAMFILES)
378 if test "${SYS}" = "mingwce"; then
379 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
380 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
381 ac_default_prefix="`pwd`/_wince"
382 DESTDIR="`pwd`/_wince/"
399 LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
405 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
406 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
407 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
408 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
409 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
410 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
411 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
412 AM_CONDITIONAL(USE_PEFLAGS, test "${with_peflags}" = "yes")
415 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
416 dnl for program foo on win32
418 case "${build_os}" in
420 ac_executable_extensions=".exe"
426 dnl Android is linux, but a bit different
427 AS_IF([test "$SYS" = linux],[
428 AC_MSG_CHECKING([for an Android system])
429 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
430 [[#ifndef __ANDROID__
441 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
445 dnl It's very bad, but our former custom system was worst
449 dnl override platform specific check for dependent libraries
450 dnl otherwise libtool linking of shared libraries will
451 dnl fail on anything other than pass_all.
452 AC_CACHE_VAL(lt_cv_deplibs_check_method,
453 [lt_cv_deplibs_check_method=pass_all])
455 LT_INIT([dlopen win32-dll shared disable-static])
457 LT_LANG([Windows Resource])
459 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
460 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
462 lt_cv_deplibs_check_method=pass_all
464 AS_IF([test "${enable_shared}" = "no"], [
465 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
471 AM_GNU_GETTEXT_VERSION([0.18.1])
472 AM_GNU_GETTEXT([external])
473 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
479 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
480 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
482 dnl Check for broken versions of mingw-runtime compatability library
483 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
484 AC_MSG_CHECKING(for broken mingw-runtime)
485 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
487 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
488 #ifndef __MINGW64_VERSION_MAJOR
489 # error Attempting to use mingw-runtime with broken vsnprintf support
495 AC_MSG_RESULT([present])
496 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
498 dnl force use of mingw provided c99 *printf over msvcrt
499 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
500 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
503 dnl Check for the need to include the mingwex lib for mingw32
504 if test "${SYS}" = "mingw32" ; then
505 AC_CHECK_LIB(mingwex,opendir,
506 AC_CHECK_LIB(mingw32,opendir,,
507 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
511 dnl Check for fnative-struct or mms-bitfields support for mingw32
512 if test "${SYS}" = "mingw32" ; then
513 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
514 [ac_cv_c_mms_bitfields],
515 [CFLAGS="${CFLAGS_save} -mms-bitfields"
516 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
517 if test "${ac_cv_c_mms_bitfields}" != "no"; then
518 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
519 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
521 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
522 [ac_cv_c_fnative_struct],
523 [CFLAGS="${CFLAGS_save} -fnative-struct"
524 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
525 if test "${ac_cv_c_fnative_struct}" != "no"; then
526 CFLAGS_save="${CFLAGS_save} -fnative-struct";
527 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
531 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
535 dnl Buggy glibc prevention. Purposedly not cached.
536 dnl See sourceware.org bugs 5058 and 5443.
537 dnl Ubuntu alone has 20 bug numbers for this...
539 AC_MSG_CHECKING(for buggy GNU/libc versions)
540 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
542 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
543 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
544 # error GNU/libc with dcgettext killer bug!
547 AC_MSG_RESULT([not present])
549 AC_MSG_RESULT([found])
550 AS_IF([test "x${enable_nls}" != "xno"], [
551 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
552 work-around for this. Check with your distribution vendor on how to update the
553 glibc run-time. Alternatively, build with --disable-nls.])
555 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
559 dnl Plugin compilation stuff
563 dnl Check for system libs needed
566 dnl Check for usual libc functions
567 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
568 AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
569 AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
570 AC_CHECK_FUNCS(fdatasync,,
571 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
574 # Windows CE doesn't have strcoll()
577 dnl Check for non-standard system calls
578 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
580 AH_BOTTOM([#include <vlc_fixups.h>])
583 AC_SEARCH_LIBS(poll, [poll], [
584 AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().])
586 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
587 AC_MSG_ERROR([poll() is required.])
591 dnl Check for struct pollfd
592 AC_CHECK_TYPES([struct pollfd],,,
593 [#include <sys/types.h>
596 #elif defined (WIN32)
597 # include <winsock2.h>
601 dnl Check for connect
604 AC_SEARCH_LIBS(connect, [socket], [
605 AS_IF([test "$ac_cv_search_connect" != "none required"], [
606 SOCKET_LIBS="$ac_cv_search_connect"
609 AS_IF([test "${SYS}" = "mingw32"], [
610 SOCKET_LIBS="-lws2_32"
612 AS_IF([test "${SYS}" = "mingwce"], [
617 AS_IF([test -n "$SOCKET_LIBS"], [
618 VLC_ADD_LIBS([libvlccore 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 growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}])
620 AC_SUBST(SOCKET_LIBS)
622 dnl Check for socklen_t
623 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
624 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
625 ac_cv_type_socklen_t,
626 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
627 [#include <sys/types.h>
629 # include <winsock2.h>
630 # include <ws2tcpip.h>
632 # include <sys/socket.h>
633 #endif]], [[socklen_t len; len = 0;]])],
634 ac_cv_type_socklen_t=yes,
635 ac_cv_type_socklen_t=no)])
636 AS_IF([test "$ac_cv_type_socklen_t" = no],
637 [AC_DEFINE(socklen_t, int)])
639 dnl Check for struct sockaddr_storage
640 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
641 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
642 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
644 [#include <sys/types.h>
645 #if defined( UNDER_CE )
646 # include <winsock2.h>
647 #elif defined( WIN32 )
648 # include <winsock2.h>
650 # include <sys/socket.h>
651 #endif], [struct sockaddr_storage addr;],
652 ac_cv_struct_sockaddr_storage=yes,
653 ac_cv_struct_sockaddr_storage=no)])
654 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
655 AC_DEFINE(sockaddr_storage, sockaddr)
656 AC_DEFINE(ss_family, sa_family)
659 dnl getaddrinfo, getnameinfo and gai_strerror check
660 dnl -lnsl and -lsocket are needed on Solaris;
661 dnl we purposedly make the test fail on Windows
663 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
666 AC_CHECK_FUNCS(inet_aton,,[
667 AC_CHECK_LIB(resolv,inet_aton,[
668 VLC_ADD_LIBS([libvlccore],[-lresolv])
672 dnl FreeBSD has a gnugetopt library for this:
674 AC_CHECK_FUNC(getopt_long,, [
675 AC_CHECK_LIB([gnugetopt],[getopt_long], [
676 GNUGETOPT_LIBS="-lgnugetopt"
679 AC_SUBST(GNUGETOPT_LIBS)
682 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 libvlccore 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])
689 AC_CHECK_LIB(m,lrintf, [
690 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
691 VLC_ADD_LIBS([skins2],[-lm])
694 dnl Check for dynamic plugins
695 ac_cv_have_plugins=no
698 if test "${ac_cv_have_plugins}" = "no"; then
699 if test "${SYS}" = "mingw32" ; then
700 AC_CHECK_LIB(kernel32, main,
701 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
702 ac_cv_have_plugins=yes])
707 if test "${ac_cv_have_plugins}" = "no"; then
708 if test "${SYS}" = "mingwce"; then
709 ac_cv_have_plugins=yes
713 # Only test for dlopen() if the others didn't work
715 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
716 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
717 ac_cv_my_have_dlopen=no
718 AC_CHECK_FUNC(dlopen, [
719 ac_cv_my_have_dlopen=yes
721 AC_CHECK_LIB(dl, dlopen, [
722 ac_cv_my_have_dlopen=yes
725 AC_CHECK_LIB(svld, dlopen, [
726 ac_cv_my_have_dlopen=yes
731 if test "${ac_cv_my_have_dlopen}" = "yes"; then
732 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
733 ac_cv_have_plugins=yes
734 VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
739 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
740 dnl Check for pthreads - borrowed from XMMS
742 if test "${THREAD_LIB}" = "error"; then
743 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
745 if test "${THREAD_LIB}" = "error"; then
746 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
748 if test "${THREAD_LIB}" = "error"; then
749 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
751 if test "${THREAD_LIB}" = "error"; then
752 AC_CHECK_FUNCS(pthread_mutex_lock)
756 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
758 AC_CHECK_LIB(rt, clock_nanosleep, [
759 VLC_ADD_LIBS([libvlccore],[-lrt])
761 AC_CHECK_FUNC(nanosleep,,[
762 AC_CHECK_LIB(rt,nanosleep, [
763 VLC_ADD_LIBS([libvlccore],[-lrt])
765 AC_CHECK_LIB(posix4,nanosleep, [
766 VLC_ADD_LIBS([libvlccore],[-lposix4])
771 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
773 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
775 dnl Check for misc headers
776 AC_MSG_CHECKING(for strncasecmp in strings.h)
777 AC_EGREP_HEADER(strncasecmp,strings.h,[
779 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
780 Define if <strings.h> defines strncasecmp.)],[
783 dnl Check for headers
784 AC_CHECK_HEADERS([search.h])
785 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
786 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
787 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
788 AC_CHECK_HEADERS([net/if.h], [], [],
790 #include <sys/types.h>
791 #include <sys/socket.h>
793 AC_CHECK_HEADERS([sys/mount.h], [], [],
795 #include <sys/param.h>
798 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
799 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
800 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
801 AC_CHECK_HEADERS(syslog.h)
802 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
804 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
805 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
806 AC_CHECK_TYPE(ssize_t,, [
807 AC_DEFINE(ssize_t, int)
810 dnl Check for threads library
811 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
812 AC_CHECK_HEADERS(pthread.h)
813 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
815 dnl It seems that autoconf detects pkg-config only during the first
816 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
817 dnl it is nested within a conditional block, so it was not working right.
818 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
819 AC_ARG_VAR(PKG_CONFIG_PATH,
820 [Paths where to find .pc not at the default location])
821 PKG_PROG_PKG_CONFIG()
823 dnl On some OS we need static linking
824 AS_IF([test -n "${PKG_CONFIG}" ],[
825 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
826 PKG_CONFIG="${PKG_CONFIG} --static"
832 dnl Check for zlib.h and -lz along with system -lminizip if available
834 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
835 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
836 if test "${have_zlib}" = "yes"
838 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
839 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
840 AC_CHECK_HEADERS([unzip.h], [
842 MINIZIP_LIBS="-lminizip -lz"
845 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
846 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
849 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
850 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
851 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
852 VLC_ADD_PLUGIN([unzip zip])
854 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
857 dnl Manual switch for UTF-8
858 AC_ARG_ENABLE(non-utf8,
859 [AS_HELP_STRING([--enable-non-utf8],
860 [support legacy non-UTF-8 systems (default disabled)])],, [
861 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
865 AS_IF([test "${enable_non_utf8}" != "no"], [
866 AC_DEFINE([ASSUME_UTF8], [1],
867 [Define to 1 if the operating system uses UTF-8 internally])
873 [AS_HELP_STRING([--enable-dbus],
874 [compile D-Bus message bus support (default enabled)])])
877 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
880 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
881 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
882 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
883 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
884 dnl Check for dbus control interface
885 AC_ARG_ENABLE(dbus-control,
886 [AS_HELP_STRING([--disable-dbus-control],
887 [D-Bus control interface (default enabled)])])
888 if test "${enable_dbus_control}" != "no"
890 VLC_ADD_PLUGIN([dbus])
891 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
892 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
894 dnl Check for Telepathy
895 AC_ARG_ENABLE(telepathy,
896 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
897 if test "${enable_telepathy}" != "no"; then
898 VLC_ADD_PLUGIN([telepathy])
899 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
900 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
902 dnl Power Management Inhibiter
903 VLC_ADD_PLUGIN([inhibit])
904 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
905 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
907 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
913 dnl Check for ntohl, etc.
914 AC_CACHE_CHECK([for ntohl in sys/param.h],
915 [ac_cv_c_ntohl_sys_param_h],
916 [CFLAGS="${CFLAGS_save} -Wall -Werror"
917 AC_TRY_COMPILE([#include <sys/param.h>],
918 [int meuh; ntohl(meuh);],
919 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
920 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
921 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
924 EXTEND_HELP_STRING([Optimization options:])
927 dnl Compiler warnings
930 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])
931 RDC_PROG_CC_FLAGS([-pipe])
933 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
940 [AS_HELP_STRING([--enable-debug],
941 [build with run-time assertions and debug symbols (default disabled)])],,
944 [Define to 1 if debug code should NOT be compiled])
945 AS_IF([test "${enable_debug}" != "no"], [
946 AC_CHECK_HEADERS([valgrind/valgrind.h])
947 CFLAGS="${CFLAGS} -g"
948 CXXFLAGS="${CXXFLAGS} -g"
949 OBJCFLAGS="${OBJCFLAGS} -g"
950 LDFLAGS="${LDFLAGS} -g"
959 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
961 AS_IF([test "${enable_gprof}" != "no"], [
962 CFLAGS="${CFLAGS} -pg"
963 CXXFLAGS="${CXXFLAGS} -pg"
964 OBJCFLAGS="${OBJCFLAGS} -pg"
965 LDFLAGS="${LDFLAGS} -pg"
969 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
971 AS_IF([test "${enable_gprof}" != "no"], [
972 CFLAGS="${CFLAGS} -finstrument-functions"
973 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
974 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
975 LDFLAGS="${LDFLAGS} -finstrument-functions"
981 AC_ARG_ENABLE(coverage,
982 [AS_HELP_STRING([--enable-coverage],
983 [build for test coverage (default disabled)])],,
984 [enable_coverage="no"])
985 AS_IF([test "${enable_coverage}" != "no"], [
986 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
987 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
988 LDFLAGS="-lgcov ${LDFLAGS}"
993 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
994 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
995 [ac_cv_c_visibility_hidden], [
996 CFLAGS="${CFLAGS_save} -fvisibility=hidden"
997 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
998 ac_cv_c_visibility_hidden=yes
1000 ac_cv_c_visibility_hidden=no
1003 AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
1005 CFLAGS="${CFLAGS} -fvisibility=hidden"
1006 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
1007 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
1014 dnl Enable/disable optimizations
1016 AC_ARG_ENABLE(optimizations,
1017 [AS_HELP_STRING([--disable-optimizations],
1018 [disable compiler optimizations (default enabled)])],,
1019 [enable_optimizations="yes"])
1020 AS_IF([test "${enable_optimizations}" != "no"], [
1021 enable_optimizations="speed"
1024 dnl Check for various optimization flags
1025 AS_IF([test "${enable_optimizations}" != "no"], [
1028 dnl -O4 and -O3 only in production builds
1029 AS_IF([test "{enable_debug}" = "no"], [
1030 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
1031 CFLAGS="${CFLAGS_save} -O4"
1032 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1038 AS_IF([test "${ac_cv_c_o4}" != "no"], [
1041 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
1042 CFLAGS="${CFLAGS_save} -O3"
1043 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1049 AS_IF([test "${ac_cv_c_o3}" != "no"], [
1055 dnl -O2 and -O in both production and debug builds
1056 AS_IF([test "x$C_O" = "x"], [
1057 AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [
1058 CFLAGS="${CFLAGS_save} -O2"
1059 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1065 AS_IF([test "${ac_cv_c_o2}" != "no"], [
1068 AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [
1069 CFLAGS="${CFLAGS_save} -O"
1070 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1076 AS_IF([test "${ac_cv_c_o}" != "no"], [
1083 CFLAGS="${CFLAGS} ${C_O}"
1084 CXXFLAGS="${CXXFLAGS} ${C_O}"
1085 OBJCFLAGS="${OBJCFLAGS} ${C_O}"
1088 dnl Check for -ffast-math
1089 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
1090 CFLAGS="${CFLAGS_save} -ffast-math"
1091 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1092 ac_cv_c_fast_math=yes
1094 ac_cv_c_fast_math=no
1097 AS_IF([test "${ac_cv_c_fast_math}" != "no"], [
1099 CFLAGS="${CFLAGS} -ffast-math"
1100 CXXFLAGS="${CXXFLAGS} -ffast-math"
1101 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
1105 dnl Check for -funroll-loops
1106 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
1107 CFLAGS="${CFLAGS_save} -funroll-loops"
1108 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1109 ac_cv_c_unroll_loops=yes
1111 ac_cv_c_unroll_loops=no
1114 AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [
1116 CFLAGS="${CFLAGS} -funroll-loops"
1117 CXXFLAGS="${CXXFLAGS} -funroll-loops"
1118 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1122 AS_IF([test "$enable_debug" = "no"], [
1123 dnl Check for -fomit-frame-pointer
1124 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1125 [ac_cv_c_omit_frame_pointer], [
1126 CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1127 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1128 ac_cv_c_omit_frame_pointer=yes
1130 ac_cv_c_omit_frame_pointer=no
1133 AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [
1135 AS_IF([test "${SYS}" != "darwin"], [
1136 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1137 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1139 dnl On darwin we explicitely disable it.
1140 CFLAGS="${CFLAGS} -fno-omit-frame-pointer"
1141 CXXFLAGS="${CXXFLAGS} -fno-omit-frame-pointer"
1142 OBJCFLAGS="${OBJCFLAGS} -fno-omit-frame-pointer"
1149 dnl Check for Darwin plugin linking flags
1150 AS_IF([test "${SYS}" = "darwin"], [
1151 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1152 [ac_cv_ld_darwin], [
1153 CFLAGS="${CFLAGS_save} -bundle -undefined error"
1154 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1160 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1161 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1165 dnl Checks for __attribute__(aligned()) directive
1166 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1167 [ac_cv_c_attribute_aligned],
1168 [ac_cv_c_attribute_aligned=0
1169 CFLAGS="${CFLAGS_save} -Werror"
1170 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1172 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1173 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1175 CFLAGS="${CFLAGS_save}"])
1176 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1177 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1178 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1181 dnl Check for __attribute__((packed))
1182 AC_CACHE_CHECK([for __attribute__((packed))],
1183 [ac_cv_c_attribute_packed],
1184 [ac_cv_c_attribute_packed=no
1185 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1186 [ac_cv_c_attribute_packed=yes])])
1187 if test "${ac_cv_c_attribute_packed}" != "no"; then
1188 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1194 case "${host_cpu}" in
1203 dnl Check for backtrace() support
1204 AC_CHECK_HEADERS(execinfo.h)
1205 AC_CHECK_FUNCS(backtrace)
1210 ALIASES="${ALIASES} cvlc rvlc"
1213 dnl Some plugins aren't useful on some platforms
1215 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1216 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1217 elif test "${SYS}" != "mingwce"; then
1218 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1219 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1221 if test "${SYS}" = "darwin"; then
1222 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
1226 dnl Accelerated modules
1229 dnl Check for fully working MMX intrinsics
1230 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1231 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1233 [AS_HELP_STRING([--disable-mmx],
1234 [disable MMX optimizations (default auto)])],,[
1235 case "${host_cpu}" in
1246 AS_IF([test "${enable_mmx}" != "no"], [
1249 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1250 [ac_cv_c_mmx_intrinsics],
1251 [CFLAGS="${CFLAGS_save} -O -mmmx"
1252 AC_TRY_COMPILE([#include <mmintrin.h>
1256 a = b = c = (__m64)frobzor;
1257 a = _mm_slli_pi16(a, 3);
1258 a = _mm_adds_pi16(a, b);
1259 c = _mm_srli_pi16(c, 8);
1260 c = _mm_slli_pi16(c, 3);
1261 b = _mm_adds_pi16(b, c);
1262 a = _mm_unpacklo_pi8(a, b);
1263 frobzor = (uint64_t)a;],
1264 [ac_cv_c_mmx_intrinsics=yes],
1265 [ac_cv_c_mmx_intrinsics=no])])
1266 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1267 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1268 [Define to 1 if MMX intrinsics are available.])
1271 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1273 [CFLAGS="${CFLAGS_save}"
1274 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1275 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1276 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1277 AC_DEFINE(CAN_COMPILE_MMX, 1,
1278 [Define to 1 inline MMX assembly is available.])
1282 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1283 [ac_cv_mmxext_inline],
1284 [CFLAGS="${CFLAGS_save}"
1285 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1286 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1287 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1288 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1289 [Define to 1 if MMX EXT inline assembly is available.])
1293 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1294 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1296 dnl Check for fully workin SSE2 intrinsics
1297 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1298 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1300 [AS_HELP_STRING([--disable-sse],
1301 [disable SSE (1-4) optimizations (default auto)])],, [
1302 case "${host_cpu}" in
1312 AS_IF([test "${enable_sse}" != "no"], [
1313 ARCH="${ARCH} sse sse2"
1315 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1316 [ac_cv_c_sse2_intrinsics],
1317 [CFLAGS="${CFLAGS_save} -O -msse2"
1318 AC_TRY_COMPILE([#include <emmintrin.h>
1322 a = b = c = _mm_set1_epi64((__m64)frobzor);
1323 a = _mm_slli_epi16(a, 3);
1324 a = _mm_adds_epi16(a, b);
1325 c = _mm_srli_epi16(c, 8);
1326 c = _mm_slli_epi16(c, 3);
1327 b = _mm_adds_epi16(b, c);
1328 a = _mm_unpacklo_epi8(a, b);
1329 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1330 [ac_cv_c_sse2_intrinsics=yes],
1331 [ac_cv_c_sse2_intrinsics=no])])
1332 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1333 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1334 [Define to 1 if SSE2 intrinsics are available.])
1337 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1339 [CFLAGS="${CFLAGS_save}"
1340 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1341 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1342 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1343 AC_DEFINE(CAN_COMPILE_SSE, 1,
1344 [Define to 1 if SSE inline assembly is available.])
1347 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1348 [ac_cv_sse2_inline],
1349 [CFLAGS="${CFLAGS_save}"
1350 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1351 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1352 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1353 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1354 [Define to 1 if SSE2 inline assembly is available.])
1359 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1360 [ac_cv_sse3_inline],
1361 [CFLAGS="${CFLAGS_save}"
1362 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1363 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1364 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1365 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1366 [Define to 1 if SSE3 inline assembly is available.]) ])
1368 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1369 [ac_cv_ssse3_inline],
1370 [CFLAGS="${CFLAGS_save}"
1371 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1372 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1373 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1374 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1375 [Define to 1 if SSSE3 inline assembly is available.]) ])
1378 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1379 [ac_cv_sse4_1_inline],
1380 [CFLAGS="${CFLAGS_save}"
1381 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1382 ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1383 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1384 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1385 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1388 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1389 [ac_cv_sse4_2_inline],
1390 [CFLAGS="${CFLAGS_save}"
1391 AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1392 ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
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],
1399 [ac_cv_sse4a_inline],
1400 [CFLAGS="${CFLAGS_save}"
1401 AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1402 ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1403 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1404 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1405 [Define to 1 if SSE4A inline assembly is available.]) ])
1407 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1410 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1411 [ac_cv_3dnow_inline],
1412 [CFLAGS="${CFLAGS_save}"
1413 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1414 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1415 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1416 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1417 [Define to 1 if 3D Now! inline assembly is available.])
1420 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1424 [AS_HELP_STRING([--disable-neon],
1425 [disable NEON optimizations (default auto)])],, [
1426 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1428 AS_IF([test "${enable_neon}" != "no"], [
1429 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1430 CFLAGS="${CFLAGS_save} -mfpu=neon"
1433 asm volatile("vqmovun.s64 d0, q1":::"d0");
1434 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1437 ac_cv_neon_inline="-mfpu=neon"
1439 ac_cv_neon_inline="no"
1441 CFLAGS="${CFLAGS_save}"
1443 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1444 NEON_CFLAGS="$ac_cv_neon_inline"
1445 AC_DEFINE([CAN_COMPILE_NEON], 1,
1446 [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1449 ac_cv_neon_inline="no"
1451 AC_SUBST(NEON_CFLAGS)
1452 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1455 AC_ARG_ENABLE(altivec,
1456 [AS_HELP_STRING([--disable-altivec],
1457 [disable AltiVec optimizations (default auto)])],, [
1458 AS_IF([test "${host_cpu}" = "powerpc"],
1459 [enable_altivec=yes], [enable_altivec=no])
1462 AS_IF([test "${enable_altivec}" = "yes"], [
1463 ARCH="${ARCH} altivec";
1464 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1465 [ac_cv_altivec_inline],
1466 [CFLAGS="${CFLAGS_save}"
1467 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1468 ac_cv_altivec_inline="yes",
1469 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1470 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1471 [ac_cv_altivec_inline="-Wa,-m7400"],
1472 ac_cv_altivec_inline=no)
1474 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1475 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1476 [Define to 1 if AltiVec inline assembly is available.])
1477 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1478 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1479 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1480 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1485 dnl The AltiVec C extensions
1487 dnl There are several possible cases:
1488 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1489 dnl need <altivec.h>
1490 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1491 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1492 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1493 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1494 dnl - Others: test should fail
1495 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1497 [# OS X/PPC test (gcc 4.x)
1498 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1499 AC_TRY_COMPILE([vector unsigned char foo;],
1500 [vec_ld(0, (unsigned char *)0);],
1501 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1502 [# OS X/PPC test (gcc 3.x)
1503 CFLAGS="${CFLAGS_save} -faltivec"
1504 AC_TRY_COMPILE([vector unsigned char foo;],
1505 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1506 [ac_cv_c_altivec="-faltivec"],
1507 dnl Below this are the Linux tests
1508 [# Linux/PPC test (gcc 4.x)
1509 CFLAGS="${CFLAGS_save} -maltivec"
1510 AC_TRY_COMPILE([#include <altivec.h>],
1511 [vec_ld(0, (unsigned char *)0);],
1512 [ac_cv_c_altivec="-maltivec"],
1513 [# Linux/PPC test (gcc 3.3)
1514 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1515 AC_TRY_COMPILE([#include <altivec.h>],
1516 [vec_ld(0, (unsigned char *)0);],
1518 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1519 [# Linux/PPC test (gcc 3.3)
1520 CFLAGS="${CFLAGS_save} -fvec"
1521 AC_TRY_COMPILE([#include <altivec.h>],
1522 [vec_ld(0, (unsigned char *)0);],
1523 [ac_cv_c_altivec="-fvec"],
1524 [ac_cv_c_altivec=no])
1529 CFLAGS="${CFLAGS_save}"
1531 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1532 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1535 AC_CHECK_HEADERS(altivec.h)
1536 CPPFLAGS="${CPPFLAGS_save}"
1538 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1539 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1540 [Define to 1 if C AltiVec extensions are available.])
1541 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1542 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1546 AC_CACHE_CHECK([if linker needs -framework vecLib],
1548 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1549 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1550 LDFLAGS="${LDFLAGS_save}"
1552 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1553 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1556 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1559 dnl Special arch tuning
1562 [AS_HELP_STRING([--with-tuning=ARCH],
1563 [tune compilation for an architecture (default varies)])])
1564 if test -n "${with_tuning}"; then
1565 if test "${with_tuning}" != "no"; then
1566 CFLAGS_TUNING="-mtune=${with_tuning}"
1569 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1570 CFLAGS_TUNING="-march=prescott -mtune=generic"
1571 elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1572 CFLAGS_TUNING="-march=core2 -mtune=core2"
1573 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1574 CFLAGS_TUNING="-mtune=pentium2"
1575 elif test "${host_cpu}" = "x86_64"; then
1576 CFLAGS_TUNING="-mtune=athlon64"
1577 elif test "${host_cpu}" = "powerpc"; then
1578 CFLAGS_TUNING="-mtune=G4";
1582 dnl NOTE: this can't be cached cleanly
1583 AS_IF([test "${CFLAGS_TUNING}"],
1584 [CFLAGS_save="${CFLAGS}"
1585 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1587 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1588 AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
1590 [CFLAGS_TUNING=""; tuning="no"
1591 AS_IF([test "${with_tuning}"],
1592 [AC_MSG_ERROR([requested tuning not supported])])])
1594 AC_MSG_RESULT([$tuning])
1595 CFLAGS="${CFLAGS_save}"
1601 AC_ARG_ENABLE(optimize-memory,
1602 [AS_HELP_STRING([--enable-optimize-memory],
1603 [optimize memory usage over performance])])
1604 if test "${enable_optimize_memory}" = "yes"; then
1605 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1609 dnl Allow running as root (useful for people running on embedded platforms)
1611 AC_ARG_ENABLE(run-as-root,
1612 [AS_HELP_STRING([--enable-run-as-root],
1613 [allow running VLC as root (default disabled)])])
1614 AS_IF([test "${enable_run_as_root}" = "yes"],[
1615 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1616 [Define to 1 to allow running VLC as root (uid 0).])
1623 [AS_HELP_STRING([--disable-sout],
1624 [disable streaming output (default enabled)])])
1625 AS_IF([test "${enable_sout}" != "no"], [
1626 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1628 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1632 [AS_HELP_STRING([--disable-lua],
1633 [disable LUA scripting support (default enabled)])])
1634 if test "${enable_lua}" != "no"
1636 PKG_CHECK_MODULES(LUA, lua5.1,
1639 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1640 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1644 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1647 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1648 [LUA_LIBS="-llua5.1"],
1649 AC_CHECK_LIB( lua51 , luaL_newstate,
1650 [LUA_LIBS="-llua51"],
1651 AC_CHECK_LIB( lua , luaL_newstate,
1659 if test "x${have_lua}" = "xyes" ; then
1660 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1661 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1663 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.])
1665 AC_ARG_VAR([LUAC], [LUA byte compiler])
1666 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1667 AS_IF([test "${LUAC}" = "false"], [
1668 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1671 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1676 AC_ARG_ENABLE(httpd,
1677 [AS_HELP_STRING([--disable-httpd],
1678 [disable the built-in HTTP server (default enabled)])])
1679 if test "${enable_httpd}" != "no"
1681 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1683 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1686 dnl VideoLAN manager
1689 [AS_HELP_STRING([--disable-vlm],
1690 [disable the stream manager (default enabled)])],,
1691 [enable_vlm="${enable_sout}"])
1692 AS_IF([test "${enable_vlm}" != "no"], [
1693 AS_IF([test "${enable_sout}" = "no"], [
1694 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1696 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1698 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1701 dnl Growl notification plugin
1703 AC_ARG_ENABLE(growl,
1704 [ --enable-growl growl notification plugin (default disabled)],,
1706 AS_IF([test "${enable_growl}" != "no"], [
1707 VLC_ADD_PLUGIN([growl_udp])
1708 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
1709 VLC_ADD_PLUGIN([growl])
1710 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
1711 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
1712 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
1718 dnl Libnotify notification plugin
1720 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
1725 AC_ARG_ENABLE(taglib,
1726 [AS_HELP_STRING([--disable-taglib],
1727 [do not use TagLib (default enabled)])])
1728 AS_IF([test "${enable_taglib}" != "no"], [
1729 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
1730 VLC_ADD_PLUGIN([taglib])
1731 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1732 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
1734 AC_MSG_WARN(TagLib library not found)])
1741 EXTEND_HELP_STRING([Input plugins:])
1744 dnl libproxy support
1746 AC_ARG_ENABLE(libproxy,
1747 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1748 AS_IF([test "${enable_libproxy}" != "no"], [
1749 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1750 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1751 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1752 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1754 AS_IF([test "x${enable_libproxy}" != "x"], [
1755 AC_MSG_ERROR([libproxy could not be found on your system])
1763 AC_ARG_ENABLE(live555,
1764 [AS_HELP_STRING([--enable-live555],
1765 [enable RTSP input through live555 (default enabled)])])
1766 AC_ARG_WITH(live555-tree,
1767 [AS_HELP_STRING([--with-live555-tree=PATH],
1768 [live555 tree for static linking])])
1769 if test "${enable_live555}" != "no"; then
1772 dnl test for --with-live555-tree
1774 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1776 CPPFLAGS_save="${CPPFLAGS}"
1777 if test -z "${CONTRIB_DIR}"; then
1778 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1780 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1782 if test "${SYS}" = "solaris"; then
1783 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1785 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1787 AC_CHECK_HEADERS(liveMedia_version.hh, [
1788 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1790 [#include <liveMedia_version.hh>
1791 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1792 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1796 [AC_MSG_RESULT([no])
1797 AC_MSG_WARN([The installed liveMedia version is too old:
1798 Version 2010.05.29 or later is required to proceed.
1799 You can get an updated one from http://www.live555.com/liveMedia .])
1800 AS_IF([test "${enable_live555}" = "yes"], [
1801 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.])
1804 AC_MSG_RESULT([yes])
1805 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1806 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1807 if test "${SYS}" = "mingw32"; then
1808 # add ws2_32 for closesocket, select, recv
1809 other_libs="$other_libs -lws2_32"
1810 elif test "${SYS}" = "mingwce"; then
1811 # add ws2 for closesocket, select, recv
1812 other_libs="$other_libs -lws2"
1815 dnl We need to check for pic because live555 don't provide shared libs
1816 dnl and we want to build a plugins so we need -fPIC on some arch.
1817 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1818 AC_CHECK_LIB(liveMedia_pic, main, [
1819 VLC_ADD_PLUGIN([live555])
1820 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1822 AC_CHECK_LIB(liveMedia, main, [
1823 VLC_ADD_PLUGIN([live555])
1824 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1825 ],[],[${other_libs}]) ],[${other_libs_pic}])
1827 CPPFLAGS="${CPPFLAGS_save}"
1832 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1833 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1834 if test -z "${real_live555_tree}"; then
1835 dnl The given directory can't be found
1837 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1839 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1840 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1842 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1843 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1845 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1846 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1847 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1851 [AC_MSG_RESULT([no])
1852 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1853 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1855 AC_MSG_RESULT([yes])
1859 VLC_ADD_PLUGIN([live555])
1861 if test "${SYS}" = "mingw32"; then
1862 # add ws2_32 for closesocket, select, recv
1863 VLC_ADD_LIBS([live555],[-lws2_32])
1866 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1867 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1868 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1869 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1871 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1872 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1873 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1874 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1875 if test "${SYS}" = "solaris"; then
1876 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1879 dnl The given live555 wasn't built
1881 if test "${enable_live555}" = "yes"; then
1882 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1889 dnl - special access module for dc1394 input
1890 dnl - dv module: digital video module check for libraw1394
1891 dnl - linsys modules: access module check for libzvbi
1893 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1894 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1896 AC_ARG_ENABLE(linsys,
1897 [AS_HELP_STRING([--enable-linsys],
1898 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1899 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1900 VLC_ADD_PLUGIN([linsys_hdsdi])
1901 PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
1902 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1903 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1904 VLC_ADD_PLUGIN([linsys_sdi]) ],
1905 [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])]
1910 dnl dvdread module: check for libdvdread
1912 dnl prepend -ldvdcss on OS that need it
1913 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
1914 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1917 dnl libdvdnav plugin
1919 AC_ARG_ENABLE(dvdnav,
1920 [AS_HELP_STRING([--disable-dvdnav],
1921 [disable DVD navigation with libdvdnav (default auto)])])
1922 if test "${enable_dvdnav}" != "no"
1924 dnl prepend -ldvdcss on OS that need it
1925 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
1927 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1928 VLC_ADD_PLUGIN([dvdnav])
1929 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1930 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1931 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1932 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1933 [], [${LIBS_dvdnav}])
1934 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1935 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1936 [], [${LIBS_dvdnav}])],
1937 [AC_MSG_WARN(dvdnav library not found)])
1941 dnl Windows DirectShow access module
1943 AC_ARG_ENABLE(dshow,
1944 [AS_HELP_STRING([--disable-dshow],
1945 [support DirectShow (default auto)])])
1946 if test "${enable_dshow}" != "no"
1948 if test "${SYS}" = "mingw32"
1951 AC_CHECK_HEADERS(dshow.h,
1952 [ VLC_ADD_PLUGIN([dshow])
1953 VLC_ADD_CXXFLAGS([dshow],[])
1954 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1960 dnl Blu-ray Disc Support with libbluray
1962 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) )
1965 dnl OpenCV wrapper and example filters
1967 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1971 dnl libsmbclient plugin
1974 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1975 if test "${enable_smb}" != "no"; then
1976 AC_CHECK_HEADERS(libsmbclient.h,
1977 [ VLC_ADD_PLUGIN([access_smb])
1978 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1979 [ if test -n "${enable_smb}"; then
1980 AC_MSG_ERROR([cannot find libsmbclient headers])
1986 dnl sftp access support
1989 [AS_HELP_STRING([--enable-sftp],
1990 [support SFTP file transfer via libssh2 (default disabled)])])
1991 if test "${enable_sftp}" = "yes"; then
1992 AC_CHECK_HEADERS(libssh2.h, [
1993 VLC_ADD_PLUGIN([access_sftp])
1994 VLC_ADD_LIBS([access_sftp], [-lssh2])
1999 dnl Video4Linux2 plugin
2002 [AS_HELP_STRING([--disable-v4l2],
2003 [disable Video4Linux2 support (default auto)])])
2005 AS_IF([test "${enable_v4l2}" != "no"], [
2006 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
2010 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
2013 dnl libv4l2 support for video4linux.
2015 AC_ARG_ENABLE(libv4l2,
2016 [AS_HELP_STRING([--enable-libv4l2],
2017 [use V4L2 through libv4l2 (default auto)])])
2018 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2020 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2021 VLC_ADD_LIBS([v4l2],[${LIBV4L2_LIBS}])
2022 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2023 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2024 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2029 dnl special access module for Hauppauge PVR cards
2032 [AS_HELP_STRING([--enable-pvr],
2033 [support PVR V4L2 cards (default disabled)])])
2034 if test "${enable_pvr}" = "yes"
2036 VLC_ADD_PLUGIN([pvr])
2040 dnl special access module for Blackmagic SDI cards
2042 AC_ARG_ENABLE(decklink,
2043 [AS_HELP_STRING([--disable-decklink],
2044 [disable Blackmagic DeckLink SDI input (default auto)])])
2045 AC_ARG_WITH(decklink_sdk,
2046 [AS_HELP_STRING[--with-decklink-sdk=DIR],
2047 [location of Blackmagic DeckLink SDI SDK])])
2048 if test "${enable_decklink}" != "no"
2050 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
2052 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
2054 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
2056 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
2057 VLC_ADD_PLUGIN([decklink])
2058 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
2060 CPPFLAGS="${CPPFLAGS_save}"
2065 dnl gnomeVFS access module
2067 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2073 [AS_HELP_STRING([--enable-vcdx],
2074 [navigate VCD with libvcdinfo (default disabled)])])
2075 if test "${enable_vcdx}" = "yes"
2077 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
2078 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
2079 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
2080 [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
2081 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
2082 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
2083 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
2084 [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
2085 VLC_ADD_PLUGIN([vcdx])
2089 dnl Built-in CD-DA and VCD module
2092 [AS_HELP_STRING([--disable-vcd],
2093 [disable built-in VCD and CD-DA support (default enabled)])])
2095 AC_ARG_ENABLE(libcddb,
2096 [AS_HELP_STRING([--disable-libcddb],
2097 [disable CDDB for Audio CD (default enabled)])])
2099 if test "${enable_vcd}" != "no"
2101 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2102 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2104 VLC_ADD_PLUGIN([vcd cdda])
2109 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2110 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2112 VLC_ADD_PLUGIN([vcd cdda])
2113 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2118 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2119 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2121 VLC_ADD_PLUGIN([vcd cdda])
2122 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2127 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2129 VLC_ADD_PLUGIN([vcd cdda])
2132 if test "${SYS}" = "darwin"
2134 VLC_ADD_PLUGIN([vcd cdda])
2135 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2136 VLC_ADD_LIBS([vcdx cdda],[-liconv])
2139 if test "$enable_libcddb" != "no"; then
2140 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2142 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2143 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2144 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2146 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2152 dnl libdvbpsi check for ts mux/demux
2155 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
2156 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
2159 dnl Screen capture module
2161 AC_ARG_ENABLE(screen,
2162 [AS_HELP_STRING([--enable-screen],
2163 [disable screen capture (default enabled)])])
2164 if test "${enable_screen}" != "no"; then
2165 if test "${SYS}" = "darwin"; then
2166 AC_CHECK_HEADERS(OpenGL/gl.h, [
2167 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2168 VLC_ADD_PLUGIN([screen])
2169 VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2172 elif test "${SYS}" = "mingw32"; then
2173 VLC_ADD_PLUGIN([screen])
2174 VLC_ADD_LIBS([screen],[-lgdi32])
2175 elif test "${SYS}" = "mingwce"; then
2176 CPPFLAGS="${CPPFLAGS_save}"
2184 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2185 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2188 AS_IF([test "${have_ipv6}" = "yes"], [
2189 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2192 AC_CHECK_FUNCS(inet_ntop,[
2193 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2197 dnl GME demux plugin
2200 [AS_HELP_STRING([--enable-gme],
2201 [use Game Music Emu (default auto)])])
2202 AS_IF([test "${enable_gme}" != "no"], [
2203 AC_CHECK_HEADER([gme/gme.h], [
2204 VLC_ADD_LIBS([gme], [-lgme])
2205 VLC_ADD_PLUGIN([gme])
2207 AS_IF([test "x${enable_gme}" != "x"], [
2208 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2217 PKG_WITH_MODULES([SID], [libsidplay2],
2219 oldCPPFLAGS="$CPPFLAGS"
2220 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2221 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2222 VLC_ADD_PLUGIN([sid])
2223 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2224 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2226 AS_IF([test "x${enable_sid}" = "xyes"],
2227 [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
2228 [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
2231 CPPFLAGS="$oldCPPFLAGS"
2233 AS_IF([test "x${enable_sid}" = "xyes"],
2234 [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
2235 [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
2237 [C64 sid demux support], [auto])
2241 dnl ogg demux plugin
2243 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2244 if test "${enable_sout}" != "no"; then
2245 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2248 if test "${enable_sout}" != "no"; then
2249 dnl Check for libshout
2250 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2254 dnl matroska demux plugin
2257 [AS_HELP_STRING([--disable-mkv],
2258 [do not use libmatroska (default auto)])])
2259 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2261 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2262 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2264 [#include <ebml/EbmlVersion.h>
2265 #ifdef LIBEBML_VERSION
2266 #if LIBEBML_VERSION >= 0x010000
2270 [AC_MSG_RESULT([yes])
2271 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2272 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2274 [#include <matroska/KaxVersion.h>
2275 #ifdef LIBMATROSKA_VERSION
2276 #if LIBMATROSKA_VERSION >= 0x010000
2280 [AC_MSG_RESULT([yes])
2281 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2282 VLC_ADD_CXXFLAGS([mkv],[])
2283 if test "${SYS}" = "darwin"; then
2284 VLC_ADD_CXXFLAGS([mkv],[-O1])
2286 AC_CHECK_LIB(ebml_pic, main, [
2287 VLC_ADD_PLUGIN([mkv])
2288 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2290 AC_CHECK_LIB(ebml, main, [
2291 VLC_ADD_PLUGIN([mkv])
2292 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2297 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.])
2301 [AC_MSG_RESULT([no])
2302 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.])
2309 dnl modplug demux plugin
2312 [AS_HELP_STRING([--disable-mod],
2313 [do not use libmodplug (default auto)])])
2314 if test "${enable_mod}" != "no" ; then
2315 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2316 VLC_ADD_PLUGIN([mod])
2317 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2318 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2320 AS_IF([test x"${enable_mod}" = "xyes"],
2321 [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
2322 [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
2327 dnl mpc demux plugin
2330 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2331 if test "${enable_mpc}" != "no"
2333 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2334 VLC_ADD_PLUGIN([mpc])
2335 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2336 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2337 VLC_ADD_PLUGIN([mpc])
2338 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2345 EXTEND_HELP_STRING([Codec plugins:])
2350 AC_ARG_ENABLE(wma-fixed,
2351 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2352 if test "${enable_wma_fixed}" = "yes"
2354 VLC_ADD_PLUGIN([wma_fixed])
2358 dnl shine fixed point mp3 encoder
2360 AC_ARG_ENABLE(shine,
2361 [ --enable-shine shine mp3 encoding module (default disabled)])
2362 if test "${enable_shine}" = "yes"
2364 VLC_ADD_PLUGIN([shine])
2368 dnl openmax il codec plugin
2370 AC_ARG_ENABLE(omxil,
2371 [ --enable-omxil openmax il codec module (default disabled)])
2372 if test "${enable_omxil}" = "yes"
2374 VLC_ADD_PLUGIN([omxil])
2375 VLC_ADD_LIBS([omxil], [$LIBDL])
2379 dnl CrystalHD codec plugin
2381 AC_ARG_ENABLE(crystalhd,
2382 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2383 if test "${enable_crystalhd}" != "no"; then
2384 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2385 VLC_ADD_PLUGIN([crystalhd])
2386 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2388 if test "${SYS}" = "mingw32" ; then
2389 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2390 VLC_ADD_PLUGIN([crystalhd])
2391 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2392 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2395 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2396 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2397 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2398 ],[#define __LINUX_USER__
2399 #include <libcrystalhd/bc_dts_types.h>
2403 #include <libcrystalhd/bc_dts_types.h>
2411 [ --enable-mad libmad module (default enabled)])
2412 if test "${enable_mad}" != "no"
2415 [ --with-mad=PATH path to libmad],[],[])
2416 if test "${with_mad}" != "no" -a -n "${with_mad}"
2418 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2419 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2422 AC_ARG_WITH(mad-tree,
2423 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2424 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2426 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2427 if test -z "${real_mad_tree}"
2429 dnl The given directory can't be found
2431 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2433 dnl Use a custom libmad
2434 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2435 if test -f ${real_mad_tree}/mad.h
2438 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2439 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2440 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2441 AC_CHECK_LIB(mad, mad_bit_init, [
2442 VLC_ADD_PLUGIN([mpgatofixed32])
2443 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2444 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2446 LDFLAGS="${LDFLAGS_save}"
2449 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2452 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2453 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2454 AC_CHECK_HEADERS(mad.h, ,
2455 [ 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.]) ])
2456 AC_CHECK_LIB(mad, mad_bit_init, [
2457 VLC_ADD_PLUGIN([mpgatofixed32])
2458 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2459 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2460 CPPFLAGS="${CPPFLAGS_save}"
2461 LDFLAGS="${LDFLAGS_save}"
2466 AC_ARG_ENABLE(merge-ffmpeg,
2467 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2468 enable_merge_ffmpeg="no"
2470 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2472 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2473 [ac_cv_ld_bsymbolic],
2474 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
2475 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2476 LDFLAGS="${LDFLAGS_save}"
2480 dnl avcodec decoder/encoder plugin
2482 AC_ARG_ENABLE(avcodec,
2483 [ --enable-avcodec libavcodec codec (default enabled)])
2484 AS_IF([test "${enable_avcodec}" != "no"], [
2485 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2488 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2489 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2490 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2491 AC_CHECK_HEADERS(libavutil/avutil.h)
2492 VLC_ADD_PLUGIN([avcodec])
2493 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2494 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2495 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2497 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2501 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2508 dnl libva needs avcodec
2510 AC_ARG_ENABLE(libva,
2511 [ --enable-libva libva VAAPI support (default auto)])
2513 AS_IF([test "${enable_libva}" != "no"], [
2514 AS_IF([test "x${have_avcodec}" = "xyes"], [
2515 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2518 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2519 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2520 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2521 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2522 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2523 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2524 echo "VAAPI acceleration activated"
2526 AS_IF([test "${enable_libva}" = "yes"],
2527 [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
2528 [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])])
2532 AS_IF([test "${enable_libva}" = "yes"],
2533 [AC_MSG_ERROR([Could not find required libva.])],
2534 [AC_MSG_WARN([libva not found ])])
2537 AS_IF([test "x${enable_libva}" != "x"], [
2538 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.])
2544 dnl dxva2 needs avcodec
2546 AC_ARG_ENABLE(dxva2,
2547 [ --enable-dxva2 DxVA2 support (default auto)])
2549 AS_IF([test "${enable_dxva2}" != "no"], [
2550 if test "${SYS}" = "mingw32"; then
2551 AS_IF([test "x${have_avcodec}" = "xyes"], [
2552 AC_CHECK_HEADERS(dxva2api.h,
2554 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2555 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2556 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2557 echo "DxVA2 acceleration activated"
2559 AS_IF([test "${enable_dxva2}" = "yes"],
2560 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2561 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2564 AS_IF([test "${enable_dxva2}" = "yes"],
2565 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2566 [AC_MSG_WARN([dxva2api.h not found])])
2569 AS_IF([test "x${enable_dxva2}" != "x"], [
2570 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2578 dnl stream_out switcher needs libavcodec
2580 AC_ARG_ENABLE(switcher,
2581 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2582 AS_IF([test "${enable_switcher}" = "yes"], [
2583 AS_IF([test "x${have_avcodec}" = "xyes"], [
2584 VLC_ADD_PLUGIN([stream_out_switcher])
2585 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2586 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2587 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2593 dnl avformat demuxer/muxer plugin
2596 AC_ARG_ENABLE(avformat,
2597 [ --enable-avformat libavformat containers (default enabled)],, [
2598 enable_avformat="${have_avcodec}"
2600 if test "${enable_avformat}" != "no"
2602 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2605 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2606 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2607 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2608 AC_CHECK_HEADERS(libavutil/avutil.h)
2609 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2610 VLC_ADD_PLUGIN([avformat access_avio])
2611 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2612 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2613 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2614 VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
2617 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2618 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2622 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2627 dnl swscale image scaling and conversion plugin
2630 AC_ARG_ENABLE(swscale,
2631 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2632 (default enabled)]))
2633 if test "${enable_swscale}" != "no"
2635 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2638 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2639 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2640 AC_CHECK_HEADERS(libswscale/swscale.h)
2641 VLC_ADD_PLUGIN([swscale])
2642 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2643 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2644 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2645 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2649 AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2657 AC_ARG_ENABLE(postproc,
2658 [ --enable-postproc libpostproc image post-processing (default enabled)])
2659 if test "${enable_postproc}" != "no"
2661 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2664 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2665 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2666 AC_CHECK_HEADERS(postproc/postprocess.h)
2667 VLC_ADD_PLUGIN([postproc])
2668 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2669 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2672 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
2677 dnl faad decoder plugin
2680 [ --enable-faad faad codec (default disabled)])
2681 if test "${enable_faad}" = "yes"
2683 AC_ARG_WITH(faad-tree,
2684 [ --with-faad-tree=PATH faad tree for static linking])
2685 if test -n "${with_faad_tree}"
2687 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2688 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2689 if test -z "${real_faad_tree}"
2691 dnl The given directory can't be found
2693 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2695 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2697 dnl Use a custom faad
2698 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2699 VLC_ADD_PLUGIN([faad])
2700 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2701 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2703 dnl The given libfaad wasn't built
2705 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2708 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2709 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2710 AC_CHECK_HEADERS(faad.h, ,
2711 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2712 AC_CHECK_LIB(faad, faacDecOpen, [
2713 VLC_ADD_PLUGIN([faad])
2714 VLC_ADD_LIBS([faad],[-lfaad]) ],
2715 AC_CHECK_LIB(faad, NeAACDecOpen, [
2716 VLC_ADD_PLUGIN([faad])
2717 VLC_ADD_LIBS([faad],[-lfaad]) ],
2718 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2719 LDFLAGS="${LDFLAGS_save}"
2720 CPPFLAGS="${CPPFLAGS_save}"
2725 dnl twolame encoder plugin
2727 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2730 dnl QuickTime plugin
2732 AC_ARG_ENABLE(quicktime,
2733 [ --enable-quicktime QuickTime module (deprecated)])
2734 if test "${enable_quicktime}" = "yes"; then
2735 if test "${SYS}" = "mingw32"; then
2736 VLC_ADD_PLUGIN([quicktime])
2738 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2739 [ VLC_ADD_PLUGIN([quicktime])
2740 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2741 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2749 [ --enable-real Real media module (default disabled)])
2750 if test "${enable_real}" = "yes"; then
2751 VLC_ADD_PLUGIN([realvideo])
2755 dnl Real RTSP plugin
2757 AC_ARG_ENABLE(realrtsp,
2758 [ --enable-realrtsp Real RTSP module (default disabled)])
2759 if test "${enable_realrtsp}" = "yes"; then
2760 VLC_ADD_PLUGIN([access_realrtsp])
2764 dnl A52/AC3 decoder plugin
2767 [ --enable-a52 A/52 support with liba52 (default enabled)])
2768 if test "${enable_a52}" != "no"
2771 [ --with-a52=PATH a52 headers and libraries])
2772 AC_ARG_WITH(a52-tree,
2773 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2774 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2776 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2777 if test -z "${real_a52_tree}"
2779 dnl The given directory can't be found
2781 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2783 dnl Use a custom a52dec
2784 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2785 if test -f ${real_a52_tree}/include/a52.h
2788 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2789 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2790 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2791 AC_CHECK_LIB(a52, a52_free, [
2792 VLC_ADD_PLUGIN([a52tofloat32])
2793 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2794 VLC_ADD_LIBS([a52tofloat32],[-la52])
2796 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2798 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2800 AC_MSG_ERROR([the specified tree hasn't been compiled])
2803 LDFLAGS="${LDFLAGS_save}"
2806 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2809 if test -z "${with_a52}"
2814 LDFLAGS_test="-L${with_a52}/lib"
2815 CPPFLAGS_test="-I${with_a52}/include"
2817 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2818 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2819 AC_CHECK_HEADERS(a52dec/a52.h, [
2820 AC_CHECK_LIB(a52, a52_free, [
2821 VLC_ADD_PLUGIN([a52tofloat32])
2822 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2823 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2825 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.])
2828 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.])
2830 CPPFLAGS="${CPPFLAGS_save}"
2831 LDFLAGS="${LDFLAGS_save}"
2835 AC_ARG_WITH(a52-fixed,
2836 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2838 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2841 dnl DTS Coherent Acoustics decoder plugin
2843 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2848 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2853 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2858 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2863 AC_ARG_ENABLE(tremor,
2864 [ --enable-tremor Tremor decoder support (default disabled)])
2865 if test "${enable_tremor}" = "yes"
2867 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2868 VLC_ADD_PLUGIN([tremor])
2869 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2876 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
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 doesn't 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 hasn't been compiled])
2944 LDFLAGS="${LDFLAGS_save}"
2947 AC_MSG_ERROR([the specified tree doesn't 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([Could not find libx264 >= 0.86 on your system: 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 libsamplerate plugin
2979 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
2982 dnl Teletext Modules
2983 dnl vbi decoder plugin (using libzbvi)
2988 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2989 libzvbi (default enabled)]))
2991 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2992 zvbi) (default enabled if zvbi is absent)]))
2994 AS_IF( [test "${enable_zvbi}" != "no"],[
2995 PKG_CHECK_MODULES(ZVBI,
2998 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2999 if test "${SYS}" = "mingw32"; then
3000 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3002 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3003 VLC_ADD_PLUGIN([zvbi])
3004 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3005 AS_IF( [test "${enable_telx}" = "yes"],[
3006 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3010 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3013 AS_IF( [test "${enable_telx}" != "no" ],[
3014 VLC_ADD_PLUGIN([telx])
3018 dnl libass subtitle rendering module
3020 AC_ARG_ENABLE(libass,
3021 [ --enable-libass Subtitle support using libass (default enabled)])
3022 AS_IF( [test "${enable_libass}" != "no"], [
3023 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8,
3025 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3026 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3027 VLC_ADD_PLUGIN([libass])
3029 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3030 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3031 VLC_ADD_LIBS([libass],[-lfontconfig])
3034 AC_MSG_WARN([LIBASS library not found])
3039 dnl kate decoder plugin
3042 [ --enable-kate kate codec (default enabled)])
3043 AS_IF([test "${enable_kate}" != "no"], [
3044 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3045 VLC_ADD_PLUGIN([kate])
3046 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3047 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3048 AC_CHECK_HEADERS(kate/kate.h, [
3049 AC_CHECK_LIB(kate, kate_decode_init, [
3050 VLC_ADD_PLUGIN([kate])
3051 VLC_ADD_LIBS([kate],[-lkate -logg]) ],[
3052 AS_IF([test "x${enable_kate}" != "x"], [
3053 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3054 You also need to check that you have a libogg posterior to the 1.0 release.])
3058 AS_IF([test "x${enable_kate}" != "x"], [
3059 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3060 You also need to check that you have a libogg posterior to the 1.0 release.])
3068 dnl tiger rendering for kate decoder plugin
3070 AC_ARG_ENABLE(tiger,
3071 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3072 AS_IF([test "${enable_tiger}" != "no"], [
3073 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3074 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3075 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3076 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3077 AS_IF([test "x${enable_tiger}" != "x"], [
3078 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3089 EXTEND_HELP_STRING([Video plugins:])
3096 AC_CHECK_HEADERS(X11/Xlib.h)
3099 dnl X C Bindings modules
3102 [ --enable-xcb X11 support with XCB (default enabled)],, [
3103 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3109 AC_ARG_ENABLE(xvideo,
3110 [ --enable-xvideo XVideo support (default enabled)],, [
3111 enable_xvideo="$enable_xcb"
3115 AS_IF([test "${enable_xcb}" != "no"], [
3117 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3119 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3120 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3122 AS_IF([test "${enable_xvideo}" != "no"], [
3123 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3124 VLC_ADD_PLUGIN([xcb_xv])
3128 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3129 VLC_ADD_PLUGIN([panoramix])
3130 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3131 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3133 AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.])
3137 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3138 PKG_CHECK_MODULES(XPROTO, [xproto])
3139 VLC_ADD_PLUGIN([globalhotkeys])
3140 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3141 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3142 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3144 AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.])
3147 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3150 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3151 enable_glx="$enable_xcb"
3153 AS_IF([test "${enable_glx}" != "no"], [
3154 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3155 PKG_CHECK_MODULES(GL, [gl],, [
3156 AC_CHECK_HEADER([GL/gl.h], [
3160 AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3163 VLC_ADD_PLUGIN([xcb_glx])
3169 PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto])
3170 PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3171 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3172 PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto])
3178 [ --enable-sdl SDL support (default enabled)])
3179 AC_ARG_ENABLE(sdl-image,
3180 [ --enable-sdl-image SDL image support (default enabled)])
3181 if test "${enable_sdl}" != "no"
3183 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3184 # SDL on Darwin is heavily patched and can only run SDL_image
3185 if test "${SYS}" != "darwin"; then
3186 VLC_ADD_PLUGIN([vout_sdl])
3188 if test "${SYS}" != "mingw32"; then
3189 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3191 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3192 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3195 AS_IF([ test "${enable_sdl_image}" != "no"],[
3196 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3197 VLC_ADD_PLUGIN([sdl_image])
3198 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3199 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3200 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3201 You should install it alongside your SDL package.])
3205 AC_MSG_WARN([The development package for SDL is not present or too old.
3206 You need 1.2.10. Alternatively you can also configure with
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([library fribidi not found. Bidirectional support will be disabled in freetype])])
3256 AS_IF([ test "${enable_freetype}" = "yes"],[
3257 AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.])
3265 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3270 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3273 dnl android surface module
3275 AC_ARG_ENABLE(android-surface,
3276 [ --enable-android-surface Android Surface video output module (default disabled)])
3277 if test "${enable_android_surface}" = "yes"; then
3278 if test "${HAVE_ANDROID}" = "1"; then
3279 VLC_ADD_PLUGIN([android_surface])
3280 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3288 AC_ARG_ENABLE(ios-vout,
3289 [ --enable-ios-vout iOS video output module (default disabled)])
3290 if test "${enable_ios_vout}" = "yes"
3292 VLC_ADD_PLUGIN([vout_ios])
3293 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3294 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3298 dnl QuartzText vout module (iOS/Mac OS)
3300 AC_ARG_ENABLE(macosx-quartztext,
3301 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3302 if test "x${enable_macosx_quartztext}" != "xno" &&
3303 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3305 VLC_ADD_PLUGIN([quartztext])
3306 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3310 dnl Windows DirectX module
3313 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3315 VLC_ADD_PLUGIN([panoramix])
3318 AC_ARG_ENABLE(directx,
3319 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3320 if test "${enable_directx}" != "no"
3322 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3324 VLC_ADD_LIBS([directx],[-luser32])
3325 AC_CHECK_HEADERS(ddraw.h,
3326 [ VLC_ADD_PLUGIN([directx aout_directx])
3327 VLC_ADD_LIBS([directx],[-lgdi32])
3328 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3330 AC_CHECK_HEADERS(GL/glext.h,
3331 [ VLC_ADD_PLUGIN([glwin32])
3332 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3334 AC_CHECK_HEADERS(d3d9.h,
3335 [ VLC_ADD_PLUGIN([direct3d])
3336 VLC_ADD_LIBS([direct3d],[-lgdi32])
3338 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3343 dnl Windows Direct2D plugin
3345 AC_ARG_ENABLE(direct2d,
3346 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [
3347 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3348 enable_direct2d="no"
3351 AS_IF([test "${enable_direct2d}" != "no"], [
3352 AC_CHECK_HEADERS(d2d1.h, [
3353 VLC_ADD_PLUGIN([direct2d])
3354 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3356 AC_MSG_WARN([Cannot find Direct2D headers!])
3361 dnl win32 GDI plugin
3363 AC_ARG_ENABLE(wingdi,
3364 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3365 if test "${enable_wingdi}" != "no"; then
3366 if test "${SYS}" = "mingw32"; then
3367 VLC_ADD_PLUGIN([wingdi])
3368 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3370 if test "${SYS}" = "mingwce"; then
3371 VLC_ADD_PLUGIN([wingdi wingapi])
3372 VLC_ADD_LIBS([wingdi],[-laygshell])
3373 VLC_ADD_LIBS([wingapi],[-laygshell])
3379 dnl Linux framebuffer module
3381 AC_CHECK_HEADER([linux/fb.h], [
3382 VLC_ADD_PLUGIN([fb])
3388 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3389 dnl TODO: support for static linking
3391 AC_ARG_ENABLE(directfb,
3392 [ --enable-directfb DirectFB support (default disabled)])
3393 AC_ARG_WITH(directfb,
3394 [ --with-directfb=PATH path to DirectFB headers and libraries])
3396 if test "${enable_directfb}" = "yes"; then
3397 have_directfb="false"
3398 CPPFLAGS_mydirectfb=
3400 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3401 dnl Trying the given location
3402 CPPFLAGS_save="${CPPFLAGS}"
3405 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3406 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3407 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3409 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3410 LIBS="${LIBS} ${LIBS_new}"
3412 dnl FIXME: too obscure
3413 AC_CHECK_HEADER([directfb.h], [
3414 AC_CHECK_LIB([direct],[direct_initialize], [
3415 AC_CHECK_LIB([fusion], [fusion_enter], [
3416 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3417 ], have_directfb="false")
3418 ], have_directfb="false")
3419 ], have_directfb="false")
3422 CPPFLAGS="${CPPFLAGS_save}"
3425 if test "${have_directfb}" = "true"; then
3426 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3427 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3430 dnl Look for directfb-config
3431 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3432 if test "${DIRECTFB_CONFIG}" != "no"; then
3433 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3434 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3435 have_directfb="true"
3437 dnl Trying with pkg-config
3438 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3439 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3440 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3441 have_directfb="true"
3442 ], [have_directfb="false"])
3445 if test "${have_directfb}" = "true"; then
3446 VLC_ADD_PLUGIN([directfb])
3447 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3448 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3450 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
3458 [ --enable-aa aalib output (default disabled)])
3459 if test "${enable_aa}" = "yes"
3461 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3462 if test "${have_aa}" = "true"
3464 VLC_ADD_PLUGIN([aa])
3465 VLC_ADD_LIBS([aa],[-laa])
3466 if test "${SYS}" != "mingw32"; then
3467 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3475 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3481 EXTEND_HELP_STRING([Audio plugins:])
3484 dnl Pulseaudio module
3486 AC_ARG_ENABLE(pulse,
3487 [AS_HELP_STRING([--enable-pulse],
3488 [use the PulseAudio client library (default auto)])])
3490 AS_IF([test "${enable_pulse}" != "no"], [
3491 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3494 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3495 AS_IF([test "${no_x}" != "yes"], [
3497 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3499 AS_IF([test "${enable_pulse}" = "yes"], [
3500 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3501 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3505 AS_IF([test "x${enable_pulse}" != "x"], [
3506 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3511 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3517 [AS_HELP_STRING([--enable-alsa],
3518 [support the Advanced Linux Sound Architecture (default auto)])],, [
3519 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3524 AS_IF([test "${enable_alsa}" != "no"], [
3525 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3528 AS_IF([test "x${enable_alsa}" != "x"], [
3529 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3533 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3536 dnl Open Sound System module
3539 [AS_HELP_STRING([--enable-oss],
3540 [support the Open Sound System OSS (default enabled on BSD)])],, [
3541 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3547 AS_IF([test "$enable_oss" != "no"], [
3548 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3550 AC_CHECK_LIB(ossaudio, main, [
3551 OSS_LIBS="-lossaudio"
3556 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3559 dnl Portaudio module
3561 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3564 dnl win32 waveOut plugin
3566 AC_ARG_ENABLE(waveout,
3567 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3568 if test "${enable_waveout}" != "no"; then
3569 if test "${SYS}" = "mingw32"; then
3570 VLC_ADD_PLUGIN([waveout])
3571 VLC_ADD_LIBS([waveout],[-lwinmm])
3573 if test "${SYS}" = "mingwce"; then
3574 VLC_ADD_PLUGIN([waveout])
3579 dnl CoreAudio plugin
3581 AC_ARG_ENABLE(macosx-audio,
3582 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3583 if test "x${enable_macosx_audio}" != "xno" &&
3584 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3586 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3587 [ VLC_ADD_PLUGIN([auhal])
3588 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3589 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3593 dnl AudioQueue plugin
3595 AC_ARG_ENABLE(audioqueue,
3596 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3597 if test "${enable_audioqueue}" = "yes"
3599 VLC_ADD_PLUGIN([audioqueue])
3600 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3606 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3609 dnl OpenSLES Android
3611 AC_ARG_ENABLE(opensles,
3612 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3613 if test "${HAVE_ANDROID}" = "1"; then
3614 if test "${enable_opensles}" = "yes"; then
3615 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3616 [ VLC_ADD_PLUGIN([opensles_android]) ],
3617 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3622 dnl UPnP Plugin (Intel SDK)
3624 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
3625 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3628 dnl Interface plugins
3631 EXTEND_HELP_STRING([Interface plugins:])
3636 AC_ARG_ENABLE(libtar,
3637 [ --enable-libtar libtar support for skins2 (default auto)])
3638 AS_IF([test "${enable_libtar}" != "no"], [
3639 AC_CHECK_HEADERS(libtar.h, [
3640 VLC_ADD_LIBS([skins2],[-ltar])
3644 AC_ARG_ENABLE(skins2,
3645 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
3646 enabled except on MacOSX and WinCE)])],, [
3647 AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
3653 AS_IF([test "${enable_skins2}" = "yes"], [
3655 AS_IF([test "${have_freetype}" != "yes"], [
3656 AC_MSG_ERROR([Could not find FreeType (required for skins2)])
3659 AS_IF([test "${SYS}" = "mingw32"], [
3660 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3661 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3662 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32])
3664 ], [test "${SYS}" = "darwin"], [
3665 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3666 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3667 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3670 PKG_CHECK_MODULES([XPM], [xpm])
3671 PKG_CHECK_MODULES([XINERAMA], [xinerama])
3672 PKG_CHECK_MODULES([XEXT], [xext])
3673 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3674 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3675 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3678 VLC_ADD_PLUGIN([skins2])
3679 ALIASES="${ALIASES} svlc"
3681 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3686 AC_ARG_ENABLE(hildon,
3687 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3688 AS_IF([test "${enable_hildon}" = "yes"], [
3689 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3690 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3691 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3692 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3694 AC_MSG_WARN(hildon-fm-2 not found)
3696 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3697 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3698 VLC_ADD_PLUGIN([hildon])
3699 ALIASES="${ALIASES} mvlc"
3701 AS_IF([test "${enable_hildon}" = "yes"],[
3702 AC_MSG_ERROR([Hildon libraries not found])
3707 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3713 [ --enable-qt4 Qt 4 support (default enabled) ],, [
3714 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3716 AS_IF([test "${enable_qt4}" != "no"], [
3717 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
3718 VLC_ADD_PLUGIN([qt4])
3719 VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3720 VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3721 ALIASES="${ALIASES} qvlc"
3724 CPPFLAGS_save="${CPPFLAGS}"
3726 AC_MSG_CHECKING([whether Qt uses X11])
3727 CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3728 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3730 #if !defined (Q_WS_X11)
3734 AC_MSG_RESULT([yes])
3735 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3736 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3741 CPPFLAGS="${CPPFLAGS_save}"
3744 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3745 VLC_ADD_LIBS([qt4],[-lole32])
3747 AS_IF([test "${SYS}" = "darwin" ],[
3748 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3750 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3751 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3752 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3754 AS_IF([test "${enable_qt4}" = "yes"],[
3755 AC_MSG_ERROR([Qt 4 library not found])
3757 AC_MSG_WARN([Qt 4 library not found])
3762 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3765 dnl Simple test for skins2 dependency
3767 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3768 AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't 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.])
3772 dnl MacOS X video output/gui modules
3774 AC_ARG_ENABLE(macosx,
3775 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3776 if test "x${enable_macosx}" != "xno" &&
3777 (test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes")
3779 VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
3780 VLC_ADD_LIBS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
3781 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Carbon])
3782 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
3783 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,AGL])
3784 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit])
3785 VLC_ADD_LIBS([macosx], [-Wl,-framework,IOKit])
3786 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
3787 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle])
3788 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit])
3789 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit])
3791 VLC_ADD_LIBS([macosx], [-Wl,-framework,AddressBook])
3792 VLC_ADD_LIBS([macosx], [-Wl,-framework,WebKit])
3793 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3795 VLC_ADD_PLUGIN([macosx minimal_macosx])
3799 dnl MacOS X related modules
3802 AC_ARG_ENABLE(macosx-vout,
3803 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3804 if test "x${enable_macosx_vout}" != "xno" &&
3805 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3807 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3808 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3809 VLC_ADD_PLUGIN([vout_macosx])
3812 AC_ARG_ENABLE(macosx-dialog-provider,
3813 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3814 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3815 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3817 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3818 VLC_ADD_PLUGIN([macosx_dialog_provider])
3821 AC_ARG_ENABLE(macosx-qtcapture,
3822 [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
3823 if test "x${enable_macosx_qtcapture}" != "xno" &&
3824 (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
3826 VLC_ADD_LIBS([qtcapture], [-Wl,-framework,Cocoa])
3827 VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QTKit])
3828 VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreAudio])
3829 VLC_ADD_LIBS([qtcapture], [-Wl,-framework,QuartzCore])
3830 VLC_ADD_LIBS([qtcapture], [-Wl,-framework,CoreVideo])
3831 VLC_ADD_PLUGIN([qtcapture])
3834 AC_ARG_ENABLE(macosx-eyetv,
3835 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
3836 if test "x${enable_macosx_eyetv}" != "xno" &&
3837 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
3839 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
3840 VLC_ADD_PLUGIN([access_eyetv])
3843 AC_ARG_ENABLE(macosx-vlc-app,
3844 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
3845 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
3846 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
3851 AC_ARG_ENABLE(ncurses,
3852 [ --disable-ncurses ncurses interface support (default disabled)],
3853 [if test "${enable_ncurses}" != "no"; then
3854 AC_CHECK_HEADER(ncurses.h,
3855 [AC_CHECK_LIB(ncursesw, mvprintw,
3856 [VLC_ADD_PLUGIN([ncurses])
3857 VLC_ADD_LIBS([ncurses],[-lncursesw])
3858 ALIASES="${ALIASES} nvlc"
3859 AC_CHECK_LIB(ncursesw, tgetent, [],
3860 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3861 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3862 [AS_IF([test "${enable_ncurses}" = "yes"],
3863 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3869 [AS_IF([test "${enable_ncurses}" = "yes"], [
3870 AC_MSG_ERROR([libncursesw not found])])]
3872 [AS_IF([test "${enable_ncurses}" = "yes"], [
3873 AC_MSG_ERROR([ncurses.h not found])])]
3882 [ --enable-xosd xosd interface support (default disabled)])
3883 if test "${enable_xosd}" = "yes"
3885 AC_CHECK_HEADERS(xosd.h,
3886 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3887 VLC_ADD_PLUGIN([xosd])
3888 VLC_ADD_LIBS([xosd],[-lxosd])
3894 dnl Framebuffer (overlay) plugin
3896 AC_ARG_ENABLE(fbosd,
3897 [ --enable-fbosd fbosd interface support (default disabled)])
3898 if test "${enable_fbosd}" = "yes"
3900 AC_CHECK_HEADERS(linux/fb.h, [
3901 VLC_ADD_PLUGIN([fbosd])
3906 dnl Visualisation plugin
3908 AC_ARG_ENABLE(visual,
3909 [ --enable-visual visualisation plugin (default enabled)])
3910 if test "${enable_visual}" != "no"
3912 VLC_ADD_PLUGIN([visual])
3916 dnl goom visualization plugin
3918 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3921 dnl libprojectM visualization plugin
3923 AC_ARG_ENABLE(projectm,
3924 [ --enable-projectm projectM visualization plugin (default enabled)])
3925 AS_IF([test "${enable_projectm}" != "no"],
3927 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3929 VLC_ADD_PLUGIN([projectm])
3930 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3931 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3932 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3933 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3934 [ AC_MSG_WARN( [Using libprojectM version 1] )
3937 AC_MSG_WARN([libprojectM library not found])
3942 dnl AtmoLight (homemade Philips Ambilight clone)
3945 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3946 (default enabled)]),, [enable_atmo="yes"])
3947 AS_IF([test "${enable_atmo}" != no], [
3948 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3950 VLC_ADD_PLUGIN([atmo])
3956 dnl Bonjour services discovery
3957 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3960 dnl libudev services discovery
3961 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3964 dnl MTP devices services discovery
3965 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3971 [ --enable-lirc lirc support (default disabled)])
3972 if test "${enable_lirc}" = "yes"
3974 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3975 if test "${have_lirc}" = "true"
3977 VLC_ADD_PLUGIN([lirc])
3978 VLC_ADD_LIBS([lirc],[-llirc_client])
3982 EXTEND_HELP_STRING([Misc options:])
3987 AC_ARG_ENABLE(libgcrypt,
3988 [ --disable-libgcrypt gcrypt support (default enabled)])
3989 AS_IF([test "${enable_libgcrypt}" != "no"], [
3990 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3991 libgcrypt-config --version >/dev/null || \
3992 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3993 AC_CHECK_LIB(gcrypt, gcry_control, [
3994 have_libgcrypt="yes"
3995 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3996 GCRYPT_LIBS="`libgcrypt-config --libs`"
3998 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3999 ], [`libgcrypt-config --libs`])
4001 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4002 ], [#include <gcrypt.h>]
4006 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4007 AS_IF([test "${have_libgcrypt}" = "yes"],[
4008 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4011 AC_SUBST(GCRYPT_CFLAGS)
4012 AC_SUBST(GCRYPT_LIBS)
4013 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4018 AC_ARG_ENABLE(gnutls,
4019 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
4021 AS_IF([test "${have_libgcrypt}" != "yes"], [
4022 AS_IF([test "${enable_gnutls}" = "yes"], [
4023 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
4027 AS_IF([test "${enable_gnutls}" != "no"], [
4028 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
4029 VLC_ADD_PLUGIN([gnutls])
4030 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4031 AS_IF([test "${SYS}" = "mingw32"], [
4032 dnl pkg-config --libs gnutls omits these
4033 VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
4035 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4036 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4037 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4039 AS_IF([test "${enable_gnutls}" = "yes"], [
4040 AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)])
4047 dnl RemoteOSD plugin (VNC client as video filter)
4049 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
4050 AS_IF([test "${have_libgcrypt}" = "yes"],[
4052 VLC_ADD_PLUGIN([remoteosd])
4053 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4054 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4057 AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4064 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4065 AS_IF([test "${have_libgcrypt}" = "yes"], [
4067 VLC_ADD_PLUGIN([stream_out_raop])
4068 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4069 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4072 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4077 dnl OSSO (Maemo screen blanking) plugin
4079 PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
4081 AS_IF([test -f "/etc/maemo_version"], [
4082 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4087 dnl update checking system
4089 AC_ARG_ENABLE(update-check,
4090 [ --enable-update-check update checking system (default disabled)])
4091 if test "${enable_update_check}" = "yes"
4093 if test "${have_libgcrypt}" != "yes"
4095 AC_MSG_ERROR([libgcrypt is required for update checking system])
4097 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4098 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4099 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4106 [ --with-sqlite=PATH sqlite path linking])
4107 if test "${SYS}" != "darwin"; then
4108 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4110 if test "${enable_sqlite}" != "no"
4112 AC_CHECK_HEADERS(sqlite3.h, [
4113 VLC_ADD_PLUGIN([sqlite])
4114 if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4115 AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4116 real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4117 if test -z "${real_sqlite}"
4119 dnl The given directory can't be found
4121 AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4123 VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4124 VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4127 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4129 AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4130 AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4133 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4138 AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
4139 if test "${enable_media_library}" = "yes"; then
4140 if test "${enable_sqlite}" != "yes"; then
4141 AC_MSG_ERROR([SQLite module is required for the media library])
4143 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4144 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4145 VLC_ADD_PLUGIN([media_library])
4148 AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
4151 dnl Endianness check
4154 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4155 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4159 AC_SUBST(DEFS_BIGENDIAN)
4162 dnl Where to install KDE solid .desktop
4164 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4165 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4166 KDE4_CONFIG="kde4-config"
4169 AC_ARG_WITH(kde-solid,
4170 AS_HELP_STRING([--with-kde-solid=PATH],
4171 [KDE Solid actions directory (auto)]),, [
4173 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4174 with_kde_solid="yes"
4178 AS_IF([test "${with_kde_solid}" != "no"], [
4179 AS_IF([test "${with_kde_solid}" = "yes"], [
4180 kde4datadir="`${KDE4_CONFIG} --install data`"
4181 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4182 soliddatadir="${kde4datadir}/solid/actions"
4184 soliddatadir="${with_kde_solid}"
4187 AC_SUBST(soliddatadir)
4188 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4191 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4194 AC_ARG_ENABLE(loader,
4195 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4196 (default disabled)]))
4197 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4198 AS_IF([test "${enable_loader}" = "yes"],
4199 [ VLC_ADD_PLUGIN([dmo])
4200 VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader])
4201 VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4202 VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4203 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4206 EXTEND_HELP_STRING([Components:])
4212 [ --enable-vlc build the VLC media player (default enabled)])
4213 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4217 dnl Plugin and builtin checks
4221 dnl Automagically disable plugins if there is no system support for
4222 dnl dynamically loadable files (.so, .dll, .dylib).
4223 dnl don't forget vlc-win32 still can load .dll as plugins
4224 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
4225 AC_MSG_WARN([*** No plugin support! Building statically! ***])
4229 AS_IF([test "${plugin_support}" != "no"], [
4230 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
4234 dnl Pic and shared libvlc stuff
4236 AS_IF([test "${SYS}" = "mingw32"], [
4237 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
4238 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
4242 dnl Stuff used by the program
4244 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4245 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4246 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4247 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4248 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4249 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4250 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4251 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4252 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4253 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4254 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4255 AC_SUBST(COPYRIGHT_MESSAGE)
4256 AC_SUBST(VERSION_MESSAGE)
4257 AC_SUBST(VERSION_MAJOR)
4258 AC_SUBST(VERSION_MINOR)
4259 AC_SUBST(VERSION_REVISION)
4260 AC_SUBST(VERSION_EXTRA)
4261 AC_SUBST(COPYRIGHT_YEARS)
4262 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4263 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4264 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4266 dnl Handle substvars that use $(top_srcdir)
4268 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4276 dnl Sort the modules list
4278 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4281 dnl Configuration is finished
4291 AC_SUBST(WINE_SDK_PATH)
4293 AC_SUBST(AM_CPPFLAGS)
4294 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4295 AC_SUBST(FILE_LIBVLCCORE_DLL)
4296 AC_SUBST(FILE_LIBVLC_DLL)
4301 libs/loader/Makefile
4313 modules/access/Makefile
4314 modules/access/bd/Makefile
4315 modules/access/dshow/Makefile
4316 modules/access/mms/Makefile
4317 modules/access/rtp/Makefile
4318 modules/access/rtsp/Makefile
4319 modules/access/vcd/Makefile
4320 modules/access/vcdx/Makefile
4321 modules/access/screen/Makefile
4322 modules/access/zip/Makefile
4323 modules/access_output/Makefile
4324 modules/audio_filter/Makefile
4325 modules/audio_mixer/Makefile
4326 modules/audio_output/Makefile
4327 modules/codec/Makefile
4328 modules/codec/avcodec/Makefile
4329 modules/codec/dmo/Makefile
4330 modules/codec/omxil/Makefile
4331 modules/codec/shine/Makefile
4332 modules/codec/spudec/Makefile
4333 modules/codec/wmafixed/Makefile
4334 modules/control/Makefile
4335 modules/control/dbus/Makefile
4336 modules/control/globalhotkeys/Makefile
4337 modules/demux/Makefile
4338 modules/demux/asf/Makefile
4339 modules/demux/avformat/Makefile
4340 modules/demux/avi/Makefile
4341 modules/demux/mkv/Makefile
4342 modules/demux/mp4/Makefile
4343 modules/demux/mpeg/Makefile
4344 modules/demux/playlist/Makefile
4345 modules/gui/Makefile
4346 modules/gui/macosx/Makefile
4347 modules/gui/hildon/Makefile
4348 modules/gui/minimal_macosx/Makefile
4349 modules/gui/macosx_dialog_provider/Makefile
4350 modules/gui/qt4/Makefile
4351 modules/gui/skins2/Makefile
4352 modules/lua/Makefile
4353 modules/meta_engine/Makefile
4354 modules/misc/Makefile
4355 modules/misc/playlist/Makefile
4356 modules/misc/osd/Makefile
4357 modules/misc/stats/Makefile
4358 modules/media_library/Makefile
4359 modules/mux/Makefile
4360 modules/mux/mpeg/Makefile
4361 modules/notify/Makefile
4362 modules/packetizer/Makefile
4363 modules/services_discovery/Makefile
4364 modules/stream_filter/Makefile
4365 modules/stream_out/Makefile
4366 modules/stream_out/transcode/Makefile
4367 modules/text_renderer/Makefile
4368 modules/video_chroma/Makefile
4369 modules/video_filter/Makefile
4370 modules/video_filter/dynamicoverlay/Makefile
4371 modules/video_output/Makefile
4372 modules/video_output/msw/Makefile
4373 modules/visualization/Makefile
4374 modules/visualization/visual/Makefile
4375 modules/mmx/Makefile
4376 modules/mmxext/Makefile
4377 modules/3dnow/Makefile
4378 modules/sse2/Makefile
4379 modules/altivec/Makefile
4380 modules/arm_neon/Makefile
4383 AM_COND_IF([HAVE_WIN32], [
4385 extras/package/win32/spad.nsi
4386 extras/package/win32/vlc.win32.nsi
4390 AM_COND_IF([HAVE_DARWIN], [
4392 extras/package/macosx/Info.plist
4393 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4397 dnl Generate makefiles
4400 /bin/echo -n "Enabled modules: ${PLUGINS}"
4402 dnl Do we have to use make or gmake ?
4403 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4404 dnl Shortcut to nice compile message
4406 if test -n $SHELL; then
4407 SHELL=${CONFIG_SHELL-/bin/sh}
4409 echo '#! '$SHELL >compile
4410 echo rm -f .error\$\$ >>compile
4411 echo ERROR=0 >>compile
4412 echo export PATH=$PATH LANG=C >>compile
4413 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4414 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4415 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4416 echo rm -f .error\$\$ >>compile
4417 echo exit \$ERROR >>compile
4421 libvlc configuration
4422 --------------------
4423 version : ${VERSION}
4425 architecture : ${ARCH}
4427 test "${enable_optimizations}" != "no" && printf ${enable_optimizations}
4429 if test "${enable_vlc}" != "no"; then
4430 echo "vlc aliases :${ALIASES}"
4432 echo "build vlc executable : no"
4435 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."