1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
5 AC_INIT(vlc, 1.2.0-git)
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
15 COPYRIGHT_YEARS="1996-2011"
17 AC_CONFIG_SRCDIR(src/libvlc.c)
18 AC_CONFIG_AUX_DIR(autotools)
19 AC_CONFIG_MACRO_DIR(m4)
20 AC_CONFIG_LIBOBJ_DIR(compat)
23 AC_PRESERVE_HELP_ORDER
25 AM_INIT_AUTOMAKE(tar-ustar color-tests)
26 AM_CONFIG_HEADER(config.h)
28 # Disable with "./configure --disable-silent-rules" or "make V=1"
29 AM_SILENT_RULES([yes])
31 dnl Too many people are not aware of maintainer mode:
32 dnl If you want to use it, you definitely know what you are doing, so
33 dnl you can specify "--disable-maintainer-mode". But if you want the default
34 dnl automake behavior, you've likely never heard of maintainer mode, so we
35 dnl can't expect you to enable it manually.
36 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
37 [enable_maintainer_mode="yes"])
43 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
44 dnl AC_SUBST(vlcincludedir)
45 vlcdatadir="\${datadir}/\${PKGDIR}"
47 vlclibdir="\${libdir}/\${PKGDIR}"
59 AC_USE_SYSTEM_EXTENSIONS
60 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
61 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
62 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
63 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
64 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
70 _AM_DEPENDENCIES([OBJC])
76 dnl Find the right ranlib, even when cross-compiling
77 AC_CHECK_TOOL(RANLIB, ranlib, :)
78 AC_CHECK_TOOL(STRIP, strip, :)
79 AC_CHECK_TOOL(AR, ar, :)
80 AC_CHECK_TOOL(LD, ld, :)
81 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
83 dnl Check for compiler properties
88 dnl Extend the --help string at the current spot.
89 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
91 dnl Allow binary package maintainer to pass a custom string to avoid
93 AC_ARG_WITH(binary-version,
94 AS_HELP_STRING([--with-binary-version=STRING],
95 [To avoid plugins cache problem between binary version]),[],[])
96 AS_IF([test -n "${with_binary_version}"],[
97 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
98 [Binary specific version])
102 dnl Check for the contrib directory
105 [AS_HELP_STRING([--without-contrib],
106 [do not use the libraries in CONTRIB_DIR])])
107 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
108 AS_IF([test "${with_contrib}" != "no"],[
109 AS_IF([test -z "$CONTRIB_DIR"], [
110 topdir="`dirname $0`"
111 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
112 topdir="`pwd`/$topdir"
114 CONTRIB_DIR="${topdir}/extras/contrib/hosts/${host}"
115 if ! test -d "$CONTRIB_DIR"
117 gccmachine=`$CC -dumpmachine`
118 CONTRIB_DIR="${topdir}/extras/contrib/hosts/${gccmachine}"
121 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
122 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
124 AC_SUBST(CONTRIB_DIR)
125 export PATH=${CONTRIB_DIR}/bin:$PATH
126 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
127 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
128 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
129 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
130 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
131 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
132 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
133 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
134 if test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"; then
135 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
137 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
139 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
140 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
142 if test "${SYS}" = "darwin"; then
143 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
144 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
153 dnl Set default values
155 LDFLAGS_vlc="${LDFLAGS}"
158 dnl Check the operating system
170 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
171 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
175 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
178 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
179 CPPFLAGS="${CPPFLAGS_save}"
180 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
181 LDFLAGS="${LDFLAGS_save}"
184 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
185 CPPFLAGS="${CPPFLAGS_save}"
186 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
187 LDFLAGS="${LDFLAGS_save}"
193 dnl Force gcc "-arch" flag
197 ARCH_flag="-arch i386"
200 ARCH_flag="-arch ppc64"
203 ARCH_flag="-arch ppc"
206 ARCH_flag="-arch x86_64"
211 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
212 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
213 CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
214 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
215 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
216 VLC_ADD_LDFLAGS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
217 VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
218 VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
219 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
220 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
221 AC_ARG_ENABLE(macosx-defaults,
222 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
223 if test "x${enable_macosx_defaults}" != "xno"
226 echo "Building with Mac OS X defaults:"
228 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
229 ac_default_prefix="${build_dir}/vlc_install_dir"
231 echo " Assuming --enable-faad"
233 echo " Assuming --enable-flac"
235 echo " Assuming --enable-theora"
237 echo " Assuming --enable-shout"
239 echo " Assuming --enable-vcdx"
241 echo " Assuming --enable-caca"
243 echo " Assuming --enable-ncurses"
245 echo " Assuming --enable-twolame"
246 enable_realrtsp="yes"
247 echo " Assuming --enable-realrtsp"
249 echo " Assuming --enable-libass"
252 echo " Assuming --disable-skins2"
254 echo " Assuming --disable-xcb"
257 dnl Check for Mac OS X SDK settings
259 AC_ARG_WITH(macosx-sdk,
260 [AS_HELP_STRING([--with-macosx-sdk=DIR],
261 [compile using the SDK in DIR])])
262 if test "${with_macosx_sdk}" != "" ; then
263 CPP="${CPP} -isysroot ${with_macosx_sdk}"
264 CC="${CC} -isysroot ${with_macosx_sdk}"
265 CXX="${CXX} -isysroot ${with_macosx_sdk}"
266 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
267 LD="${LD} -syslibroot ${with_macosx_sdk}"
269 echo " No desired SDK version given, falling back to 10.5"
270 CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
271 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
272 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
273 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
274 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
275 with_macosx_version_min="10.5"
276 echo " Assuming --with-macosx-version-min=10.5"
278 AC_ARG_WITH(macosx-version-min,
279 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
280 [compile for MacOS X VERSION and above])])
281 if test "${with_macosx_version_min}" != "" ; then
282 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
283 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
284 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
285 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
286 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
287 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
288 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
289 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
290 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
291 export MACOSX_DEPLOYMENT_TARGET
294 *mingw32* | *cygwin* | *wince* | *mingwce*)
295 AC_CHECK_TOOL(WINDRES, windres, :)
296 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
297 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
298 AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.])
301 *wince* | *mingwce* | *mingw32ce*)
303 dnl Sadly CeGCC still needs non-wince macros
309 dnl Check if we are using the mno-cygwin mode in which case we are
310 dnl actually dealing with a mingw32 compiler.
315 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
319 if test "${SYS}" = "mingw32"; then
320 # add ws2_32 for closesocket, select, recv
321 VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
322 VLC_ADD_LDFLAGS([vlc],[-mwindows])
323 VLC_ADD_LIBS([win32text],[-lgdi32])
324 VLC_ADD_LIBS([cdda vcdx sdl_image aout_sdl vout_sdl],[-lwinmm])
325 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])
326 VLC_ADD_LIBS([filesystem], [-lshlwapi])
328 dnl DEP and ASLR options
331 [AS_HELP_STRING([--with-peflags],
332 [use peflags (default enabled on Windows)])])
333 if test "${with_peflags}" != "no" ; then
334 AC_PATH_TOOL(PEFLAGS, peflags, :)
336 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
337 ac_default_prefix="`pwd`/_win32"
338 DESTDIR="`pwd`/_win32/"
341 dnl NSIS Installer prefix and WIN64
344 amd64*|i686-w64*|x86_64*)
346 PROGRAMFILES="PROGRAMFILES64"
349 PROGRAMFILES="PROGRAMFILES"
352 AC_SUBST(PROGRAMFILES)
355 if test "${SYS}" = "mingwce"; then
356 # add ws2 for closesocket, select, recv
357 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])
358 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
359 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
360 ac_default_prefix="`pwd`/_wince"
361 DESTDIR="`pwd`/_wince/"
378 LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
384 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
385 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
386 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
387 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
388 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
389 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
390 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
391 AM_CONDITIONAL(USE_PEFLAGS, test "${with_peflags}" = "yes")
394 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
395 dnl for program foo on win32
397 case "${build_os}" in
399 ac_executable_extensions=".exe"
405 dnl Android is linux, but a bit different
406 AS_IF([test "$SYS" = linux],[
407 AC_MSG_CHECKING([for an Android system])
408 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
409 [[#ifndef __ANDROID__
420 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
424 dnl It's very bad, but our former custom system was worst
428 dnl override platform specific check for dependent libraries
429 dnl otherwise libtool linking of shared libraries will
430 dnl fail on anything other than pass_all.
431 AC_CACHE_VAL(lt_cv_deplibs_check_method,
432 [lt_cv_deplibs_check_method=pass_all])
435 dnl AC_DISABLE_FAST_INSTALL
438 m4_undefine([AC_PROG_F77])
439 m4_defun([AC_PROG_F77],[])
442 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
443 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
445 lt_cv_deplibs_check_method=pass_all
447 AS_IF([test "${enable_shared}" = "no"], [
448 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
454 AM_GNU_GETTEXT_VERSION([0.18.1])
455 AM_GNU_GETTEXT([external])
456 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
462 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
463 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
465 dnl Check for broken versions of mingw-runtime compatability library
466 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
467 AC_MSG_CHECKING(for broken mingw-runtime)
468 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
470 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
471 #ifndef __MINGW64_VERSION_MAJOR
472 # error Attempting to use mingw-runtime with broken vsnprintf support
478 AC_MSG_RESULT([present])
479 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
481 dnl force use of mingw provided c99 *printf over msvcrt
482 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
483 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
486 dnl Check for the need to include the mingwex lib for mingw32
487 if test "${SYS}" = "mingw32" ; then
488 AC_CHECK_LIB(mingwex,opendir,
489 AC_CHECK_LIB(mingw32,opendir,,
490 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
494 dnl Check for fnative-struct or mms-bitfields support for mingw32
495 if test "${SYS}" = "mingw32" ; then
496 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
497 [ac_cv_c_mms_bitfields],
498 [CFLAGS="${CFLAGS_save} -mms-bitfields"
499 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
500 if test "${ac_cv_c_mms_bitfields}" != "no"; then
501 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
502 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
504 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
505 [ac_cv_c_fnative_struct],
506 [CFLAGS="${CFLAGS_save} -fnative-struct"
507 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
508 if test "${ac_cv_c_fnative_struct}" != "no"; then
509 CFLAGS_save="${CFLAGS_save} -fnative-struct";
510 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
514 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
517 dnl Check for fvtable-thunks support for mingw32
518 if test "${SYS}" = "mingw32" -a "${CXX}" != "" ; then
520 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
521 [ac_cv_cxx_fvtable_thunks],
522 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
523 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
524 ac_cv_cxx_fvtable_thunks=no)])
525 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
526 CXXFLAGS_mingw32_special="-fvtable-thunks"
529 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
534 dnl Buggy glibc prevention. Purposedly not cached.
535 dnl See sourceware.org bugs 5058 and 5443.
536 dnl Ubuntu alone has 20 bug numbers for this...
538 AC_MSG_CHECKING(for buggy GNU/libc versions)
539 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
541 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
542 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
543 # error GNU/libc with dcgettext killer bug!
546 AC_MSG_RESULT([not present])
548 AC_MSG_RESULT([found])
549 AS_IF([test "x${enable_nls}" != "xno"], [
550 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
551 work-around for this. Check with your distribution vendor on how to update the
552 glibc run-time. Alternatively, build with --disable-nls.])
554 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
558 dnl Plugin compilation stuff
562 dnl The -DSYS_FOO flag
563 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
565 dnl Check for system libs needed
568 dnl Check for usual libc functions
569 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
570 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])
571 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])
572 AC_CHECK_FUNCS(fdatasync,,
573 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
576 # Windows CE doesn't have strcoll()
579 dnl Check for non-standard system calls
580 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
582 AH_BOTTOM([#include <vlc_fixups.h>])
585 AC_CHECK_FUNCS(connect,,[
586 AC_CHECK_LIB(socket,connect,[
587 VLC_ADD_LIBS([libvlccore cdda],-lsocket)
588 SOCKET_LIBS="-lsocket"
591 AC_SUBST(SOCKET_LIBS)
593 AC_CHECK_FUNCS(send,,[
594 AC_CHECK_LIB(socket,send,[
595 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])
600 dnl Check for socklen_t
601 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
602 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
603 ac_cv_type_socklen_t,
604 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
605 [#include <sys/types.h>
607 # include <winsock2.h>
608 # include <ws2tcpip.h>
610 # include <sys/socket.h>
611 #endif]], [[socklen_t len; len = 0;]])],
612 ac_cv_type_socklen_t=yes,
613 ac_cv_type_socklen_t=no)])
614 AS_IF([test "$ac_cv_type_socklen_t" = no],
615 [AC_DEFINE(socklen_t, int)])
617 dnl Check for struct sockaddr_storage
618 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
619 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
620 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
622 [#include <sys/types.h>
623 #if defined( UNDER_CE )
624 # include <winsock2.h>
625 #elif defined( WIN32 )
626 # include <winsock2.h>
628 # include <sys/socket.h>
629 #endif], [struct sockaddr_storage addr;],
630 ac_cv_struct_sockaddr_storage=yes,
631 ac_cv_struct_sockaddr_storage=no)])
632 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
633 AC_DEFINE(sockaddr_storage, sockaddr)
634 AC_DEFINE(ss_family, sa_family)
637 dnl getaddrinfo, getnameinfo and gai_strerror check
638 dnl -lnsl and -lsocket are needed on Solaris;
639 dnl we purposedly make the test fail on Windows
641 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
644 dnl Check for va_copy
645 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
647 [#include <stdarg.h>],
648 [va_list ap1, ap2; va_copy(ap1,ap2);],
649 [ac_cv_c_va_copy="yes"],
650 [ac_cv_c_va_copy="no"]))
651 if test "${ac_cv_c_va_copy}" = "yes"; then
652 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
654 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
656 [#include <stdarg.h>],
657 [va_list ap1, ap2; __va_copy(ap1,ap2);],
658 [ac_cv_c___va_copy="yes"],
659 [ac_cv_c___va_copy="no"]))
660 if test "${ac_cv_c___va_copy}" = "yes"; then
661 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
664 AC_CHECK_FUNCS(inet_aton,,[
665 AC_CHECK_LIB(resolv,inet_aton,[
666 VLC_ADD_LIBS([libvlccore],[-lresolv])
670 dnl FreeBSD has a gnugetopt library for this:
672 AC_CHECK_FUNC(getopt_long,, [
673 AC_CHECK_LIB([gnugetopt],[getopt_long], [
674 GNUGETOPT_LIBS="-lgnugetopt"
677 AC_SUBST(GNUGETOPT_LIBS)
679 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
681 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])
684 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])
686 AC_CHECK_LIB(m,sqrt,[
687 VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
689 AC_CHECK_LIB(m,ceil,[
690 VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm])
693 VLC_ADD_LIBS([gaussianblur],[-lm])
695 AC_CHECK_LIB(m,round,[
696 VLC_ADD_LIBS([dbus],[-lm])
698 AC_CHECK_LIB(m,sqrtf,[
699 VLC_ADD_LIBS([x264],[-lm])
701 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
703 AC_CHECK_LIB(m,lrintf, [
704 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
705 VLC_ADD_LIBS([skins2],[-lm])
708 dnl Check for dynamic plugins
709 ac_cv_have_plugins=no
712 if test "${ac_cv_have_plugins}" = "no"; then
713 if test "${SYS}" = "mingw32" ; then
714 AC_CHECK_LIB(kernel32, main,
715 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
716 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
717 ac_cv_have_plugins=yes])
722 if test "${ac_cv_have_plugins}" = "no"; then
723 if test "${SYS}" = "mingwce"; then
724 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
725 ac_cv_have_plugins=yes
729 # Only test for dlopen() if the others didn't work
731 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
732 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
733 ac_cv_my_have_dlopen=no
734 AC_CHECK_FUNC(dlopen, [
735 ac_cv_my_have_dlopen=yes
737 AC_CHECK_LIB(dl, dlopen, [
738 ac_cv_my_have_dlopen=yes
741 AC_CHECK_LIB(svld, dlopen, [
742 ac_cv_my_have_dlopen=yes
747 if test "${ac_cv_my_have_dlopen}" = "yes"; then
748 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
749 ac_cv_have_plugins=yes
750 VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
755 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
756 dnl Check for pthreads - borrowed from XMMS
758 if test "${THREAD_LIB}" = "error"; then
759 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
761 if test "${THREAD_LIB}" = "error"; then
762 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
764 if test "${THREAD_LIB}" = "error"; then
765 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
767 if test "${THREAD_LIB}" = "error"; then
768 AC_CHECK_FUNCS(pthread_mutex_lock)
772 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
774 AC_CHECK_LIB(rt, clock_nanosleep, [
775 VLC_ADD_LIBS([libvlccore],[-lrt])
777 AC_CHECK_FUNC(nanosleep,,[
778 AC_CHECK_LIB(rt,nanosleep, [
779 VLC_ADD_LIBS([libvlccore],[-lrt])
781 AC_CHECK_LIB(posix4,nanosleep, [
782 VLC_ADD_LIBS([libvlccore],[-lposix4])
787 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
789 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
791 dnl Check for misc headers
792 AC_MSG_CHECKING(for strncasecmp in strings.h)
793 AC_EGREP_HEADER(strncasecmp,strings.h,[
795 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
796 Define if <strings.h> defines strncasecmp.)],[
799 dnl Check for headers
800 AC_CHECK_HEADERS([search.h])
801 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
802 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
803 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
804 AC_CHECK_HEADERS([net/if.h], [], [],
806 #include <sys/types.h>
807 #include <sys/socket.h>
809 AC_CHECK_HEADERS([sys/mount.h], [], [],
811 #include <sys/param.h>
814 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
815 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
816 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
817 AC_CHECK_HEADERS(syslog.h)
818 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
820 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
821 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
822 AC_CHECK_TYPE(ssize_t,, [
823 AC_DEFINE(ssize_t, int)
827 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
828 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
830 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])
834 dnl Check for threads library
835 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
836 AC_CHECK_HEADERS(pthread.h)
837 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
839 dnl It seems that autoconf detects pkg-config only during the first
840 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
841 dnl it is nested within a conditional block, so it was not working right.
842 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
843 AC_ARG_VAR(PKG_CONFIG_PATH,
844 [Paths where to find .pc not at the default location])
845 PKG_PROG_PKG_CONFIG()
847 dnl On some OS we need static linking
848 AS_IF([test -n "${PKG_CONFIG}" ],[
849 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
850 PKG_CONFIG="${PKG_CONFIG} --static"
856 dnl Check for zlib.h and -lz along with system -lminizip if available
858 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
859 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
860 if test "${have_zlib}" = "yes"
862 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
863 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
864 AC_CHECK_HEADERS([unzip.h], [
866 MINIZIP_LIBS="-lminizip -lz"
869 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
870 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
873 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
874 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
875 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
876 VLC_ADD_PLUGIN([unzip zip])
878 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
881 dnl Manual switch for UTF-8
882 AC_ARG_ENABLE(non-utf8,
883 [AS_HELP_STRING([--enable-non-utf8],
884 [support legacy non-UTF-8 systems (default disabled)])],, [
885 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
889 AS_IF([test "${enable_non_utf8}" != "no"], [
890 AC_DEFINE([ASSUME_UTF8], [1],
891 [Define to 1 if the operating system uses UTF-8 internally])
897 [AS_HELP_STRING([--enable-dbus],
898 [compile D-Bus message bus support (default enabled)])])
901 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
904 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
905 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
906 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
907 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
908 dnl Check for dbus control interface
909 AC_ARG_ENABLE(dbus-control,
910 [AS_HELP_STRING([--disable-dbus-control],
911 [D-Bus control interface (default enabled)])])
912 if test "${enable_dbus_control}" != "no"
914 VLC_ADD_PLUGIN([dbus])
915 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
916 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
918 dnl Check for Telepathy
919 AC_ARG_ENABLE(telepathy,
920 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
921 if test "${enable_telepathy}" != "no"; then
922 VLC_ADD_PLUGIN([telepathy])
923 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
924 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
926 dnl Power Management Inhibiter
927 VLC_ADD_PLUGIN([inhibit])
928 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
929 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
931 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
937 dnl Check for ntohl, etc.
938 AC_CACHE_CHECK([for ntohl in sys/param.h],
939 [ac_cv_c_ntohl_sys_param_h],
940 [CFLAGS="${CFLAGS_save} -Wall -Werror"
941 AC_TRY_COMPILE([#include <sys/param.h>],
942 [int meuh; ntohl(meuh);],
943 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
944 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
945 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
948 EXTEND_HELP_STRING([Optimization options:])
951 dnl Compiler warnings
954 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])
955 RDC_PROG_CC_FLAGS([-pipe])
957 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
964 [AS_HELP_STRING([--enable-debug],
965 [build with run-time assertions and debug symbols (default disabled)])],,
968 [Define to 1 if debug code should NOT be compiled])
969 AS_IF([test "${enable_debug}" != "no"], [
970 AC_CHECK_HEADERS([valgrind/valgrind.h])
971 CFLAGS="${CFLAGS} -g"
972 CXXFLAGS="${CXXFLAGS} -g"
973 OBJCFLAGS="${OBJCFLAGS} -g"
974 LDFLAGS="${LDFLAGS} -g"
983 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
985 AS_IF([test "${enable_gprof}" != "no"], [
986 CFLAGS="${CFLAGS} -pg"
987 CXXFLAGS="${CXXFLAGS} -pg"
988 OBJCFLAGS="${OBJCFLAGS} -pg"
989 LDFLAGS="${LDFLAGS} -pg"
993 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
995 AS_IF([test "${enable_gprof}" != "no"], [
996 CFLAGS="${CFLAGS} -finstrument-functions"
997 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
998 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
999 LDFLAGS="${LDFLAGS} -finstrument-functions"
1005 AC_ARG_ENABLE(coverage,
1006 [AS_HELP_STRING([--enable-coverage],
1007 [build for test coverage (default disabled)])],,
1008 [enable_coverage="no"])
1009 AS_IF([test "${enable_coverage}" != "no"], [
1010 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1011 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1012 LDFLAGS="-lgcov ${LDFLAGS}"
1017 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
1018 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
1019 [ac_cv_c_visibility_hidden], [
1020 CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1021 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1022 ac_cv_c_visibility_hidden=yes
1024 ac_cv_c_visibility_hidden=no
1027 AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
1029 CFLAGS="${CFLAGS} -fvisibility=hidden"
1030 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
1031 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
1038 dnl Enable/disable optimizations
1040 AC_ARG_ENABLE(optimizations,
1041 [AS_HELP_STRING([--disable-optimizations],
1042 [disable compiler optimizations (default enabled)])],,
1043 [enable_optimizations="yes"])
1044 AS_IF([test "${enable_optimizations}" != "no"], [
1045 enable_optimizations="speed"
1048 dnl Check for various optimization flags
1049 AS_IF([test "${enable_optimizations}" != "no"], [
1052 dnl -O4 and -O3 only in production builds
1053 AS_IF([test "{enable_debug}" = "no"], [
1054 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
1055 CFLAGS="${CFLAGS_save} -O4"
1056 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1062 AS_IF([test "${ac_cv_c_o4}" != "no"], [
1065 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
1066 CFLAGS="${CFLAGS_save} -O3"
1067 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1073 AS_IF([test "${ac_cv_c_o3}" != "no"], [
1079 dnl -O2 and -O in both production and debug builds
1080 AS_IF([test "x$C_O" = "x"], [
1081 AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [
1082 CFLAGS="${CFLAGS_save} -O2"
1083 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1089 AS_IF([test "${ac_cv_c_o2}" != "no"], [
1092 AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [
1093 CFLAGS="${CFLAGS_save} -O"
1094 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1100 AS_IF([test "${ac_cv_c_o}" != "no"], [
1107 CFLAGS="${CFLAGS} ${C_O}"
1108 CXXFLAGS="${CXXFLAGS} ${C_O}"
1109 OBJCFLAGS="${OBJCFLAGS} ${C_O}"
1112 dnl Check for -ffast-math
1113 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
1114 CFLAGS="${CFLAGS_save} -ffast-math"
1115 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1116 ac_cv_c_fast_math=yes
1118 ac_cv_c_fast_math=no
1121 AS_IF([test "${ac_cv_c_fast_math}" != "no"], [
1123 CFLAGS="${CFLAGS} -ffast-math"
1124 CXXFLAGS="${CXXFLAGS} -ffast-math"
1125 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
1129 dnl Check for -funroll-loops
1130 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
1131 CFLAGS="${CFLAGS_save} -funroll-loops"
1132 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1133 ac_cv_c_unroll_loops=yes
1135 ac_cv_c_unroll_loops=no
1138 AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [
1140 CFLAGS="${CFLAGS} -funroll-loops"
1141 CXXFLAGS="${CXXFLAGS} -funroll-loops"
1142 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1146 AS_IF([test "$enable_debug" = "no"], [
1147 dnl Check for -fomit-frame-pointer
1148 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1149 [ac_cv_c_omit_frame_pointer], [
1150 CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1151 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1152 ac_cv_c_omit_frame_pointer=yes
1154 ac_cv_c_omit_frame_pointer=no
1157 AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [
1159 AS_IF([test "${SYS}" != "darwin"], [
1160 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1161 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1163 dnl On darwin we explicitely disable it.
1164 CFLAGS="${CFLAGS} -fno-omit-frame-pointer"
1165 CXXFLAGS="${CXXFLAGS} -fno-omit-frame-pointer"
1166 OBJCFLAGS="${OBJCFLAGS} -fno-omit-frame-pointer"
1173 dnl Check for Darwin plugin linking flags
1174 AS_IF([test "${SYS}" = "darwin"], [
1175 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1176 [ac_cv_ld_darwin], [
1177 CFLAGS="${CFLAGS_save} -bundle -undefined error"
1178 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1184 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1185 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1189 dnl Checks for __attribute__(aligned()) directive
1190 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1191 [ac_cv_c_attribute_aligned],
1192 [ac_cv_c_attribute_aligned=0
1193 CFLAGS="${CFLAGS_save} -Werror"
1194 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1196 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1197 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1199 CFLAGS="${CFLAGS_save}"])
1200 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1201 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1202 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1205 dnl Check for __attribute__((packed))
1206 AC_CACHE_CHECK([for __attribute__((packed))],
1207 [ac_cv_c_attribute_packed],
1208 [ac_cv_c_attribute_packed=no
1209 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1210 [ac_cv_c_attribute_packed=yes])])
1211 if test "${ac_cv_c_attribute_packed}" != "no"; then
1212 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1218 case "${host_cpu}" in
1227 dnl Check for backtrace() support
1228 AC_CHECK_HEADERS(execinfo.h)
1229 AC_CHECK_FUNCS(backtrace)
1234 ALIASES="${ALIASES} cvlc rvlc"
1237 dnl Some plugins aren't useful on some platforms
1239 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1240 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1241 elif test "${SYS}" != "mingwce"; then
1242 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1243 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1245 if test "${SYS}" = "darwin"; then
1246 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1250 dnl Accelerated modules
1253 dnl Check for fully working MMX intrinsics
1254 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1255 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1257 [AS_HELP_STRING([--disable-mmx],
1258 [disable MMX optimizations (default auto)])],,[
1259 case "${host_cpu}" in
1270 AS_IF([test "${enable_mmx}" != "no"], [
1273 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1274 [ac_cv_c_mmx_intrinsics],
1275 [CFLAGS="${CFLAGS_save} -O -mmmx"
1276 AC_TRY_COMPILE([#include <mmintrin.h>
1280 a = b = c = (__m64)frobzor;
1281 a = _mm_slli_pi16(a, 3);
1282 a = _mm_adds_pi16(a, b);
1283 c = _mm_srli_pi16(c, 8);
1284 c = _mm_slli_pi16(c, 3);
1285 b = _mm_adds_pi16(b, c);
1286 a = _mm_unpacklo_pi8(a, b);
1287 frobzor = (uint64_t)a;],
1288 [ac_cv_c_mmx_intrinsics=yes],
1289 [ac_cv_c_mmx_intrinsics=no])])
1290 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1291 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1292 [Define to 1 if MMX intrinsics are available.])
1295 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1297 [CFLAGS="${CFLAGS_save}"
1298 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1299 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1300 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1301 AC_DEFINE(CAN_COMPILE_MMX, 1,
1302 [Define to 1 inline MMX assembly is available.])
1306 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1307 [ac_cv_mmxext_inline],
1308 [CFLAGS="${CFLAGS_save}"
1309 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1310 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1311 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1312 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1313 [Define to 1 if MMX EXT inline assembly is available.])
1317 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1318 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1320 dnl Check for fully workin SSE2 intrinsics
1321 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1322 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1324 [AS_HELP_STRING([--disable-sse],
1325 [disable SSE (1-4) optimizations (default auto)])],, [
1326 case "${host_cpu}" in
1336 AS_IF([test "${enable_sse}" != "no"], [
1337 ARCH="${ARCH} sse sse2"
1339 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1340 [ac_cv_c_sse2_intrinsics],
1341 [CFLAGS="${CFLAGS_save} -O -msse2"
1342 AC_TRY_COMPILE([#include <emmintrin.h>
1346 a = b = c = _mm_set1_epi64((__m64)frobzor);
1347 a = _mm_slli_epi16(a, 3);
1348 a = _mm_adds_epi16(a, b);
1349 c = _mm_srli_epi16(c, 8);
1350 c = _mm_slli_epi16(c, 3);
1351 b = _mm_adds_epi16(b, c);
1352 a = _mm_unpacklo_epi8(a, b);
1353 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1354 [ac_cv_c_sse2_intrinsics=yes],
1355 [ac_cv_c_sse2_intrinsics=no])])
1356 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1357 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1358 [Define to 1 if SSE2 intrinsics are available.])
1361 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1363 [CFLAGS="${CFLAGS_save}"
1364 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1365 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1366 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1367 AC_DEFINE(CAN_COMPILE_SSE, 1,
1368 [Define to 1 if SSE inline assembly is available.])
1371 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1372 [ac_cv_sse2_inline],
1373 [CFLAGS="${CFLAGS_save}"
1374 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1375 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1376 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1377 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1378 [Define to 1 if SSE2 inline assembly is available.])
1383 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1384 [ac_cv_sse3_inline],
1385 [CFLAGS="${CFLAGS_save}"
1386 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1387 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1388 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1389 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1390 [Define to 1 if SSE3 inline assembly is available.]) ])
1392 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1393 [ac_cv_ssse3_inline],
1394 [CFLAGS="${CFLAGS_save}"
1395 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1396 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1397 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1398 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1399 [Define to 1 if SSSE3 inline assembly is available.]) ])
1402 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1403 [ac_cv_sse4_1_inline],
1404 [CFLAGS="${CFLAGS_save}"
1405 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1406 ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1407 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1408 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1409 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1412 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1413 [ac_cv_sse4_2_inline],
1414 [CFLAGS="${CFLAGS_save}"
1415 AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1416 ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
1417 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1418 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1419 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1422 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
1423 [ac_cv_sse4a_inline],
1424 [CFLAGS="${CFLAGS_save}"
1425 AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1426 ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1427 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1428 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1429 [Define to 1 if SSE4A inline assembly is available.]) ])
1431 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1434 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1435 [ac_cv_3dnow_inline],
1436 [CFLAGS="${CFLAGS_save}"
1437 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1438 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1439 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1440 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1441 [Define to 1 if 3D Now! inline assembly is available.])
1444 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1448 [AS_HELP_STRING([--disable-neon],
1449 [disable NEON optimizations (default auto)])],, [
1450 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1452 AS_IF([test "${enable_neon}" != "no"], [
1453 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1454 CFLAGS="${CFLAGS_save} -mfpu=neon"
1457 asm volatile("vqmovun.s64 d0, q1":::"d0");
1458 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1461 ac_cv_neon_inline="-mfpu=neon"
1463 ac_cv_neon_inline="no"
1465 CFLAGS="${CFLAGS_save}"
1467 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1468 NEON_CFLAGS="$ac_cv_neon_inline"
1469 AC_DEFINE([CAN_COMPILE_NEON], 1,
1470 [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1473 ac_cv_neon_inline="no"
1475 AC_SUBST(NEON_CFLAGS)
1476 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1479 AC_ARG_ENABLE(altivec,
1480 [AS_HELP_STRING([--disable-altivec],
1481 [disable AltiVec optimizations (default auto)])],, [
1482 AS_IF([test "${host_cpu}" = "powerpc"],
1483 [enable_altivec=yes], [enable_altivec=no])
1486 AS_IF([test "${enable_altivec}" = "yes"], [
1487 ARCH="${ARCH} altivec";
1488 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1489 [ac_cv_altivec_inline],
1490 [CFLAGS="${CFLAGS_save}"
1491 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1492 ac_cv_altivec_inline="yes",
1493 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1494 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1495 [ac_cv_altivec_inline="-Wa,-m7400"],
1496 ac_cv_altivec_inline=no)
1498 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1499 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1500 [Define to 1 if AltiVec inline assembly is available.])
1501 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1502 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1503 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1504 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1509 dnl The AltiVec C extensions
1511 dnl There are several possible cases:
1512 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1513 dnl need <altivec.h>
1514 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1515 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1516 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1517 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1518 dnl - Others: test should fail
1519 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1521 [# OS X/PPC test (gcc 4.x)
1522 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1523 AC_TRY_COMPILE([vector unsigned char foo;],
1524 [vec_ld(0, (unsigned char *)0);],
1525 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1526 [# OS X/PPC test (gcc 3.x)
1527 CFLAGS="${CFLAGS_save} -faltivec"
1528 AC_TRY_COMPILE([vector unsigned char foo;],
1529 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1530 [ac_cv_c_altivec="-faltivec"],
1531 dnl Below this are the Linux tests
1532 [# Linux/PPC test (gcc 4.x)
1533 CFLAGS="${CFLAGS_save} -maltivec"
1534 AC_TRY_COMPILE([#include <altivec.h>],
1535 [vec_ld(0, (unsigned char *)0);],
1536 [ac_cv_c_altivec="-maltivec"],
1537 [# Linux/PPC test (gcc 3.3)
1538 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1539 AC_TRY_COMPILE([#include <altivec.h>],
1540 [vec_ld(0, (unsigned char *)0);],
1542 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1543 [# Linux/PPC test (gcc 3.3)
1544 CFLAGS="${CFLAGS_save} -fvec"
1545 AC_TRY_COMPILE([#include <altivec.h>],
1546 [vec_ld(0, (unsigned char *)0);],
1547 [ac_cv_c_altivec="-fvec"],
1548 [ac_cv_c_altivec=no])
1553 CFLAGS="${CFLAGS_save}"
1555 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1556 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1559 AC_CHECK_HEADERS(altivec.h)
1560 CPPFLAGS="${CPPFLAGS_save}"
1562 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1563 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1564 [Define to 1 if C AltiVec extensions are available.])
1565 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1566 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1570 AC_CACHE_CHECK([if linker needs -framework vecLib],
1572 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1573 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1574 LDFLAGS="${LDFLAGS_save}"
1576 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1577 VLC_ADD_LDFLAGS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1580 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1583 dnl Special arch tuning
1586 [AS_HELP_STRING([--with-tuning=ARCH],
1587 [tune compilation for an architecture (default varies)])])
1588 if test -n "${with_tuning}"; then
1589 if test "${with_tuning}" != "no"; then
1590 CFLAGS_TUNING="-mtune=${with_tuning}"
1593 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1594 CFLAGS_TUNING="-march=prescott -mtune=generic"
1595 elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1596 CFLAGS_TUNING="-march=core2 -mtune=core2"
1597 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1598 CFLAGS_TUNING="-mtune=pentium2"
1599 elif test "${host_cpu}" = "x86_64"; then
1600 CFLAGS_TUNING="-mtune=athlon64"
1601 elif test "${host_cpu}" = "powerpc"; then
1602 CFLAGS_TUNING="-mtune=G4";
1606 dnl NOTE: this can't be cached cleanly
1607 AS_IF([test "${CFLAGS_TUNING}"],
1608 [CFLAGS_save="${CFLAGS}"
1609 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1611 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1612 AC_COMPILE_IFELSE([AC_LANG_SOURCE([])],
1614 [CFLAGS_TUNING=""; tuning="no"
1615 AS_IF([test "${with_tuning}"],
1616 [AC_MSG_ERROR([requested tuning not supported])])])
1618 AC_MSG_RESULT([$tuning])
1619 CFLAGS="${CFLAGS_save}"
1625 AC_ARG_ENABLE(optimize-memory,
1626 [AS_HELP_STRING([--enable-optimize-memory],
1627 [optimize memory usage over performance])])
1628 if test "${enable_optimize_memory}" = "yes"; then
1629 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1633 dnl Allow running as root (useful for people running on embedded platforms)
1635 AC_ARG_ENABLE(run-as-root,
1636 [AS_HELP_STRING([--enable-run-as-root],
1637 [allow running VLC as root (default disabled)])])
1638 AS_IF([test "${enable_run_as_root}" = "yes"],[
1639 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1640 [Define to 1 to allow running VLC as root (uid 0).])
1647 [AS_HELP_STRING([--disable-sout],
1648 [disable streaming output (default enabled)])])
1649 AS_IF([test "${enable_sout}" != "no"], [
1650 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1652 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1656 [AS_HELP_STRING([--disable-lua],
1657 [disable LUA scripting support (default enabled)])])
1658 if test "${enable_lua}" != "no"
1660 PKG_CHECK_MODULES(LUA, lua5.1,
1663 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1664 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1668 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1671 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1672 [LUA_LIBS="-llua5.1"],
1673 AC_CHECK_LIB( lua51 , luaL_newstate,
1674 [LUA_LIBS="-llua51"],
1675 AC_CHECK_LIB( lua , luaL_newstate,
1683 if test "x${have_lua}" = "xyes" ; then
1684 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1685 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1687 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.])
1689 AC_ARG_VAR([LUAC], [LUA byte compiler])
1690 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1691 AS_IF([test "${LUAC}" = "false"], [
1692 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1695 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1700 AC_ARG_ENABLE(httpd,
1701 [AS_HELP_STRING([--disable-httpd],
1702 [disable the built-in HTTP server (default enabled)])])
1703 if test "${enable_httpd}" != "no"
1705 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1707 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1710 dnl VideoLAN manager
1713 [AS_HELP_STRING([--disable-vlm],
1714 [disable the stream manager (default enabled)])],,
1715 [enable_vlm="${enable_sout}"])
1716 AS_IF([test "${enable_vlm}" != "no"], [
1717 AS_IF([test "${enable_sout}" = "no"], [
1718 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1720 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1722 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1725 dnl Growl notification plugin
1727 AC_ARG_ENABLE(growl,
1728 [ --enable-growl growl notification plugin (default disabled)],,
1730 AS_IF([test "${enable_growl}" != "no"], [
1731 VLC_ADD_PLUGIN([growl_udp])
1732 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
1733 VLC_ADD_PLUGIN([growl])
1734 VLC_ADD_LDFLAGS([growl], [-F${CONTRIB_DIR}/Growl -Wl,-framework,Growl,-framework,CoreFoundation])
1735 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}/Growl])
1736 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
1742 dnl Libnotify notification plugin
1744 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
1749 AC_ARG_ENABLE(taglib,
1750 [AS_HELP_STRING([--disable-taglib],
1751 [do not use TagLib (default enabled)])])
1752 AS_IF([test "${enable_taglib}" != "no"], [
1753 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
1754 VLC_ADD_PLUGIN([taglib])
1755 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1756 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
1758 AC_MSG_WARN(TagLib library not found)])
1765 EXTEND_HELP_STRING([Input plugins:])
1768 dnl libproxy support
1770 AC_ARG_ENABLE(libproxy,
1771 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1772 AS_IF([test "${enable_libproxy}" != "no"], [
1773 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1774 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1775 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1776 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1778 AS_IF([test "x${enable_libproxy}" != "x"], [
1779 AC_MSG_ERROR([libproxy could not be found on your system])
1787 AC_ARG_ENABLE(live555,
1788 [AS_HELP_STRING([--enable-live555],
1789 [enable RTSP input through live555 (default enabled)])])
1790 AC_ARG_WITH(live555-tree,
1791 [AS_HELP_STRING([--with-live555-tree=PATH],
1792 [live555 tree for static linking])])
1793 if test "${enable_live555}" != "no"; then
1796 dnl test for --with-live555-tree
1798 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1800 CPPFLAGS_save="${CPPFLAGS}"
1801 if test -z "${CONTRIB_DIR}"; then
1802 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1804 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1806 if test "${SYS}" = "solaris"; then
1807 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1809 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1811 AC_CHECK_HEADERS(liveMedia_version.hh, [
1812 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1814 [#include <liveMedia_version.hh>
1815 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1816 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1820 [AC_MSG_RESULT([no])
1821 AC_MSG_WARN([The installed liveMedia version is too old:
1822 Version 2010.05.29 or later is required to proceed.
1823 You can get an updated one from http://www.live555.com/liveMedia .])
1824 AS_IF([test "${enable_live555}" == "yes"], [
1825 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable the plugin.])
1828 AC_MSG_RESULT([yes])
1829 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1830 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1831 if test "${SYS}" = "mingw32"; then
1832 # add ws2_32 for closesocket, select, recv
1833 other_libs="$other_libs -lws2_32"
1834 elif test "${SYS}" = "mingwce"; then
1835 # add ws2 for closesocket, select, recv
1836 other_libs="$other_libs -lws2"
1839 dnl We need to check for pic because live555 don't provide shared libs
1840 dnl and we want to build a plugins so we need -fPIC on some arch.
1841 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1842 AC_CHECK_LIB(liveMedia_pic, main, [
1843 VLC_ADD_PLUGIN([live555])
1844 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1846 AC_CHECK_LIB(liveMedia, main, [
1847 VLC_ADD_PLUGIN([live555])
1848 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1849 ],[],[${other_libs}]) ],[${other_libs_pic}])
1851 CPPFLAGS="${CPPFLAGS_save}"
1856 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1857 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1858 if test -z "${real_live555_tree}"; then
1859 dnl The given directory can't be found
1861 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1863 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1864 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1866 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1867 AC_MSG_CHECKING(for liveMedia version >= 1275091200 )
1869 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1870 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1871 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200
1875 [AC_MSG_RESULT([no])
1876 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1877 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1879 AC_MSG_RESULT([yes])
1883 VLC_ADD_PLUGIN([live555])
1885 if test "${SYS}" = "mingw32"; then
1886 # add ws2_32 for closesocket, select, recv
1887 VLC_ADD_LIBS([live555],[-lws2_32])
1890 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1891 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1892 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1893 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1895 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1896 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1897 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1898 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1899 if test "${SYS}" = "solaris"; then
1900 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1903 dnl The given live555 wasn't built
1905 if test "${enable_live555}" = "yes"; then
1906 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1913 dnl - special access module for dc1394 input
1914 dnl - dv module: digital video module check for libraw1394
1915 dnl - linsys modules: access module check for libzvbi
1917 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1918 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1920 AC_ARG_ENABLE(linsys,
1921 [AS_HELP_STRING([--enable-linsys],
1922 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1923 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1924 VLC_ADD_PLUGIN([linsys_hdsdi])
1925 PKG_CHECK_MODULES(LINSYS_SDI, zvbi-0.2 >= 0.2.28,
1926 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1927 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1928 VLC_ADD_PLUGIN([linsys_sdi]) ],
1929 [AC_MSG_WARN([Could not find zvbi >= 0.2.28, install libzvbi-dev ?])]
1934 dnl dvdread module: check for libdvdread
1936 dnl prepend -ldvdcss on OS that need it
1937 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdread], [-ldvdcss])])
1938 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1941 dnl libdvdnav plugin
1943 AC_ARG_ENABLE(dvdnav,
1944 [AS_HELP_STRING([--disable-dvdnav],
1945 [disable DVD navigation with libdvdnav (default auto)])])
1946 if test "${enable_dvdnav}" != "no"
1948 dnl prepend -ldvdcss on OS that need it
1949 AS_CASE(["${SYS}"], [mingw32|darwin], [VLC_ADD_LIBS([dvdnav], [-ldvdcss])])
1951 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1952 VLC_ADD_PLUGIN([dvdnav])
1953 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1954 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1955 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1956 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1957 [], [${LIBS_dvdnav}])
1958 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1959 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1960 [], [${LIBS_dvdnav}])],
1961 [AC_MSG_WARN(dvdnav library not found)])
1965 dnl Windows DirectShow access module
1967 AC_ARG_ENABLE(dshow,
1968 [AS_HELP_STRING([--disable-dshow],
1969 [support DirectShow (default auto)])])
1970 if test "${enable_dshow}" != "no"
1972 if test "${SYS}" = "mingw32"
1975 AC_CHECK_HEADERS(dshow.h,
1976 [ VLC_ADD_PLUGIN([dshow])
1977 VLC_ADD_CXXFLAGS([dshow],[])
1978 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1984 dnl Blu-ray Disc Support with libbluray
1986 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) )
1989 dnl OpenCV wrapper and example filters
1991 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1995 dnl libsmbclient plugin
1998 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1999 if test "${enable_smb}" != "no"; then
2000 AC_CHECK_HEADERS(libsmbclient.h,
2001 [ VLC_ADD_PLUGIN([access_smb])
2002 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2003 [ if test -n "${enable_smb}"; then
2004 AC_MSG_ERROR([cannot find libsmbclient headers])
2010 dnl sftp access support
2013 [AS_HELP_STRING([--enable-sftp],
2014 [support SFTP file transfer via libssh2 (default disabled)])])
2015 if test "${enable_sftp}" = "yes"; then
2016 AC_CHECK_HEADERS(libssh2.h, [
2017 VLC_ADD_PLUGIN([access_sftp])
2018 VLC_ADD_LIBS([access_sftp], [-lssh2])
2023 dnl Video4Linux2 plugin
2026 [AS_HELP_STRING([--disable-v4l2],
2027 [do not support Video4Linux version 2 (default auto)])])
2029 [AS_HELP_STRING([--with-v4l2=PATH], [path to a V4L2-enabled kernel tree])])
2030 if test "${enable_v4l2}" != "no"
2032 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2034 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2037 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2038 AC_CHECK_HEADERS(linux/videodev2.h sys/videoio.h, [
2039 VLC_ADD_PLUGIN([v4l2])
2041 CPPFLAGS="${CPPFLAGS_save}"
2045 dnl libv4l2 support for video4linux.
2047 AC_ARG_ENABLE(libv4l2,
2048 [AS_HELP_STRING([--enable-libv4l2],
2049 [use V4L2 through libv4l2 (default auto)])])
2050 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2052 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2053 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2054 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2055 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2056 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2061 dnl special access module for Hauppauge PVR cards
2064 [AS_HELP_STRING([--enable-pvr],
2065 [support PVR V4L2 cards (default disabled)])])
2066 if test "${enable_pvr}" = "yes"
2068 VLC_ADD_PLUGIN([pvr])
2072 dnl special access module for Blackmagic SDI cards
2074 AC_ARG_ENABLE(decklink,
2075 [AS_HELP_STRING([--disable-decklink],
2076 [disable Blackmagic DeckLink SDI input (default auto)])])
2077 AC_ARG_WITH(decklink_sdk,
2078 [AS_HELP_STRING[--with-decklink-sdk=DIR],
2079 [location of Blackmagic DeckLink SDI SDK])])
2080 if test "${enable_decklink}" != "no"
2082 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
2084 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
2086 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
2088 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
2089 VLC_ADD_PLUGIN([decklink])
2090 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
2092 CPPFLAGS="${CPPFLAGS_save}"
2097 dnl gnomeVFS access module
2099 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2105 [AS_HELP_STRING([--enable-vcdx],
2106 [navigate VCD with libvcdinfo (default disabled)])])
2107 if test "${enable_vcdx}" = "yes"
2109 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
2110 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
2111 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
2112 [AC_MSG_ERROR([vcdx plugin requires libcdio >= 0.78.2 and libiso9660 >= 0.72])])
2113 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
2114 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
2115 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
2116 [AC_MSG_ERROR([vcdx plugin requires libvcdinfo library >= 0.7.22])])
2117 VLC_ADD_PLUGIN([vcdx])
2121 dnl Built-in CD-DA and VCD module
2124 [AS_HELP_STRING([--disable-vcd],
2125 [disable built-in VCD and CD-DA support (default enabled)])])
2127 AC_ARG_ENABLE(libcddb,
2128 [AS_HELP_STRING([--disable-libcddb],
2129 [disable CDDB for Audio CD (default enabled)])])
2131 if test "${enable_vcd}" != "no"
2133 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2134 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2136 VLC_ADD_PLUGIN([vcd cdda])
2141 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2142 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2144 VLC_ADD_PLUGIN([vcd cdda])
2145 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2150 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2151 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2153 VLC_ADD_PLUGIN([vcd cdda])
2154 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2159 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2161 VLC_ADD_PLUGIN([vcd cdda])
2164 if test "${SYS}" = "darwin"
2166 VLC_ADD_PLUGIN([vcd cdda])
2167 VLC_ADD_LDFLAGS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2168 VLC_ADD_LIBS([vcdx cdda],[-liconv])
2171 if test "$enable_libcddb" != "no"; then
2172 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2174 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2175 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2176 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2178 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2184 dnl libdvbpsi check for ts mux/demux
2187 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
2188 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
2191 dnl Screen capture module
2193 AC_ARG_ENABLE(screen,
2194 [AS_HELP_STRING([--enable-screen],
2195 [disable screen capture (default enabled)])])
2196 if test "${enable_screen}" != "no"; then
2197 if test "${SYS}" = "darwin"; then
2198 AC_CHECK_HEADERS(OpenGL/gl.h, [
2199 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2200 VLC_ADD_PLUGIN([screen])
2201 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2204 elif test "${SYS}" = "mingw32"; then
2205 VLC_ADD_PLUGIN([screen])
2206 VLC_ADD_LIBS([screen],[-lgdi32])
2207 elif test "${SYS}" = "mingwce"; then
2208 CPPFLAGS="${CPPFLAGS_save}"
2216 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2217 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2220 AS_IF([test "${have_ipv6}" = "yes"], [
2221 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2224 AC_CHECK_FUNCS(inet_ntop,[
2225 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2229 dnl GME demux plugin
2232 [AS_HELP_STRING([--enable-gme],
2233 [use Game Music Emu (default auto)])])
2234 AS_IF([test "${enable_gme}" != "no"], [
2235 AC_CHECK_HEADER([gme/gme.h], [
2236 VLC_ADD_LIBS([gme], [-lgme])
2237 VLC_ADD_PLUGIN([gme])
2239 AS_IF([test "x${enable_gme}" != "x"], [
2240 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2249 PKG_WITH_MODULES([SID], [libsidplay2],
2251 oldCPPFLAGS="$CPPFLAGS"
2252 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2253 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2254 VLC_ADD_PLUGIN([sid])
2255 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2256 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2258 AS_IF([test "x${enable_sid}" = "xyes"],
2259 [AC_MSG_ERROR(Library libresid-builder needed for sid was not found)],
2260 [AC_MSG_WARN(Library libresid-builder needed for sid was not found)]
2263 CPPFLAGS="$oldCPPFLAGS"
2265 AS_IF([test "x${enable_sid}" = "xyes"],
2266 [AC_MSG_ERROR(Library libsidplay2 needed for sid was not found)],
2267 [AC_MSG_WARN(Library libsidplay2 needed for sid was not found)]
2269 [C64 sid demux support], [auto])
2273 dnl ogg demux plugin
2275 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2276 if test "${enable_sout}" != "no"; then
2277 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2280 if test "${enable_sout}" != "no"; then
2281 dnl Check for libshout
2282 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2286 dnl matroska demux plugin
2289 [AS_HELP_STRING([--disable-mkv],
2290 [do not use libmatroska (default auto)])])
2291 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2293 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2294 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2296 [#include <ebml/EbmlVersion.h>
2297 #ifdef LIBEBML_VERSION
2298 #if LIBEBML_VERSION >= 0x010000
2302 [AC_MSG_RESULT([yes])
2303 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2304 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2306 [#include <matroska/KaxVersion.h>
2307 #ifdef LIBMATROSKA_VERSION
2308 #if LIBMATROSKA_VERSION >= 0x010000
2312 [AC_MSG_RESULT([yes])
2313 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2314 VLC_ADD_CXXFLAGS([mkv],[])
2315 if test "${SYS}" = "darwin"; then
2316 VLC_ADD_CXXFLAGS([mkv],[-O1])
2318 AC_CHECK_LIB(ebml_pic, main, [
2319 VLC_ADD_PLUGIN([mkv])
2320 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2322 AC_CHECK_LIB(ebml, main, [
2323 VLC_ADD_PLUGIN([mkv])
2324 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2329 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.])
2333 [AC_MSG_RESULT([no])
2334 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.])
2341 dnl modplug demux plugin
2344 [AS_HELP_STRING([--disable-mod],
2345 [do not use libmodplug (default auto)])])
2346 if test "${enable_mod}" != "no" ; then
2347 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2348 VLC_ADD_PLUGIN([mod])
2349 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2350 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2352 AS_IF([test x"${enable_mod}" = "xyes"],
2353 [AC_MSG_ERROR(libmodplug not found or a broken version (0.8.8.0) was found!)],
2354 [AC_MSG_WARN(libmodplug not found or a broken version (0.8.8.0) was found!)])
2359 dnl mpc demux plugin
2362 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2363 if test "${enable_mpc}" != "no"
2365 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2366 VLC_ADD_PLUGIN([mpc])
2367 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2368 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2369 VLC_ADD_PLUGIN([mpc])
2370 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2377 EXTEND_HELP_STRING([Codec plugins:])
2382 AC_ARG_ENABLE(wma-fixed,
2383 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2384 if test "${enable_wma_fixed}" = "yes"
2386 VLC_ADD_PLUGIN([wma_fixed])
2390 dnl shine fixed point mp3 encoder
2392 AC_ARG_ENABLE(shine,
2393 [ --enable-shine shine mp3 encoding module (default disabled)])
2394 if test "${enable_shine}" = "yes"
2396 VLC_ADD_PLUGIN([shine])
2400 dnl openmax il codec plugin
2402 AC_ARG_ENABLE(omxil,
2403 [ --enable-omxil openmax il codec module (default disabled)])
2404 if test "${enable_omxil}" = "yes"
2406 VLC_ADD_PLUGIN([omxil])
2407 VLC_ADD_LIBS([omxil], [$LIBDL])
2411 dnl CrystalHD codec plugin
2413 AC_ARG_ENABLE(crystalhd,
2414 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2415 if test "${enable_crystalhd}" != "no"; then
2416 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2417 VLC_ADD_PLUGIN([crystalhd])
2418 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2420 if test "${SYS}" = "mingw32" ; then
2421 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2422 VLC_ADD_PLUGIN([crystalhd])
2423 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2424 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2427 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2428 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2429 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2430 ],[#define __LINUX_USER__
2431 #include <libcrystalhd/bc_dts_types.h>
2435 #include <libcrystalhd/bc_dts_types.h>
2443 [ --enable-mad libmad module (default enabled)])
2444 if test "${enable_mad}" != "no"
2447 [ --with-mad=PATH path to libmad],[],[])
2448 if test "${with_mad}" != "no" -a -n "${with_mad}"
2450 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2451 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2454 AC_ARG_WITH(mad-tree,
2455 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2456 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2458 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2459 if test -z "${real_mad_tree}"
2461 dnl The given directory can't be found
2463 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2465 dnl Use a custom libmad
2466 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2467 if test -f ${real_mad_tree}/mad.h
2470 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2471 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2472 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2473 AC_CHECK_LIB(mad, mad_bit_init, [
2474 VLC_ADD_PLUGIN([mpgatofixed32])
2475 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2476 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2478 LDFLAGS="${LDFLAGS_save}"
2481 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2484 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2485 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2486 AC_CHECK_HEADERS(mad.h, ,
2487 [ 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.]) ])
2488 AC_CHECK_LIB(mad, mad_bit_init, [
2489 VLC_ADD_PLUGIN([mpgatofixed32])
2490 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2491 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2492 CPPFLAGS="${CPPFLAGS_save}"
2493 LDFLAGS="${LDFLAGS_save}"
2498 AC_ARG_ENABLE(merge-ffmpeg,
2499 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2500 enable_merge_ffmpeg="no"
2502 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2504 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2505 [ac_cv_ld_bsymbolic],
2506 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
2507 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2508 LDFLAGS="${LDFLAGS_save}"
2512 dnl avcodec decoder/encoder plugin
2514 AC_ARG_ENABLE(avcodec,
2515 [ --enable-avcodec libavcodec codec (default enabled)])
2516 AS_IF([test "${enable_avcodec}" != "no"], [
2517 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2520 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2521 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2522 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2523 AC_CHECK_HEADERS(libavutil/avutil.h)
2524 VLC_ADD_PLUGIN([avcodec])
2525 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2526 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2527 VLC_ADD_LDFLAGS([avcodec],[-Wl,-Bsymbolic])
2529 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2533 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2540 dnl libva needs avcodec
2542 AC_ARG_ENABLE(libva,
2543 [ --enable-libva libva VAAPI support (default auto)])
2545 AS_IF([test "${enable_libva}" != "no"], [
2546 AS_IF([test "x${have_avcodec}" = "xyes"], [
2547 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2550 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2551 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2552 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2553 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2554 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2555 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2556 echo "VAAPI acceleration activated"
2558 AS_IF([test "${enable_libva}" == "yes"],
2559 [AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])],
2560 [AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])])
2564 AS_IF([test "${enable_libva}" == "yes"],
2565 [AC_MSG_ERROR([Could not find required libva.])],
2566 [AC_MSG_WARN([libva not found ])])
2569 AS_IF([test "x${enable_libva}" != "x"], [
2570 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive.])
2576 dnl dxva2 needs avcodec
2578 AC_ARG_ENABLE(dxva2,
2579 [ --enable-dxva2 DxVA2 support (default auto)])
2581 AS_IF([test "${enable_dxva2}" != "no"], [
2582 if test "${SYS}" = "mingw32"; then
2583 AS_IF([test "x${have_avcodec}" = "xyes"], [
2584 AC_CHECK_HEADERS(dxva2api.h,
2586 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2587 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2588 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2589 echo "DxVA2 acceleration activated"
2591 AS_IF([test "${enable_dxva2}" == "yes"],
2592 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2593 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2596 AS_IF([test "${enable_dxva2}" == "yes"],
2597 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2598 [AC_MSG_WARN([dxva2api.h not found])])
2601 AS_IF([test "x${enable_dxva2}" != "x"], [
2602 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2610 dnl stream_out switcher needs libavcodec
2612 AC_ARG_ENABLE(switcher,
2613 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2614 AS_IF([test "${enable_switcher}" = "yes"], [
2615 AS_IF([test "x${have_avcodec}" = "xyes"], [
2616 VLC_ADD_PLUGIN([stream_out_switcher])
2617 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2618 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2619 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2625 dnl avformat demuxer/muxer plugin
2628 AC_ARG_ENABLE(avformat,
2629 [ --enable-avformat libavformat containers (default enabled)],, [
2630 enable_avformat="${have_avcodec}"
2632 if test "${enable_avformat}" != "no"
2634 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2637 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2638 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2639 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2640 AC_CHECK_HEADERS(libavutil/avutil.h)
2641 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2642 VLC_ADD_PLUGIN([avformat access_avio])
2643 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2644 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2645 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2646 VLC_ADD_LDFLAGS([avformat access_avio],[-Wl,-Bsymbolic])
2649 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2650 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2654 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2659 dnl swscale image scaling and conversion plugin
2662 AC_ARG_ENABLE(swscale,
2663 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2664 (default enabled)]))
2665 if test "${enable_swscale}" != "no"
2667 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2670 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2671 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2672 AC_CHECK_HEADERS(libswscale/swscale.h)
2673 VLC_ADD_PLUGIN([swscale])
2674 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2675 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2676 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2677 VLC_ADD_LDFLAGS([swscale],[-Wl,-Bsymbolic])
2681 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.])
2689 AC_ARG_ENABLE(postproc,
2690 [ --enable-postproc libpostproc image post-processing (default enabled)])
2691 if test "${enable_postproc}" != "no"
2693 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2696 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2697 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2698 AC_CHECK_HEADERS(postproc/postprocess.h)
2699 VLC_ADD_PLUGIN([postproc])
2700 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2701 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2704 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
2709 dnl faad decoder plugin
2712 [ --enable-faad faad codec (default disabled)])
2713 if test "${enable_faad}" = "yes"
2715 AC_ARG_WITH(faad-tree,
2716 [ --with-faad-tree=PATH faad tree for static linking])
2717 if test -n "${with_faad_tree}"
2719 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2720 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2721 if test -z "${real_faad_tree}"
2723 dnl The given directory can't be found
2725 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2727 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2729 dnl Use a custom faad
2730 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2731 VLC_ADD_PLUGIN([faad])
2732 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2733 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2735 dnl The given libfaad wasn't built
2737 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2740 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2741 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2742 AC_CHECK_HEADERS(faad.h, ,
2743 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2744 AC_CHECK_LIB(faad, faacDecOpen, [
2745 VLC_ADD_PLUGIN([faad])
2746 VLC_ADD_LIBS([faad],[-lfaad]) ],
2747 AC_CHECK_LIB(faad, NeAACDecOpen, [
2748 VLC_ADD_PLUGIN([faad])
2749 VLC_ADD_LIBS([faad],[-lfaad]) ],
2750 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2751 LDFLAGS="${LDFLAGS_save}"
2752 CPPFLAGS="${CPPFLAGS_save}"
2757 dnl twolame encoder plugin
2759 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2762 dnl QuickTime plugin
2764 AC_ARG_ENABLE(quicktime,
2765 [ --enable-quicktime QuickTime module (deprecated)])
2766 if test "${enable_quicktime}" = "yes"; then
2767 if test "${SYS}" = "mingw32"; then
2768 VLC_ADD_PLUGIN([quicktime])
2770 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2771 [ VLC_ADD_PLUGIN([quicktime])
2772 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2773 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2781 [ --enable-real Real media module (default disabled)])
2782 if test "${enable_real}" = "yes"; then
2783 VLC_ADD_PLUGIN([realvideo])
2787 dnl Real RTSP plugin
2789 AC_ARG_ENABLE(realrtsp,
2790 [ --enable-realrtsp Real RTSP module (default disabled)])
2791 if test "${enable_realrtsp}" = "yes"; then
2792 VLC_ADD_PLUGIN([access_realrtsp])
2796 dnl A52/AC3 decoder plugin
2799 [ --enable-a52 A/52 support with liba52 (default enabled)])
2800 if test "${enable_a52}" != "no"
2803 [ --with-a52=PATH a52 headers and libraries])
2804 AC_ARG_WITH(a52-tree,
2805 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2806 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2808 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2809 if test -z "${real_a52_tree}"
2811 dnl The given directory can't be found
2813 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2815 dnl Use a custom a52dec
2816 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2817 if test -f ${real_a52_tree}/include/a52.h
2820 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2821 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2822 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2823 AC_CHECK_LIB(a52, a52_free, [
2824 VLC_ADD_PLUGIN([a52tofloat32])
2825 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2826 VLC_ADD_LIBS([a52tofloat32],[-la52])
2828 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2830 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2832 AC_MSG_ERROR([the specified tree hasn't been compiled])
2835 LDFLAGS="${LDFLAGS_save}"
2838 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2841 if test -z "${with_a52}"
2846 LDFLAGS_test="-L${with_a52}/lib"
2847 CPPFLAGS_test="-I${with_a52}/include"
2849 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2850 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2851 AC_CHECK_HEADERS(a52dec/a52.h, [
2852 AC_CHECK_LIB(a52, a52_free, [
2853 VLC_ADD_PLUGIN([a52tofloat32])
2854 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2855 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2857 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.])
2860 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 CPPFLAGS="${CPPFLAGS_save}"
2863 LDFLAGS="${LDFLAGS_save}"
2867 AC_ARG_WITH(a52-fixed,
2868 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2870 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2873 dnl DTS Coherent Acoustics decoder plugin
2875 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2880 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2885 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2890 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2895 AC_ARG_ENABLE(tremor,
2896 [ --enable-tremor Tremor decoder support (default disabled)])
2897 if test "${enable_tremor}" = "yes"
2899 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2900 VLC_ADD_PLUGIN([tremor])
2901 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2908 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
2911 dnl theora decoder plugin
2913 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
2916 dnl dirac encoder plugin
2918 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2921 dnl schroedinger decoder plugin (for dirac format video)
2923 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
2926 dnl PNG decoder module
2929 [ --enable-png PNG support (default enabled)])
2930 if test "${enable_png}" != "no"; then
2931 AC_CHECK_HEADERS(png.h, [
2932 LDFLAGS="${LDFLAGS_save} -lz"
2933 AC_CHECK_LIB(png, png_set_rows, [
2934 VLC_ADD_LIBS([png],[-lpng -lz -lm])
2935 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2937 LDFLAGS="${LDFLAGS_save}"
2940 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2943 dnl H264 encoder plugin (using libx264)
2946 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2947 if test "${enable_x264}" != "no"; then
2948 AC_ARG_WITH(x264-tree,
2949 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2950 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2952 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2953 if test -z "${real_x264_tree}"
2955 dnl The given directory can't be found
2957 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2959 dnl Use a custom libx264
2960 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2961 if test -f ${real_x264_tree}/x264.h
2964 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2965 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2966 PKG_CHECK_MODULES(X264,x264, [
2967 VLC_ADD_PLUGIN([x264])
2968 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2969 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2970 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2971 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2974 AC_MSG_ERROR([the specified tree hasn't been compiled])
2976 LDFLAGS="${LDFLAGS_save}"
2979 AC_MSG_ERROR([the specified tree doesn't have x264.h])
2982 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2983 VLC_ADD_PLUGIN([x264])
2984 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2986 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2987 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
2990 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2991 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2992 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2995 if test "${enable_x264}" = "yes"; then
2996 AC_MSG_ERROR([Could not find libx264 >= 0.86 on your system: you may get it from http://www.videolan.org/x264.html])
2999 LDFLAGS="${LDFLAGS_save}"
3004 dnl libfluidsynth (MIDI synthetizer) plugin
3006 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3009 dnl Teletext Modules
3010 dnl vbi decoder plugin (using libzbvi)
3015 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3016 libzvbi (default enabled)]))
3018 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3019 zvbi) (default enabled if zvbi is absent)]))
3021 AS_IF( [test "${enable_zvbi}" != "no"],[
3022 PKG_CHECK_MODULES(ZVBI,
3025 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3026 if test "${SYS}" = "mingw32"; then
3027 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3029 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3030 VLC_ADD_PLUGIN([zvbi])
3031 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3032 AS_IF( [test "${enable_telx}" = "yes"],[
3033 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3037 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3040 AS_IF( [test "${enable_telx}" != "no" ],[
3041 VLC_ADD_PLUGIN([telx])
3045 dnl libass subtitle rendering module
3047 AC_ARG_ENABLE(libass,
3048 [ --enable-libass Subtitle support using libass (default enabled)])
3049 AS_IF( [test "${enable_libass}" != "no"], [
3050 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.8,
3052 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3053 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3054 VLC_ADD_PLUGIN([libass])
3056 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3057 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3058 VLC_ADD_LIBS([libass],[-lfontconfig])
3061 AC_MSG_WARN([LIBASS library not found])
3066 dnl kate decoder plugin
3069 [ --enable-kate kate codec (default enabled)])
3070 AS_IF([test "${enable_kate}" != "no"], [
3071 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3072 VLC_ADD_PLUGIN([kate])
3073 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3074 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3075 AC_CHECK_HEADERS(kate/kate.h, [
3076 AC_CHECK_LIB(kate, kate_decode_init, [
3077 VLC_ADD_PLUGIN([kate])
3078 kate_libs="-lkate -logg"
3079 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3080 AS_IF([test "x${enable_kate}" != "x"], [
3081 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3082 You also need to check that you have a libogg posterior to the 1.0 release.])
3086 AS_IF([test "x${enable_kate}" != "x"], [
3087 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3088 You also need to check that you have a libogg posterior to the 1.0 release.])
3096 dnl tiger rendering for kate decoder plugin
3098 AC_ARG_ENABLE(tiger,
3099 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3100 AS_IF([test "${enable_tiger}" != "no"], [
3101 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3102 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3103 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3104 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3105 AS_IF([test "x${enable_tiger}" != "x"], [
3106 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3117 EXTEND_HELP_STRING([Video plugins:])
3124 AC_CHECK_HEADERS(X11/Xlib.h)
3127 dnl X C Bindings modules
3130 [ --enable-xcb X11 support with XCB (default enabled)],, [
3131 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3137 AC_ARG_ENABLE(xvideo,
3138 [ --enable-xvideo XVideo support (default enabled)],, [
3139 enable_xvideo="$enable_xcb"
3143 AS_IF([test "${enable_xcb}" != "no"], [
3145 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3147 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3148 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3150 AS_IF([test "${enable_xvideo}" != "no"], [
3151 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3152 VLC_ADD_PLUGIN([xcb_xv])
3156 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3157 VLC_ADD_PLUGIN([panoramix])
3158 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3159 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3161 AC_MSG_WARN([libxcb-randr not found. Panoramix filter will not be supported.])
3165 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3166 PKG_CHECK_MODULES(XPROTO, [xproto])
3167 VLC_ADD_PLUGIN([globalhotkeys])
3168 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3169 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3170 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3172 AC_MSG_WARN([libxcb-keysyms (0.3.4 or later) not found. Hotkeys will not work.])
3175 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3178 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3179 enable_glx="$enable_xcb"
3181 AS_IF([test "${enable_glx}" != "no"], [
3182 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3183 PKG_CHECK_MODULES(GL, [gl],, [
3184 AC_CHECK_HEADER([GL/gl.h], [
3188 AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3191 VLC_ADD_PLUGIN([xcb_glx])
3197 PKG_ENABLE_MODULES_VLC([GL], [], [gl], [OpenGL support], [auto])
3198 PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3199 PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3200 PKG_ENABLE_MODULES_VLC([EGL], [], [egl], [EGL support], [auto])
3206 [ --enable-sdl SDL support (default enabled)])
3207 AC_ARG_ENABLE(sdl-image,
3208 [ --enable-sdl-image SDL image support (default enabled)])
3209 if test "${enable_sdl}" != "no"
3211 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3212 # SDL on Darwin is heavily patched and can only run SDL_image
3213 if test "${SYS}" != "darwin"; then
3214 VLC_ADD_PLUGIN([vout_sdl aout_sdl])
3216 if test "${SYS}" != "mingw32"; then
3217 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3219 VLC_ADD_CFLAGS([vout_sdl aout_sdl],[${SDL_CFLAGS}])
3220 VLC_ADD_LIBS([vout_sdl aout_sdl],[${SDL_LIBS}])
3223 AS_IF([ test "${enable_sdl_image}" != "no"],[
3224 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3225 VLC_ADD_PLUGIN([sdl_image])
3226 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3227 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3228 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3229 You should install it alongside your SDL package.])
3233 AC_MSG_WARN([The development package for SDL is not present or too old.
3234 You need 1.2.10. Alternatively you can also configure with
3242 AC_ARG_ENABLE(freetype,
3243 [ --enable-freetype freetype support (default auto)])
3244 AC_ARG_ENABLE(fribidi,
3245 [ --enable-fribidi fribidi support (default auto)])
3246 AC_ARG_ENABLE(fontconfig,
3247 [ --enable-fontconfig fontconfig support (default auto)])
3249 if test "${enable_freetype}" != "no"; then
3250 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3252 VLC_ADD_PLUGIN([freetype])
3253 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3254 if test "${SYS}" = "mingw32"; then
3255 VLC_ADD_LIBS([freetype],[-liconv -lz])
3257 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3259 AC_CHECK_HEADERS(Carbon/Carbon.h,
3260 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3262 dnl fontconfig support
3263 if test "${SYS}" != "mingw32"; then
3264 if test "${enable_fontconfig}" != "no"; then
3265 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3266 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3267 VLC_ADD_LIBS([freetype],[-lfontconfig])
3268 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3271 VLC_ADD_LIBS([freetype],[-lgdi32])
3275 if test "${enable_fribidi}" != "no"; then
3276 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3277 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3278 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3279 ],[AC_MSG_WARN([library fribidi not found. Bidirectional support will be disabled in freetype])])
3284 AS_IF([ test "${enable_freetype}" = "yes"],[
3285 AC_MSG_ERROR([Freetype2 package cannot be detected. Install Freetype2 development or configure with --disable-freetype.])
3293 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3298 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3301 dnl android surface module
3303 AC_ARG_ENABLE(android-surface,
3304 [ --enable-android-surface Android Surface video output module (default disabled)])
3305 if test "${enable_android_surface}" = "yes"; then
3306 if test "${HAVE_ANDROID}" = "1"; then
3307 VLC_ADD_PLUGIN([android_surface])
3308 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3316 AC_ARG_ENABLE(ios-vout,
3317 [ --enable-ios-vout iOS video output module (default disabled)])
3318 if test "${enable_ios_vout}" = "yes"
3320 VLC_ADD_PLUGIN([vout_ios])
3321 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3322 VLC_ADD_LDFLAGS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3326 dnl QuartzText vout module (iOS/Mac OS)
3328 AC_ARG_ENABLE(macosx-quartztext,
3329 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3330 if test "x${enable_macosx_quartztext}" != "xno" &&
3331 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3333 VLC_ADD_PLUGIN([quartztext])
3334 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
3338 dnl Windows DirectX module
3341 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3343 VLC_ADD_PLUGIN([panoramix])
3346 AC_ARG_ENABLE(directx,
3347 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3348 if test "${enable_directx}" != "no"
3350 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3352 VLC_ADD_LIBS([directx],[-luser32])
3353 AC_CHECK_HEADERS(ddraw.h,
3354 [ VLC_ADD_PLUGIN([directx aout_directx])
3355 VLC_ADD_LIBS([directx],[-lgdi32])
3356 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3358 AC_CHECK_HEADERS(GL/gl.h,
3359 [ VLC_ADD_PLUGIN([glwin32])
3360 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3362 AC_CHECK_HEADERS(d3d9.h,
3363 [ VLC_ADD_PLUGIN([direct3d])
3364 VLC_ADD_LIBS([direct3d],[-lgdi32])
3366 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3371 dnl Windows Direct2D plugin
3373 AC_ARG_ENABLE(direct2d,
3374 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)])
3375 if test "${enable_direct2d}" != "no"; then
3376 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3378 AC_CHECK_HEADERS(d2d1.h,
3380 VLC_ADD_PLUGIN([direct2d])
3381 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3382 ], [AC_MSG_WARN([Cannot find Direct2D headers!])]
3388 dnl win32 GDI plugin
3390 AC_ARG_ENABLE(wingdi,
3391 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3392 if test "${enable_wingdi}" != "no"; then
3393 if test "${SYS}" = "mingw32"; then
3394 VLC_ADD_PLUGIN([wingdi])
3395 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3397 if test "${SYS}" = "mingwce"; then
3398 VLC_ADD_PLUGIN([wingdi wingapi])
3399 VLC_ADD_LIBS([wingdi],[-laygshell])
3400 VLC_ADD_LIBS([wingapi],[-laygshell])
3406 dnl Linux framebuffer module
3408 AC_CHECK_HEADER([linux/fb.h], [
3409 VLC_ADD_PLUGIN([fb])
3415 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3416 dnl TODO: support for static linking
3418 AC_ARG_ENABLE(directfb,
3419 [ --enable-directfb DirectFB support (default disabled)])
3420 AC_ARG_WITH(directfb,
3421 [ --with-directfb=PATH path to DirectFB headers and libraries])
3423 if test "${enable_directfb}" = "yes"; then
3424 have_directfb="false"
3425 CPPFLAGS_mydirectfb=
3427 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3428 dnl Trying the given location
3429 CPPFLAGS_save="${CPPFLAGS}"
3432 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3433 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3434 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3436 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3437 LIBS="${LIBS} ${LIBS_new}"
3439 dnl FIXME: too obscure
3440 AC_CHECK_HEADER([directfb.h], [
3441 AC_CHECK_LIB([direct],[direct_initialize], [
3442 AC_CHECK_LIB([fusion], [fusion_enter], [
3443 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3444 ], have_directfb="false")
3445 ], have_directfb="false")
3446 ], have_directfb="false")
3449 CPPFLAGS="${CPPFLAGS_save}"
3452 if test "${have_directfb}" = "true"; then
3453 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3454 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3457 dnl Look for directfb-config
3458 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3459 if test "${DIRECTFB_CONFIG}" != "no"; then
3460 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3461 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3462 have_directfb="true"
3464 dnl Trying with pkg-config
3465 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3466 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3467 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3468 have_directfb="true"
3469 ], [have_directfb="false"])
3472 if test "${have_directfb}" = "true"; then
3473 VLC_ADD_PLUGIN([directfb])
3474 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3475 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3477 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
3485 [ --enable-aa aalib output (default disabled)])
3486 if test "${enable_aa}" = "yes"
3488 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3489 if test "${have_aa}" = "true"
3491 VLC_ADD_PLUGIN([aa])
3492 VLC_ADD_LIBS([aa],[-laa])
3493 if test "${SYS}" != "mingw32"; then
3494 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3502 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3508 EXTEND_HELP_STRING([Audio plugins:])
3511 dnl Pulseaudio module
3513 AC_ARG_ENABLE(pulse,
3514 [AS_HELP_STRING([--enable-pulse],
3515 [use the PulseAudio client library (default auto)])])
3517 AS_IF([test "${enable_pulse}" != "no"], [
3518 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3521 AS_IF([test "x${enable_pulse}" != "x"], [
3522 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3526 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3532 [AS_HELP_STRING([--enable-alsa],
3533 [support the Advanced Linux Sound Architecture (default auto)])],, [
3534 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3539 AS_IF([test "${enable_alsa}" != "no"], [
3540 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3543 AS_IF([test "x${enable_alsa}" != "x"], [
3544 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3548 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3551 dnl Open Sound System module
3554 [AS_HELP_STRING([--enable-oss],
3555 [support the Open Sound System OSS (default enabled on BSD)])],, [
3556 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3562 AS_IF([test "$enable_oss" != "no"], [
3563 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3565 AC_CHECK_LIB(ossaudio, main, [
3566 OSS_LIBS="-lossaudio"
3571 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3574 dnl Portaudio module
3576 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3579 dnl win32 waveOut plugin
3581 AC_ARG_ENABLE(waveout,
3582 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3583 if test "${enable_waveout}" != "no"; then
3584 if test "${SYS}" = "mingw32"; then
3585 VLC_ADD_PLUGIN([waveout])
3586 VLC_ADD_LIBS([waveout],[-lwinmm])
3588 if test "${SYS}" = "mingwce"; then
3589 VLC_ADD_PLUGIN([waveout])
3594 dnl CoreAudio plugin
3596 AC_ARG_ENABLE(macosx-audio,
3597 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3598 if test "x${enable_macosx_audio}" != "xno" &&
3599 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3601 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3602 [ VLC_ADD_PLUGIN([auhal])
3603 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3604 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3608 dnl AudioQueue plugin
3610 AC_ARG_ENABLE(audioqueue,
3611 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3612 if test "${enable_audioqueue}" = "yes"
3614 VLC_ADD_PLUGIN([audioqueue])
3615 VLC_ADD_LDFLAGS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3621 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3624 dnl OpenSLES Android
3626 AC_ARG_ENABLE(opensles,
3627 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3628 if test "${HAVE_ANDROID}" = "1"; then
3629 if test "${enable_opensles}" = "yes"; then
3630 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3631 [ VLC_ADD_PLUGIN([opensles_android]) ],
3632 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3637 dnl UPnP Plugin (Intel SDK)
3639 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPnp SDK],[auto])
3640 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3643 dnl Interface plugins
3646 EXTEND_HELP_STRING([Interface plugins:])
3651 AC_ARG_ENABLE(libtar,
3652 [ --enable-libtar libtar support for skins2 (default auto)])
3653 AS_IF([test "${enable_libtar}" != "no"], [
3654 AC_CHECK_HEADERS(libtar.h, [
3655 VLC_ADD_LIBS([skins2],[-ltar])
3659 AC_ARG_ENABLE(skins2,
3660 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
3661 enabled except on MacOSX and WinCE)])],, [
3662 AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
3668 AS_IF([test "${enable_skins2}" = "yes"], [
3670 AS_IF([test "${have_freetype}" != "yes"], [
3671 AC_MSG_ERROR([Could not find FreeType (required for skins2)])
3674 AS_IF([test "${SYS}" = "mingw32"], [
3675 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3676 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3677 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32 -luser32])
3679 ], [test "${SYS}" = "darwin"], [
3680 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3681 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3682 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
3685 PKG_CHECK_MODULES([XPM], [xpm])
3686 PKG_CHECK_MODULES([XINERAMA], [xinerama])
3687 PKG_CHECK_MODULES([XEXT], [xext])
3688 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3689 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3690 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3693 VLC_ADD_PLUGIN([skins2])
3694 ALIASES="${ALIASES} svlc"
3696 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3701 AC_ARG_ENABLE(hildon,
3702 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3703 AS_IF([test "${enable_hildon}" = "yes"], [
3704 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3705 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3706 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3707 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3709 AC_MSG_WARN(hildon-fm-2 not found)
3711 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3712 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3713 VLC_ADD_PLUGIN([hildon])
3714 ALIASES="${ALIASES} mvlc"
3716 AS_IF([test "${enable_hildon}" = "yes"],[
3717 AC_MSG_ERROR([Hildon libraries not found])
3722 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3728 [ --enable-qt4 Qt 4 support (default enabled) ],, [
3729 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3731 AS_IF([test "${enable_qt4}" != "no"], [
3732 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
3733 VLC_ADD_PLUGIN([qt4])
3734 VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3735 VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3736 ALIASES="${ALIASES} qvlc"
3739 CPPFLAGS_save="${CPPFLAGS}"
3741 AC_MSG_CHECKING([whether Qt uses X11])
3742 CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3743 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3745 #if !defined (Q_WS_X11)
3749 AC_MSG_RESULT([yes])
3750 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3751 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3756 CPPFLAGS="${CPPFLAGS_save}"
3759 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3760 VLC_ADD_LIBS([qt4],[-lole32])
3762 AS_IF([test "${SYS}" = "darwin" ],[
3763 VLC_ADD_LDFLAGS([qt4], [-Wl,-framework,Cocoa])
3765 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3766 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3767 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3769 AS_IF([test "${enable_qt4}" = "yes"],[
3770 AC_MSG_ERROR([Qt 4 library not found])
3772 AC_MSG_WARN([Qt 4 library not found])
3777 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3780 dnl Simple test for skins2 dependency
3782 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3783 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.])
3787 dnl MacOS X video output/gui modules
3789 AC_ARG_ENABLE(macosx,
3790 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3791 if test "x${enable_macosx}" = "xyes"
3793 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
3794 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
3795 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
3796 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
3797 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
3798 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
3799 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
3800 VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
3801 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle])
3802 VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit -Wl,-framework,BGHUDAppKit])
3803 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/BGHUDAppKit])
3805 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
3806 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
3807 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3809 VLC_ADD_PLUGIN([macosx minimal_macosx])
3813 dnl MacOS X related modules
3816 AC_ARG_ENABLE(macosx-vout,
3817 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3818 if test "x${enable_macosx_vout}" != "xno" &&
3819 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3821 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,Cocoa])
3822 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,OpenGL])
3823 VLC_ADD_PLUGIN([vout_macosx])
3826 AC_ARG_ENABLE(macosx-dialog-provider,
3827 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3828 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3829 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3831 VLC_ADD_LDFLAGS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3832 VLC_ADD_PLUGIN([macosx_dialog_provider])
3835 AC_ARG_ENABLE(macosx-qtcapture,
3836 [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
3837 if test "x${enable_macosx_qtcapture}" != "xno" &&
3838 (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
3840 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,Cocoa])
3841 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
3842 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
3843 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QuartzCore])
3844 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
3845 VLC_ADD_PLUGIN([qtcapture])
3848 AC_ARG_ENABLE(macosx-eyetv,
3849 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
3850 if test "x${enable_macosx_eyetv}" != "xno" &&
3851 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
3853 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
3854 VLC_ADD_PLUGIN([access_eyetv])
3857 AC_ARG_ENABLE(macosx-vlc-app,
3858 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
3859 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
3860 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
3865 AC_ARG_ENABLE(ncurses,
3866 [ --disable-ncurses ncurses interface support (default disabled)],
3867 [if test "${enable_ncurses}" != "no"; then
3868 AC_CHECK_HEADER(ncurses.h,
3869 [AC_CHECK_LIB(ncursesw, mvprintw,
3870 [VLC_ADD_PLUGIN([ncurses])
3871 VLC_ADD_LIBS([ncurses],[-lncursesw])
3872 ALIASES="${ALIASES} nvlc"
3873 AC_CHECK_LIB(ncursesw, tgetent, [],
3874 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3875 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3876 [AS_IF([test "${enable_ncurses}" = "yes"],
3877 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3883 [AS_IF([test "${enable_ncurses}" = "yes"], [
3884 AC_MSG_ERROR([libncursesw not found])])]
3886 [AS_IF([test "${enable_ncurses}" = "yes"], [
3887 AC_MSG_ERROR([ncurses.h not found])])]
3896 [ --enable-xosd xosd interface support (default disabled)])
3897 if test "${enable_xosd}" = "yes"
3899 AC_CHECK_HEADERS(xosd.h,
3900 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3901 VLC_ADD_PLUGIN([xosd])
3902 VLC_ADD_LIBS([xosd],[-lxosd])
3908 dnl Framebuffer (overlay) plugin
3910 AC_ARG_ENABLE(fbosd,
3911 [ --enable-fbosd fbosd interface support (default disabled)])
3912 if test "${enable_fbosd}" = "yes"
3914 AC_CHECK_HEADERS(linux/fb.h, [
3915 VLC_ADD_PLUGIN([fbosd])
3920 dnl Visualisation plugin
3922 AC_ARG_ENABLE(visual,
3923 [ --enable-visual visualisation plugin (default enabled)])
3924 if test "${enable_visual}" != "no"
3926 VLC_ADD_PLUGIN([visual])
3930 dnl goom visualization plugin
3932 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3935 dnl libprojectM visualization plugin
3937 AC_ARG_ENABLE(projectm,
3938 [ --enable-projectm projectM visualization plugin (default enabled)])
3939 AS_IF([test "${enable_projectm}" != "no"],
3941 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3943 VLC_ADD_PLUGIN([projectm])
3944 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3945 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3946 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3947 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3948 [ AC_MSG_WARN( [Using libprojectM version 1] )
3951 AC_MSG_WARN([libprojectM library not found])
3956 dnl AtmoLight (homemade Philips Ambilight clone)
3959 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3960 (default enabled)]),, [enable_atmo="yes"])
3961 AS_IF([test "${enable_atmo}" != no], [
3962 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3964 VLC_ADD_PLUGIN([atmo])
3970 dnl Bonjour services discovery
3971 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3974 dnl libudev services discovery
3975 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3978 dnl MTP devices services discovery
3979 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3985 [ --enable-lirc lirc support (default disabled)])
3986 if test "${enable_lirc}" = "yes"
3988 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3989 if test "${have_lirc}" = "true"
3991 VLC_ADD_PLUGIN([lirc])
3992 VLC_ADD_LIBS([lirc],[-llirc_client])
3996 EXTEND_HELP_STRING([Misc options:])
4001 AC_ARG_ENABLE(libgcrypt,
4002 [ --disable-libgcrypt gcrypt support (default enabled)])
4003 AS_IF([test "${enable_libgcrypt}" != "no"], [
4004 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4005 libgcrypt-config --version >/dev/null || \
4006 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4007 AC_CHECK_LIB(gcrypt, gcry_control, [
4008 have_libgcrypt="yes"
4009 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4010 GCRYPT_LIBS="`libgcrypt-config --libs`"
4012 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4013 ], [`libgcrypt-config --libs`])
4015 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4016 ], [#include <gcrypt.h>]
4020 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4021 AS_IF([test "${have_libgcrypt}" = "yes"],[
4022 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4025 AC_SUBST(GCRYPT_CFLAGS)
4026 AC_SUBST(GCRYPT_LIBS)
4027 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4032 AC_ARG_ENABLE(gnutls,
4033 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
4035 AS_IF([test "${have_libgcrypt}" != "yes"], [
4036 AS_IF([test "${enable_gnutls}" = "yes"], [
4037 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
4041 AS_IF([test "${enable_gnutls}" != "no"], [
4042 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
4043 VLC_ADD_PLUGIN([gnutls])
4044 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4045 AS_IF([test "${SYS}" = "mingw32"], [
4046 dnl pkg-config --libs gnutls omits these
4047 VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
4049 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4050 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4051 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4053 AS_IF([test "${enable_gnutls}" = "yes"], [
4054 AC_MSG_ERROR([GNU TLS not present or too old (version 2.0.0 required)])
4061 dnl RemoteOSD plugin (VNC client as video filter)
4063 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
4064 AS_IF([test "${have_libgcrypt}" = "yes"],[
4066 VLC_ADD_PLUGIN([remoteosd])
4067 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4068 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4071 AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4078 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4079 AS_IF([test "${have_libgcrypt}" = "yes"], [
4081 VLC_ADD_PLUGIN([stream_out_raop])
4082 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4083 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4086 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4091 dnl OSSO (Maemo screen blanking) plugin
4093 PKG_ENABLE_MODULES_VLC([OSSO_SCREENSAVER], [], [libosso], [Maemo support], [auto])
4095 AS_IF([test -f "/etc/maemo_version"], [
4096 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4101 dnl update checking system
4103 AC_ARG_ENABLE(update-check,
4104 [ --enable-update-check update checking system (default disabled)])
4105 if test "${enable_update_check}" = "yes"
4107 if test "${have_libgcrypt}" != "yes"
4109 AC_MSG_ERROR([libgcrypt is required for update checking system])
4111 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4112 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4113 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4120 [ --with-sqlite=PATH sqlite path linking])
4121 if test "${SYS}" != "darwin"; then
4122 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4124 if test "${enable_sqlite}" != "no"
4126 AC_CHECK_HEADERS(sqlite3.h, [
4127 VLC_ADD_PLUGIN([sqlite])
4128 if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4129 AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4130 real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4131 if test -z "${real_sqlite}"
4133 dnl The given directory can't be found
4135 AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4137 VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4138 VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4141 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4143 AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4144 AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4147 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4152 AC_ARG_ENABLE(media-library, [--enable-media-library media library (default disabled)])
4153 if test "${enable_media_library}" = "yes"; then
4154 if test "${enable_sqlite}" != "yes"; then
4155 AC_MSG_ERROR([SQLite module is required for the media library])
4157 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4158 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4159 VLC_ADD_PLUGIN([media_library])
4162 AM_CONDITIONAL([ENABLE_MEDIA_LIBRARY], [test "${enable_media_library}" = "yes"])
4165 dnl Endianness check
4168 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4169 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4173 AC_SUBST(DEFS_BIGENDIAN)
4176 dnl Where to install KDE solid .desktop
4178 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4179 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4180 KDE4_CONFIG="kde4-config"
4183 AC_ARG_WITH(kde-solid,
4184 AS_HELP_STRING([--with-kde-solid=PATH],
4185 [KDE Solid actions directory (auto)]),, [
4187 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4188 with_kde_solid="yes"
4192 AS_IF([test "${with_kde_solid}" != "no"], [
4193 AS_IF([test "${with_kde_solid}" = "yes"], [
4194 kde4datadir="`${KDE4_CONFIG} --install data`"
4195 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4196 soliddatadir="${kde4datadir}/solid/actions"
4198 soliddatadir="${with_kde_solid}"
4201 AC_SUBST(soliddatadir)
4202 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4205 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4208 AC_ARG_ENABLE(loader,
4209 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4210 (default disabled)]))
4211 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4212 AS_IF([test "${enable_loader}" = "yes"],
4213 [ VLC_ADD_PLUGIN([dmo])
4214 VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/libs/loader])
4215 VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4216 VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4217 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4220 EXTEND_HELP_STRING([Components:])
4226 [ --enable-vlc build the VLC media player (default enabled)])
4227 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4231 dnl Plugin and builtin checks
4235 dnl Automagically disable plugins if there is no system support for
4236 dnl dynamically loadable files (.so, .dll, .dylib).
4237 dnl don't forget vlc-win32 still can load .dll as plugins
4238 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
4239 AC_MSG_WARN([*** No plugin support! Building statically! ***])
4243 AS_IF([test "${plugin_support}" != "no"], [
4244 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
4248 dnl Pic and shared libvlc stuff
4250 AS_IF([test "${SYS}" = "mingw32"], [
4251 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
4252 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
4256 dnl Stuff used by the program
4258 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4259 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4260 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4261 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4262 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4263 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4264 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4265 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4266 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4267 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4268 AC_SUBST(COPYRIGHT_MESSAGE)
4269 AC_SUBST(VERSION_MESSAGE)
4270 AC_SUBST(VERSION_MAJOR)
4271 AC_SUBST(VERSION_MINOR)
4272 AC_SUBST(VERSION_REVISION)
4273 AC_SUBST(VERSION_EXTRA)
4274 AC_SUBST(COPYRIGHT_YEARS)
4275 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4276 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4277 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4278 dnl Win32 need s a numerical version_extra.
4279 case $( echo ${VERSION_EXTRA}|wc -m ) in
4280 "1") VERSION_EXTRA_RC="0";;
4281 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
4282 *) VERSION_EXTRA_RC="99"
4284 AC_SUBST(VERSION_EXTRA_RC)
4286 dnl Handle substvars that use $(top_srcdir)
4288 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4289 AC_SUBST(VLC_CONFIG)
4290 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4298 dnl Sort the modules list
4300 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4303 dnl Create the vlc-config script
4305 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
4308 dnl Configuration is finished
4318 AC_SUBST(WINE_SDK_PATH)
4320 AC_SUBST(AM_CPPFLAGS)
4321 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4322 AC_SUBST(FILE_LIBVLCCORE_DLL)
4323 AC_SUBST(FILE_LIBVLC_DLL)
4325 dnl Create vlc-config.in
4326 VLC_OUTPUT_VLC_CONFIG_IN
4331 libs/loader/Makefile
4343 modules/access/Makefile
4344 modules/access/bd/Makefile
4345 modules/access/dshow/Makefile
4346 modules/access/mms/Makefile
4347 modules/access/rtp/Makefile
4348 modules/access/rtsp/Makefile
4349 modules/access/vcd/Makefile
4350 modules/access/vcdx/Makefile
4351 modules/access/screen/Makefile
4352 modules/access/zip/Makefile
4353 modules/access_output/Makefile
4354 modules/audio_filter/Makefile
4355 modules/audio_mixer/Makefile
4356 modules/audio_output/Makefile
4357 modules/codec/Makefile
4358 modules/codec/avcodec/Makefile
4359 modules/codec/dmo/Makefile
4360 modules/codec/omxil/Makefile
4361 modules/codec/shine/Makefile
4362 modules/codec/spudec/Makefile
4363 modules/codec/wmafixed/Makefile
4364 modules/control/Makefile
4365 modules/control/dbus/Makefile
4366 modules/control/globalhotkeys/Makefile
4367 modules/demux/Makefile
4368 modules/demux/asf/Makefile
4369 modules/demux/avformat/Makefile
4370 modules/demux/avi/Makefile
4371 modules/demux/mkv/Makefile
4372 modules/demux/mp4/Makefile
4373 modules/demux/mpeg/Makefile
4374 modules/demux/playlist/Makefile
4375 modules/gui/Makefile
4376 modules/gui/macosx/Makefile
4377 modules/gui/hildon/Makefile
4378 modules/gui/minimal_macosx/Makefile
4379 modules/gui/macosx_dialog_provider/Makefile
4380 modules/gui/qt4/Makefile
4381 modules/gui/skins2/Makefile
4382 modules/lua/Makefile
4383 modules/meta_engine/Makefile
4384 modules/misc/Makefile
4385 modules/misc/dummy/Makefile
4386 modules/misc/notify/Makefile
4387 modules/misc/playlist/Makefile
4388 modules/misc/osd/Makefile
4389 modules/misc/stats/Makefile
4390 modules/media_library/Makefile
4391 modules/mux/Makefile
4392 modules/mux/mpeg/Makefile
4393 modules/packetizer/Makefile
4394 modules/services_discovery/Makefile
4395 modules/stream_filter/Makefile
4396 modules/stream_out/Makefile
4397 modules/stream_out/transcode/Makefile
4398 modules/video_chroma/Makefile
4399 modules/video_filter/Makefile
4400 modules/video_filter/dynamicoverlay/Makefile
4401 modules/video_output/Makefile
4402 modules/video_output/msw/Makefile
4403 modules/visualization/Makefile
4404 modules/visualization/visual/Makefile
4405 modules/mmx/Makefile
4406 modules/mmxext/Makefile
4407 modules/3dnow/Makefile
4408 modules/sse2/Makefile
4409 modules/altivec/Makefile
4410 modules/arm_neon/Makefile
4413 AM_COND_IF([HAVE_WIN32], [
4415 extras/package/win32/spad.nsi
4416 extras/package/win32/vlc.win32.nsi
4420 AM_COND_IF([HAVE_DARWIN], [
4422 extras/package/macosx/Info.plist
4423 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4427 dnl Generate makefiles
4430 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4431 # not provided with the source
4432 ${SHELL} ./config.status --file=vlc-config
4433 chmod 0755 vlc-config
4435 /bin/echo -n "Enabled modules: "
4436 ./vlc-config --list plugin
4438 dnl Do we have to use make or gmake ?
4439 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4440 dnl Shortcut to nice compile message
4442 if test -n $SHELL; then
4443 SHELL=${CONFIG_SHELL-/bin/sh}
4445 echo '#! '$SHELL >compile
4446 echo rm -f .error\$\$ >>compile
4447 echo ERROR=0 >>compile
4448 echo export PATH=$PATH LANG=C >>compile
4449 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4450 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4451 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4452 echo rm -f .error\$\$ >>compile
4453 echo exit \$ERROR >>compile
4457 libvlc configuration
4458 --------------------
4459 version : ${VERSION}
4461 architecture : ${ARCH}
4463 test "${enable_optimizations}" != "no" && printf ${enable_optimizations}
4465 if test "${enable_vlc}" != "no"; then
4466 echo "vlc aliases :${ALIASES}"
4468 echo "build vlc executable : no"
4471 You can tune the compiler flags in vlc-config.
4472 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."