1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
5 AC_INIT(vlc, 1.1.0-git)
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
14 CODENAME="Yellow Bastard"
15 COPYRIGHT_YEARS="1996-2009"
18 AC_CONFIG_SRCDIR(src/libvlc.c)
19 AC_CONFIG_AUX_DIR(autotools)
20 AC_CONFIG_MACRO_DIR(m4)
21 AC_CONFIG_LIBOBJ_DIR(compat)
25 AM_INIT_AUTOMAKE(tar-ustar)
26 AM_CONFIG_HEADER(config.h)
28 # Disable with "./configure --disable-silent-rules" or "make V=1"
29 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
32 dnl Too many people are not aware of maintainer mode:
33 dnl If you want to use it, you definitely know what you are doing, so
34 dnl you can specify "--disable-maintainer-mode". But if you want the default
35 dnl automake behavior, you've likely never heard of maintainer mode, so we
36 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}"
53 dnl Deprecated options
54 dnl to notify packagers that stuff has changed
56 AC_ARG_ENABLE(python-bindings,
57 [ --enable-python-bindings Always fails for historical reasons)],,
58 [enable_python_bindings="no"])
59 AS_IF([test "${enable_python_bindings}" != "no"], [
60 AC_MSG_ERROR([Python bindings are now built from a separate source package])
63 AC_ARG_ENABLE(java-bindings,
64 [ --enable-java-bindings Always fails for historical reasons],,
65 [enable_java_bindings="no"])
66 AS_IF([test "${enable_java_bindings}" != "no"], [
67 AC_MSG_ERROR([Java bindings are now built from a separate source package])
79 AC_USE_SYSTEM_EXTENSIONS
80 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
86 _AM_DEPENDENCIES([OBJC])
92 dnl Find the right ranlib, even when cross-compiling
93 AC_CHECK_TOOL(RANLIB, ranlib, :)
94 AC_CHECK_TOOL(STRIP, strip, :)
95 AC_CHECK_TOOL(AR, ar, :)
96 AC_CHECK_TOOL(LD, ld, :)
97 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
99 dnl Check for compiler properties
104 dnl Allow binary package maintainer to pass a custom string to avoid
106 AC_ARG_WITH(binary-version,
107 AS_HELP_STRING([--with-binary-version=STRING],
108 [To avoid plugins cache problem between binary version]),[],[])
109 AS_IF([test -n "${with_binary_version}"],[
110 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
111 [Binary specific version])
116 dnl Check for the contrib directory
119 [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[])
120 AS_IF([test "${with_contrib}" != "no"],[
121 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
122 if test -z "$CONTRIB_DIR"
124 topdir="`dirname $0`"
125 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
126 topdir="`pwd`/$topdir"
128 CONTRIB_DIR=${topdir}/extras/contrib/hosts/${host}
130 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
131 AS_IF([test -d ${CONTRIB_DIR}/lib],[
133 export PATH=${CONTRIB_DIR}/bin:$PATH
134 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
135 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
136 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
137 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
138 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
139 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
140 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
141 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
142 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
143 export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
145 export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
147 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
148 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
150 if test -z $with_mozilla_sdk_path; then
151 with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
153 if test -z $with_cyberlink_tree; then
154 with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
157 if test ".`uname -s`" = ".Darwin"; then
158 export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
159 export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
160 elif test ".`uname -s`" = ".BeOS"; then
161 export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
162 export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
169 dnl Set default values
171 LDFLAGS_vlc="${LDFLAGS}"
174 dnl Check the operating system
185 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
186 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
190 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
193 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
194 CPPFLAGS="${CPPFLAGS_save}"
195 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
196 LDFLAGS="${LDFLAGS_save}"
199 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
200 CPPFLAGS="${CPPFLAGS_save}"
201 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
202 LDFLAGS="${LDFLAGS_save}"
208 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
209 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
210 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
211 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
212 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
213 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
214 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
215 VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
216 VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
217 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
218 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
219 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
220 AC_ARG_ENABLE(macosx-defaults,
221 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
222 if test "x${enable_macosx_defaults}" != "xno"
225 echo "Building with Mac OS X defaults:"
226 with_macosx_version_min="10.5"
227 echo " Assuming --with-macosx-version-min=10.5"
228 with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
229 echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
231 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
232 ac_default_prefix="${build_dir}/vlc_install_dir"
234 echo " Assuming --enable-macosx"
236 echo " Assuming --enable-faad"
238 echo " Assuming --enable-flac"
240 echo " Assuming --enable-theora"
242 echo " Assuming --enable-shout"
244 echo " Assuming --enable-cddax"
246 echo " Assuming --enable-vcdx"
248 echo " Assuming --enable-caca"
250 echo " Assuming --enable-ncurses"
252 echo " Assuming --enable-twolame"
253 enable_realrtsp="yes"
254 echo " Assuming --enable-realrtsp"
256 echo " Assuming --enable-libass"
257 enable_asademux="yes"
258 echo " Assuming --enable-asademux"
261 echo " Assuming --disable-skins2"
263 echo " Assuming --disable-xcb"
266 dnl Check for Mac OS X SDK settings
268 AC_ARG_WITH(macosx-sdk,
269 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
270 if test "${with_macosx_sdk}" != "" ; then
271 CPP="${CPP} -isysroot ${with_macosx_sdk}"
272 CC="${CC} -isysroot ${with_macosx_sdk}"
273 CXX="${CXX} -isysroot ${with_macosx_sdk}"
274 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
275 LD="${LD} -syslibroot ${with_macosx_sdk}"
277 AC_ARG_WITH(macosx-version-min,
278 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
279 if test "${with_macosx_version_min}" != "" ; then
280 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
281 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
282 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
283 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
284 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
285 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
286 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
287 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
288 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
289 export MACOSX_DEPLOYMENT_TARGET
293 if (test ".`uname -p`" = ".i386"); then
294 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
295 dnl without hacking it a lot, we disable mmx and sse.
296 dnl (that bug is about ld being unable to handle
298 save_cflags="$CFLAGS"
299 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
301 [int a;], [asm("movq _a,%mm0\n");],
302 ac_ld_does_not_support_text_reloc=no,
303 ac_ld_does_not_support_text_reloc=yes)
304 CFLAGS="$save_cflags"
306 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
308 echo " Assuming --disable-mmx (due to a bug in ld)"
310 echo " Assuming --disable-sse (due to a bug in ld)"
314 *mingw32* | *cygwin* | *wince* | *mingwce*)
315 AC_CHECK_TOOL(WINDRES, windres, :)
316 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
319 *wince* | *mingwce* | *mingw32ce*)
321 dnl Sadly CeGCC still needs non-wince macros
322 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
326 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
329 dnl Check if we are using the mno-cygwin mode in which case we are
330 dnl actually dealing with a mingw32 compiler.
331 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
336 SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
340 if test "${SYS}" = "mingw32"; then
341 # add ws2_32 for closesocket, select, recv
342 VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
343 VLC_ADD_LDFLAGS([vlc],[-mwindows])
344 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
345 VLC_ADD_LIBS([cdda vcdx cddax sdl_image aout_sdl vout_sdl],[-lwinmm])
346 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[-lws2_32])
347 VLC_ADD_LIBS([access_file], [-lshlwapi])
349 dnl DEP and ASLR options
351 AC_ARG_ENABLE(peflags,
352 [ --enable-peflags peflags use (default enabled)])
353 if test "${enable_peflags}" != "no"
355 AC_CHECK_TOOL(PEFLAGS, peflags, :)
358 if test "${SYS}" = "mingwce"; then
359 # add ws2 for closesocket, select, recv
360 VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts telnet audiobargraph_a],[-lws2])
361 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
375 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
376 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
377 VLC_ADD_CXXFLAGS([beos],[])
378 VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
379 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
380 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
381 VLC_ADD_LIBS([access_file],[-lpoll])
382 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
384 if test -f /boot/beos/system/lib/libbind.so; then
385 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
387 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet])
390 dnl Ugly check for Zeta
391 if test -f /boot/beos/system/lib/libzeta.so; then
392 VLC_ADD_LIBS([beos],[-lzeta])
399 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
400 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
401 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
402 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
403 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
404 AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"])
407 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
408 dnl for program foo on win32
410 case "${build_os}" in
412 ac_executable_extensions=".exe"
420 dnl It's very bad, but our former custom system was worst
424 dnl override platform specific check for dependent libraries
425 dnl otherwise libtool linking of shared libraries will
426 dnl fail on anything other than pass_all.
427 AC_CACHE_VAL(lt_cv_deplibs_check_method,
428 [lt_cv_deplibs_check_method=pass_all])
431 dnl AC_DISABLE_FAST_INSTALL
434 m4_undefine([AC_PROG_F77])
435 m4_defun([AC_PROG_F77],[])
438 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
439 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
441 lt_cv_deplibs_check_method=pass_all
443 AS_IF([test "${enable_shared}" = "no"], [
444 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
450 AM_GNU_GETTEXT_VERSION([0.17])
451 AM_GNU_GETTEXT([external])
452 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
458 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
459 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
461 dnl Check for broken versions of mingw-runtime compatability library
462 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
463 AC_MSG_CHECKING(for broken mingw-runtime)
466 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
467 # error Attempting to use mingw-runtime with broken vsnprintf support
472 AC_MSG_RESULT([present])
473 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
475 dnl force use of mingw provided c99 *printf over msvcrt
476 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
477 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
480 dnl Check for the need to include the mingwex lib for mingw32
481 if test "${SYS}" = "mingw32"
483 AC_CHECK_LIB(mingwex,opendir,
484 AC_CHECK_LIB(mingw32,opendir,,
485 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
489 dnl Check for fnative-struct or mms-bitfields support for mingw32
490 if test "${SYS}" = "mingw32"
492 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
493 [ac_cv_c_mms_bitfields],
494 [CFLAGS="${CFLAGS_save} -mms-bitfields"
495 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
496 if test "${ac_cv_c_mms_bitfields}" != "no"; then
497 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
498 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
500 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
501 [ac_cv_c_fnative_struct],
502 [CFLAGS="${CFLAGS_save} -fnative-struct"
503 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
504 if test "${ac_cv_c_fnative_struct}" != "no"; then
505 CFLAGS_save="${CFLAGS_save} -fnative-struct";
506 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
510 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
513 dnl Check for fvtable-thunks support for mingw32
514 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
517 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
518 [ac_cv_cxx_fvtable_thunks],
519 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
520 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
521 ac_cv_cxx_fvtable_thunks=no)])
522 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
523 CXXFLAGS_mingw32_special="-fvtable-thunks"
526 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
531 dnl Buggy glibc prevention. Purposedly not cached.
532 dnl See sourceware.org bugs 5058 and 5443.
533 dnl Ubuntu alone has 20 bug numbers for this...
535 AC_MSG_CHECKING(for buggy GNU/libc versions)
538 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
539 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
540 # error GNU/libc with dcgettext killer bug!
543 AC_MSG_RESULT([not present])
545 AC_MSG_RESULT([found])
546 AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
547 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
548 work-around for this. Check with your distribution vendor on how to update the
549 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
550 be sure to not use LibVLC from other applications/wrappers.])
552 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
556 dnl Plugin compilation stuff
560 dnl The -DSYS_FOO flag
561 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
563 dnl Check for system libs needed
566 dnl Check for usual libc functions
567 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale])
568 AC_CHECK_FUNCS(fcntl)
569 AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll vasprintf swab tdestroy])
570 AC_CHECK_FUNCS([stricmp strnicmp])
571 AC_CHECK_FUNCS(fdatasync,,
572 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
575 dnl Check for non-standard system calls
576 AC_CHECK_FUNCS([vmsplice eventfd fstatfs accept4])
578 AH_BOTTOM([#include <vlc_fixups.h>])
580 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
582 dnl Check for setlocal and langinfo
583 AC_CHECK_FUNCS(setlocale)
584 AC_CHECK_HEADERS(langinfo.h)
585 AC_CHECK_FUNCS(nl_langinfo)
587 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
588 [AC_TRY_LINK([#include <langinfo.h>],
589 [char* cs = nl_langinfo(CODESET);],
590 ac_cv_langinfo_codeset=yes,
591 ac_cv_langinfo_codeset=no)
593 if test ${ac_cv_langinfo_codeset} = yes; then
594 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
595 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
599 AC_CHECK_FUNCS(connect,,[
600 AC_CHECK_LIB(socket,connect,[
601 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
602 SOCKET_LIBS="-lsocket"
605 AC_SUBST(SOCKET_LIBS)
607 AC_CHECK_FUNCS(send,,[
608 AC_CHECK_LIB(socket,send,[
609 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd],[-lsocket])
614 dnl Check for socklen_t
615 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
616 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
617 ac_cv_type_socklen_t,
618 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
619 [#include <sys/types.h>
621 # include <winsock2.h>
622 # include <ws2tcpip.h>
624 # include <sys/socket.h>
625 #endif]], [[socklen_t len; len = 0;]])],
626 ac_cv_type_socklen_t=yes,
627 ac_cv_type_socklen_t=no)])
628 AS_IF([test "$ac_cv_type_socklen_t" = no],
629 [AC_DEFINE(socklen_t, int)])
631 dnl Check for struct sockaddr_storage
632 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
633 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
634 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
636 [#include <sys/types.h>
637 #if defined( UNDER_CE )
638 # include <winsock2.h>
639 #elif defined( WIN32 )
640 # include <winsock2.h>
642 # include <sys/socket.h>
643 #endif], [struct sockaddr_storage addr;],
644 ac_cv_struct_sockaddr_storage=yes,
645 ac_cv_struct_sockaddr_storage=no)])
646 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
647 AC_DEFINE(sockaddr_storage, sockaddr)
648 AC_DEFINE(ss_family, sa_family)
651 dnl getaddrinfo, getnameinfo and gai_strerror check
652 dnl -lnsl and -lsocket are needed on Solaris;
653 dnl we purposedly make the test fail on Windows
655 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
656 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
658 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
661 AC_CHECK_FUNCS([getnameinfo gai_strerror])
664 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
665 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
666 [#include <sys/types.h>
667 #if defined( WIN32 ) || defined( UNDER_CE )
668 # if defined(UNDER_CE) && defined(sockaddr_storage)
669 # undef sockaddr_storage
671 # include <winsock2.h>
672 # include <ws2tcpip.h>
677 dnl Check for va_copy
678 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
680 [#include <stdarg.h>],
681 [va_list ap1, ap2; va_copy(ap1,ap2);],
682 [ac_cv_c_va_copy="yes"],
683 [ac_cv_c_va_copy="no"]))
684 if test "${ac_cv_c_va_copy}" = "yes"; then
685 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
687 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
689 [#include <stdarg.h>],
690 [va_list ap1, ap2; __va_copy(ap1,ap2);],
691 [ac_cv_c___va_copy="yes"],
692 [ac_cv_c___va_copy="no"]))
693 if test "${ac_cv_c___va_copy}" = "yes"; then
694 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
697 AC_CHECK_FUNCS(inet_aton,,[
698 AC_CHECK_LIB(resolv,inet_aton,[
699 VLC_ADD_LIBS([libvlccore],[-lresolv])
703 dnl Check for getopt (always use builtin one on win32)
704 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
708 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
709 [ # FreeBSD has a gnugetopt library for this:
710 AC_CHECK_LIB([gnugetopt],[getopt_long],
711 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
712 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
715 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
717 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
720 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
723 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
725 AC_CHECK_LIB(m,sqrt,[
726 VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract],[-lm])
728 AC_CHECK_LIB(m,ceil,[
729 VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm])
732 VLC_ADD_LIBS([gaussianblur],[-lm])
734 AC_CHECK_LIB(m,round,[
735 VLC_ADD_LIBS([dbus],[-lm])
737 AC_CHECK_LIB(m,sqrtf,[
738 VLC_ADD_LIBS([x264],[-lm])
740 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
742 AC_CHECK_LIB(m,lrintf, [
743 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
744 VLC_ADD_LIBS([skins2],[-lm])
747 dnl Check for dynamic plugins
748 ac_cv_have_plugins=no
751 if test "${ac_cv_have_plugins}" = "no"; then
752 AC_CHECK_HEADERS(dl.h)
753 ac_cv_my_have_shl_load=no
754 AC_CHECK_FUNC(shl_load,
755 [ac_cv_my_have_shl_load=yes,
756 AC_CHECK_LIB(dld, shl_load,
757 [ac_cv_my_have_shl_load=yes
758 VLC_ADD_LIBS([libvlccore],[-ldld])])])
759 if test "${ac_cv_my_have_shl_load}" = "yes"; then
760 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
761 ac_cv_have_plugins=yes
766 if test "${ac_cv_have_plugins}" = "no"; then
767 if test "${SYS}" = "mingw32" ; then
768 AC_CHECK_LIB(kernel32, main,
769 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
770 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
771 ac_cv_have_plugins=yes])
776 if test "${ac_cv_have_plugins}" = "no"; then
777 if test "${SYS}" = "mingwce"; then
778 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
779 ac_cv_have_plugins=yes
784 if test "${ac_cv_have_plugins}" = "no"; then
785 AC_CHECK_HEADERS(image.h)
786 AC_CHECK_FUNCS(load_add_on,
787 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
788 ac_cv_have_plugins=yes])
791 # Only test for dlopen() if the others didn't work
792 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
793 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
794 ac_cv_my_have_dlopen=no
795 AC_CHECK_FUNC(dlopen,
796 ac_cv_my_have_dlopen=yes,
797 AC_CHECK_LIB(dl, dlopen,
798 ac_cv_my_have_dlopen=yes
799 VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]),
800 AC_CHECK_LIB(svld, dlopen,
801 ac_cv_my_have_dlopen=yes
802 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
803 if test "${ac_cv_my_have_dlopen}" = "yes"; then
804 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
805 ac_cv_have_plugins=yes
809 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
810 dnl Check for pthreads - borrowed from XMMS
812 if test "${THREAD_LIB}" = "error"; then
813 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
815 if test "${THREAD_LIB}" = "error"; then
816 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
818 if test "${THREAD_LIB}" = "error"; then
819 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
821 if test "${THREAD_LIB}" = "error"; then
822 AC_CHECK_FUNCS(pthread_mutex_lock)
826 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
828 AC_CHECK_LIB(rt, clock_nanosleep, [
829 VLC_ADD_LIBS([libvlccore],[-lrt])
830 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
833 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
837 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
838 AC_CHECK_LIB(rt,nanosleep,
839 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
840 [AC_CHECK_LIB(posix4,nanosleep,
841 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
844 if ${have_nanosleep}; then
845 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
847 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
849 dnl Check for misc headers
850 AC_MSG_CHECKING(for strncasecmp in strings.h)
851 AC_EGREP_HEADER(strncasecmp,strings.h,[
853 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
854 Define if <strings.h> defines strncasecmp.)],[
857 dnl Check for headers
858 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
859 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
860 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
861 AC_CHECK_HEADERS([net/if.h], [], [],
863 #include <sys/types.h>
864 #include <sys/socket.h>
866 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
867 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
868 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
869 AC_CHECK_HEADERS(syslog.h)
870 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
874 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
875 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
876 AC_CHECK_TYPE(ssize_t,, [
877 AC_DEFINE(ssize_t, int)
881 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
882 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
884 AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
890 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
891 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
893 dnl Mac OS X and other OSes don't have declaration for nanosleep
894 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
895 AC_MSG_CHECKING(for nanosleep in time.h)
896 AC_EGREP_HEADER(nanosleep,time.h,[
898 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
899 Define if <time.h> defines nanosleep.)
903 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
905 dnl Make sure we have timespecs
906 AC_MSG_CHECKING(for timespec in sys/time.h)
907 AC_EGREP_HEADER(timespec,sys/time.h,[
909 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
910 Define if <sys/time.h> defines struct timespec.)
915 dnl Check for threads library
916 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
917 AC_CHECK_HEADERS(pthread.h)
918 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
920 dnl It seems that autoconf detects pkg-config only during the first
921 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
922 dnl it is nested within a conditional block, so it was not working right.
923 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
924 AC_ARG_VAR(PKG_CONFIG_PATH,
925 [Paths where to find .pc not at the default location])
926 PKG_PROG_PKG_CONFIG()
928 dnl On some OS we need static linking
929 AS_IF([test -n "${PKG_CONFIG}" ],[
930 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
931 PKG_CONFIG="${PKG_CONFIG} --static"
937 dnl Check for zlib.h and -lz along with system -lminizip if available
939 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
940 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
941 if test "${have_zlib}" = "yes"
943 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
944 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
945 AC_CHECK_HEADERS([unzip.h], [
947 MINIZIP_LIBS="-lminizip -lz"
950 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
951 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
954 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
955 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
956 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
957 VLC_ADD_PLUGIN([unzip])
958 VLC_ADD_PLUGIN([zip])
960 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
965 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
968 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
971 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
972 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
973 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
974 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
975 dnl Check for dbus control interface
976 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
977 if test "${enable_dbus_control}" != "no"
979 VLC_ADD_PLUGIN([dbus])
980 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
981 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
983 dnl Check for Telepathy
984 AC_ARG_ENABLE(telepathy,
985 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
986 if test "${enable_telepathy}" != "no"; then
987 VLC_ADD_PLUGIN([telepathy])
988 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
989 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
991 dnl Power Management Inhibiter
992 VLC_ADD_PLUGIN([inhibit])
993 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
994 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
996 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
1002 dnl build the qte plugin ?
1005 dnl Check for ntohl, etc.
1006 AC_CACHE_CHECK([for ntohl in sys/param.h],
1007 [ac_cv_c_ntohl_sys_param_h],
1008 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1009 AC_TRY_COMPILE([#include <sys/param.h>],
1010 [int meuh; ntohl(meuh);],
1011 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1012 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1013 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1015 CFLAGS="${CFLAGS_save}"
1017 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])
1018 RDC_PROG_CC_FLAGS([-pipe])
1020 AC_ARG_ENABLE(warnings-as-error,
1021 AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default disabled)]),, [enable_warnings_as_error="no"])
1022 AS_IF([test "${enable_warnings_as_error}" = "yes"], [
1023 RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
1024 missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
1025 bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
1026 overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
1028 AC_SUBST(CFLAGS_WERROR)
1030 dnl Check for various optimization flags
1031 AC_CACHE_CHECK([if \$CC accepts -Os],
1033 [CFLAGS="${CFLAGS_save} -Os"
1034 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1035 if test "${ac_cv_c_os}" != "no"; then
1036 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1038 AC_CACHE_CHECK([if \$CC accepts -O],
1040 [CFLAGS="${CFLAGS_save} -O"
1041 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1042 if test "${ac_cv_c_o}" != "no"; then
1043 if test "${ac_cv_c_o3}" = "no"; then
1044 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1049 AC_CACHE_CHECK([if \$CC accepts -O4],
1051 [CFLAGS="${CFLAGS_save} -O4"
1052 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1053 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1054 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1056 AC_CACHE_CHECK([if \$CC accepts -O3],
1058 [CFLAGS="${CFLAGS_save} -O3"
1059 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1060 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1061 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1063 AC_CACHE_CHECK([if \$CC accepts -O2],
1065 [CFLAGS="${CFLAGS_save} -O2"
1066 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1067 if test "${ac_cv_c_o2}" != "no"; then
1068 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1070 AC_CACHE_CHECK([if \$CC accepts -O],
1072 [CFLAGS="${CFLAGS_save} -O"
1073 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1074 if test "${ac_cv_c_o}" != "no"; then
1075 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1081 AC_CACHE_CHECK([if \$CC accepts -O0],
1083 [CFLAGS="${CFLAGS_save} -O0"
1084 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1085 if test "${ac_cv_c_o0}" != "no"; then
1086 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1089 dnl Check for -ffast-math
1090 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1091 [ac_cv_c_fast_math],
1092 [CFLAGS="${CFLAGS_save} -ffast-math"
1093 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1094 if test "${ac_cv_c_fast_math}" != "no"; then
1095 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1098 dnl Check for -funroll-loops
1099 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1100 if test "${SYS}" != "beos"
1102 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1103 [ac_cv_c_unroll_loops],
1104 [CFLAGS="${CFLAGS_save} -funroll-loops"
1105 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1106 if test "${ac_cv_c_unroll_loops}" != "no"; then
1107 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1111 dnl Check for -fomit-frame-pointer
1112 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1113 [ac_cv_c_omit_frame_pointer],
1114 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1115 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1116 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1117 if test "${SYS}" != "darwin"; then
1118 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1120 dnl On darwin we explicitely disable it.
1121 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1125 dnl Check for Darwin plugin linking flags
1126 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1128 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1129 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1130 if test "${ac_cv_ld_darwin}" != "no"; then
1131 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1134 dnl Checks for __attribute__(aligned()) directive
1135 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1136 [ac_cv_c_attribute_aligned],
1137 [ac_cv_c_attribute_aligned=0
1138 CFLAGS="${CFLAGS_save} -Werror"
1139 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1141 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1142 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1144 CFLAGS="${CFLAGS_save}"])
1145 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1146 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1147 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1150 dnl Check for __attribute__((packed))
1151 AC_CACHE_CHECK([for __attribute__((packed))],
1152 [ac_cv_c_attribute_packed],
1153 [ac_cv_c_attribute_packed=no
1154 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1155 [ac_cv_c_attribute_packed=yes])])
1156 if test "${ac_cv_c_attribute_packed}" != "no"; then
1157 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1163 case "${host_cpu}" in
1172 dnl Check for backtrace() support
1173 AC_CHECK_HEADERS(execinfo.h)
1174 AC_CHECK_FUNCS(backtrace)
1177 dnl Enable profiling
1179 AC_ARG_ENABLE(gprof,
1180 [ --enable-gprof gprof profiling (default disabled)])
1181 AC_ARG_ENABLE(cprof,
1182 [ --enable-cprof cprof profiling (default disabled)])
1183 test "${enable_gprof}" != "yes" && enable_gprof="no"
1184 test "${enable_cprof}" != "yes" && enable_cprof="no"
1190 VLC_ADD_PLUGIN([deinterlace])
1191 VLC_ADD_PLUGIN([yuvp])
1192 VLC_ADD_PLUGIN([invert])
1193 VLC_ADD_PLUGIN([mirror])
1194 VLC_ADD_PLUGIN([adjust])
1195 VLC_ADD_PLUGIN([transform])
1196 VLC_ADD_PLUGIN([wave])
1197 VLC_ADD_PLUGIN([ripple])
1198 VLC_ADD_PLUGIN([psychedelic])
1199 VLC_ADD_PLUGIN([gradient])
1200 VLC_ADD_PLUGIN([motionblur])
1201 VLC_ADD_PLUGIN([rv32])
1202 VLC_ADD_PLUGIN([rotate])
1203 VLC_ADD_PLUGIN([noise])
1204 VLC_ADD_PLUGIN([grain])
1205 VLC_ADD_PLUGIN([extract])
1206 VLC_ADD_PLUGIN([sharpen])
1207 VLC_ADD_PLUGIN([croppadd])
1208 VLC_ADD_PLUGIN([canvas])
1209 VLC_ADD_PLUGIN([blendbench])
1210 VLC_ADD_PLUGIN([blend])
1211 VLC_ADD_PLUGIN([scale])
1212 VLC_ADD_PLUGIN([vmem])
1213 VLC_ADD_PLUGIN([logo])
1214 VLC_ADD_PLUGIN([audiobargraph_v])
1215 VLC_ADD_PLUGIN([magnify])
1216 VLC_ADD_PLUGIN([puzzle])
1217 VLC_ADD_PLUGIN([colorthres])
1218 VLC_ADD_PLUGIN([scene])
1219 VLC_ADD_PLUGIN([yuv])
1221 ALIASES="${ALIASES} cvlc"
1224 dnl default modules that need g++
1227 VLC_ADD_PLUGIN([spatializer])
1230 if test "${SYS}" != "mingwce"; then
1231 VLC_ADD_PLUGIN([gestures])
1232 VLC_ADD_PLUGIN([rc])
1233 VLC_ADD_PLUGIN([hotkeys])
1234 VLC_ADD_PLUGIN([showintf])
1235 VLC_ADD_PLUGIN([marq])
1236 VLC_ADD_PLUGIN([podcast])
1237 VLC_ADD_PLUGIN([shout])
1238 VLC_ADD_PLUGIN([sap])
1239 VLC_ADD_PLUGIN([mediadirs])
1240 VLC_ADD_PLUGIN([fake])
1241 VLC_ADD_PLUGIN([folder])
1242 VLC_ADD_PLUGIN([rss])
1243 VLC_ADD_PLUGIN([mosaic])
1244 VLC_ADD_PLUGIN([wall])
1245 VLC_ADD_PLUGIN([motiondetect])
1246 VLC_ADD_PLUGIN([clone])
1247 VLC_ADD_PLUGIN([crop])
1248 VLC_ADD_PLUGIN([erase])
1249 VLC_ADD_PLUGIN([bluescreen])
1250 VLC_ADD_PLUGIN([alphamask])
1251 VLC_ADD_PLUGIN([gaussianblur])
1252 VLC_ADD_PLUGIN([i420_yuy2])
1253 VLC_ADD_PLUGIN([i422_yuy2])
1254 VLC_ADD_PLUGIN([i420_ymga])
1255 VLC_ADD_PLUGIN([i422_i420])
1256 VLC_ADD_PLUGIN([yuy2_i422])
1257 VLC_ADD_PLUGIN([yuy2_i420])
1258 VLC_ADD_PLUGIN([chain])
1259 VLC_ADD_PLUGIN([aout_file])
1260 VLC_ADD_PLUGIN([linear_resampler])
1261 VLC_ADD_PLUGIN([bandlimited_resampler])
1262 VLC_ADD_PLUGIN([float32_mixer])
1263 VLC_ADD_PLUGIN([spdif_mixer])
1264 VLC_ADD_PLUGIN([simple_channel_mixer])
1265 VLC_ADD_PLUGIN([dolby_surround_decoder])
1266 VLC_ADD_PLUGIN([headphone_channel_mixer])
1267 VLC_ADD_PLUGIN([normvol])
1268 VLC_ADD_PLUGIN([audiobargraph_a])
1269 VLC_ADD_PLUGIN([equalizer])
1270 VLC_ADD_PLUGIN([param_eq])
1271 VLC_ADD_PLUGIN([scaletempo])
1272 VLC_ADD_PLUGIN([a52tospdif])
1273 VLC_ADD_PLUGIN([dtstospdif])
1274 ALIASES="${ALIASES} rvlc"
1277 if test "${SYS}" = "mingwce"; then
1278 VLC_ADD_PLUGIN([chain])
1279 VLC_ADD_PLUGIN([aout_file])
1280 VLC_ADD_PLUGIN([linear_resampler])
1281 VLC_ADD_PLUGIN([bandlimited_resampler])
1282 VLC_ADD_PLUGIN([float32_mixer])
1283 VLC_ADD_PLUGIN([spdif_mixer])
1284 VLC_ADD_PLUGIN([simple_channel_mixer])
1285 VLC_ADD_PLUGIN([headphone_channel_mixer])
1286 VLC_ADD_PLUGIN([normvol])
1287 VLC_ADD_PLUGIN([audiobargraph_a])
1288 VLC_ADD_PLUGIN([a52tospdif])
1289 VLC_ADD_PLUGIN([dtstospdif])
1290 VLC_ADD_PLUGIN([i420_yuy2])
1291 VLC_ADD_PLUGIN([i422_yuy2])
1292 VLC_ADD_PLUGIN([i420_ymga])
1293 VLC_ADD_PLUGIN([i422_i420])
1294 VLC_ADD_PLUGIN([yuy2_i422])
1295 VLC_ADD_PLUGIN([yuy2_i420])
1299 dnl Some plugins aren't useful on some platforms
1301 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1302 VLC_ADD_PLUGIN([screensaver])
1303 VLC_ADD_PLUGIN([motion])
1304 VLC_ADD_PLUGIN([dynamicoverlay])
1305 VLC_ADD_PLUGIN([signals])
1306 elif test "${SYS}" != "mingwce"; then
1307 VLC_ADD_PLUGIN([ntservice])
1308 VLC_ADD_PLUGIN([access_smb])
1309 VLC_ADD_PLUGIN([dmo])
1310 VLC_ADD_PLUGIN([msn])
1311 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1312 VLC_ADD_PLUGIN([globalhotkeys])
1314 VLC_ADD_PLUGIN([win32text])
1316 if test "${SYS}" = "darwin"; then
1317 VLC_ADD_PLUGIN([quartztext])
1318 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1322 dnl Accelerated modules
1325 AC_ARG_WITH(,[Optimization options:])
1327 dnl Check for fully working MMX intrinsics
1328 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1329 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1331 [ --disable-mmx disable MMX optimizations (default auto)],,[
1332 case "${host_cpu}" in
1341 AS_IF([test "${enable_mmx}" != "no"], [
1344 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1345 [ac_cv_c_mmx_intrinsics],
1346 [CFLAGS="${CFLAGS_save} -O -mmmx"
1347 AC_TRY_COMPILE([#include <mmintrin.h>
1351 a = b = c = (__m64)frobzor;
1352 a = _mm_slli_pi16(a, 3);
1353 a = _mm_adds_pi16(a, b);
1354 c = _mm_srli_pi16(c, 8);
1355 c = _mm_slli_pi16(c, 3);
1356 b = _mm_adds_pi16(b, c);
1357 a = _mm_unpacklo_pi8(a, b);
1358 frobzor = (uint64_t)a;],
1359 [ac_cv_c_mmx_intrinsics=yes],
1360 [ac_cv_c_mmx_intrinsics=no])])
1361 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1362 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1363 [Define to 1 if MMX intrinsics are available.])
1364 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1367 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1369 [CFLAGS="${CFLAGS_save}"
1370 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1371 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1372 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1373 AC_DEFINE(CAN_COMPILE_MMX, 1,
1374 [Define to 1 inline MMX assembly is available.])
1375 VLC_ADD_PLUGIN([memcpymmx])
1376 VLC_ADD_PLUGIN([i420_rgb_mmx])
1377 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1378 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1379 VLC_ADD_PLUGIN([i420_ymga_mmx])
1382 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1383 [ac_cv_mmxext_inline],
1384 [CFLAGS="${CFLAGS_save}"
1385 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1386 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1387 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1388 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1389 [Define to 1 if MMX EXT inline assembly is available.])
1390 VLC_ADD_PLUGIN([memcpymmxext])
1394 dnl Check for fully workin SSE2 intrinsics
1395 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1396 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1398 [ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)]
1400 case "${host_cpu}" in
1409 AS_IF([test "${enable_sse}" != "no"], [
1410 ARCH="${ARCH} sse sse2"
1412 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1413 [ac_cv_c_sse2_intrinsics],
1414 [CFLAGS="${CFLAGS_save} -O -msse2"
1415 AC_TRY_COMPILE([#include <emmintrin.h>
1419 a = b = c = _mm_set1_epi64((__m64)frobzor);
1420 a = _mm_slli_epi16(a, 3);
1421 a = _mm_adds_epi16(a, b);
1422 c = _mm_srli_epi16(c, 8);
1423 c = _mm_slli_epi16(c, 3);
1424 b = _mm_adds_epi16(b, c);
1425 a = _mm_unpacklo_epi8(a, b);
1426 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1427 [ac_cv_c_sse2_intrinsics=yes],
1428 [ac_cv_c_sse2_intrinsics=no])])
1429 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1430 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1431 [Define to 1 if SSE2 intrinsics are available.])
1432 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1435 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1437 [CFLAGS="${CFLAGS_save}"
1438 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1439 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1440 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1441 AC_DEFINE(CAN_COMPILE_SSE, 1,
1442 [Define to 1 if SSE inline assembly is available.])
1445 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1446 [ac_cv_sse2_inline],
1447 [CFLAGS="${CFLAGS_save}"
1448 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1449 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1450 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1451 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1452 [Define to 1 if SSE2 inline assembly is available.])
1453 VLC_ADD_PLUGIN([i420_rgb_sse2])
1454 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1455 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1459 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1460 [ac_cv_sse3_inline],
1461 [CFLAGS="${CFLAGS_save}"
1462 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1463 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1464 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1465 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1466 [Define to 1 if SSE3 inline assembly is available.]) ])
1468 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1469 [ac_cv_ssse3_inline],
1470 [CFLAGS="${CFLAGS_save}"
1471 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1472 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1473 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1474 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1475 [Define to 1 if SSSE3 inline assembly is available.]) ])
1478 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1479 [ac_cv_sse4_1_inline],
1480 [CFLAGS="${CFLAGS_save}"
1481 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1482 ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1483 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1484 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1485 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1488 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1489 [ac_cv_sse4_2_inline],
1490 [CFLAGS="${CFLAGS_save}"
1491 AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1492 ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
1493 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1494 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1495 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1498 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
1499 [ac_cv_sse4a_inline],
1500 [CFLAGS="${CFLAGS_save}"
1501 AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1502 ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1503 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1504 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1505 [Define to 1 if SSE4A inline assembly is available.]) ])
1508 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1509 [ac_cv_3dnow_inline],
1510 [CFLAGS="${CFLAGS_save}"
1511 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1512 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1513 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1514 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1515 [Define to 1 if 3D Now! inline assembly is available.])
1516 VLC_ADD_PLUGIN([memcpy3dn])
1521 [ --disable-neon disable NEON optimizations (default auto)],, [
1522 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1524 AS_IF([test "${enable_neon}" != "no"], [
1525 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1527 AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
1529 ac_cv_neon_inline="yes"
1531 ac_cv_neon_inline="no"
1535 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
1537 AC_ARG_ENABLE(altivec,
1538 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1539 AS_IF([test "${host_cpu}" = "powerpc"],
1540 [enable_altivec=yes], [enable_altivec=no])
1542 AS_IF([test "${enable_altivec}" = "yes"], [
1543 ARCH="${ARCH} altivec";
1544 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1545 [ac_cv_altivec_inline],
1546 [CFLAGS="${CFLAGS_save}"
1547 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1548 ac_cv_altivec_inline="yes",
1549 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1550 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1551 [ac_cv_altivec_inline="-Wa,-m7400"],
1552 ac_cv_altivec_inline=no)
1554 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1555 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1556 [Define to 1 if AltiVec inline assembly is available.])
1557 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1558 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1559 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1560 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1561 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1562 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1564 VLC_ADD_PLUGIN([memcpyaltivec])
1565 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1568 dnl The AltiVec C extensions
1570 dnl There are several possible cases:
1571 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1572 dnl need <altivec.h>
1573 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1574 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1575 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1576 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1577 dnl - Others: test should fail
1578 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1580 [# OS X/PPC test (gcc 4.x)
1581 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1582 AC_TRY_COMPILE([vector unsigned char foo;],
1583 [vec_ld(0, (unsigned char *)0);],
1584 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1585 [# OS X/PPC test (gcc 3.x)
1586 CFLAGS="${CFLAGS_save} -faltivec"
1587 AC_TRY_COMPILE([vector unsigned char foo;],
1588 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1589 [ac_cv_c_altivec="-faltivec"],
1590 dnl Below this are the Linux tests
1591 [# Linux/PPC test (gcc 4.x)
1592 CFLAGS="${CFLAGS_save} -maltivec"
1593 AC_TRY_COMPILE([#include <altivec.h>],
1594 [vec_ld(0, (unsigned char *)0);],
1595 [ac_cv_c_altivec="-maltivec"],
1596 [# Linux/PPC test (gcc 3.3)
1597 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1598 AC_TRY_COMPILE([#include <altivec.h>],
1599 [vec_ld(0, (unsigned char *)0);],
1601 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1602 [# Linux/PPC test (gcc 3.3)
1603 CFLAGS="${CFLAGS_save} -fvec"
1604 AC_TRY_COMPILE([#include <altivec.h>],
1605 [vec_ld(0, (unsigned char *)0);],
1606 [ac_cv_c_altivec="-fvec"],
1607 [ac_cv_c_altivec=no])
1612 CFLAGS="${CFLAGS_save}"
1614 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1615 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1618 AC_CHECK_HEADERS(altivec.h)
1619 CPPFLAGS="${CPPFLAGS_save}"
1621 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1622 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1623 [Define to 1 if C AltiVec extensions are available.])
1624 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1625 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1626 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1627 VLC_ADD_PLUGIN([memcpyaltivec])
1628 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1631 AC_CACHE_CHECK([if linker needs -framework vecLib],
1633 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1634 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1635 LDFLAGS="${LDFLAGS_save}"
1637 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1638 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1643 dnl Special arch tuning
1646 [ --with-tuning=ARCH enable special tuning for an architecture
1647 (default Pentium 2 on IA-32 and G4 on PPC)])
1648 if test -n "${with_tuning}"; then
1649 if test "${with_tuning}" != "no"; then
1650 CFLAGS_TUNING="-mtune=${with_tuning}"
1653 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1654 CFLAGS_TUNING="-march=prescott -mtune=generic"
1655 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1656 CFLAGS_TUNING="-mtune=pentium2"
1657 elif test "${host_cpu}" = "x86_64"; then
1658 CFLAGS_TUNING="-mtune=athlon64"
1659 elif test "${host_cpu}" = "powerpc"; then
1660 CFLAGS_TUNING="-mtune=G4";
1664 dnl NOTE: this can't be cached cleanly
1665 AS_IF([test "${CFLAGS_TUNING}"],
1666 [CFLAGS_save="${CFLAGS}"
1667 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1669 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1670 AC_COMPILE_IFELSE([ ],
1672 [CFLAGS_TUNING=""; tuning="no"
1673 AS_IF([test "${with_tuning}"],
1674 [AC_MSG_ERROR([requested tuning not supported])])])
1676 AC_MSG_RESULT([$tuning])
1677 CFLAGS="${CFLAGS_save}"
1683 AC_ARG_ENABLE(optimize-memory,
1684 [ --enable-optimize-memory optimize memory usage over performance])
1685 if test "${enable_optimize_memory}" = "yes"; then
1686 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1690 dnl Enable/disable optimizations
1692 AC_ARG_ENABLE(optimizations,
1693 [ --disable-optimizations disable compiler optimizations (default enabled)])
1694 if test "${enable_optimizations}" != "no"; then
1695 if test "${enable_optimize_memory}" = "yes"; then
1696 enable_optimizations="size"
1698 enable_optimizations="speed"
1705 AC_ARG_ENABLE(debug,
1706 [ --enable-debug debug mode (default disabled)])
1707 test "${enable_debug}" != "yes" && enable_debug="no"
1709 [Define to 1 if debug code should NOT be compiled])
1710 AS_IF([test "x${enable_debug}" = "xno"], [
1713 AC_CHECK_HEADERS([valgrind/valgrind.h])
1717 dnl Allow runing as root (usefull for people runing on embedded platforms)
1719 AC_ARG_ENABLE(run-as-root,
1720 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1721 AS_IF([test "${enable_run_as_root}" = "yes"],[
1722 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1723 [Define to 1 to allow runing VLC as root (uid 0).])
1729 AC_ARG_ENABLE(coverage,
1730 [ --enable-coverage build for test coverage (default disabled)],,
1731 [enable_coverage="no"])
1732 AS_IF([test "${enable_coverage}" != "no"], [
1733 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1734 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1735 LDFLAGS="-lgcov ${LDFLAGS}"
1737 CFLAGS_save="${CFLAGS}"
1738 CXXFLAGS_save="${CXXFLAGS}"
1739 LDFLAGS_save="${LDFLAGS}"
1743 dnl Enable release-specific flags
1745 AC_ARG_ENABLE(release,
1746 [ --enable-release activate extra optimizations (default disabled)])
1747 test "${enable_release}" != "yes" && enable_release="no"
1753 [ --enable-sout Stream output modules (default enabled)])
1754 AS_IF([test "${enable_sout}" != "no"], [
1755 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1757 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1761 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1762 plugins (default enabled)]))
1763 if test "${enable_lua}" != "no"
1765 PKG_CHECK_MODULES(LUA, lua5.1,
1768 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1769 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1773 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1776 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1777 [LUA_LIBS="-llua5.1"],
1778 AC_CHECK_LIB( lua51 , luaL_newstate,
1779 [LUA_LIBS="-llua51"],
1780 AC_CHECK_LIB( lua , luaL_newstate,
1783 AS_IF([test "x${enable_lua}" = "xyes"],
1784 [AC_MSG_ERROR([lua >= 5.1 not found!])],
1785 [AC_MSG_WARN([lua >= 5.1 not found!])])
1791 if test "x${have_lua}" = "xyes" ; then
1792 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1793 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1796 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1801 AC_ARG_ENABLE(httpd,
1802 [ --enable-httpd HTTP daemon (default enabled)])
1803 if test "${enable_httpd}" != "no"
1805 VLC_ADD_PLUGIN([http])
1806 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1808 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1811 dnl libproxy support
1813 AC_ARG_ENABLE(libproxy,
1814 [ --enable-libproxy libproxy support (default auto)])
1815 AS_IF([test "${enable_libproxy}" != "no"], [
1816 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1817 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1818 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1819 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1821 AS_IF([test "x${enable_libproxy}" != "x"], [
1822 AC_MSG_ERROR([libproxy could not be found on your system])
1829 dnl VideoLAN manager
1832 [ --enable-vlm VideoLAN manager (default enabled)],,
1833 [enable_vlm="${enable_sout}"])
1834 AS_IF([test "${enable_vlm}" != "no"], [
1835 AS_IF([test "${enable_sout}" = "no"], [
1836 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1838 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1839 VLC_ADD_PLUGIN([telnet])
1841 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1844 dnl Growl notification plugin
1846 AC_ARG_ENABLE(growl,
1847 [ --enable-growl growl notification plugin (default disabled)],,
1849 AS_IF([test "${enable_growl}" != "no"], [
1850 VLC_ADD_PLUGIN([growl_udp])
1851 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1852 VLC_ADD_PLUGIN([growl])
1853 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1859 dnl Libnotify notification plugin
1861 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
1864 dnl Audioscrobbler plugin
1867 AC_ARG_ENABLE(audioscrobbler,
1868 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1869 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1870 VLC_ADD_PLUGIN([audioscrobbler])
1876 AC_ARG_ENABLE(taglib,
1877 [ --disable-taglib Taglib support (default enabled) ])
1878 AS_IF([test "${enable_taglib}" != "no"],[
1879 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1880 [ VLC_ADD_PLUGIN([taglib])
1881 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1882 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1883 [AC_MSG_WARN(TagLib library not found)])
1890 AC_ARG_WITH(,[Input plugins:])
1894 if test "${enable_livedotcom}"
1896 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1898 if test "${enable_livedotcom}" = "no"
1903 AC_ARG_ENABLE(live555,
1904 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1905 if test "${enable_live555}" != "no"; then
1906 AC_ARG_WITH(live555-tree,
1907 [ --with-live555-tree=PATH live.com tree for static linking])
1910 dnl test for --with-live555-tree
1912 if test "${with_livedotcom_tree}"
1914 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1915 with_live555_tree="${with_livedotcom_tree}"
1918 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1920 CPPFLAGS_save="${CPPFLAGS}"
1921 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1922 if test "${SYS}" = "solaris"; then
1923 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1925 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1927 AC_CHECK_HEADERS(liveMedia_version.hh, [
1928 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1930 [#include <liveMedia_version.hh>
1931 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1932 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1936 [AC_MSG_RESULT([no])
1937 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1938 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1940 AC_MSG_RESULT([yes])
1943 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1944 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1945 if test "${SYS}" = "mingw32"; then
1946 # add ws2_32 for closesocket, select, recv
1947 other_libs="$other_libs -lws2_32"
1948 elif test "${SYS}" = "mingwce"; then
1949 # add ws2 for closesocket, select, recv
1950 other_libs="$other_libs -lws2"
1952 dnl We need to check for pic because live555 don't provide shared libs
1953 dnl and we want to build a plugins so we need -fPIC on some arch.
1954 AC_CHECK_HEADERS(liveMedia.hh, [
1955 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1956 AC_CHECK_LIB(liveMedia_pic, main, [
1957 VLC_ADD_PLUGIN([live555])
1958 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1960 AC_CHECK_LIB(liveMedia, main, [
1961 VLC_ADD_PLUGIN([live555])
1962 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1963 ],[],[${other_libs}]) ],[${other_libs_pic}])
1965 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1967 CPPFLAGS="${CPPFLAGS_save}"
1970 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1971 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1972 if test -z "${real_live555_tree}"; then
1973 dnl The given directory can't be found
1975 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1977 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1978 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1980 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1981 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1983 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1984 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1985 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1989 [AC_MSG_RESULT([no])
1990 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1991 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1993 AC_MSG_RESULT([yes])
1997 VLC_ADD_PLUGIN([live555])
1999 if test "${SYS}" = "mingw32"; then
2000 # add ws2_32 for closesocket, select, recv
2001 VLC_ADD_LIBS([live555],[-lws2_32])
2004 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
2005 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
2006 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
2007 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
2009 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
2010 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
2011 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
2012 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
2013 if test "${SYS}" = "solaris"; then
2014 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
2017 dnl The given live555 wasn't built
2019 if test "${enable_live555}" = "yes"; then
2020 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2027 dnl - special access module for dc1394 input
2028 dnl - dv module: digital video module check for libraw1394
2030 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
2031 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
2034 dnl dvdread module: check for libdvdread
2036 AC_ARG_ENABLE(dvdread,
2037 [ --enable-dvdread dvdread input module (default disabled)])
2038 if test "${enable_dvdread}" != "no"
2040 AC_ARG_WITH(dvdread,
2041 [ --with-dvdread=PATH libdvdread headers and libraries])
2042 AC_ARG_WITH(dvdread-tree,
2043 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2045 dnl Temporary hack (yeah, sure ;)
2046 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2047 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2050 if test -z "${with_dvdread}"
2052 if test -z "${with_dvdread_tree}"
2054 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2055 [ VLC_ADD_PLUGIN([dvdread])
2056 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2058 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2059 [ VLC_ADD_PLUGIN([dvdread])
2060 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2062 if test -n "${enable_dvdread}"
2064 AC_MSG_ERROR([cannot find libdvdread headers])
2069 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2070 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2071 if test -z "${real_dvdread_tree}"
2073 dnl The given directory can't be found
2075 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2077 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2079 dnl Use a custom libdvdread
2080 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2081 VLC_ADD_PLUGIN([dvdread])
2082 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2083 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2085 dnl The given libdvdread wasn't built
2087 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2091 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2092 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2094 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2096 VLC_ADD_PLUGIN([dvdread])
2097 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2098 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2100 dnl No libdvdread could be found, sorry
2102 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2108 dnl libdvdnav plugin
2110 AC_ARG_ENABLE(dvdnav,
2111 [ --enable-dvdnav dvdnav input module (default enabled)])
2112 if test "${enable_dvdnav}" != "no"
2114 dnl Same hack than dvdread
2115 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2116 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2119 DVDNAV_PATH="${PATH}"
2120 AC_ARG_WITH(dvdnav-config-path,
2121 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2122 [ if test "${with_dvdnav_config_path}" != "no"
2124 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2126 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2127 if test "${DVDNAV_CONFIG}" != "no"
2129 VLC_ADD_PLUGIN([dvdnav])
2130 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2131 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2136 dnl Windows DirectShow access module
2138 AC_ARG_ENABLE(dshow,
2139 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2140 if test "${enable_dshow}" != "no"
2142 if test "${SYS}" = "mingw32"
2145 AC_CHECK_HEADERS(dshow.h,
2146 [ VLC_ADD_PLUGIN([dshow])
2147 VLC_ADD_CXXFLAGS([dshow],[])
2148 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2154 dnl Windows DirectShow BDA access module
2157 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2158 enabled on Win32)]))
2159 if test "${enable_bda}" != "no"
2161 if test "${SYS}" = "mingw32"
2163 AC_CHECK_HEADERS(dshow.h,
2164 [ VLC_ADD_PLUGIN([bda])
2165 VLC_ADD_CXXFLAGS([bda],[])
2166 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2172 dnl OpenCV wrapper and example filters
2174 AC_ARG_ENABLE(opencv,
2175 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2176 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2178 AC_ARG_WITH(opencv-tree,
2179 [ --with-opencv-tree=PATH opencv tree for linking])
2180 if test "${SYS}" = "mingw32"
2182 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2183 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2184 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2185 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2188 VLC_ADD_PLUGIN([opencv_wrapper])
2189 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2190 VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
2192 VLC_ADD_PLUGIN([opencv_example])
2193 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2194 VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
2197 dnl No opencv could be found, sorry
2199 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2202 PKG_CHECK_MODULES(OPENCV, opencv,
2204 VLC_ADD_PLUGIN([opencv_example])
2205 VLC_ADD_PLUGIN([opencv_wrapper])
2206 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2207 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2208 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2210 [AC_MSG_ERROR([libopencv not found!])]
2217 dnl libsmbclient plugin
2220 [ --enable-smb smb input module (default enabled)])
2221 if test "${enable_smb}" != "no"; then
2222 AC_CHECK_HEADERS(libsmbclient.h,
2223 [ VLC_ADD_PLUGIN([access_smb])
2224 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2225 [ if test -n "${enable_smb}"; then
2226 AC_MSG_ERROR([cannot find libsmbclient headers])
2232 dnl sftp access support
2235 [ --enable-sftp sftp input access module (default disable)])
2236 if test "${enable_sftp}" = "yes"; then
2237 AC_CHECK_HEADERS(libssh2.h, [
2238 VLC_ADD_PLUGIN([access_sftp])
2239 VLC_ADD_LIBS([access_sftp], [-lssh2])
2244 dnl libdvbpsi ts demux/mux
2246 AC_ARG_ENABLE(dvbpsi,
2247 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2249 if test "${enable_dvbpsi}" != "no"
2252 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2254 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2255 case "${with_dvbpsi}" in
2257 if test -z "${with_dvbpsi_tree}"
2259 AC_CHECK_HEADERS(dvbpsi/dr.h,
2260 [ VLC_ADD_PLUGIN([ts])
2261 if test "${enable_sout}" != "no"; then
2262 VLC_ADD_PLUGIN([mux_ts])
2264 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2266 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2267 [#if defined( HAVE_STDINT_H )
2268 # include <stdint.h>
2269 #elif defined( HAVE_INTTYPES_H )
2270 # include <inttypes.h>
2272 #include <dvbpsi/dvbpsi.h>
2273 #include <dvbpsi/descriptor.h>
2274 #include <dvbpsi/pat.h>
2275 #include <dvbpsi/pmt.h>])
2277 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2278 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2279 if test -z "${real_dvbpsi_tree}"
2281 dnl The given directory can't be found
2283 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2285 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2287 dnl Use a custom libdvbpsi
2288 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2289 VLC_ADD_PLUGIN([ts])
2290 if test "${enable_sout}" != "no"; then
2291 VLC_ADD_PLUGIN([mux_ts])
2293 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2294 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2297 dnl The given libdvbpsi wasn't built
2299 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2304 dnl Compile without dvbpsi
2307 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2308 if test -z "${with_dvbpsi}"
2313 LDFLAGS_test="-L${with_dvbpsi}/lib"
2314 CPPFLAGS_test="-I${with_dvbpsi}/include"
2316 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2317 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2318 VLC_ADD_PLUGIN([ts])
2319 if test "${enable_sout}" != "no"; then
2320 VLC_ADD_PLUGIN([mux_ts])
2322 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2323 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2326 if test -n "${enable_dvbpsi}"
2328 AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
2331 [#if defined( HAVE_STDINT_H )
2332 # include <stdint.h>
2333 #elif defined( HAVE_INTTYPES_H )
2334 # include <inttypes.h>
2336 #include <dvbpsi/dvbpsi.h>
2337 #include <dvbpsi/descriptor.h>
2338 #include <dvbpsi/pat.h>
2339 #include <dvbpsi/pmt.h>])
2340 CPPFLAGS="${CPPFLAGS_save}"
2343 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2344 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2345 ], [], [${LIBS_ts}])
2350 dnl Video4Linux plugin
2353 [ --enable-v4l Video4Linux input support (default disabled)])
2354 if test "${enable_v4l}" = "yes"
2357 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2358 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2360 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2363 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2364 AC_CHECK_HEADERS(linux/videodev.h, [
2365 VLC_ADD_PLUGIN([v4l])
2367 CPPFLAGS="${CPPFLAGS_save}"
2371 dnl libv4l1 support for video4linux.
2373 AC_ARG_ENABLE( libv4l,
2374 [ --enable-libv4l Libv4l Video4Linux support (default enabled)])
2375 if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no"
2377 PKG_CHECK_MODULES( LIBV4L, libv4l1, [
2378 VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}])
2379 VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}])
2380 AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)],
2381 AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found])
2386 dnl Video4Linux2 plugin
2389 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2390 if test "${enable_v4l2}" != "no"
2393 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2394 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2396 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2399 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2400 AC_CHECK_HEADERS(linux/videodev2.h, [
2401 VLC_ADD_PLUGIN([v4l2])
2403 CPPFLAGS="${CPPFLAGS_save}"
2407 dnl libv4l2 support for video4linux.
2409 AC_ARG_ENABLE( libv4l2,
2410 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2411 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2413 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2414 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2415 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2416 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2417 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2422 dnl special access module for Hauppauge PVR cards
2425 [ --enable-pvr PVR cards access module (default disabled)])
2426 if test "${enable_pvr}" = "yes"
2428 VLC_ADD_PLUGIN([pvr])
2429 AC_ARG_WITH(videodev2,
2430 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2431 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2433 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2436 AC_CACHE_CHECK([for new linux/videodev2.h],
2437 [ac_cv_new_linux_videodev2_h],
2439 #include <sys/types.h>
2440 # ifdef VIDEODEV2_H_FILE
2441 # include VIDEODEV2_H_FILE
2443 # include <linux/videodev2.h>
2446 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2447 ac_cv_new_linux_videodev2_h=yes,
2448 ac_cv_new_linux_videodev2_h=no)])
2449 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2450 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2455 dnl gnomeVFS access module
2457 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2460 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2461 AC_ARG_ENABLE(libcdio,
2462 [ --enable-libcdio CD input and control library support (default enabled)])
2464 AC_ARG_ENABLE(vcdinfo,
2465 [ --enable-vcdinfo VCD information library support (default enabled)])
2469 if test "${enable_libcdio}" != "no"
2471 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2473 AC_DEFINE(HAVE_LIBCDIO, 1,
2474 [Define if you have libcdio 0.78.2 or greater installed]),
2475 [AC_MSG_WARN(CD Reading and information library not found)])
2477 if test "${enable_vcdinfo}" != "no"
2479 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2480 [have_libvcdinfo=yes],
2481 [AC_MSG_WARN(VCD information library not found)])
2486 dnl VCDX and CDDAX modules
2488 AC_ARG_ENABLE(cddax,
2489 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2490 via libcdio (default disabled)]))
2492 AC_ARG_ENABLE(libcddb,
2493 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2495 if test "${enable_cddax}" = "yes"
2497 if test "$have_libcdio" = "yes"
2499 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2500 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2501 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2502 VLC_ADD_PLUGIN([cddax])
2503 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2504 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2505 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2507 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2511 if test "$enable_libcddb" != "no"; then
2512 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2514 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2515 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2516 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2518 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2525 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2527 if test "${enable_vcdx}" = "yes"
2529 if test "${have_libvcdinfo}" = "yes"
2531 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2532 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2534 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2538 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2539 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2540 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2541 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2544 if test "$have_libvcdinfo" = "yes"
2546 AC_DEFINE(HAVE_VCDX, 1,
2547 [Define for the VCD plugin using libcdio/libvcdinfo])
2548 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2549 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2550 VLC_ADD_PLUGIN([vcdx])
2552 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2558 dnl Built-in CD-DA and VCD module
2561 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2564 [ --enable-vcd built-in VCD (default enabled)])
2566 if test "${enable_vcd}" != "no"
2568 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2569 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2571 VLC_ADD_PLUGIN([vcd])
2572 VLC_ADD_PLUGIN([cdda])
2577 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2578 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2580 VLC_ADD_PLUGIN([vcd])
2581 VLC_ADD_PLUGIN([cdda])
2582 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2587 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2588 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2590 VLC_ADD_PLUGIN([vcd])
2591 VLC_ADD_PLUGIN([cdda])
2592 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2597 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2599 VLC_ADD_PLUGIN([vcd])
2600 VLC_ADD_PLUGIN([cdda])
2603 if test "${SYS}" = "darwin"
2605 VLC_ADD_PLUGIN([vcd])
2606 VLC_ADD_PLUGIN([cdda])
2607 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2608 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2611 if test "$enable_libcddb" != "no"; then
2612 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2614 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2615 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2616 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2618 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2624 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2627 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2629 if test "${enable_dvb}" != "no"
2631 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2633 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2634 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2636 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2638 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2639 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2640 VLC_ADD_PLUGIN([dvb])
2641 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2642 CPPFLAGS="${CPPFLAGS_save}"
2644 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2649 dnl Screen capture module
2651 AC_ARG_ENABLE(screen,
2652 [ --enable-screen Screen capture support (default enabled)])
2653 if test "${enable_screen}" != "no"; then
2654 if test "${SYS}" = "darwin"; then
2655 AC_CHECK_HEADERS(OpenGL/gl.h, [
2656 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2657 VLC_ADD_PLUGIN([screen])
2658 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2661 elif test "${SYS}" = "mingw32"; then
2662 VLC_ADD_PLUGIN([screen])
2663 VLC_ADD_LIBS([screen],[-lgdi32])
2664 elif test "${SYS}" = "mingwce"; then
2665 CPPFLAGS="${CPPFLAGS_save}"
2666 elif test "${SYS}" = "beos"; then
2667 VLC_ADD_PLUGIN([screen])
2668 VLC_ADD_CXXFLAGS([screen],[])
2669 VLC_ADD_LIBS([screen],[-lbe])
2674 dnl ipv6 plugin - not for QNX yet
2677 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2678 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2681 AS_IF([test "${have_ipv6}" = "yes"], [
2682 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2685 AC_CHECK_FUNCS(inet_ntop,[
2686 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2690 dnl ogg demux plugin
2692 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2693 if test "${enable_sout}" != "no"; then
2694 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2697 if test "${enable_sout}" != "no"; then
2698 dnl Check for libshout
2699 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2703 dnl matroska demux plugin
2706 [ --enable-mkv Matroska demux support (default enabled)])
2707 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2709 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2710 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2712 [#include <ebml/EbmlVersion.h>
2713 #ifdef LIBEBML_VERSION
2714 #if LIBEBML_VERSION >= 0x000706
2718 [AC_MSG_RESULT([yes])
2719 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2720 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2722 [#include <matroska/KaxVersion.h>
2723 #ifdef LIBMATROSKA_VERSION
2724 #if LIBMATROSKA_VERSION >= 0x000705
2728 [AC_MSG_RESULT([yes])
2729 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2730 VLC_ADD_CXXFLAGS([mkv],[])
2731 if test "${SYS}" = "darwin"; then
2732 VLC_ADD_CXXFLAGS([mkv],[-O1])
2734 AC_CHECK_LIB(ebml_pic, main, [
2735 VLC_ADD_PLUGIN([mkv])
2736 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2738 AC_CHECK_LIB(ebml, main, [
2739 VLC_ADD_PLUGIN([mkv])
2740 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2744 [AC_MSG_RESULT([no])
2745 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.])
2749 [AC_MSG_RESULT([no])
2750 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.])
2757 dnl modplug demux plugin
2760 [ --enable-mod Mod demux support (default enabled)])
2761 if test "${enable_mod}" != "no"
2763 AC_ARG_WITH(mod-tree,
2764 [ --with-mod-tree=PATH mod tree for static linking])
2765 if test -n "${with_mod_tree}"
2767 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2768 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2769 if test -z "${real_mod_tree}"
2771 dnl The given directory can't be found
2773 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2775 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2777 dnl Use a custom mod
2778 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2779 VLC_ADD_PLUGIN([mod])
2780 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2781 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2783 dnl The given mod wasn't built
2785 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2788 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2789 VLC_ADD_PLUGIN([mod])
2790 VLC_ADD_CXXFLAGS([mod],[])
2791 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2796 dnl mpc demux plugin
2799 [ --enable-mpc Mpc demux support (default enabled)])
2800 if test "${enable_mpc}" != "no"
2802 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2803 VLC_ADD_PLUGIN([mpc])
2804 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2805 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2806 VLC_ADD_PLUGIN([mpc])
2807 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2811 dnl game music emu demux plugin
2814 [ --enable-gme Game Music Emu demux support (default enabled)])
2815 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2818 AC_ARG_WITH(gme-tree,
2819 [ --with-gme-tree=PATH gme tree for static linking])
2820 if test -n "${with_gme_tree}"
2822 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2823 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2824 if test -z "${real_gme_tree}"
2826 dnl The given directory can't be found
2828 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2830 if test -f "${real_gme_tree}/gme/libgme.a"
2832 dnl Use a custom gme
2833 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2834 VLC_ADD_PLUGIN([gme])
2835 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2836 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2838 dnl The given gme wasn't built
2840 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2843 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2852 AC_ARG_WITH(,[Codec plugins:])
2857 AC_ARG_ENABLE(wma-fixed,
2858 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2859 if test "${enable_wma_fixed}" = "yes"
2861 VLC_ADD_PLUGIN([wma_fixed])
2865 dnl shine fixed point mp3 encoder
2867 AC_ARG_ENABLE(shine,
2868 [ --enable-shine shine mp3 encoding module (default disabled)])
2869 if test "${enable_shine}" = "yes"
2871 VLC_ADD_PLUGIN([shine])
2878 [ --enable-mad libmad module (default enabled)])
2879 if test "${enable_mad}" != "no"
2882 [ --with-mad=PATH path to libmad],[],[])
2883 if test "${with_mad}" != "no" -a -n "${with_mad}"
2885 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2886 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2889 AC_ARG_WITH(mad-tree,
2890 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2891 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2893 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2894 if test -z "${real_mad_tree}"
2896 dnl The given directory can't be found
2898 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2900 dnl Use a custom libmad
2901 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2902 if test -f ${real_mad_tree}/mad.h
2905 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2906 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2907 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2908 AC_CHECK_LIB(mad, mad_bit_init, [
2909 VLC_ADD_PLUGIN([mpgatofixed32])
2910 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2911 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2913 LDFLAGS="${LDFLAGS_save}"
2916 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2919 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2920 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2921 AC_CHECK_HEADERS(mad.h, ,
2922 [ 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.]) ])
2923 AC_CHECK_LIB(mad, mad_bit_init, [
2924 VLC_ADD_PLUGIN([mpgatofixed32])
2925 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2926 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2927 CPPFLAGS="${CPPFLAGS_save}"
2928 LDFLAGS="${LDFLAGS_save}"
2933 dnl libid3tag support (FIXME!!! doesn't work with new input)
2935 AC_ARG_ENABLE( id3tag,
2936 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
2937 AS_IF([test "${enable_id3tag}" = "yes"], [
2938 AC_CHECK_HEADERS(id3tag.h, [
2939 AS_IF([test "${have_zlib}" = "yes"],[
2940 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2941 VLC_ADD_PLUGIN([id3tag])
2946 AC_ARG_ENABLE(merge-ffmpeg,
2947 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2948 enable_merge_ffmpeg="no"
2950 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2953 dnl avcodec decoder/encoder plugin
2956 if test "${with_ffmpeg_tree}"
2958 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2961 AC_ARG_ENABLE(avcodec,
2962 [ --enable-avcodec libavcodec codec (default enabled)])
2963 if test "${enable_avcodec}" != "no"
2965 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
2968 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2969 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2970 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
2971 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2972 VLC_ADD_PLUGIN([avcodec])
2973 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2974 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2978 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2983 dnl libva needs avcodec
2985 AC_ARG_ENABLE(libva,
2986 [ --enable-libva libva VAAPI support (default disabled)])
2987 AS_IF([test "${enable_libva}" = "yes"], [
2988 AS_IF([test "x${have_avcodec}" = "xyes"], [
2989 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2991 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
2992 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
2993 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2995 AC_MSG_ERROR([Could not find libva.])
2998 AC_MSG_ERROR([libva VAAPI support depends on libavcodec.])
3003 dnl stream_out switcher needs libavcodec
3005 AC_ARG_ENABLE(switcher,
3006 [ --enable-switcher Stream-out switcher plugin (default disabled)])
3007 AS_IF([test "${enable_switcher}" = "yes"], [
3008 AS_IF([test "x${have_avcodec}" = "xyes"], [
3009 VLC_ADD_PLUGIN([stream_out_switcher])
3010 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
3011 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
3012 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
3018 dnl avformat demuxer/muxer plugin
3021 AC_ARG_ENABLE(avformat,
3022 [ --enable-avformat libavformat containers (default enabled)])
3023 if test "${enable_avformat}" != "no"
3025 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
3028 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
3029 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
3030 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
3031 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3032 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
3033 VLC_ADD_PLUGIN([avformat])
3034 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3035 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3037 VLC_ADD_PLUGIN([access_avio])
3038 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3039 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3041 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3042 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3046 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3051 dnl swscale image scaling and conversion plugin
3054 AC_ARG_ENABLE(swscale,
3055 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3056 (default enabled)]))
3057 if test "${enable_swscale}" != "no"
3059 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3062 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3063 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3064 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3065 VLC_ADD_PLUGIN([swscale])
3066 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3067 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3070 AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
3078 AC_ARG_ENABLE(postproc,
3079 [ --enable-postproc libpostproc image post-processing (default enabled)])
3080 if test "${enable_postproc}" != "no"
3082 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3085 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3086 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3087 AC_CHECK_HEADERS(postproc/postprocess.h)
3088 VLC_ADD_PLUGIN([postproc])
3089 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
3090 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
3093 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3098 dnl faad decoder plugin
3101 [ --enable-faad faad codec (default disabled)])
3102 if test "${enable_faad}" = "yes"
3104 AC_ARG_WITH(faad-tree,
3105 [ --with-faad-tree=PATH faad tree for static linking])
3106 if test -n "${with_faad_tree}"
3108 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3109 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3110 if test -z "${real_faad_tree}"
3112 dnl The given directory can't be found
3114 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3116 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3118 dnl Use a custom faad
3119 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3120 VLC_ADD_PLUGIN([faad])
3121 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3122 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3124 dnl The given libfaad wasn't built
3126 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3129 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3130 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3131 AC_CHECK_HEADERS(faad.h, ,
3132 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3133 AC_CHECK_LIB(faad, faacDecOpen, [
3134 VLC_ADD_PLUGIN([faad])
3135 VLC_ADD_LIBS([faad],[-lfaad]) ],
3136 AC_CHECK_LIB(faad, NeAACDecOpen, [
3137 VLC_ADD_PLUGIN([faad])
3138 VLC_ADD_LIBS([faad],[-lfaad]) ],
3139 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3140 LDFLAGS="${LDFLAGS_save}"
3141 CPPFLAGS="${CPPFLAGS_save}"
3146 dnl twolame encoder plugin
3148 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
3151 dnl QuickTime plugin
3153 AC_ARG_ENABLE(quicktime,
3154 [ --enable-quicktime QuickTime module (deprecated)])
3155 if test "${enable_quicktime}" = "yes"; then
3156 if test "${SYS}" = "mingw32"; then
3157 VLC_ADD_PLUGIN([quicktime])
3159 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3160 [ VLC_ADD_PLUGIN([quicktime])
3161 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3162 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3170 [ --enable-real Real media module (default disabled)])
3171 if test "${enable_real}" = "yes"; then
3172 VLC_ADD_PLUGIN([realaudio])
3173 VLC_ADD_PLUGIN([realvideo])
3177 dnl Real RTSP plugin
3179 AC_ARG_ENABLE(realrtsp,
3180 [ --enable-realrtsp Real RTSP module (default disabled)])
3181 if test "${enable_realrtsp}" = "yes"; then
3182 VLC_ADD_PLUGIN([access_realrtsp])
3185 AC_ARG_ENABLE(libsysfs,
3186 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3188 AS_IF([test "${enable_libsysfs}" != "no"],[
3189 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3190 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3197 AC_ARG_ENABLE(libtar,
3198 [ --enable-libtar libtar support for skins2 (default enabled)])
3200 AS_IF([test "${enable_libtar}" != "no"],[
3201 AC_CHECK_HEADERS(libtar.h, [
3202 VLC_ADD_LIBS([skins2],[-ltar])
3207 dnl A52/AC3 decoder plugin
3210 [ --enable-a52 A/52 support with liba52 (default enabled)])
3211 if test "${enable_a52}" != "no"
3214 [ --with-a52=PATH a52 headers and libraries])
3215 AC_ARG_WITH(a52-tree,
3216 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3217 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3219 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3220 if test -z "${real_a52_tree}"
3222 dnl The given directory can't be found
3224 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3226 dnl Use a custom a52dec
3227 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3228 if test -f ${real_a52_tree}/include/a52.h
3231 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3232 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3233 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3234 AC_CHECK_LIB(a52, a52_free, [
3235 VLC_ADD_PLUGIN([a52tofloat32])
3236 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3237 VLC_ADD_LIBS([a52tofloat32],[-la52])
3239 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3241 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3243 AC_MSG_ERROR([the specified tree hasn't been compiled])
3246 LDFLAGS="${LDFLAGS_save}"
3249 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3252 if test -z "${with_a52}"
3257 LDFLAGS_test="-L${with_a52}/lib"
3258 CPPFLAGS_test="-I${with_a52}/include"
3260 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3261 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3262 AC_CHECK_HEADERS(a52dec/a52.h, [
3263 AC_CHECK_LIB(a52, a52_free, [
3264 VLC_ADD_PLUGIN([a52tofloat32])
3265 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3266 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3268 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.])
3271 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.])
3273 CPPFLAGS="${CPPFLAGS_save}"
3274 LDFLAGS="${LDFLAGS_save}"
3278 AC_ARG_WITH(a52-fixed,
3279 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3281 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3284 dnl DTS Coherent Acoustics decoder plugin
3286 AS_IF([test "x${enable_dts}" != "x"], [
3287 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3289 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3294 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3299 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3304 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3309 AC_ARG_ENABLE(tremor,
3310 [ --enable-tremor Tremor decoder support (default disabled)])
3311 if test "${enable_tremor}" = "yes"
3313 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3314 VLC_ADD_PLUGIN([tremor])
3315 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3322 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3325 dnl tarkin decoder plugin
3327 AC_ARG_ENABLE(tarkin,
3328 [ --enable-tarkin experimental tarkin codec (default disabled)])
3329 if test "${enable_tarkin}" = "yes"
3331 AC_ARG_WITH(tarkin-tree,
3332 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3333 if test -n "${with_tarkin_tree}"
3335 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3336 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3337 if test -f "${real_tarkin_tree}/tarkin.o"
3339 VLC_ADD_PLUGIN([tarkin])
3340 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3341 VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
3344 dnl The given tarkin tree wasn't built
3346 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3347 make sure you compiled tarkin in ${with_tarkin_tree}])
3353 dnl theora decoder plugin
3355 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3358 dnl dirac encoder plugin
3360 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3363 dnl schroedinger decoder plugin (for dirac format video)
3365 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3368 dnl PNG decoder module
3371 [ --enable-png PNG support (default enabled)])
3372 if test "${enable_png}" != "no"; then
3373 AC_CHECK_HEADERS(png.h, [
3374 LDFLAGS="${LDFLAGS_save} -lz"
3375 AC_CHECK_LIB(png, png_set_rows, [
3376 VLC_ADD_LIBS([png],[-lpng -lz])
3377 VLC_ADD_PLUGIN([png])
3378 VLC_ADD_PLUGIN([osdmenu])
3379 VLC_ADD_PLUGIN([osd_parser])],
3381 LDFLAGS="${LDFLAGS_save}"
3384 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3387 dnl H264 encoder plugin (using libx264)
3390 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3391 if test "${enable_x264}" != "no"; then
3392 AC_ARG_WITH(x264-tree,
3393 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3394 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3396 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3397 if test -z "${real_x264_tree}"
3399 dnl The given directory can't be found
3401 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3403 dnl Use a custom libx264
3404 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3405 if test -f ${real_x264_tree}/x264.h
3408 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3409 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3410 PKG_CHECK_MODULES(X264,x264, [
3411 VLC_ADD_PLUGIN([x264])
3412 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3413 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3414 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3415 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3418 AC_MSG_ERROR([the specified tree hasn't been compiled])
3420 LDFLAGS="${LDFLAGS_save}"
3423 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3426 PKG_CHECK_MODULES(X264,x264 >= 0.76, [
3427 VLC_ADD_PLUGIN([x264])
3428 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3430 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3431 [ac_cv_ld_bsymbolic],
3432 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3433 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3434 LDFLAGS="${LDFLAGS_save}"
3436 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3437 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3440 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3441 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3442 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3445 if test "${enable_x264}" = "yes"; then
3446 AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
3449 LDFLAGS="${LDFLAGS_save}"
3454 dnl libfluidsynth (MIDI synthetizer) plugin
3456 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3459 dnl Teletext Modules
3460 dnl vbi decoder plugin (using libzbvi)
3465 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3466 libzvbi (default enabled)]))
3468 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3469 zvbi) (default enabled if zvbi is absent)]))
3471 AS_IF( [test "${enable_zvbi}" != "no"],[
3472 PKG_CHECK_MODULES(ZVBI,
3475 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3476 if test "${SYS}" = "mingw32"; then
3477 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3479 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3480 VLC_ADD_PLUGIN([zvbi])
3481 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3482 AS_IF( [test "${enable_telx}" = "yes"],[
3483 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3487 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3490 AS_IF( [test "${enable_telx}" != "no" ],[
3491 VLC_ADD_PLUGIN([telx])
3495 dnl libass subtitle rendering module
3497 AC_ARG_ENABLE(libass,
3498 [ --enable-libass Subtitle support using libass (default enabled)])
3499 AS_IF( [test "${enable_libass}" != "no"], [
3500 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6,
3502 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3503 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3504 VLC_ADD_PLUGIN([libass])
3506 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3507 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3508 VLC_ADD_LIBS([libass],[-lfontconfig])
3511 AC_MSG_WARN([LIBASS library not found])
3518 AC_ARG_ENABLE(asademux,
3519 [ --enable-asademux asa subtitle demuxing (default disabled)])
3520 AS_IF( [test "${enable_asademux}" = "yes"], [
3521 PKG_CHECK_MODULES(PCRE,
3524 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3525 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3526 if test "${SYS}" = "mingw32"; then
3527 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3529 VLC_ADD_PLUGIN([asademux])
3531 AC_MSG_WARN([PCRE library not found (required for asademux)])
3539 [ --enable-cmml CMML support (default enabled)])
3540 if test "${enable_cmml}" != "no"
3542 VLC_ADD_PLUGIN([cmml])
3546 dnl kate decoder plugin
3549 [ --enable-kate kate codec (default enabled)])
3550 AS_IF([test "${enable_kate}" != "no"], [
3551 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3552 VLC_ADD_PLUGIN([kate])
3553 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3554 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3555 AC_CHECK_HEADERS(kate/kate.h, [
3556 AC_CHECK_LIB(kate, kate_decode_init, [
3557 VLC_ADD_PLUGIN([kate])
3558 kate_libs="-lkate -logg"
3559 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3560 AS_IF([test "x${enable_kate}" != "x"], [
3561 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3562 You also need to check that you have a libogg posterior to the 1.0 release.])
3566 AS_IF([test "x${enable_kate}" != "x"], [
3567 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3568 You also need to check that you have a libogg posterior to the 1.0 release.])
3576 dnl tiger rendering for kate decoder plugin
3578 AC_ARG_ENABLE(tiger,
3579 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3580 AS_IF([test "${enable_tiger}" != "no"], [
3581 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3582 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3583 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3584 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3585 AS_IF([test "x${enable_tiger}" != "x"], [
3586 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3597 AC_ARG_WITH(,[Video plugins:])
3606 dnl X C Bindings modules
3609 [ --enable-xcb X11 support with XCB (default enabled)],, [
3610 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3616 AC_ARG_ENABLE(xvideo,
3617 [ --enable-xvideo XVideo support (default enabled)],, [
3618 enable_xvideo="$enable_xcb"
3621 need_xid_provider="no"
3622 AS_IF([test "${enable_xcb}" != "no"], [
3624 PKG_CHECK_MODULES(XCB, [xcb])
3625 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3626 VLC_ADD_PLUGIN([xcb_x11])
3627 VLC_ADD_PLUGIN([xcb_screen])
3628 VLC_ADD_PLUGIN([xcb_apps])
3629 VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
3631 AS_IF([test "${enable_xvideo}" != "no"], [
3632 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3633 VLC_ADD_PLUGIN([xcb_xv])
3635 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3636 VLC_ADD_PLUGIN([xcb_xv])
3637 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3642 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3643 VLC_ADD_PLUGIN([panoramix])
3644 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3645 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3649 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3650 have_xcb_keysyms="yes"
3652 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
3653 have_xcb_keysyms="yes"
3654 VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])
3656 have_xcb_keysyms="no"
3657 need_xid_provider="yes"
3661 AS_IF([test "${have_xcb_keysyms}" = "yes"], [
3662 PKG_CHECK_MODULES(XPROTO, [xproto])
3663 VLC_ADD_PLUGIN([xcb_window])
3664 VLC_ADD_PLUGIN([globalhotkeys])
3665 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3666 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3668 VLC_ADD_PLUGIN([xdg_screensaver])
3672 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3673 enable_glx="$enable_xcb"
3675 AS_IF([test "${enable_glx}" != "no"], [
3676 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3677 PKG_CHECK_MODULES(GL, [gl],, [
3678 AC_CHECK_HEADER([GL/gl.h], [
3682 AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3685 VLC_ADD_PLUGIN([xcb_glx])
3687 AC_SUBST([GL_CFLAGS])
3693 dnl (enabled by default except on beos)
3695 AC_ARG_ENABLE(opengl,
3696 [ --enable-opengl OpenGL support (default enabled)])
3697 if test "${enable_opengl}" != "no" &&
3698 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3699 if test "${SYS}" != "darwin"; then
3700 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3701 VLC_ADD_PLUGIN([opengl])
3702 if test "${SYS}" != "mingw32"; then
3703 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3705 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3709 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3710 VLC_ADD_PLUGIN([opengl])
3711 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3719 [ --enable-sdl SDL support (default enabled)])
3720 AC_ARG_ENABLE(sdl-image,
3721 [ --enable-sdl-image SDL image support (default enabled)])
3722 if test "${enable_sdl}" != "no"
3725 AC_ARG_WITH(sdl-config-path,
3726 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3727 [ if test "${with_sdl_config_path}" != "no"
3729 SDL_PATH="${with_sdl_config_path}:${PATH}"
3731 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3732 SDL_HEADER="SDL/SDL.h"
3733 SDL_IMAGE="SDL/SDL_image.h"
3735 if test "${SDL_CONFIG}" != "no"; then
3736 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3737 # SDL on Darwin is heavily patched and can only run SDL_image
3738 if test "${SYS}" != "darwin"; then
3739 VLC_ADD_PLUGIN([vout_sdl])
3740 VLC_ADD_PLUGIN([aout_sdl])
3742 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3743 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3746 AS_IF([ test "${enable_sdl_image}" != "no"],[
3747 AC_CHECK_HEADERS("SDL/SDL_image.h", [
3748 VLC_ADD_PLUGIN([sdl_image])
3749 AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3750 AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3751 AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3752 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3753 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3754 You should install it alongside your SDL package.])
3758 AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3759 Alternatively you can also configure with --disable-sdl.])
3761 else if test "${enable_sdl}" = "yes"; then
3762 AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3763 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3772 AC_ARG_ENABLE(freetype,
3773 [ --enable-freetype freetype support (default enabled)])
3774 AC_ARG_ENABLE(fribidi,
3775 [ --enable-fribidi fribidi support (default enabled)])
3776 AC_ARG_ENABLE(fontconfig,
3777 [ --enable-fontconfig, fontconfig support (default enabled)])
3778 if test "${enable_freetype}" != "no"
3780 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3781 VLC_ADD_PLUGIN([freetype])
3783 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3784 if test "${SYS}" = "mingw32"; then
3785 VLC_ADD_LIBS([freetype],[-liconv -lz])
3787 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3788 if test "${enable_fontconfig}" != "no"
3790 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3791 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3792 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3793 AC_CHECK_HEADERS(Carbon/Carbon.h,
3794 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3798 if test "${enable_fribidi}" != "no"
3800 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3801 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3802 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3808 AS_IF([ test "${enable_freetype}" = "yes"],[
3809 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3810 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3820 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3825 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3828 dnl Snapshot vout module (with cache)
3830 AC_ARG_ENABLE(snapshot,
3831 [ --enable-snapshot snapshot module (default disabled)])
3832 if test "${enable_snapshot}" = "yes"
3834 VLC_ADD_PLUGIN([snapshot])
3838 dnl Qt Embedded module
3839 dnl (disabled by default)
3842 [ --enable-qte QT Embedded support (default disabled)])
3843 if test "${enable_qte}" = "yes"
3846 [ --with-qte=PATH Qt Embedded headers and libraries])
3847 if test "${with_qte}" != "no" -a -n "${with_qte}"
3849 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3850 VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3852 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3853 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3855 VLC_ADD_PLUGIN([qte])
3857 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3858 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3859 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3861 CPPFLAGS="${CPPFLAGS_save}"
3865 dnl Roku HD1000 Video output module
3867 AC_ARG_ENABLE(hd1000v,
3868 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3869 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3870 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3871 test "${enable_hd1000v}" = "yes"); then
3873 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3875 can_build_roku="yes"
3879 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3881 if test "$can_build_roku" = "yes"
3883 VLC_ADD_PLUGIN([hd1000v])
3884 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3890 dnl Windows DirectX module
3893 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3895 VLC_ADD_PLUGIN([panoramix])
3898 AC_ARG_ENABLE(directx,
3899 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3900 if test "${enable_directx}" != "no"
3902 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3904 AC_CHECK_HEADERS(ddraw.h,
3905 [ VLC_ADD_PLUGIN([directx])
3906 VLC_ADD_PLUGIN([aout_directx])
3907 VLC_ADD_LIBS([directx],[-lgdi32])
3908 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3910 AC_CHECK_HEADERS(GL/gl.h,
3911 [ VLC_ADD_PLUGIN([glwin32])
3912 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3914 AC_CHECK_HEADERS(d3d9.h,
3915 [ VLC_ADD_PLUGIN([direct3d])
3916 VLC_ADD_LIBS([direct3d],[-lgdi32])
3918 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3923 dnl win32 GDI plugin
3925 AC_ARG_ENABLE(wingdi,
3926 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3927 if test "${enable_wingdi}" != "no"; then
3928 if test "${SYS}" = "mingw32"; then
3929 VLC_ADD_PLUGIN([wingdi])
3930 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3932 if test "${SYS}" = "mingwce"; then
3933 VLC_ADD_PLUGIN([wingdi])
3934 VLC_ADD_PLUGIN([wingapi])
3935 VLC_ADD_LIBS([wingdi],[-laygshell])
3936 VLC_ADD_LIBS([wingapi],[-laygshell])
3942 dnl Linux framebuffer module
3945 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3946 if test "${enable_fb}" != "no"
3948 AC_CHECK_HEADERS(linux/fb.h, [
3949 VLC_ADD_PLUGIN([fb])
3954 dnl Linux MGA module
3957 [ --enable-mga Linux kernel Matrox support (default disabled)],
3958 [ if test "${enable_mga}" = "yes"
3960 VLC_ADD_PLUGIN([mga])
3964 dnl OMAP Framebuffer module
3966 AC_ARG_ENABLE(omapfb,
3967 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3968 if test "${enable_omapfb}" = "yes"
3970 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3971 VLC_ADD_PLUGIN([omapfb])
3972 AC_CHECK_HEADERS(X11/Xlib.h, [
3973 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3975 VLC_ADD_PLUGIN([swscale_omap])
3981 AC_ARG_ENABLE(svgalib,
3982 [ --enable-svgalib SVGAlib support (default disabled)])
3983 if test "${enable_svgalib}" = "yes"
3985 VLC_ADD_PLUGIN([svgalib])
3986 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3991 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3992 dnl TODO: support for static linking
3994 AC_ARG_ENABLE(directfb,
3995 [ --enable-directfb DirectFB support (default disabled)])
3996 AC_ARG_WITH(directfb,
3997 [ --with-directfb=PATH path to DirectFB headers and libraries])
3999 if test "${enable_directfb}" = "yes"; then
4000 have_directfb="false"
4001 CPPFLAGS_mydirectfb=
4003 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4004 dnl Trying the given location
4005 CPPFLAGS_save="${CPPFLAGS}"
4008 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4009 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4010 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4012 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4013 LIBS="${LIBS} ${LIBS_new}"
4015 dnl FIXME: too obscure
4016 AC_CHECK_HEADER([directfb.h], [
4017 AC_CHECK_LIB([direct],[direct_initialize], [
4018 AC_CHECK_LIB([fusion], [fusion_enter], [
4019 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4020 ], have_directfb="false")
4021 ], have_directfb="false")
4022 ], have_directfb="false")
4025 CPPFLAGS="${CPPFLAGS_save}"
4028 if test "${have_directfb}" = "true"; then
4029 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4030 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4033 dnl Look for directfb-config
4034 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4035 if test "${DIRECTFB_CONFIG}" != "no"; then
4036 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4037 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4038 have_directfb="true"
4040 dnl Trying with pkg-config
4041 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4042 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4043 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4044 have_directfb="true"
4045 ], [have_directfb="false"])
4048 if test "${have_directfb}" = "true"; then
4049 VLC_ADD_PLUGIN([directfb])
4050 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4051 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4053 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4063 [ --enable-ggi GGI support (default disabled)])
4064 if test "${enable_ggi}" = "yes"
4066 AC_CHECK_HEADER([ggi/ggi.h],[
4067 VLC_ADD_PLUGIN([ggi])
4068 VLC_ADD_LIBS([ggi],[-lggi])
4070 [ --with-ggi=PATH path to libggi],
4071 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4073 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4074 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4077 AC_MSG_ERROR([LibGGI development files can't be found])
4085 [ --enable-aa aalib output (default disabled)])
4086 if test "${enable_aa}" = "yes"
4088 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4089 if test "${have_aa}" = "true"
4091 VLC_ADD_PLUGIN([aa])
4092 VLC_ADD_LIBS([aa],[-laa])
4099 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4105 AC_ARG_WITH(,[Audio plugins:])
4108 dnl OSS /dev/dsp module (enabled by default except on win32)
4111 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4113 if test "${enable_oss}" != "no" &&
4114 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4115 test "${enable_oss}" = "yes")
4117 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4118 VLC_ADD_PLUGIN([oss])
4119 VLC_ADD_PLUGIN([access_oss])
4120 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])
4121 VLC_ADD_LIBS([access_oss],[-lossaudio])])
4126 dnl Pulseaudio module
4128 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4131 dnl Portaudio module
4133 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4138 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4139 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4142 dnl win32 waveOut plugin
4144 AC_ARG_ENABLE(waveout,
4145 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4146 if test "${enable_waveout}" != "no"; then
4147 if test "${SYS}" = "mingw32"; then
4148 VLC_ADD_PLUGIN([waveout])
4149 VLC_ADD_LIBS([waveout],[-lwinmm])
4151 if test "${SYS}" = "mingwce"; then
4152 VLC_ADD_PLUGIN([waveout])
4157 dnl CoreAudio plugin
4159 AC_ARG_ENABLE(macosx-audio,
4160 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4161 if test "${enable_macosx-audio}" != "no" &&
4162 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4164 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4165 [ VLC_ADD_PLUGIN([auhal])
4166 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4167 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4171 dnl Roku HD1000 audio
4173 AC_ARG_ENABLE(hd1000a,
4174 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4175 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4176 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4177 test "${enable_hd1000a}" = "yes")
4180 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4181 VLC_ADD_PLUGIN([hd1000a])
4182 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4189 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4190 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4194 dnl CyberLink for C++ UPnP stack
4196 AC_ARG_ENABLE(cyberlink,
4197 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4198 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4199 AC_ARG_WITH(cyberlink-tree,
4200 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4203 dnl test for --with-cyberlink-tree
4205 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4207 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4208 AS_IF([test -z "${real_cyberlink_tree}"], [
4209 dnl The given directory can't be found
4211 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4213 CPPFLAGS_save="${CPPFLAGS}"
4214 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4215 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4216 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4217 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4218 VLC_ADD_PLUGIN([upnp_cc])
4220 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4222 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4223 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4224 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4225 dnl The mere fact that we have to make such an ugly check sucks
4226 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4229 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4230 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4231 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4232 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4233 using namespace CyberLink;
4235 class testclass : public SearchResponseListener, public MediaPlayer
4237 virtual void deviceSearchResponseReceived( SSDPPacket *)
4244 addSearchResponseListener (this);
4248 ],[testclass l;])],[LIBS_cclink="$l"])
4251 dnl should not happen - otherwise this needs fixing - hence FAILURE
4252 AS_IF([test "${LIBS_cclink}" = "no"],
4253 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4254 AC_MSG_RESULT([${LIBS_cclink}])
4255 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4258 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4260 CPPFLAGS="${CPPFLAGS_save}"
4266 dnl UPnP Plugin (Intel SDK)
4268 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4272 dnl Interface plugins
4275 AC_ARG_WITH(,[Interface plugins:])
4277 dnl special case for BeOS
4278 if test "${SYS}" = "beos"
4280 VLC_ADD_PLUGIN([beos])
4286 AC_ARG_ENABLE(skins2,
4287 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4288 enabled except on MacOSX, BeOS and WinCE)])])
4289 if test "${enable_skins2}" = "yes" ||
4290 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4291 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4293 dnl test for the required libraries
4294 skins2_missing_lib="no"
4297 if test "${have_freetype}" != "yes"; then
4298 skins2_missing_lib="yes"
4299 if test "${enable_skins2}" = "yes"; then
4300 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4304 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4305 VLC_ADD_PLUGIN([skins2])
4306 ALIASES="${ALIASES} svlc"
4307 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4308 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4309 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4311 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4312 VLC_ADD_PLUGIN([skins2])
4313 ALIASES="${ALIASES} svlc"
4314 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4315 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4316 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4318 else if test "${skins2_missing_lib}" = "no"; then
4319 VLC_ADD_PLUGIN([skins2])
4320 ALIASES="${ALIASES} svlc"
4321 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4322 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4323 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4324 need_xid_provider="no"
4327 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4328 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4329 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4334 AC_ARG_ENABLE(hildon,
4335 [ --enable-hildon Hildon touchscreen UI (default disabled)])
4336 AS_IF([test "${enable_hildon}" = "yes"], [
4337 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4338 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}])
4339 VLC_ADD_LIBS([hildon],[${HILDON_LIBS}])
4340 VLC_ADD_PLUGIN([hildon])
4341 ALIASES="${ALIASES} mvlc"
4342 need_xid_provider="no"
4344 AS_IF([test "${enable_hildon}" = "yes"],[
4345 AC_MSG_ERROR([Hildon libraries not found])
4350 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
4356 [ --enable-qt4 QT 4 support (default enabled) ],, [
4357 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4359 AS_IF([test "${enable_qt4}" != "no"], [
4360 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4361 VLC_ADD_PLUGIN([qt4])
4362 ALIASES="${ALIASES} qvlc"
4363 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4364 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4365 need_xid_provider="no"
4367 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4369 QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4370 AC_SUBST(QT4LOCALEDIR)
4371 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4372 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4373 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4374 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4376 AS_IF([test "${enable_qt4}" = "yes"],[
4377 AC_MSG_ERROR([Qt 4 library not found])
4379 AC_MSG_WARN([Qt 4 library not found])
4384 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4387 dnl WinCE GUI module
4389 AC_ARG_ENABLE(wince,
4390 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4391 if test "${enable_wince}" != "no"; then
4392 if test "${SYS}" = "mingwce"; then
4393 VLC_ADD_PLUGIN([wince])
4394 VLC_ADD_CXXFLAGS([wince],[])
4395 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4397 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4398 elif test "${SYS}" = "mingw32"; then
4399 VLC_ADD_CXXFLAGS([wince],[])
4400 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4402 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4407 dnl Simple test for skins2 dependency
4409 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4410 AC_MSG_ERROR([The skins2 module depends on a the Qt4 development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
4414 dnl Opie QT embedded module
4417 [ --enable-opie Qt embedded interface support (default disabled)],
4418 [if test "${enable_opie}" = "yes"; then
4420 [ --with-qte=PATH Qt Embedded headers and libraries])
4421 if test "${with_qte}" != "no" -a -n "${with_qte}"
4423 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4424 VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4426 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4427 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4429 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4430 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4431 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4433 CPPFLAGS="${CPPFLAGS_save}"
4435 VLC_ADD_PLUGIN([opie])
4437 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4438 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4439 if test "${with_qte}" != "no" -a -n "${with_qte}"
4441 MOC=${with_qte}/bin/moc
4443 MOC=${QTDIR}/bin/moc
4448 dnl MacOS X video output/gui modules
4450 AC_ARG_ENABLE(macosx,
4451 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
4452 if test "x${enable_macosx}" = "xyes"
4454 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4455 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4456 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4457 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4458 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4459 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4460 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4461 VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4462 VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4464 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4465 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
4466 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4467 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4468 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
4469 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4470 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4472 VLC_ADD_PLUGIN([access_eyetv])
4473 VLC_ADD_PLUGIN([qtcapture])
4474 VLC_ADD_PLUGIN([macosx])
4475 VLC_ADD_PLUGIN([minimal_macosx])
4476 VLC_ADD_PLUGIN([opengllayer])
4483 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4484 if test "${enable_qnx}" != "no"
4486 AC_CHECK_HEADERS(Ph.h, [
4487 VLC_ADD_PLUGIN([qnx])
4488 VLC_ADD_LIBS([qnx],[-lasound -lph])
4495 AC_ARG_ENABLE(ncurses,
4496 [ --disable-ncurses ncurses interface support (default enabled)],
4497 [if test "${enable_ncurses}" != "no"; then
4498 AC_CHECK_HEADER(ncurses.h,
4499 [AC_CHECK_LIB(ncursesw, mvprintw,
4500 [VLC_ADD_PLUGIN([ncurses])
4501 VLC_ADD_LIBS([ncurses],[-lncursesw])
4502 ALIASES="${ALIASES} nvlc"
4503 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4504 AC_CHECK_LIB(ncursesw, tgetent, [],
4505 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4506 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4507 [AS_IF([test "x${enable_ncurses}" != "x"],
4508 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4514 [AC_CHECK_LIB( ncurses, mvprintw,
4515 [VLC_ADD_PLUGIN([ncurses])
4516 ALIASES="${ALIASES} nvlc"
4517 VLC_ADD_LIBS([ncurses],[-lncurses])
4518 AC_CHECK_LIB(ncurses, tgetent, [],
4519 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4520 [AS_IF([test "x${enable_ncurses}" != "x"],
4521 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4524 [AS_IF([test "x${enable_ncurses}" != "x"], [
4525 AC_MSG_ERROR([libncurses not found])])]
4536 [ --enable-xosd xosd interface support (default disabled)])
4537 if test "${enable_xosd}" = "yes"
4539 AC_CHECK_HEADERS(xosd.h,
4540 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4541 VLC_ADD_PLUGIN([xosd])
4542 VLC_ADD_LIBS([xosd],[-lxosd])
4548 dnl Framebuffer (overlay) plugin
4550 AC_ARG_ENABLE(fbosd,
4551 [ --enable-fbosd fbosd interface support (default disabled)])
4552 if test "${enable_fbosd}" = "yes"
4554 AC_CHECK_HEADERS(linux/fb.h, [
4555 VLC_ADD_PLUGIN([fbosd])
4560 dnl Post-interface configuration checks
4562 AS_IF([test "$need_xid_provider" = "yes"], [
4563 AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.])
4567 dnl Visualisation plugin
4569 AC_ARG_ENABLE(visual,
4570 [ --enable-visual visualisation plugin (default enabled)])
4571 if test "${enable_visual}" != "no"
4573 VLC_ADD_PLUGIN([visual])
4577 dnl goom visualization plugin
4579 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
4582 dnl libprojectM visualization plugin
4584 PKG_ENABLE_MODULES_VLC([PROJECTM], [], [libprojectM], [projectM visualization plugin], [auto])
4587 dnl AtmoLight (homebrew AmbiLight)
4590 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4591 (broken, default disabled)]),, [enable_atmo="no"])
4592 AS_IF([test "${enable_atmo}" != no], [
4593 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4595 VLC_ADD_PLUGIN([atmo])
4601 dnl Bonjour services discovery
4602 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4605 dnl libudev services discovery
4606 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
4609 dnl MTP devices services discovery
4610 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4616 [ --enable-lirc lirc support (default disabled)])
4617 if test "${enable_lirc}" = "yes"
4619 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4620 if test "${have_lirc}" = "true"
4622 VLC_ADD_PLUGIN([lirc])
4623 VLC_ADD_LIBS([lirc],[-llirc_client])
4628 AC_ARG_WITH(,[Misc options:])
4633 AC_ARG_ENABLE(libgcrypt,
4634 [ --disable-libgcrypt gcrypt support (default enabled)])
4635 AS_IF([test "${enable_libgcrypt}" != "no"], [
4636 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4637 libgcrypt-config --version >/dev/null || \
4638 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4639 AC_CHECK_LIB(gcrypt, gcry_control, [
4640 have_libgcrypt="yes"
4641 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4642 GCRYPT_LIBS="`libgcrypt-config --libs`"
4644 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4645 ], [`libgcrypt-config --libs`])
4647 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4648 ], [#include <gcrypt.h>]
4652 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4653 AS_IF([test "${have_libgcrypt}" = "yes"],[
4654 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4657 AC_SUBST(GCRYPT_CFLAGS)
4658 AC_SUBST(GCRYPT_LIBS)
4659 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4664 AC_ARG_ENABLE(gnutls,
4665 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4667 AS_IF([test "${enable_gnutls}" != "no"], [
4668 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4669 VLC_ADD_PLUGIN([gnutls])
4670 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4671 AS_IF([test "${SYS}" = "mingw32"], [
4672 dnl pkg-config --libs gnutls omits these
4673 VLC_ADD_LIBS([gnutls], [-lz])
4674 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4676 dnl The GnuTLS plugin invokes gcry_control directly.
4677 AS_IF([test "${have_libgcrypt}" = "yes"],[
4678 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4679 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4681 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4683 AS_IF([test "${enable_gnutls}" = "yes"], [
4684 AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4691 dnl RemoteOSD plugin (VNC client as video filter)
4693 AC_ARG_ENABLE(remoteosd,
4694 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4696 AS_IF([test "${enable_remoteosd}" != "no"], [
4697 AS_IF([test "${have_libgcrypt}" = "yes"],[
4698 VLC_ADD_PLUGIN([remoteosd])
4699 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4700 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4702 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4710 AC_MSG_CHECKING([whether to enable RAOP plugin])
4711 AS_IF([test "${have_libgcrypt}" = "yes"], [
4713 VLC_ADD_PLUGIN([stream_out_raop])
4714 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4715 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4718 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4723 dnl OSSO (Maemo screen blanking) plugin
4725 PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto])
4727 AS_IF([test -f "/etc/maemo_version"], [
4728 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4733 dnl update checking system
4735 AC_ARG_ENABLE(update-check,
4736 [ --enable-update-check update checking system (default disabled)])
4737 if test "${enable_update_check}" = "yes"
4739 if test "${have_libgcrypt}" != "yes"
4741 AC_MSG_ERROR([libgcrypt is required for update checking system])
4743 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4744 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4745 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4752 [ --with-sqlite=PATH sqlite path linking])
4753 if test "${SYS}" != "darwin"; then
4754 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3], [sqlite3], [auto])
4756 if test "${enable_sqlite}" != "no"
4758 AC_CHECK_HEADERS(sqlite3.h, [
4759 VLC_ADD_PLUGIN([sqlite])
4760 if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4761 AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4762 real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4763 if test -z "${real_sqlite}"
4765 dnl The given directory can't be found
4767 AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4769 VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4770 VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4773 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4775 AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4776 AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4779 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4783 dnl Endianness check
4786 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4787 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4791 AC_SUBST(DEFS_BIGENDIAN)
4794 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4797 AC_ARG_ENABLE(loader,
4798 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4799 (default disabled)]))
4800 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4801 AS_IF([test "${enable_loader}" = "yes"],
4802 [ VLC_ADD_PLUGIN([dmo])
4803 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4804 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4805 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4806 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4807 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4808 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4809 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4810 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4813 AC_ARG_WITH(,[Components:])
4819 [ --enable-vlc build the VLC media player (default enabled)])
4820 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4823 dnl Microsoft ActiveX support
4826 AC_ARG_ENABLE(activex,
4827 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4828 (default enabled on Win32)]))
4829 AC_ARG_WITH(wine-sdk-path,
4830 [ --with-wine-sdk-path=PATH path to wine sdk])
4831 if test "${enable_activex}" != "no"
4833 if test "${SYS}" = "mingw32"
4835 AC_CHECK_PROGS(MIDL, [midl], no)
4836 if test "${with_wine_sdk_path}" != ""
4838 WINE_SDK_PATH=${with_wine_sdk_path}
4839 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4844 AC_CHECK_HEADERS(ole2.h,
4845 [AC_CHECK_HEADERS(olectl.h,
4846 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4847 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4848 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4849 AC_CHECK_HEADERS(objsafe.h,
4850 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4858 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4860 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4862 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4867 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4868 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4869 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4870 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4871 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4877 AC_ARG_ENABLE(mozilla,
4878 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4879 (default disabled)]))
4880 AC_ARG_WITH(mozilla-sdk-path,
4881 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4882 AC_ARG_WITH(mozilla-pkg,
4883 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4885 if test "${enable_mozilla}" = "yes"
4887 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4890 dnl As we want to do a loop due to the number of name possible for the .pc
4891 dnl we can't use the pkg-config macros.
4893 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4894 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4895 AC_MSG_NOTICE([Checking for Mozilla])
4897 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4901 if test -n "$PKG_CONFIG"; then
4902 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4903 echo "Trying to find $i.pc files" >&5
4904 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4906 echo "Using $i.pc files." >&5
4907 echo "Using $i.pc files." >&6
4909 MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
4910 MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
4916 AS_IF( [test $found = 1],[
4917 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4918 MOZILLA_REQUIRED_HEADERS=1
4919 AC_CHECK_HEADERS([npfunctions.h])
4920 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4921 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4926 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4927 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4929 MOZILLA_REQUIRED_HEADERS=
4931 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4932 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4933 AS_IF([ test "${SYS}" != "darwin"],[
4934 PKG_CHECK_MODULES(XPM, [xpm xt],[
4935 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4937 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4941 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4942 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4943 VLC_ADD_PLUGIN([mozilla])
4944 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4946 CPPFLAGS="${CPPFLAGS_save}"
4949 AC_PATH_PROGS(MOZILLA_CONFIG,
4950 [mozilla-config seamonkey-config xulrunner-config],
4952 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4955 dnl pkg-config failed but we might have found a mozilla-config
4956 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4957 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4958 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4959 AC_CHECK_LIB(Xt,XtStrings,
4961 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4962 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4965 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4967 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4968 LDFLAGS="${LDFLAGS_save}"
4972 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4973 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4974 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4975 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4976 MOZILLA_REQUIRED_HEADERS=1
4977 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4978 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4979 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4984 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4986 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4988 MOZILLA_REQUIRED_HEADERS=
4989 CPPFLAGS="${CPPFLAGS_save}"
4990 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4992 dnl End of moz_sdk = ""
4994 dnl special case for mingw32
4995 if test "${SYS}" = "mingw32"
4997 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4998 dnl latest gecko sdk does not have an xpcom directory
4999 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5000 mozilla_sdk_xpcom="/xpcom"
5004 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5005 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5006 MOZILLA_REQUIRED_HEADERS=1
5007 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5008 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5009 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5014 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5016 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5018 MOZILLA_REQUIRED_HEADERS=
5020 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5021 VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
5022 if ${need_xpcom_libs}; then
5023 VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5024 if test "${SYS}" = "mingw32"; then
5025 dnl latest gecko sdk does not have embedstring
5026 if test -d "${real_mozilla_sdk}/embedstring/bin"
5028 VLC_ADD_LIBS([mozilla],[-lembedstring])
5032 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5034 if test -n "${CYGPATH}"; then
5035 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5037 CPPFLAGS="${CPPFLAGS_save}"
5041 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5046 AC_ARG_ENABLE(testsuite,
5047 [ --enable-testsuite build test modules (default disabled)])
5048 if test "${enable_testsuite}" = "yes"
5050 TESTS="test1 test2 test3 test4"
5052 dnl we define those so that bootstrap sets the right linker
5053 VLC_ADD_CXXFLAGS([test2],[])
5054 VLC_ADD_OBJCFLAGS([test3],[])
5055 dnl this one is needed until automake knows what to do
5056 VLC_ADD_LIBS([test3],[-lobjc])
5058 VLC_ADD_PLUGIN([test1])
5059 VLC_ADD_PLUGIN([test2])
5060 VLC_ADD_PLUGIN([test3])
5061 VLC_ADD_PLUGIN([test4])
5067 if test "${NEED_QTE_MAIN}" != "no"
5069 VLC_ADD_PLUGIN([qte_main])
5070 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5071 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5072 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5076 dnl Plugin and builtin checks
5080 dnl Automagically disable plugins if there is no system support for
5081 dnl dynamically loadable files (.so, .dll, .dylib).
5082 dnl don't forget vlc-win32 still can load .dll as plugins
5083 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5084 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5088 AS_IF([test "${plugin_support}" != "no"], [
5089 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5093 dnl Pic and shared libvlc stuff
5095 AS_IF([test "${SYS}" = "mingw32"], [
5096 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5097 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5101 dnl Stuff used by the program
5103 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5104 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5105 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5106 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5107 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5108 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5109 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5110 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5111 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5112 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5113 AC_SUBST(COPYRIGHT_MESSAGE)
5114 AC_SUBST(VERSION_MESSAGE)
5115 AC_SUBST(VERSION_MAJOR)
5116 AC_SUBST(VERSION_MINOR)
5117 AC_SUBST(VERSION_REVISION)
5118 AC_SUBST(VERSION_EXTRA)
5119 AC_SUBST(COPYRIGHT_YEARS)
5120 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5121 if test "${build_os}" = "cygwin"
5123 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5125 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5127 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5128 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5129 dnl Win32 need s a numerical version_extra.
5130 case $( echo ${VERSION_EXTRA}|wc -m ) in
5131 "1") VERSION_EXTRA_RC="0";;
5132 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5133 *) VERSION_EXTRA_RC="99"
5135 AC_SUBST(VERSION_EXTRA_RC)
5137 dnl Handle substvars that use $(top_srcdir)
5139 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5140 AC_SUBST(VLC_CONFIG)
5141 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5149 dnl Sort the modules list
5151 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5154 dnl Create the vlc-config script
5156 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5159 dnl Configuration is finished
5169 AC_SUBST(MOZILLA_SDK_PATH)
5170 AC_SUBST(WINE_SDK_PATH)
5172 AC_SUBST(AM_CPPFLAGS)
5173 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5174 AC_SUBST(FILE_LIBVLCCORE_DLL)
5175 AC_SUBST(FILE_LIBVLC_DLL)
5177 dnl Create vlc-config.in
5178 VLC_OUTPUT_VLC_CONFIG_IN
5181 extras/package/win32/spad.nsi
5182 extras/package/win32/vlc.win32.nsi
5183 extras/package/macosx/Info.plist
5184 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5185 extras/package/macosx/plugin/Info.plist
5186 extras/package/macosx/plugin/InstallerInfo.plist
5188 projects/activex/Makefile
5189 projects/activex/axvlc.inf
5191 extras/package/ipkg/Makefile
5192 libs/loader/Makefile
5196 projects/mozilla/Makefile
5199 projects/activex/axvlc_rc.rc
5200 projects/mozilla/npvlc_rc.rc
5201 projects/mozilla/vlc.r
5202 projects/mozilla/install.js
5204 share/vlc_win32_rc.rc
5205 share/libvlc_win32_rc.rc
5211 modules/access/Makefile
5212 modules/access/bd/Makefile
5213 modules/access/bda/Makefile
5214 modules/access/dshow/Makefile
5215 modules/access/dvb/Makefile
5216 modules/access/mms/Makefile
5217 modules/access/cdda/Makefile
5218 modules/access/rtp/Makefile
5219 modules/access/rtsp/Makefile
5220 modules/access/vcd/Makefile
5221 modules/access/vcdx/Makefile
5222 modules/access/screen/Makefile
5223 modules/access/zip/Makefile
5224 modules/access_output/Makefile
5225 modules/audio_filter/Makefile
5226 modules/audio_filter/channel_mixer/Makefile
5227 modules/audio_filter/converter/Makefile
5228 modules/audio_filter/resampler/Makefile
5229 modules/audio_filter/spatializer/Makefile
5230 modules/audio_mixer/Makefile
5231 modules/audio_output/Makefile
5232 modules/codec/Makefile
5233 modules/codec/avcodec/Makefile
5234 modules/codec/cmml/Makefile
5235 modules/codec/dmo/Makefile
5236 modules/codec/shine/Makefile
5237 modules/codec/subtitles/Makefile
5238 modules/codec/spudec/Makefile
5239 modules/codec/wmafixed/Makefile
5240 modules/control/Makefile
5241 modules/control/http/Makefile
5242 modules/control/globalhotkeys/Makefile
5243 modules/demux/Makefile
5244 modules/demux/asf/Makefile
5245 modules/demux/avformat/Makefile
5246 modules/demux/avi/Makefile
5247 modules/demux/mkv/Makefile
5248 modules/demux/mp4/Makefile
5249 modules/demux/mpeg/Makefile
5250 modules/demux/playlist/Makefile
5251 modules/gui/Makefile
5252 modules/gui/beos/Makefile
5253 modules/gui/macosx/Makefile
5254 modules/gui/hildon/Makefile
5255 modules/gui/minimal_macosx/Makefile
5256 modules/gui/qnx/Makefile
5257 modules/gui/qt4/Makefile
5258 modules/gui/skins2/Makefile
5259 modules/gui/wince/Makefile
5260 modules/meta_engine/Makefile
5261 modules/misc/Makefile
5262 modules/misc/dummy/Makefile
5263 modules/misc/lua/Makefile
5264 modules/misc/memcpy/Makefile
5265 modules/misc/notify/Makefile
5266 modules/misc/testsuite/Makefile
5267 modules/misc/playlist/Makefile
5268 modules/misc/osd/Makefile
5269 modules/misc/stats/Makefile
5270 modules/misc/xml/Makefile
5271 modules/mux/Makefile
5272 modules/mux/mpeg/Makefile
5273 modules/packetizer/Makefile
5274 modules/services_discovery/Makefile
5275 modules/stream_filter/Makefile
5276 modules/stream_out/Makefile
5277 modules/stream_out/transcode/Makefile
5278 modules/video_chroma/Makefile
5279 modules/video_filter/Makefile
5280 modules/video_filter/dynamicoverlay/Makefile
5281 modules/video_output/Makefile
5282 modules/video_output/msw/Makefile
5283 modules/video_output/qte/Makefile
5284 modules/visualization/Makefile
5285 modules/visualization/visual/Makefile
5288 dnl Generate makefiles
5291 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5292 # not provided with the source
5293 ${SHELL} ./config.status --file=vlc-config
5294 chmod 0755 vlc-config
5296 /bin/echo -n "Enabled modules: "
5297 ./vlc-config --list plugin
5299 dnl Do we have to use make or gmake ?
5300 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
5301 dnl Shortcut to nice compile message
5303 echo '#! /bin/sh' >compile
5304 echo rm -f .error\$\$ >>compile
5305 echo ERROR=0 >>compile
5306 echo export PATH=$PATH LANG=C >>compile
5307 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5308 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5309 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5310 echo rm -f .error\$\$ >>compile
5311 echo exit \$ERROR >>compile
5315 libvlc configuration
5316 --------------------
5317 version : ${VERSION}
5319 architecture : ${ARCH}
5321 test "${enable_debug}" = "yes" && printf "debug "
5322 test "${enable_cprof}" = "yes" && printf "cprof "
5323 test "${enable_gprof}" = "yes" && printf "gprof "
5324 test "${enable_optimizations}" = "yes" && printf "optim "
5325 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5327 if test "${enable_vlc}" != "no"; then
5328 echo "vlc aliases :${ALIASES}"
5330 echo "build vlc executable : no"
5332 echo "plugins/bindings :${PLUGINS_BINDINGS}
5334 You can tune the compiler flags in vlc-config.
5335 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'.
5337 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5339 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5341 echo " FFmpeg will be REALLY slow."
5342 echo " VLC WILL NOT PERFORM AS EXPECTED."