1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
5 AC_INIT(vlc, 1.0.0-git)
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
15 COPYRIGHT_YEARS="1996-2009"
18 AC_CONFIG_SRCDIR(src/libvlc.c)
19 AC_CONFIG_AUX_DIR(autotools)
20 AC_CONFIG_MACRO_DIR(m4)
24 AM_INIT_AUTOMAKE(tar-ustar)
25 AM_CONFIG_HEADER(config.h)
27 dnl Too many people are not aware of maintainer mode:
28 dnl If you want to use it, you definitely know what you are doing, so
29 dnl you can specify "--disable-maintainer-mode". But if you want the default
30 dnl automake behavior, you've likely never heard of maintainer mode, so we
31 dnl can't expect you to enable it manually.
33 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
34 [enable_maintainer_mode="yes"])
40 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
41 dnl AC_SUBST(vlcincludedir)
42 vlcdatadir="\${datadir}/\${PKGDIR}"
44 vlclibdir="\${libdir}/\${PKGDIR}"
48 dnl Deprecated options
49 dnl to notify packagers that stuff has changed
51 AC_ARG_ENABLE(python-bindings,
52 [ --enable-python-bindings Always fails for historical reasons)],,
53 [enable_python_bindings="no"])
54 AS_IF([test "${enable_python_bindings}" != "no"], [
55 AC_MSG_ERROR([Python bindings are now built from a separate source package])
58 AC_ARG_ENABLE(java-bindings,
59 [ --enable-java-bindings Always fails for historical reasons],,
60 [enable_java_bindings="no"])
61 AS_IF([test "${enable_java_bindings}" != "no"], [
62 AC_MSG_ERROR([Java bindings are now built from a separate source package])
74 AC_USE_SYSTEM_EXTENSIONS
75 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
81 _AM_DEPENDENCIES([OBJC])
87 dnl Find the right ranlib, even when cross-compiling
88 AC_CHECK_TOOL(RANLIB, ranlib, :)
89 AC_CHECK_TOOL(STRIP, strip, :)
90 AC_CHECK_TOOL(AR, ar, :)
91 AC_CHECK_TOOL(LD, ld, :)
92 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
94 dnl Check for compiler properties
99 dnl Allow binary package maintainer to pass a custom string to avoid
101 AC_ARG_WITH(binary-version,
102 AS_HELP_STRING([--with-binary-version=STRING],
103 [To avoid plugins cache problem between binary version]),[],[])
104 AS_IF([test -n "${with_binary_version}"],[
105 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
106 [Binary specific version])
111 dnl Check for the contrib directory
114 [ --without-contrib do not use the libraries in extras/contrib],[],[])
115 AS_IF([test "${with_contrib}" != "no"],[
116 AC_MSG_CHECKING([for libs in extras/contrib])
117 topdir="`dirname $0`"
118 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
119 topdir="`pwd`/$topdir"
121 AS_IF([test -d ${topdir}/extras/contrib/lib],[
122 AS_IF([test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
123 if test "${with_contrib}" = "yes"; then
125 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
128 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
132 export PATH=${topdir}/extras/contrib/bin:$PATH
133 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
134 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
135 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
136 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
137 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
138 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
139 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
140 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
141 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
142 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
144 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
146 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
147 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
149 if test -z $with_mozilla_sdk_path; then
150 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
152 if test -z $with_cyberlink_tree; then
153 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
156 if test ".`uname -s`" = ".Darwin"; then
157 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
158 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
159 elif test ".`uname -s`" = ".BeOS"; then
160 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
161 export BELIBRARIES=${topdir}/extras/contrib/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}"
202 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
203 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
204 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
205 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
206 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
207 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
208 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
209 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
210 VLC_ADD_LDFLAGS([avcodec avformat swscale imgresample postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
211 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
212 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,CoreFoundation])
213 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
214 AC_ARG_ENABLE(macosx-defaults,
215 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
216 if test "x${enable_macosx_defaults}" != "xno"
219 echo "Building with Mac OS X defaults:"
220 with_macosx_version_min="10.4"
221 echo " Assuming --with-macosx-version-min=10.4"
223 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
224 ac_default_prefix="${build_dir}/vlc_install_dir"
226 echo " Assuming --enable-macosx"
228 echo " Assuming --enable-faad"
230 echo " Assuming --enable-flac"
232 echo " Assuming --enable-theora"
234 echo " Assuming --enable-shout"
236 echo " Assuming --enable-cddax"
238 echo " Assuming --enable-vcdx"
240 echo " Assuming --enable-caca"
242 echo " Assuming --enable-goom"
244 echo " Assuming --enable-ncurses"
246 echo " Assuming --enable-twolame"
247 enable_realrtsp="yes"
248 echo " Assuming --enable-realrtsp"
249 enable_update_check="yes"
250 echo " Assuming --enable-update-check"
252 echo " Assuming --enable-libass"
253 enable_asademux="yes"
254 echo " Assuming --enable-asademux"
257 echo " Assuming --disable-skins2"
259 echo " Assuming --disable-x11"
261 echo " Assuming --disable-glx"
263 echo " Assuming --disable-xvideo"
265 if test ".`uname -p`" = ".i386"; then
266 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
267 dnl without hacking it a lot, we disable mmx and sse.
268 dnl (that bug is about ld being unable to handle
270 save_cflags="$CFLAGS"
271 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
273 [int a;], [asm("movq _a,%mm0\n");],
274 ac_ld_does_not_support_text_reloc=no,
275 ac_ld_does_not_support_text_reloc=yes)
276 CFLAGS="$save_cflags"
278 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
280 echo " Assuming --disable-mmx (due to a bug in ld)"
282 echo " Assuming --disable-sse (due to a bug in ld)"
286 dnl Check for Mac OS X SDK settings
288 AC_ARG_WITH(macosx-sdk,
289 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
290 if test "${with_macosx_sdk}" != "" ; then
291 CPP="${CPP} -isysroot ${with_macosx_sdk}"
292 CC="${CC} -isysroot ${with_macosx_sdk}"
293 CXX="${CXX} -isysroot ${with_macosx_sdk}"
294 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
295 LD="${LD} -syslibroot ${with_macosx_sdk}"
297 AC_ARG_WITH(macosx-version-min,
298 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
299 if test "${with_macosx_version_min}" != "" ; then
300 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
301 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
302 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
303 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
304 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
305 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
306 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
307 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
308 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
309 export MACOSX_DEPLOYMENT_TARGET
312 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
313 AC_CHECK_TOOL(WINDRES, windres, :)
314 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
317 *wince* | *mingwce* | *mingw32ce* | *pe*)
319 dnl Sadly CeGCC still needs non-wince macros
320 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
324 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
327 dnl Check if we are using the mno-cygwin mode in which case we are
328 dnl actually dealing with a mingw32 compiler.
329 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
334 SYS=mingw32, SYS=cygwin)
338 if test "${SYS}" = "mingw32"; then
339 # add ws2_32 for closesocket, select, recv
340 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
341 VLC_ADD_LDFLAGS([vlc],[-mwindows])
342 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
343 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
344 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],[-lws2_32])
346 if test "${SYS}" = "mingwce"; then
347 # add ws2 for closesocket, select, recv
348 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2])
349 VLC_ADD_LIBS([libvlc],[-lmmtimer])
354 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
358 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
359 # Perhaps it is useful other places as well?
360 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
367 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
368 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
369 VLC_ADD_CXXFLAGS([beos],[])
370 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
371 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
372 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
373 VLC_ADD_LIBS([access_file],[-lpoll])
374 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
376 if test -f /boot/beos/system/lib/libbind.so; then
377 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket])
379 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet])
382 dnl Ugly check for Zeta
383 if test -f /boot/beos/system/lib/libzeta.so; then
384 VLC_ADD_LIBS([beos],[-lzeta])
391 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
392 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
393 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
394 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
395 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
398 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
399 dnl for program foo on win32
401 case "${build_os}" in
403 ac_executable_extensions=".exe"
411 dnl It's very bad, but our former custom system was worst
415 dnl override platform specific check for dependent libraries
416 dnl otherwise libtool linking of shared libraries will
417 dnl fail on anything other than pass_all.
418 AC_CACHE_VAL(lt_cv_deplibs_check_method,
419 [lt_cv_deplibs_check_method=pass_all])
422 dnl AC_DISABLE_FAST_INSTALL
425 m4_undefine([AC_PROG_F77])
426 m4_defun([AC_PROG_F77],[])
429 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
430 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
432 lt_cv_deplibs_check_method=pass_all
438 AM_GNU_GETTEXT_VERSION([0.17])
439 AM_GNU_GETTEXT([external])
440 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
446 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
447 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
449 dnl Check for the need to include the mingwex lib for mingw32
450 if test "${SYS}" = "mingw32"
452 AC_CHECK_LIB(mingwex,opendir,
453 AC_CHECK_LIB(mingw32,opendir,,
454 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
458 dnl Check for fnative-struct or mms-bitfields support for mingw32
459 if test "${SYS}" = "mingw32"
461 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
462 [ac_cv_c_mms_bitfields],
463 [CFLAGS="${CFLAGS_save} -mms-bitfields"
464 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
465 if test "${ac_cv_c_mms_bitfields}" != "no"; then
466 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
467 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
469 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
470 [ac_cv_c_fnative_struct],
471 [CFLAGS="${CFLAGS_save} -fnative-struct"
472 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
473 if test "${ac_cv_c_fnative_struct}" != "no"; then
474 CFLAGS_save="${CFLAGS_save} -fnative-struct";
475 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
479 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
482 dnl Check for fvtable-thunks support for mingw32
483 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
486 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
487 [ac_cv_cxx_fvtable_thunks],
488 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
489 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
490 ac_cv_cxx_fvtable_thunks=no)])
491 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
492 CXXFLAGS_mingw32_special="-fvtable-thunks"
495 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
499 dnl Plugin compilation stuff
503 dnl The -DSYS_FOO flag
504 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
506 dnl Check for system libs needed
509 dnl Check for usual libc functions
510 AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise uselocale])
511 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
512 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
513 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
515 AC_CHECK_FUNCS(fcntl)
517 dnl Check for Linux system calls
518 AC_CHECK_FUNCS([vmsplice])
520 AH_BOTTOM([#include <vlc_fixups.h>])
522 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
524 dnl Check for setlocal and langinfo
525 AC_CHECK_FUNCS(setlocale)
526 AC_CHECK_HEADERS(langinfo.h)
527 AC_CHECK_FUNCS(nl_langinfo)
529 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
530 [AC_TRY_LINK([#include <langinfo.h>],
531 [char* cs = nl_langinfo(CODESET);],
532 ac_cv_langinfo_codeset=yes,
533 ac_cv_langinfo_codeset=no)
535 if test ${ac_cv_langinfo_codeset} = yes; then
536 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
537 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
540 AC_CHECK_FUNCS(connect,,[
541 AC_CHECK_LIB(socket,connect,[
542 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
543 LIBS_socket="-lsocket"
547 AC_CHECK_FUNCS(send,,[
548 AC_CHECK_LIB(socket,send,[
549 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])
554 dnl Check for socklen_t
555 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
556 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
557 ac_cv_type_socklen_t,
558 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
559 [#include <sys/types.h>
561 # include <winsock2.h>
562 # include <ws2tcpip.h>
564 # include <sys/socket.h>
565 #endif]], [[socklen_t len; len = 0;]])],
566 ac_cv_type_socklen_t=yes,
567 ac_cv_type_socklen_t=no)])
568 AS_IF([test "$ac_cv_type_socklen_t" = no],
569 [AC_DEFINE(socklen_t, int)])
571 dnl Check for struct sockaddr_storage
572 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
573 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
574 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
576 [#include <sys/types.h>
577 #if defined( UNDER_CE )
578 # include <winsock2.h>
579 #elif defined( WIN32 )
580 # include <winsock2.h>
582 # include <sys/socket.h>
583 #endif], [struct sockaddr_storage addr;],
584 ac_cv_struct_sockaddr_storage=yes,
585 ac_cv_struct_sockaddr_storage=no)])
586 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
587 AC_DEFINE(sockaddr_storage, sockaddr)
588 AC_DEFINE(ss_family, sa_family)
591 dnl getaddrinfo, getnameinfo and gai_strerror check
592 dnl -lnsl and -lsocket are needed on Solaris;
593 dnl we purposedly make the test fail on Windows
595 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
596 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
598 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
601 AC_CHECK_FUNCS([getnameinfo gai_strerror])
604 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
605 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
606 [#include <sys/types.h>
607 #if defined( WIN32 ) || defined( UNDER_CE )
608 # if defined(UNDER_CE) && defined(sockaddr_storage)
609 # undef sockaddr_storage
611 # include <winsock2.h>
612 # include <ws2tcpip.h>
617 dnl Check for va_copy
618 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
620 [#include <stdarg.h>],
621 [va_list ap1, ap2; va_copy(ap1,ap2);],
622 [ac_cv_c_va_copy="yes"],
623 [ac_cv_c_va_copy="no"]))
624 if test "${ac_cv_c_va_copy}" = "yes"; then
625 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
627 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
629 [#include <stdarg.h>],
630 [va_list ap1, ap2; __va_copy(ap1,ap2);],
631 [ac_cv_c___va_copy="yes"],
632 [ac_cv_c___va_copy="no"]))
633 if test "${ac_cv_c___va_copy}" = "yes"; then
634 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
637 AC_CHECK_FUNCS(inet_aton,,[
638 AC_CHECK_LIB(resolv,inet_aton,[
639 VLC_ADD_LIBS([libvlc],[-lresolv])
643 dnl Check for getopt (always use builtin one on win32)
644 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
648 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
649 [ # FreeBSD has a gnugetopt library for this:
650 AC_CHECK_LIB([gnugetopt],[getopt_long],
651 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
652 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
655 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
657 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
660 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
663 VLC_ADD_LIBS([avcodec avformat swscale imgresample postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
665 AC_CHECK_LIB(m,sqrt,[
666 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
668 AC_CHECK_LIB(m,ceil,[
669 VLC_ADD_LIBS([mosaic],[-lm])
672 VLC_ADD_LIBS([gaussianblur],[-lm])
674 AC_CHECK_LIB(m,round,[
675 VLC_ADD_LIBS([dbus],[-lm])
677 AC_CHECK_LIB(mx,sqrtf,[
678 VLC_ADD_LIBS([x264],[-lmx])
680 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
682 dnl Check for dynamic plugins
683 ac_cv_have_plugins=no
686 AC_CHECK_HEADERS(mach-o/dyld.h,
687 [AC_CHECK_FUNCS(NSLinkModule,
688 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
689 ac_cv_have_plugins=yes])])
692 if test "${ac_cv_have_plugins}" = "no"; then
693 AC_CHECK_HEADERS(dl.h)
694 ac_cv_my_have_shl_load=no
695 AC_CHECK_FUNC(shl_load,
696 [ac_cv_my_have_shl_load=yes,
697 AC_CHECK_LIB(dld, shl_load,
698 [ac_cv_my_have_shl_load=yes
699 VLC_ADD_LIBS([libvlc],[-ldld])])])
700 if test "${ac_cv_my_have_shl_load}" = "yes"; then
701 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
702 ac_cv_have_plugins=yes
707 if test "${ac_cv_have_plugins}" = "no"; then
708 AC_CHECK_LIB(dld, dld_link,
709 [VLC_ADD_LIBS([libvlc],[-ldld])
710 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
711 ac_cv_have_plugins=yes])
715 if test "${ac_cv_have_plugins}" = "no"; then
716 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
717 AC_CHECK_LIB(kernel32, main,
718 [VLC_ADD_LIBS([libvlc],[-lkernel32])
719 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
720 ac_cv_have_plugins=yes])
725 if test "${ac_cv_have_plugins}" = "no"; then
726 if test "${SYS}" = "mingwce"; then
727 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
728 ac_cv_have_plugins=yes
733 if test "${ac_cv_have_plugins}" = "no"; then
734 AC_CHECK_HEADERS(image.h)
735 AC_CHECK_FUNCS(load_add_on,
736 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
737 ac_cv_have_plugins=yes])
740 # Only test for dlopen() if the others didn't work
741 if test "${ac_cv_have_plugins}" = "no"; then
742 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
743 ac_cv_my_have_dlopen=no
744 AC_CHECK_FUNC(dlopen,
745 ac_cv_my_have_dlopen=yes,
746 AC_CHECK_LIB(dl, dlopen,
747 ac_cv_my_have_dlopen=yes
748 VLC_ADD_LIBS([libvlc realaudio realvideo],[-ldl]),
749 AC_CHECK_LIB(svld, dlopen,
750 ac_cv_my_have_dlopen=yes
751 VLC_ADD_LIBS([libvlc],[-lsvld]))))
752 if test "${ac_cv_my_have_dlopen}" = "yes"; then
753 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
754 ac_cv_have_plugins=yes
758 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
759 dnl Check for pthreads - borrowed from XMMS
761 if test "${THREAD_LIB}" = "error"; then
762 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
764 if test "${THREAD_LIB}" = "error"; then
765 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
767 if test "${THREAD_LIB}" = "error"; then
768 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
770 if test "${THREAD_LIB}" = "error"; then
771 AC_CHECK_FUNCS(pthread_mutex_lock)
775 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
777 AC_CHECK_LIB(rt, clock_nanosleep, [
778 VLC_ADD_LIBS([libvlc],[-lrt])
779 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
782 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
786 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
787 AC_CHECK_LIB(rt,nanosleep,
788 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
789 [AC_CHECK_LIB(posix4,nanosleep,
790 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
793 if ${have_nanosleep}; then
794 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
796 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
798 dnl Check for misc headers
799 AC_MSG_CHECKING(for strncasecmp in strings.h)
800 AC_EGREP_HEADER(strncasecmp,strings.h,[
802 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
803 Define if <strings.h> defines strncasecmp.)],[
806 dnl Check for headers
807 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.h)
808 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h xlocale.h)
809 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
810 AC_CHECK_HEADERS([net/if.h], [], [],
812 #include <sys/socket.h>
814 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
815 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
816 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
817 AC_CHECK_HEADERS(syslog.h)
818 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
822 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
823 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
824 AC_CHECK_TYPE(ssize_t,, [
825 AC_DEFINE(ssize_t, int)
829 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
830 if test ${SYS} != "mingw32"
832 AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
838 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
839 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
841 dnl Mac OS X and other OSes don't have declaration for nanosleep
842 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
843 AC_MSG_CHECKING(for nanosleep in time.h)
844 AC_EGREP_HEADER(nanosleep,time.h,[
846 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
847 Define if <time.h> defines nanosleep.)
851 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
853 dnl Make sure we have timespecs
854 AC_MSG_CHECKING(for timespec in sys/time.h)
855 AC_EGREP_HEADER(timespec,sys/time.h,[
857 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
858 Define if <sys/time.h> defines struct timespec.)
863 dnl Check for threads library
864 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
865 AC_CHECK_HEADERS(pthread.h)
866 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
868 dnl Find where are the X headers and libraries
871 dnl it seems that autoconf do the pkg-config detection only for the first PKG_CHECK_MODULES in the configure.ac ( which is logical) but in our case it is nested in a if so it was not working if you're not on linux or have disable hal.
872 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
873 AC_ARG_VAR(PKG_CONFIG_PATH,
874 [Paths where to find .pc not at the default location])
875 PKG_PROG_PKG_CONFIG()
878 dnl Check for zlib.h and -lz along with system -lminizip if available
880 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
881 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
882 if test "${have_zlib}" = "yes"
884 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
885 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
886 AC_CHECK_HEADERS([unzip.h], [
888 MINIZIP_LIBS="-lminizip -lz"
891 MINIZIP_CFLAGS="-I../../../@top_srcdir@//libs/unzip"
892 MINIZIP_LIBS="../../../libs/unzip/libunzip.la"
895 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
896 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
897 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
898 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
899 VLC_ADD_PLUGIN([unzip])
900 VLC_ADD_PLUGIN([zip])
906 [ --enable-hal Linux HAL services discovery (default enabled)])
908 if test "${enable_hal}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
910 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
912 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
913 VLC_ADD_PLUGIN([hal])
914 VLC_ADD_PLUGIN([probe_hal])
915 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
916 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
917 [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])]
923 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
926 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
929 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
930 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
931 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
932 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
933 dnl Check for dbus control interface
934 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
935 if test "${enable_dbus_control}" != "no"
937 VLC_ADD_PLUGIN([dbus])
938 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
939 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
941 dnl Check for Telepathy
942 AC_ARG_ENABLE(telepathy,
943 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
944 if test "${enable_telepathy}" != "no"; then
945 VLC_ADD_PLUGIN([telepathy])
946 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
947 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
949 dnl Power Management Inhibiter
950 VLC_ADD_PLUGIN([inhibit])
951 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
952 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
954 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
960 dnl Build the gtk_main plugins?
966 dnl build the qte plugin ?
969 dnl Check for ntohl, etc.
970 AC_CACHE_CHECK([for ntohl in sys/param.h],
971 [ac_cv_c_ntohl_sys_param_h],
972 [CFLAGS="${CFLAGS_save} -Wall -Werror"
973 AC_TRY_COMPILE([#include <sys/param.h>],
974 [int meuh; ntohl(meuh);],
975 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
976 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
977 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
979 CFLAGS="${CFLAGS_save}"
981 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
982 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
984 dnl Check for various optimization flags
985 AC_CACHE_CHECK([if \$CC accepts -Os],
987 [CFLAGS="${CFLAGS_save} -Os"
988 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
989 if test "${ac_cv_c_os}" != "no"; then
990 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
992 AC_CACHE_CHECK([if \$CC accepts -O],
994 [CFLAGS="${CFLAGS_save} -O"
995 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
996 if test "${ac_cv_c_o}" != "no"; then
997 if test "${ac_cv_c_o3}" = "no"; then
998 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1003 AC_CACHE_CHECK([if \$CC accepts -O3],
1005 [CFLAGS="${CFLAGS_save} -O3"
1006 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1007 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1008 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1010 AC_CACHE_CHECK([if \$CC accepts -O2],
1012 [CFLAGS="${CFLAGS_save} -O2"
1013 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1014 if test "${ac_cv_c_o2}" != "no"; then
1015 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1017 AC_CACHE_CHECK([if \$CC accepts -O],
1019 [CFLAGS="${CFLAGS_save} -O"
1020 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1021 if test "${ac_cv_c_o}" != "no"; then
1022 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1027 AC_CACHE_CHECK([if \$CC accepts -O0],
1029 [CFLAGS="${CFLAGS_save} -O0"
1030 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1031 if test "${ac_cv_c_o0}" != "no"; then
1032 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1035 dnl Check for -ffast-math
1036 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1037 [ac_cv_c_fast_math],
1038 [CFLAGS="${CFLAGS_save} -ffast-math"
1039 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1040 if test "${ac_cv_c_fast_math}" != "no"; then
1041 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1044 dnl Check for -funroll-loops
1045 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1046 if test "${SYS}" != "beos"
1048 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1049 [ac_cv_c_unroll_loops],
1050 [CFLAGS="${CFLAGS_save} -funroll-loops"
1051 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1052 if test "${ac_cv_c_unroll_loops}" != "no"; then
1053 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1057 dnl Check for -fomit-frame-pointer
1058 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1059 [ac_cv_c_omit_frame_pointer],
1060 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1061 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1062 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1063 if test "${SYS}" != "darwin"; then
1064 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1066 dnl On darwin we explicitely disable it.
1067 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1071 dnl Check for Darwin plugin linking flags
1072 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1074 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1075 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1076 if test "${ac_cv_ld_darwin}" != "no"; then
1077 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1080 dnl Checks for __attribute__(aligned()) directive
1081 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1082 [ac_cv_c_attribute_aligned],
1083 [ac_cv_c_attribute_aligned=0
1084 CFLAGS="${CFLAGS_save} -Werror"
1085 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1087 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1088 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1090 CFLAGS="${CFLAGS_save}"])
1091 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1092 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1093 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1096 dnl Check for __attribute__((packed))
1097 AC_CACHE_CHECK([for __attribute__((packed))],
1098 [ac_cv_c_attribute_packed],
1099 [ac_cv_c_attribute_packed=no
1100 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1101 [ac_cv_c_attribute_packed=yes])])
1102 if test "${ac_cv_c_attribute_packed}" != "no"; then
1103 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1109 case "${host_cpu}" in
1118 dnl Check for backtrace() support
1119 AC_CHECK_HEADERS(execinfo.h)
1120 AC_CHECK_FUNCS(backtrace)
1123 dnl Enable profiling
1125 AC_ARG_ENABLE(gprof,
1126 [ --enable-gprof gprof profiling (default disabled)])
1127 AC_ARG_ENABLE(cprof,
1128 [ --enable-cprof cprof profiling (default disabled)])
1129 test "${enable_gprof}" != "yes" && enable_gprof="no"
1130 test "${enable_cprof}" != "yes" && enable_cprof="no"
1136 VLC_ADD_PLUGIN([deinterlace])
1137 VLC_ADD_PLUGIN([yuvp])
1138 VLC_ADD_PLUGIN([invert])
1139 VLC_ADD_PLUGIN([adjust])
1140 VLC_ADD_PLUGIN([transform])
1141 VLC_ADD_PLUGIN([wave])
1142 VLC_ADD_PLUGIN([ripple])
1143 VLC_ADD_PLUGIN([psychedelic])
1144 VLC_ADD_PLUGIN([gradient])
1145 VLC_ADD_PLUGIN([motionblur])
1146 VLC_ADD_PLUGIN([rv32])
1147 VLC_ADD_PLUGIN([rotate])
1148 VLC_ADD_PLUGIN([noise])
1149 VLC_ADD_PLUGIN([grain])
1150 VLC_ADD_PLUGIN([extract])
1151 VLC_ADD_PLUGIN([sharpen])
1152 VLC_ADD_PLUGIN([croppadd])
1153 VLC_ADD_PLUGIN([canvas])
1154 VLC_ADD_PLUGIN([blendbench])
1155 VLC_ADD_PLUGIN([blend])
1156 VLC_ADD_PLUGIN([scale])
1157 VLC_ADD_PLUGIN([vmem])
1158 VLC_ADD_PLUGIN([logo])
1159 VLC_ADD_PLUGIN([magnify])
1160 VLC_ADD_PLUGIN([puzzle])
1161 VLC_ADD_PLUGIN([colorthres])
1162 VLC_ADD_PLUGIN([scene])
1163 VLC_ADD_PLUGIN([yuv])
1165 ALIASES="${ALIASES} cvlc"
1168 dnl default modules that need g++
1171 VLC_ADD_PLUGIN([spatializer])
1174 if test "${SYS}" != "mingwce"; then
1175 VLC_ADD_PLUGIN([gestures])
1176 VLC_ADD_PLUGIN([rc])
1177 VLC_ADD_PLUGIN([hotkeys])
1178 VLC_ADD_PLUGIN([showintf])
1179 VLC_ADD_PLUGIN([marq])
1180 VLC_ADD_PLUGIN([podcast])
1181 VLC_ADD_PLUGIN([shout])
1182 VLC_ADD_PLUGIN([sap])
1183 VLC_ADD_PLUGIN([fake])
1184 VLC_ADD_PLUGIN([folder])
1185 VLC_ADD_PLUGIN([rss])
1186 VLC_ADD_PLUGIN([mosaic])
1187 VLC_ADD_PLUGIN([wall])
1188 VLC_ADD_PLUGIN([motiondetect])
1189 VLC_ADD_PLUGIN([clone])
1190 VLC_ADD_PLUGIN([crop])
1191 VLC_ADD_PLUGIN([erase])
1192 VLC_ADD_PLUGIN([bluescreen])
1193 VLC_ADD_PLUGIN([alphamask])
1194 VLC_ADD_PLUGIN([gaussianblur])
1195 VLC_ADD_PLUGIN([i420_yuy2])
1196 VLC_ADD_PLUGIN([i422_yuy2])
1197 VLC_ADD_PLUGIN([i420_ymga])
1198 VLC_ADD_PLUGIN([i422_i420])
1199 VLC_ADD_PLUGIN([yuy2_i422])
1200 VLC_ADD_PLUGIN([yuy2_i420])
1201 VLC_ADD_PLUGIN([chain])
1202 VLC_ADD_PLUGIN([aout_file])
1203 VLC_ADD_PLUGIN([linear_resampler])
1204 VLC_ADD_PLUGIN([bandlimited_resampler])
1205 VLC_ADD_PLUGIN([float32_mixer])
1206 VLC_ADD_PLUGIN([spdif_mixer])
1207 VLC_ADD_PLUGIN([simple_channel_mixer])
1208 VLC_ADD_PLUGIN([dolby_surround_decoder])
1209 VLC_ADD_PLUGIN([headphone_channel_mixer])
1210 VLC_ADD_PLUGIN([normvol])
1211 VLC_ADD_PLUGIN([equalizer])
1212 VLC_ADD_PLUGIN([param_eq])
1213 VLC_ADD_PLUGIN([scaletempo])
1214 VLC_ADD_PLUGIN([converter_float])
1215 VLC_ADD_PLUGIN([a52tospdif])
1216 VLC_ADD_PLUGIN([dtstospdif])
1217 VLC_ADD_PLUGIN([audio_format])
1218 ALIASES="${ALIASES} rvlc"
1221 if test "${SYS}" = "mingwce"; then
1222 VLC_ADD_PLUGIN([chain])
1223 VLC_ADD_PLUGIN([aout_file])
1224 VLC_ADD_PLUGIN([linear_resampler])
1225 VLC_ADD_PLUGIN([bandlimited_resampler])
1226 VLC_ADD_PLUGIN([float32_mixer])
1227 VLC_ADD_PLUGIN([spdif_mixer])
1228 VLC_ADD_PLUGIN([simple_channel_mixer])
1229 VLC_ADD_PLUGIN([headphone_channel_mixer])
1230 VLC_ADD_PLUGIN([normvol])
1231 VLC_ADD_PLUGIN([converter_float])
1232 VLC_ADD_PLUGIN([a52tospdif])
1233 VLC_ADD_PLUGIN([dtstospdif])
1234 VLC_ADD_PLUGIN([audio_format])
1235 VLC_ADD_PLUGIN([i420_yuy2])
1236 VLC_ADD_PLUGIN([i422_yuy2])
1237 VLC_ADD_PLUGIN([i420_ymga])
1238 VLC_ADD_PLUGIN([i422_i420])
1239 VLC_ADD_PLUGIN([yuy2_i422])
1240 VLC_ADD_PLUGIN([yuy2_i420])
1244 dnl Some plugins aren't useful on some platforms
1246 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1247 VLC_ADD_PLUGIN([screensaver])
1248 VLC_ADD_PLUGIN([motion])
1249 VLC_ADD_PLUGIN([dynamicoverlay])
1250 VLC_ADD_PLUGIN([signals])
1251 elif test "${SYS}" != "mingwce"; then
1252 VLC_ADD_PLUGIN([ntservice])
1253 VLC_ADD_PLUGIN([access_smb])
1254 VLC_ADD_PLUGIN([dmo])
1255 VLC_ADD_PLUGIN([msn])
1256 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1257 VLC_ADD_PLUGIN([globalhotkeys])
1259 VLC_ADD_PLUGIN([win32text])
1261 if test "${SYS}" = "darwin"; then
1262 VLC_ADD_PLUGIN([quartztext])
1263 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1267 dnl Accelerated modules
1270 AC_ARG_WITH(,[Optimization options:])
1272 dnl Check for fully working MMX intrinsics
1273 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1274 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1276 [ --disable-mmx disable MMX optimizations (default auto)],,[
1277 case "${host_cpu}" in
1286 AS_IF([test "${enable_mmx}" != "no"], [
1289 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1290 [ac_cv_c_mmx_intrinsics],
1291 [CFLAGS="${CFLAGS_save} -O -mmmx"
1292 AC_TRY_COMPILE([#include <mmintrin.h>
1296 a = b = c = (__m64)frobzor;
1297 a = _mm_slli_pi16(a, 3);
1298 a = _mm_adds_pi16(a, b);
1299 c = _mm_srli_pi16(c, 8);
1300 c = _mm_slli_pi16(c, 3);
1301 b = _mm_adds_pi16(b, c);
1302 a = _mm_unpacklo_pi8(a, b);
1303 frobzor = (uint64_t)a;],
1304 [ac_cv_c_mmx_intrinsics=yes],
1305 [ac_cv_c_mmx_intrinsics=no])])
1306 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1307 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1308 [Define to 1 if MMX intrinsics are available.])
1309 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1312 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1314 [CFLAGS="${CFLAGS_save}"
1315 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1316 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1317 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1318 AC_DEFINE(CAN_COMPILE_MMX, 1,
1319 [Define to 1 inline MMX assembly is available.])
1320 VLC_ADD_PLUGIN([memcpymmx])
1321 VLC_ADD_PLUGIN([i420_rgb_mmx])
1322 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1323 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1324 VLC_ADD_PLUGIN([i420_ymga_mmx])
1327 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1328 [ac_cv_mmxext_inline],
1329 [CFLAGS="${CFLAGS_save}"
1330 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1331 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1332 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1333 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1334 [Define to 1 if MMX EXT inline assembly is available.])
1335 VLC_ADD_PLUGIN([memcpymmxext])
1339 dnl Check for fully workin SSE2 intrinsics
1340 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1341 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1343 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)]
1345 case "${host_cpu}" in
1354 AS_IF([test "${enable_sse}" != "no"], [
1355 ARCH="${ARCH} sse sse2"
1357 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1358 [ac_cv_c_sse2_intrinsics],
1359 [CFLAGS="${CFLAGS_save} -O -msse2"
1360 AC_TRY_COMPILE([#include <emmintrin.h>
1364 a = b = c = _mm_set1_epi64((__m64)frobzor);
1365 a = _mm_slli_epi16(a, 3);
1366 a = _mm_adds_epi16(a, b);
1367 c = _mm_srli_epi16(c, 8);
1368 c = _mm_slli_epi16(c, 3);
1369 b = _mm_adds_epi16(b, c);
1370 a = _mm_unpacklo_epi8(a, b);
1371 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1372 [ac_cv_c_sse2_intrinsics=yes],
1373 [ac_cv_c_sse2_intrinsics=no])])
1374 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1375 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1376 [Define to 1 if SSE2 intrinsics are available.])
1377 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1380 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1382 [CFLAGS="${CFLAGS_save}"
1383 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1384 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1385 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1386 AC_DEFINE(CAN_COMPILE_SSE, 1,
1387 [Define to 1 if SSE inline assembly is available.])
1390 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1391 [ac_cv_sse2_inline],
1392 [CFLAGS="${CFLAGS_save}"
1393 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1394 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1395 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1396 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1397 [Define to 1 if SSE2 inline assembly is available.])
1398 VLC_ADD_PLUGIN([i420_rgb_sse2])
1399 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1400 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1404 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1405 [ac_cv_3dnow_inline],
1406 [CFLAGS="${CFLAGS_save}"
1407 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1408 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1409 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1410 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1411 [Define to 1 if 3D Now! inline assembly is available.])
1412 VLC_ADD_PLUGIN([memcpy3dn])
1415 AC_ARG_ENABLE(altivec,
1416 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1417 AS_IF([test "${host_cpu}" = "powerpc"],
1418 [enable_altivec=yes], [enable_altivec=no])
1420 AS_IF([test "${enable_altivec}" = "yes"], [
1421 ARCH="${ARCH} altivec";
1422 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1423 [ac_cv_altivec_inline],
1424 [CFLAGS="${CFLAGS_save}"
1425 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1426 ac_cv_altivec_inline="yes",
1427 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1428 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1429 [ac_cv_altivec_inline="-Wa,-m7400"],
1430 ac_cv_altivec_inline=no)
1432 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1433 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1434 [Define to 1 if AltiVec inline assembly is available.])
1435 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1436 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1437 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1438 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1439 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1440 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1442 VLC_ADD_PLUGIN([memcpyaltivec])
1443 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1446 dnl The AltiVec C extensions
1448 dnl There are several possible cases:
1449 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1450 dnl need <altivec.h>
1451 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1452 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1453 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1454 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1455 dnl - Others: test should fail
1456 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1458 [# OS X/PPC test (gcc 4.x)
1459 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1460 AC_TRY_COMPILE([vector unsigned char foo;],
1461 [vec_ld(0, (unsigned char *)0);],
1462 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1463 [# OS X/PPC test (gcc 3.x)
1464 CFLAGS="${CFLAGS_save} -faltivec"
1465 AC_TRY_COMPILE([vector unsigned char foo;],
1466 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1467 [ac_cv_c_altivec="-faltivec"],
1468 dnl Below this are the Linux tests
1469 [# Linux/PPC test (gcc 4.x)
1470 CFLAGS="${CFLAGS_save} -maltivec"
1471 AC_TRY_COMPILE([#include <altivec.h>],
1472 [vec_ld(0, (unsigned char *)0);],
1473 [ac_cv_c_altivec="-maltivec"],
1474 [# Linux/PPC test (gcc 3.3)
1475 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1476 AC_TRY_COMPILE([#include <altivec.h>],
1477 [vec_ld(0, (unsigned char *)0);],
1479 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1480 [# Linux/PPC test (gcc 3.3)
1481 CFLAGS="${CFLAGS_save} -fvec"
1482 AC_TRY_COMPILE([#include <altivec.h>],
1483 [vec_ld(0, (unsigned char *)0);],
1484 [ac_cv_c_altivec="-fvec"],
1485 [ac_cv_c_altivec=no])
1490 CFLAGS="${CFLAGS_save}"
1492 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1493 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1496 AC_CHECK_HEADERS(altivec.h)
1497 CPPFLAGS="${CPPFLAGS_save}"
1499 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1500 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1501 [Define to 1 if C AltiVec extensions are available.])
1502 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1503 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1504 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1505 VLC_ADD_PLUGIN([memcpyaltivec])
1506 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1509 AC_CACHE_CHECK([if linker needs -framework vecLib],
1511 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1512 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1513 LDFLAGS="${LDFLAGS_save}"
1515 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1516 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1521 dnl Special arch tuning
1524 [ --with-tuning=ARCH enable special tuning for an architecture
1525 (default Pentium 2 on IA-32 and G4 on PPC)])
1526 if test -n "${with_tuning}"; then
1527 if test "${with_tuning}" != "no"; then
1528 CFLAGS_TUNING="-mtune=${with_tuning}"
1531 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1532 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1533 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1534 CFLAGS_TUNING="-mtune=pentium2"
1535 elif test "${host_cpu}" = "x86_64"; then
1536 CFLAGS_TUNING="-mtune=athlon64"
1537 elif test "${host_cpu}" = "powerpc"; then
1538 CFLAGS_TUNING="-mtune=G4";
1542 dnl NOTE: this can't be cached cleanly
1543 AS_IF([test "${CFLAGS_TUNING}"],
1544 [CFLAGS_save="${CFLAGS}"
1545 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1547 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1548 AC_COMPILE_IFELSE([ ],
1550 [CFLAGS_TUNING=""; tuning="no"
1551 AS_IF([test "${with_tuning}"],
1552 [AC_MSG_ERROR([requested tuning not supported])])])
1554 AC_MSG_RESULT([$tuning])
1555 CFLAGS="${CFLAGS_save}"
1561 AC_ARG_ENABLE(optimize-memory,
1562 [ --enable-optimize-memory optimize memory usage over performance])
1563 if test "${enable_optimize_memory}" = "yes"; then
1564 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1568 dnl Enable/disable optimizations
1570 AC_ARG_ENABLE(optimizations,
1571 [ --disable-optimizations disable compiler optimizations (default enabled)])
1572 if test "${enable_optimizations}" != "no"; then
1573 if test "${enable_optimize_memory}" = "yes"; then
1574 enable_optimizations="size"
1576 enable_optimizations="speed"
1583 AC_ARG_ENABLE(debug,
1584 [ --enable-debug debug mode (default disabled)])
1585 test "${enable_debug}" != "yes" && enable_debug="no"
1587 [Define to 1 if debug code should NOT be compiled])
1588 AS_IF([test "x${enable_debug}" = "xno"], [
1591 AC_CHECK_HEADERS([valgrind/valgrind.h])
1595 dnl Allow runing as root (usefull for people runing on embedded platforms)
1597 AC_ARG_ENABLE(run-as-root,
1598 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1599 AS_IF([test "${enable_run_as_root}" = "yes"],[
1600 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1601 [Define to 1 to allow runing VLC as root (uid 0).])
1607 AC_ARG_ENABLE(coverage,
1608 [ --enable-coverage build for test coverage (default disabled)],,
1609 [enable_coverage="no"])
1610 AS_IF([test "${enable_coverage}" != "no"], [
1611 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1612 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1613 LDFLAGS="-lgcov ${LDFLAGS}"
1615 CFLAGS_save="${CFLAGS}"
1616 CXXFLAGS_save="${CXXFLAGS}"
1617 LDFLAGS_save="${LDFLAGS}"
1621 dnl Enable release-specific flags
1623 AC_ARG_ENABLE(release,
1624 [ --enable-release activate extra optimizations (default disabled)])
1625 test "${enable_release}" != "yes" && enable_release="no"
1631 [ --enable-sout Stream output modules (default enabled)])
1632 AS_IF([test "${enable_sout}" != "no"], [
1633 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1635 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1637 AC_ARG_ENABLE(switcher,
1638 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1640 dnl Check for libshout
1641 AC_ARG_ENABLE(shout,
1642 [ --enable-shout libshout output plugin (default disabled)])
1643 if test "${enable_shout}" = "yes"; then
1644 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1645 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1646 VLC_ADD_PLUGIN([access_output_shout])
1647 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1648 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1649 [AC_MSG_WARN(libshout library not found)])
1654 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1655 plugins (default enabled)]))
1656 if test "${enable_lua}" != "no"
1658 PKG_CHECK_MODULES(LUA, lua5.1,
1661 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1662 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1666 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1669 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1670 [LUA_LIBS="-llua5.1"],
1671 AC_CHECK_LIB( lua51 , luaL_newstate,
1672 [LUA_LIBS="-llua51"],
1673 AC_CHECK_LIB( lua , luaL_newstate,
1676 AC_MSG_WARN([lua >= 5.1 not found!])
1682 if test "x${have_lua}" = "xyes" ; then
1683 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1684 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1685 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1688 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1693 AC_ARG_ENABLE(httpd,
1694 [ --enable-httpd HTTP daemon (default enabled)])
1695 if test "${enable_httpd}" != "no"
1697 VLC_ADD_PLUGIN([http])
1698 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1700 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1703 dnl libproxy support
1705 AC_ARG_ENABLE(libproxy,
1706 [ --enable-libproxy libproxy support (default auto)])
1707 AS_IF([test "${enable_libproxy}" != "no"], [
1708 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1709 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1710 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1711 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1713 AS_IF([test "x${enable_libproxy}" != "x"], [
1714 AC_MSG_ERROR([libproxy could not be found on your system])
1720 dnl VideoLAN manager
1723 [ --enable-vlm VideoLAN manager (default enabled)],,
1724 [enable_vlm="${enable_sout}"])
1725 AS_IF([test "${enable_vlm}" != "no"], [
1726 AS_IF([test "${enable_sout}" = "no"], [
1727 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1729 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1730 VLC_ADD_PLUGIN([telnet])
1732 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1735 dnl Growl notification plugin
1737 AC_ARG_ENABLE(growl,
1738 [ --enable-growl growl notification plugin (default disabled)],,
1740 AS_IF([test "${enable_growl}" != "no"], [
1741 VLC_ADD_PLUGIN([growl_udp])
1742 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1743 VLC_ADD_PLUGIN([growl])
1744 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1750 dnl Libnotify notification plugin
1753 AC_ARG_ENABLE(notify,
1754 [ --enable-notify libnotify notification plugin (default enabled)])
1755 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1756 PKG_CHECK_MODULES(NOTIFY, libnotify,
1758 VLC_ADD_PLUGIN([notify])
1759 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1760 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1762 AS_IF([test "${enable_notify}" = "yes"],[
1763 AC_MSG_WARN( libnotify not found) ])
1768 dnl Audioscrobbler plugin
1771 AC_ARG_ENABLE(audioscrobbler,
1772 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1773 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1774 VLC_ADD_PLUGIN([audioscrobbler])
1780 AC_ARG_ENABLE(taglib,
1781 [ --disable-taglib Taglib support (default enabled) ])
1782 AS_IF([test "${enable_taglib}" != "no"],[
1783 PKG_CHECK_MODULES(TAGLIB, taglib,
1784 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1785 VLC_ADD_PLUGIN([taglib])
1786 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1787 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1788 [AC_MSG_WARN(TagLib library not found)])
1796 AC_ARG_WITH(,[Input plugins:])
1800 if test "${enable_livedotcom}"
1802 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1804 if test "${enable_livedotcom}" = "no"
1809 AC_ARG_ENABLE(live555,
1810 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1811 if test "${enable_live555}" != "no"; then
1812 AC_ARG_WITH(live555-tree,
1813 [ --with-live555-tree=PATH live.com tree for static linking])
1816 dnl test for --with-live555-tree
1818 if test "${with_livedotcom_tree}"
1820 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1821 with_live555_tree="${with_livedotcom_tree}"
1824 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1826 CPPFLAGS_save="${CPPFLAGS}"
1827 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1828 if test "${SYS}" = "solaris"; then
1829 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1831 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1833 AC_CHECK_HEADERS(liveMedia_version.hh, [
1834 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1836 [#include <liveMedia_version.hh>
1837 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1838 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1842 [AC_MSG_RESULT([no])
1843 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1844 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1846 AC_MSG_RESULT([yes])
1849 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1850 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1851 if test "${SYS}" = "mingw32"; then
1852 # add ws2_32 for closesocket, select, recv
1853 other_libs="$other_libs -lws2_32"
1855 dnl We need to check for pic because live555 don't provide shared libs
1856 dnl and we want to build a plugins so we need -fPIC on some arch.
1857 AC_CHECK_HEADERS(liveMedia.hh, [
1858 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1859 AC_CHECK_LIB(liveMedia_pic, main, [
1860 VLC_ADD_PLUGIN([live555])
1861 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1863 AC_CHECK_LIB(liveMedia, main, [
1864 VLC_ADD_PLUGIN([live555])
1865 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1866 ],[],[${other_libs}]) ],[${other_libs_pic}])
1868 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1870 CPPFLAGS="${CPPFLAGS_save}"
1873 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1874 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1875 if test -z "${real_live555_tree}"; then
1876 dnl The given directory can't be found
1878 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1880 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1881 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1883 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1884 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1886 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1887 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1888 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1892 [AC_MSG_RESULT([no])
1893 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1894 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1896 AC_MSG_RESULT([yes])
1900 VLC_ADD_PLUGIN([live555])
1902 if test "${SYS}" = "mingw32"; then
1903 # add ws2_32 for closesocket, select, recv
1904 VLC_ADD_LIBS([live555],[-lws2_32])
1907 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1908 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1909 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1910 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1912 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1913 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1914 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1915 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1916 if test "${SYS}" = "solaris"; then
1917 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1920 dnl The given live555 wasn't built
1922 if test "${enable_live555}" = "yes"; then
1923 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1930 dnl special access module for dc1394 input
1932 AC_ARG_ENABLE(dc1394,
1933 [ --enable-dc1394 dc1394 access module (default disabled)])
1934 if test "${enable_dc1394}" = "yes"
1936 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1937 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1938 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1939 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1940 VLC_ADD_PLUGIN([dc1394])
1941 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1944 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1948 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1952 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1956 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1961 dnl dv module: digital video module check for libraw1394
1964 [ --enable-dv dv input module (default disabled)])
1965 if test "${enable_dv}" = "yes"
1967 AC_ARG_WITH(dv-raw1394,
1968 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1969 AC_ARG_WITH(dv-raw1394-tree,
1970 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1972 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1974 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1975 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1977 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1979 VLC_ADD_PLUGIN([access_dv])
1980 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1981 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1983 dnl No libraw1394 could be found, sorry
1985 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1988 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1989 [ VLC_ADD_PLUGIN([access_dv])
1990 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1992 if test -n "${enable_dv}"
1994 AC_MSG_ERROR([cannot find libraw1394 headers])
1999 dnl Check for static linking of libraw1394
2000 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2002 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2003 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2004 if test -z "${real_dv_raw1394_tree}"
2006 dnl The given directory can't be found
2008 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2010 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2012 dnl Use a custom libraw1394
2013 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2014 VLC_ADD_PLUGIN([access_dv])
2015 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2016 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2018 dnl The given libraw1394 wasn't built
2020 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2025 dnl Check for libavc1394
2028 AC_ARG_WITH(dv-avc1394,
2029 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2030 AC_ARG_WITH(dv-avc1394-tree,
2031 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2033 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2035 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2036 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2038 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2040 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2041 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2043 dnl No libavc1394 could be found, sorry
2045 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2048 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2049 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2051 if test -n "${enable_dv}"
2053 AC_MSG_ERROR([cannot find libavc1394 headers])
2058 dnl Check for static linking of libavc1394
2059 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2061 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2062 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2063 if test -z "${real_dv_avc1394_tree}"
2065 dnl The given directory can't be found
2067 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2069 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2071 dnl Use a custom libavc1394
2072 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2073 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2074 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2076 dnl The given libavc1394 wasn't built
2078 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2084 dnl dvdread module: check for libdvdread
2086 AC_ARG_ENABLE(dvdread,
2087 [ --enable-dvdread dvdread input module (default disabled)])
2088 if test "${enable_dvdread}" != "no"
2090 AC_ARG_WITH(dvdread,
2091 [ --with-dvdread=PATH libdvdread headers and libraries])
2092 AC_ARG_WITH(dvdread-tree,
2093 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2095 dnl Temporary hack (yeah, sure ;)
2096 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2097 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2100 if test -z "${with_dvdread}"
2102 if test -z "${with_dvdread_tree}"
2104 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2105 [ VLC_ADD_PLUGIN([dvdread])
2106 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2108 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2109 [ VLC_ADD_PLUGIN([dvdread])
2110 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2112 if test -n "${enable_dvdread}"
2114 AC_MSG_ERROR([cannot find libdvdread headers])
2119 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2120 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2121 if test -z "${real_dvdread_tree}"
2123 dnl The given directory can't be found
2125 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2127 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2129 dnl Use a custom libdvdread
2130 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2131 VLC_ADD_PLUGIN([dvdread])
2132 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2133 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2135 dnl The given libdvdread wasn't built
2137 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2141 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2142 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2144 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2146 VLC_ADD_PLUGIN([dvdread])
2147 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2148 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2150 dnl No libdvdread could be found, sorry
2152 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2158 dnl libdvdnav plugin
2160 AC_ARG_ENABLE(dvdnav,
2161 [ --enable-dvdnav dvdnav input module (default enabled)])
2162 if test "${enable_dvdnav}" != "no"
2164 dnl Same hack than dvdread
2165 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2166 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2169 DVDNAV_PATH="${PATH}"
2170 AC_ARG_WITH(dvdnav-config-path,
2171 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2172 [ if test "${with_dvdnav_config_path}" != "no"
2174 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2176 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2177 if test "${DVDNAV_CONFIG}" != "no"
2179 VLC_ADD_PLUGIN([dvdnav])
2180 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2181 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2186 dnl Windows DirectShow access module
2188 AC_ARG_ENABLE(dshow,
2189 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2190 if test "${enable_dshow}" != "no"
2192 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2195 AC_CHECK_HEADERS(dshow.h,
2196 [ VLC_ADD_PLUGIN([dshow])
2197 VLC_ADD_CXXFLAGS([dshow],[])
2198 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2204 dnl Windows DirectShow BDA access module
2207 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2208 enabled on Win32)]))
2209 if test "${enable_bda}" != "no"
2211 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2213 AC_CHECK_HEADERS(dshow.h,
2214 [ VLC_ADD_PLUGIN([bda])
2215 VLC_ADD_CXXFLAGS([bda],[])
2216 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2222 dnl OpenCV wrapper and example filters
2224 AC_ARG_ENABLE(opencv,
2225 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2226 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2228 AC_ARG_WITH(opencv-tree,
2229 [ --with-opencv-tree=PATH opencv tree for linking])
2230 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2232 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2233 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2234 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2235 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2238 VLC_ADD_PLUGIN([opencv_wrapper])
2239 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2240 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])
2242 VLC_ADD_PLUGIN([opencv_example])
2243 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2244 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])
2247 dnl No opencv could be found, sorry
2249 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2252 PKG_CHECK_MODULES(OPENCV, opencv,
2254 VLC_ADD_PLUGIN([opencv_example])
2255 VLC_ADD_PLUGIN([opencv_wrapper])
2256 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2257 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2258 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2260 [AC_MSG_ERROR([libopencv not found!])]
2267 dnl libsmbclient plugin
2270 [ --enable-smb smb input module (default enabled)])
2271 if test "${enable_smb}" != "no"; then
2272 AC_CHECK_HEADERS(libsmbclient.h,
2273 [ VLC_ADD_PLUGIN([access_smb])
2274 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2275 [ if test -n "${enable_smb}"; then
2276 AC_MSG_ERROR([cannot find libsmbclient headers])
2278 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2279 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2280 [#include <libsmbclient.h>])
2284 dnl libdvbpsi ts demux/mux
2286 AC_ARG_ENABLE(dvbpsi,
2287 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2289 if test "${enable_dvbpsi}" != "no"
2292 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2294 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2295 case "${with_dvbpsi}" in
2297 if test -z "${with_dvbpsi_tree}"
2299 AC_CHECK_HEADERS(dvbpsi/dr.h,
2300 [ VLC_ADD_PLUGIN([ts])
2301 if test "${enable_sout}" != "no"; then
2302 VLC_ADD_PLUGIN([mux_ts])
2304 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2306 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2307 [#if defined( HAVE_STDINT_H )
2308 # include <stdint.h>
2309 #elif defined( HAVE_INTTYPES_H )
2310 # include <inttypes.h>
2312 #include <dvbpsi/dvbpsi.h>
2313 #include <dvbpsi/descriptor.h>
2314 #include <dvbpsi/pat.h>
2315 #include <dvbpsi/pmt.h>])
2317 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2318 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2319 if test -z "${real_dvbpsi_tree}"
2321 dnl The given directory can't be found
2323 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2325 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2327 dnl Use a custom libdvbpsi
2328 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2329 VLC_ADD_PLUGIN([ts])
2330 if test "${enable_sout}" != "no"; then
2331 VLC_ADD_PLUGIN([mux_ts])
2333 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2334 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2337 dnl The given libdvbpsi wasn't built
2339 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2344 dnl Compile without dvbpsi
2347 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2348 if test -z "${with_dvbpsi}"
2353 LDFLAGS_test="-L${with_dvbpsi}/lib"
2354 CPPFLAGS_test="-I${with_dvbpsi}/include"
2356 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2357 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2358 VLC_ADD_PLUGIN([ts])
2359 if test "${enable_sout}" != "no"; then
2360 VLC_ADD_PLUGIN([mux_ts])
2362 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2363 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2366 if test -n "${enable_dvbpsi}"
2368 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])
2371 CPPFLAGS="${CPPFLAGS_save}"
2374 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2375 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2376 ], [], [${LIBS_ts}])
2381 dnl Video4Linux plugin
2384 [ --enable-v4l Video4Linux input support (default disabled)])
2385 if test "${enable_v4l}" = "yes"
2388 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2389 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2391 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2394 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2395 AC_CHECK_HEADERS(linux/videodev.h, [
2396 VLC_ADD_PLUGIN([v4l])
2398 CPPFLAGS="${CPPFLAGS_save}"
2402 dnl Video4Linux2 plugin
2405 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2406 if test "${enable_v4l2}" != "no"
2409 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2410 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2412 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2415 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2416 AC_CHECK_HEADERS(linux/videodev2.h, [
2417 VLC_ADD_PLUGIN([v4l2])
2419 CPPFLAGS="${CPPFLAGS_save}"
2423 dnl libv4l2 support for video4linux.
2425 AC_ARG_ENABLE( libv4l2,
2426 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2427 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2429 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2430 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2431 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2432 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2433 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2438 dnl special access module for Hauppauge PVR cards
2441 [ --enable-pvr PVR cards access module (default disabled)])
2442 if test "${enable_pvr}" = "yes"
2444 VLC_ADD_PLUGIN([pvr])
2445 AC_ARG_WITH(videodev2,
2446 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2447 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2449 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2452 AC_CACHE_CHECK([for new linux/videodev2.h],
2453 [ac_cv_new_linux_videodev2_h],
2455 #include <sys/types.h>
2456 # ifdef VIDEODEV2_H_FILE
2457 # include VIDEODEV2_H_FILE
2459 # include <linux/videodev2.h>
2462 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2463 ac_cv_new_linux_videodev2_h=yes,
2464 ac_cv_new_linux_videodev2_h=no)])
2465 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2466 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2471 dnl gnomeVFS access module
2473 AC_ARG_ENABLE(gnomevfs,
2474 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2475 if test "${enable_gnomevfs}" = "yes"
2477 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2478 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2479 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2480 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2481 VLC_ADD_PLUGIN([access_gnomevfs]),
2482 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2485 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2486 AC_ARG_ENABLE(libcdio,
2487 [ --enable-libcdio CD input and control library support (default enabled)])
2489 AC_ARG_ENABLE(vcdinfo,
2490 [ --enable-libvcdinfo VCD information library support (default enabled)])
2494 if test "${enable_libcdio}" != "no"
2496 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2498 AC_DEFINE(HAVE_LIBCDIO, 1,
2499 [Define if you have libcdio 0.78.2 or greater installed]),
2500 [AC_MSG_WARN(CD Reading and information library not found)])
2502 if test "${enable_vcdinfo}" != "no"
2504 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2505 [have_libvcdinfo=yes
2506 AC_DEFINE(HAVE_VCDINFO, 1,
2507 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2508 [AC_MSG_WARN(VCD information library not found)])
2513 dnl VCDX and CDDAX modules
2515 AC_ARG_ENABLE(cddax,
2516 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2517 via libcdio (default disabled)]))
2519 AC_ARG_ENABLE(libcddb,
2520 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2522 if test "${enable_cddax}" = "yes"
2524 if test "$have_libcdio" = "yes"
2526 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2527 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2528 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2529 VLC_ADD_PLUGIN([cddax])
2530 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2531 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2532 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2534 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2538 if test "$enable_libcddb" != "no"; then
2539 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2541 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2542 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2543 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2545 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2552 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2554 if test "${enable_vcdx}" = "yes"
2556 if test "${have_libvcdinfo}" = "yes"
2558 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2559 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2561 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2565 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2566 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2567 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2568 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2571 if test "$have_libvcdinfo" = "yes"
2573 AC_DEFINE(HAVE_VCDX, 1,
2574 [Define for the VCD plugin using libcdio/libvcdinfo])
2575 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2576 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2577 VLC_ADD_PLUGIN([vcdx])
2579 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2585 dnl Built-in CD-DA and VCD module
2588 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2591 [ --enable-vcd built-in VCD (default enabled)])
2593 if test "${enable_vcd}" != "no"
2595 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2596 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2598 VLC_ADD_PLUGIN([vcd])
2599 VLC_ADD_PLUGIN([cdda])
2604 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2605 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2607 VLC_ADD_PLUGIN([vcd])
2608 VLC_ADD_PLUGIN([cdda])
2609 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2614 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2615 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2617 VLC_ADD_PLUGIN([vcd])
2618 VLC_ADD_PLUGIN([cdda])
2619 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2624 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2626 VLC_ADD_PLUGIN([vcd])
2627 VLC_ADD_PLUGIN([cdda])
2630 if test "${SYS}" = "darwin"
2632 VLC_ADD_PLUGIN([vcd])
2633 VLC_ADD_PLUGIN([cdda])
2634 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2635 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2638 if test "$enable_libcddb" != "no"; then
2639 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2641 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2642 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2643 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2645 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2651 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2654 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2656 if test "${enable_dvb}" != "no"
2658 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2660 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2661 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2663 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2665 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2666 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2667 VLC_ADD_PLUGIN([dvb])
2668 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2669 CPPFLAGS="${CPPFLAGS_save}"
2671 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2676 dnl Screen capture module
2678 AC_ARG_ENABLE(screen,
2679 [ --enable-screen Screen capture support (default enabled)])
2680 if test "${enable_screen}" != "no"; then
2681 if test "${SYS}" = "darwin"; then
2682 AC_CHECK_HEADERS(OpenGL/gl.h, [
2683 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2684 VLC_ADD_PLUGIN([screen])
2685 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2688 elif test "${SYS}" = "mingw32"; then
2689 VLC_ADD_PLUGIN([screen])
2690 VLC_ADD_LIBS([screen],[-lgdi32])
2691 elif test "${SYS}" = "mingwce"; then
2692 CPPFLAGS="${CPPFLAGS_save}"
2693 elif test "${SYS}" = "beos"; then
2694 VLC_ADD_PLUGIN([screen])
2695 VLC_ADD_CXXFLAGS([screen],[])
2696 VLC_ADD_LIBS([screen],[-lbe])
2698 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2699 AC_CHECK_HEADERS(X11/Xlib.h, [
2700 VLC_ADD_PLUGIN([screen])
2701 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2702 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2704 CPPFLAGS="${CPPFLAGS_save}"
2709 dnl ipv6 plugin - not for QNX yet
2712 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2713 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2716 AS_IF([test "${have_ipv6}" = "yes"], [
2717 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2720 AC_CHECK_FUNCS(inet_ntop,[
2721 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2725 dnl ogg demux plugin
2728 [ --enable-ogg Ogg demux support (default enabled)])
2729 if test "${enable_ogg}" != "no"
2731 AC_ARG_WITH(ogg-tree,
2732 [ --with-ogg-tree=PATH ogg tree for static linking])
2733 if test -n "${with_ogg_tree}"
2735 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2736 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2737 if test -z "${real_ogg_tree}"
2739 dnl The given directory can't be found
2741 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2743 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2745 dnl Use a custom ogg
2746 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2747 VLC_ADD_PLUGIN([ogg])
2748 if test "${enable_sout}" != "no"; then
2749 VLC_ADD_PLUGIN([mux_ogg])
2751 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2752 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2754 dnl The given ogg wasn't built
2756 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2759 AC_CHECK_HEADERS(ogg/ogg.h, [
2760 AC_CHECK_LIB( ogg, oggpack_read, [
2761 VLC_ADD_PLUGIN([ogg])
2762 if test "${enable_sout}" != "no"; then
2763 VLC_ADD_PLUGIN([mux_ogg])
2765 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2771 dnl matroska demux plugin
2774 [ --enable-mkv Matroska demux support (default enabled)])
2775 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2777 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2778 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2780 [#include <ebml/EbmlVersion.h>
2781 #ifdef LIBEBML_VERSION
2782 #if LIBEBML_VERSION >= 0x000706
2786 [AC_MSG_RESULT([yes])
2787 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2788 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2790 [#include <matroska/KaxVersion.h>
2791 #ifdef LIBMATROSKA_VERSION
2792 #if LIBMATROSKA_VERSION >= 0x000705
2796 [AC_MSG_RESULT([yes])
2797 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2798 VLC_ADD_CXXFLAGS([mkv],[])
2799 if test "${SYS}" = "darwin"; then
2800 VLC_ADD_CXXFLAGS([mkv],[-O1])
2802 AC_CHECK_LIB(ebml_pic, main, [
2803 VLC_ADD_PLUGIN([mkv])
2804 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2806 AC_CHECK_LIB(ebml, main, [
2807 VLC_ADD_PLUGIN([mkv])
2808 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2812 [AC_MSG_RESULT([no])
2813 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.])
2817 [AC_MSG_RESULT([no])
2818 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.])
2825 dnl modplug demux plugin
2828 [ --enable-mod Mod demux support (default enabled)])
2829 if test "${enable_mod}" != "no"
2831 AC_ARG_WITH(mod-tree,
2832 [ --with-mod-tree=PATH mod tree for static linking])
2833 if test -n "${with_mod_tree}"
2835 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2836 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2837 if test -z "${real_mod_tree}"
2839 dnl The given directory can't be found
2841 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2843 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2845 dnl Use a custom mod
2846 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2847 VLC_ADD_PLUGIN([mod])
2848 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2849 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2851 dnl The given mod wasn't built
2853 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2856 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2857 VLC_ADD_PLUGIN([mod])
2858 VLC_ADD_CXXFLAGS([mod],[])
2859 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2864 dnl mpc demux plugin
2867 [ --enable-mpc Mpc demux support (default enabled)])
2868 if test "${enable_mpc}" != "no"
2870 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2871 VLC_ADD_PLUGIN([mpc])
2872 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2876 dnl game music emu demux plugin
2879 [ --enable-gme Game Music Emu demux support (default enabled)])
2880 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2883 AC_ARG_WITH(gme-tree,
2884 [ --with-gme-tree=PATH gme tree for static linking])
2885 if test -n "${with_gme_tree}"
2887 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2888 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2889 if test -z "${real_gme_tree}"
2891 dnl The given directory can't be found
2893 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2895 if test -f "${real_gme_tree}/gme/libgme.a"
2897 dnl Use a custom gme
2898 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2899 VLC_ADD_PLUGIN([gme])
2900 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2901 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2903 dnl The given gme wasn't built
2905 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2908 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2917 AC_ARG_WITH(,[Codec plugins:])
2922 AC_ARG_ENABLE(wma-fixed,
2923 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2924 if test "${enable_wma_fixed}" = "yes"
2926 VLC_ADD_PLUGIN([wma_fixed])
2930 dnl shine fixed point mp3 encoder
2932 AC_ARG_ENABLE(shine,
2933 [ --enable-shine shine mp3 encoding module (default disabled)])
2934 if test "${enable_shine}" = "yes"
2936 VLC_ADD_PLUGIN([shine])
2943 [ --enable-mad libmad module (default enabled)])
2944 if test "${enable_mad}" != "no"
2947 [ --with-mad=PATH path to libmad],[],[])
2948 if test "${with_mad}" != "no" -a -n "${with_mad}"
2950 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2951 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2954 AC_ARG_WITH(mad-tree,
2955 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2956 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2958 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2959 if test -z "${real_mad_tree}"
2961 dnl The given directory can't be found
2963 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2965 dnl Use a custom libmad
2966 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2967 if test -f ${real_mad_tree}/mad.h
2970 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2971 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2972 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2973 AC_CHECK_LIB(mad, mad_bit_init, [
2974 VLC_ADD_PLUGIN([mpgatofixed32])
2975 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2976 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2978 LDFLAGS="${LDFLAGS_save}"
2981 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2984 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2985 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2986 AC_CHECK_HEADERS(mad.h, ,
2987 [ 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.]) ])
2988 AC_CHECK_LIB(mad, mad_bit_init, [
2989 VLC_ADD_PLUGIN([mpgatofixed32])
2990 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2991 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2992 CPPFLAGS="${CPPFLAGS_save}"
2993 LDFLAGS="${LDFLAGS_save}"
2998 dnl libid3tag support (FIXME!!! doesn't work with new input)
3000 AC_ARG_ENABLE( id3tag,
3001 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
3002 AS_IF([test "${enable_id3tag}" = "yes"], [
3003 AC_CHECK_HEADERS(id3tag.h, [
3004 AS_IF([test "${have_zlib}" = "yes"],[
3005 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
3006 VLC_ADD_PLUGIN([id3tag])
3012 dnl avcodec decoder/encoder plugin
3015 if test "${with_ffmpeg_tree}"
3017 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
3020 AC_ARG_ENABLE(avcodec,
3021 [ --enable-avcodec libavcodec codec (default enabled)])
3022 if test "${enable_avcodec}" != "no"
3024 PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil],
3027 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
3028 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
3029 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
3030 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3031 VLC_ADD_PLUGIN([avcodec])
3032 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
3033 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
3036 AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
3041 dnl avformat demuxer/muxer plugin
3044 AC_ARG_ENABLE(avformat,
3045 [ --enable-avformat libavformat containers (default enabled)])
3046 if test "${enable_avformat}" != "no"
3048 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
3051 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
3052 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
3053 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
3054 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3055 VLC_ADD_PLUGIN([avformat])
3056 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS])
3057 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
3060 AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3065 dnl swscale image scaling and conversion plugin
3068 AC_ARG_ENABLE(swscale,
3069 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3070 (default enabled)]))
3071 if test "${enable_swscale}" != "no"
3073 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3076 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3077 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3078 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3079 VLC_ADD_PLUGIN([swscale])
3080 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3081 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3084 AC_MSG_WARN([Could not find libswscale. Trying to enable imgresample.])
3085 enable_imgresample=yes
3090 dnl avcodec (deprecated API) image scaling and conversion plugin
3092 dnl This is build as a seperate module than the avcodec one to prevent
3093 dnl stupid run time library load errors from disabling most codecs
3097 AC_ARG_ENABLE(imgresample,
3098 AS_HELP_STRING([--enable-imgresample],[deprecated libavcodec image scaling
3099 and conversion (default disabled)]))
3100 if test "${enable_imgresample}" = "yes"
3102 PKG_CHECK_MODULES(IMGRESAMPLE,[libavcodec],
3105 CPPFLAGS="${CPPFLAGS} ${IMGRESAMPLE_CFLAGS}"
3106 CFLAGS="${CFLAGS} ${IMGRESAMPLE_CFLAGS}"
3107 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
3108 AC_CHECK_LIB(avcodec,img_resample,
3110 VLC_ADD_PLUGIN([imgresample])
3111 VLC_ADD_LIBS([imgresample],[$IMGRESAMPLE_LIBS])
3112 VLC_ADD_CFLAGS([imgresample],[$IMGRESAMPLE_CFLAGS])
3114 AC_MSG_WARN([Could not find img_resample in libavcodec.])
3115 if test "${enable_swscale}" != "no"
3117 AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
3119 # That sed hack to add -rpath is kind of ugly but at least it fixes
3120 # detection when linking against a shared libavcodec with
3121 # a libavutil not in one of your ld.so.conf directories.
3122 # (for example a local install)
3123 ],[${IMGRESAMPLE_LIBS} `echo ${IMGRESAMPLE_LIBS}|sed s'/-L/-Wl,-rpath=/'`])
3126 AC_MSG_WARN([Could not find libavcodec.])
3134 AC_ARG_ENABLE(postproc,
3135 [ --enable-postproc libpostproc image post-processing (default enabled)])
3136 if test "${enable_postproc}" != "no"
3138 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3141 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3142 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3143 AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
3144 VLC_ADD_PLUGIN([postproc])
3145 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS])
3146 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS])
3149 AC_MSG_ERROR([Could not find libpostproc.])
3154 dnl faad decoder plugin
3157 [ --enable-faad faad codec (default disabled)])
3158 if test "${enable_faad}" = "yes"
3160 AC_ARG_WITH(faad-tree,
3161 [ --with-faad-tree=PATH faad tree for static linking])
3162 if test -n "${with_faad_tree}"
3164 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3165 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3166 if test -z "${real_faad_tree}"
3168 dnl The given directory can't be found
3170 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3172 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3174 dnl Use a custom faad
3175 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3176 VLC_ADD_PLUGIN([faad])
3177 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3178 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3180 dnl The given libfaad wasn't built
3182 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3185 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3186 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3187 AC_CHECK_HEADERS(faad.h, ,
3188 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3189 AC_CHECK_LIB(faad, faacDecOpen, [
3190 VLC_ADD_PLUGIN([faad])
3191 VLC_ADD_LIBS([faad],[-lfaad]) ],
3192 AC_CHECK_LIB(faad, NeAACDecOpen, [
3193 VLC_ADD_PLUGIN([faad])
3194 VLC_ADD_LIBS([faad],[-lfaad]) ],
3195 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3196 LDFLAGS="${LDFLAGS_save}"
3197 CPPFLAGS="${CPPFLAGS_save}"
3202 dnl twolame encoder plugin
3204 AC_ARG_ENABLE(twolame,
3205 [ --enable-twolame twolame codec (default disabled)])
3206 if test "${enable_twolame}" = "yes"
3208 AC_ARG_WITH(twolame-tree,
3209 [ --with-twolame-tree=PATH twolame tree for static linking])
3210 if test -n "${with_twolame_tree}"
3212 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3213 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3214 if test -z "${real_twolame_tree}"
3216 dnl The given directory can't be found
3218 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3220 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3222 dnl Use a custom twolame
3223 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3224 VLC_ADD_PLUGIN([twolame])
3225 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3226 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3228 dnl The given libtwolame wasn't built
3230 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3233 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3234 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3235 AC_CHECK_HEADERS(twolame.h, ,
3236 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3237 AC_CHECK_LIB(twolame, twolame_init, [
3238 VLC_ADD_PLUGIN([twolame])
3239 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3240 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3241 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3242 LDFLAGS="${LDFLAGS_save}"
3243 CPPFLAGS="${CPPFLAGS_save}"
3248 dnl QuickTime plugin
3250 AC_ARG_ENABLE(quicktime,
3251 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3252 if test "${enable_quicktime}" != "no" &&
3253 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3255 if test "${SYS}" = "mingw32"; then
3256 VLC_ADD_PLUGIN([quicktime])
3258 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3259 [ VLC_ADD_PLUGIN([quicktime])
3260 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3261 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3269 [ --enable-real Real media module (default disabled)])
3270 if test "${enable_real}" = "yes"; then
3271 VLC_ADD_PLUGIN([realaudio])
3272 VLC_ADD_PLUGIN([realvideo])
3276 dnl Real RTSP plugin
3278 AC_ARG_ENABLE(realrtsp,
3279 [ --enable-realrtsp Real RTSP module (default disabled)])
3280 if test "${enable_realrtsp}" = "yes"; then
3281 VLC_ADD_PLUGIN([access_realrtsp])
3284 AC_ARG_ENABLE(libsysfs,
3285 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3287 AS_IF([test "${enable_libsysfs}" != "no"],[
3288 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3289 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3296 AC_ARG_ENABLE(libtar,
3297 [ --enable-libtar libtar support for skins2 (default enabled)])
3299 AS_IF([test "${enable_libtar}" != "no"],[
3300 AC_CHECK_HEADERS(libtar.h, [
3301 VLC_ADD_LIBS([skins2],[-ltar])
3306 dnl A52/AC3 decoder plugin
3309 [ --enable-a52 A/52 support with liba52 (default enabled)])
3310 if test "${enable_a52}" != "no"
3313 [ --with-a52=PATH a52 headers and libraries])
3314 AC_ARG_WITH(a52-tree,
3315 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3316 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3318 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3319 if test -z "${real_a52_tree}"
3321 dnl The given directory can't be found
3323 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3325 dnl Use a custom a52dec
3326 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3327 if test -f ${real_a52_tree}/include/a52.h
3330 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3331 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3332 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3333 AC_CHECK_LIB(a52, a52_free, [
3334 VLC_ADD_PLUGIN([a52tofloat32])
3335 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3336 VLC_ADD_LIBS([a52tofloat32],[-la52])
3338 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3340 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3342 AC_MSG_ERROR([the specified tree hasn't been compiled])
3345 LDFLAGS="${LDFLAGS_save}"
3348 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3351 if test -z "${with_a52}"
3356 LDFLAGS_test="-L${with_a52}/lib"
3357 CPPFLAGS_test="-I${with_a52}/include"
3359 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3360 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3361 AC_CHECK_HEADERS(a52dec/a52.h, [
3362 AC_CHECK_LIB(a52, a52_free, [
3363 VLC_ADD_PLUGIN([a52tofloat32])
3364 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3365 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3367 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.])
3370 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.])
3372 CPPFLAGS="${CPPFLAGS_save}"
3373 LDFLAGS="${LDFLAGS_save}"
3377 AC_ARG_WITH(a52-fixed,
3378 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3380 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3383 dnl DTS Coherent Acoustics decoder plugin
3385 AS_IF([test "x${enable_dts}" != "x"], [
3386 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3388 AS_IF([test "x${with_dts_tree}" != "x"], [
3389 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3393 AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca
3394 (default enabled)]))
3395 AS_IF([test "${enable_dca}" != "no"], [
3396 AC_ARG_WITH(dca-tree,
3397 [ --with-dca-tree=PATH libdca tree for static linking],,
3398 [with_dca_tree="no"])
3399 AS_IF([test "${with_dca_tree}" != "no"], [
3400 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3401 AS_IF([test -z "${real_dca_tree}"], [
3402 dnl The given directory can't be found
3404 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3406 dnl Use a custom libdca
3407 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3408 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3410 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3411 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3412 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3414 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3418 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3421 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3422 VLC_ADD_PLUGIN([dtstofloat32])
3423 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3424 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3426 AS_IF([test "x${enable_dca}" != "x"], [
3427 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3437 [ --enable-flac libflac decoder/encoder support (default disabled)])
3438 if test "${enable_flac}" = "yes"
3440 AC_ARG_WITH(flac-tree,
3441 [ --with-flac-tree=PATH flac tree for static linking])
3442 if test -n "${with_flac_tree}"
3444 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3445 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3446 if test -z "${real_flac_tree}"
3448 dnl The given directory can't be found
3450 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3452 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3454 dnl Use a custom flac
3455 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3456 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3457 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3458 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3460 dnl The given flac wasn't built
3462 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3465 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3466 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3474 AC_ARG_ENABLE(libmpeg2,
3475 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3476 if test "${enable_libmpeg2}" != "no"
3478 AC_ARG_WITH(libmpeg2-tree,
3479 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3480 AS_IF([test -n "${with_libmpeg2_tree}"],[
3481 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3482 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3483 if test -z "${real_libmpeg2_tree}"
3485 dnl The given directory can't be found
3487 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3489 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3491 dnl Use a custom libmpeg2
3492 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3493 VLC_ADD_PLUGIN([libmpeg2])
3494 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3495 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3497 dnl The given libmpeg2 wasn't built
3499 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3502 PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[
3503 VLC_ADD_PLUGIN([libmpeg2])
3504 VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS)
3505 VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS)
3507 AC_MSG_WARN([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ . Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.]))
3514 AC_ARG_ENABLE(vorbis,
3515 [ --enable-vorbis Vorbis decoder support (default enabled)])
3516 if test "${enable_vorbis}" != "no"
3518 AC_ARG_WITH(vorbis-tree,
3519 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3520 if test -n "${with_vorbis_tree}"
3522 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3523 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3524 if test -z "${real_vorbis_tree}"
3526 dnl The given directory can't be found
3528 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3530 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3532 dnl Use a custom vorbis
3533 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3534 VLC_ADD_PLUGIN([vorbis])
3535 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3536 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3538 dnl The given vorbis wasn't built
3540 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3543 AC_CHECK_HEADERS(vorbis/codec.h, [
3544 VLC_ADD_PLUGIN([vorbis])
3545 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3547 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3548 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3555 AC_ARG_ENABLE(tremor,
3556 [ --enable-tremor Tremor decoder support (default disabled)])
3557 if test "${enable_tremor}" = "yes"
3559 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3560 VLC_ADD_PLUGIN([tremor])
3561 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3568 AC_ARG_ENABLE(speex,
3569 [ --enable-speex Speex decoder support (default enabled)])
3570 if test "${enable_speex}" != "no"
3572 AC_ARG_WITH(speex-tree,
3573 [ --with-speex-tree=PATH speex tree for static linking])
3574 if test -n "${with_speex_tree}"
3576 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3577 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3578 if test -z "${real_speex_tree}"
3580 dnl The given directory can't be found
3582 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3584 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3586 dnl Use a custom speex
3587 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3588 VLC_ADD_PLUGIN([speex])
3589 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3590 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3592 dnl The given speex wasn't built
3594 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3597 AC_CHECK_HEADERS(speex/speex.h, [
3598 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3599 AC_CHECK_LIB(speex, speex_decode_int, [
3600 VLC_ADD_PLUGIN([speex])
3601 VLC_ADD_LIBS([speex],[-lspeex]) ],
3602 [ AC_MSG_RESULT([no])
3603 AC_MSG_WARN([Your libspeex is too old, please get the development
3605 LDFLAGS="${LDFLAGS_save}"
3611 dnl tarkin decoder plugin
3613 AC_ARG_ENABLE(tarkin,
3614 [ --enable-tarkin experimental tarkin codec (default disabled)])
3615 if test "${enable_tarkin}" = "yes"
3617 AC_ARG_WITH(tarkin-tree,
3618 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3619 if test -n "${with_tarkin_tree}"
3621 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3622 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3623 if test -f "${real_tarkin_tree}/tarkin.o"
3625 VLC_ADD_PLUGIN([tarkin])
3626 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3627 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])
3630 dnl The given tarkin tree wasn't built
3632 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3633 make sure you compiled tarkin in ${with_tarkin_tree}])
3639 dnl theora decoder plugin
3641 AC_ARG_ENABLE(theora,
3642 [ --enable-theora experimental theora codec (default disabled)])
3643 if test "${enable_theora}" = "yes"
3645 AC_CHECK_HEADERS(theora/theora.h, [
3646 AC_CHECK_LIB(theora, theora_granule_time, [
3647 VLC_ADD_PLUGIN([theora])
3648 theora_libs="-ltheora -logg"
3649 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3650 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3651 You also need to check that you have a libogg posterior to the 1.0 release.])],
3657 dnl dirac decoder plugin
3659 AC_ARG_ENABLE(dirac,
3660 [ --enable-dirac experimental dirac codec (default disabled)])
3661 if test "${enable_dirac}" = "yes"; then
3662 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.10.0], [
3663 VLC_ADD_PLUGIN([dirac])
3664 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3665 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3666 AC_MSG_ERROR([libdirac >= 0.10.0 doesn't appear to be installed on your system.])
3671 dnl schroedinger decoder plugin (for dirac format video)
3673 AC_ARG_ENABLE(schroedinger,
3674 [ --disable-schroedinger high performance dirac codec (default enabled)])
3675 if test "${enable_schroedinger}" != "no"; then
3676 PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0], [
3677 VLC_ADD_PLUGIN([schroedinger])
3678 VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS])
3679 VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [
3680 AS_IF([test "x${enable_schroedinger}" != "x"], [
3681 AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}])
3687 dnl PNG decoder module
3690 [ --enable-png PNG support (default enabled)])
3691 if test "${enable_png}" != "no"; then
3692 AC_CHECK_HEADERS(png.h, [
3693 LDFLAGS="${LDFLAGS_save} -lz"
3694 AC_CHECK_LIB(png, png_set_rows, [
3695 VLC_ADD_LIBS([png],[-lpng -lz])
3696 VLC_ADD_PLUGIN([png])
3697 VLC_ADD_PLUGIN([osdmenu])
3698 VLC_ADD_PLUGIN([osd_parser])
3699 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3701 LDFLAGS="${LDFLAGS_save}"
3704 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3707 dnl H264 encoder plugin (using libx264)
3710 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3711 if test "${enable_x264}" != "no"; then
3712 AC_ARG_WITH(x264-tree,
3713 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3714 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3716 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3717 if test -z "${real_x264_tree}"
3719 dnl The given directory can't be found
3721 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3723 dnl Use a custom libx264
3724 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3725 if test -f ${real_x264_tree}/x264.h
3728 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3729 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3730 PKG_CHECK_MODULES(X264,x264, [
3731 VLC_ADD_PLUGIN([x264])
3732 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3733 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3734 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3735 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3738 AC_MSG_ERROR([the specified tree hasn't been compiled])
3740 LDFLAGS="${LDFLAGS_save}"
3743 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3746 PKG_CHECK_MODULES(X264,x264, [
3747 VLC_ADD_PLUGIN([x264])
3748 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3749 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3750 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3751 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3754 if test "${enable_x264}" = "yes"; then
3755 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3758 LDFLAGS="${LDFLAGS_save}"
3763 dnl libfluidsynth (MIDI synthetizer) plugin
3765 AC_ARG_ENABLE(fluidsynth,
3766 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3767 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3768 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3769 VLC_ADD_PLUGIN(fluidsynth)
3770 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3771 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3773 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3774 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3780 dnl Teletext Modules
3781 dnl vbi decoder plugin (using libzbvi)
3786 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3787 libzvbi (default enabled)]))
3789 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3790 zvbi) (default enabled if zvbi is absent)]))
3792 AS_IF( [test "${enable_zvbi}" != "no"],[
3793 PKG_CHECK_MODULES(ZVBI,
3796 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3797 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3798 VLC_ADD_PLUGIN([zvbi])
3799 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3800 AS_IF( [test "${enable_telx}" = "yes"],[
3801 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3805 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3808 AS_IF( [test "${enable_telx}" != "no" ],[
3809 VLC_ADD_PLUGIN([telx])
3813 dnl asa/csri subtitle rendering module
3816 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3817 AS_IF( [test "${enable_csri}" = "yes"], [
3818 PKG_CHECK_MODULES(CSRI,
3821 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3822 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3823 VLC_ADD_PLUGIN([csri])
3825 AC_MSG_WARN([CSRI helper library not found])
3830 dnl libass subtitle rendering module
3832 AC_ARG_ENABLE(libass,
3833 [ --enable-libass Subtitle support using libass (default disabled)])
3834 AS_IF( [test "${enable_libass}" = "yes"], [
3835 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
3837 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3838 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3839 VLC_ADD_PLUGIN([libass])
3841 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3842 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3843 if test "${SYS}" = "mingw32"; then
3844 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz -lxml2])
3846 VLC_ADD_LIBS([libass],[-lfontconfig])
3850 AC_MSG_WARN([LIBASS library not found])
3857 AC_ARG_ENABLE(asademux,
3858 [ --enable-asademux asa subtitle demuxing (default disabled)])
3859 AS_IF( [test "${enable_asademux}" = "yes"], [
3860 PKG_CHECK_MODULES(PCRE,
3863 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3864 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3865 if test "${SYS}" = "mingw32"; then
3866 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3868 VLC_ADD_PLUGIN([asademux])
3870 AC_MSG_WARN([PCRE library not found (required for asademux)])
3878 [ --enable-cmml CMML support (default enabled)])
3879 if test "${enable_cmml}" != "no"
3881 VLC_ADD_PLUGIN([cmml])
3885 dnl kate decoder plugin
3888 [ --enable-kate kate codec (default enabled)])
3889 AS_IF([test "${enable_kate}" != "no"], [
3890 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3891 VLC_ADD_PLUGIN([kate])
3892 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3893 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3894 AC_CHECK_HEADERS(kate/kate.h, [
3895 AC_CHECK_LIB(kate, kate_decode_init, [
3896 VLC_ADD_PLUGIN([kate])
3897 kate_libs="-lkate -logg"
3898 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3899 AS_IF([test "x${enable_kate}" != "x"], [
3900 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3901 You also need to check that you have a libogg posterior to the 1.0 release.])
3905 AS_IF([test "x${enable_kate}" != "x"], [
3906 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3907 You also need to check that you have a libogg posterior to the 1.0 release.])
3915 dnl tiger decoder plugin
3917 AC_ARG_ENABLE(tiger,
3918 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3919 AS_IF([test "${enable_tiger}" != "no"], [
3920 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3921 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3922 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3923 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3924 AS_IF([test "x${enable_tiger}" != "x"], [
3925 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3935 AC_ARG_WITH(,[Video plugins:])
3938 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3939 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3940 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3941 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3942 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3944 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3945 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3950 #include <X11/Xlib.h>
3952 CPPFLAGS="${CPPFLAGS_save}"
3957 dnl (enabled by default except on win32)
3960 [ --enable-x11 X11 support (default enabled)])
3961 if test "${enable_x11}" != "no" &&
3962 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3963 test "${enable_x11}" = "yes"); then
3964 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3965 AC_CHECK_HEADERS(X11/Xlib.h, [
3966 VLC_ADD_PLUGIN([panoramix])
3967 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3968 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3969 VLC_ADD_PLUGIN([globalhotkeys])
3970 VLC_ADD_LIBS([globalhotkeys],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3971 VLC_ADD_CPPFLAGS([globalhotkeys],[${X_CFLAGS}])
3972 AC_CHECK_LIB(Xext, XShmAttach, [
3973 VLC_ADD_PLUGIN([x11])
3974 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3975 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3978 CPPFLAGS="${CPPFLAGS_save}"
3983 dnl (enabled by default except on win32)
3985 AC_ARG_ENABLE(xvideo,
3986 [ --enable-xvideo XVideo support (default enabled)])
3987 if test "${enable_xvideo}" != "no" &&
3988 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3989 test "${enable_xvideo}" = "yes"); then
3990 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3991 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3992 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3993 AC_CHECK_LIB(Xv,XvPutImage,[
3994 VLC_ADD_PLUGIN([xvideo])
3995 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3996 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3998 CFLAGS="${CFLAGS_save}"
4000 CPPFLAGS="${CPPFLAGS_save}")
4005 dnl (enabled by default except on win32)
4008 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4009 if test "${enable_glx}" != "no" &&
4010 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4011 test "${enable_glx}" = "yes"); then
4012 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4013 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4014 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4015 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4019 VLC_ADD_PLUGIN([glx])
4020 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4021 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4022 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4023 CPPFLAGS="${CPPFLAGS_save}"
4028 dnl (disabled by default except on win32)
4031 [ --enable-xvmc XVMC support (default disabled)])
4032 if test "${enable_xvmc}" = "yes" &&
4033 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4034 test "${enable_xvmc}" = "yes"); then
4035 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4036 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4037 VLC_ADD_PLUGIN([xvmc])
4038 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4039 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4041 CPPFLAGS="${CPPFLAGS_save}"
4045 dnl Check for the Xinerama extension
4047 AC_ARG_ENABLE(xinerama,
4048 [ --enable-xinerama Xinerama support (default enabled)])
4049 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4050 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4051 test "${enable_xvideo}" = "yes"); then
4052 ac_cv_have_xinerama="no"
4053 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4054 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4055 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4056 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4057 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4058 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4059 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4060 ac_cv_have_xinerama="yes"
4062 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4063 VLC_ADD_LIBS([xvideo],[-lXinerama])
4064 VLC_ADD_LIBS([x11],[-lXinerama])
4065 VLC_ADD_LIBS([glx],[-lXinerama])
4066 ac_cv_have_xinerama="yes"
4070 if test "${ac_cv_have_xinerama}" = "yes"; then
4071 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4073 CFLAGS="${CFLAGS_save}"
4074 CPPFLAGS="${CPPFLAGS_save}"
4077 dnl Check for XF86VidMode extension
4079 ac_cv_have_xf86vidmode="no"
4080 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4081 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4082 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4083 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4084 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4085 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4086 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4087 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4088 ac_cv_have_xf86vidmode="yes"
4090 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4091 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4092 VLC_ADD_LIBS([x11],[-lXxf86vm])
4093 VLC_ADD_LIBS([glx],[-lXxf86vm])
4094 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4095 ac_cv_have_xf86vidmode="yes"
4099 [#ifdef HAVE_X11_XLIB_H
4100 # include <X11/Xlib.h>
4103 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4104 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4106 CFLAGS="${CFLAGS_save}"
4107 CPPFLAGS="${CPPFLAGS_save}"
4113 dnl (enabled by default except on beos)
4115 AC_ARG_ENABLE(opengl,
4116 [ --enable-opengl OpenGL support (default enabled)])
4117 if test "${enable_opengl}" != "no" &&
4118 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4119 if test "${SYS}" != "darwin"; then
4120 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4121 VLC_ADD_PLUGIN([opengl])
4122 if test "${SYS}" != "mingw32"; then
4123 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4125 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4129 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4130 VLC_ADD_PLUGIN([opengl])
4131 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4139 [ --enable-sdl SDL support (default enabled)])
4140 AC_ARG_ENABLE(sdl-image,
4141 [ --enable-sdl-image SDL image support (default enabled)])
4142 if test "${enable_sdl}" != "no"
4145 AC_ARG_WITH(sdl-config-path,
4146 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4147 [ if test "${with_sdl_config_path}" != "no"
4149 SDL_PATH="${with_sdl_config_path}:${PATH}"
4151 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4152 SDL_CONFIG="${SDL12_CONFIG}"
4153 SDL_HEADER="SDL12/SDL.h"
4154 SDL_IMAGE="SDL12/SDL_image.h"
4155 if test "${SDL_CONFIG}" = "no"
4157 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4158 SDL_CONFIG=${SDL11_CONFIG}
4159 SDL_HEADER="SDL11/SDL.h"
4160 SDL_IMAGE="SDL11/SDL_image.h"
4162 if test "${SDL_CONFIG}" = "no"
4164 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4165 SDL_HEADER="SDL/SDL.h"
4166 SDL_IMAGE="SDL/SDL_image.h"
4168 # check for cross-compiling
4170 AC_ARG_WITH(sdl-prefix,
4171 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4173 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4174 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4176 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4178 if test "${SDL_CONFIG}" != "no"
4180 # SDL on Darwin is heavily patched and can only run SDL_image
4181 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4182 VLC_ADD_PLUGIN([vout_sdl])
4183 VLC_ADD_PLUGIN([aout_sdl])
4185 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4186 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4187 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4188 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4189 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4190 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4191 As a last resort we also test for SDL.h presence),
4192 [ AC_MSG_ERROR([The development package for SDL is not installed.
4193 Please install it and try again. Alternatively you can also configure with
4196 AS_IF([ test "${enable_sdl_image}" != "no"],[
4197 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4198 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4199 VLC_ADD_PLUGIN([sdl_image])
4200 AC_CHECK_LIB(png, png_set_rows,
4201 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4202 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4203 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4204 AC_CHECK_LIB(tiff, TIFFClientOpen,
4205 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4206 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4207 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4208 As a last resort we also test for SDL_image.h presence),
4209 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4210 You should install it alongside your SDL package.])
4213 CPPFLAGS="${CPPFLAGS_save}"
4214 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4216 AC_MSG_ERROR([The development package for SDL is not installed.
4217 Please install it and try again. Alternatively you can also configure with
4221 elif test "${enable_sdl}" = "yes"
4223 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4224 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4232 AC_ARG_ENABLE(freetype,
4233 [ --enable-freetype freetype support (default enabled)])
4234 AC_ARG_ENABLE(fribidi,
4235 [ --enable-fribidi fribidi support (default enabled)])
4236 AC_ARG_ENABLE(fontconfig,
4237 [ --enable-fontconfig, fontconfig support (default enabled)])
4238 if test "${enable_freetype}" != "no"
4240 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4241 VLC_ADD_PLUGIN([freetype])
4243 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4244 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4245 if test "${SYS}" = "mingw32"; then
4246 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4248 if test "${SYS}" = "mingw32"; then
4249 VLC_ADD_LIBS([freetype],[-liconv])
4251 if test "${enable_fontconfig}" != "no"
4253 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4254 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4255 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4256 AC_CHECK_HEADERS(Carbon/Carbon.h,
4257 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4261 AS_IF([ test "${enable_freetype}" = "yes"],[
4262 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4263 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4269 if test "${enable_fribidi}" != "no"
4271 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4272 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4273 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4281 AC_ARG_ENABLE(libxml2,
4282 [ --enable-libxml2 libxml2 support (default enabled)])
4283 if test "${enable_libxml2}" != "no"
4286 AC_ARG_WITH(xml2-config-path,
4287 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4288 [ if test "${with_xml2_config_path}" != "no"; then
4289 XML2_PATH="${with_xml2_config_path}:${PATH}"
4291 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4292 if test "${XML2_CONFIG}" != "no"; then
4293 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4294 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4295 dnl depends on the xmlTextReader extension
4296 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4297 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4298 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4299 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4300 VLC_ADD_PLUGIN([xml]) ],[
4301 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4302 if test "${enable_xml2}" = "yes"; then
4303 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4306 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4307 if test "${enable_xml2}" = "yes"; then
4308 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4310 LDFLAGS="${LDFLAGS_save}"
4311 CPPFLAGS="${CPPFLAGS_save}"
4313 if test "${enable_xml2}" = "yes"; then
4314 AC_MSG_ERROR([Could not find libxml2])
4323 [ --enable-svg SVG support (default disabled)])
4324 if test "${enable_svg}" = "yes"
4326 PKG_CHECK_MODULES(SVG,
4327 librsvg-2.0 >= 2.9.0,
4329 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4330 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4331 VLC_ADD_PLUGIN([svg]) ],
4332 [AC_MSG_WARN(SVG library not found)])
4336 dnl Snapshot vout module (with cache)
4338 AC_ARG_ENABLE(snapshot,
4339 [ --enable-snapshot snapshot module (default disabled)])
4340 if test "${enable_snapshot}" = "yes"
4342 VLC_ADD_PLUGIN([snapshot])
4346 dnl Qt Embedded module
4347 dnl (disabled by default)
4350 [ --enable-qte QT Embedded support (default disabled)])
4351 if test "${enable_qte}" = "yes"
4354 [ --with-qte=PATH Qt Embedded headers and libraries])
4355 if test "${with_qte}" != "no" -a -n "${with_qte}"
4357 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4358 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])
4360 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4361 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4363 VLC_ADD_PLUGIN([qte])
4365 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4366 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4367 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4369 CPPFLAGS="${CPPFLAGS_save}"
4373 dnl Roku HD1000 Video output module
4375 AC_ARG_ENABLE(hd1000v,
4376 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4377 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4378 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4379 test "${enable_hd1000v}" = "yes"); then
4381 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4383 can_build_roku="yes"
4387 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4389 if test "$can_build_roku" = "yes"
4391 VLC_ADD_PLUGIN([hd1000v])
4392 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4398 dnl Windows DirectX module
4401 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4403 VLC_ADD_PLUGIN([panoramix])
4406 AC_ARG_ENABLE(directx,
4407 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4408 if test "${enable_directx}" != "no"
4410 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4412 AC_ARG_WITH(directx,
4413 [ --with-directx=PATH Win32 DirectX headers])
4414 if test -z "${with_directx}"
4416 AC_CHECK_HEADERS(ddraw.h,
4417 [ VLC_ADD_PLUGIN([vout_directx])
4418 VLC_ADD_PLUGIN([aout_directx])
4419 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4421 AC_CHECK_HEADERS(GL/gl.h,
4422 [ VLC_ADD_PLUGIN([glwin32])
4423 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4425 AC_CHECK_HEADERS(d3d9.h,
4426 [ VLC_ADD_PLUGIN([direct3d])
4427 VLC_ADD_LIBS([direct3d],[-lgdi32])
4430 AC_MSG_CHECKING(for directX headers in ${with_directx})
4431 if test -f ${with_directx}/ddraw.h
4433 VLC_ADD_PLUGIN([vout_directx])
4434 VLC_ADD_PLUGIN([aout_directx])
4435 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4436 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4440 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4447 dnl Linux framebuffer module
4450 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4451 if test "${enable_fb}" != "no"
4453 AC_CHECK_HEADERS(linux/fb.h, [
4454 VLC_ADD_PLUGIN([fb])
4459 dnl Linux MGA module
4462 [ --enable-mga Linux kernel Matrox support (default disabled)],
4463 [ if test "${enable_mga}" = "yes"
4465 VLC_ADD_PLUGIN([mga])
4469 dnl OMAP Framebuffer module
4471 AC_ARG_ENABLE(omapfb,
4472 [ --enable-omapfb OMAP framebuffer support (default disabled)])
4473 if test "${enable_omapfb}" = "yes"
4475 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
4476 VLC_ADD_PLUGIN([omapfb])
4477 AC_CHECK_HEADERS(X11/Xlib.h, [
4478 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
4485 AC_ARG_ENABLE(svgalib,
4486 [ --enable-svgalib SVGAlib support (default disabled)])
4487 if test "${enable_svgalib}" = "yes"
4489 VLC_ADD_PLUGIN([svgalib])
4490 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4495 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4496 dnl TODO: support for static linking
4498 AC_ARG_ENABLE(directfb,
4499 [ --enable-directfb DirectFB support (default disabled)])
4500 AC_ARG_WITH(directfb,
4501 [ --with-directfb=PATH path to DirectFB headers and libraries])
4503 if test "${enable_directfb}" = "yes"; then
4504 have_directfb="false"
4505 CPPFLAGS_mydirectfb=
4507 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4508 dnl Trying the given location
4509 CPPFLAGS_save="${CPPFLAGS}"
4512 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4513 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4514 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4516 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4517 LIBS="${LIBS} ${LIBS_new}"
4519 dnl FIXME: too obscure
4520 AC_CHECK_HEADER([directfb.h], [
4521 AC_CHECK_LIB([direct],[direct_initialize], [
4522 AC_CHECK_LIB([fusion], [fusion_enter], [
4523 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4524 ], have_directfb="false")
4525 ], have_directfb="false")
4526 ], have_directfb="false")
4529 CPPFLAGS="${CPPFLAGS_save}"
4532 if test "${have_directfb}" = "true"; then
4533 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4534 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4537 dnl Look for directfb-config
4538 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4539 if test "${DIRECTFB_CONFIG}" != "no"; then
4540 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4541 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4542 have_directfb="true"
4544 dnl Trying with pkg-config
4545 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4546 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4547 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4548 have_directfb="true"
4549 ], [have_directfb="false"])
4552 if test "${have_directfb}" = "true"; then
4553 VLC_ADD_PLUGIN([directfb])
4554 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4555 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4557 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4567 [ --enable-ggi GGI support (default disabled)])
4568 if test "${enable_ggi}" = "yes"
4570 AC_CHECK_HEADER([ggi/ggi.h],[
4571 VLC_ADD_PLUGIN([ggi])
4572 VLC_ADD_LIBS([ggi],[-lggi])
4574 [ --with-ggi=PATH path to libggi],
4575 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4577 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4578 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4581 AC_MSG_ERROR([LibGGI development files can't be found])
4589 [ --enable-aa aalib output (default disabled)])
4590 if test "${enable_aa}" = "yes"
4592 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4593 if test "${have_aa}" = "true"
4595 VLC_ADD_PLUGIN([aa])
4596 VLC_ADD_LIBS([aa],[-laa])
4604 [ --enable-caca libcaca output (default disabled)])
4605 if test "${enable_caca}" = "yes"
4608 AC_ARG_WITH(caca-config-path,
4609 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4610 [ if test "${with_caca_config_path}" != "no"
4612 CACA_PATH="${with_caca_config_path}:${PATH}"
4614 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4615 if test "${CACA_CONFIG}" != "no"
4617 VLC_ADD_PLUGIN([caca])
4618 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4619 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4620 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4625 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4631 dnl win32 GDI plugin
4633 AC_ARG_ENABLE(wingdi,
4634 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4635 if test "${enable_wingdi}" != "no"; then
4636 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4637 VLC_ADD_PLUGIN([wingdi])
4638 VLC_ADD_LIBS([wingdi],[-lgdi32])
4640 if test "${SYS}" = "mingwce"; then
4641 VLC_ADD_PLUGIN([wingdi])
4642 VLC_ADD_PLUGIN([wingapi])
4643 VLC_ADD_LIBS([wingdi],[-laygshell])
4644 VLC_ADD_LIBS([wingapi],[-laygshell])
4652 AC_ARG_WITH(,[Audio plugins:])
4655 dnl OSS /dev/dsp module (enabled by default except on win32)
4658 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4660 if test "${enable_oss}" != "no" &&
4661 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4662 test "${enable_oss}" = "yes")
4664 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4665 VLC_ADD_PLUGIN([oss])
4666 VLC_ADD_PLUGIN([access_oss])
4667 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4672 dnl Pulseaudio module
4674 AC_ARG_ENABLE(pulse,
4675 [ --enable-pulse Pulseaudio support (default enabled)])
4676 if test "${enable_pulse}" != "no"
4678 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4679 [ VLC_ADD_PLUGIN([pulse])
4680 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4681 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4682 [AC_MSG_WARN(pulseaudio library not found)])
4686 dnl Portaudio module
4688 AC_ARG_ENABLE(portaudio,
4689 [ --enable-portaudio Portaudio library support (default disabled)],
4690 [if test "${enable_portaudio}" = "yes"
4692 VLC_ADD_PLUGIN([portaudio])
4693 VLC_ADD_CXXFLAGS([portaudio],[])
4694 if test "${SYS}" = "mingw32"; then
4695 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4697 VLC_ADD_LIBS([portaudio],[-lportaudio])
4705 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4706 if test "${enable_alsa}" != "no"
4708 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4709 if test "${have_alsa}" = "true"
4711 CFLAGS="${CFLAGS_save}"
4712 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4713 #define ALSA_PCM_NEW_SW_PARAMS_API
4714 #include <alsa/asoundlib.h>],
4715 [snd_pcm_hw_params_get_period_time(0,0,0);],
4716 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4717 VLC_ADD_PLUGIN([alsa])
4718 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4719 VLC_ADD_PLUGIN([access_alsa])
4720 VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
4722 if test "${enable_alsa}" = "yes"; then
4723 AC_MSG_ERROR([Could not find ALSA development headers])
4729 dnl win32 waveOut plugin
4731 AC_ARG_ENABLE(waveout,
4732 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4733 if test "${enable_waveout}" != "no"; then
4734 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4735 VLC_ADD_PLUGIN([waveout])
4736 VLC_ADD_LIBS([waveout],[-lwinmm])
4738 if test "${SYS}" = "mingwce"; then
4739 VLC_ADD_PLUGIN([waveout])
4744 dnl CoreAudio plugin
4746 AC_ARG_ENABLE(macosx-audio,
4747 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4748 if test "${enable_macosx-audio}" != "no" &&
4749 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4751 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4752 [ VLC_ADD_PLUGIN([auhal])
4753 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4754 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4758 dnl Roku HD1000 audio
4760 AC_ARG_ENABLE(hd1000a,
4761 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4762 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4763 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4764 test "${enable_hd1000a}" = "yes")
4767 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4768 VLC_ADD_PLUGIN([hd1000a])
4769 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4777 [ --enable-jack JACK audio I/O modules (default disabled)],,
4780 AS_IF([test "${enable_jack}" != "no"], [
4781 AC_CHECK_HEADERS(jack/jack.h, [
4782 VLC_ADD_PLUGIN([access_jack])
4783 VLC_ADD_PLUGIN([jack])
4784 VLC_ADD_LIBS([access_jack jack],[-ljack])
4785 ],[AC_MSG_ERROR([cannot find JACK headers])])
4789 dnl CyberLink for C++ UPnP stack
4791 AC_ARG_ENABLE(cyberlink,
4792 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4793 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4794 AC_ARG_WITH(cyberlink-tree,
4795 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4798 dnl test for --with-cyberlink-tree
4800 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4802 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4803 AS_IF([test -z "${real_cyberlink_tree}"], [
4804 dnl The given directory can't be found
4806 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4808 CPPFLAGS_save="${CPPFLAGS}"
4809 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4810 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4811 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4812 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4813 VLC_ADD_PLUGIN([upnp_cc])
4815 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4817 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4818 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4819 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4820 dnl The mere fact that we have to make such an ugly check sucks
4821 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4824 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4825 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4826 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4827 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4828 using namespace CyberLink;
4830 class testclass : public SearchResponseListener, public MediaPlayer
4832 virtual void deviceSearchResponseReceived( SSDPPacket *)
4839 addSearchResponseListener (this);
4843 ],[testclass l;])],[LIBS_cclink="$l"])
4846 dnl should not happen - otherwise this needs fixing - hence FAILURE
4847 AS_IF([test "${LIBS_cclink}" = "no"],
4848 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4849 AC_MSG_RESULT([${LIBS_cclink}])
4850 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4853 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4855 CPPFLAGS="${CPPFLAGS_save}"
4861 dnl UPnP Plugin (Intel SDK)
4864 AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)]))
4866 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4867 AS_IF([test "x${enable_upnp}" != "xno"], [
4868 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4869 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4870 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4872 AS_IF([test "${has_upnp}" = "yes"], [
4873 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4879 AS_IF([test "${has_upnp}" = "yes"], [
4880 VLC_ADD_PLUGIN([upnp_intel])
4885 dnl Interface plugins
4888 AC_ARG_WITH(,[Interface plugins:])
4890 dnl special case for BeOS
4891 if test "${SYS}" = "beos"
4893 VLC_ADD_PLUGIN([beos])
4899 AC_ARG_ENABLE(skins2,
4900 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4901 enabled except on MacOSX, BeOS and WinCE)])])
4902 if test "${enable_skins2}" = "yes" ||
4903 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4904 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4906 dnl test for the required libraries
4907 skins2_missing_lib="no"
4910 if test "${have_freetype}" != "yes"; then
4911 skins2_missing_lib="yes"
4912 if test "${enable_skins2}" = "yes"; then
4913 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4917 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4918 VLC_ADD_PLUGIN([skins2])
4919 ALIASES="${ALIASES} svlc"
4920 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4921 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4922 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4924 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4925 VLC_ADD_PLUGIN([skins2])
4926 ALIASES="${ALIASES} svlc"
4927 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4928 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4929 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4931 else if test "${skins2_missing_lib}" = "no"; then
4932 VLC_ADD_PLUGIN([skins2])
4933 ALIASES="${ALIASES} svlc"
4934 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4935 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4936 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4939 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4940 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4941 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4944 dnl PDA Gtk+2 module
4947 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4948 if test "${enable_pda}" = "yes"
4950 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4951 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4952 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4953 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4954 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
4955 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
4956 VLC_ADD_PLUGIN([pda])
4957 if test "${SYS}" != "mingw32"; then
4959 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
4960 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
4963 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
4968 AC_ARG_ENABLE(maemo,
4969 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4970 if test "${enable_maemo}" = "yes"
4972 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4973 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4974 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4975 VLC_ADD_PLUGIN([maemo])
4976 VLC_ADD_PLUGIN([swscale_maemo])
4977 AC_DEFINE([BUILD_MAEMO], 1, [Define if you're using Maemo interfaces])
4978 ALIASES="${ALIASES} mvlc"
4980 AS_IF([test "${enable_maemo}" = "yes"],[
4981 AC_MSG_ERROR([Hildon libraries not found])
4986 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4992 [ --enable-qt4 QT 4 support (default enabled) ],, [
4993 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4995 AS_IF([test "${enable_qt4}" != "no"], [
4996 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.3.0], [
4997 VLC_ADD_PLUGIN([qt4])
4998 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
4999 ALIASES="${ALIASES} qvlc"
5000 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
5001 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5003 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5005 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
5006 AC_SUBST(QT4LOCALEDIR)
5007 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
5008 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5009 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5010 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5012 AS_IF([test "${enable_qt4}" = "yes"],[
5013 AC_MSG_ERROR([Qt 4 library not found])
5015 AC_MSG_WARN([Qt 4 library not found])
5020 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
5023 dnl WinCE GUI module
5025 AC_ARG_ENABLE(wince,
5026 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5027 if test "${enable_wince}" != "no"; then
5028 if test "${SYS}" = "mingwce"; then
5029 VLC_ADD_PLUGIN([wince])
5030 VLC_ADD_CXXFLAGS([wince],[])
5031 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5033 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5034 elif test "${SYS}" = "mingw32"; then
5035 VLC_ADD_CXXFLAGS([wince],[])
5036 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5038 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5043 dnl Simple test for skins2 dependency
5045 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
5046 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.])
5050 dnl Opie QT embedded module
5053 [ --enable-opie Qt embedded interface support (default disabled)],
5054 [if test "${enable_opie}" = "yes"; then
5056 [ --with-qte=PATH Qt Embedded headers and libraries])
5057 if test "${with_qte}" != "no" -a -n "${with_qte}"
5059 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5060 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])
5062 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5063 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5065 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5066 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5067 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5069 CPPFLAGS="${CPPFLAGS_save}"
5071 VLC_ADD_PLUGIN([opie])
5073 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5074 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5075 if test "${with_qte}" != "no" -a -n "${with_qte}"
5077 MOC=${with_qte}/bin/moc
5079 MOC=${QTDIR}/bin/moc
5084 dnl MacOS X video output/gui modules
5086 AC_ARG_ENABLE(macosx,
5087 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5088 if test "x${enable_macosx}" = "xyes"
5090 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5091 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
5092 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5093 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5094 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5095 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5096 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5098 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
5099 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
5100 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
5101 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5102 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
5103 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
5104 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5106 VLC_ADD_PLUGIN([access_eyetv])
5107 VLC_ADD_PLUGIN([qtcapture])
5108 VLC_ADD_PLUGIN([macosx])
5109 VLC_ADD_PLUGIN([minimal_macosx])
5112 CFLAGS="$CFLAGS -x objective-c"
5113 AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
5114 [VLC_ADD_PLUGIN([opengllayer])
5115 VLC_ADD_OBJCFLAGS([opengllayer])],[])
5123 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5124 if test "${enable_qnx}" != "no"
5126 AC_CHECK_HEADERS(Ph.h, [
5127 VLC_ADD_PLUGIN([qnx])
5128 VLC_ADD_LIBS([qnx],[-lasound -lph])
5135 AC_ARG_ENABLE(ncurses,
5136 [ --disable-ncurses ncurses interface support (default enabled)],
5137 [if test "${enable_ncurses}" != "no"; then
5138 AC_CHECK_HEADER(ncurses.h,
5139 [AC_CHECK_LIB(ncursesw, mvprintw,
5140 [VLC_ADD_PLUGIN([ncurses])
5141 VLC_ADD_LIBS([ncurses],[-lncursesw])
5142 ALIASES="${ALIASES} nvlc"
5143 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5144 AC_CHECK_LIB(ncursesw, tgetent, [],
5145 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5146 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5147 [AS_IF([test "x${enable_ncurses}" != "x"],
5148 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5154 [AC_CHECK_LIB( ncurses, mvprintw,
5155 [VLC_ADD_PLUGIN([ncurses])
5156 ALIASES="${ALIASES} nvlc"
5157 VLC_ADD_LIBS([ncurses],[-lncurses])
5158 AC_CHECK_LIB(ncurses, tgetent, [],
5159 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5160 [AS_IF([test "x${enable_ncurses}" != "x"],
5161 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5164 [AS_IF([test "x${enable_ncurses}" != "x"], [
5165 AC_MSG_ERROR([libncurses not found])])]
5176 [ --enable-xosd xosd interface support (default disabled)])
5177 if test "${enable_xosd}" = "yes"
5179 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5180 AC_CHECK_LIB(xosd,xosd_set_offset,
5181 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5182 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5183 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5184 AC_TRY_COMPILE([#include <xosd.h>],
5185 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5186 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5187 if test "${have_xosd}" = "true"
5189 VLC_ADD_PLUGIN([xosd])
5190 VLC_ADD_LIBS([xosd],[-lxosd])
5195 dnl Framebuffer (overlay) plugin
5197 AC_ARG_ENABLE(fbosd,
5198 [ --enable-fbosd fbosd interface support (default disabled)])
5199 if test "${enable_fbosd}" = "yes"
5201 AC_CHECK_HEADERS(linux/fb.h, [
5202 VLC_ADD_PLUGIN([fbosd])
5207 dnl Visualisation plugin
5209 AC_ARG_ENABLE(visual,
5210 [ --enable-visual visualisation plugin (default enabled)])
5211 if test "${enable_visual}" != "no"
5213 VLC_ADD_PLUGIN([visual])
5217 dnl OpenGL visualisation plugin
5219 AC_ARG_ENABLE(galaktos,
5220 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5221 if test "${enable_galaktos}" = "yes"
5223 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5224 VLC_ADD_PLUGIN([galaktos])
5225 if test "${SYS}" != "mingw32"; then
5226 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5228 VLC_ADD_LIBS([galaktos],[-lopengl32])
5234 dnl goom visualization plugin
5237 [ --enable-goom goom visualisation plugin (default disabled)])
5238 if test "${enable_goom}" = "yes"
5240 AC_ARG_WITH(goom-tree,
5241 [ --with-goom-tree=PATH goom tree for static linking (required)])
5244 dnl test for --with-goom-tree
5246 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5247 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5248 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5249 if test -z "${real_goom_tree}"; then
5250 dnl The given directory can't be found
5252 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5254 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5255 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5256 VLC_ADD_PLUGIN([goom])
5257 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5258 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5260 dnl The given libgoom2 wasn't built, try to look for the old goom
5262 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5263 if test -f "${real_goom_tree}/libgoom.a"; then
5264 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5265 VLC_ADD_PLUGIN([goom])
5266 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5267 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5269 dnl The given libgoom wasn't built
5271 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5275 AC_CHECK_HEADERS(goom/goom.h, [
5276 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5277 AC_CHECK_LIB(goom2, goom_init, [
5278 VLC_ADD_PLUGIN([goom])
5279 VLC_ADD_LIBS([goom],[-lgoom2])
5281 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5283 LDFLAGS="${LDFLAGS_save}"
5289 dnl AtmoLight (homebrew AmbiLight)
5291 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5293 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
5294 (default enabled)]))
5295 if test "${enable_atmo}" != "no"; then
5297 VLC_ADD_PLUGIN([atmo])
5303 dnl Bonjour services discovery
5305 AC_ARG_ENABLE(bonjour,
5306 [ --enable-bonjour Bonjour services discovery (default enabled)])
5307 AS_IF([test "${enable_bonjour}" != "no"], [
5308 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, [
5309 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define to 1 if you have libavahi-client])
5310 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5311 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5312 VLC_ADD_PLUGIN([bonjour])
5314 AC_MSG_WARN(avahi-client library not found)
5322 [ --enable-lirc lirc support (default disabled)])
5323 if test "${enable_lirc}" = "yes"
5325 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5326 if test "${have_lirc}" = "true"
5328 VLC_ADD_PLUGIN([lirc])
5329 VLC_ADD_LIBS([lirc],[-llirc_client])
5334 AC_ARG_WITH(,[Misc options:])
5339 AC_ARG_ENABLE(libgcrypt,
5340 [ --disable-libgcrypt libgcrypts support (default enabled)])
5341 AS_IF([test "${enable_libgcrypt}" != "no"], [
5342 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5344 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
5345 AS_IF([test "${have_libgcrypt}" = "yes"],[
5346 VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
5349 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5354 AC_ARG_ENABLE(gnutls,
5355 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5357 AS_IF([test "${enable_gnutls}" != "no"], [
5358 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5359 VLC_ADD_PLUGIN([gnutls])
5360 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5361 AS_IF([test "${SYS}" = "mingw32"], [
5362 dnl pkg-config --libs gnutls omits these
5363 VLC_ADD_LIBS([gnutls], [-lz])
5364 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5366 dnl The GnuTLS plugin invokes gcry_control directly.
5367 AS_IF([test "${have_libgcrypt}" = "yes"],[
5368 VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}])
5369 VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}])
5371 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5373 AS_IF([test "${enable_gnutls}" = "yes"], [
5374 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5381 dnl RemoteOSD plugin (VNC client as video filter)
5383 AC_ARG_ENABLE(remoteosd,
5384 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
5386 AS_IF([test "${enable_remoteosd}" != "no"], [
5387 AS_IF([test "${have_libgcrypt}" = "yes"],[
5388 VLC_ADD_PLUGIN([remoteosd])
5389 VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS})
5390 VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
5392 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
5400 AC_MSG_CHECKING([whether to enable RAOP plugin])
5401 AS_IF([test "${have_libgcrypt}" = "yes"], [
5403 VLC_ADD_PLUGIN([stream_out_raop])
5404 VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS}])
5405 VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}])
5408 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
5413 dnl update checking system
5415 AC_ARG_ENABLE(update-check,
5416 [ --enable-update-check update checking system (default disabled)])
5417 if test "${enable_update_check}" = "yes"
5419 if test "${have_libgcrypt}" != "yes"
5421 AC_MSG_ERROR([libgcrypt is required for update checking system])
5423 VLC_ADD_LIBS([libvlc], [${LIBGCRYPT_LIBS}])
5424 VLC_ADD_CFLAGS([libvlc], [${LIBGCRYPT_CFLAGS}])
5425 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5430 dnl Endianness check
5433 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
5434 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
5438 AC_SUBST(DEFS_BIGENDIAN)
5441 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5444 AC_ARG_ENABLE(loader,
5445 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
5446 (default disabled)]))
5447 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5448 AS_IF([test "${enable_loader}" = "yes"],
5449 [ VLC_ADD_PLUGIN([dmo])
5450 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5451 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5452 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5453 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5454 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5455 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5456 VLC_ADD_CPPFLAGS([realvideo],[-I../../@top_srcdir@/libs/loader -DLOADER])
5457 VLC_ADD_LIBS([realvideo],[../../libs/loader/libloader.la])
5460 AC_ARG_WITH(,[Components:])
5466 [ --enable-vlc build the VLC media player (default enabled)])
5467 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5470 dnl Microsoft ActiveX support
5473 AC_ARG_ENABLE(activex,
5474 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
5475 (default enabled on Win32)]))
5476 AC_ARG_WITH(wine-sdk-path,
5477 [ --with-wine-sdk-path=PATH path to wine sdk])
5478 if test "${enable_activex}" != "no"
5480 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5482 AC_CHECK_PROGS(MIDL, [midl], no)
5483 if test "${with_wine_sdk_path}" != ""
5485 WINE_SDK_PATH=${with_wine_sdk_path}
5486 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5491 AC_CHECK_HEADERS(ole2.h,
5492 [AC_CHECK_HEADERS(olectl.h,
5493 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5494 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5495 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5496 AC_CHECK_HEADERS(objsafe.h,
5497 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5505 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5507 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5509 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5514 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5515 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5516 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5517 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5518 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5524 AC_ARG_ENABLE(mozilla,
5525 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
5526 (default disabled)]))
5527 AC_ARG_WITH(mozilla-sdk-path,
5528 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5529 AC_ARG_WITH(mozilla-pkg,
5530 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
5532 if test "${enable_mozilla}" = "yes"
5534 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
5537 dnl As we want to do a loop due to the number of name possible for the .pc
5538 dnl we can't use the pkg-config macros.
5540 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
5541 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
5542 AC_MSG_NOTICE([Checking for Mozilla])
5544 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
5548 if test -n "$PKG_CONFIG"; then
5549 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
5550 echo "Trying to find $i.pc files" >&5
5551 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
5553 echo "Using $i.pc files." >&5
5554 echo "Using $i.pc files." >&6
5556 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
5557 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
5563 AS_IF( [test $found = 1],[
5564 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
5565 MOZILLA_REQUIRED_HEADERS=1
5566 AC_CHECK_HEADERS([npfunctions.h])
5567 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5568 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5573 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5574 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5576 MOZILLA_REQUIRED_HEADERS=
5578 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
5579 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
5580 AS_IF([ test "${SYS}" != "darwin"],[
5581 PKG_CHECK_MODULES(XPM, [xpm xt],[
5582 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
5584 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
5588 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
5589 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
5590 VLC_ADD_PLUGIN([mozilla])
5591 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5593 CPPFLAGS="${CPPFLAGS_save}"
5596 AC_PATH_PROGS(MOZILLA_CONFIG,
5597 [mozilla-config seamonkey-config xulrunner-config],
5598 AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
5602 dnl pkg-config failed but we might have found a mozilla-config
5603 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
5604 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5605 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5606 AC_CHECK_LIB(Xt,XtStrings,
5608 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5609 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5612 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5614 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5615 LDFLAGS="${LDFLAGS_save}"
5619 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5620 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
5621 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5622 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5623 MOZILLA_REQUIRED_HEADERS=1
5624 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5625 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5626 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5631 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5633 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5635 MOZILLA_REQUIRED_HEADERS=
5636 CPPFLAGS="${CPPFLAGS_save}"
5637 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5639 dnl End of moz_sdk = ""
5641 dnl special case for mingw32
5642 if test "${SYS}" = "mingw32"
5644 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5645 dnl latest gecko sdk does not have an xpcom directory
5646 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5647 mozilla_sdk_xpcom="/xpcom"
5651 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5652 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5653 MOZILLA_REQUIRED_HEADERS=1
5654 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5655 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5656 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5661 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5663 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5665 MOZILLA_REQUIRED_HEADERS=
5667 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5668 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])
5669 if ${need_xpcom_libs}; then
5670 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])
5671 if test "${SYS}" = "mingw32"; then
5672 dnl latest gecko sdk does not have embedstring
5673 if test -d "${real_mozilla_sdk}/embedstring/bin"
5675 VLC_ADD_LIBS([mozilla],[-lembedstring])
5679 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5681 if test -n "${CYGPATH}"; then
5682 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5684 CPPFLAGS="${CPPFLAGS_save}"
5688 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5690 dnl Tests for Osso and Xsp
5691 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
5692 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5693 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5694 VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
5697 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5698 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
5699 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
5705 AC_ARG_ENABLE(testsuite,
5706 [ --enable-testsuite build test modules (default disabled)])
5707 if test "${enable_testsuite}" = "yes"
5709 TESTS="test1 test2 test3 test4"
5711 dnl we define those so that bootstrap sets the right linker
5712 VLC_ADD_CXXFLAGS([test2],[])
5713 VLC_ADD_OBJCFLAGS([test3],[])
5714 dnl this one is needed until automake knows what to do
5715 VLC_ADD_LIBS([test3],[-lobjc])
5717 VLC_ADD_PLUGIN([test1])
5718 VLC_ADD_PLUGIN([test2])
5719 VLC_ADD_PLUGIN([test3])
5720 VLC_ADD_PLUGIN([test4])
5726 if test "${NEED_GTK_MAIN}" != "no"
5728 VLC_ADD_PLUGIN([gtk_main])
5729 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5730 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5733 if test "${NEED_GNOME_MAIN}" != "no"
5735 VLC_ADD_PLUGIN([gnome_main])
5736 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5737 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5740 if test "${NEED_GTK2_MAIN}" != "no"
5742 VLC_ADD_PLUGIN([gtk2_main])
5743 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5744 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5745 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5746 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5749 if test "${NEED_GNOME2_MAIN}" != "no"
5751 VLC_ADD_PLUGIN([gnome2_main])
5752 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5753 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5759 if test "${NEED_QTE_MAIN}" != "no"
5761 VLC_ADD_PLUGIN([qte_main])
5762 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5763 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5764 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5768 dnl Plugin and builtin checks
5772 dnl Automagically disable plugins if there is no system support for
5773 dnl dynamically loadable files (.so, .dll, .dylib).
5774 dnl don't forget vlc-win32 still can load .dll as plugins
5775 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5776 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5780 AS_IF([test "${enable_shared}" = "no"], [
5784 AS_IF([test "${plugin_support}" != "no"], [
5785 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5787 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
5789 dnl Temporary(?) hack for plugins/builtins transition
5790 dnl VLC_ADD_PLUGIN([${BUILTINS}])
5794 dnl Pic and shared libvlc stuff
5796 AS_IF([test "${SYS}" = "mingw32"], [
5797 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5798 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5802 dnl Stuff used by the program
5804 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5805 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5806 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5807 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5808 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5809 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5810 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5811 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5812 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5813 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5814 AC_SUBST(COPYRIGHT_MESSAGE)
5815 AC_SUBST(VERSION_MESSAGE)
5816 AC_SUBST(VERSION_MAJOR)
5817 AC_SUBST(VERSION_MINOR)
5818 AC_SUBST(VERSION_REVISION)
5819 AC_SUBST(COPYRIGHT_YEARS)
5820 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5821 if test "${build_os}" = "cygwin"
5823 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5825 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5827 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5828 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5829 dnl Win32 need s a numerical version_extra.
5830 case $( echo ${VERSION_EXTRA}|wc -m ) in
5831 "1") VERSION_EXTRA_RC="0";;
5832 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5833 *) VERSION_EXTRA_RC="99"
5835 AC_SUBST(VERSION_EXTRA_RC)
5837 dnl Handle substvars that use $(top_srcdir)
5839 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5840 AC_SUBST(VLC_CONFIG)
5841 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5849 dnl Sort the modules list
5851 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5854 dnl Create the vlc-config script
5856 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5859 dnl Configuration is finished
5869 AC_SUBST(MOZILLA_SDK_PATH)
5870 AC_SUBST(WINE_SDK_PATH)
5872 AC_SUBST(AM_CPPFLAGS)
5873 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5874 AC_SUBST(FILE_LIBVLCCORE_DLL)
5875 AC_SUBST(FILE_LIBVLC_DLL)
5877 dnl Create vlc-config.in
5878 VLC_OUTPUT_VLC_CONFIG_IN
5881 extras/package/win32/vlc.win32.nsi
5882 extras/package/macosx/Info.plist
5883 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5884 extras/package/macosx/plugin/Info.plist
5885 extras/package/macosx/plugin/InstallerInfo.plist
5886 extras/package/macosx/plugin/English.lproj/InfoPlist.strings
5888 projects/activex/Makefile
5889 projects/activex/axvlc.inf
5891 extras/package/ipkg/Makefile
5892 libs/loader/Makefile
5896 projects/mozilla/Makefile
5899 projects/activex/axvlc_rc.rc
5900 projects/mozilla/npvlc_rc.rc
5901 projects/mozilla/vlc.r
5903 share/vlc_win32_rc.rc
5904 share/libvlc_win32_rc.rc
5909 modules/access/Makefile
5910 modules/access/bd/Makefile
5911 modules/access/bda/Makefile
5912 modules/access/dshow/Makefile
5913 modules/access/dvb/Makefile
5914 modules/access/mms/Makefile
5915 modules/access/cdda/Makefile
5916 modules/access/rtp/Makefile
5917 modules/access/rtsp/Makefile
5918 modules/access/rtmp/Makefile
5919 modules/access/vcd/Makefile
5920 modules/access/vcdx/Makefile
5921 modules/access/screen/Makefile
5922 modules/access/zip/Makefile
5923 modules/access_output/Makefile
5924 modules/audio_filter/Makefile
5925 modules/audio_filter/channel_mixer/Makefile
5926 modules/audio_filter/converter/Makefile
5927 modules/audio_filter/resampler/Makefile
5928 modules/audio_filter/spatializer/Makefile
5929 modules/audio_mixer/Makefile
5930 modules/audio_output/Makefile
5931 modules/codec/Makefile
5932 modules/codec/avcodec/Makefile
5933 modules/codec/cmml/Makefile
5934 modules/codec/dmo/Makefile
5935 modules/codec/shine/Makefile
5936 modules/codec/subtitles/Makefile
5937 modules/codec/spudec/Makefile
5938 modules/codec/wmafixed/Makefile
5939 modules/codec/xvmc/Makefile
5940 modules/control/Makefile
5941 modules/control/http/Makefile
5942 modules/control/globalhotkeys/Makefile
5943 modules/demux/Makefile
5944 modules/demux/asf/Makefile
5945 modules/demux/avformat/Makefile
5946 modules/demux/avi/Makefile
5947 modules/demux/mkv/Makefile
5948 modules/demux/mp4/Makefile
5949 modules/demux/mpeg/Makefile
5950 modules/demux/playlist/Makefile
5951 modules/gui/Makefile
5952 modules/gui/beos/Makefile
5953 modules/gui/pda/Makefile
5954 modules/gui/macosx/Makefile
5955 modules/gui/maemo/Makefile
5956 modules/gui/minimal_macosx/Makefile
5957 modules/gui/qnx/Makefile
5958 modules/gui/qt4/Makefile
5959 modules/gui/skins2/Makefile
5960 modules/gui/wince/Makefile
5961 modules/meta_engine/Makefile
5962 modules/misc/Makefile
5963 modules/misc/dummy/Makefile
5964 modules/misc/lua/Makefile
5965 modules/misc/memcpy/Makefile
5966 modules/misc/notify/Makefile
5967 modules/misc/testsuite/Makefile
5968 modules/misc/playlist/Makefile
5969 modules/misc/osd/Makefile
5970 modules/misc/stats/Makefile
5971 modules/misc/xml/Makefile
5972 modules/misc/probe/Makefile
5973 modules/mux/Makefile
5974 modules/mux/mpeg/Makefile
5975 modules/packetizer/Makefile
5976 modules/services_discovery/Makefile
5977 modules/stream_filter/Makefile
5978 modules/stream_out/Makefile
5979 modules/stream_out/transrate/Makefile
5980 modules/video_chroma/Makefile
5981 modules/video_filter/Makefile
5982 modules/video_filter/atmo/Makefile
5983 modules/video_filter/dynamicoverlay/Makefile
5984 modules/video_output/Makefile
5985 modules/video_output/msw/Makefile
5986 modules/video_output/qte/Makefile
5987 modules/video_output/x11/Makefile
5988 modules/visualization/Makefile
5989 modules/visualization/visual/Makefile
5990 modules/visualization/galaktos/Makefile
5993 dnl Generate makefiles
5996 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5997 # not provided with the source
5998 ${SHELL} ./config.status --file=vlc-config
5999 chmod 0755 vlc-config
6001 /bin/echo -n "Enabled modules: "
6002 ./vlc-config --list plugin
6004 dnl Shortcut to nice compile message
6006 echo '#! /bin/sh' >compile
6007 echo rm -f .error\$\$ >>compile
6008 echo ERROR=0 >>compile
6009 echo export PATH=$PATH LANG=C >>compile
6010 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6011 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6012 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6013 echo rm -f .error\$\$ >>compile
6014 echo exit \$ERROR >>compile
6018 libvlc configuration
6019 --------------------
6020 version : ${VERSION}
6022 architecture : ${ARCH}
6024 test "${enable_debug}" = "yes" && printf "debug "
6025 test "${enable_cprof}" = "yes" && printf "cprof "
6026 test "${enable_gprof}" = "yes" && printf "gprof "
6027 test "${enable_optimizations}" = "yes" && printf "optim "
6028 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6030 if test "${enable_vlc}" != "no"; then
6031 echo "vlc aliases :${ALIASES}"
6033 echo "build vlc executable : no"
6035 echo "plugins/bindings :${PLUGINS_BINDINGS}
6037 You can tune the compiler flags in vlc-config.
6038 To build vlc and its plugins, type \`./compile' or \`make'.
6040 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6042 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6044 echo " FFmpeg will be REALLY slow."
6045 echo " VLC WILL NOT PERFORM AS EXPECTED."