1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
5 AC_INIT(vlc, 1.2.0-pre2)
15 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
17 COPYRIGHT_YEARS="1996-2011"
19 AC_CONFIG_SRCDIR(src/libvlc.c)
20 AC_CONFIG_AUX_DIR(autotools)
21 AC_CONFIG_MACRO_DIR(m4)
22 AC_CONFIG_LIBOBJ_DIR(compat)
25 AC_PRESERVE_HELP_ORDER
27 AM_INIT_AUTOMAKE(tar-ustar color-tests)
28 AM_CONFIG_HEADER(config.h)
30 # Disable with "./configure --disable-silent-rules" or "make V=1"
31 AM_SILENT_RULES([yes])
33 dnl Too many people are not aware of maintainer mode:
34 dnl If you want to use it, you definitely know what you are doing, so
35 dnl you can specify "--disable-maintainer-mode". But if you want the default
36 dnl automake behavior, you've likely never heard of maintainer mode, so we
37 dnl can't expect you to enable it manually.
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39 [enable_maintainer_mode="yes"])
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
49 vlclibdir="\${libdir}/\${PKGDIR}"
56 AC_USE_SYSTEM_EXTENSIONS
57 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
58 AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
59 AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
60 AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
61 AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
67 _AM_DEPENDENCIES([OBJC])
73 AC_ARG_VAR([DESKTOP_FILE_VALIDATE], [Validator for desktop entry files])
74 AC_CHECK_PROGS(DESKTOP_FILE_VALIDATE, [${DESKTOP_FILE_VALIDATE} desktop-file-validate], :)
76 dnl Check for compiler properties
86 dnl Extend the --help string at the current spot.
87 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
89 dnl Allow binary package maintainer to pass a custom string to avoid
91 AC_ARG_WITH(binary-version,
92 AS_HELP_STRING([--with-binary-version=STRING],
93 [To avoid plugins cache problem between binary version]),[],[])
94 AS_IF([test -n "${with_binary_version}"],[
95 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
96 [Binary specific version])
100 dnl Check the operating system
112 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
113 VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
117 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
120 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
121 CPPFLAGS="${CPPFLAGS_save}"
122 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
123 LDFLAGS="${LDFLAGS_save}"
126 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
127 CPPFLAGS="${CPPFLAGS_save}"
128 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
129 LDFLAGS="${LDFLAGS_save}"
135 dnl Force gcc "-arch" flag
139 ARCH_flag="-arch i386"
142 ARCH_flag="-arch ppc64"
145 ARCH_flag="-arch ppc"
148 ARCH_flag="-arch x86_64"
153 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
154 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
155 CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
156 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
157 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
158 VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
159 VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
160 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
161 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
162 VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
165 dnl Check for Mac OS X SDK settings
167 AC_ARG_WITH(macosx-sdk,
168 [AS_HELP_STRING([--with-macosx-sdk=DIR],
169 [compile using the SDK in DIR])])
170 test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.5.sdk
171 ! test -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found])
172 CPP="${CPP} -isysroot ${with_macosx_sdk}"
173 CC="${CC} -isysroot ${with_macosx_sdk}"
174 CXX="${CXX} -isysroot ${with_macosx_sdk}"
175 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
176 LD="${LD} -syslibroot ${with_macosx_sdk}"
177 AC_ARG_WITH(macosx-version-min,
178 [AS_HELP_STRING([--with-macosx-version-min=VERSION],
179 [compile for MacOS X VERSION and above])])
180 if test "${with_macosx_version_min}" != "" ; then
181 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
182 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
183 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
184 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
185 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
186 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
187 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
188 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
189 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
190 export MACOSX_DEPLOYMENT_TARGET
193 *mingw32* | *cygwin* | *wince* | *mingwce*)
194 AC_CHECK_TOOL(WINDRES, windres, :)
195 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
196 AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows XP SP2 APIs.])
197 AC_DEFINE([_WIN32_IE], 0x0600, [Define to '0x0600' for IE 6.0 (and shell) APIs.])
200 *wince* | *mingwce* | *mingw32ce*)
202 dnl Sadly CeGCC still needs non-wince macros
208 dnl Check if we are using the mno-cygwin mode in which case we are
209 dnl actually dealing with a mingw32 compiler.
214 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
218 if test "${SYS}" = "mingw32"; then
219 VLC_ADD_LIBS([libvlccore],[-lnetapi32 -lwinmm])
220 VLC_ADD_LDFLAGS([vlc],[-mwindows])
221 VLC_ADD_LIBS([win32text],[-lgdi32])
222 VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm])
223 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
224 ac_default_prefix="`pwd`/_win32"
225 DESTDIR="`pwd`/_win32/"
228 dnl NSIS Installer prefix and WIN64
233 PROGRAMFILES="PROGRAMFILES64"
236 PROGRAMFILES="PROGRAMFILES"
239 AC_SUBST(PROGRAMFILES)
242 if test "${SYS}" = "mingwce"; then
243 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
244 AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
245 ac_default_prefix="`pwd`/_wince"
246 DESTDIR="`pwd`/_wince/"
263 LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
269 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
270 AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux")
271 AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2")
272 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
273 AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1")
274 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
275 AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
278 dnl Check for the contrib directory
281 [AS_HELP_STRING([--with-contrib[=DIR]],
282 [search for 3rd party libraries in DIR/include and DIR/lib])
284 AC_MSG_CHECKING([for 3rd party libraries path])
285 AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
286 CONTRIB_DIR="${srcdir}/contrib/${host}"
287 AS_IF([test ! -d "${CONTRIB_DIR}"], [
288 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
289 CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
290 AS_IF([test ! -d "${CONTRIB_DIR}"], [
291 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
292 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
293 AS_IF([test ! -d "${CONTRIB_DIR}"], [
294 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
295 CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
296 AS_IF([test ! -d "${CONTRIB_DIR}"], [
297 echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
299 AC_MSG_RESULT([not found])
305 AS_IF([test "${with_contrib}" != "no"], [
306 CONTRIB_DIR="${with_contrib}"
309 AC_MSG_RESULT([disabled])
312 AS_IF([test -n "${CONTRIB_DIR}"], [
313 AS_IF([test -d "${CONTRIB_DIR}/lib"],[
314 CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
316 echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
318 AC_MSG_RESULT([not usable])
322 AS_IF([test -n "${CONTRIB_DIR}"], [
323 AC_MSG_RESULT([${CONTRIB_DIR}])
324 export PATH=${CONTRIB_DIR}/bin:$PATH
325 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
326 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
327 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
328 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
329 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
330 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
331 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
332 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
333 AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
334 export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
336 export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
338 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
339 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
341 AS_IF([test "${SYS}" = "darwin"], [
342 export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
343 export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
346 AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
347 AC_MSG_ERROR([Third party libraries not found!])
350 AC_SUBST(CONTRIB_DIR)
353 dnl Sadly autoconf does not think about testing foo.exe when ask to test
354 dnl for program foo on win32
356 case "${build_os}" in
358 ac_executable_extensions=".exe"
364 dnl Android is linux, but a bit different
365 AS_IF([test "$SYS" = linux],[
366 AC_MSG_CHECKING([for an Android system])
367 AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
368 [[#ifndef __ANDROID__
379 AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
383 dnl It's very bad, but our former custom system was worst
387 dnl override platform specific check for dependent libraries
388 dnl otherwise libtool linking of shared libraries will
389 dnl fail on anything other than pass_all.
390 AC_CACHE_VAL(lt_cv_deplibs_check_method,
391 [lt_cv_deplibs_check_method=pass_all])
393 LT_INIT([dlopen win32-dll shared disable-static])
395 LT_LANG([Windows Resource])
397 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
398 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
400 lt_cv_deplibs_check_method=pass_all
402 AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
403 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
409 AM_GNU_GETTEXT_VERSION([0.18.1])
410 AM_GNU_GETTEXT([external])
417 dnl Check for broken versions of mingw-runtime compatability library
418 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
419 AC_MSG_CHECKING(for broken mingw-runtime)
420 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
422 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
423 #ifndef __MINGW64_VERSION_MAJOR
424 # error Attempting to use mingw-runtime with broken vsnprintf support
430 AC_MSG_RESULT([present])
431 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
433 dnl force use of mingw provided c99 *printf over msvcrt
434 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
435 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
438 dnl Check for the need to include the mingwex lib for mingw32
439 if test "${SYS}" = "mingw32" ; then
440 AC_CHECK_LIB(mingwex,opendir,
441 AC_CHECK_LIB(mingw32,opendir,,
442 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
446 dnl Check for fnative-struct or mms-bitfields support for mingw32
447 if test "${SYS}" = "mingw32" ; then
448 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
449 [ac_cv_c_mms_bitfields],
450 [CFLAGS="${CFLAGS_save} -mms-bitfields"
451 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
452 if test "${ac_cv_c_mms_bitfields}" != "no"; then
453 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
454 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
456 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
457 [ac_cv_c_fnative_struct],
458 [CFLAGS="${CFLAGS_save} -fnative-struct"
459 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
460 if test "${ac_cv_c_fnative_struct}" != "no"; then
461 CFLAGS_save="${CFLAGS_save} -fnative-struct";
462 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
466 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
470 dnl Buggy glibc prevention. Purposedly not cached.
471 dnl See sourceware.org bugs 5058 and 5443.
472 dnl Ubuntu alone has 20 bug numbers for this...
474 AC_MSG_CHECKING(for buggy GNU/libc versions)
475 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
477 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
478 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
479 # error GNU/libc with dcgettext killer bug!
482 AC_MSG_RESULT([not present])
484 AC_MSG_RESULT([found])
485 AS_IF([test "x${enable_nls}" != "xno"], [
486 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
487 work-around for this. Check with your distribution vendor on how to update the
488 glibc run-time. Alternatively, build with --disable-nls.])
490 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
494 dnl Plugin compilation stuff
498 dnl Check for system libs needed
501 dnl Check for usual libc functions
502 AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
503 AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale])
504 AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
505 AC_CHECK_FUNCS(fdatasync,,
506 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
509 # Windows CE does not have strcoll()
512 dnl Check for non-standard system calls
513 AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
515 AH_BOTTOM([#include <vlc_fixups.h>])
518 AC_SEARCH_LIBS(poll, [poll], [
519 AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS has poll().])
521 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "os2"], [
522 AC_MSG_ERROR([poll() is required.])
526 dnl Check for struct pollfd
527 AC_CHECK_TYPES([struct pollfd],,,
528 [#include <sys/types.h>
531 #elif defined (WIN32)
532 # include <winsock2.h>
536 dnl Check for connect
539 AC_SEARCH_LIBS(connect, [socket], [
540 AS_IF([test "$ac_cv_search_connect" != "none required"], [
541 SOCKET_LIBS="$ac_cv_search_connect"
544 AS_IF([test "${SYS}" = "mingw32"], [
545 SOCKET_LIBS="-lws2_32"
547 AS_IF([test "${SYS}" = "mingwce"], [
552 AS_IF([test -n "$SOCKET_LIBS"], [
553 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}])
555 AC_SUBST(SOCKET_LIBS)
557 dnl Check for socklen_t
558 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
559 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
560 ac_cv_type_socklen_t,
561 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
562 [#include <sys/types.h>
564 # include <winsock2.h>
565 # include <ws2tcpip.h>
567 # include <sys/socket.h>
568 #endif]], [[socklen_t len; len = 0;]])],
569 ac_cv_type_socklen_t=yes,
570 ac_cv_type_socklen_t=no)])
571 AS_IF([test "$ac_cv_type_socklen_t" = no],
572 [AC_DEFINE(socklen_t, int)])
574 dnl Check for struct sockaddr_storage
575 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
576 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
577 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
579 [#include <sys/types.h>
580 #if defined( UNDER_CE )
581 # include <winsock2.h>
582 #elif defined( WIN32 )
583 # include <winsock2.h>
585 # include <sys/socket.h>
586 #endif], [struct sockaddr_storage addr;],
587 ac_cv_struct_sockaddr_storage=yes,
588 ac_cv_struct_sockaddr_storage=no)])
589 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
590 AC_DEFINE(sockaddr_storage, sockaddr)
591 AC_DEFINE(ss_family, sa_family)
594 dnl getaddrinfo, getnameinfo and gai_strerror check
595 dnl -lnsl and -lsocket are needed on Solaris;
596 dnl we purposedly make the test fail on Windows
598 AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
601 dnl FreeBSD has a gnugetopt library for this:
603 AC_CHECK_FUNC(getopt_long,, [
604 AC_CHECK_LIB([gnugetopt],[getopt_long], [
605 GNUGETOPT_LIBS="-lgnugetopt"
608 AC_SUBST(GNUGETOPT_LIBS)
611 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264 hqdn3d],[-lm])
618 AC_CHECK_LIB(m,lrintf, [
619 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
620 VLC_ADD_LIBS([skins2],[-lm])
623 dnl Check for dynamic plugins
625 have_dynamic_objects="no"
627 AC_SEARCH_LIBS(dlopen, [dl svld], [
628 AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
629 LIBDL="$ac_cv_search_dlopen"
631 have_dynamic_objects="yes"
636 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
638 have_dynamic_objects="yes" #assume we can use shared objects
641 test "${enable_shared}" = "no" && have_dynamic_objects=no
643 AS_IF([test "${have_dynamic_objects}" != "no"], [
644 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
645 [Define to 1 if dynamic plugins are supported.])
647 dnl Clear $LIBDL so as not to break linking
650 AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
653 VLC_ADD_LIBS([realvideo lua],[$LIBDL])
655 dnl Check for thread library
656 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
657 dnl Check for pthreads - borrowed from XMMS
659 if test "${THREAD_LIB}" = "error"; then
660 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
662 if test "${THREAD_LIB}" = "error"; then
663 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
665 if test "${THREAD_LIB}" = "error"; then
666 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
668 if test "${THREAD_LIB}" = "error"; then
669 AC_CHECK_FUNCS(pthread_mutex_lock)
673 VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
675 AC_CHECK_LIB(rt, clock_nanosleep, [
676 VLC_ADD_LIBS([libvlccore],[-lrt])
678 AC_CHECK_FUNC(nanosleep,,[
679 AC_CHECK_LIB(rt,nanosleep, [
680 VLC_ADD_LIBS([libvlccore],[-lrt])
682 AC_CHECK_LIB(posix4,nanosleep, [
683 VLC_ADD_LIBS([libvlccore],[-lposix4])
688 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
690 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
692 dnl Check for misc headers
693 AC_MSG_CHECKING(for strncasecmp in strings.h)
694 AC_EGREP_HEADER(strncasecmp,strings.h,[
696 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
697 Define if <strings.h> defines strncasecmp.)],[
700 dnl Check for headers
701 AC_CHECK_HEADERS([search.h])
702 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
703 AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
704 AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h])
705 AC_CHECK_HEADERS([net/if.h], [], [],
707 #include <sys/types.h>
708 #include <sys/socket.h>
710 AC_CHECK_HEADERS([sys/mount.h], [], [],
712 #include <sys/param.h>
715 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
716 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
717 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
718 AC_CHECK_HEADERS(syslog.h)
719 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
721 dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
722 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
723 AC_CHECK_TYPE(ssize_t,, [
724 AC_DEFINE(ssize_t, int)
727 dnl Check for threads library
728 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
729 AC_CHECK_HEADERS(pthread.h)
730 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
732 dnl It seems that autoconf detects pkg-config only during the first
733 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
734 dnl it is nested within a conditional block, so it was not working right.
735 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
736 AC_ARG_VAR(PKG_CONFIG_PATH,
737 [Paths where to find .pc not at the default location])
738 PKG_PROG_PKG_CONFIG()
740 dnl On some OS we need static linking
741 AS_IF([test -n "${PKG_CONFIG}" ],[
742 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" -o "${SYS}" = "os2" ],[
743 PKG_CONFIG="${PKG_CONFIG} --static"
749 dnl Check for zlib.h and -lz along with system -lminizip if available
751 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
752 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
753 if test "${have_zlib}" = "yes"
755 VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
756 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
757 AC_CHECK_HEADERS([unzip.h], [
759 MINIZIP_LIBS="-lminizip -lz"
762 MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
763 MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
766 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
767 VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
769 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
772 dnl Manual switch for UTF-8
773 AC_ARG_ENABLE(non-utf8,
774 [AS_HELP_STRING([--enable-non-utf8],
775 [support legacy non-UTF-8 systems (default disabled)])],, [
776 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "os2"], [
780 AS_IF([test "${enable_non_utf8}" != "no"], [
781 AC_DEFINE([ASSUME_UTF8], [1],
782 [Define to 1 if the operating system uses UTF-8 internally])
788 [AS_HELP_STRING([--enable-dbus],
789 [compile D-Bus message bus support (default enabled)])])
792 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
795 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0.0],
796 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
797 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
798 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
799 dnl Check for dbus control interface
800 AC_ARG_ENABLE(dbus-control,
801 [AS_HELP_STRING([--disable-dbus-control],
802 [D-Bus control interface (default enabled)])])
803 if test "${enable_dbus_control}" != "no"
805 VLC_ADD_PLUGIN([dbus])
806 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
807 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
809 dnl Check for Telepathy
810 AC_ARG_ENABLE(telepathy,
811 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
812 if test "${enable_telepathy}" != "no"; then
813 VLC_ADD_PLUGIN([telepathy])
814 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
815 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
817 dnl Power Management Inhibiter
818 VLC_ADD_PLUGIN([inhibit])
819 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
820 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
822 [AC_MSG_ERROR([${DBUS_PKG_ERRORS}.])]
828 dnl Check for ntohl, etc.
829 AC_CACHE_CHECK([for ntohl in sys/param.h],
830 [ac_cv_c_ntohl_sys_param_h],
831 [CFLAGS="${CFLAGS_save} -Wall -Werror"
832 AC_TRY_COMPILE([#include <sys/param.h>],
833 [int meuh; ntohl(meuh);],
834 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
835 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
836 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
839 EXTEND_HELP_STRING([Optimization options:])
842 dnl Compiler warnings
845 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])
846 RDC_PROG_CC_FLAGS([-pipe])
848 RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
855 [AS_HELP_STRING([--enable-debug],
856 [build with run-time assertions (default disabled)])],,
859 [Define to 1 if debug code should NOT be compiled])
860 AS_IF([test "${enable_debug}" != "no"], [
861 AC_CHECK_HEADERS([valgrind/valgrind.h])
870 [AS_HELP_STRING([--enable-gprof],[profile with gprof (default disabled)])],,
872 AS_IF([test "${enable_gprof}" != "no"], [
873 CFLAGS="${CFLAGS} -pg"
874 CXXFLAGS="${CXXFLAGS} -pg"
875 OBJCFLAGS="${OBJCFLAGS} -pg"
876 LDFLAGS="${LDFLAGS} -pg"
880 [AS_HELP_STRING([--enable-cprof],[profile with cprof (default disabled)])],,
882 AS_IF([test "${enable_gprof}" != "no"], [
883 CFLAGS="${CFLAGS} -finstrument-functions"
884 CXXFLAGS="${CXXFLAGS} -finstrument-functions"
885 OBJCFLAGS="${OBJCFLAGS} -finstrument-functions"
886 LDFLAGS="${LDFLAGS} -finstrument-functions"
892 AC_ARG_ENABLE(coverage,
893 [AS_HELP_STRING([--enable-coverage],
894 [build for test coverage (default disabled)])],,
895 [enable_coverage="no"])
896 AS_IF([test "${enable_coverage}" != "no"], [
897 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
898 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
899 LDFLAGS="-lgcov ${LDFLAGS}"
904 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
905 AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
906 [ac_cv_c_visibility_hidden], [
907 CFLAGS="${CFLAGS_save} -fvisibility=hidden"
908 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
909 ac_cv_c_visibility_hidden=yes
911 ac_cv_c_visibility_hidden=no
914 AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
916 CFLAGS="${CFLAGS} -fvisibility=hidden"
917 CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
918 OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
925 dnl Enable/disable optimizations
927 AC_ARG_ENABLE(optimizations,
928 [AS_HELP_STRING([--disable-optimizations],
929 [disable compiler optimizations (default enabled)])],,
930 [enable_optimizations="yes"])
932 dnl Check for various optimization flags
933 AS_IF([test "${enable_optimizations}" != "no"], [
936 dnl -O4 and -O3 only in production builds
937 AS_IF([test "{enable_debug}" = "no"], [
938 AC_CACHE_CHECK([if $CC accepts -O4], [ac_cv_c_o4], [
939 CFLAGS="${CFLAGS_save} -O4"
940 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
946 AS_IF([test "${ac_cv_c_o4}" != "no"], [
949 AC_CACHE_CHECK([if $CC accepts -O3], [ac_cv_c_o3], [
950 CFLAGS="${CFLAGS_save} -O3"
951 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
957 AS_IF([test "${ac_cv_c_o3}" != "no"], [
964 CFLAGS="${CFLAGS} ${C_O}"
965 CXXFLAGS="${CXXFLAGS} ${C_O}"
966 OBJCFLAGS="${OBJCFLAGS} ${C_O}"
969 dnl Check for -ffast-math
970 AC_CACHE_CHECK([if $CC accepts -ffast-math], [ac_cv_c_fast_math], [
971 CFLAGS="${CFLAGS_save} -ffast-math"
972 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
973 ac_cv_c_fast_math=yes
978 AS_IF([test "${ac_cv_c_fast_math}" != "no"], [
980 CFLAGS="${CFLAGS} -ffast-math"
981 CXXFLAGS="${CXXFLAGS} -ffast-math"
982 OBJCFLAGS="${OBJCFLAGS} -ffast-math"
986 dnl Check for -funroll-loops
987 AC_CACHE_CHECK([if $CC accepts -funroll-loops], [ac_cv_c_unroll_loops], [
988 CFLAGS="${CFLAGS_save} -funroll-loops"
989 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
990 ac_cv_c_unroll_loops=yes
992 ac_cv_c_unroll_loops=no
995 AS_IF([test "${ac_cv_c_unroll_loops}" != "no"], [
997 CFLAGS="${CFLAGS} -funroll-loops"
998 CXXFLAGS="${CXXFLAGS} -funroll-loops"
999 OBJCFLAGS="${OBJCFLAGS} -funroll-loops"
1003 AS_IF([test "$enable_debug" = "no"], [
1004 dnl Check for -fomit-frame-pointer
1005 AC_CACHE_CHECK([if $CC accepts -fomit-frame-pointer],
1006 [ac_cv_c_omit_frame_pointer], [
1007 CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1008 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1009 ac_cv_c_omit_frame_pointer=yes
1011 ac_cv_c_omit_frame_pointer=no
1014 AS_IF([test "${ac_cv_c_omit_frame_pointer}" != "no"], [
1016 CFLAGS="${CFLAGS} -fomit-frame-pointer"
1017 CXXFLAGS="${CXXFLAGS} -fomit-frame-pointer"
1018 OBJCFLAGS="${OBJCFLAGS} -fomit-frame-pointer"
1024 dnl Check for Darwin plugin linking flags
1025 AS_IF([test "${SYS}" = "darwin"], [
1026 AC_CACHE_CHECK([if $CC accepts -bundle -undefined error],
1027 [ac_cv_ld_darwin], [
1028 CFLAGS="${CFLAGS_save} -bundle -undefined error"
1029 AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
1035 AS_IF([test "${ac_cv_ld_darwin}" != "no"], [
1036 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1040 dnl Checks for __attribute__(aligned()) directive
1041 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1042 [ac_cv_c_attribute_aligned],
1043 [ac_cv_c_attribute_aligned=0
1044 CFLAGS="${CFLAGS_save} -Werror"
1045 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1047 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1048 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1050 CFLAGS="${CFLAGS_save}"])
1051 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1052 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1053 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1056 dnl Check for __attribute__((packed))
1057 AC_CACHE_CHECK([for __attribute__((packed))],
1058 [ac_cv_c_attribute_packed],
1059 [ac_cv_c_attribute_packed=no
1060 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1061 [ac_cv_c_attribute_packed=yes])])
1062 if test "${ac_cv_c_attribute_packed}" != "no"; then
1063 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1069 case "${host_cpu}" in
1078 dnl Check for backtrace() support
1079 AC_CHECK_HEADERS(execinfo.h)
1080 AC_CHECK_FUNCS(backtrace)
1085 ALIASES="${ALIASES} cvlc rvlc"
1088 dnl Some plugins aren't useful on some platforms
1090 if test "${SYS}" = "os2"; then
1091 VLC_ADD_PLUGIN([dynamicoverlay])
1092 elif test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1093 VLC_ADD_PLUGIN([dynamicoverlay access_shm])
1094 elif test "${SYS}" != "mingwce"; then
1095 VLC_ADD_PLUGIN([access_smb dmo globalhotkeys])
1096 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1098 if test "${SYS}" = "darwin"; then
1099 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
1103 dnl Accelerated modules
1106 dnl Check for fully working MMX intrinsics
1107 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1108 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1110 [AS_HELP_STRING([--disable-mmx],
1111 [disable MMX optimizations (default auto)])],,[
1112 case "${host_cpu}" in
1123 AS_IF([test "${enable_mmx}" != "no"], [
1126 AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [
1127 CFLAGS="${CFLAGS_save} -O -mmmx"
1128 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1129 [#include <mmintrin.h>
1131 uint64_t frobzor;]], [
1133 a = b = c = (__m64)frobzor;
1134 a = _mm_slli_pi16(a, 3);
1135 a = _mm_adds_pi16(a, b);
1136 c = _mm_srli_pi16(c, 8);
1137 c = _mm_slli_pi16(c, 3);
1138 b = _mm_adds_pi16(b, c);
1139 a = _mm_unpacklo_pi8(a, b);
1140 frobzor = (uint64_t)a;]])], [
1141 ac_cv_c_mmx_intrinsics=yes
1143 ac_cv_c_mmx_intrinsics=no
1145 CFLAGS="${CFLAGS_save}"
1147 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1148 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1149 [Define to 1 if MMX intrinsics are available.])
1152 AC_CACHE_CHECK([if $CC groks MMX inline assembly], [ac_cv_mmx_inline], [
1153 CFLAGS="${CFLAGS_save} -mmmx"
1154 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1156 asm volatile("packuswb %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1159 ac_cv_mmx_inline=yes
1163 CFLAGS="${CFLAGS_save}"
1165 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1166 AC_DEFINE(CAN_COMPILE_MMX, 1,
1167 [Define to 1 inline MMX assembly is available.])
1171 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1172 [ac_cv_mmxext_inline], [
1173 CFLAGS="${CFLAGS_save} -mmmx"
1174 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1176 asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1179 ac_cv_mmxext_inline=yes
1181 ac_cv_mmxext_inline=no
1183 CFLAGS="${CFLAGS_save}"
1185 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1186 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1187 [Define to 1 if MMX EXT inline assembly is available.])
1191 AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
1192 AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
1194 dnl Check for fully workin SSE2 intrinsics
1195 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1196 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1198 [AS_HELP_STRING([--disable-sse],
1199 [disable SSE (1-4) optimizations (default auto)])],, [
1200 case "${host_cpu}" in
1210 AS_IF([test "${enable_sse}" != "no"], [
1211 ARCH="${ARCH} sse sse2"
1213 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [
1214 CFLAGS="${CFLAGS_save} -O -msse2"
1215 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1216 [#include <emmintrin.h>
1218 uint64_t frobzor;]], [
1220 a = b = c = _mm_set1_epi64((__m64)frobzor);
1221 a = _mm_slli_epi16(a, 3);
1222 a = _mm_adds_epi16(a, b);
1223 c = _mm_srli_epi16(c, 8);
1224 c = _mm_slli_epi16(c, 3);
1225 b = _mm_adds_epi16(b, c);
1226 a = _mm_unpacklo_epi8(a, b);
1227 frobzor = (uint64_t)_mm_movepi64_pi64(a);]])], [
1228 ac_cv_c_sse2_intrinsics=yes
1230 ac_cv_c_sse2_intrinsics=no
1232 CFLAGS="${CFLAGS_save}"
1234 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1235 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1236 [Define to 1 if SSE2 intrinsics are available.])
1239 AC_CACHE_CHECK([if $CC groks SSE inline assembly], [ac_cv_sse_inline], [
1240 CFLAGS="${CFLAGS_save} -msse"
1241 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1243 asm volatile("xorps %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1246 ac_cv_sse_inline=yes
1250 CFLAGS="${CFLAGS_save}"
1252 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1253 AC_DEFINE(CAN_COMPILE_SSE, 1,
1254 [Define to 1 if SSE inline assembly is available.])
1257 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly], [ac_cv_sse2_inline], [
1258 CFLAGS="${CFLAGS_save} -msse"
1259 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1261 asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p):"xmm1", "xmm2");
1264 ac_cv_sse2_inline=yes
1266 ac_cv_sse2_inline=no
1268 CFLAGS="${CFLAGS_save}"
1270 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1271 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1272 [Define to 1 if SSE2 inline assembly is available.])
1277 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly], [ac_cv_sse3_inline], [
1278 CFLAGS="${CFLAGS_save} -msse"
1279 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1281 asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1284 ac_cv_sse3_inline=yes
1286 ac_cv_sse3_inline=no
1288 CFLAGS="${CFLAGS_save}"
1290 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1291 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1292 [Define to 1 if SSE3 inline assembly is available.]) ])
1294 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly], [ac_cv_ssse3_inline], [
1295 CFLAGS="${CFLAGS_save} -msse"
1296 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1298 asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p):"xmm0");
1301 ac_cv_ssse3_inline=yes
1303 ac_cv_ssse3_inline=no
1305 CFLAGS="${CFLAGS_save}"
1307 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1308 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1309 [Define to 1 if SSSE3 inline assembly is available.]) ])
1312 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1313 [ac_cv_sse4_1_inline], [
1314 CFLAGS="${CFLAGS_save} -msse"
1315 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1317 asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1320 ac_cv_sse4_1_inline=yes
1322 ac_cv_sse4_1_inline=no
1324 CFLAGS="${CFLAGS_save}"
1326 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1327 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1328 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1331 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1332 [ac_cv_sse4_2_inline], [
1333 CFLAGS="${CFLAGS_save} -msse"
1334 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1336 asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1339 ac_cv_sse4_2_inline=yes
1341 ac_cv_sse4_2_inline=no
1343 CFLAGS="${CFLAGS_save}"
1345 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1346 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1347 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1350 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly], [ac_cv_sse4a_inline], [
1351 CFLAGS="${CFLAGS_save} -msse"
1352 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1354 asm volatile("insertq %%xmm1,%%xmm0"::"r"(p):"xmm0", "xmm1");
1357 ac_cv_sse4a_inline=yes
1359 ac_cv_sse4a_inline=no
1361 CFLAGS="${CFLAGS_save}"
1363 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1364 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1365 [Define to 1 if SSE4A inline assembly is available.]) ])
1367 AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
1370 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
1371 CFLAGS="${CFLAGS_save} -mmmx"
1372 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
1374 asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
1377 ac_cv_3dnow_inline=yes
1379 ac_cv_3dnow_inline=no
1381 CFLAGS="${CFLAGS_save}"
1383 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1384 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1385 [Define to 1 if 3D Now! inline assembly is available.])
1388 AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
1392 [AS_HELP_STRING([--disable-neon],
1393 [disable NEON optimizations (default auto)])],, [
1394 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1396 AS_IF([test "${enable_neon}" != "no"], [
1397 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1398 CFLAGS="${CFLAGS_save} -mfpu=neon"
1401 asm volatile("vqmovun.s64 d0, q1":::"d0");
1402 asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
1405 ac_cv_neon_inline="-mfpu=neon"
1407 ac_cv_neon_inline="no"
1409 CFLAGS="${CFLAGS_save}"
1411 AS_IF([test "$ac_cv_neon_inline" != "no"], [
1412 NEON_CFLAGS="$ac_cv_neon_inline"
1413 AC_DEFINE([CAN_COMPILE_NEON], 1,
1414 [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.])
1417 ac_cv_neon_inline="no"
1419 AC_SUBST(NEON_CFLAGS)
1420 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
1423 AC_ARG_ENABLE(altivec,
1424 [AS_HELP_STRING([--disable-altivec],
1425 [disable AltiVec optimizations (default auto)])],, [
1426 AS_IF([test "${host_cpu}" = "powerpc"],
1427 [enable_altivec=yes], [enable_altivec=no])
1430 AS_IF([test "${enable_altivec}" = "yes"], [
1431 ARCH="${ARCH} altivec";
1432 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1433 [ac_cv_altivec_inline],
1434 [CFLAGS="${CFLAGS_save}"
1435 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1436 ac_cv_altivec_inline="yes",
1437 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1438 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1439 [ac_cv_altivec_inline="-Wa,-m7400"],
1440 ac_cv_altivec_inline=no)
1442 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1443 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1444 [Define to 1 if AltiVec inline assembly is available.])
1445 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1446 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1447 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1448 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1453 dnl The AltiVec C extensions
1455 dnl There are several possible cases:
1456 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1457 dnl need <altivec.h>
1458 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1459 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1460 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1461 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1462 dnl - Others: test should fail
1463 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1465 [# OS X/PPC test (gcc 4.x)
1466 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1467 AC_TRY_COMPILE([vector unsigned char foo;],
1468 [vec_ld(0, (unsigned char *)0);],
1469 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1470 [# OS X/PPC test (gcc 3.x)
1471 CFLAGS="${CFLAGS_save} -faltivec"
1472 AC_TRY_COMPILE([vector unsigned char foo;],
1473 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1474 [ac_cv_c_altivec="-faltivec"],
1475 dnl Below this are the Linux tests
1476 [# Linux/PPC test (gcc 4.x)
1477 CFLAGS="${CFLAGS_save} -maltivec"
1478 AC_TRY_COMPILE([#include <altivec.h>],
1479 [vec_ld(0, (unsigned char *)0);],
1480 [ac_cv_c_altivec="-maltivec"],
1481 [# Linux/PPC test (gcc 3.3)
1482 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1483 AC_TRY_COMPILE([#include <altivec.h>],
1484 [vec_ld(0, (unsigned char *)0);],
1486 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1487 [# Linux/PPC test (gcc 3.3)
1488 CFLAGS="${CFLAGS_save} -fvec"
1489 AC_TRY_COMPILE([#include <altivec.h>],
1490 [vec_ld(0, (unsigned char *)0);],
1491 [ac_cv_c_altivec="-fvec"],
1492 [ac_cv_c_altivec=no])
1497 CFLAGS="${CFLAGS_save}"
1499 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1500 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1503 AC_CHECK_HEADERS(altivec.h)
1504 CPPFLAGS="${CPPFLAGS_save}"
1506 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1507 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1508 [Define to 1 if C AltiVec extensions are available.])
1509 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1510 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1514 AC_CACHE_CHECK([if linker needs -framework vecLib],
1516 [LDFLAGS="${LDFLAGS} -Wl,-framework,vecLib"
1517 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1518 LDFLAGS="${LDFLAGS_save}"
1520 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1521 VLC_ADD_LIBS([libvlccore memcpyaltivec],[-Wl,-framework,vecLib])
1524 AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
1527 dnl Special arch tuning
1530 [AS_HELP_STRING([--with-tuning=ARCH],
1531 [tune compilation for an architecture (default varies)])])
1532 if test -n "${with_tuning}"; then
1533 if test "${with_tuning}" != "no"; then
1534 CFLAGS_TUNING="-mtune=${with_tuning}"
1537 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1538 CFLAGS_TUNING="-march=prescott -mtune=generic"
1539 elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
1540 CFLAGS_TUNING="-march=core2 -mtune=core2"
1541 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1542 CFLAGS_TUNING="-mtune=pentium2"
1543 elif test "${host_cpu}" = "x86_64"; then
1544 CFLAGS_TUNING="-mtune=athlon64"
1545 elif test "${host_cpu}" = "powerpc"; then
1546 CFLAGS_TUNING="-mtune=G4";
1550 dnl NOTE: this can't be cached cleanly
1551 AS_IF([test -n "${CFLAGS_TUNING}"], [
1552 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1553 CFLAGS="${CFLAGS_save} ${CFLAGS_TUNING}"
1554 AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [
1557 CFLAGS_TUNING=""; tuning="no"
1558 AS_IF([test "${with_tuning}"], [
1559 AC_MSG_ERROR([requested tuning not supported])
1562 CFLAGS="${CFLAGS_save}"
1563 AC_MSG_RESULT([$tuning])
1565 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1572 AC_ARG_ENABLE(optimize-memory,
1573 [AS_HELP_STRING([--enable-optimize-memory],
1574 [optimize memory usage over performance])])
1575 if test "${enable_optimize_memory}" = "yes"; then
1576 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1580 dnl Allow running as root (useful for people running on embedded platforms)
1582 AC_ARG_ENABLE(run-as-root,
1583 [AS_HELP_STRING([--enable-run-as-root],
1584 [allow running VLC as root (default disabled)])])
1585 AS_IF([test "${enable_run_as_root}" = "yes"],[
1586 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1587 [Define to 1 to allow running VLC as root (uid 0).])
1594 [AS_HELP_STRING([--disable-sout],
1595 [disable streaming output (default enabled)])])
1596 AS_IF([test "${enable_sout}" != "no"], [
1597 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1599 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1603 [AS_HELP_STRING([--disable-lua],
1604 [disable LUA scripting support (default enabled)])])
1605 if test "${enable_lua}" != "no"
1607 PKG_CHECK_MODULES(LUA, lua5.1,
1610 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying lua >= 5.1 instead])
1611 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1614 AC_MSG_WARN([${LUA_PKG_ERRORS}, trying manual detection instead])
1616 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1619 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1620 [LUA_LIBS="-llua5.1"],
1621 AC_CHECK_LIB( lua51 , luaL_newstate,
1622 [LUA_LIBS="-llua51"],
1623 AC_CHECK_LIB( lua , luaL_newstate,
1631 if test "x${have_lua}" = "xyes" ; then
1632 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1633 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1635 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.])
1637 AC_ARG_VAR([LUAC], [LUA byte compiler])
1638 AC_PATH_PROGS(LUAC,[${LUAC} luac], [false])
1639 AS_IF([test "${LUAC}" = "false"], [
1640 AC_MSG_ERROR([Could not find the LUA byte compiler.])
1643 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1649 AC_ARG_ENABLE(httpd,
1650 [AS_HELP_STRING([--disable-httpd],
1651 [disable the built-in HTTP server (default enabled)])])
1652 if test "${enable_httpd}" != "no"
1654 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP daemon support)
1656 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1660 dnl VideoLAN manager
1663 [AS_HELP_STRING([--disable-vlm],
1664 [disable the stream manager (default enabled)])],,
1665 [enable_vlm="${enable_sout}"])
1666 AS_IF([test "${enable_vlm}" != "no"], [
1667 AS_IF([test "${enable_sout}" = "no"], [
1668 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1670 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1672 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1679 EXTEND_HELP_STRING([Input plugins:])
1682 dnl libproxy support
1684 AC_ARG_ENABLE(libproxy,
1685 [AS_HELP_STRING([--enable-libproxy],[support libproxy (default auto)])])
1686 AS_IF([test "${enable_libproxy}" != "no"], [
1687 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1688 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1689 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1690 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1692 AS_IF([test -n "${enable_libproxy}"], [
1693 AC_MSG_ERROR([${LIBPROXY_PKG_ERRORS}.])
1701 AC_ARG_ENABLE(live555,
1702 [AS_HELP_STRING([--enable-live555],
1703 [enable RTSP input through live555 (default enabled)])])
1704 AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [
1706 CPPFLAGS_save="${CPPFLAGS}"
1707 AS_IF([test -z "${CONTRIB_DIR}"], [
1708 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1710 CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment"
1712 AS_IF([test "${SYS}" = "solaris"], [
1713 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1715 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1717 AC_CACHE_CHECK([for live555 version 1275091200 or later], [ac_cv_live555], [
1718 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
1719 [#include <liveMedia_version.hh>
1720 #if !defined (LIVEMEDIA_LIBRARY_VERSION_INT) || (LIVEMEDIA_LIBRARY_VERSION_INT < 1275091200)
1729 AS_IF([test "$ac_cv_live555" = "no"], [
1730 AC_MSG_WARN([liveMedia is missing or its installed version is too old:
1731 Version 2010.05.29 or later is required to proceed.
1732 You can get an updated one from http://www.live555.com/liveMedia .])
1733 AS_IF([test -n "${enable_live555}"], [
1734 AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.])
1736 ac_cv_live555_usable=""
1738 dnl Check that live555 is patched correctly.
1739 AC_CACHE_CHECK([for live555 usability], [ac_cv_live555_usable], [
1740 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
1741 [#include <locale.h>
1743 # include <xlocale.h>
1748 #include <Locale.hh>
1750 #include <GroupsockHelper.hh>]], [
1751 [struct in_addr addr;
1752 our_inet_ntoa(addr, NULL);]])
1754 ac_cv_live555_usable="yes"
1756 ac_cv_live555_usable="no"
1759 AS_IF([test "$ac_cv_live555_usable" = "no"], [
1760 AC_MSG_ERROR([liveMedia lacks patches and is not usable.
1761 Please apply our patches from the VLC contrib (contrib/src/live555/).
1762 You can also disable RTSP input with --disable-live555. You were warned.])
1764 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1765 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1766 AS_IF([test "${SYS}" = "mingw32"], [
1767 # add ws2_32 for closesocket, select, recv
1768 other_libs="$other_libs -lws2_32"
1769 ], [test "${SYS}" = "mingwce"], [
1770 # add ws2 for closesocket, select, recv
1771 other_libs="$other_libs -lws2"
1774 dnl We need to check for pic because live555 don't provide shared libs
1775 dnl and we want to build a plugins so we need -fPIC on some arch.
1776 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1777 AC_CHECK_LIB(liveMedia_pic, main, [
1778 VLC_ADD_PLUGIN([live555])
1779 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1781 AC_CHECK_LIB(liveMedia, main, [
1782 VLC_ADD_PLUGIN([live555])
1783 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1784 ],[],[${other_libs}])],[${other_libs_pic}])
1786 CPPFLAGS="${CPPFLAGS_save}"
1791 dnl - special access module for dc1394 input
1792 dnl - dv module: digital video module check for libraw1394
1793 dnl - linsys modules: access module check for libzvbi
1795 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
1796 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1798 AC_ARG_ENABLE(linsys,
1799 [AS_HELP_STRING([--enable-linsys],
1800 [Linux Linear Systems Ltd. SDI and HD-SDI input cards (default enabled)])])
1801 if test "$SYS" = "linux" -a "${enable_linsys}" != "no"; then
1802 VLC_ADD_PLUGIN([linsys_hdsdi])
1803 PKG_CHECK_MODULES(LINSYS_SDI, [zvbi-0.2 >= 0.2.28],
1804 [ VLC_ADD_LIBS([linsys_sdi],[$LINSYS_SDI_LIBS])
1805 VLC_ADD_CFLAGS([linsys_sdi],[$LINSYS_SDI_CFLAGS])
1806 VLC_ADD_PLUGIN([linsys_sdi]) ],
1807 [AC_MSG_WARN([${LINSYS_SDI_PKG_ERRORS}.])]
1812 dnl dvdread module: check for libdvdread
1814 PKG_ENABLE_MODULES_VLC([DVDREAD], [], [dvdread], [dvdread input module], [auto])
1817 darwin_libdvdcss_extralibs="-Wl,-framework,CoreFoundation -Wl,-framework,IOKit"
1818 libdvdcss_extralibs=""
1819 test "${SYS}" = darwin && libdvdcss_extralibs="${darwin_libdvdcss_extralibs}"
1820 AC_CHECK_LIB(dvdcss, dvdcss_interface_2, [
1821 VLC_ADD_LIBS([dvdread], [-ldvdcss])
1822 VLC_ADD_LIBS([dvdnav], [-ldvdcss])
1823 if test "${SYS}" = darwin; then
1824 VLC_ADD_LIBS([dvdread], "${darwin_libdvdcss_extralibs}")
1825 VLC_ADD_LIBS([dvdnav], "${darwin_libdvdcss_extralibs}")
1827 ],, "${darwin_libdvdcss_extralibs}")
1830 dnl libdvdnav plugin
1832 AC_ARG_ENABLE(dvdnav,
1833 [AS_HELP_STRING([--disable-dvdnav],
1834 [disable DVD navigation with libdvdnav (default auto)])])
1835 if test "${enable_dvdnav}" != "no"
1837 PKG_CHECK_MODULES(DVDNAV, dvdnav, [
1838 VLC_ADD_PLUGIN([dvdnav])
1839 VLC_ADD_CFLAGS([dvdnav],[${DVDNAV_CFLAGS}])
1840 VLC_ADD_LIBS([dvdnav],[${DVDNAV_LIBS}])
1841 AC_CHECK_LIB(dvdnav, dvdnav_get_video_resolution,
1842 AC_DEFINE(HAVE_DVDNAV_GET_VIDEO_RESOLUTION, 1, [Define if you have dvdnav_get_video_resolution.]),
1843 [], [${LIBS_dvdnav}])
1844 AC_CHECK_LIB(dvdnav, dvdnav_describe_title_chapters,
1845 AC_DEFINE(HAVE_DVDNAV_DESCRIBE_TITLE_CHAPTERS, 1, [Define if you have dvdnav_describe_title_chapters.]),
1846 [], [${LIBS_dvdnav}])],
1847 [AC_MSG_WARN([${DVDNAV_PKG_ERRORS}.])])
1851 dnl Windows DirectShow access module
1853 AC_ARG_ENABLE(dshow,
1854 [AS_HELP_STRING([--disable-dshow],
1855 [support DirectShow (default auto)])])
1856 if test "${enable_dshow}" != "no"
1858 if test "${SYS}" = "mingw32"
1861 AC_CHECK_HEADERS(dshow.h,
1862 [ VLC_ADD_PLUGIN([dshow])
1863 VLC_ADD_CXXFLAGS([dshow],[])
1864 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
1870 dnl Blu-ray Disc Support with libbluray
1872 PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2 libxml-2.0 >= 2.6 ], (libbluray for Blu-ray disc support ) )
1875 dnl OpenCV wrapper and example filters
1877 PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
1881 dnl libsmbclient plugin
1884 [AS_HELP_STRING([--disable-smb], [disable SMB/CIFS support (default auto)])])
1885 if test "${enable_smb}" != "no"; then
1886 AC_CHECK_HEADERS(libsmbclient.h,
1887 [ VLC_ADD_PLUGIN([access_smb])
1888 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
1889 [ if test -n "${enable_smb}"; then
1890 AC_MSG_ERROR([cannot find libsmbclient headers])
1896 dnl sftp access support
1899 [AS_HELP_STRING([--enable-sftp],
1900 [support SFTP file transfer via libssh2 (default disabled)])])
1901 if test "${enable_sftp}" = "yes"; then
1902 AC_CHECK_HEADERS(libssh2.h, [
1903 VLC_ADD_PLUGIN([access_sftp])
1904 VLC_ADD_LIBS([access_sftp], [-lssh2])
1911 AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2],
1912 [disable userspace V4L2 library (default auto)])])
1913 AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
1914 [support PVR V4L2 cards (default disabled)])])
1916 AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
1919 AS_IF([test "$have_v4l2" = "yes"], [
1920 AS_IF([test "${enable_libv4l2}" != "no"], [
1921 PKG_CHECK_MODULES(LIBV4L2, libv4l2, [
1922 AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available])
1924 AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.])
1927 AS_IF([test "${enable_pvr}" = "yes"], [
1928 VLC_ADD_PLUGIN([pvr])
1931 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
1934 dnl special access module for Blackmagic SDI cards
1936 AC_ARG_ENABLE(decklink,
1937 [AS_HELP_STRING([--disable-decklink],
1938 [disable Blackmagic DeckLink SDI input (default auto)])])
1939 AC_ARG_WITH(decklink_sdk,
1940 [AS_HELP_STRING[--with-decklink-sdk=DIR],
1941 [ location of Blackmagic DeckLink SDI SDK])])
1942 if test "${enable_decklink}" != "no"
1944 if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
1946 VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
1948 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
1950 AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
1951 VLC_ADD_PLUGIN([decklink])
1952 ],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
1954 CPPFLAGS="${CPPFLAGS_save}"
1959 dnl gnomeVFS access module
1961 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
1967 [AS_HELP_STRING([--enable-vcdx],
1968 [navigate VCD with libvcdinfo (default disabled)])])
1969 if test "${enable_vcdx}" = "yes"
1971 PKG_CHECK_MODULES(LIBCDIO, [libcdio >= 0.78.2 libiso9660 >= 0.72],
1972 [VLC_ADD_LIBS([vcdx],[$LIBCDIO_LIBS])
1973 VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
1974 [AC_MSG_ERROR([${LIBCDIO_PKG_ERRORS} (required for vcdx plugin).])])
1975 PKG_CHECK_MODULES(LIBVCDINFO, libvcdinfo >= 0.7.22,
1976 [VLC_ADD_LIBS([vcdx],[$LIBVCDINFO_LIBS])
1977 VLC_ADD_CFLAGS([vcdx],[$LIBVCDINFO_CFLAGS])],
1978 [AC_MSG_ERROR([${LIBVCDINFO_PKG_ERRORS} (required for vcdx plugin).])])
1979 VLC_ADD_PLUGIN([vcdx])
1983 dnl Built-in CD-DA and VCD module
1986 [AS_HELP_STRING([--disable-vcd],
1987 [disable built-in VCD and CD-DA support (default enabled)])])
1989 AC_ARG_ENABLE(libcddb,
1990 [AS_HELP_STRING([--disable-libcddb],
1991 [disable CDDB for Audio CD (default enabled)])])
1993 if test "${enable_vcd}" != "no"
1995 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1996 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1998 VLC_ADD_PLUGIN([vcd cdda])
2003 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2004 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2006 VLC_ADD_PLUGIN([vcd cdda])
2007 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2012 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2013 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2015 VLC_ADD_PLUGIN([vcd cdda])
2016 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2021 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32" -o "${SYS}" = "os2"
2023 VLC_ADD_PLUGIN([vcd cdda])
2026 if test "${SYS}" = "darwin"
2028 VLC_ADD_PLUGIN([vcd cdda])
2029 VLC_ADD_LIBS([vcd vcdx cdda],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2030 VLC_ADD_LIBS([vcdx cdda],[-liconv])
2033 if test "$enable_libcddb" != "no"; then
2034 PKG_CHECK_MODULES(LIBCDDB, [libcddb >= 0.9.5], [
2036 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2037 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2038 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2040 [AC_MSG_WARN([${LIBCDDB_PKG_ERRORS}: CDDB access disabled.])
2048 AC_CACHE_CHECK([for Linux DVB version 5], [ac_cv_linux_s2api], [
2049 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
2050 [#include <linux/dvb/version.h>
2051 #if (DVB_API_VERSION < 5)
2054 ac_cv_linux_s2api=yes
2056 ac_cv_linux_s2api=no
2058 AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_s2api" = "yes"])
2061 dnl Screen capture module
2063 AC_ARG_ENABLE(screen,
2064 [AS_HELP_STRING([--enable-screen],
2065 [disable screen capture (default enabled)])])
2066 if test "${enable_screen}" != "no"; then
2067 if test "${SYS}" = "darwin"; then
2068 AC_CHECK_HEADERS(OpenGL/gl.h, [
2069 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2070 VLC_ADD_PLUGIN([screen])
2071 VLC_ADD_LIBS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2074 elif test "${SYS}" = "mingw32"; then
2075 VLC_ADD_PLUGIN([screen])
2076 VLC_ADD_LIBS([screen],[-lgdi32])
2077 elif test "${SYS}" = "mingwce"; then
2078 CPPFLAGS="${CPPFLAGS_save}"
2083 dnl Real RTSP plugin
2085 AC_ARG_ENABLE(realrtsp,
2086 [ --enable-realrtsp Real RTSP module (default disabled)])
2087 if test "${enable_realrtsp}" = "yes"; then
2088 VLC_ADD_PLUGIN([access_realrtsp])
2093 AC_ARG_ENABLE(macosx-eyetv,
2094 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
2095 if test "x${enable_macosx_eyetv}" != "xno" &&
2096 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
2098 VLC_ADD_LIBS([access_eyetv], [-Wl,-framework,Foundation])
2099 VLC_ADD_PLUGIN([access_eyetv])
2104 AC_ARG_ENABLE(macosx-qtkit,
2105 [ --enable-macosx-qtkit Mac OS X qtcapture (video) and qtsound (audio) module (default enabled on Mac OS X)])
2106 if test "x${enable_macosx_qtkit}" != "xno" &&
2107 (test "${SYS}" = "darwin" || test "${enable_macosx_qtkit}" = "yes")
2109 VLC_ADD_PLUGIN([qtcapture])
2110 VLC_ADD_PLUGIN([qtsound])
2112 AM_CONDITIONAL(HAVE_QTKIT, [test "${SYS}" = "darwin" && "x${enable_macosx_qtkit}" != "xno"])
2119 EXTEND_HELP_STRING([Mux/Demux plugins:])
2122 dnl libdvbpsi check for ts mux/demux
2125 PKG_WITH_MODULES([DVBPSI], [libdvbpsi], [have_dvbpsi="yes"])
2126 AM_CONDITIONAL(HAVE_DVBPSI, [test "${have_dvbpsi}" = "yes"])
2130 dnl GME demux plugin
2133 [AS_HELP_STRING([--enable-gme],
2134 [use Game Music Emu (default auto)])])
2135 AS_IF([test "${enable_gme}" != "no"], [
2136 AC_CHECK_HEADER([gme/gme.h], [
2137 VLC_ADD_LIBS([gme], [-lgme])
2138 VLC_ADD_PLUGIN([gme])
2140 AS_IF([test "x${enable_gme}" != "x"], [
2141 AC_MSG_ERROR([GME cannot be found. Please install the development files.])
2151 [AS_HELP_STRING([--enable-sid],[C64 sid demux support (default auto)])])
2152 AS_IF([test "${enable_sid}" != "no"], [
2153 PKG_CHECK_MODULES(SID, [libsidplay2], [
2155 oldCPPFLAGS="$CPPFLAGS"
2156 CPPFLAGS="$CPPFLAGS $SID_CFLAGS"
2157 AC_CHECK_HEADER([sidplay/builders/resid.h], [
2158 VLC_ADD_PLUGIN([sid])
2159 VLC_ADD_CFLAGS([sid], [$SID_CFLAGS])
2160 VLC_ADD_LIBS([sid], [$SID_LIBS] [-lresid-builder])
2162 AS_IF([test -n "${enable_sid}"],
2163 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2164 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2167 CPPFLAGS="$oldCPPFLAGS"
2170 AS_IF([test "x${enable_sid}" = "xyes"],
2171 [AC_MSG_ERROR([${SID_PKG_ERRORS} (required for sid).])],
2172 [AC_MSG_WARN([${SID_PKG_ERRORS} (required for sid).])]
2179 dnl ogg demux plugin
2181 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2182 if test "${enable_sout}" != "no"; then
2183 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
2184 dnl Check for libshout
2185 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2189 dnl matroska demux plugin
2192 [AS_HELP_STRING([--disable-mkv],
2193 [do not use libmatroska (default auto)])])
2194 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2196 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2197 AC_MSG_CHECKING(for libebml version >= 1.0.0)
2199 [#include <ebml/EbmlVersion.h>
2200 #ifdef LIBEBML_VERSION
2201 #if LIBEBML_VERSION >= 0x010000
2205 [AC_MSG_RESULT([yes])
2206 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2207 AC_MSG_CHECKING(for libmatroska version >= 1.0.0)
2209 [#include <matroska/KaxVersion.h>
2210 #ifdef LIBMATROSKA_VERSION
2211 #if LIBMATROSKA_VERSION >= 0x010000
2215 [AC_MSG_RESULT([yes])
2216 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2217 VLC_ADD_CXXFLAGS([mkv],[])
2218 if test "${SYS}" = "darwin"; then
2219 VLC_ADD_CXXFLAGS([mkv],[-O1])
2221 AC_CHECK_LIB(ebml_pic, main, [
2222 VLC_ADD_PLUGIN([mkv])
2223 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2225 AC_CHECK_LIB(ebml, main, [
2226 VLC_ADD_PLUGIN([mkv])
2227 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2232 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.])
2236 [AC_MSG_RESULT([no])
2237 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.])
2244 dnl modplug demux plugin
2247 [AS_HELP_STRING([--disable-mod],
2248 [do not use libmodplug (default auto)])])
2249 if test "${enable_mod}" != "no" ; then
2250 PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
2251 VLC_ADD_PLUGIN([mod])
2252 VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
2253 VLC_ADD_LIBS([mod],[$LIBMODPLUG_LIBS])
2255 AS_IF([test -n "${enable_mod}"],
2256 [AC_MSG_ERROR([${LIBMODPLUG_PKG_ERRORS}.])],
2257 [AC_MSG_WARN([${LIBMODPLUG_PKG_ERRORS}.])])
2262 dnl mpc demux plugin
2265 [AS_HELP_STRING([--disable-mpc], [do not use libmpcdec (default auto)])])
2266 if test "${enable_mpc}" != "no"
2268 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2269 VLC_ADD_PLUGIN([mpc])
2270 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2271 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2272 VLC_ADD_PLUGIN([mpc])
2273 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2280 EXTEND_HELP_STRING([Codec plugins:])
2285 AC_ARG_ENABLE(wma-fixed,
2286 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2287 if test "${enable_wma_fixed}" = "yes"
2289 VLC_ADD_PLUGIN([wma_fixed])
2293 dnl shine fixed point mp3 encoder
2295 AC_ARG_ENABLE(shine,
2296 [ --enable-shine shine mp3 encoding module (default disabled)])
2297 if test "${enable_shine}" = "yes"
2299 VLC_ADD_PLUGIN([shine])
2303 dnl openmax il codec plugin
2305 AC_ARG_ENABLE(omxil,
2306 [ --enable-omxil openmax il codec module (default disabled)])
2307 if test "${enable_omxil}" = "yes"
2309 VLC_ADD_PLUGIN([omxil])
2310 VLC_ADD_LIBS([omxil], [$LIBDL])
2314 dnl iomx codec plugin
2317 [ --enable-iomx iomx codec module (default disabled)])
2318 if test "${enable_iomx}" = "yes"
2320 CPPFLAGS_save="${CPPFLAGS}"
2321 CPPFLAGS="${CPPFLAGS} -I${srcdir}/modules/codec/omxil" # For the OMX headers
2323 AC_CHECK_HEADER(media/stagefright/OMXClient.h, [
2324 VLC_ADD_PLUGIN([iomx])
2325 VLC_ADD_CXXFLAGS([iomx], [-fno-exceptions -fno-rtti])
2326 VLC_ADD_LIBS([iomx], [-lstagefright -lmedia -lutils -lbinder])
2328 AC_MSG_ERROR("Could not find IOMX headers")
2331 CPPFLAGS="${CPPFLAGS_save}"
2335 dnl CrystalHD codec plugin
2337 AC_ARG_ENABLE(crystalhd,
2338 [ --enable-crystalhd crystalhd codec plugin (default auto)])
2339 if test "${enable_crystalhd}" != "no"; then
2340 AC_CHECK_HEADER(libcrystalhd/libcrystalhd_if.h, [
2341 VLC_ADD_PLUGIN([crystalhd])
2342 VLC_ADD_LIBS([crystalhd], [-lcrystalhd])
2344 if test "${SYS}" = "mingw32" ; then
2345 AC_CHECK_HEADERS(libcrystalhd/bc_dts_defs.h, [
2346 VLC_ADD_PLUGIN([crystalhd])
2347 AC_CHECK_HEADERS(libcrystalhd/bc_drv_if.h, [
2348 VLC_ADD_LIBS([crystalhd], [-lbcmDIL])
2351 AS_IF([test x"${enable_crystalhd}" = "xyes"],
2352 [AC_MSG_ERROR("Could not find CrystalHD development headers")],
2353 [AC_MSG_WARN("Could not find CrystalHD development headers")])
2354 ],[#define __LINUX_USER__
2355 #include <libcrystalhd/bc_dts_types.h>
2359 #include <libcrystalhd/bc_dts_types.h>
2367 [ --enable-mad libmad module (default enabled)])
2368 if test "${enable_mad}" != "no"
2371 [ --with-mad=PATH path to libmad],[],[])
2372 if test "${with_mad}" != "no" -a -n "${with_mad}"
2374 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2375 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2378 AC_ARG_WITH(mad-tree,
2379 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2380 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2382 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2383 if test -z "${real_mad_tree}"
2385 dnl The given directory can't be found
2387 AC_MSG_ERROR([${with_mad_tree} directory does not exist])
2389 dnl Use a custom libmad
2390 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2391 if test -f ${real_mad_tree}/mad.h
2394 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2395 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2396 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2397 AC_CHECK_LIB(mad, mad_bit_init, [
2398 VLC_ADD_PLUGIN([mpgatofixed32])
2399 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2400 ],[ AC_MSG_ERROR([the specified tree has not been compiled ])
2402 LDFLAGS="${LDFLAGS_save}"
2405 AC_MSG_ERROR([the specified tree does not have mad.h])
2408 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2409 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2410 AC_CHECK_HEADERS(mad.h, ,
2411 [ 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.]) ])
2412 AC_CHECK_LIB(mad, mad_bit_init, [
2413 VLC_ADD_PLUGIN([mpgatofixed32])
2414 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2415 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2416 CPPFLAGS="${CPPFLAGS_save}"
2417 LDFLAGS="${LDFLAGS_save}"
2422 AC_ARG_ENABLE(merge-ffmpeg,
2423 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2424 enable_merge_ffmpeg="no"
2426 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2428 AC_CACHE_CHECK([if linker supports -Bsymbolic],
2429 [ac_cv_ld_bsymbolic],
2430 [LDFLAGS="${LDFLAGS} -Wl,-Bsymbolic"
2431 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
2432 LDFLAGS="${LDFLAGS_save}"
2436 dnl avcodec decoder/encoder plugin
2438 AC_ARG_ENABLE(avcodec,
2439 [ --enable-avcodec libavcodec codec (default enabled)])
2440 AS_IF([test "${enable_avcodec}" != "no"], [
2441 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil],
2444 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2445 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2446 AC_CHECK_HEADERS(libavcodec/avcodec.h)
2447 AC_CHECK_HEADERS(libavutil/avutil.h)
2448 VLC_ADD_PLUGIN([avcodec])
2449 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2450 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2451 VLC_ADD_LIBS([avcodec],[-Wl,-Bsymbolic])
2453 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2457 AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
2464 dnl libva needs avcodec
2466 AC_ARG_ENABLE(libva,
2467 [ --enable-libva VAAPI GPU decoding support (libVA) (default auto)])
2469 AS_IF([test "${enable_libva}" = "yes" -a "${have_avcodec}" != "yes" ], [
2470 AC_MSG_ERROR([--enable-libva and --disable-avcodec options are mutually exclusive. Use --enable-avcodec.])
2472 AS_IF([test "${enable_libva}" != "no"], [
2473 PKG_CHECK_MODULES(LIBVA, [libva libva-x11], [
2475 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2476 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2477 AC_CHECK_HEADERS(libavcodec/vaapi.h, [
2478 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11])
2479 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS ${X_CFLAGS}])
2480 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2481 AC_MSG_NOTICE([VAAPI acceleration activated])
2483 AS_IF([test -n "${enable_libva}"], [
2484 AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
2486 AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
2491 AS_IF([test -n "${enable_libva}"], [
2492 AC_MSG_ERROR([${LIBVA_PKG_ERRORS}.])
2494 AC_MSG_WARN([${LIBVA_PKG_ERRORS}.])
2500 dnl dxva2 needs avcodec
2502 AC_ARG_ENABLE(dxva2,
2503 [ --enable-dxva2 DxVA2 GPU decoding support (default auto)])
2505 AS_IF([test "${enable_dxva2}" != "no"], [
2506 if test "${SYS}" = "mingw32"; then
2507 AS_IF([test "x${have_avcodec}" = "xyes"], [
2508 AC_CHECK_HEADERS(dxva2api.h,
2510 AC_CHECK_HEADERS(libavcodec/dxva2.h, [
2511 VLC_ADD_LIBS([avcodec],[-lole32 -lshlwapi -luuid])
2512 AC_DEFINE(HAVE_AVCODEC_DXVA2, 1, [Define if avcodec has to be built with DxVA2 support.])
2513 echo "DxVA2 acceleration activated"
2515 AS_IF([test "${enable_dxva2}" = "yes"],
2516 [AC_MSG_ERROR([dxva2 is present but libavcodec/dxva2.h is missing])],
2517 [AC_MSG_WARN([dxva2 is present but libavcodec/dxva2.h is missing ])])
2520 AS_IF([test "${enable_dxva2}" = "yes"],
2521 [AC_MSG_ERROR([Could not find required dxva2api.h])],
2522 [AC_MSG_WARN([dxva2api.h not found])])
2525 AS_IF([test "x${enable_dxva2}" != "x"], [
2526 AC_MSG_ERROR([--enable-dxva2 and --disable-avcodec options are mutually exclusive.])
2534 dnl stream_out switcher needs libavcodec
2536 AC_ARG_ENABLE(switcher,
2537 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2538 AS_IF([test "${enable_switcher}" = "yes"], [
2539 AS_IF([test "x${have_avcodec}" = "xyes"], [
2540 VLC_ADD_PLUGIN([stream_out_switcher])
2541 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2542 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2543 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2549 dnl avformat demuxer/muxer plugin
2552 AC_ARG_ENABLE(avformat,
2553 [ --enable-avformat libavformat containers (default enabled)],, [
2554 enable_avformat="${have_avcodec}"
2556 if test "${enable_avformat}" != "no"
2558 PKG_CHECK_MODULES(AVFORMAT,[libavformat > 52.30.0 libavcodec libavutil],
2561 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2562 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2563 AC_CHECK_HEADERS(libavformat/avformat.h libavformat/avio.h)
2564 AC_CHECK_HEADERS(libavutil/avutil.h)
2565 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2566 VLC_ADD_PLUGIN([avformat access_avio])
2567 VLC_ADD_LIBS([avformat access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2568 VLC_ADD_CFLAGS([avformat access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2569 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2570 VLC_ADD_LIBS([avformat access_avio],[-Wl,-Bsymbolic])
2573 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2574 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2578 AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
2583 dnl swscale image scaling and conversion plugin
2586 AC_ARG_ENABLE(swscale,
2587 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2588 (default enabled)]))
2589 if test "${enable_swscale}" != "no"
2591 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2594 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2595 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2596 AC_CHECK_HEADERS(libswscale/swscale.h)
2597 VLC_ADD_PLUGIN([swscale])
2598 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2599 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2600 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2601 VLC_ADD_LIBS([swscale],[-Wl,-Bsymbolic])
2605 AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
2613 AC_ARG_ENABLE(postproc,
2614 [ --enable-postproc libpostproc image post-processing (default enabled)])
2615 if test "${enable_postproc}" != "no"
2617 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2620 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2621 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2622 AC_CHECK_HEADERS(postproc/postprocess.h)
2623 VLC_ADD_PLUGIN([postproc])
2624 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
2625 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
2628 AC_MSG_ERROR([${POSTPROC_PKG_ERRORS}. Pass --disable-postproc to ignore this error.])
2633 dnl faad decoder plugin
2636 [ --enable-faad faad codec (default disabled)])
2637 if test "${enable_faad}" = "yes"
2639 AC_ARG_WITH(faad-tree,
2640 [ --with-faad-tree=PATH faad tree for static linking])
2641 if test -n "${with_faad_tree}"
2643 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2644 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2645 if test -z "${real_faad_tree}"
2647 dnl The given directory can't be found
2649 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2651 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2653 dnl Use a custom faad
2654 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2655 VLC_ADD_PLUGIN([faad])
2656 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2657 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2659 dnl The given libfaad wasn't built
2661 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2664 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2665 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2666 AC_CHECK_HEADERS(faad.h, ,
2667 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2668 AC_CHECK_LIB(faad, faacDecOpen, [
2669 VLC_ADD_PLUGIN([faad])
2670 VLC_ADD_LIBS([faad],[-lfaad]) ],
2671 AC_CHECK_LIB(faad, NeAACDecOpen, [
2672 VLC_ADD_PLUGIN([faad])
2673 VLC_ADD_LIBS([faad],[-lfaad]) ],
2674 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2675 LDFLAGS="${LDFLAGS_save}"
2676 CPPFLAGS="${CPPFLAGS_save}"
2681 dnl twolame encoder plugin
2683 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
2686 dnl QuickTime plugin
2688 AC_ARG_ENABLE(quicktime,
2689 [ --enable-quicktime QuickTime module (deprecated)])
2690 if test "${enable_quicktime}" = "yes"; then
2691 if test "${SYS}" = "mingw32"; then
2692 VLC_ADD_PLUGIN([quicktime])
2694 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2695 [ VLC_ADD_PLUGIN([quicktime])
2696 VLC_ADD_LIBS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
2697 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2705 [ --enable-real Real video decoder module (default disabled)])
2706 if test "${enable_real}" = "yes"; then
2707 VLC_ADD_PLUGIN([realvideo])
2711 dnl A52/AC3 decoder plugin
2714 [ --enable-a52 A/52 support with liba52 (default enabled)])
2715 if test "${enable_a52}" != "no"
2718 [ --with-a52=PATH a52 headers and libraries])
2719 AC_ARG_WITH(a52-tree,
2720 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2721 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2723 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2724 if test -z "${real_a52_tree}"
2726 dnl The given directory can't be found
2728 AC_MSG_ERROR([${with_a52_tree} directory does not exist])
2730 dnl Use a custom a52dec
2731 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2732 if test -f ${real_a52_tree}/include/a52.h
2735 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2736 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2737 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
2738 AC_CHECK_LIB(a52, a52_free, [
2739 VLC_ADD_PLUGIN([a52tofloat32])
2740 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2741 VLC_ADD_LIBS([a52tofloat32],[-la52])
2743 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2745 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
2747 AC_MSG_ERROR([the specified tree has not been compiled])
2750 LDFLAGS="${LDFLAGS_save}"
2753 AC_MSG_ERROR([the specified tree does not have a52.h])
2756 if test -z "${with_a52}"
2761 LDFLAGS_test="-L${with_a52}/lib"
2762 CPPFLAGS_test="-I${with_a52}/include"
2764 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2765 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
2766 AC_CHECK_HEADERS(a52dec/a52.h, [
2767 AC_CHECK_LIB(a52, a52_free, [
2768 VLC_ADD_PLUGIN([a52tofloat32])
2769 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
2770 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2772 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.])
2775 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.])
2777 CPPFLAGS="${CPPFLAGS_save}"
2778 LDFLAGS="${LDFLAGS_save}"
2782 AC_ARG_WITH(a52-fixed,
2783 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
2785 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2788 dnl DTS Coherent Acoustics decoder plugin
2790 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
2795 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
2800 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
2805 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
2810 AC_ARG_ENABLE(tremor,
2811 [ --enable-tremor Tremor decoder support (default disabled)])
2812 if test "${enable_tremor}" = "yes"
2814 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2815 VLC_ADD_PLUGIN([tremor])
2816 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
2823 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex support], [auto])
2825 AS_IF([test "${enable_speex}" != "no"], [
2826 PKG_CHECK_MODULES([SPEEXDSP], [speexdsp], [
2829 AS_IF([test -n "${enable_speex}"], [
2830 AC_MSG_ERROR([${SPEEXDSP_PKG_ERRORS}.])
2832 AC_MSG_WARN([${SPEEXDSP_PKG_ERRORS}.])
2836 AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"])
2839 dnl theora decoder plugin
2841 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
2844 dnl dirac encoder plugin
2846 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
2849 dnl schroedinger decoder plugin (for dirac format video)
2851 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
2854 dnl PNG decoder module
2857 [ --enable-png PNG support (default enabled)])
2858 if test "${enable_png}" != "no"; then
2859 AC_CHECK_HEADERS(png.h, [
2860 LDFLAGS="${LDFLAGS_save} -lz"
2861 AC_CHECK_LIB(png, png_set_rows, [
2862 VLC_ADD_LIBS([png],[-lpng -lz -lm])
2863 VLC_ADD_PLUGIN([png osdmenu osd_parser])],
2865 LDFLAGS="${LDFLAGS_save}"
2868 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
2871 dnl H264 encoder plugin (using libx264)
2874 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
2875 if test "${enable_x264}" != "no"; then
2876 AC_ARG_WITH(x264-tree,
2877 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
2878 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2880 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2881 if test -z "${real_x264_tree}"
2883 dnl The given directory can't be found
2885 AC_MSG_ERROR([${with_x264_tree} directory does not exist])
2887 dnl Use a custom libx264
2888 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2889 if test -f ${real_x264_tree}/x264.h
2892 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2893 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
2894 PKG_CHECK_MODULES(X264,x264, [
2895 VLC_ADD_PLUGIN([x264])
2896 VLC_ADD_LIBS([x264],[${X264_LIBS}])
2897 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2898 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2899 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2902 AC_MSG_ERROR([the specified tree has not been compiled])
2904 LDFLAGS="${LDFLAGS_save}"
2907 AC_MSG_ERROR([the specified tree does not have x264.h])
2910 PKG_CHECK_MODULES(X264,x264 >= 0.86, [
2911 VLC_ADD_PLUGIN([x264])
2912 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
2914 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
2915 VLC_ADD_LIBS([x264],[-Wl,-Bsymbolic])
2918 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
2919 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
2920 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
2923 if test "${enable_x264}" = "yes"; then
2924 AC_MSG_ERROR([${X264_PKG_ERRORS}: you may get it from http://www.videolan.org/x264.html])
2927 LDFLAGS="${LDFLAGS_save}"
2932 dnl libfluidsynth (MIDI synthetizer) plugin
2934 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
2937 dnl Teletext Modules
2938 dnl vbi decoder plugin (using libzbvi)
2943 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
2944 libzvbi (default enabled)]))
2946 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
2947 zvbi) (default enabled if zvbi is absent)]))
2949 AS_IF( [test "${enable_zvbi}" != "no"],[
2950 PKG_CHECK_MODULES(ZVBI, [zvbi-0.2 >= 0.2.28],
2952 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
2953 if test "${SYS}" = "mingw32"; then
2954 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
2956 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
2957 VLC_ADD_PLUGIN([zvbi])
2958 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
2959 AS_IF( [test "${enable_telx}" = "yes"],[
2960 AC_MSG_WARN([The zvbi and telx modules are incompatible. Using zvbi.])
2963 AC_MSG_WARN([${ZVBI_PKG_ERRORS}. Enabling the telx module instead.])
2966 AS_IF( [test "${enable_telx}" != "no" ],[
2967 VLC_ADD_PLUGIN([telx])
2971 dnl libass subtitle rendering module
2973 AC_ARG_ENABLE(libass,
2974 [ --enable-libass Subtitle support using libass (default enabled)])
2975 AS_IF( [test "${enable_libass}" != "no"], [
2976 PKG_CHECK_MODULES(LIBASS, [libass >= 0.9.8],
2978 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
2979 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
2980 VLC_ADD_PLUGIN([libass])
2982 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
2983 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
2984 VLC_ADD_LIBS([libass],[-lfontconfig])
2987 AC_MSG_WARN([${LIBASS_PKG_ERRORS}.])
2992 dnl kate decoder plugin
2994 PKG_ENABLE_MODULES_VLC([KATE], [], [kate >= 0.3.0], [kate codec], [auto])
2997 dnl tiger rendering for kate decoder plugin
2999 AC_ARG_ENABLE(tiger,
3000 [ --enable-tiger Tiger rendering library for Kate streams (default auto)])
3001 AS_IF([test "${enable_tiger}" != "no"], [
3002 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3003 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3004 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3005 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3006 AS_IF([test -n "${enable_tiger}"], [
3007 AC_MSG_ERROR([${TIGER_PKG_ERRORS}.])
3017 EXTEND_HELP_STRING([Video plugins:])
3022 PKG_CHECK_MODULES([GL], [gl], [
3025 AC_CHECK_HEADER([GL/gl.h], [
3034 dnl OpenGL ES 2: depends on EGL 1.1 and is currently unfinished
3035 dnl PKG_ENABLE_MODULES_VLC([GLES2], [], [glesv2], [OpenGL ES v2 support], [auto])
3036 dnl OpenGL ES 1: depends on EGL 1.0 and is currently broken
3037 dnl PKG_ENABLE_MODULES_VLC([GLES1], [], [glesv1_cm], [OpenGL ES v1 support], [auto])
3040 [ --enable-egl OpenGL support through EGL (default disabled)],, [
3043 AS_IF([test "$enable_egl" != "no"], [
3044 PKG_CHECK_MODULES([EGL], [egl], [
3045 VLC_ADD_PLUGIN([gl])
3046 VLC_ADD_PLUGIN([egl])
3055 AC_CHECK_HEADERS(X11/Xlib.h)
3058 dnl X C Bindings modules
3061 [ --enable-xcb X11 support with XCB (default enabled)],, [
3062 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [
3068 AC_ARG_ENABLE(xvideo,
3069 [ --enable-xvideo XVideo support (default enabled)],, [
3070 enable_xvideo="$enable_xcb"
3073 [ --enable-glx OpenGL support through GLX (default enabled)],, [
3074 enable_glx="$enable_xcb"
3078 AS_IF([test "${enable_xcb}" != "no"], [
3080 PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
3082 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3083 PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
3085 AS_IF([test "${enable_xvideo}" != "no"], [
3086 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3087 VLC_ADD_PLUGIN([xcb_xv])
3091 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3092 VLC_ADD_PLUGIN([panoramix])
3093 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3094 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3096 AC_MSG_WARN([${XCB_RANDR_PKG_ERRORS}. Panoramix filter will not be supported.])
3100 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3101 PKG_CHECK_MODULES(XPROTO, [xproto])
3102 VLC_ADD_PLUGIN([globalhotkeys])
3103 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3104 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3105 VLC_ADD_CFLAGS([xcb_window], [-DHAVE_XCB_KEYSYMS])
3107 AC_MSG_WARN([${XCB_KEYSYMS_PKG_ERRORS}. Hotkeys will not work.])
3110 AS_IF([test "${enable_glx}" != "no"], [
3111 AS_IF([test "${have_gl}" != "yes"], [
3112 AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
3114 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb], [
3115 VLC_ADD_PLUGIN([xcb_glx])
3117 AC_MSG_ERROR([${XLIB_XCB_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
3121 AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
3127 [ --enable-sdl SDL support (default enabled)])
3128 AC_ARG_ENABLE(sdl-image,
3129 [ --enable-sdl-image SDL image support (default enabled)])
3130 if test "${enable_sdl}" != "no"
3132 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3133 # SDL on Darwin is heavily patched and can only run SDL_image
3134 if test "${SYS}" != "darwin"; then
3135 VLC_ADD_PLUGIN([vout_sdl])
3137 if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
3138 VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3140 VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
3141 VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])
3144 AS_IF([ test "${enable_sdl_image}" != "no"],[
3145 PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
3146 VLC_ADD_PLUGIN([sdl_image])
3147 VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
3148 VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
3149 [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
3153 AC_MSG_WARN([${SDL_PKG_ERRORS}.])
3160 AC_ARG_ENABLE(macosx-vout,
3161 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
3162 if test "x${enable_macosx_vout}" != "xno" &&
3163 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
3165 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
3166 VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
3167 VLC_ADD_PLUGIN([vout_macosx])
3174 AC_ARG_ENABLE(freetype,
3175 [ --enable-freetype freetype support (default auto)])
3176 AC_ARG_ENABLE(fribidi,
3177 [ --enable-fribidi fribidi support (default auto)])
3178 AC_ARG_ENABLE(fontconfig,
3179 [ --enable-fontconfig fontconfig support (default auto)])
3181 if test "${enable_freetype}" != "no"; then
3182 PKG_CHECK_MODULES(FREETYPE, freetype2, [
3184 VLC_ADD_PLUGIN([freetype])
3185 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3186 if test "${SYS}" = "mingw32"; then
3187 VLC_ADD_LIBS([freetype],[-liconv -lz])
3189 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3191 AC_CHECK_HEADERS(Carbon/Carbon.h,
3192 [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
3194 dnl fontconfig support
3195 if test "${SYS}" != "mingw32"; then
3196 if test "${enable_fontconfig}" != "no"; then
3197 AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
3198 VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3199 VLC_ADD_LIBS([freetype],[-lfontconfig])
3200 ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
3203 VLC_ADD_LIBS([freetype],[-lgdi32])
3207 if test "${enable_fribidi}" != "no"; then
3208 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3209 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3210 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3211 ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
3216 AS_IF([test -n "${enable_freetype}"],[
3217 AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
3224 dnl QuartzText vout module (iOS/Mac OS)
3226 AC_ARG_ENABLE(macosx-quartztext,
3227 [ --enable-macosx-quartztext Mac OS X quartz text module (default enabled on Mac OS X)])
3228 if test "x${enable_macosx_quartztext}" != "xno" &&
3229 (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
3231 VLC_ADD_PLUGIN([quartztext])
3232 VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
3238 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3241 dnl android surface module
3243 AC_ARG_ENABLE(android-surface,
3244 [ --enable-android-surface Android Surface video output module (default disabled)])
3245 if test "${enable_android_surface}" = "yes"; then
3246 if test "${HAVE_ANDROID}" = "1"; then
3247 VLC_ADD_PLUGIN([android_surface])
3248 VLC_ADD_LDFLAGS([android_surface], [-ldl])
3256 AC_ARG_ENABLE(ios-vout,
3257 [ --enable-ios-vout iOS video output module (default disabled)])
3258 if test "${enable_ios_vout}" = "yes"
3260 VLC_ADD_PLUGIN([vout_ios])
3261 VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
3262 VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
3266 dnl Windows DirectX module
3269 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3271 VLC_ADD_PLUGIN([panoramix])
3274 AC_ARG_ENABLE(directx,
3275 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3276 if test "${enable_directx}" != "no"; then
3277 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
3279 AC_CHECK_HEADERS(ddraw.h,
3280 [ VLC_ADD_PLUGIN([directx aout_directx])
3281 VLC_ADD_LIBS([directx],[-luser32 -lgdi32])
3282 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3286 AC_CHECK_HEADERS(GL/wglew.h,
3287 [ VLC_ADD_PLUGIN([glwin32])
3288 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3290 #include <windows.h>
3295 AC_CHECK_HEADERS(d3d9.h,
3296 [ VLC_ADD_PLUGIN([direct3d])
3297 VLC_ADD_LIBS([direct3d],[-lgdi32])
3299 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3304 dnl Windows Direct2D plugin
3306 AC_ARG_ENABLE(direct2d,
3307 [ --enable-direct2d Win7/VistaPU Direct2D support (default auto on Win32)],, [
3308 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3309 enable_direct2d="no"
3312 AS_IF([test "${enable_direct2d}" != "no"], [
3313 AC_CHECK_HEADERS(d2d1.h, [
3314 VLC_ADD_PLUGIN([direct2d])
3315 VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32])
3317 AC_MSG_WARN([Cannot find Direct2D headers!])
3322 dnl win32 GDI plugin
3324 AC_ARG_ENABLE(wingdi,
3325 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3326 if test "${enable_wingdi}" != "no"; then
3327 if test "${SYS}" = "mingw32"; then
3328 VLC_ADD_PLUGIN([wingdi])
3329 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3331 if test "${SYS}" = "mingwce"; then
3332 VLC_ADD_PLUGIN([wingdi wingapi])
3333 VLC_ADD_LIBS([wingdi],[-laygshell])
3334 VLC_ADD_LIBS([wingapi],[-laygshell])
3340 dnl Linux framebuffer module
3342 AC_CHECK_HEADER([linux/fb.h], [
3343 VLC_ADD_PLUGIN([fb])
3349 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3350 dnl TODO: support for static linking
3352 AC_ARG_ENABLE(directfb,
3353 [ --enable-directfb DirectFB support (default disabled)])
3354 AC_ARG_WITH(directfb,
3355 [ --with-directfb=PATH path to DirectFB headers and libraries])
3357 if test "${enable_directfb}" = "yes"; then
3358 have_directfb="false"
3359 CPPFLAGS_mydirectfb=
3361 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3362 dnl Trying the given location
3363 CPPFLAGS_save="${CPPFLAGS}"
3366 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3367 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3368 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3370 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3371 LIBS="${LIBS} ${LIBS_new}"
3373 dnl FIXME: too obscure
3374 AC_CHECK_HEADER([directfb.h], [
3375 AC_CHECK_LIB([direct],[direct_initialize], [
3376 AC_CHECK_LIB([fusion], [fusion_enter], [
3377 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3378 ], have_directfb="false")
3379 ], have_directfb="false")
3380 ], have_directfb="false")
3383 CPPFLAGS="${CPPFLAGS_save}"
3386 if test "${have_directfb}" = "true"; then
3387 LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
3388 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3391 dnl Look for directfb-config
3392 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
3393 if test "${DIRECTFB_CONFIG}" != "no"; then
3394 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
3395 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
3396 have_directfb="true"
3398 dnl Trying with pkg-config
3399 PKG_CHECK_MODULES(DIRECTFB, directfb, [
3400 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
3401 LIBS_mydirectfb="${DIRECTFB_LIBS}"
3402 have_directfb="true"
3403 ], [have_directfb="false"])
3406 if test "${have_directfb}" = "true"; then
3407 VLC_ADD_PLUGIN([directfb])
3408 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
3409 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
3411 AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
3419 [ --enable-aa aalib output (default disabled)])
3420 if test "${enable_aa}" = "yes"
3422 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3423 if test "${have_aa}" = "true"
3425 VLC_ADD_PLUGIN([aa])
3426 VLC_ADD_LIBS([aa],[-laa])
3427 if test "${SYS}" != "mingw32"; then
3428 VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3436 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
3442 [AS_HELP_STRING([--enable-kva],
3443 [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
3444 AS_IF([test "$SYS" = "os2"], [
3450 AS_IF([test "$enable_kva" != "no"], [
3451 AC_CHECK_HEADERS([kva.h], [
3453 AC_CHECK_LIB(kva, main, [
3459 AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])
3465 EXTEND_HELP_STRING([Audio plugins:])
3468 dnl Pulseaudio module
3470 AC_ARG_ENABLE(pulse,
3471 [AS_HELP_STRING([--enable-pulse],
3472 [use the PulseAudio client library (default auto)])])
3474 AS_IF([test "${enable_pulse}" != "no"], [
3475 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
3478 PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
3479 AS_IF([test "${no_x}" != "yes"], [
3481 PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
3483 AS_IF([test "${enable_pulse}" = "yes"], [
3484 AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
3485 (see http://www.pulseaudio.org/ticket/799 for further reference).])
3489 AS_IF([test "x${enable_pulse}" != "x"], [
3490 AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
3495 AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
3501 [AS_HELP_STRING([--enable-alsa],
3502 [support the Advanced Linux Sound Architecture (default auto)])],, [
3503 AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
3508 AS_IF([test "${enable_alsa}" != "no"], [
3509 PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
3512 AS_IF([test "x${enable_alsa}" != "x"], [
3513 AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
3517 AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
3520 dnl Open Sound System module
3523 [AS_HELP_STRING([--enable-oss],
3524 [support the Open Sound System OSS (default enabled on BSD)])],, [
3525 AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [
3531 AS_IF([test "$enable_oss" != "no"], [
3532 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
3534 AC_CHECK_LIB(ossaudio, main, [
3535 OSS_LIBS="-lossaudio"
3540 AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])
3543 dnl Portaudio module
3545 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
3548 dnl win32 waveOut plugin
3550 AC_ARG_ENABLE(waveout,
3551 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
3552 if test "${enable_waveout}" != "no"; then
3553 if test "${SYS}" = "mingw32"; then
3554 VLC_ADD_PLUGIN([waveout])
3555 VLC_ADD_LIBS([waveout],[-lwinmm])
3557 if test "${SYS}" = "mingwce"; then
3558 VLC_ADD_PLUGIN([waveout])
3563 dnl CoreAudio plugin
3565 AC_ARG_ENABLE(macosx-audio,
3566 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
3567 if test "x${enable_macosx_audio}" != "xno" &&
3568 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
3570 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
3571 [ VLC_ADD_PLUGIN([auhal])
3572 VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
3573 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3577 dnl AudioQueue plugin
3579 AC_ARG_ENABLE(audioqueue,
3580 [ --enable-audioqueue AudioQueue audio module (default disabled)])
3581 if test "${enable_audioqueue}" = "yes"
3583 VLC_ADD_PLUGIN([audioqueue])
3584 VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
3590 PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
3593 dnl OpenSLES Android
3595 AC_ARG_ENABLE(opensles,
3596 [ --enable-opensles Android OpenSL ES audio module (default disabled)])
3597 if test "${HAVE_ANDROID}" = "1"; then
3598 if test "${enable_opensles}" = "yes"; then
3599 AC_CHECK_HEADERS(SLES/OpenSLES.h,
3600 [ VLC_ADD_PLUGIN([opensles_android]) ],
3601 [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
3606 dnl libsamplerate plugin
3608 PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
3614 [AS_HELP_STRING([--enable-kai],
3615 [support the K Audio Interface KAI (default enabled on OS/2)])],, [
3616 AS_IF([test "$SYS" = "os2"], [
3622 AS_IF([test "$enable_kai" != "no"], [
3623 AC_CHECK_HEADERS([kai.h], [
3625 AC_CHECK_LIB(kai, main, [
3631 AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])
3634 dnl Interface plugins
3637 EXTEND_HELP_STRING([Interface plugins:])
3642 AC_ARG_ENABLE(skins2,
3643 [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
3644 AS_IF([test "${enable_skins2}" != "no"], [
3645 have_skins_deps="yes"
3646 AS_IF([test "${SYS}" = "mingw32"], [
3647 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3648 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3649 VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
3651 ], [test "${SYS}" = "darwin"], [
3652 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
3653 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3654 VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
3657 PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
3658 PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
3659 PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
3660 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
3661 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3662 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
3665 AS_IF([test "${have_freetype}" != "yes"], [
3666 have_skins_deps="no"
3669 AS_IF([test "${have_skins_deps}" = "no"], [
3670 AS_IF([test "x${enable_skins2}" = "x"], [
3671 AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
3673 AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
3677 VLC_ADD_PLUGIN([skins2])
3678 ALIASES="${ALIASES} svlc"
3681 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
3683 AC_ARG_ENABLE(libtar,
3684 [ --enable-libtar libtar support for skins2 (default auto)])
3685 AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
3686 AC_CHECK_HEADERS(libtar.h, [
3687 VLC_ADD_LIBS([skins2],[-ltar])
3694 AC_ARG_ENABLE(hildon,
3695 [ --enable-hildon Hildon touchscreen UI (default disabled)])
3696 AS_IF([test "${enable_hildon}" = "yes"], [
3697 PKG_CHECK_MODULES(HILDON, [hildon-1], [
3698 PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
3699 VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
3700 VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
3702 AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.])
3704 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
3705 VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
3706 VLC_ADD_PLUGIN([hildon])
3707 ALIASES="${ALIASES} mvlc"
3709 AS_IF([test "${enable_hildon}" = "yes"],[
3710 AC_MSG_ERROR([${HILDON_PKG_ERRORS}.])
3715 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
3721 [ --enable-qt4 Qt 4 support (default enabled) ],, [
3722 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
3724 AS_IF([test "${enable_qt4}" != "no"], [
3725 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [
3726 VLC_ADD_PLUGIN([qt4])
3727 VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
3728 VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
3729 ALIASES="${ALIASES} qvlc"
3732 CPPFLAGS_save="${CPPFLAGS}"
3734 AC_MSG_CHECKING([whether Qt uses X11])
3735 CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
3736 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
3738 #if !defined (Q_WS_X11)
3742 AC_MSG_RESULT([yes])
3743 VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3744 VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
3749 CPPFLAGS="${CPPFLAGS_save}"
3752 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
3753 VLC_ADD_LIBS([qt4],[-lole32])
3755 AS_IF([test "${SYS}" = "darwin" ],[
3756 VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa])
3758 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3759 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3760 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
3762 AS_IF([test -n "${enable_qt4}"],[
3763 AC_MSG_ERROR([${QT4_PKG_ERRORS}.])
3765 AC_MSG_WARN([${QT4_PKG_ERRORS}.])
3770 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
3773 dnl Simple test for skins2 dependency
3775 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
3776 AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you will not be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
3780 dnl MacOS X gui module
3782 AC_ARG_ENABLE(macosx,
3783 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
3784 if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
3786 VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL])
3787 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
3788 VLC_ADD_PLUGIN([macosx minimal_macosx])
3790 VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit])
3792 CFLAGS="-I${CONTRIB_DIR}/Sparkle.framework/Headers ${CFLAGS_saved}"
3793 AC_CHECK_HEADERS(Sparkle.h, [
3794 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
3795 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3797 if ! test -d ${CONTRIB_DIR}/BGHUDAppKit.framework
3799 AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
3801 VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
3802 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
3807 dnl MacOS X dialor provider
3809 AC_ARG_ENABLE(macosx-dialog-provider,
3810 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
3811 if test "x${enable_macosx_dialog_provider}" != "xno" &&
3812 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
3814 VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
3815 VLC_ADD_PLUGIN([macosx_dialog_provider])
3821 AC_ARG_ENABLE(ncurses,
3822 [ --disable-ncurses ncurses interface support (default disabled)],
3823 [if test "${enable_ncurses}" != "no"; then
3824 AC_CHECK_HEADER(ncurses.h,
3825 [AC_CHECK_LIB(ncursesw, mvprintw,
3826 [VLC_ADD_PLUGIN([ncurses])
3827 VLC_ADD_LIBS([ncurses],[-lncursesw])
3828 ALIASES="${ALIASES} nvlc"
3829 AC_CHECK_LIB(ncursesw, tgetent, [],
3830 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
3831 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
3832 [AS_IF([test "${enable_ncurses}" = "yes"],
3833 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
3839 [AS_IF([test "${enable_ncurses}" = "yes"], [
3840 AC_MSG_ERROR([libncursesw not found])])]
3842 [AS_IF([test "${enable_ncurses}" = "yes"], [
3843 AC_MSG_ERROR([ncurses.h not found])])]
3852 [ --enable-xosd xosd interface support (default disabled)])
3853 if test "${enable_xosd}" = "yes"
3855 AC_CHECK_HEADERS(xosd.h,
3856 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
3857 VLC_ADD_PLUGIN([xosd])
3858 VLC_ADD_LIBS([xosd],[-lxosd])
3864 dnl Framebuffer (overlay) plugin
3866 AC_ARG_ENABLE(fbosd,
3867 [ --enable-fbosd fbosd interface support (default disabled)])
3868 if test "${enable_fbosd}" = "yes"
3870 AC_CHECK_HEADERS(linux/fb.h, [
3871 VLC_ADD_PLUGIN([fbosd])
3879 [ --enable-lirc lirc support (default disabled)])
3880 if test "${enable_lirc}" = "yes"
3882 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3883 if test "${have_lirc}" = "true"
3885 VLC_ADD_PLUGIN([lirc])
3886 VLC_ADD_LIBS([lirc],[-llirc_client])
3890 EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
3892 dnl Visualisation plugin
3894 AC_ARG_ENABLE(visual,
3895 [ --enable-visual visualisation plugin (default enabled)])
3896 if test "${enable_visual}" != "no"
3898 VLC_ADD_PLUGIN([visual])
3902 dnl goom visualization plugin
3904 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
3907 dnl libprojectM visualization plugin
3909 AC_ARG_ENABLE(projectm,
3910 [ --enable-projectm projectM visualization plugin (default enabled)])
3911 AS_IF([test "${enable_projectm}" != "no"],
3913 PKG_CHECK_MODULES(PROJECTM, libprojectM,
3915 VLC_ADD_PLUGIN([projectm])
3916 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
3917 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
3918 PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
3919 [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
3920 [ AC_MSG_WARN( [Using libprojectM version 1] )
3923 AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
3928 dnl AtmoLight (homemade Philips Ambilight clone)
3931 AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
3932 (default enabled)]),, [enable_atmo="yes"])
3933 AS_IF([test "${enable_atmo}" != no], [
3934 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
3936 VLC_ADD_PLUGIN([atmo])
3941 EXTEND_HELP_STRING([Service Discovery plugins:])
3943 dnl Bonjour services discovery
3944 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
3947 dnl libudev services discovery
3948 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
3951 dnl MTP devices services discovery
3952 PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
3955 dnl UPnP Plugin (Intel SDK)
3957 PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
3958 VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
3960 EXTEND_HELP_STRING([Misc options:])
3965 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3971 AC_ARG_ENABLE(libgcrypt,
3972 [ --disable-libgcrypt gcrypt support (default enabled)])
3973 AS_IF([test "${enable_libgcrypt}" != "no"], [
3974 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
3975 libgcrypt-config --version >/dev/null || \
3976 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
3977 AC_CHECK_LIB(gcrypt, gcry_control, [
3978 have_libgcrypt="yes"
3979 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
3980 GCRYPT_LIBS="`libgcrypt-config --libs`"
3982 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3983 ], [`libgcrypt-config --libs`])
3985 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
3986 ], [#include <gcrypt.h>]
3990 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
3991 AS_IF([test "${have_libgcrypt}" = "yes"],[
3992 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
3995 AC_SUBST(GCRYPT_CFLAGS)
3996 AC_SUBST(GCRYPT_LIBS)
3997 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4002 AC_ARG_ENABLE(gnutls,
4003 [ --enable-gnutls GNU TLS TLS/SSL support (default enabled)])
4005 AS_IF([test "${have_libgcrypt}" != "yes"], [
4006 AS_IF([test "${enable_gnutls}" = "yes"], [
4007 AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
4011 AS_IF([test "${enable_gnutls}" != "no"], [
4012 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
4013 VLC_ADD_PLUGIN([gnutls])
4014 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4015 AS_IF([test "${SYS}" = "mingw32"], [
4016 dnl pkg-config --libs gnutls omits these
4017 VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
4019 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4020 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4021 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4023 AS_IF([test -n "${enable_gnutls}"], [
4024 AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
4031 dnl RemoteOSD plugin (VNC client as video filter)
4033 AC_MSG_CHECKING([whether to enable the RemoteOSD plugin])
4034 AS_IF([test "${have_libgcrypt}" = "yes"],[
4036 VLC_ADD_PLUGIN([remoteosd])
4037 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4038 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4041 AC_MSG_WARN([libgcrypt support required for RemoteOSD plugin])
4048 AC_MSG_CHECKING([whether to enable the RAOP plugin])
4049 AS_IF([test "${have_libgcrypt}" = "yes"], [
4051 VLC_ADD_PLUGIN([stream_out_raop])
4052 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4053 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4056 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4061 dnl Nokia MCE plugin (Maemo screen unblanking)
4063 PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])
4066 AS_IF([test -f "/etc/maemo_version"], [
4067 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4074 AC_ARG_ENABLE(taglib,
4075 [AS_HELP_STRING([--disable-taglib],
4076 [do not use TagLib (default enabled)])])
4077 AS_IF([test "${enable_taglib}" != "no"], [
4078 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
4079 VLC_ADD_PLUGIN([taglib])
4080 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
4081 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
4083 AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
4088 dnl update checking system
4090 AC_ARG_ENABLE(update-check,
4091 [ --enable-update-check update checking system (default disabled)])
4092 if test "${enable_update_check}" = "yes"
4094 if test "${have_libgcrypt}" != "yes"
4096 AC_MSG_ERROR([libgcrypt is required for update checking system])
4098 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4099 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4100 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4104 dnl Growl notification plugin
4106 AC_ARG_ENABLE(growl,
4107 [ --enable-growl growl notification plugin (default disabled)],,
4109 AS_IF([test "${enable_growl}" != "no"], [
4110 AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
4111 VLC_ADD_PLUGIN([growl])
4112 VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,CoreFoundation])
4113 VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
4114 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
4120 dnl Libnotify notification plugin
4122 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])
4127 AC_ARG_ENABLE(media-library,
4128 [ --enable-media-library media library (default disabled)])
4129 AS_IF([test "${enable_media_library}" = "yes"], [
4130 AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
4131 VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
4132 VLC_ADD_PLUGIN([media_library])
4137 AS_IF([test "${SYS}" != "darwin"], [
4138 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3 >= 3.6.0], [sqlite3], [auto])
4140 AS_IF([test "${enable_sqlite}" != "no"], [
4141 AC_CHECK_HEADERS(sqlite3.h, [
4142 VLC_ADD_PLUGIN([sqlite])
4143 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4145 AC_MSG_ERROR([sqlite3 is required for the media library])
4153 dnl Endianness check
4156 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4157 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4161 AC_SUBST(DEFS_BIGENDIAN)
4164 dnl Where to install KDE solid .desktop
4166 AC_ARG_VAR([KDE4_CONFIG], [kde4-config utility])
4167 AS_IF([test "x$KDE4_CONFIG" = "x"], [
4168 KDE4_CONFIG="kde4-config"
4171 AC_ARG_WITH(kde-solid,
4172 AS_HELP_STRING([--with-kde-solid=PATH],
4173 [KDE Solid actions directory (auto)]),, [
4175 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ; then
4176 with_kde_solid="yes"
4180 AS_IF([test "${with_kde_solid}" != "no"], [
4181 AS_IF([test "${with_kde_solid}" = "yes"], [
4182 kde4datadir="`${KDE4_CONFIG} --install data`"
4183 AS_IF([test "x$kde4datadir" = "x"], [kde4datadir='${datadir}/kde4/apps'])
4184 soliddatadir="${kde4datadir}/solid/actions"
4186 soliddatadir="${with_kde_solid}"
4189 AC_SUBST(soliddatadir)
4190 AM_CONDITIONAL(KDE_SOLID, [test "x${soliddatadir}" != "x"])
4193 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4196 AC_ARG_ENABLE(loader,
4197 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4198 (default disabled)]))
4199 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4200 AS_IF([test "${enable_loader}" = "yes"],
4201 [ VLC_ADD_PLUGIN([dmo])
4202 VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/modules/codec/loader])
4203 VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la])
4204 VLC_ADD_CPPFLAGS([realvideo], [-DLOADER])
4205 VLC_ADD_LIBS([dmo quicktime], [-lpthread])
4208 EXTEND_HELP_STRING([Components:])
4214 [ --enable-vlc build the VLC media player (default enabled)])
4215 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4217 AC_ARG_ENABLE(macosx-vlc-app,
4218 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4219 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4220 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4223 dnl Stuff used by the program
4225 VERSION_MESSAGE="${VERSION} ${CODENAME}"
4226 COPYRIGHT_MESSAGE="Copyright © ${COPYRIGHT_YEARS} the VideoLAN team"
4227 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
4228 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
4229 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
4230 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4231 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
4232 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
4233 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
4234 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
4235 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
4236 AC_SUBST(COPYRIGHT_MESSAGE)
4237 AC_SUBST(VERSION_MESSAGE)
4238 AC_SUBST(VERSION_MAJOR)
4239 AC_SUBST(VERSION_MINOR)
4240 AC_SUBST(VERSION_REVISION)
4241 AC_SUBST(VERSION_EXTRA)
4242 AC_SUBST(COPYRIGHT_YEARS)
4243 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
4244 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
4245 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
4247 dnl Handle substvars that use $(top_srcdir)
4249 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
4257 dnl Sort the modules list
4259 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
4262 dnl Configuration is finished
4272 AC_SUBST(WINE_SDK_PATH)
4274 AC_SUBST(AM_CPPFLAGS)
4275 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
4276 AC_SUBST(FILE_LIBVLCCORE_DLL)
4277 AC_SUBST(FILE_LIBVLC_DLL)
4292 modules/access/Makefile
4293 modules/access/bd/Makefile
4294 modules/access/dshow/Makefile
4295 modules/access/mms/Makefile
4296 modules/access/rtp/Makefile
4297 modules/access/rtsp/Makefile
4298 modules/access/vcd/Makefile
4299 modules/access/vcdx/Makefile
4300 modules/access/screen/Makefile
4301 modules/access/zip/Makefile
4302 modules/access/zip/unzip/Makefile
4303 modules/access_output/Makefile
4304 modules/audio_filter/Makefile
4305 modules/audio_mixer/Makefile
4306 modules/audio_output/Makefile
4307 modules/codec/Makefile
4308 modules/codec/avcodec/Makefile
4309 modules/codec/dmo/Makefile
4310 modules/codec/loader/Makefile
4311 modules/codec/omxil/Makefile
4312 modules/codec/shine/Makefile
4313 modules/codec/spudec/Makefile
4314 modules/codec/wmafixed/Makefile
4315 modules/control/Makefile
4316 modules/control/dbus/Makefile
4317 modules/control/globalhotkeys/Makefile
4318 modules/demux/Makefile
4319 modules/demux/asf/Makefile
4320 modules/demux/avformat/Makefile
4321 modules/demux/avi/Makefile
4322 modules/demux/mkv/Makefile
4323 modules/demux/mp4/Makefile
4324 modules/demux/mpeg/Makefile
4325 modules/demux/playlist/Makefile
4326 modules/gui/Makefile
4327 modules/gui/macosx/Makefile
4328 modules/gui/hildon/Makefile
4329 modules/gui/minimal_macosx/Makefile
4330 modules/gui/macosx_dialog_provider/Makefile
4331 modules/gui/qt4/Makefile
4332 modules/gui/skins2/Makefile
4333 modules/lua/Makefile
4334 modules/meta_engine/Makefile
4335 modules/misc/Makefile
4336 modules/misc/playlist/Makefile
4337 modules/misc/osd/Makefile
4338 modules/misc/stats/Makefile
4339 modules/media_library/Makefile
4340 modules/mux/Makefile
4341 modules/mux/mpeg/Makefile
4342 modules/notify/Makefile
4343 modules/packetizer/Makefile
4344 modules/services_discovery/Makefile
4345 modules/stream_filter/Makefile
4346 modules/stream_filter/dash/Makefile
4347 modules/stream_out/Makefile
4348 modules/stream_out/transcode/Makefile
4349 modules/text_renderer/Makefile
4350 modules/video_chroma/Makefile
4351 modules/video_filter/Makefile
4352 modules/video_filter/dynamicoverlay/Makefile
4353 modules/video_output/Makefile
4354 modules/video_output/msw/Makefile
4355 modules/visualization/Makefile
4356 modules/visualization/visual/Makefile
4357 modules/mmx/Makefile
4358 modules/mmxext/Makefile
4359 modules/3dnow/Makefile
4360 modules/sse2/Makefile
4361 modules/altivec/Makefile
4362 modules/arm_neon/Makefile
4365 AM_COND_IF([HAVE_WIN32], [
4367 extras/package/win32/spad.nsi
4368 extras/package/win32/vlc.win32.nsi
4372 AM_COND_IF([HAVE_DARWIN], [
4374 extras/package/macosx/Info.plist
4375 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
4379 dnl Generate makefiles
4382 dnl Do we have to use make or gmake ?
4383 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
4384 dnl Shortcut to nice compile message
4386 if test -n $SHELL; then
4387 SHELL=${CONFIG_SHELL-/bin/sh}
4389 echo '#! '$SHELL >compile
4390 echo rm -f .error\$\$ >>compile
4391 echo ERROR=0 >>compile
4392 echo export PATH=$PATH LANG=C >>compile
4393 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
4394 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
4395 echo test -f .error\$\$ \&\& ERROR=1 >>compile
4396 echo rm -f .error\$\$ >>compile
4397 echo exit \$ERROR >>compile
4401 libvlc configuration
4402 --------------------
4403 version : ${VERSION}
4405 architecture : ${ARCH}
4406 optimizations : ${enable_optimizations}"
4407 if test "${enable_vlc}" != "no"; then
4408 echo "vlc aliases :${ALIASES}"
4410 echo "build vlc executable : no"
4413 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."