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([--without-contrib],
108 [do not use the libraries in CONTRIB_DIR])])
109 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
110 AS_IF([test "${with_contrib}" != "no"],[
111 AS_IF([test -z "$CONTRIB_DIR"], [
112 topdir="`dirname $0`"
113 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
114 topdir="`pwd`/$topdir"
116 CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}"
117 if ! test -d "$CONTRIB_DIR"
119 gccmachine=`$CC -dumpmachine`
120 CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}"
123 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
124 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
126 AC_SUBST(CONTRIB_DIR)
127 export PATH=${CONTRIB_DIR}/bin:$PATH
128 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
129 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
130 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
131 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
132 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
133 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
134 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
135 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
136 if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then
137 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
139 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
141 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
142 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
144 if test "${SYS}" = "darwin"; then
145 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
146 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
155 dnl Set default values
157 LDFLAGS_vlc="${LDFLAGS}"
160 dnl Check the operating system
172 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
173 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
177 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
180 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
181 CPPFLAGS="${CPPFLAGS_save}"
182 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
183 LDFLAGS="${LDFLAGS_save}"
186 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
187 CPPFLAGS="${CPPFLAGS_save}"
188 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
189 LDFLAGS="${LDFLAGS_save}"
195 dnl Force gcc "-arch" flag
199 ARCH_flag="-arch i386"
202 ARCH_flag="-arch ppc64"
205 ARCH_flag="-arch ppc"
208 ARCH_flag="-arch x86_64"
213 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
214 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
215 CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
216 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
217 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
218 VLC_ADD_LDFLAGS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
219 VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
220 VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
221 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
222 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
223 AC_ARG_ENABLE(macosx-defaults,
224 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
225 if test "x${enable_macosx_defaults}" != "xno"
228 echo "Building with Mac OS X defaults:"
230 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
231 ac_default_prefix="${build_dir}/vlc_install_dir"
233 echo " Assuming --enable-faad"
235 echo " Assuming --enable-flac"
237 echo " Assuming --enable-theora"
239 echo " Assuming --enable-shout"
241 echo " Assuming --enable-vcdx"
243 echo " Assuming --enable-caca"
245 echo " Assuming --enable-ncurses"
247 echo " Assuming --enable-twolame"
248 enable_realrtsp="yes"
249 echo " Assuming --enable-realrtsp"
251 echo " Assuming --enable-libass"
254 echo " Assuming --disable-skins2"
256 echo " Assuming --disable-xcb"
259 dnl Check for Mac OS X SDK settings
261 AC_ARG_WITH(macosx-sdk,
262 [AS_HELP_STRING([--with-macosx-sdk=DIR],
263 [compile using the SDK in DIR])])
264 if test "${with_macosx_sdk}" != "" ; then
265 CPP="${CPP} -isysroot ${with_macosx_sdk}"
266 CC="${CC} -isysroot ${with_macosx_sdk}"
267 CXX="${CXX} -isysroot ${with_macosx_sdk}"
268 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
269 LD="${LD} -syslibroot ${with_macosx_sdk}"
271 echo " No desired SDK version given, falling back to 10.5"
272 CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
273 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
274 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
275 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
276 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
277 with_macosx_version_min="10.5"
278 echo " Assuming --with-macosx-version-min=10.5"
280 AC_ARG_WITH(macosx-version-min,
281 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
282 [compile for MacOS X VERSION and above])])
283 if test "${with_macosx_version_min}" != "" ; then
284 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
285 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
286 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
287 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
288 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
289 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
290 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
291 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
292 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
293 export MACOSX_DEPLOYMENT_TARGET
296 *mingw32* | *cygwin* | *wince* | *mingwce*)
297 AC_CHECK_TOOL(WINDRES, windres, :)
298 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
299 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
300 AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.])
303 *wince* | *mingwce* | *mingw32ce*)
305 dnl Sadly CeGCC still needs non-wince macros
311 dnl Check if we are using the mno-cygwin mode in which case we are
312 dnl actually dealing with a mingw32 compiler.
317 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
321 if test "${SYS}" = "mingw32"; then
322 # add ws2_32 for closesocket, select, recv
323 VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
324 VLC_ADD_LDFLAGS([vlc],[-mwindows])
325 VLC_ADD_LIBS([win32text],[-lgdi32])
326 VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm])
327 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap stream_out_standard stream_out_select 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],[-lws2_32])
328 VLC_ADD_LIBS([filesystem], [-lshlwapi])
330 dnl DEP and ASLR options
333 [AS_HELP_STRING([--with-peflags],
334 [use peflags (default enabled on Windows)])])
335 if test "${with_peflags}" != "no" ; then
336 AC_PATH_TOOL(PEFLAGS, peflags, :)
338 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
339 ac_default_prefix="`pwd`/_win32"
340 DESTDIR="`pwd`/_win32/"
343 dnl NSIS Installer prefix and WIN64
346 amd64*|i686-w64*|x86_64*)
348 PROGRAMFILES="PROGRAMFILES64"
351 PROGRAMFILES="PROGRAMFILES"
354 AC_SUBST(PROGRAMFILES)
357 if test "${SYS}" = "mingwce"; then
358 # add ws2 for closesocket, select, recv
359 VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap netsync audioscrobbler growl rtp stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2])
360 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
361 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
362 ac_default_prefix="`pwd`/_wince"
363 DESTDIR="`pwd`/_wince/"
380 LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
386 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
387 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
388 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
389 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
390 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
391 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
392 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
393 AM_CONDITIONAL(USE_PEFLAGS, test "${with_peflags}" = "yes")
396 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
397 dnl for program foo on win32
399 case "${build_os}" in
401 ac_executable_extensions=".exe"
407 dnl Android is linux, but a bit different
408 AS_IF([test "$SYS" = linux],[
409 AC_MSG_CHECKING([for an Android system])
410 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
411 [[#ifndef __ANDROID__
422 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
426 dnl It's very bad, but our former custom system was worst
430 dnl override platform specific check for dependent libraries
431 dnl otherwise libtool linking of shared libraries will
432 dnl fail on anything other than pass_all.
433 AC_CACHE_VAL(lt_cv_deplibs_check_method,
434 [lt_cv_deplibs_check_method=pass_all])
437 dnl AC_DISABLE_FAST_INSTALL
440 m4_undefine([AC_PROG_F77])
441 m4_defun([AC_PROG_F77],[])
444 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
445 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
447 lt_cv_deplibs_check_method=pass_all
449 AS_IF([test "${enable_shared}" = "no"], [
450 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
456 AM_GNU_GETTEXT_VERSION([0.18.1])
457 AM_GNU_GETTEXT([external])
458 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
464 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
465 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
467 dnl Check for broken versions of mingw-runtime compatability library
468 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
469 AC_MSG_CHECKING(for broken mingw-runtime)
470 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
472 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
473 #ifndef __MINGW64_VERSION_MAJOR
474 # error Attempting to use mingw-runtime with broken vsnprintf support
480 AC_MSG_RESULT([present])
481 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
483 dnl force use of mingw provided c99 *printf over msvcrt
484 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
485 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
488 dnl Check for the need to include the mingwex lib for mingw32
489 if test "${SYS}" = "mingw32" ; then
490 AC_CHECK_LIB(mingwex,opendir,
491 AC_CHECK_LIB(mingw32,opendir,,
492 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
496 dnl Check for fnative-struct or mms-bitfields support for mingw32
497 if test "${SYS}" = "mingw32" ; then
498 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
499 [ac_cv_c_mms_bitfields],
500 [CFLAGS="${CFLAGS_save} -mms-bitfields"
501 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
502 if test "${ac_cv_c_mms_bitfields}" != "no"; then
503 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
504 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
506 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
507 [ac_cv_c_fnative_struct],
508 [CFLAGS="${CFLAGS_save} -fnative-struct"
509 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
510 if test "${ac_cv_c_fnative_struct}" != "no"; then
511 CFLAGS_save="${CFLAGS_save} -fnative-struct";
512 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
516 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
519 dnl Check for fvtable-thunks support for mingw32
520 if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then
522 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
523 [ac_cv_cxx_fvtable_thunks],
524 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
525 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
526 ac_cv_cxx_fvtable_thunks=no)])
527 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
528 CXXFLAGS_mingw32_special="-fvtable-thunks"
531 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
536 dnl Buggy glibc prevention. Purposedly not cached.
537 dnl See sourceware.org bugs 5058 and 5443.
538 dnl Ubuntu alone has 20 bug numbers for this...
540 AC_MSG_CHECKING(for buggy GNU/libc versions)
541 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
543 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
544 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
545 # error GNU/libc with dcgettext killer bug!
548 AC_MSG_RESULT([not present])
550 AC_MSG_RESULT([found])
551 AS_IF([test "x${enable_nls}" != "xno"], [
552 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
553 work-around for this. Check with your distribution vendor on how to update the
554 glibc run-time. Alternatively, build with --disable-nls.])
556 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
560 dnl Plugin compilation stuff
564 dnl The -DSYS_FOO flag
565 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
567 dnl Check for system libs needed
570 dnl Check for usual libc functions
571 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
572 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])
573 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])
574 AC_CHECK_FUNCS(fdatasync,,
575 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
578 # Windows CE doesn't have strcoll()
581 dnl Check for non-standard system calls
582 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
584 AH_BOTTOM([#include <vlc_fixups.h>])
587 AC_CHECK_FUNCS(connect,,[
588 AC_CHECK_LIB(socket,connect,[
589 VLC_ADD_LIBS([libvlccore cdda],-lsocket)
590 SOCKET_LIBS="-lsocket"
593 AC_SUBST(SOCKET_LIBS)
595 AC_CHECK_FUNCS(send,,[
596 AC_CHECK_LIB(socket,send,[
597 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket])
602 dnl Check for socklen_t
603 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
604 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
605 ac_cv_type_socklen_t,
606 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
607 [#include <sys/types.h>
609 # include <winsock2.h>
610 # include <ws2tcpip.h>
612 # include <sys/socket.h>
613 #endif]], [[socklen_t len; len = 0;]])],
614 ac_cv_type_socklen_t=yes,
615 ac_cv_type_socklen_t=no)])
616 AS_IF([test "$ac_cv_type_socklen_t" = no],
617 [AC_DEFINE(socklen_t, int)])
619 dnl Check for struct sockaddr_storage
620 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
621 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
622 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
624 [#include <sys/types.h>
625 #if defined( UNDER_CE )
626 # include <winsock2.h>
627 #elif defined( WIN32 )
628 # include <winsock2.h>
630 # include <sys/socket.h>
631 #endif], [struct sockaddr_storage addr;],
632 ac_cv_struct_sockaddr_storage=yes,
633 ac_cv_struct_sockaddr_storage=no)])
634 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
635 AC_DEFINE(sockaddr_storage, sockaddr)
636 AC_DEFINE(ss_family, sa_family)
639 dnl getaddrinfo, getnameinfo and gai_strerror check
640 dnl -lnsl and -lsocket are needed on Solaris;
641 dnl we purposedly make the test fail on Windows
643 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
646 dnl Check for va_copy
647 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
649 [#include <stdarg.h>],
650 [va_list ap1, ap2; va_copy(ap1,ap2);],
651 [ac_cv_c_va_copy="yes"],
652 [ac_cv_c_va_copy="no"]))
653 if test "${ac_cv_c_va_copy}" = "yes"; then
654 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
656 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
658 [#include <stdarg.h>],
659 [va_list ap1, ap2; __va_copy(ap1,ap2);],
660 [ac_cv_c___va_copy="yes"],
661 [ac_cv_c___va_copy="no"]))
662 if test "${ac_cv_c___va_copy}" = "yes"; then
663 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
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)
681 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
683 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype],[-lm])
686 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm])
688 AC_CHECK_LIB(m,sqrt,[
689 VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
691 AC_CHECK_LIB(m,ceil,[
692 VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm])
695 VLC_ADD_LIBS([gaussianblur],[-lm])
697 AC_CHECK_LIB(m,round,[
698 VLC_ADD_LIBS([dbus],[-lm])
700 AC_CHECK_LIB(m,sqrtf,[
701 VLC_ADD_LIBS([x264],[-lm])
703 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
705 AC_CHECK_LIB(m,lrintf, [
706 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
707 VLC_ADD_LIBS([skins2],[-lm])
710 dnl Check for dynamic plugins
711 ac_cv_have_plugins=no
714 if test "${ac_cv_have_plugins}" = "no"; then
715 if test "${SYS}" = "mingw32" ; then
716 AC_CHECK_LIB(kernel32, main,
717 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
718 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
719 ac_cv_have_plugins=yes])
724 if test "${ac_cv_have_plugins}" = "no"; then
725 if test "${SYS}" = "mingwce"; then
726 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
727 ac_cv_have_plugins=yes
731 # Only test for dlopen() if the others didn't work
733 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
734 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
735 ac_cv_my_have_dlopen=no
736 AC_CHECK_FUNC(dlopen, [
737 ac_cv_my_have_dlopen=yes
739 AC_CHECK_LIB(dl, dlopen, [
740 ac_cv_my_have_dlopen=yes
743 AC_CHECK_LIB(svld, dlopen, [
744 ac_cv_my_have_dlopen=yes
749 if test "${ac_cv_my_have_dlopen}" = "yes"; then
750 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
751 ac_cv_have_plugins=yes
752 VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
757 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
758 dnl Check for pthreads - borrowed from XMMS
760 if test "${THREAD_LIB}" = "error"; then
761 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
763 if test "${THREAD_LIB}" = "error"; then
764 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
766 if test "${THREAD_LIB}" = "error"; then
767 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
769 if test "${THREAD_LIB}" = "error"; then
770 AC_CHECK_FUNCS(pthread_mutex_lock)
774 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
776 AC_CHECK_LIB(rt, clock_nanosleep, [
777 VLC_ADD_LIBS([libvlccore],[-lrt])
779 AC_CHECK_FUNC(nanosleep,,[
780 AC_CHECK_LIB(rt,nanosleep, [
781 VLC_ADD_LIBS([libvlccore],[-lrt])
783 AC_CHECK_LIB(posix4,nanosleep, [
784 VLC_ADD_LIBS([libvlccore],[-lposix4])
789 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
791 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
793 dnl Check for misc headers
794 AC_MSG_CHECKING(for strncasecmp in strings.h)
795 AC_EGREP_HEADER(strncasecmp,strings.h,[
797 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
798 Define if <strings.h> defines strncasecmp.)],[
801 dnl Check for headers
802 AC_CHECK_HEADERS([search.h])
803 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
804 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
805 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
806 AC_CHECK_HEADERS([net/if.h], [], [],
808 #include <sys/types.h>
809 #include <sys/socket.h>
811 AC_CHECK_HEADERS([sys/mount.h], [], [],
813 #include <sys/param.h>
816 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
817 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
818 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
819 AC_CHECK_HEADERS(syslog.h)
820 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
822 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
823 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
824 AC_CHECK_TYPE(ssize_t,, [
825 AC_DEFINE(ssize_t, int)
829 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
830 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
832 AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
836 dnl Check for threads library
837 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
838 AC_CHECK_HEADERS(pthread.h)
839 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
841 dnl It seems that autoconf detects pkg-config only during the first
842 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
843 dnl it is nested within a conditional block, so it was not working right.
844 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
845 AC_ARG_VAR(PKG_CONFIG_PATH,
846 [Paths where to find .pc not at the default location])
847 PKG_PROG_PKG_CONFIG()
849 dnl On some OS we need static linking
850 AS_IF([test -n "${PKG_CONFIG}" ],[
851 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
852 PKG_CONFIG="${PKG_CONFIG} --static"
858 dnl Check for zlib.h and -lz along with system -lminizip if available
860 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
861 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
862 if test "${have_zlib}" = "yes"
864 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
865 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
866 AC_CHECK_HEADERS([unzip.h], [
868 MINIZIP_LIBS="-lminizip -lz"
871 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
872 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
875 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
876 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
877 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
878 VLC_ADD_PLUGIN([unzip zip])
880 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
883 dnl Manual switch for UTF-8
884 AC_ARG_ENABLE(non-utf8,
885 [AS_HELP_STRING([--enable-non-utf8],
886 [support legacy non-UTF-8 systems (default disabled)])],, [
887 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
891 AS_IF([test "${enable_non_utf8}" != "no"], [
892 AC_DEFINE([ASSUME_UTF8], [1],
893 [Define to 1 if the operating system uses UTF-8 internally])
899 [AS_HELP_STRING([--enable-dbus],
900 [compile D-Bus message bus support (default enabled)])])
903 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
906 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
907 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
908 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
909 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
910 dnl Check for dbus control interface
911 AC_ARG_ENABLE(dbus-control,
912 [AS_HELP_STRING([--disable-dbus-control],
913 [D-Bus control interface (default enabled)])])
914 if test "${enable_dbus_control}" != "no"
916 VLC_ADD_PLUGIN([dbus])
917 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
918 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
920 dnl Check for Telepathy
921 AC_ARG_ENABLE(telepathy,
922 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
923 if test "${enable_telepathy}" != "no"; then
924 VLC_ADD_PLUGIN([telepathy])
925 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
926 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
928 dnl Power Management Inhibiter
929 VLC_ADD_PLUGIN([inhibit])
930 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
931 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
933 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
939 dnl Check for ntohl, etc.
940 AC_CACHE_CHECK([for ntohl in sys/param.h],
941 [ac_cv_c_ntohl_sys_param_h],
942 [CFLAGS="${CFLAGS_save} -Wall -Werror"
943 AC_TRY_COMPILE([#include <sys/param.h>],
944 [int meuh; ntohl(meuh);],
945 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
946 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
947 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
950 EXTEND_HELP_STRING([Optimization options:])
953 dnl Compiler warnings
956 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])
957 RDC_PROG_CC_FLAGS([-pipe])
959 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
966 [AS_HELP_STRING([--enable-debug],
967 [build with run-time assertions and debug symbols (default disabled)])],,
970 [Define to 1 if debug code should NOT be compiled])
971 AS_IF([test "${enable_debug}" != "no"], [
972 AC_CHECK_HEADERS([valgrind/valgrind.h])
973 CFLAGS="${CFLAGS} -g"
974 CXXFLAGS="${CXXFLAGS} -g"
975 OBJCFLAGS="${OBJCFLAGS} -g"
976 LDFLAGS="${LDFLAGS} -g"
985 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
987 AS_IF([test "${enable_gprof}" != "no"], [
988 CFLAGS="${CFLAGS} -pg"
989 CXXFLAGS="${CXXFLAGS} -pg"
990 OBJCFLAGS="${OBJCFLAGS} -pg"
991 LDFLAGS="${LDFLAGS} -pg"
995 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
997 AS_IF([test "${enable_gprof}" != "no"], [
998 CFLAGS="${CFLAGS} -finstrument-functions"
999 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
1000 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
1001 LDFLAGS="${LDFLAGS} -finstrument-functions"
1007 AC_ARG_ENABLE(coverage,
1008 [AS_HELP_STRING([--enable-coverage],
1009 [build for test coverage (default disabled)])],,
1010 [enable_coverage="no"])
1011 AS_IF([test "${enable_coverage}" != "no"], [
1012 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1013 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1014 LDFLAGS="-lgcov ${LDFLAGS}"
1019 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
1020 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
1021 [ac_cv_c_visibility_hidden], [
1022 CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1023 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1024 ac_cv_c_visibility_hidden=yes
1026 ac_cv_c_visibility_hidden=no
1029 AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
1031 CFLAGS="${CFLAGS} -fvisibility=hidden"
1032 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
1033 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
1040 dnl Enable/disable optimizations
1042 AC_ARG_ENABLE(optimizations,
1043 [AS_HELP_STRING([--disable-optimizations],
1044 [disable compiler optimizations (default enabled)])],,
1045 [enable_optimizations="yes"])
1046 AS_IF([test "${enable_optimizations}" != "no"], [
1047 enable_optimizations="speed"
1050 dnl Check for various optimization flags
1051 AS_IF([test "${enable_optimizations}" != "no"], [
1054 dnl -O4 and -O3 only in production builds
1055 AS_IF([test "{enable_debug}" = "no"], [
1056 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
1057 CFLAGS="${CFLAGS_save} -O4"
1058 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1064 AS_IF([test "${ac_cv_c_o4}" != "no"], [
1067 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
1068 CFLAGS="${CFLAGS_save} -O3"
1069 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1075 AS_IF([test "${ac_cv_c_o3}" != "no"], [
1081 dnl -O2 and -O in both production and debug builds
1082 AS_IF([test "x$C_O" = "x"], [
1083 AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [
1084 CFLAGS="${CFLAGS_save} -O2"
1085 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1091 AS_IF([test "${ac_cv_c_o2}" != "no"], [
1094 AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [
1095 CFLAGS="${CFLAGS_save} -O"
1096 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1102 AS_IF([test "${ac_cv_c_o}" != "no"], [
1109 CFLAGS="${CFLAGS} ${C_O}"
1110 CXXFLAGS="${CXXFLAGS} ${C_O}"
1111 OBJCFLAGS="${OBJCFLAGS} ${C_O}"
1114 dnl Check for -ffast-math
1115 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
1116 CFLAGS="${CFLAGS_save} -ffast-math"
1117 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1118 ac_cv_c_fast_math=yes
1120 ac_cv_c_fast_math=no
1123 AS_IF([test "${ac_cv_c_fast_math}" != "no"], [
1125 CFLAGS="${CFLAGS} -ffast-math"
1126 CXXFLAGS="${CXXFLAGS} -ffast-math"
1127 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
1131 dnl Check for -funroll-loops
1132 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
1133 CFLAGS="${CFLAGS_save} -funroll-loops"
1134 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1135 ac_cv_c_unroll_loops=yes
1137 ac_cv_c_unroll_loops=no
1140 AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [
1142 CFLAGS="${CFLAGS} -funroll-loops"
1143 CXXFLAGS="${CXXFLAGS} -funroll-loops"
1144 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1148 AS_IF([test "$enable_debug" = "no"], [
1149 dnl Check for -fomit-frame-pointer
1150 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1151 [ac_cv_c_omit_frame_pointer], [
1152 CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1153 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1154 ac_cv_c_omit_frame_pointer=yes
1156 ac_cv_c_omit_frame_pointer=no
1159 AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [
1161 AS_IF([test "${SYS}" != "darwin"], [
1162 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1163 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1165 dnl On darwin we explicitely disable it.
1166 CFLAGS="${CFLAGS} -fno-omit-frame-pointer"
1167 CXXFLAGS="${CXXFLAGS} -fno-omit-frame-pointer"
1168 OBJCFLAGS="${OBJCFLAGS} -fno-omit-frame-pointer"
1175 dnl Check for Darwin plugin linking flags
1176 AS_IF([test "${SYS}" = "darwin"], [
1177 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1178 [ac_cv_ld_darwin], [
1179 CFLAGS="${CFLAGS_save} -bundle -undefined error"
1180 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1186 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1187 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1191 dnl Checks for __attribute__(aligned()) directive
1192 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1193 [ac_cv_c_attribute_aligned],
1194 [ac_cv_c_attribute_aligned=0
1195 CFLAGS="${CFLAGS_save} -Werror"
1196 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1198 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1199 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1201 CFLAGS="${CFLAGS_save}"])
1202 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1203 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1204 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1207 dnl Check for __attribute__((packed))
1208 AC_CACHE_CHECK([for __attribute__((packed))],
1209 [ac_cv_c_attribute_packed],
1210 [ac_cv_c_attribute_packed=no
1211 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1212 [ac_cv_c_attribute_packed=yes])])
1213 if test "${ac_cv_c_attribute_packed}" != "no"; then
1214 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1220 case "${host_cpu}" in
1229 dnl Check for backtrace() support
1230 AC_CHECK_HEADERS(execinfo.h)
1231 AC_CHECK_FUNCS(backtrace)
1236 ALIASES="${ALIASES} cvlc rvlc"
1239 dnl Some plugins aren't useful on some platforms
1241 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1242 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1243 elif test "${SYS}" != "mingwce"; then
1244 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1245 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1247 if test "${SYS}" = "darwin"; then
1248 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1252 dnl Accelerated modules
1255 dnl Check for fully working MMX intrinsics
1256 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1257 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1259 [AS_HELP_STRING([--disable-mmx],
1260 [disable MMX optimizations (default auto)])],,[
1261 case "${host_cpu}" in
1272 AS_IF([test "${enable_mmx}" != "no"], [
1275 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1276 [ac_cv_c_mmx_intrinsics],
1277 [CFLAGS="${CFLAGS_save} -O -mmmx"
1278 AC_TRY_COMPILE([#include <mmintrin.h>
1282 a = b = c = (__m64)frobzor;
1283 a = _mm_slli_pi16(a, 3);
1284 a = _mm_adds_pi16(a, b);
1285 c = _mm_srli_pi16(c, 8);
1286 c = _mm_slli_pi16(c, 3);
1287 b = _mm_adds_pi16(b, c);
1288 a = _mm_unpacklo_pi8(a, b);
1289 frobzor = (uint64_t)a;],
1290 [ac_cv_c_mmx_intrinsics=yes],
1291 [ac_cv_c_mmx_intrinsics=no])])
1292 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1293 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1294 [Define to 1 if MMX intrinsics are available.])
1297 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1299 [CFLAGS="${CFLAGS_save}"
1300 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1301 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1302 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1303 AC_DEFINE(CAN_COMPILE_MMX, 1,
1304 [Define to 1 inline MMX assembly is available.])
1308 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1309 [ac_cv_mmxext_inline],
1310 [CFLAGS="${CFLAGS_save}"
1311 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1312 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1313 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1314 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1315 [Define to 1 if MMX EXT inline assembly is available.])
1319 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1320 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1322 dnl Check for fully workin SSE2 intrinsics
1323 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1324 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1326 [AS_HELP_STRING([--disable-sse],
1327 [disable SSE (1-4) optimizations (default auto)])],, [
1328 case "${host_cpu}" in
1338 AS_IF([test "${enable_sse}" != "no"], [
1339 ARCH="${ARCH} sse sse2"
1341 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1342 [ac_cv_c_sse2_intrinsics],
1343 [CFLAGS="${CFLAGS_save} -O -msse2"
1344 AC_TRY_COMPILE([#include <emmintrin.h>
1348 a = b = c = _mm_set1_epi64((__m64)frobzor);
1349 a = _mm_slli_epi16(a, 3);
1350 a = _mm_adds_epi16(a, b);
1351 c = _mm_srli_epi16(c, 8);
1352 c = _mm_slli_epi16(c, 3);
1353 b = _mm_adds_epi16(b, c);
1354 a = _mm_unpacklo_epi8(a, b);
1355 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1356 [ac_cv_c_sse2_intrinsics=yes],
1357 [ac_cv_c_sse2_intrinsics=no])])
1358 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1359 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1360 [Define to 1 if SSE2 intrinsics are available.])
1363 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1365 [CFLAGS="${CFLAGS_save}"
1366 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1367 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1368 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1369 AC_DEFINE(CAN_COMPILE_SSE, 1,
1370 [Define to 1 if SSE inline assembly is available.])
1373 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1374 [ac_cv_sse2_inline],
1375 [CFLAGS="${CFLAGS_save}"
1376 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1377 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1378 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1379 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1380 [Define to 1 if SSE2 inline assembly is available.])
1385 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1386 [ac_cv_sse3_inline],
1387 [CFLAGS="${CFLAGS_save}"
1388 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1389 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1390 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1391 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1392 [Define to 1 if SSE3 inline assembly is available.]) ])
1394 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1395 [ac_cv_ssse3_inline],
1396 [CFLAGS="${CFLAGS_save}"
1397 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1398 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1399 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1400 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1401 [Define to 1 if SSSE3 inline assembly is available.]) ])
1404 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1405 [ac_cv_sse4_1_inline],
1406 [CFLAGS="${CFLAGS_save}"
1407 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1408 ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1409 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1410 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1411 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1414 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1415 [ac_cv_sse4_2_inline],
1416 [CFLAGS="${CFLAGS_save}"
1417 AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1418 ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
1419 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1420 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1421 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1424 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
1425 [ac_cv_sse4a_inline],
1426 [CFLAGS="${CFLAGS_save}"
1427 AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1428 ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1429 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1430 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1431 [Define to 1 if SSE4A inline assembly is available.]) ])
1433 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1436 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1437 [ac_cv_3dnow_inline],
1438 [CFLAGS="${CFLAGS_save}"
1439 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1440 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1441 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1442 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1443 [Define to 1 if 3D Now! inline assembly is available.])
1446 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1450 [AS_HELP_STRING([--disable-neon],
1451 [disable NEON optimizations (default auto)])],, [
1452 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1454 AS_IF([test "${enable_neon}" != "no"], [
1455 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1456 CFLAGS="${CFLAGS_save} -mfpu=neon"
1459 asm volatile("vqmovun.s64 d0, q1":::"d0");
1460 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1463 ac_cv_neon_inline="-mfpu=neon"
1465 ac_cv_neon_inline="no"
1467 CFLAGS="${CFLAGS_save}"
1469 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1470 NEON_CFLAGS="$ac_cv_neon_inline"
1471 AC_DEFINE([CAN_COMPILE_NEON], 1,
1472 [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1475 ac_cv_neon_inline="no"
1477 AC_SUBST(NEON_CFLAGS)
1478 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1481 AC_ARG_ENABLE(altivec,
1482 [AS_HELP_STRING([--disable-altivec],
1483 [disable AltiVec optimizations (default auto)])],, [
1484 AS_IF([test "${host_cpu}" = "powerpc"],
1485 [enable_altivec=yes], [enable_altivec=no])
1488 AS_IF([test "${enable_altivec}" = "yes"], [
1489 ARCH="${ARCH} altivec";
1490 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1491 [ac_cv_altivec_inline],
1492 [CFLAGS="${CFLAGS_save}"
1493 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1494 ac_cv_altivec_inline="yes",
1495 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1496 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1497 [ac_cv_altivec_inline="-Wa,-m7400"],
1498 ac_cv_altivec_inline=no)
1500 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1501 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1502 [Define to 1 if AltiVec inline assembly is available.])
1503 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1504 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1505 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1506 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1511 dnl The AltiVec C extensions
1513 dnl There are several possible cases:
1514 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1515 dnl need <altivec.h>
1516 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1517 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1518 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1519 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1520 dnl - Others: test should fail
1521 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1523 [# OS X/PPC test (gcc 4.x)
1524 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1525 AC_TRY_COMPILE([vector unsigned char foo;],
1526 [vec_ld(0, (unsigned char *)0);],
1527 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1528 [# OS X/PPC test (gcc 3.x)
1529 CFLAGS="${CFLAGS_save} -faltivec"
1530 AC_TRY_COMPILE([vector unsigned char foo;],
1531 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1532 [ac_cv_c_altivec="-faltivec"],
1533 dnl Below this are the Linux tests
1534 [# Linux/PPC test (gcc 4.x)
1535 CFLAGS="${CFLAGS_save} -maltivec"
1536 AC_TRY_COMPILE([#include <altivec.h>],
1537 [vec_ld(0, (unsigned char *)0);],
1538 [ac_cv_c_altivec="-maltivec"],
1539 [# Linux/PPC test (gcc 3.3)
1540 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1541 AC_TRY_COMPILE([#include <altivec.h>],
1542 [vec_ld(0, (unsigned char *)0);],
1544 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1545 [# Linux/PPC test (gcc 3.3)
1546 CFLAGS="${CFLAGS_save} -fvec"
1547 AC_TRY_COMPILE([#include <altivec.h>],
1548 [vec_ld(0, (unsigned char *)0);],
1549 [ac_cv_c_altivec="-fvec"],
1550 [ac_cv_c_altivec=no])
1555 CFLAGS="${CFLAGS_save}"
1557 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1558 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1561 AC_CHECK_HEADERS(altivec.h)
1562 CPPFLAGS="${CPPFLAGS_save}"
1564 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1565 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1566 [Define to 1 if C AltiVec extensions are available.])
1567 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1568 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1572 AC_CACHE_CHECK([if linker needs -framework vecLib],
1574 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1575 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1576 LDFLAGS="${LDFLAGS_save}"
1578 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1579 VLC_ADD_LDFLAGS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1582 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1585 dnl Special arch tuning
1588 [AS_HELP_STRING([--with-tuning=ARCH],
1589 [tune compilation for an architecture (default varies)])])
1590 if test -n "${with_tuning}"; then
1591 if test "${with_tuning}" != "no"; then
1592 CFLAGS_TUNING="-mtune=${with_tuning}"
1595 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1596 CFLAGS_TUNING="-march=prescott -mtune=generic"
1597 elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1598 CFLAGS_TUNING="-march=core2 -mtune=core2"
1599 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1600 CFLAGS_TUNING="-mtune=pentium2"
1601 elif test "${host_cpu}" = "x86_64"; then
1602 CFLAGS_TUNING="-mtune=athlon64"
1603 elif test "${host_cpu}" = "powerpc"; then
1604 CFLAGS_TUNING="-mtune=G4";
1608 dnl NOTE: this can't be cached cleanly
1609 AS_IF([test "${CFLAGS_TUNING}"],
1610 [CFLAGS_save="${CFLAGS}"
1611 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1613 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1614 AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
1616 [CFLAGS_TUNING=""; tuning="no"
1617 AS_IF([test "${with_tuning}"],
1618 [AC_MSG_ERROR([requested tuning not supported])])])
1620 AC_MSG_RESULT([$tuning])
1621 CFLAGS="${CFLAGS_save}"
1627 AC_ARG_ENABLE(optimize-memory,
1628 [AS_HELP_STRING([--enable-optimize-memory],
1629 [optimize memory usage over performance])])
1630 if test "${enable_optimize_memory}" = "yes"; then
1631 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1635 dnl Allow running as root (useful for people running on embedded platforms)
1637 AC_ARG_ENABLE(run-as-root,
1638 [AS_HELP_STRING([--enable-run-as-root],
1639 [allow running VLC as root (default disabled)])])
1640 AS_IF([test "${enable_run_as_root}" = "yes"],[
1641 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1642 [Define to 1 to allow running VLC as root (uid 0).])
1649 [AS_HELP_STRING([--disable-sout],
1650 [disable streaming output (default enabled)])])
1651 AS_IF([test "${enable_sout}" != "no"], [
1652 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1654 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1658 [AS_HELP_STRING([--disable-lua],
1659 [disable LUA scripting support (default enabled)])])
1660 if test "${enable_lua}" != "no"
1662 PKG_CHECK_MODULES(LUA, lua5.1,
1665 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1666 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1670 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1673 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1674 [LUA_LIBS="-llua5.1"],
1675 AC_CHECK_LIB( lua51 , luaL_newstate,
1676 [LUA_LIBS="-llua51"],
1677 AC_CHECK_LIB( lua , luaL_newstate,
1685 if test "x${have_lua}" = "xyes" ; then
1686 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1687 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1689 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.])
1691 AC_ARG_VAR([LUAC], [LUA byte compiler])
1692 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1693 AS_IF([test "${LUAC}" = "false"], [
1694 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1697 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1702 AC_ARG_ENABLE(httpd,
1703 [AS_HELP_STRING([--disable-httpd],
1704 [disable the built-in HTTP server (default enabled)])])
1705 if test "${enable_httpd}" != "no"
1707 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1709 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1712 dnl VideoLAN manager
1715 [AS_HELP_STRING([--disable-vlm],
1716 [disable the stream manager (default enabled)])],,
1717 [enable_vlm="${enable_sout}"])
1718 AS_IF([test "${enable_vlm}" != "no"], [
1719 AS_IF([test "${enable_sout}" = "no"], [
1720 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1722 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1724 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1727 dnl Growl notification plugin
1729 AC_ARG_ENABLE(growl,
1730 [ --enable-growl growl notification plugin (default disabled)],,
1732 AS_IF([test "${enable_growl}" != "no"], [
1733 VLC_ADD_PLUGIN([growl_udp])
1734 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
1735 VLC_ADD_PLUGIN([growl])
1736 VLC_ADD_LDFLAGS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
1737 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
1738 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
1744 dnl Libnotify notification plugin
1746 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
1751 AC_ARG_ENABLE(taglib,
1752 [AS_HELP_STRING([--disable-taglib],
1753 [do not use TagLib (default enabled)])])
1754 AS_IF([test "${enable_taglib}" != "no"], [
1755 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
1756 VLC_ADD_PLUGIN([taglib])
1757 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1758 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
1760 AC_MSG_WARN(TagLib library not found)])
1767 EXTEND_HELP_STRING([Input plugins:])
1770 dnl libproxy support
1772 AC_ARG_ENABLE(libproxy,
1773 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1774 AS_IF([test "${enable_libproxy}" != "no"], [
1775 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1776 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1777 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1778 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1780 AS_IF([test "x${enable_libproxy}" != "x"], [
1781 AC_MSG_ERROR([libproxy could not be found on your system])
1789 AC_ARG_ENABLE(live555,
1790 [AS_HELP_STRING([--enable-live555],
1791 [enable RTSP input through live555 (default enabled)])])
1792 AC_ARG_WITH(live555-tree,
1793 [AS_HELP_STRING([--with-live555-tree=PATH],
1794 [live555 tree for static linking])])
1795 if test "${enable_live555}" != "no"; then
1798 dnl test for --with-live555-tree
1800 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1802 CPPFLAGS_save="${CPPFLAGS}"
1803 if test -z "${CONTRIB_DIR}"; then
1804 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1806 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1808 if test "${SYS}" = "solaris"; then
1809 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1811 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1813 AC_CHECK_HEADERS(liveMedia_version.hh, [
1814 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1816 [#include <liveMedia_version.hh>
1817 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1818 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1822 [AC_MSG_RESULT([no])
1823 AC_MSG_WARN([The installed liveMedia version is too old:
1824 Version 2010.05.29 or later is required to proceed.
1825 You can get an updated one from http://www.live555.com/liveMedia .])
1826 AS_IF([test "${enable_live555}" == "yes"], [
1827 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.])
1830 AC_MSG_RESULT([yes])
1831 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1832 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1833 if test "${SYS}" = "mingw32"; then
1834 # add ws2_32 for closesocket, select, recv
1835 other_libs="$other_libs -lws2_32"
1836 elif test "${SYS}" = "mingwce"; then
1837 # add ws2 for closesocket, select, recv
1838 other_libs="$other_libs -lws2"
1841 dnl We need to check for pic because live555 don't provide shared libs
1842 dnl and we want to build a plugins so we need -fPIC on some arch.
1843 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1844 AC_CHECK_LIB(liveMedia_pic, main, [
1845 VLC_ADD_PLUGIN([live555])
1846 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1848 AC_CHECK_LIB(liveMedia, main, [
1849 VLC_ADD_PLUGIN([live555])
1850 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1851 ],[],[${other_libs}]) ],[${other_libs_pic}])
1853 CPPFLAGS="${CPPFLAGS_save}"
1858 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1859 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1860 if test -z "${real_live555_tree}"; then
1861 dnl The given directory can't be found
1863 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1865 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1866 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1868 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1869 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1871 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1872 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1873 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1877 [AC_MSG_RESULT([no])
1878 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1879 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1881 AC_MSG_RESULT([yes])
1885 VLC_ADD_PLUGIN([live555])
1887 if test "${SYS}" = "mingw32"; then
1888 # add ws2_32 for closesocket, select, recv
1889 VLC_ADD_LIBS([live555],[-lws2_32])
1892 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1893 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1894 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1895 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1897 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1898 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1899 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1900 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1901 if test "${SYS}" = "solaris"; then
1902 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1905 dnl The given live555 wasn't built
1907 if test "${enable_live555}" = "yes"; then
1908 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1915 dnl - special access module for dc1394 input
1916 dnl - dv module: digital video module check for libraw1394
1917 dnl - linsys modules: access module check for libzvbi
1919 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1920 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1922 AC_ARG_ENABLE(linsys,
1923 [AS_HELP_STRING([--enable-linsys],
1924 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1925 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1926 VLC_ADD_PLUGIN([linsys_hdsdi])
1927 PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
1928 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1929 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1930 VLC_ADD_PLUGIN([linsys_sdi]) ],
1931 [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])]
1936 dnl dvdread module: check for libdvdread
1938 dnl prepend -ldvdcss on OS that need it
1939 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
1940 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1943 dnl libdvdnav plugin
1945 AC_ARG_ENABLE(dvdnav,
1946 [AS_HELP_STRING([--disable-dvdnav],
1947 [disable DVD navigation with libdvdnav (default auto)])])
1948 if test "${enable_dvdnav}" != "no"
1950 dnl prepend -ldvdcss on OS that need it
1951 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
1953 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1954 VLC_ADD_PLUGIN([dvdnav])
1955 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1956 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1957 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1958 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1959 [], [${LIBS_dvdnav}])
1960 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1961 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1962 [], [${LIBS_dvdnav}])],
1963 [AC_MSG_WARN(dvdnav library not found)])
1967 dnl Windows DirectShow access module
1969 AC_ARG_ENABLE(dshow,
1970 [AS_HELP_STRING([--disable-dshow],
1971 [support DirectShow (default auto)])])
1972 if test "${enable_dshow}" != "no"
1974 if test "${SYS}" = "mingw32"
1977 AC_CHECK_HEADERS(dshow.h,
1978 [ VLC_ADD_PLUGIN([dshow])
1979 VLC_ADD_CXXFLAGS([dshow],[])
1980 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1986 dnl Blu-ray Disc Support with libbluray
1988 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) )
1991 dnl OpenCV wrapper and example filters
1993 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1997 dnl libsmbclient plugin
2000 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
2001 if test "${enable_smb}" != "no"; then
2002 AC_CHECK_HEADERS(libsmbclient.h,
2003 [ VLC_ADD_PLUGIN([access_smb])
2004 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2005 [ if test -n "${enable_smb}"; then
2006 AC_MSG_ERROR([cannot find libsmbclient headers])
2012 dnl sftp access support
2015 [AS_HELP_STRING([--enable-sftp],
2016 [support SFTP file transfer via libssh2 (default disabled)])])
2017 if test "${enable_sftp}" = "yes"; then
2018 AC_CHECK_HEADERS(libssh2.h, [
2019 VLC_ADD_PLUGIN([access_sftp])
2020 VLC_ADD_LIBS([access_sftp], [-lssh2])
2025 dnl Video4Linux2 plugin
2028 [AS_HELP_STRING([--disable-v4l2],
2029 [do not support Video4Linux version 2 (default auto)])])
2031 [AS_HELP_STRING([--with-v4l2=PATH], [path to a V4L2-enabled kernel tree])])
2032 if test "${enable_v4l2}" != "no"
2034 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2036 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2039 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2040 AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [
2041 VLC_ADD_PLUGIN([v4l2])
2043 CPPFLAGS="${CPPFLAGS_save}"
2047 dnl libv4l2 support for video4linux.
2049 AC_ARG_ENABLE(libv4l2,
2050 [AS_HELP_STRING([--enable-libv4l2],
2051 [use V4L2 through libv4l2 (default auto)])])
2052 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2054 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2055 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2056 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2057 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2058 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2063 dnl special access module for Hauppauge PVR cards
2066 [AS_HELP_STRING([--enable-pvr],
2067 [support PVR V4L2 cards (default disabled)])])
2068 if test "${enable_pvr}" = "yes"
2070 VLC_ADD_PLUGIN([pvr])
2074 dnl special access module for Blackmagic SDI cards
2076 AC_ARG_ENABLE(decklink,
2077 [AS_HELP_STRING([--disable-decklink],
2078 [disable Blackmagic DeckLink SDI input (default auto)])])
2079 AC_ARG_WITH(decklink_sdk,
2080 [AS_HELP_STRING[--with-decklink-sdk=DIR],
2081 [location of Blackmagic DeckLink SDI SDK])])
2082 if test "${enable_decklink}" != "no"
2084 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
2086 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
2088 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
2090 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
2091 VLC_ADD_PLUGIN([decklink])
2092 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
2094 CPPFLAGS="${CPPFLAGS_save}"
2099 dnl gnomeVFS access module
2101 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2107 [AS_HELP_STRING([--enable-vcdx],
2108 [navigate VCD with libvcdinfo (default disabled)])])
2109 if test "${enable_vcdx}" = "yes"
2111 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
2112 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
2113 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
2114 [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
2115 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
2116 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
2117 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
2118 [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
2119 VLC_ADD_PLUGIN([vcdx])
2123 dnl Built-in CD-DA and VCD module
2126 [AS_HELP_STRING([--disable-vcd],
2127 [disable built-in VCD and CD-DA support (default enabled)])])
2129 AC_ARG_ENABLE(libcddb,
2130 [AS_HELP_STRING([--disable-libcddb],
2131 [disable CDDB for Audio CD (default enabled)])])
2133 if test "${enable_vcd}" != "no"
2135 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2136 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2138 VLC_ADD_PLUGIN([vcd cdda])
2143 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2144 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2146 VLC_ADD_PLUGIN([vcd cdda])
2147 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2152 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2153 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2155 VLC_ADD_PLUGIN([vcd cdda])
2156 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2161 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2163 VLC_ADD_PLUGIN([vcd cdda])
2166 if test "${SYS}" = "darwin"
2168 VLC_ADD_PLUGIN([vcd cdda])
2169 VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2170 VLC_ADD_LIBS([vcdx cdda],[-liconv])
2173 if test "$enable_libcddb" != "no"; then
2174 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2176 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2177 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2178 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2180 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2186 dnl libdvbpsi check for ts mux/demux
2189 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
2190 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
2193 dnl Screen capture module
2195 AC_ARG_ENABLE(screen,
2196 [AS_HELP_STRING([--enable-screen],
2197 [disable screen capture (default enabled)])])
2198 if test "${enable_screen}" != "no"; then
2199 if test "${SYS}" = "darwin"; then
2200 AC_CHECK_HEADERS(OpenGL/gl.h, [
2201 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2202 VLC_ADD_PLUGIN([screen])
2203 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2206 elif test "${SYS}" = "mingw32"; then
2207 VLC_ADD_PLUGIN([screen])
2208 VLC_ADD_LIBS([screen],[-lgdi32])
2209 elif test "${SYS}" = "mingwce"; then
2210 CPPFLAGS="${CPPFLAGS_save}"
2218 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2219 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2222 AS_IF([test "${have_ipv6}" = "yes"], [
2223 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2226 AC_CHECK_FUNCS(inet_ntop,[
2227 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2231 dnl GME demux plugin
2234 [AS_HELP_STRING([--enable-gme],
2235 [use Game Music Emu (default auto)])])
2236 AS_IF([test "${enable_gme}" != "no"], [
2237 AC_CHECK_HEADER([gme/gme.h], [
2238 VLC_ADD_LIBS([gme], [-lgme])
2239 VLC_ADD_PLUGIN([gme])
2241 AS_IF([test "x${enable_gme}" != "x"], [
2242 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2251 PKG_WITH_MODULES([SID], [libsidplay2],
2253 oldCPPFLAGS="$CPPFLAGS"
2254 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2255 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2256 VLC_ADD_PLUGIN([sid])
2257 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2258 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2260 AS_IF([test "x${enable_sid}" = "xyes"],
2261 [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
2262 [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
2265 CPPFLAGS="$oldCPPFLAGS"
2267 AS_IF([test "x${enable_sid}" = "xyes"],
2268 [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
2269 [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
2271 [C64 sid demux support], [auto])
2275 dnl ogg demux plugin
2277 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2278 if test "${enable_sout}" != "no"; then
2279 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2282 if test "${enable_sout}" != "no"; then
2283 dnl Check for libshout
2284 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2288 dnl matroska demux plugin
2291 [AS_HELP_STRING([--disable-mkv],
2292 [do not use libmatroska (default auto)])])
2293 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2295 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2296 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2298 [#include <ebml/EbmlVersion.h>
2299 #ifdef LIBEBML_VERSION
2300 #if LIBEBML_VERSION >= 0x010000
2304 [AC_MSG_RESULT([yes])
2305 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2306 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2308 [#include <matroska/KaxVersion.h>
2309 #ifdef LIBMATROSKA_VERSION
2310 #if LIBMATROSKA_VERSION >= 0x010000
2314 [AC_MSG_RESULT([yes])
2315 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2316 VLC_ADD_CXXFLAGS([mkv],[])
2317 if test "${SYS}" = "darwin"; then
2318 VLC_ADD_CXXFLAGS([mkv],[-O1])
2320 AC_CHECK_LIB(ebml_pic, main, [
2321 VLC_ADD_PLUGIN([mkv])
2322 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2324 AC_CHECK_LIB(ebml, main, [
2325 VLC_ADD_PLUGIN([mkv])
2326 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2331 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.])
2335 [AC_MSG_RESULT([no])
2336 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.])
2343 dnl modplug demux plugin
2346 [AS_HELP_STRING([--disable-mod],
2347 [do not use libmodplug (default auto)])])
2348 if test "${enable_mod}" != "no" ; then
2349 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2350 VLC_ADD_PLUGIN([mod])
2351 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2352 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2354 AS_IF([test x"${enable_mod}" = "xyes"],
2355 [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
2356 [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
2361 dnl mpc demux plugin
2364 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2365 if test "${enable_mpc}" != "no"
2367 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2368 VLC_ADD_PLUGIN([mpc])
2369 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2370 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2371 VLC_ADD_PLUGIN([mpc])
2372 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2379 EXTEND_HELP_STRING([Codec plugins:])
2384 AC_ARG_ENABLE(wma-fixed,
2385 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2386 if test "${enable_wma_fixed}" = "yes"
2388 VLC_ADD_PLUGIN([wma_fixed])
2392 dnl shine fixed point mp3 encoder
2394 AC_ARG_ENABLE(shine,
2395 [ --enable-shine shine mp3 encoding module (default disabled)])
2396 if test "${enable_shine}" = "yes"
2398 VLC_ADD_PLUGIN([shine])
2402 dnl openmax il codec plugin
2404 AC_ARG_ENABLE(omxil,
2405 [ --enable-omxil openmax il codec module (default disabled)])
2406 if test "${enable_omxil}" = "yes"
2408 VLC_ADD_PLUGIN([omxil])
2409 VLC_ADD_LIBS([omxil], [$LIBDL])
2413 dnl CrystalHD codec plugin
2415 AC_ARG_ENABLE(crystalhd,
2416 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2417 if test "${enable_crystalhd}" != "no"; then
2418 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2419 VLC_ADD_PLUGIN([crystalhd])
2420 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2422 if test "${SYS}" = "mingw32" ; then
2423 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2424 VLC_ADD_PLUGIN([crystalhd])
2425 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2426 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2429 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2430 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2431 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2432 ],[#define __LINUX_USER__
2433 #include <libcrystalhd/bc_dts_types.h>
2437 #include <libcrystalhd/bc_dts_types.h>
2445 [ --enable-mad libmad module (default enabled)])
2446 if test "${enable_mad}" != "no"
2449 [ --with-mad=PATH path to libmad],[],[])
2450 if test "${with_mad}" != "no" -a -n "${with_mad}"
2452 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2453 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2456 AC_ARG_WITH(mad-tree,
2457 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2458 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2460 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2461 if test -z "${real_mad_tree}"
2463 dnl The given directory can't be found
2465 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2467 dnl Use a custom libmad
2468 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2469 if test -f ${real_mad_tree}/mad.h
2472 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2473 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2474 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2475 AC_CHECK_LIB(mad, mad_bit_init, [
2476 VLC_ADD_PLUGIN([mpgatofixed32])
2477 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2478 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2480 LDFLAGS="${LDFLAGS_save}"
2483 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2486 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2487 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2488 AC_CHECK_HEADERS(mad.h, ,
2489 [ 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.]) ])
2490 AC_CHECK_LIB(mad, mad_bit_init, [
2491 VLC_ADD_PLUGIN([mpgatofixed32])
2492 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2493 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2494 CPPFLAGS="${CPPFLAGS_save}"
2495 LDFLAGS="${LDFLAGS_save}"
2500 AC_ARG_ENABLE(merge-ffmpeg,
2501 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2502 enable_merge_ffmpeg="no"
2504 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2506 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2507 [ac_cv_ld_bsymbolic],
2508 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
2509 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2510 LDFLAGS="${LDFLAGS_save}"
2514 dnl avcodec decoder/encoder plugin
2516 AC_ARG_ENABLE(avcodec,
2517 [ --enable-avcodec libavcodec codec (default enabled)])
2518 AS_IF([test "${enable_avcodec}" != "no"], [
2519 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2522 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2523 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2524 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2525 AC_CHECK_HEADERS(libavutil/avutil.h)
2526 VLC_ADD_PLUGIN([avcodec])
2527 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2528 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2529 VLC_ADD_LDFLAGS([avcodec],[-Wl,-Bsymbolic])
2531 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2535 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2542 dnl libva needs avcodec
2544 AC_ARG_ENABLE(libva,
2545 [ --enable-libva libva VAAPI support (default auto)])
2547 AS_IF([test "${enable_libva}" != "no"], [
2548 AS_IF([test "x${have_avcodec}" = "xyes"], [
2549 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2552 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2553 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2554 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2555 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2556 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2557 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2558 echo "VAAPI acceleration activated"
2560 AS_IF([test "${enable_libva}" == "yes"],
2561 [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
2562 [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])])
2566 AS_IF([test "${enable_libva}" == "yes"],
2567 [AC_MSG_ERROR([Could not find required libva.])],
2568 [AC_MSG_WARN([libva not found ])])
2571 AS_IF([test "x${enable_libva}" != "x"], [
2572 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.])
2578 dnl dxva2 needs avcodec
2580 AC_ARG_ENABLE(dxva2,
2581 [ --enable-dxva2 DxVA2 support (default auto)])
2583 AS_IF([test "${enable_dxva2}" != "no"], [
2584 if test "${SYS}" = "mingw32"; then
2585 AS_IF([test "x${have_avcodec}" = "xyes"], [
2586 AC_CHECK_HEADERS(dxva2api.h,
2588 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2589 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2590 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2591 echo "DxVA2 acceleration activated"
2593 AS_IF([test "${enable_dxva2}" == "yes"],
2594 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2595 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2598 AS_IF([test "${enable_dxva2}" == "yes"],
2599 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2600 [AC_MSG_WARN([dxva2api.h not found])])
2603 AS_IF([test "x${enable_dxva2}" != "x"], [
2604 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2612 dnl stream_out switcher needs libavcodec
2614 AC_ARG_ENABLE(switcher,
2615 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2616 AS_IF([test "${enable_switcher}" = "yes"], [
2617 AS_IF([test "x${have_avcodec}" = "xyes"], [
2618 VLC_ADD_PLUGIN([stream_out_switcher])
2619 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2620 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2621 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2627 dnl avformat demuxer/muxer plugin
2630 AC_ARG_ENABLE(avformat,
2631 [ --enable-avformat libavformat containers (default enabled)],, [
2632 enable_avformat="${have_avcodec}"
2634 if test "${enable_avformat}" != "no"
2636 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2639 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2640 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2641 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2642 AC_CHECK_HEADERS(libavutil/avutil.h)
2643 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2644 VLC_ADD_PLUGIN([avformat access_avio])
2645 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2646 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2647 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2648 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2651 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2652 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2656 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2661 dnl swscale image scaling and conversion plugin
2664 AC_ARG_ENABLE(swscale,
2665 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2666 (default enabled)]))
2667 if test "${enable_swscale}" != "no"
2669 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2672 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2673 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2674 AC_CHECK_HEADERS(libswscale/swscale.h)
2675 VLC_ADD_PLUGIN([swscale])
2676 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2677 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2678 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2679 VLC_ADD_LDFLAGS([swscale],[-Wl,-Bsymbolic])
2683 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.])
2691 AC_ARG_ENABLE(postproc,
2692 [ --enable-postproc libpostproc image post-processing (default enabled)])
2693 if test "${enable_postproc}" != "no"
2695 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2698 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2699 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2700 AC_CHECK_HEADERS(postproc/postprocess.h)
2701 VLC_ADD_PLUGIN([postproc])
2702 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2703 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2706 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
2711 dnl faad decoder plugin
2714 [ --enable-faad faad codec (default disabled)])
2715 if test "${enable_faad}" = "yes"
2717 AC_ARG_WITH(faad-tree,
2718 [ --with-faad-tree=PATH faad tree for static linking])
2719 if test -n "${with_faad_tree}"
2721 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2722 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2723 if test -z "${real_faad_tree}"
2725 dnl The given directory can't be found
2727 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2729 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2731 dnl Use a custom faad
2732 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2733 VLC_ADD_PLUGIN([faad])
2734 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2735 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2737 dnl The given libfaad wasn't built
2739 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2742 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2743 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2744 AC_CHECK_HEADERS(faad.h, ,
2745 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2746 AC_CHECK_LIB(faad, faacDecOpen, [
2747 VLC_ADD_PLUGIN([faad])
2748 VLC_ADD_LIBS([faad],[-lfaad]) ],
2749 AC_CHECK_LIB(faad, NeAACDecOpen, [
2750 VLC_ADD_PLUGIN([faad])
2751 VLC_ADD_LIBS([faad],[-lfaad]) ],
2752 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2753 LDFLAGS="${LDFLAGS_save}"
2754 CPPFLAGS="${CPPFLAGS_save}"
2759 dnl twolame encoder plugin
2761 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2764 dnl QuickTime plugin
2766 AC_ARG_ENABLE(quicktime,
2767 [ --enable-quicktime QuickTime module (deprecated)])
2768 if test "${enable_quicktime}" = "yes"; then
2769 if test "${SYS}" = "mingw32"; then
2770 VLC_ADD_PLUGIN([quicktime])
2772 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2773 [ VLC_ADD_PLUGIN([quicktime])
2774 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2775 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2783 [ --enable-real Real media module (default disabled)])
2784 if test "${enable_real}" = "yes"; then
2785 VLC_ADD_PLUGIN([realvideo])
2789 dnl Real RTSP plugin
2791 AC_ARG_ENABLE(realrtsp,
2792 [ --enable-realrtsp Real RTSP module (default disabled)])
2793 if test "${enable_realrtsp}" = "yes"; then
2794 VLC_ADD_PLUGIN([access_realrtsp])
2798 dnl A52/AC3 decoder plugin
2801 [ --enable-a52 A/52 support with liba52 (default enabled)])
2802 if test "${enable_a52}" != "no"
2805 [ --with-a52=PATH a52 headers and libraries])
2806 AC_ARG_WITH(a52-tree,
2807 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2808 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2810 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2811 if test -z "${real_a52_tree}"
2813 dnl The given directory can't be found
2815 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2817 dnl Use a custom a52dec
2818 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2819 if test -f ${real_a52_tree}/include/a52.h
2822 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2823 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2824 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2825 AC_CHECK_LIB(a52, a52_free, [
2826 VLC_ADD_PLUGIN([a52tofloat32])
2827 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2828 VLC_ADD_LIBS([a52tofloat32],[-la52])
2830 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2832 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2834 AC_MSG_ERROR([the specified tree hasn't been compiled])
2837 LDFLAGS="${LDFLAGS_save}"
2840 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2843 if test -z "${with_a52}"
2848 LDFLAGS_test="-L${with_a52}/lib"
2849 CPPFLAGS_test="-I${with_a52}/include"
2851 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2852 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2853 AC_CHECK_HEADERS(a52dec/a52.h, [
2854 AC_CHECK_LIB(a52, a52_free, [
2855 VLC_ADD_PLUGIN([a52tofloat32])
2856 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2857 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2859 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.])
2862 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.])
2864 CPPFLAGS="${CPPFLAGS_save}"
2865 LDFLAGS="${LDFLAGS_save}"
2869 AC_ARG_WITH(a52-fixed,
2870 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2872 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2875 dnl DTS Coherent Acoustics decoder plugin
2877 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2882 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2887 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2892 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2897 AC_ARG_ENABLE(tremor,
2898 [ --enable-tremor Tremor decoder support (default disabled)])
2899 if test "${enable_tremor}" = "yes"
2901 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2902 VLC_ADD_PLUGIN([tremor])
2903 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2910 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
2913 dnl theora decoder plugin
2915 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
2918 dnl dirac encoder plugin
2920 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2923 dnl schroedinger decoder plugin (for dirac format video)
2925 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
2928 dnl PNG decoder module
2931 [ --enable-png PNG support (default enabled)])
2932 if test "${enable_png}" != "no"; then
2933 AC_CHECK_HEADERS(png.h, [
2934 LDFLAGS="${LDFLAGS_save} -lz"
2935 AC_CHECK_LIB(png, png_set_rows, [
2936 VLC_ADD_LIBS([png],[-lpng -lz -lm])
2937 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2939 LDFLAGS="${LDFLAGS_save}"
2942 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2945 dnl H264 encoder plugin (using libx264)
2948 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2949 if test "${enable_x264}" != "no"; then
2950 AC_ARG_WITH(x264-tree,
2951 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2952 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2954 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2955 if test -z "${real_x264_tree}"
2957 dnl The given directory can't be found
2959 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2961 dnl Use a custom libx264
2962 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2963 if test -f ${real_x264_tree}/x264.h
2966 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2967 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2968 PKG_CHECK_MODULES(X264,x264, [
2969 VLC_ADD_PLUGIN([x264])
2970 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2971 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2972 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2973 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2976 AC_MSG_ERROR([the specified tree hasn't been compiled])
2978 LDFLAGS="${LDFLAGS_save}"
2981 AC_MSG_ERROR([the specified tree doesn't have x264.h])
2984 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2985 VLC_ADD_PLUGIN([x264])
2986 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2988 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2989 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
2992 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2993 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2994 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2997 if test "${enable_x264}" = "yes"; then
2998 AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html])
3001 LDFLAGS="${LDFLAGS_save}"
3006 dnl libfluidsynth (MIDI synthetizer) plugin
3008 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3011 dnl Teletext Modules
3012 dnl vbi decoder plugin (using libzbvi)
3017 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3018 libzvbi (default enabled)]))
3020 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3021 zvbi) (default enabled if zvbi is absent)]))
3023 AS_IF( [test "${enable_zvbi}" != "no"],[
3024 PKG_CHECK_MODULES(ZVBI,
3027 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3028 if test "${SYS}" = "mingw32"; then
3029 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3031 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3032 VLC_ADD_PLUGIN([zvbi])
3033 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3034 AS_IF( [test "${enable_telx}" = "yes"],[
3035 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3039 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3042 AS_IF( [test "${enable_telx}" != "no" ],[
3043 VLC_ADD_PLUGIN([telx])
3047 dnl libass subtitle rendering module
3049 AC_ARG_ENABLE(libass,
3050 [ --enable-libass Subtitle support using libass (default enabled)])
3051 AS_IF( [test "${enable_libass}" != "no"], [
3052 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8,
3054 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3055 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3056 VLC_ADD_PLUGIN([libass])
3058 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3059 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3060 VLC_ADD_LIBS([libass],[-lfontconfig])
3063 AC_MSG_WARN([LIBASS library not found])
3068 dnl kate decoder plugin
3071 [ --enable-kate kate codec (default enabled)])
3072 AS_IF([test "${enable_kate}" != "no"], [
3073 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3074 VLC_ADD_PLUGIN([kate])
3075 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3076 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3077 AC_CHECK_HEADERS(kate/kate.h, [
3078 AC_CHECK_LIB(kate, kate_decode_init, [
3079 VLC_ADD_PLUGIN([kate])
3080 kate_libs="-lkate -logg"
3081 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3082 AS_IF([test "x${enable_kate}" != "x"], [
3083 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3084 You also need to check that you have a libogg posterior to the 1.0 release.])
3088 AS_IF([test "x${enable_kate}" != "x"], [
3089 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3090 You also need to check that you have a libogg posterior to the 1.0 release.])
3098 dnl tiger rendering for kate decoder plugin
3100 AC_ARG_ENABLE(tiger,
3101 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3102 AS_IF([test "${enable_tiger}" != "no"], [
3103 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3104 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3105 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3106 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3107 AS_IF([test "x${enable_tiger}" != "x"], [
3108 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3119 EXTEND_HELP_STRING([Video plugins:])
3126 AC_CHECK_HEADERS(X11/Xlib.h)
3129 dnl X C Bindings modules
3132 [ --enable-xcb X11 support with XCB (default enabled)],, [
3133 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3139 AC_ARG_ENABLE(xvideo,
3140 [ --enable-xvideo XVideo support (default enabled)],, [
3141 enable_xvideo="$enable_xcb"
3145 AS_IF([test "${enable_xcb}" != "no"], [
3147 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3149 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3150 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3152 AS_IF([test "${enable_xvideo}" != "no"], [
3153 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3154 VLC_ADD_PLUGIN([xcb_xv])
3158 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3159 VLC_ADD_PLUGIN([panoramix])
3160 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3161 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3163 AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.])
3167 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3168 PKG_CHECK_MODULES(XPROTO, [xproto])
3169 VLC_ADD_PLUGIN([globalhotkeys])
3170 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3171 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3172 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3174 AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.])
3177 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3180 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3181 enable_glx="$enable_xcb"
3183 AS_IF([test "${enable_glx}" != "no"], [
3184 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3185 PKG_CHECK_MODULES(GL, [gl],, [
3186 AC_CHECK_HEADER([GL/gl.h], [
3190 AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3193 VLC_ADD_PLUGIN([xcb_glx])
3199 PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto])
3200 PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3201 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3202 PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto])
3208 [ --enable-sdl SDL support (default enabled)])
3209 AC_ARG_ENABLE(sdl-image,
3210 [ --enable-sdl-image SDL image support (default enabled)])
3211 if test "${enable_sdl}" != "no"
3213 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3214 # SDL on Darwin is heavily patched and can only run SDL_image
3215 if test "${SYS}" != "darwin"; then
3216 VLC_ADD_PLUGIN([vout_sdl aout_sdl])
3218 if test "${SYS}" != "mingw32"; then
3219 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3221 VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}])
3222 VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}])
3225 AS_IF([ test "${enable_sdl_image}" != "no"],[
3226 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3227 VLC_ADD_PLUGIN([sdl_image])
3228 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3229 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3230 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3231 You should install it alongside your SDL package.])
3235 AC_MSG_WARN([The development package for SDL is not present or too old.
3236 You need 1.2.10. Alternatively you can also configure with
3244 AC_ARG_ENABLE(freetype,
3245 [ --enable-freetype freetype support (default auto)])
3246 AC_ARG_ENABLE(fribidi,
3247 [ --enable-fribidi fribidi support (default auto)])
3248 AC_ARG_ENABLE(fontconfig,
3249 [ --enable-fontconfig fontconfig support (default auto)])
3251 if test "${enable_freetype}" != "no"; then
3252 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3254 VLC_ADD_PLUGIN([freetype])
3255 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3256 if test "${SYS}" = "mingw32"; then
3257 VLC_ADD_LIBS([freetype],[-liconv -lz])
3259 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3261 AC_CHECK_HEADERS(Carbon/Carbon.h,
3262 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3264 dnl fontconfig support
3265 if test "${SYS}" != "mingw32"; then
3266 if test "${enable_fontconfig}" != "no"; then
3267 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3268 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3269 VLC_ADD_LIBS([freetype],[-lfontconfig])
3270 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3273 VLC_ADD_LIBS([freetype],[-lgdi32])
3277 if test "${enable_fribidi}" != "no"; then
3278 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3279 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3280 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3281 ],[AC_MSG_WARN([library fribidi not found. Bidirectional support will be disabled in freetype])])
3286 AS_IF([ test "${enable_freetype}" = "yes"],[
3287 AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.])
3295 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3300 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3303 dnl android surface module
3305 AC_ARG_ENABLE(android-surface,
3306 [ --enable-android-surface Android Surface video output module (default disabled)])
3307 if test "${enable_android_surface}" = "yes"; then
3308 if test "${HAVE_ANDROID}" = "1"; then
3309 VLC_ADD_PLUGIN([android_surface])
3310 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3318 AC_ARG_ENABLE(ios-vout,
3319 [ --enable-ios-vout iOS video output module (default disabled)])
3320 if test "${enable_ios_vout}" = "yes"
3322 VLC_ADD_PLUGIN([vout_ios])
3323 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3324 VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3328 dnl QuartzText vout module (iOS/Mac OS)
3330 AC_ARG_ENABLE(macosx-quartztext,
3331 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3332 if test "x${enable_macosx_quartztext}" != "xno" &&
3333 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3335 VLC_ADD_PLUGIN([quartztext])
3336 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
3340 dnl Windows DirectX module
3343 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3345 VLC_ADD_PLUGIN([panoramix])
3348 AC_ARG_ENABLE(directx,
3349 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3350 if test "${enable_directx}" != "no"
3352 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3354 VLC_ADD_LIBS([directx],[-luser32])
3355 AC_CHECK_HEADERS(ddraw.h,
3356 [ VLC_ADD_PLUGIN([directx aout_directx])
3357 VLC_ADD_LIBS([directx],[-lgdi32])
3358 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3360 AC_CHECK_HEADERS(GL/gl.h,
3361 [ VLC_ADD_PLUGIN([glwin32])
3362 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3364 AC_CHECK_HEADERS(d3d9.h,
3365 [ VLC_ADD_PLUGIN([direct3d])
3366 VLC_ADD_LIBS([direct3d],[-lgdi32])
3368 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3373 dnl Windows Direct2D plugin
3375 AC_ARG_ENABLE(direct2d,
3376 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)])
3377 if test "${enable_direct2d}" != "no"; then
3378 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3380 AC_CHECK_HEADERS(d2d1.h,
3382 VLC_ADD_PLUGIN([direct2d])
3383 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3384 ], [AC_MSG_WARN([Cannot find Direct2D headers!])]
3390 dnl win32 GDI plugin
3392 AC_ARG_ENABLE(wingdi,
3393 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3394 if test "${enable_wingdi}" != "no"; then
3395 if test "${SYS}" = "mingw32"; then
3396 VLC_ADD_PLUGIN([wingdi])
3397 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3399 if test "${SYS}" = "mingwce"; then
3400 VLC_ADD_PLUGIN([wingdi wingapi])
3401 VLC_ADD_LIBS([wingdi],[-laygshell])
3402 VLC_ADD_LIBS([wingapi],[-laygshell])
3408 dnl Linux framebuffer module
3410 AC_CHECK_HEADER([linux/fb.h], [
3411 VLC_ADD_PLUGIN([fb])
3417 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3418 dnl TODO: support for static linking
3420 AC_ARG_ENABLE(directfb,
3421 [ --enable-directfb DirectFB support (default disabled)])
3422 AC_ARG_WITH(directfb,
3423 [ --with-directfb=PATH path to DirectFB headers and libraries])
3425 if test "${enable_directfb}" = "yes"; then
3426 have_directfb="false"
3427 CPPFLAGS_mydirectfb=
3429 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3430 dnl Trying the given location
3431 CPPFLAGS_save="${CPPFLAGS}"
3434 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3435 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3436 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3438 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3439 LIBS="${LIBS} ${LIBS_new}"
3441 dnl FIXME: too obscure
3442 AC_CHECK_HEADER([directfb.h], [
3443 AC_CHECK_LIB([direct],[direct_initialize], [
3444 AC_CHECK_LIB([fusion], [fusion_enter], [
3445 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3446 ], have_directfb="false")
3447 ], have_directfb="false")
3448 ], have_directfb="false")
3451 CPPFLAGS="${CPPFLAGS_save}"
3454 if test "${have_directfb}" = "true"; then
3455 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3456 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3459 dnl Look for directfb-config
3460 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3461 if test "${DIRECTFB_CONFIG}" != "no"; then
3462 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3463 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3464 have_directfb="true"
3466 dnl Trying with pkg-config
3467 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3468 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3469 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3470 have_directfb="true"
3471 ], [have_directfb="false"])
3474 if test "${have_directfb}" = "true"; then
3475 VLC_ADD_PLUGIN([directfb])
3476 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3477 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3479 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
3487 [ --enable-aa aalib output (default disabled)])
3488 if test "${enable_aa}" = "yes"
3490 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3491 if test "${have_aa}" = "true"
3493 VLC_ADD_PLUGIN([aa])
3494 VLC_ADD_LIBS([aa],[-laa])
3495 if test "${SYS}" != "mingw32"; then
3496 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3504 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3510 EXTEND_HELP_STRING([Audio plugins:])
3513 dnl Pulseaudio module
3515 AC_ARG_ENABLE(pulse,
3516 [AS_HELP_STRING([--enable-pulse],
3517 [use the PulseAudio client library (default auto)])])
3519 AS_IF([test "${enable_pulse}" != "no"], [
3520 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3523 AS_IF([test "x${enable_pulse}" != "x"], [
3524 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3528 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3534 [AS_HELP_STRING([--enable-alsa],
3535 [support the Advanced Linux Sound Architecture (default auto)])],, [
3536 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3541 AS_IF([test "${enable_alsa}" != "no"], [
3542 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3545 AS_IF([test "x${enable_alsa}" != "x"], [
3546 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3550 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3553 dnl Open Sound System module
3556 [AS_HELP_STRING([--enable-oss],
3557 [support the Open Sound System OSS (default enabled on BSD)])],, [
3558 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3564 AS_IF([test "$enable_oss" != "no"], [
3565 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3567 AC_CHECK_LIB(ossaudio, main, [
3568 OSS_LIBS="-lossaudio"
3573 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3576 dnl Portaudio module
3578 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3581 dnl win32 waveOut plugin
3583 AC_ARG_ENABLE(waveout,
3584 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3585 if test "${enable_waveout}" != "no"; then
3586 if test "${SYS}" = "mingw32"; then
3587 VLC_ADD_PLUGIN([waveout])
3588 VLC_ADD_LIBS([waveout],[-lwinmm])
3590 if test "${SYS}" = "mingwce"; then
3591 VLC_ADD_PLUGIN([waveout])
3596 dnl CoreAudio plugin
3598 AC_ARG_ENABLE(macosx-audio,
3599 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3600 if test "x${enable_macosx_audio}" != "xno" &&
3601 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3603 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3604 [ VLC_ADD_PLUGIN([auhal])
3605 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3606 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3610 dnl AudioQueue plugin
3612 AC_ARG_ENABLE(audioqueue,
3613 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3614 if test "${enable_audioqueue}" = "yes"
3616 VLC_ADD_PLUGIN([audioqueue])
3617 VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3623 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3626 dnl OpenSLES Android
3628 AC_ARG_ENABLE(opensles,
3629 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3630 if test "${HAVE_ANDROID}" = "1"; then
3631 if test "${enable_opensles}" = "yes"; then
3632 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3633 [ VLC_ADD_PLUGIN([opensles_android]) ],
3634 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3639 dnl UPnP Plugin (Intel SDK)
3641 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
3642 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3645 dnl Interface plugins
3648 EXTEND_HELP_STRING([Interface plugins:])
3653 AC_ARG_ENABLE(libtar,
3654 [ --enable-libtar libtar support for skins2 (default auto)])
3655 AS_IF([test "${enable_libtar}" != "no"], [
3656 AC_CHECK_HEADERS(libtar.h, [
3657 VLC_ADD_LIBS([skins2],[-ltar])
3661 AC_ARG_ENABLE(skins2,
3662 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
3663 enabled except on MacOSX and WinCE)])],, [
3664 AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
3670 AS_IF([test "${enable_skins2}" = "yes"], [
3672 AS_IF([test "${have_freetype}" != "yes"], [
3673 AC_MSG_ERROR([Could not find FreeType (required for skins2)])
3676 AS_IF([test "${SYS}" = "mingw32"], [
3677 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3678 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3679 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32])
3681 ], [test "${SYS}" = "darwin"], [
3682 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3683 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3684 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
3687 PKG_CHECK_MODULES([XPM], [xpm])
3688 PKG_CHECK_MODULES([XINERAMA], [xinerama])
3689 PKG_CHECK_MODULES([XEXT], [xext])
3690 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3691 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3692 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3695 VLC_ADD_PLUGIN([skins2])
3696 ALIASES="${ALIASES} svlc"
3698 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3703 AC_ARG_ENABLE(hildon,
3704 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3705 AS_IF([test "${enable_hildon}" = "yes"], [
3706 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3707 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3708 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3709 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3711 AC_MSG_WARN(hildon-fm-2 not found)
3713 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3714 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3715 VLC_ADD_PLUGIN([hildon])
3716 ALIASES="${ALIASES} mvlc"
3718 AS_IF([test "${enable_hildon}" = "yes"],[
3719 AC_MSG_ERROR([Hildon libraries not found])
3724 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3730 [ --enable-qt4 Qt 4 support (default enabled) ],, [
3731 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3733 AS_IF([test "${enable_qt4}" != "no"], [
3734 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
3735 VLC_ADD_PLUGIN([qt4])
3736 VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3737 VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3738 ALIASES="${ALIASES} qvlc"
3741 CPPFLAGS_save="${CPPFLAGS}"
3743 AC_MSG_CHECKING([whether Qt uses X11])
3744 CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3745 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3747 #if !defined (Q_WS_X11)
3751 AC_MSG_RESULT([yes])
3752 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3753 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3758 CPPFLAGS="${CPPFLAGS_save}"
3761 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3762 VLC_ADD_LIBS([qt4],[-lole32])
3764 AS_IF([test "${SYS}" = "darwin" ],[
3765 VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa])
3767 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3768 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3769 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3771 AS_IF([test "${enable_qt4}" = "yes"],[
3772 AC_MSG_ERROR([Qt 4 library not found])
3774 AC_MSG_WARN([Qt 4 library not found])
3779 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3782 dnl Simple test for skins2 dependency
3784 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3785 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.])
3789 dnl MacOS X video output/gui modules
3791 AC_ARG_ENABLE(macosx,
3792 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3793 if test "x${enable_macosx}" != "xno" &&
3794 (test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes")
3796 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
3797 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
3798 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
3799 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
3800 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
3801 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
3802 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
3803 VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
3804 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle])
3805 VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit])
3806 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit])
3808 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
3809 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
3810 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3812 VLC_ADD_PLUGIN([macosx minimal_macosx])
3816 dnl MacOS X related modules
3819 AC_ARG_ENABLE(macosx-vout,
3820 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3821 if test "x${enable_macosx_vout}" != "xno" &&
3822 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3824 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,Cocoa])
3825 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,OpenGL])
3826 VLC_ADD_PLUGIN([vout_macosx])
3829 AC_ARG_ENABLE(macosx-dialog-provider,
3830 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3831 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3832 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3834 VLC_ADD_LDFLAGS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3835 VLC_ADD_PLUGIN([macosx_dialog_provider])
3838 AC_ARG_ENABLE(macosx-qtcapture,
3839 [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
3840 if test "x${enable_macosx_qtcapture}" != "xno" &&
3841 (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
3843 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,Cocoa])
3844 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
3845 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
3846 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QuartzCore])
3847 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
3848 VLC_ADD_PLUGIN([qtcapture])
3851 AC_ARG_ENABLE(macosx-eyetv,
3852 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
3853 if test "x${enable_macosx_eyetv}" != "xno" &&
3854 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
3856 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
3857 VLC_ADD_PLUGIN([access_eyetv])
3860 AC_ARG_ENABLE(macosx-vlc-app,
3861 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
3862 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
3863 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
3868 AC_ARG_ENABLE(ncurses,
3869 [ --disable-ncurses ncurses interface support (default disabled)],
3870 [if test "${enable_ncurses}" != "no"; then
3871 AC_CHECK_HEADER(ncurses.h,
3872 [AC_CHECK_LIB(ncursesw, mvprintw,
3873 [VLC_ADD_PLUGIN([ncurses])
3874 VLC_ADD_LIBS([ncurses],[-lncursesw])
3875 ALIASES="${ALIASES} nvlc"
3876 AC_CHECK_LIB(ncursesw, tgetent, [],
3877 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3878 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3879 [AS_IF([test "${enable_ncurses}" = "yes"],
3880 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3886 [AS_IF([test "${enable_ncurses}" = "yes"], [
3887 AC_MSG_ERROR([libncursesw not found])])]
3889 [AS_IF([test "${enable_ncurses}" = "yes"], [
3890 AC_MSG_ERROR([ncurses.h not found])])]
3899 [ --enable-xosd xosd interface support (default disabled)])
3900 if test "${enable_xosd}" = "yes"
3902 AC_CHECK_HEADERS(xosd.h,
3903 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3904 VLC_ADD_PLUGIN([xosd])
3905 VLC_ADD_LIBS([xosd],[-lxosd])
3911 dnl Framebuffer (overlay) plugin
3913 AC_ARG_ENABLE(fbosd,
3914 [ --enable-fbosd fbosd interface support (default disabled)])
3915 if test "${enable_fbosd}" = "yes"
3917 AC_CHECK_HEADERS(linux/fb.h, [
3918 VLC_ADD_PLUGIN([fbosd])
3923 dnl Visualisation plugin
3925 AC_ARG_ENABLE(visual,
3926 [ --enable-visual visualisation plugin (default enabled)])
3927 if test "${enable_visual}" != "no"
3929 VLC_ADD_PLUGIN([visual])
3933 dnl goom visualization plugin
3935 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3938 dnl libprojectM visualization plugin
3940 AC_ARG_ENABLE(projectm,
3941 [ --enable-projectm projectM visualization plugin (default enabled)])
3942 AS_IF([test "${enable_projectm}" != "no"],
3944 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3946 VLC_ADD_PLUGIN([projectm])
3947 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3948 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3949 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3950 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3951 [ AC_MSG_WARN( [Using libprojectM version 1] )
3954 AC_MSG_WARN([libprojectM library not found])
3959 dnl AtmoLight (homemade Philips Ambilight clone)
3962 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3963 (default enabled)]),, [enable_atmo="yes"])
3964 AS_IF([test "${enable_atmo}" != no], [
3965 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3967 VLC_ADD_PLUGIN([atmo])
3973 dnl Bonjour services discovery
3974 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3977 dnl libudev services discovery
3978 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3981 dnl MTP devices services discovery
3982 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3988 [ --enable-lirc lirc support (default disabled)])
3989 if test "${enable_lirc}" = "yes"
3991 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3992 if test "${have_lirc}" = "true"
3994 VLC_ADD_PLUGIN([lirc])
3995 VLC_ADD_LIBS([lirc],[-llirc_client])
3999 EXTEND_HELP_STRING([Misc options:])
4004 AC_ARG_ENABLE(libgcrypt,
4005 [ --disable-libgcrypt gcrypt support (default enabled)])
4006 AS_IF([test "${enable_libgcrypt}" != "no"], [
4007 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4008 libgcrypt-config --version >/dev/null || \
4009 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4010 AC_CHECK_LIB(gcrypt, gcry_control, [
4011 have_libgcrypt="yes"
4012 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4013 GCRYPT_LIBS="`libgcrypt-config --libs`"
4015 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4016 ], [`libgcrypt-config --libs`])
4018 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4019 ], [#include <gcrypt.h>]
4023 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4024 AS_IF([test "${have_libgcrypt}" = "yes"],[
4025 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4028 AC_SUBST(GCRYPT_CFLAGS)
4029 AC_SUBST(GCRYPT_LIBS)
4030 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4035 AC_ARG_ENABLE(gnutls,
4036 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
4038 AS_IF([test "${have_libgcrypt}" != "yes"], [
4039 AS_IF([test "${enable_gnutls}" = "yes"], [
4040 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
4044 AS_IF([test "${enable_gnutls}" != "no"], [
4045 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
4046 VLC_ADD_PLUGIN([gnutls])
4047 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4048 AS_IF([test "${SYS}" = "mingw32"], [
4049 dnl pkg-config --libs gnutls omits these
4050 VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
4052 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4053 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4054 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4056 AS_IF([test "${enable_gnutls}" = "yes"], [
4057 AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)])
4064 dnl RemoteOSD plugin (VNC client as video filter)
4066 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
4067 AS_IF([test "${have_libgcrypt}" = "yes"],[
4069 VLC_ADD_PLUGIN([remoteosd])
4070 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4071 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4074 AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4081 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4082 AS_IF([test "${have_libgcrypt}" = "yes"], [
4084 VLC_ADD_PLUGIN([stream_out_raop])
4085 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4086 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4089 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4094 dnl OSSO (Maemo screen blanking) plugin
4096 PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
4098 AS_IF([test -f "/etc/maemo_version"], [
4099 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4104 dnl update checking system
4106 AC_ARG_ENABLE(update-check,
4107 [ --enable-update-check update checking system (default disabled)])
4108 if test "${enable_update_check}" = "yes"
4110 if test "${have_libgcrypt}" != "yes"
4112 AC_MSG_ERROR([libgcrypt is required for update checking system])
4114 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4115 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4116 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4123 [ --with-sqlite=PATH sqlite path linking])
4124 if test "${SYS}" != "darwin"; then
4125 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4127 if test "${enable_sqlite}" != "no"
4129 AC_CHECK_HEADERS(sqlite3.h, [
4130 VLC_ADD_PLUGIN([sqlite])
4131 if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4132 AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4133 real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4134 if test -z "${real_sqlite}"
4136 dnl The given directory can't be found
4138 AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4140 VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4141 VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4144 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4146 AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4147 AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4150 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4155 AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
4156 if test "${enable_media_library}" = "yes"; then
4157 if test "${enable_sqlite}" != "yes"; then
4158 AC_MSG_ERROR([SQLite module is required for the media library])
4160 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4161 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4162 VLC_ADD_PLUGIN([media_library])
4165 AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
4168 dnl Endianness check
4171 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4172 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4176 AC_SUBST(DEFS_BIGENDIAN)
4179 dnl Where to install KDE solid .desktop
4181 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4182 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4183 KDE4_CONFIG="kde4-config"
4186 AC_ARG_WITH(kde-solid,
4187 AS_HELP_STRING([--with-kde-solid=PATH],
4188 [KDE Solid actions directory (auto)]),, [
4190 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4191 with_kde_solid="yes"
4195 AS_IF([test "${with_kde_solid}" != "no"], [
4196 AS_IF([test "${with_kde_solid}" = "yes"], [
4197 kde4datadir="`${KDE4_CONFIG} --install data`"
4198 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4199 soliddatadir="${kde4datadir}/solid/actions"
4201 soliddatadir="${with_kde_solid}"
4204 AC_SUBST(soliddatadir)
4205 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4208 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4211 AC_ARG_ENABLE(loader,
4212 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4213 (default disabled)]))
4214 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4215 AS_IF([test "${enable_loader}" = "yes"],
4216 [ VLC_ADD_PLUGIN([dmo])
4217 VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader])
4218 VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4219 VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4220 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4223 EXTEND_HELP_STRING([Components:])
4229 [ --enable-vlc build the VLC media player (default enabled)])
4230 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4234 dnl Plugin and builtin checks
4238 dnl Automagically disable plugins if there is no system support for
4239 dnl dynamically loadable files (.so, .dll, .dylib).
4240 dnl don't forget vlc-win32 still can load .dll as plugins
4241 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
4242 AC_MSG_WARN([*** No plugin support! Building statically! ***])
4246 AS_IF([test "${plugin_support}" != "no"], [
4247 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
4251 dnl Pic and shared libvlc stuff
4253 AS_IF([test "${SYS}" = "mingw32"], [
4254 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
4255 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
4259 dnl Stuff used by the program
4261 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4262 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4263 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4264 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4265 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4266 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4267 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4268 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4269 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4270 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4271 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4272 AC_SUBST(COPYRIGHT_MESSAGE)
4273 AC_SUBST(VERSION_MESSAGE)
4274 AC_SUBST(VERSION_MAJOR)
4275 AC_SUBST(VERSION_MINOR)
4276 AC_SUBST(VERSION_REVISION)
4277 AC_SUBST(VERSION_EXTRA)
4278 AC_SUBST(COPYRIGHT_YEARS)
4279 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4280 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4281 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4283 dnl Handle substvars that use $(top_srcdir)
4285 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4286 AC_SUBST(VLC_CONFIG)
4287 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4295 dnl Sort the modules list
4297 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4300 dnl Create the vlc-config script
4302 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
4305 dnl Configuration is finished
4315 AC_SUBST(WINE_SDK_PATH)
4317 AC_SUBST(AM_CPPFLAGS)
4318 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4319 AC_SUBST(FILE_LIBVLCCORE_DLL)
4320 AC_SUBST(FILE_LIBVLC_DLL)
4322 dnl Create vlc-config.in
4323 VLC_OUTPUT_VLC_CONFIG_IN
4328 libs/loader/Makefile
4340 modules/access/Makefile
4341 modules/access/bd/Makefile
4342 modules/access/dshow/Makefile
4343 modules/access/mms/Makefile
4344 modules/access/rtp/Makefile
4345 modules/access/rtsp/Makefile
4346 modules/access/vcd/Makefile
4347 modules/access/vcdx/Makefile
4348 modules/access/screen/Makefile
4349 modules/access/zip/Makefile
4350 modules/access_output/Makefile
4351 modules/audio_filter/Makefile
4352 modules/audio_mixer/Makefile
4353 modules/audio_output/Makefile
4354 modules/codec/Makefile
4355 modules/codec/avcodec/Makefile
4356 modules/codec/dmo/Makefile
4357 modules/codec/omxil/Makefile
4358 modules/codec/shine/Makefile
4359 modules/codec/spudec/Makefile
4360 modules/codec/wmafixed/Makefile
4361 modules/control/Makefile
4362 modules/control/dbus/Makefile
4363 modules/control/globalhotkeys/Makefile
4364 modules/demux/Makefile
4365 modules/demux/asf/Makefile
4366 modules/demux/avformat/Makefile
4367 modules/demux/avi/Makefile
4368 modules/demux/mkv/Makefile
4369 modules/demux/mp4/Makefile
4370 modules/demux/mpeg/Makefile
4371 modules/demux/playlist/Makefile
4372 modules/gui/Makefile
4373 modules/gui/macosx/Makefile
4374 modules/gui/hildon/Makefile
4375 modules/gui/minimal_macosx/Makefile
4376 modules/gui/macosx_dialog_provider/Makefile
4377 modules/gui/qt4/Makefile
4378 modules/gui/skins2/Makefile
4379 modules/lua/Makefile
4380 modules/meta_engine/Makefile
4381 modules/misc/Makefile
4382 modules/misc/dummy/Makefile
4383 modules/misc/notify/Makefile
4384 modules/misc/playlist/Makefile
4385 modules/misc/osd/Makefile
4386 modules/misc/stats/Makefile
4387 modules/media_library/Makefile
4388 modules/mux/Makefile
4389 modules/mux/mpeg/Makefile
4390 modules/packetizer/Makefile
4391 modules/services_discovery/Makefile
4392 modules/stream_filter/Makefile
4393 modules/stream_out/Makefile
4394 modules/stream_out/transcode/Makefile
4395 modules/video_chroma/Makefile
4396 modules/video_filter/Makefile
4397 modules/video_filter/dynamicoverlay/Makefile
4398 modules/video_output/Makefile
4399 modules/video_output/msw/Makefile
4400 modules/visualization/Makefile
4401 modules/visualization/visual/Makefile
4402 modules/mmx/Makefile
4403 modules/mmxext/Makefile
4404 modules/3dnow/Makefile
4405 modules/sse2/Makefile
4406 modules/altivec/Makefile
4407 modules/arm_neon/Makefile
4410 AM_COND_IF([HAVE_WIN32], [
4412 extras/package/win32/spad.nsi
4413 extras/package/win32/vlc.win32.nsi
4417 AM_COND_IF([HAVE_DARWIN], [
4419 extras/package/macosx/Info.plist
4420 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4424 dnl Generate makefiles
4427 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4428 # not provided with the source
4429 ${SHELL} ./config.status --file=vlc-config
4430 chmod 0755 vlc-config
4432 /bin/echo -n "Enabled modules: "
4433 ./vlc-config --list plugin
4435 dnl Do we have to use make or gmake ?
4436 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4437 dnl Shortcut to nice compile message
4439 if test -n $SHELL; then
4440 SHELL=${CONFIG_SHELL-/bin/sh}
4442 echo '#! '$SHELL >compile
4443 echo rm -f .error\$\$ >>compile
4444 echo ERROR=0 >>compile
4445 echo export PATH=$PATH LANG=C >>compile
4446 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4447 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4448 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4449 echo rm -f .error\$\$ >>compile
4450 echo exit \$ERROR >>compile
4454 libvlc configuration
4455 --------------------
4456 version : ${VERSION}
4458 architecture : ${ARCH}
4460 test "${enable_optimizations}" != "no" && printf ${enable_optimizations}
4462 if test "${enable_vlc}" != "no"; then
4463 echo "vlc aliases :${ALIASES}"
4465 echo "build vlc executable : no"
4468 You can tune the compiler flags in vlc-config.
4469 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."