1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
5 AC_INIT(vlc, 1.0.0-pre2)
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)
21 AC_CONFIG_LIBOBJ_DIR(compat)
25 AM_INIT_AUTOMAKE(tar-ustar)
26 AM_CONFIG_HEADER(config.h)
28 dnl Too many people are not aware of maintainer mode:
29 dnl If you want to use it, you definitely know what you are doing, so
30 dnl you can specify "--disable-maintainer-mode". But if you want the default
31 dnl automake behavior, you've likely never heard of maintainer mode, so we
32 dnl can't expect you to enable it manually.
34 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
35 [enable_maintainer_mode="yes"])
41 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
42 dnl AC_SUBST(vlcincludedir)
43 vlcdatadir="\${datadir}/\${PKGDIR}"
45 vlclibdir="\${libdir}/\${PKGDIR}"
49 dnl Deprecated options
50 dnl to notify packagers that stuff has changed
52 AC_ARG_ENABLE(python-bindings,
53 [ --enable-python-bindings Always fails for historical reasons)],,
54 [enable_python_bindings="no"])
55 AS_IF([test "${enable_python_bindings}" != "no"], [
56 AC_MSG_ERROR([Python bindings are now built from a separate source package])
59 AC_ARG_ENABLE(java-bindings,
60 [ --enable-java-bindings Always fails for historical reasons],,
61 [enable_java_bindings="no"])
62 AS_IF([test "${enable_java_bindings}" != "no"], [
63 AC_MSG_ERROR([Java bindings are now built from a separate source package])
75 AC_USE_SYSTEM_EXTENSIONS
76 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
82 _AM_DEPENDENCIES([OBJC])
88 dnl Find the right ranlib, even when cross-compiling
89 AC_CHECK_TOOL(RANLIB, ranlib, :)
90 AC_CHECK_TOOL(STRIP, strip, :)
91 AC_CHECK_TOOL(AR, ar, :)
92 AC_CHECK_TOOL(LD, ld, :)
93 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
95 dnl Check for compiler properties
100 dnl Allow binary package maintainer to pass a custom string to avoid
102 AC_ARG_WITH(binary-version,
103 AS_HELP_STRING([--with-binary-version=STRING],
104 [To avoid plugins cache problem between binary version]),[],[])
105 AS_IF([test -n "${with_binary_version}"],[
106 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
107 [Binary specific version])
112 dnl Check for the contrib directory
115 [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[])
116 AS_IF([test "${with_contrib}" != "no"],[
117 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
118 if test -z "$CONTRIB_DIR"
120 topdir="`dirname $0`"
121 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
122 topdir="`pwd`/$topdir"
124 CONTRIB_DIR=${topdir}/extras/contrib
126 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
127 AS_IF([test -d ${CONTRIB_DIR}/lib],[
128 AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
129 if test "${with_contrib}" = "yes"; then
131 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
134 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
138 export PATH=${CONTRIB_DIR}/bin:$PATH
139 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
140 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
141 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
142 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
143 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
144 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
145 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
146 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
147 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
148 export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
150 export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
152 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
153 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
155 if test -z $with_mozilla_sdk_path; then
156 with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
158 if test -z $with_cyberlink_tree; then
159 with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
162 if test ".`uname -s`" = ".Darwin"; then
163 export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
164 export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
165 elif test ".`uname -s`" = ".BeOS"; then
166 export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
167 export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
175 dnl Set default values
177 LDFLAGS_vlc="${LDFLAGS}"
180 dnl Check the operating system
191 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
192 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
196 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
199 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
200 CPPFLAGS="${CPPFLAGS_save}"
201 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
202 LDFLAGS="${LDFLAGS_save}"
208 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
209 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
210 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
211 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
212 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
213 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
214 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
215 VLC_ADD_LDFLAGS([libvlc],[-Wl,dynamic_lookup])
216 VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
217 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
218 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
219 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
220 AC_ARG_ENABLE(macosx-defaults,
221 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
222 if test "x${enable_macosx_defaults}" != "xno"
225 echo "Building with Mac OS X defaults:"
226 with_macosx_version_min="10.5"
227 echo " Assuming --with-macosx-version-min=10.5"
228 with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
229 echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
231 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
232 ac_default_prefix="${build_dir}/vlc_install_dir"
234 echo " Assuming --enable-macosx"
236 echo " Assuming --enable-faad"
238 echo " Assuming --enable-flac"
240 echo " Assuming --enable-theora"
242 echo " Assuming --enable-shout"
244 echo " Assuming --enable-cddax"
246 echo " Assuming --enable-vcdx"
248 echo " Assuming --enable-caca"
250 echo " Assuming --enable-goom"
252 echo " Assuming --enable-ncurses"
254 echo " Assuming --enable-twolame"
255 enable_realrtsp="yes"
256 echo " Assuming --enable-realrtsp"
257 enable_update_check="yes"
258 echo " Assuming --enable-update-check"
260 echo " Assuming --enable-libass"
261 enable_asademux="yes"
262 echo " Assuming --enable-asademux"
265 echo " Assuming --disable-skins2"
267 echo " Assuming --disable-x11"
269 echo " Assuming --disable-glx"
271 echo " Assuming --disable-xvideo"
274 dnl Check for Mac OS X SDK settings
276 AC_ARG_WITH(macosx-sdk,
277 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
278 if test "${with_macosx_sdk}" != "" ; then
279 CPP="${CPP} -isysroot ${with_macosx_sdk}"
280 CC="${CC} -isysroot ${with_macosx_sdk}"
281 CXX="${CXX} -isysroot ${with_macosx_sdk}"
282 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
283 LD="${LD} -syslibroot ${with_macosx_sdk}"
285 if test "${host_cpu}" = "powerpc"; then
286 CPP="${CPP} -arch ppc"
288 CXX="${CXX} -arch ppc"
289 OBJC="${OBJC} -arch ppc"
292 if test "${host_cpu}" = "i386"; then
293 CPP="${CPP} -arch i386"
294 CC="${CC} -arch i386"
295 CXX="${CXX} -arch i386"
296 OBJC="${OBJC} -arch i386"
297 LD="${LD} -arch i386"
299 AC_ARG_WITH(macosx-version-min,
300 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
301 if test "${with_macosx_version_min}" != "" ; then
302 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
303 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
304 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
305 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
306 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
307 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
308 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
309 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
310 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
311 export MACOSX_DEPLOYMENT_TARGET
315 if (test ".`uname -p`" = ".i386"); then
316 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
317 dnl without hacking it a lot, we disable mmx and sse.
318 dnl (that bug is about ld being unable to handle
320 save_cflags="$CFLAGS"
321 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
323 [int a;], [asm("movq _a,%mm0\n");],
324 ac_ld_does_not_support_text_reloc=no,
325 ac_ld_does_not_support_text_reloc=yes)
326 CFLAGS="$save_cflags"
328 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
330 echo " Assuming --disable-mmx (due to a bug in ld)"
332 echo " Assuming --disable-sse (due to a bug in ld)"
336 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
337 AC_CHECK_TOOL(WINDRES, windres, :)
338 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
341 *wince* | *mingwce* | *mingw32ce* | *pe*)
343 dnl Sadly CeGCC still needs non-wince macros
344 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
348 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
351 dnl Check if we are using the mno-cygwin mode in which case we are
352 dnl actually dealing with a mingw32 compiler.
353 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
358 SYS=mingw32, SYS=cygwin)
362 if test "${SYS}" = "mingw32"; then
363 # add ws2_32 for closesocket, select, recv
364 VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
365 VLC_ADD_LDFLAGS([vlc],[-mwindows])
366 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
367 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
368 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])
370 if test "${SYS}" = "mingwce"; then
371 # add ws2 for closesocket, select, recv
372 VLC_ADD_LIBS([libvlccore 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])
373 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
378 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
382 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
383 # Perhaps it is useful other places as well?
384 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
391 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
392 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
393 VLC_ADD_CXXFLAGS([beos],[])
394 VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
395 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
396 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
397 VLC_ADD_LIBS([access_file],[-lpoll])
398 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
400 if test -f /boot/beos/system/lib/libbind.so; then
401 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
403 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet])
406 dnl Ugly check for Zeta
407 if test -f /boot/beos/system/lib/libzeta.so; then
408 VLC_ADD_LIBS([beos],[-lzeta])
415 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
416 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
417 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
418 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
419 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
422 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
423 dnl for program foo on win32
425 case "${build_os}" in
427 ac_executable_extensions=".exe"
435 dnl It's very bad, but our former custom system was worst
439 dnl override platform specific check for dependent libraries
440 dnl otherwise libtool linking of shared libraries will
441 dnl fail on anything other than pass_all.
442 AC_CACHE_VAL(lt_cv_deplibs_check_method,
443 [lt_cv_deplibs_check_method=pass_all])
446 dnl AC_DISABLE_FAST_INSTALL
449 m4_undefine([AC_PROG_F77])
450 m4_defun([AC_PROG_F77],[])
453 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
454 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
456 lt_cv_deplibs_check_method=pass_all
462 AM_GNU_GETTEXT_VERSION([0.17])
463 AM_GNU_GETTEXT([external])
464 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
470 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
471 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
473 dnl Check for broken versions of mingw-runtime compatability library
474 AS_IF([test "${SYS}" = "mingw32"], [
475 AC_MSG_CHECKING(for broken mingw-runtime)
478 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
479 # error Attempting to use mingw-runtime with broken vsnprintf support
484 AC_MSG_RESULT([present])
485 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
487 dnl force use of mingw provided c99 *printf over msvcrt
488 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
489 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
492 dnl Check for the need to include the mingwex lib for mingw32
493 if test "${SYS}" = "mingw32"
495 AC_CHECK_LIB(mingwex,opendir,
496 AC_CHECK_LIB(mingw32,opendir,,
497 [VLC_ADD_LIBS([libvlccore gtk],[-lmingwex])])
501 dnl Check for fnative-struct or mms-bitfields support for mingw32
502 if test "${SYS}" = "mingw32"
504 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
505 [ac_cv_c_mms_bitfields],
506 [CFLAGS="${CFLAGS_save} -mms-bitfields"
507 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
508 if test "${ac_cv_c_mms_bitfields}" != "no"; then
509 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
510 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
512 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
513 [ac_cv_c_fnative_struct],
514 [CFLAGS="${CFLAGS_save} -fnative-struct"
515 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
516 if test "${ac_cv_c_fnative_struct}" != "no"; then
517 CFLAGS_save="${CFLAGS_save} -fnative-struct";
518 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
522 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
525 dnl Check for fvtable-thunks support for mingw32
526 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
529 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
530 [ac_cv_cxx_fvtable_thunks],
531 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
532 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
533 ac_cv_cxx_fvtable_thunks=no)])
534 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
535 CXXFLAGS_mingw32_special="-fvtable-thunks"
538 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
543 dnl Buggy glibc prevention. Purposedly not cached.
544 dnl Ubuntu alone has 20 bug numbers for this...
546 AC_MSG_CHECKING(for buggy GNU/libc versions)
549 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
550 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
551 # error GNU/libc with dcgettext killer bug!
554 AC_MSG_RESULT([not present])
556 AC_MSG_RESULT([found])
557 AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
558 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
559 work-around for this. Check with your distribution vendor on how to update the
560 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
561 be sure to not use LibVLC from other applications/wrappers.])
565 dnl Plugin compilation stuff
569 dnl The -DSYS_FOO flag
570 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
572 dnl Check for system libs needed
575 dnl Check for usual libc functions
576 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r lrintf daemon fork lstat posix_fadvise posix_madvise uselocale])
578 AC_CHECK_FUNCS(fcntl)
579 AC_REPLACE_FUNCS([asprintf atof atoll gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab])
580 AC_CHECK_FUNCS([stricmp strnicmp])
582 dnl Check for Linux system calls
583 AC_CHECK_FUNCS([vmsplice])
585 AH_BOTTOM([#include <vlc_fixups.h>])
587 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
589 dnl Check for setlocal and langinfo
590 AC_CHECK_FUNCS(setlocale)
591 AC_CHECK_HEADERS(langinfo.h)
592 AC_CHECK_FUNCS(nl_langinfo)
594 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
595 [AC_TRY_LINK([#include <langinfo.h>],
596 [char* cs = nl_langinfo(CODESET);],
597 ac_cv_langinfo_codeset=yes,
598 ac_cv_langinfo_codeset=no)
600 if test ${ac_cv_langinfo_codeset} = yes; then
601 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
602 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
605 AC_CHECK_FUNCS(connect,,[
606 AC_CHECK_LIB(socket,connect,[
607 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
608 LIBS_socket="-lsocket"
612 AC_CHECK_FUNCS(send,,[
613 AC_CHECK_LIB(socket,send,[
614 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])
619 dnl Check for socklen_t
620 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
621 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
622 ac_cv_type_socklen_t,
623 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
624 [#include <sys/types.h>
626 # include <winsock2.h>
627 # include <ws2tcpip.h>
629 # include <sys/socket.h>
630 #endif]], [[socklen_t len; len = 0;]])],
631 ac_cv_type_socklen_t=yes,
632 ac_cv_type_socklen_t=no)])
633 AS_IF([test "$ac_cv_type_socklen_t" = no],
634 [AC_DEFINE(socklen_t, int)])
636 dnl Check for struct sockaddr_storage
637 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
638 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
639 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
641 [#include <sys/types.h>
642 #if defined( UNDER_CE )
643 # include <winsock2.h>
644 #elif defined( WIN32 )
645 # include <winsock2.h>
647 # include <sys/socket.h>
648 #endif], [struct sockaddr_storage addr;],
649 ac_cv_struct_sockaddr_storage=yes,
650 ac_cv_struct_sockaddr_storage=no)])
651 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
652 AC_DEFINE(sockaddr_storage, sockaddr)
653 AC_DEFINE(ss_family, sa_family)
656 dnl getaddrinfo, getnameinfo and gai_strerror check
657 dnl -lnsl and -lsocket are needed on Solaris;
658 dnl we purposedly make the test fail on Windows
660 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
661 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
663 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
666 AC_CHECK_FUNCS([getnameinfo gai_strerror])
669 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
670 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
671 [#include <sys/types.h>
672 #if defined( WIN32 ) || defined( UNDER_CE )
673 # if defined(UNDER_CE) && defined(sockaddr_storage)
674 # undef sockaddr_storage
676 # include <winsock2.h>
677 # include <ws2tcpip.h>
682 dnl Check for va_copy
683 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
685 [#include <stdarg.h>],
686 [va_list ap1, ap2; va_copy(ap1,ap2);],
687 [ac_cv_c_va_copy="yes"],
688 [ac_cv_c_va_copy="no"]))
689 if test "${ac_cv_c_va_copy}" = "yes"; then
690 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
692 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
694 [#include <stdarg.h>],
695 [va_list ap1, ap2; __va_copy(ap1,ap2);],
696 [ac_cv_c___va_copy="yes"],
697 [ac_cv_c___va_copy="no"]))
698 if test "${ac_cv_c___va_copy}" = "yes"; then
699 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
702 AC_CHECK_FUNCS(inet_aton,,[
703 AC_CHECK_LIB(resolv,inet_aton,[
704 VLC_ADD_LIBS([libvlccore],[-lresolv])
708 dnl Check for getopt (always use builtin one on win32)
709 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
713 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
714 [ # FreeBSD has a gnugetopt library for this:
715 AC_CHECK_LIB([gnugetopt],[getopt_long],
716 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
717 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
720 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
722 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
725 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
728 VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlccore vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
730 AC_CHECK_LIB(m,sqrt,[
731 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
733 AC_CHECK_LIB(m,ceil,[
734 VLC_ADD_LIBS([mosaic],[-lm])
737 VLC_ADD_LIBS([gaussianblur],[-lm])
739 AC_CHECK_LIB(m,round,[
740 VLC_ADD_LIBS([dbus],[-lm])
742 AC_CHECK_LIB(mx,sqrtf,[
743 VLC_ADD_LIBS([x264],[-lmx])
745 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
747 dnl Check for dynamic plugins
748 ac_cv_have_plugins=no
751 AC_CHECK_HEADERS(mach-o/dyld.h,
752 [AC_CHECK_FUNCS(NSLinkModule,
753 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
754 ac_cv_have_plugins=yes])])
757 if test "${ac_cv_have_plugins}" = "no"; then
758 AC_CHECK_HEADERS(dl.h)
759 ac_cv_my_have_shl_load=no
760 AC_CHECK_FUNC(shl_load,
761 [ac_cv_my_have_shl_load=yes,
762 AC_CHECK_LIB(dld, shl_load,
763 [ac_cv_my_have_shl_load=yes
764 VLC_ADD_LIBS([libvlccore],[-ldld])])])
765 if test "${ac_cv_my_have_shl_load}" = "yes"; then
766 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
767 ac_cv_have_plugins=yes
772 if test "${ac_cv_have_plugins}" = "no"; then
773 AC_CHECK_LIB(dld, dld_link,
774 [VLC_ADD_LIBS([libvlccore],[-ldld])
775 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
776 ac_cv_have_plugins=yes])
780 if test "${ac_cv_have_plugins}" = "no"; then
781 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
782 AC_CHECK_LIB(kernel32, main,
783 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
784 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
785 ac_cv_have_plugins=yes])
790 if test "${ac_cv_have_plugins}" = "no"; then
791 if test "${SYS}" = "mingwce"; then
792 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
793 ac_cv_have_plugins=yes
798 if test "${ac_cv_have_plugins}" = "no"; then
799 AC_CHECK_HEADERS(image.h)
800 AC_CHECK_FUNCS(load_add_on,
801 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
802 ac_cv_have_plugins=yes])
805 # Only test for dlopen() if the others didn't work
806 if test "${ac_cv_have_plugins}" = "no"; then
807 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
808 ac_cv_my_have_dlopen=no
809 AC_CHECK_FUNC(dlopen,
810 ac_cv_my_have_dlopen=yes,
811 AC_CHECK_LIB(dl, dlopen,
812 ac_cv_my_have_dlopen=yes
813 VLC_ADD_LIBS([libvlccore realaudio realvideo],[-ldl]),
814 AC_CHECK_LIB(svld, dlopen,
815 ac_cv_my_have_dlopen=yes
816 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
817 if test "${ac_cv_my_have_dlopen}" = "yes"; then
818 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
819 ac_cv_have_plugins=yes
823 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
824 dnl Check for pthreads - borrowed from XMMS
826 if test "${THREAD_LIB}" = "error"; then
827 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
829 if test "${THREAD_LIB}" = "error"; then
830 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
832 if test "${THREAD_LIB}" = "error"; then
833 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
835 if test "${THREAD_LIB}" = "error"; then
836 AC_CHECK_FUNCS(pthread_mutex_lock)
840 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
842 AC_CHECK_LIB(rt, clock_nanosleep, [
843 VLC_ADD_LIBS([libvlccore],[-lrt])
844 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
847 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
851 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
852 AC_CHECK_LIB(rt,nanosleep,
853 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
854 [AC_CHECK_LIB(posix4,nanosleep,
855 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
858 if ${have_nanosleep}; then
859 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
861 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
863 dnl Check for misc headers
864 AC_MSG_CHECKING(for strncasecmp in strings.h)
865 AC_EGREP_HEADER(strncasecmp,strings.h,[
867 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
868 Define if <strings.h> defines strncasecmp.)],[
871 dnl Check for headers
872 AC_CHECK_HEADERS(getopt.h strings.h locale.h)
873 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h xlocale.h)
874 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
875 AC_CHECK_HEADERS([net/if.h], [], [],
877 #include <sys/types.h>
878 #include <sys/socket.h>
880 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
881 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
882 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
883 AC_CHECK_HEADERS(syslog.h)
884 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
888 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
889 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
890 AC_CHECK_TYPE(ssize_t,, [
891 AC_DEFINE(ssize_t, int)
895 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
896 if test ${SYS} != "mingw32"
898 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])
904 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
905 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
907 dnl Mac OS X and other OSes don't have declaration for nanosleep
908 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
909 AC_MSG_CHECKING(for nanosleep in time.h)
910 AC_EGREP_HEADER(nanosleep,time.h,[
912 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
913 Define if <time.h> defines nanosleep.)
917 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
919 dnl Make sure we have timespecs
920 AC_MSG_CHECKING(for timespec in sys/time.h)
921 AC_EGREP_HEADER(timespec,sys/time.h,[
923 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
924 Define if <sys/time.h> defines struct timespec.)
929 dnl Check for threads library
930 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
931 AC_CHECK_HEADERS(pthread.h)
932 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
934 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.
935 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
936 AC_ARG_VAR(PKG_CONFIG_PATH,
937 [Paths where to find .pc not at the default location])
938 PKG_PROG_PKG_CONFIG()
941 dnl Check for zlib.h and -lz along with system -lminizip if available
943 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
944 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
945 if test "${have_zlib}" = "yes"
947 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
948 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
949 AC_CHECK_HEADERS([unzip.h], [
951 MINIZIP_LIBS="-lminizip -lz"
954 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
955 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
958 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
959 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
960 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
961 VLC_ADD_PLUGIN([unzip])
962 VLC_ADD_PLUGIN([zip])
964 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
969 [ --enable-hal Linux HAL services discovery (default enabled)])
971 if test "${enable_hal}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
973 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
975 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
976 VLC_ADD_PLUGIN([hal])
977 VLC_ADD_PLUGIN([probe_hal])
978 VLC_ADD_LIBS([libvlccore hal probe_hal],[$HAL_LIBS])
979 VLC_ADD_CFLAGS([libvlccore hal probe_hal],[$HAL_CFLAGS])],
980 [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])]
986 [ --enable-mtp MTP devices support (default enabled)])
988 if test "${enable_mtp}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
990 PKG_CHECK_MODULES(MTP, libmtp >= 0.3.0,
991 [ VLC_ADD_PLUGIN([mtp])
992 VLC_ADD_PLUGIN([access_mtp])
993 VLC_ADD_LIBS([mtp access_mtp],[$MTP_LIBS])
994 VLC_ADD_CFLAGS([mtp access_mtp],[$MTP_CFLAGS])],
995 [AC_MSG_WARN(MTP library not found)]
1001 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
1004 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1007 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
1008 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
1009 VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS])
1010 VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS])
1011 dnl Check for dbus control interface
1012 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
1013 if test "${enable_dbus_control}" != "no"
1015 VLC_ADD_PLUGIN([dbus])
1016 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
1017 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
1019 dnl Check for Telepathy
1020 AC_ARG_ENABLE(telepathy,
1021 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
1022 if test "${enable_telepathy}" != "no"; then
1023 VLC_ADD_PLUGIN([telepathy])
1024 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
1025 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
1027 dnl Power Management Inhibiter
1028 VLC_ADD_PLUGIN([inhibit])
1029 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
1030 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
1032 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
1038 dnl Build the gtk_main plugins?
1044 dnl build the qte plugin ?
1047 dnl Check for ntohl, etc.
1048 AC_CACHE_CHECK([for ntohl in sys/param.h],
1049 [ac_cv_c_ntohl_sys_param_h],
1050 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1051 AC_TRY_COMPILE([#include <sys/param.h>],
1052 [int meuh; ntohl(meuh);],
1053 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1054 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1055 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1057 CFLAGS="${CFLAGS_save}"
1059 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])
1060 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1062 dnl Check for various optimization flags
1063 AC_CACHE_CHECK([if \$CC accepts -Os],
1065 [CFLAGS="${CFLAGS_save} -Os"
1066 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1067 if test "${ac_cv_c_os}" != "no"; then
1068 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1070 AC_CACHE_CHECK([if \$CC accepts -O],
1072 [CFLAGS="${CFLAGS_save} -O"
1073 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1074 if test "${ac_cv_c_o}" != "no"; then
1075 if test "${ac_cv_c_o3}" = "no"; then
1076 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1081 AC_CACHE_CHECK([if \$CC accepts -O4],
1083 [CFLAGS="${CFLAGS_save} -O4"
1084 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1085 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1086 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1088 AC_CACHE_CHECK([if \$CC accepts -O3],
1090 [CFLAGS="${CFLAGS_save} -O3"
1091 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1092 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1093 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1095 AC_CACHE_CHECK([if \$CC accepts -O2],
1097 [CFLAGS="${CFLAGS_save} -O2"
1098 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1099 if test "${ac_cv_c_o2}" != "no"; then
1100 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1102 AC_CACHE_CHECK([if \$CC accepts -O],
1104 [CFLAGS="${CFLAGS_save} -O"
1105 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1106 if test "${ac_cv_c_o}" != "no"; then
1107 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1113 AC_CACHE_CHECK([if \$CC accepts -O0],
1115 [CFLAGS="${CFLAGS_save} -O0"
1116 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1117 if test "${ac_cv_c_o0}" != "no"; then
1118 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1121 dnl Check for -ffast-math
1122 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1123 [ac_cv_c_fast_math],
1124 [CFLAGS="${CFLAGS_save} -ffast-math"
1125 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1126 if test "${ac_cv_c_fast_math}" != "no"; then
1127 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1130 dnl Check for -funroll-loops
1131 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1132 if test "${SYS}" != "beos"
1134 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1135 [ac_cv_c_unroll_loops],
1136 [CFLAGS="${CFLAGS_save} -funroll-loops"
1137 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1138 if test "${ac_cv_c_unroll_loops}" != "no"; then
1139 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1143 dnl Check for -fomit-frame-pointer
1144 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1145 [ac_cv_c_omit_frame_pointer],
1146 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1147 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1148 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1149 if test "${SYS}" != "darwin"; then
1150 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1152 dnl On darwin we explicitely disable it.
1153 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1157 dnl Check for Darwin plugin linking flags
1158 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1160 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1161 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1162 if test "${ac_cv_ld_darwin}" != "no"; then
1163 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1166 dnl Checks for __attribute__(aligned()) directive
1167 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1168 [ac_cv_c_attribute_aligned],
1169 [ac_cv_c_attribute_aligned=0
1170 CFLAGS="${CFLAGS_save} -Werror"
1171 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1173 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1174 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1176 CFLAGS="${CFLAGS_save}"])
1177 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1178 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1179 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1182 dnl Check for __attribute__((packed))
1183 AC_CACHE_CHECK([for __attribute__((packed))],
1184 [ac_cv_c_attribute_packed],
1185 [ac_cv_c_attribute_packed=no
1186 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1187 [ac_cv_c_attribute_packed=yes])])
1188 if test "${ac_cv_c_attribute_packed}" != "no"; then
1189 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1195 case "${host_cpu}" in
1204 dnl Check for backtrace() support
1205 AC_CHECK_HEADERS(execinfo.h)
1206 AC_CHECK_FUNCS(backtrace)
1209 dnl Enable profiling
1211 AC_ARG_ENABLE(gprof,
1212 [ --enable-gprof gprof profiling (default disabled)])
1213 AC_ARG_ENABLE(cprof,
1214 [ --enable-cprof cprof profiling (default disabled)])
1215 test "${enable_gprof}" != "yes" && enable_gprof="no"
1216 test "${enable_cprof}" != "yes" && enable_cprof="no"
1222 VLC_ADD_PLUGIN([deinterlace])
1223 VLC_ADD_PLUGIN([yuvp])
1224 VLC_ADD_PLUGIN([invert])
1225 VLC_ADD_PLUGIN([adjust])
1226 VLC_ADD_PLUGIN([transform])
1227 VLC_ADD_PLUGIN([wave])
1228 VLC_ADD_PLUGIN([ripple])
1229 VLC_ADD_PLUGIN([psychedelic])
1230 VLC_ADD_PLUGIN([gradient])
1231 VLC_ADD_PLUGIN([motionblur])
1232 VLC_ADD_PLUGIN([rv32])
1233 VLC_ADD_PLUGIN([rotate])
1234 VLC_ADD_PLUGIN([noise])
1235 VLC_ADD_PLUGIN([grain])
1236 VLC_ADD_PLUGIN([extract])
1237 VLC_ADD_PLUGIN([sharpen])
1238 VLC_ADD_PLUGIN([croppadd])
1239 VLC_ADD_PLUGIN([canvas])
1240 VLC_ADD_PLUGIN([blendbench])
1241 VLC_ADD_PLUGIN([blend])
1242 VLC_ADD_PLUGIN([scale])
1243 VLC_ADD_PLUGIN([vmem])
1244 VLC_ADD_PLUGIN([logo])
1245 VLC_ADD_PLUGIN([magnify])
1246 VLC_ADD_PLUGIN([puzzle])
1247 VLC_ADD_PLUGIN([colorthres])
1248 VLC_ADD_PLUGIN([scene])
1249 VLC_ADD_PLUGIN([yuv])
1251 ALIASES="${ALIASES} cvlc"
1254 dnl default modules that need g++
1257 VLC_ADD_PLUGIN([spatializer])
1260 if test "${SYS}" != "mingwce"; then
1261 VLC_ADD_PLUGIN([gestures])
1262 VLC_ADD_PLUGIN([rc])
1263 VLC_ADD_PLUGIN([hotkeys])
1264 VLC_ADD_PLUGIN([showintf])
1265 VLC_ADD_PLUGIN([marq])
1266 VLC_ADD_PLUGIN([podcast])
1267 VLC_ADD_PLUGIN([shout])
1268 VLC_ADD_PLUGIN([sap])
1269 VLC_ADD_PLUGIN([fake])
1270 VLC_ADD_PLUGIN([folder])
1271 VLC_ADD_PLUGIN([rss])
1272 VLC_ADD_PLUGIN([mosaic])
1273 VLC_ADD_PLUGIN([wall])
1274 VLC_ADD_PLUGIN([motiondetect])
1275 VLC_ADD_PLUGIN([clone])
1276 VLC_ADD_PLUGIN([crop])
1277 VLC_ADD_PLUGIN([erase])
1278 VLC_ADD_PLUGIN([bluescreen])
1279 VLC_ADD_PLUGIN([alphamask])
1280 VLC_ADD_PLUGIN([gaussianblur])
1281 VLC_ADD_PLUGIN([i420_yuy2])
1282 VLC_ADD_PLUGIN([i422_yuy2])
1283 VLC_ADD_PLUGIN([i420_ymga])
1284 VLC_ADD_PLUGIN([i422_i420])
1285 VLC_ADD_PLUGIN([yuy2_i422])
1286 VLC_ADD_PLUGIN([yuy2_i420])
1287 VLC_ADD_PLUGIN([chain])
1288 VLC_ADD_PLUGIN([aout_file])
1289 VLC_ADD_PLUGIN([linear_resampler])
1290 VLC_ADD_PLUGIN([bandlimited_resampler])
1291 VLC_ADD_PLUGIN([float32_mixer])
1292 VLC_ADD_PLUGIN([spdif_mixer])
1293 VLC_ADD_PLUGIN([simple_channel_mixer])
1294 VLC_ADD_PLUGIN([dolby_surround_decoder])
1295 VLC_ADD_PLUGIN([headphone_channel_mixer])
1296 VLC_ADD_PLUGIN([normvol])
1297 VLC_ADD_PLUGIN([equalizer])
1298 VLC_ADD_PLUGIN([param_eq])
1299 VLC_ADD_PLUGIN([scaletempo])
1300 VLC_ADD_PLUGIN([converter_float])
1301 VLC_ADD_PLUGIN([a52tospdif])
1302 VLC_ADD_PLUGIN([dtstospdif])
1303 VLC_ADD_PLUGIN([audio_format])
1304 ALIASES="${ALIASES} rvlc"
1307 if test "${SYS}" = "mingwce"; then
1308 VLC_ADD_PLUGIN([chain])
1309 VLC_ADD_PLUGIN([aout_file])
1310 VLC_ADD_PLUGIN([linear_resampler])
1311 VLC_ADD_PLUGIN([bandlimited_resampler])
1312 VLC_ADD_PLUGIN([float32_mixer])
1313 VLC_ADD_PLUGIN([spdif_mixer])
1314 VLC_ADD_PLUGIN([simple_channel_mixer])
1315 VLC_ADD_PLUGIN([headphone_channel_mixer])
1316 VLC_ADD_PLUGIN([normvol])
1317 VLC_ADD_PLUGIN([converter_float])
1318 VLC_ADD_PLUGIN([a52tospdif])
1319 VLC_ADD_PLUGIN([dtstospdif])
1320 VLC_ADD_PLUGIN([audio_format])
1321 VLC_ADD_PLUGIN([i420_yuy2])
1322 VLC_ADD_PLUGIN([i422_yuy2])
1323 VLC_ADD_PLUGIN([i420_ymga])
1324 VLC_ADD_PLUGIN([i422_i420])
1325 VLC_ADD_PLUGIN([yuy2_i422])
1326 VLC_ADD_PLUGIN([yuy2_i420])
1330 dnl Some plugins aren't useful on some platforms
1332 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1333 VLC_ADD_PLUGIN([screensaver])
1334 VLC_ADD_PLUGIN([motion])
1335 VLC_ADD_PLUGIN([dynamicoverlay])
1336 VLC_ADD_PLUGIN([signals])
1337 elif test "${SYS}" != "mingwce"; then
1338 VLC_ADD_PLUGIN([ntservice])
1339 VLC_ADD_PLUGIN([access_smb])
1340 VLC_ADD_PLUGIN([dmo])
1341 VLC_ADD_PLUGIN([msn])
1342 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1343 VLC_ADD_PLUGIN([globalhotkeys])
1345 VLC_ADD_PLUGIN([win32text])
1347 if test "${SYS}" = "darwin"; then
1348 VLC_ADD_PLUGIN([quartztext])
1349 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1353 dnl Accelerated modules
1356 AC_ARG_WITH(,[Optimization options:])
1358 dnl Check for fully working MMX intrinsics
1359 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1360 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1362 [ --disable-mmx disable MMX optimizations (default auto)],,[
1363 case "${host_cpu}" in
1372 AS_IF([test "${enable_mmx}" != "no"], [
1375 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1376 [ac_cv_c_mmx_intrinsics],
1377 [CFLAGS="${CFLAGS_save} -O -mmmx"
1378 AC_TRY_COMPILE([#include <mmintrin.h>
1382 a = b = c = (__m64)frobzor;
1383 a = _mm_slli_pi16(a, 3);
1384 a = _mm_adds_pi16(a, b);
1385 c = _mm_srli_pi16(c, 8);
1386 c = _mm_slli_pi16(c, 3);
1387 b = _mm_adds_pi16(b, c);
1388 a = _mm_unpacklo_pi8(a, b);
1389 frobzor = (uint64_t)a;],
1390 [ac_cv_c_mmx_intrinsics=yes],
1391 [ac_cv_c_mmx_intrinsics=no])])
1392 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1393 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1394 [Define to 1 if MMX intrinsics are available.])
1395 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1398 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1400 [CFLAGS="${CFLAGS_save}"
1401 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1402 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1403 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1404 AC_DEFINE(CAN_COMPILE_MMX, 1,
1405 [Define to 1 inline MMX assembly is available.])
1406 VLC_ADD_PLUGIN([memcpymmx])
1407 VLC_ADD_PLUGIN([i420_rgb_mmx])
1408 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1409 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1410 VLC_ADD_PLUGIN([i420_ymga_mmx])
1413 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1414 [ac_cv_mmxext_inline],
1415 [CFLAGS="${CFLAGS_save}"
1416 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1417 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1418 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1419 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1420 [Define to 1 if MMX EXT inline assembly is available.])
1421 VLC_ADD_PLUGIN([memcpymmxext])
1425 dnl Check for fully workin SSE2 intrinsics
1426 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1427 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1429 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)]
1431 case "${host_cpu}" in
1440 AS_IF([test "${enable_sse}" != "no"], [
1441 ARCH="${ARCH} sse sse2"
1443 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1444 [ac_cv_c_sse2_intrinsics],
1445 [CFLAGS="${CFLAGS_save} -O -msse2"
1446 AC_TRY_COMPILE([#include <emmintrin.h>
1450 a = b = c = _mm_set1_epi64((__m64)frobzor);
1451 a = _mm_slli_epi16(a, 3);
1452 a = _mm_adds_epi16(a, b);
1453 c = _mm_srli_epi16(c, 8);
1454 c = _mm_slli_epi16(c, 3);
1455 b = _mm_adds_epi16(b, c);
1456 a = _mm_unpacklo_epi8(a, b);
1457 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1458 [ac_cv_c_sse2_intrinsics=yes],
1459 [ac_cv_c_sse2_intrinsics=no])])
1460 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1461 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1462 [Define to 1 if SSE2 intrinsics are available.])
1463 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1466 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1468 [CFLAGS="${CFLAGS_save}"
1469 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1470 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1471 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1472 AC_DEFINE(CAN_COMPILE_SSE, 1,
1473 [Define to 1 if SSE inline assembly is available.])
1476 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1477 [ac_cv_sse2_inline],
1478 [CFLAGS="${CFLAGS_save}"
1479 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1480 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1481 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1482 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1483 [Define to 1 if SSE2 inline assembly is available.])
1484 VLC_ADD_PLUGIN([i420_rgb_sse2])
1485 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1486 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1490 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1491 [ac_cv_3dnow_inline],
1492 [CFLAGS="${CFLAGS_save}"
1493 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1494 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1495 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1496 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1497 [Define to 1 if 3D Now! inline assembly is available.])
1498 VLC_ADD_PLUGIN([memcpy3dn])
1501 AC_ARG_ENABLE(altivec,
1502 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1503 AS_IF([test "${host_cpu}" = "powerpc"],
1504 [enable_altivec=yes], [enable_altivec=no])
1506 AS_IF([test "${enable_altivec}" = "yes"], [
1507 ARCH="${ARCH} altivec";
1508 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1509 [ac_cv_altivec_inline],
1510 [CFLAGS="${CFLAGS_save}"
1511 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1512 ac_cv_altivec_inline="yes",
1513 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1514 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1515 [ac_cv_altivec_inline="-Wa,-m7400"],
1516 ac_cv_altivec_inline=no)
1518 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1519 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1520 [Define to 1 if AltiVec inline assembly is available.])
1521 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1522 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1523 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1524 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1525 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1526 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1528 VLC_ADD_PLUGIN([memcpyaltivec])
1529 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1532 dnl The AltiVec C extensions
1534 dnl There are several possible cases:
1535 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1536 dnl need <altivec.h>
1537 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1538 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1539 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1540 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1541 dnl - Others: test should fail
1542 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1544 [# OS X/PPC test (gcc 4.x)
1545 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1546 AC_TRY_COMPILE([vector unsigned char foo;],
1547 [vec_ld(0, (unsigned char *)0);],
1548 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1549 [# OS X/PPC test (gcc 3.x)
1550 CFLAGS="${CFLAGS_save} -faltivec"
1551 AC_TRY_COMPILE([vector unsigned char foo;],
1552 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1553 [ac_cv_c_altivec="-faltivec"],
1554 dnl Below this are the Linux tests
1555 [# Linux/PPC test (gcc 4.x)
1556 CFLAGS="${CFLAGS_save} -maltivec"
1557 AC_TRY_COMPILE([#include <altivec.h>],
1558 [vec_ld(0, (unsigned char *)0);],
1559 [ac_cv_c_altivec="-maltivec"],
1560 [# Linux/PPC test (gcc 3.3)
1561 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1562 AC_TRY_COMPILE([#include <altivec.h>],
1563 [vec_ld(0, (unsigned char *)0);],
1565 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1566 [# Linux/PPC test (gcc 3.3)
1567 CFLAGS="${CFLAGS_save} -fvec"
1568 AC_TRY_COMPILE([#include <altivec.h>],
1569 [vec_ld(0, (unsigned char *)0);],
1570 [ac_cv_c_altivec="-fvec"],
1571 [ac_cv_c_altivec=no])
1576 CFLAGS="${CFLAGS_save}"
1578 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1579 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1582 AC_CHECK_HEADERS(altivec.h)
1583 CPPFLAGS="${CPPFLAGS_save}"
1585 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1586 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1587 [Define to 1 if C AltiVec extensions are available.])
1588 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1589 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1590 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1591 VLC_ADD_PLUGIN([memcpyaltivec])
1592 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1595 AC_CACHE_CHECK([if linker needs -framework vecLib],
1597 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1598 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1599 LDFLAGS="${LDFLAGS_save}"
1601 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1602 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1607 dnl Special arch tuning
1610 [ --with-tuning=ARCH enable special tuning for an architecture
1611 (default Pentium 2 on IA-32 and G4 on PPC)])
1612 if test -n "${with_tuning}"; then
1613 if test "${with_tuning}" != "no"; then
1614 CFLAGS_TUNING="-mtune=${with_tuning}"
1617 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1618 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1619 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1620 CFLAGS_TUNING="-mtune=pentium2"
1621 elif test "${host_cpu}" = "x86_64"; then
1622 CFLAGS_TUNING="-mtune=athlon64"
1623 elif test "${host_cpu}" = "powerpc"; then
1624 CFLAGS_TUNING="-mtune=G4";
1628 dnl NOTE: this can't be cached cleanly
1629 AS_IF([test "${CFLAGS_TUNING}"],
1630 [CFLAGS_save="${CFLAGS}"
1631 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1633 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1634 AC_COMPILE_IFELSE([ ],
1636 [CFLAGS_TUNING=""; tuning="no"
1637 AS_IF([test "${with_tuning}"],
1638 [AC_MSG_ERROR([requested tuning not supported])])])
1640 AC_MSG_RESULT([$tuning])
1641 CFLAGS="${CFLAGS_save}"
1647 AC_ARG_ENABLE(optimize-memory,
1648 [ --enable-optimize-memory optimize memory usage over performance])
1649 if test "${enable_optimize_memory}" = "yes"; then
1650 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1654 dnl Enable/disable optimizations
1656 AC_ARG_ENABLE(optimizations,
1657 [ --disable-optimizations disable compiler optimizations (default enabled)])
1658 if test "${enable_optimizations}" != "no"; then
1659 if test "${enable_optimize_memory}" = "yes"; then
1660 enable_optimizations="size"
1662 enable_optimizations="speed"
1669 AC_ARG_ENABLE(debug,
1670 [ --enable-debug debug mode (default disabled)])
1671 test "${enable_debug}" != "yes" && enable_debug="no"
1673 [Define to 1 if debug code should NOT be compiled])
1674 AS_IF([test "x${enable_debug}" = "xno"], [
1677 AC_CHECK_HEADERS([valgrind/valgrind.h])
1681 dnl Allow runing as root (usefull for people runing on embedded platforms)
1683 AC_ARG_ENABLE(run-as-root,
1684 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1685 AS_IF([test "${enable_run_as_root}" = "yes"],[
1686 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1687 [Define to 1 to allow runing VLC as root (uid 0).])
1693 AC_ARG_ENABLE(coverage,
1694 [ --enable-coverage build for test coverage (default disabled)],,
1695 [enable_coverage="no"])
1696 AS_IF([test "${enable_coverage}" != "no"], [
1697 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1698 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1699 LDFLAGS="-lgcov ${LDFLAGS}"
1701 CFLAGS_save="${CFLAGS}"
1702 CXXFLAGS_save="${CXXFLAGS}"
1703 LDFLAGS_save="${LDFLAGS}"
1707 dnl Enable release-specific flags
1709 AC_ARG_ENABLE(release,
1710 [ --enable-release activate extra optimizations (default disabled)])
1711 test "${enable_release}" != "yes" && enable_release="no"
1717 [ --enable-sout Stream output modules (default enabled)])
1718 AS_IF([test "${enable_sout}" != "no"], [
1719 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1721 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1723 AC_ARG_ENABLE(switcher,
1724 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1726 dnl Check for libshout
1727 AC_ARG_ENABLE(shout,
1728 [ --enable-shout libshout output plugin (default disabled)])
1729 if test "${enable_shout}" = "yes"; then
1730 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1731 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1732 VLC_ADD_PLUGIN([access_output_shout])
1733 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1734 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1735 [AC_MSG_WARN(libshout library not found)])
1740 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1741 plugins (default enabled)]))
1742 if test "${enable_lua}" != "no"
1744 PKG_CHECK_MODULES(LUA, lua5.1,
1747 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1748 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1752 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1755 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1756 [LUA_LIBS="-llua5.1"],
1757 AC_CHECK_LIB( lua51 , luaL_newstate,
1758 [LUA_LIBS="-llua51"],
1759 AC_CHECK_LIB( lua , luaL_newstate,
1762 AC_MSG_WARN([lua >= 5.1 not found!])
1768 if test "x${have_lua}" = "xyes" ; then
1769 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1770 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1771 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1774 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1779 AC_ARG_ENABLE(httpd,
1780 [ --enable-httpd HTTP daemon (default enabled)])
1781 if test "${enable_httpd}" != "no"
1783 VLC_ADD_PLUGIN([http])
1784 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1786 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1789 dnl libproxy support
1791 AC_ARG_ENABLE(libproxy,
1792 [ --enable-libproxy libproxy support (default auto)])
1793 AS_IF([test "${enable_libproxy}" != "no"], [
1794 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1795 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1796 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1797 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1799 AS_IF([test "x${enable_libproxy}" != "x"], [
1800 AC_MSG_ERROR([libproxy could not be found on your system])
1806 dnl VideoLAN manager
1809 [ --enable-vlm VideoLAN manager (default enabled)],,
1810 [enable_vlm="${enable_sout}"])
1811 AS_IF([test "${enable_vlm}" != "no"], [
1812 AS_IF([test "${enable_sout}" = "no"], [
1813 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1815 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1816 VLC_ADD_PLUGIN([telnet])
1818 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1821 dnl Growl notification plugin
1823 AC_ARG_ENABLE(growl,
1824 [ --enable-growl growl notification plugin (default disabled)],,
1826 AS_IF([test "${enable_growl}" != "no"], [
1827 VLC_ADD_PLUGIN([growl_udp])
1828 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1829 VLC_ADD_PLUGIN([growl])
1830 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1836 dnl Libnotify notification plugin
1839 AC_ARG_ENABLE(notify,
1840 [ --enable-notify libnotify notification plugin (default enabled)])
1841 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1842 PKG_CHECK_MODULES(NOTIFY, libnotify,
1844 VLC_ADD_PLUGIN([notify])
1845 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1846 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1848 AS_IF([test "${enable_notify}" = "yes"],[
1849 AC_MSG_WARN( libnotify not found) ])
1854 dnl Audioscrobbler plugin
1857 AC_ARG_ENABLE(audioscrobbler,
1858 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1859 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1860 VLC_ADD_PLUGIN([audioscrobbler])
1866 AC_ARG_ENABLE(taglib,
1867 [ --disable-taglib Taglib support (default enabled) ])
1868 AS_IF([test "${enable_taglib}" != "no"],[
1869 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1870 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1871 VLC_ADD_PLUGIN([taglib])
1872 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1873 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1874 [AC_MSG_WARN(TagLib library not found)])
1882 AC_ARG_WITH(,[Input plugins:])
1886 if test "${enable_livedotcom}"
1888 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1890 if test "${enable_livedotcom}" = "no"
1895 AC_ARG_ENABLE(live555,
1896 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1897 if test "${enable_live555}" != "no"; then
1898 AC_ARG_WITH(live555-tree,
1899 [ --with-live555-tree=PATH live.com tree for static linking])
1902 dnl test for --with-live555-tree
1904 if test "${with_livedotcom_tree}"
1906 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1907 with_live555_tree="${with_livedotcom_tree}"
1910 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1912 CPPFLAGS_save="${CPPFLAGS}"
1913 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1914 if test "${SYS}" = "solaris"; then
1915 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1917 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1919 AC_CHECK_HEADERS(liveMedia_version.hh, [
1920 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1922 [#include <liveMedia_version.hh>
1923 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1924 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1928 [AC_MSG_RESULT([no])
1929 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1930 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1932 AC_MSG_RESULT([yes])
1935 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1936 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1937 if test "${SYS}" = "mingw32"; then
1938 # add ws2_32 for closesocket, select, recv
1939 other_libs="$other_libs -lws2_32"
1941 dnl We need to check for pic because live555 don't provide shared libs
1942 dnl and we want to build a plugins so we need -fPIC on some arch.
1943 AC_CHECK_HEADERS(liveMedia.hh, [
1944 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1945 AC_CHECK_LIB(liveMedia_pic, main, [
1946 VLC_ADD_PLUGIN([live555])
1947 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1949 AC_CHECK_LIB(liveMedia, main, [
1950 VLC_ADD_PLUGIN([live555])
1951 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1952 ],[],[${other_libs}]) ],[${other_libs_pic}])
1954 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1956 CPPFLAGS="${CPPFLAGS_save}"
1959 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1960 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1961 if test -z "${real_live555_tree}"; then
1962 dnl The given directory can't be found
1964 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1966 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1967 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1969 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1970 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1972 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1973 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1974 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1978 [AC_MSG_RESULT([no])
1979 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1980 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1982 AC_MSG_RESULT([yes])
1986 VLC_ADD_PLUGIN([live555])
1988 if test "${SYS}" = "mingw32"; then
1989 # add ws2_32 for closesocket, select, recv
1990 VLC_ADD_LIBS([live555],[-lws2_32])
1993 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1994 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1995 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1996 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1998 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1999 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
2000 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
2001 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
2002 if test "${SYS}" = "solaris"; then
2003 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
2006 dnl The given live555 wasn't built
2008 if test "${enable_live555}" = "yes"; then
2009 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2016 dnl special access module for dc1394 input
2018 AC_ARG_ENABLE(dc1394,
2019 [ --enable-dc1394 dc1394 access module (default disabled)])
2020 if test "${enable_dc1394}" = "yes"
2022 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
2023 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
2024 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
2025 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
2026 VLC_ADD_PLUGIN([dc1394])
2027 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
2030 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2034 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2038 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2042 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2047 dnl dv module: digital video module check for libraw1394
2050 [ --enable-dv dv input module (default disabled)])
2051 if test "${enable_dv}" = "yes"
2053 AC_ARG_WITH(dv-raw1394,
2054 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
2055 AC_ARG_WITH(dv-raw1394-tree,
2056 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
2058 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
2060 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
2061 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
2063 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
2065 VLC_ADD_PLUGIN([access_dv])
2066 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
2067 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
2069 dnl No libraw1394 could be found, sorry
2071 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
2074 AC_CHECK_HEADERS(libraw1394/raw1394.h,
2075 [ VLC_ADD_PLUGIN([access_dv])
2076 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2078 if test -n "${enable_dv}"
2080 AC_MSG_ERROR([cannot find libraw1394 headers])
2085 dnl Check for static linking of libraw1394
2086 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2088 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2089 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2090 if test -z "${real_dv_raw1394_tree}"
2092 dnl The given directory can't be found
2094 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2096 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2098 dnl Use a custom libraw1394
2099 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2100 VLC_ADD_PLUGIN([access_dv])
2101 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2102 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2104 dnl The given libraw1394 wasn't built
2106 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2111 dnl Check for libavc1394
2114 AC_ARG_WITH(dv-avc1394,
2115 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2116 AC_ARG_WITH(dv-avc1394-tree,
2117 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2119 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2121 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2122 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2124 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2126 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2127 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2129 dnl No libavc1394 could be found, sorry
2131 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2134 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2135 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2137 if test -n "${enable_dv}"
2139 AC_MSG_ERROR([cannot find libavc1394 headers])
2144 dnl Check for static linking of libavc1394
2145 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2147 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2148 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2149 if test -z "${real_dv_avc1394_tree}"
2151 dnl The given directory can't be found
2153 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2155 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2157 dnl Use a custom libavc1394
2158 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2159 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2160 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2162 dnl The given libavc1394 wasn't built
2164 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2170 dnl dvdread module: check for libdvdread
2172 AC_ARG_ENABLE(dvdread,
2173 [ --enable-dvdread dvdread input module (default disabled)])
2174 if test "${enable_dvdread}" != "no"
2176 AC_ARG_WITH(dvdread,
2177 [ --with-dvdread=PATH libdvdread headers and libraries])
2178 AC_ARG_WITH(dvdread-tree,
2179 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2181 dnl Temporary hack (yeah, sure ;)
2182 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2183 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2186 if test -z "${with_dvdread}"
2188 if test -z "${with_dvdread_tree}"
2190 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2191 [ VLC_ADD_PLUGIN([dvdread])
2192 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2194 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2195 [ VLC_ADD_PLUGIN([dvdread])
2196 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2198 if test -n "${enable_dvdread}"
2200 AC_MSG_ERROR([cannot find libdvdread headers])
2205 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2206 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2207 if test -z "${real_dvdread_tree}"
2209 dnl The given directory can't be found
2211 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2213 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2215 dnl Use a custom libdvdread
2216 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2217 VLC_ADD_PLUGIN([dvdread])
2218 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2219 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2221 dnl The given libdvdread wasn't built
2223 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2227 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2228 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2230 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2232 VLC_ADD_PLUGIN([dvdread])
2233 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2234 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2236 dnl No libdvdread could be found, sorry
2238 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2244 dnl libdvdnav plugin
2246 AC_ARG_ENABLE(dvdnav,
2247 [ --enable-dvdnav dvdnav input module (default enabled)])
2248 if test "${enable_dvdnav}" != "no"
2250 dnl Same hack than dvdread
2251 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2252 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2255 DVDNAV_PATH="${PATH}"
2256 AC_ARG_WITH(dvdnav-config-path,
2257 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2258 [ if test "${with_dvdnav_config_path}" != "no"
2260 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2262 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2263 if test "${DVDNAV_CONFIG}" != "no"
2265 VLC_ADD_PLUGIN([dvdnav])
2266 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2267 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2272 dnl Windows DirectShow access module
2274 AC_ARG_ENABLE(dshow,
2275 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2276 if test "${enable_dshow}" != "no"
2278 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2281 AC_CHECK_HEADERS(dshow.h,
2282 [ VLC_ADD_PLUGIN([dshow])
2283 VLC_ADD_CXXFLAGS([dshow],[])
2284 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2290 dnl Windows DirectShow BDA access module
2293 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2294 enabled on Win32)]))
2295 if test "${enable_bda}" != "no"
2297 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2299 AC_CHECK_HEADERS(dshow.h,
2300 [ VLC_ADD_PLUGIN([bda])
2301 VLC_ADD_CXXFLAGS([bda],[])
2302 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2308 dnl OpenCV wrapper and example filters
2310 AC_ARG_ENABLE(opencv,
2311 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2312 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2314 AC_ARG_WITH(opencv-tree,
2315 [ --with-opencv-tree=PATH opencv tree for linking])
2316 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2318 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2319 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2320 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2321 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2324 VLC_ADD_PLUGIN([opencv_wrapper])
2325 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2326 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])
2328 VLC_ADD_PLUGIN([opencv_example])
2329 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2330 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])
2333 dnl No opencv could be found, sorry
2335 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2338 PKG_CHECK_MODULES(OPENCV, opencv,
2340 VLC_ADD_PLUGIN([opencv_example])
2341 VLC_ADD_PLUGIN([opencv_wrapper])
2342 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2343 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2344 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2346 [AC_MSG_ERROR([libopencv not found!])]
2353 dnl libsmbclient plugin
2356 [ --enable-smb smb input module (default enabled)])
2357 if test "${enable_smb}" != "no"; then
2358 AC_CHECK_HEADERS(libsmbclient.h,
2359 [ VLC_ADD_PLUGIN([access_smb])
2360 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2361 [ if test -n "${enable_smb}"; then
2362 AC_MSG_ERROR([cannot find libsmbclient headers])
2364 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2365 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2366 [#include <libsmbclient.h>])
2370 dnl libdvbpsi ts demux/mux
2372 AC_ARG_ENABLE(dvbpsi,
2373 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2375 if test "${enable_dvbpsi}" != "no"
2378 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2380 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2381 case "${with_dvbpsi}" in
2383 if test -z "${with_dvbpsi_tree}"
2385 AC_CHECK_HEADERS(dvbpsi/dr.h,
2386 [ VLC_ADD_PLUGIN([ts])
2387 if test "${enable_sout}" != "no"; then
2388 VLC_ADD_PLUGIN([mux_ts])
2390 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2392 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2393 [#if defined( HAVE_STDINT_H )
2394 # include <stdint.h>
2395 #elif defined( HAVE_INTTYPES_H )
2396 # include <inttypes.h>
2398 #include <dvbpsi/dvbpsi.h>
2399 #include <dvbpsi/descriptor.h>
2400 #include <dvbpsi/pat.h>
2401 #include <dvbpsi/pmt.h>])
2403 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2404 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2405 if test -z "${real_dvbpsi_tree}"
2407 dnl The given directory can't be found
2409 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2411 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2413 dnl Use a custom libdvbpsi
2414 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2415 VLC_ADD_PLUGIN([ts])
2416 if test "${enable_sout}" != "no"; then
2417 VLC_ADD_PLUGIN([mux_ts])
2419 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2420 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2423 dnl The given libdvbpsi wasn't built
2425 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2430 dnl Compile without dvbpsi
2433 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2434 if test -z "${with_dvbpsi}"
2439 LDFLAGS_test="-L${with_dvbpsi}/lib"
2440 CPPFLAGS_test="-I${with_dvbpsi}/include"
2442 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2443 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2444 VLC_ADD_PLUGIN([ts])
2445 if test "${enable_sout}" != "no"; then
2446 VLC_ADD_PLUGIN([mux_ts])
2448 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2449 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2452 if test -n "${enable_dvbpsi}"
2454 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])
2457 CPPFLAGS="${CPPFLAGS_save}"
2460 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2461 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2462 ], [], [${LIBS_ts}])
2467 dnl Video4Linux plugin
2470 [ --enable-v4l Video4Linux input support (default disabled)])
2471 if test "${enable_v4l}" = "yes"
2474 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2475 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2477 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2480 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2481 AC_CHECK_HEADERS(linux/videodev.h, [
2482 VLC_ADD_PLUGIN([v4l])
2484 CPPFLAGS="${CPPFLAGS_save}"
2488 dnl Video4Linux2 plugin
2491 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2492 if test "${enable_v4l2}" != "no"
2495 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2496 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2498 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2501 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2502 AC_CHECK_HEADERS(linux/videodev2.h, [
2503 VLC_ADD_PLUGIN([v4l2])
2505 CPPFLAGS="${CPPFLAGS_save}"
2509 dnl libv4l2 support for video4linux.
2511 AC_ARG_ENABLE( libv4l2,
2512 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2513 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2515 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2516 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2517 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2518 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2519 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2524 dnl special access module for Hauppauge PVR cards
2527 [ --enable-pvr PVR cards access module (default disabled)])
2528 if test "${enable_pvr}" = "yes"
2530 VLC_ADD_PLUGIN([pvr])
2531 AC_ARG_WITH(videodev2,
2532 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2533 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2535 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2538 AC_CACHE_CHECK([for new linux/videodev2.h],
2539 [ac_cv_new_linux_videodev2_h],
2541 #include <sys/types.h>
2542 # ifdef VIDEODEV2_H_FILE
2543 # include VIDEODEV2_H_FILE
2545 # include <linux/videodev2.h>
2548 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2549 ac_cv_new_linux_videodev2_h=yes,
2550 ac_cv_new_linux_videodev2_h=no)])
2551 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2552 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2557 dnl gnomeVFS access module
2559 AC_ARG_ENABLE(gnomevfs,
2560 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2561 if test "${enable_gnomevfs}" = "yes"
2563 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2564 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2565 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2566 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2567 VLC_ADD_PLUGIN([access_gnomevfs]),
2568 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2571 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2572 AC_ARG_ENABLE(libcdio,
2573 [ --enable-libcdio CD input and control library support (default enabled)])
2575 AC_ARG_ENABLE(vcdinfo,
2576 [ --enable-libvcdinfo VCD information library support (default enabled)])
2580 if test "${enable_libcdio}" != "no"
2582 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2584 AC_DEFINE(HAVE_LIBCDIO, 1,
2585 [Define if you have libcdio 0.78.2 or greater installed]),
2586 [AC_MSG_WARN(CD Reading and information library not found)])
2588 if test "${enable_vcdinfo}" != "no"
2590 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2591 [have_libvcdinfo=yes
2592 AC_DEFINE(HAVE_VCDINFO, 1,
2593 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2594 [AC_MSG_WARN(VCD information library not found)])
2599 dnl VCDX and CDDAX modules
2601 AC_ARG_ENABLE(cddax,
2602 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2603 via libcdio (default disabled)]))
2605 AC_ARG_ENABLE(libcddb,
2606 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2608 if test "${enable_cddax}" = "yes"
2610 if test "$have_libcdio" = "yes"
2612 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2613 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2614 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2615 VLC_ADD_PLUGIN([cddax])
2616 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2617 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2618 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2620 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2624 if test "$enable_libcddb" != "no"; then
2625 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2627 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2628 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2629 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2631 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2638 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2640 if test "${enable_vcdx}" = "yes"
2642 if test "${have_libvcdinfo}" = "yes"
2644 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2645 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2647 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2651 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2652 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2653 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2654 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2657 if test "$have_libvcdinfo" = "yes"
2659 AC_DEFINE(HAVE_VCDX, 1,
2660 [Define for the VCD plugin using libcdio/libvcdinfo])
2661 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2662 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2663 VLC_ADD_PLUGIN([vcdx])
2665 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2671 dnl Built-in CD-DA and VCD module
2674 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2677 [ --enable-vcd built-in VCD (default enabled)])
2679 if test "${enable_vcd}" != "no"
2681 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2682 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2684 VLC_ADD_PLUGIN([vcd])
2685 VLC_ADD_PLUGIN([cdda])
2690 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2691 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2693 VLC_ADD_PLUGIN([vcd])
2694 VLC_ADD_PLUGIN([cdda])
2695 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2700 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2701 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2703 VLC_ADD_PLUGIN([vcd])
2704 VLC_ADD_PLUGIN([cdda])
2705 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2710 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2712 VLC_ADD_PLUGIN([vcd])
2713 VLC_ADD_PLUGIN([cdda])
2716 if test "${SYS}" = "darwin"
2718 VLC_ADD_PLUGIN([vcd])
2719 VLC_ADD_PLUGIN([cdda])
2720 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2721 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2724 if test "$enable_libcddb" != "no"; then
2725 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2727 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2728 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2729 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2731 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2737 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2740 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2742 if test "${enable_dvb}" != "no"
2744 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2746 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2747 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2749 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2751 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2752 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2753 VLC_ADD_PLUGIN([dvb])
2754 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2755 CPPFLAGS="${CPPFLAGS_save}"
2757 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2762 dnl Screen capture module
2764 AC_ARG_ENABLE(screen,
2765 [ --enable-screen Screen capture support (default enabled)])
2766 if test "${enable_screen}" != "no"; then
2767 if test "${SYS}" = "darwin"; then
2768 AC_CHECK_HEADERS(OpenGL/gl.h, [
2769 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2770 VLC_ADD_PLUGIN([screen])
2771 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2774 elif test "${SYS}" = "mingw32"; then
2775 VLC_ADD_PLUGIN([screen])
2776 VLC_ADD_LIBS([screen],[-lgdi32])
2777 elif test "${SYS}" = "mingwce"; then
2778 CPPFLAGS="${CPPFLAGS_save}"
2779 elif test "${SYS}" = "beos"; then
2780 VLC_ADD_PLUGIN([screen])
2781 VLC_ADD_CXXFLAGS([screen],[])
2782 VLC_ADD_LIBS([screen],[-lbe])
2787 dnl ipv6 plugin - not for QNX yet
2790 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2791 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2794 AS_IF([test "${have_ipv6}" = "yes"], [
2795 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2798 AC_CHECK_FUNCS(inet_ntop,[
2799 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2803 dnl ogg demux plugin
2806 [ --enable-ogg Ogg demux support (default enabled)])
2807 if test "${enable_ogg}" != "no"
2809 AC_ARG_WITH(ogg-tree,
2810 [ --with-ogg-tree=PATH ogg tree for static linking])
2811 if test -n "${with_ogg_tree}"
2813 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2814 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2815 if test -z "${real_ogg_tree}"
2817 dnl The given directory can't be found
2819 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2821 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2823 dnl Use a custom ogg
2824 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2825 VLC_ADD_PLUGIN([ogg])
2826 if test "${enable_sout}" != "no"; then
2827 VLC_ADD_PLUGIN([mux_ogg])
2829 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2830 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2832 dnl The given ogg wasn't built
2834 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2837 AC_CHECK_HEADERS(ogg/ogg.h, [
2838 AC_CHECK_LIB( ogg, oggpack_read, [
2839 VLC_ADD_PLUGIN([ogg])
2840 if test "${enable_sout}" != "no"; then
2841 VLC_ADD_PLUGIN([mux_ogg])
2843 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2849 dnl matroska demux plugin
2852 [ --enable-mkv Matroska demux support (default enabled)])
2853 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2855 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2856 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2858 [#include <ebml/EbmlVersion.h>
2859 #ifdef LIBEBML_VERSION
2860 #if LIBEBML_VERSION >= 0x000706
2864 [AC_MSG_RESULT([yes])
2865 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2866 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2868 [#include <matroska/KaxVersion.h>
2869 #ifdef LIBMATROSKA_VERSION
2870 #if LIBMATROSKA_VERSION >= 0x000705
2874 [AC_MSG_RESULT([yes])
2875 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2876 VLC_ADD_CXXFLAGS([mkv],[])
2877 if test "${SYS}" = "darwin"; then
2878 VLC_ADD_CXXFLAGS([mkv],[-O1])
2880 AC_CHECK_LIB(ebml_pic, main, [
2881 VLC_ADD_PLUGIN([mkv])
2882 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2884 AC_CHECK_LIB(ebml, main, [
2885 VLC_ADD_PLUGIN([mkv])
2886 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2890 [AC_MSG_RESULT([no])
2891 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.])
2895 [AC_MSG_RESULT([no])
2896 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.])
2903 dnl modplug demux plugin
2906 [ --enable-mod Mod demux support (default enabled)])
2907 if test "${enable_mod}" != "no"
2909 AC_ARG_WITH(mod-tree,
2910 [ --with-mod-tree=PATH mod tree for static linking])
2911 if test -n "${with_mod_tree}"
2913 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2914 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2915 if test -z "${real_mod_tree}"
2917 dnl The given directory can't be found
2919 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2921 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2923 dnl Use a custom mod
2924 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2925 VLC_ADD_PLUGIN([mod])
2926 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2927 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2929 dnl The given mod wasn't built
2931 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2934 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2935 VLC_ADD_PLUGIN([mod])
2936 VLC_ADD_CXXFLAGS([mod],[])
2937 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2942 dnl mpc demux plugin
2945 [ --enable-mpc Mpc demux support (default enabled)])
2946 if test "${enable_mpc}" != "no"
2948 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2949 VLC_ADD_PLUGIN([mpc])
2950 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2954 dnl game music emu demux plugin
2957 [ --enable-gme Game Music Emu demux support (default enabled)])
2958 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2961 AC_ARG_WITH(gme-tree,
2962 [ --with-gme-tree=PATH gme tree for static linking])
2963 if test -n "${with_gme_tree}"
2965 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2966 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2967 if test -z "${real_gme_tree}"
2969 dnl The given directory can't be found
2971 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2973 if test -f "${real_gme_tree}/gme/libgme.a"
2975 dnl Use a custom gme
2976 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2977 VLC_ADD_PLUGIN([gme])
2978 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2979 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2981 dnl The given gme wasn't built
2983 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2986 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2995 AC_ARG_WITH(,[Codec plugins:])
3000 AC_ARG_ENABLE(wma-fixed,
3001 [ --enable-wma-fixed libwma-fixed module (default disabled)])
3002 if test "${enable_wma_fixed}" = "yes"
3004 VLC_ADD_PLUGIN([wma_fixed])
3008 dnl shine fixed point mp3 encoder
3010 AC_ARG_ENABLE(shine,
3011 [ --enable-shine shine mp3 encoding module (default disabled)])
3012 if test "${enable_shine}" = "yes"
3014 VLC_ADD_PLUGIN([shine])
3021 [ --enable-mad libmad module (default enabled)])
3022 if test "${enable_mad}" != "no"
3025 [ --with-mad=PATH path to libmad],[],[])
3026 if test "${with_mad}" != "no" -a -n "${with_mad}"
3028 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
3029 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
3032 AC_ARG_WITH(mad-tree,
3033 [ --with-mad-tree=PATH mad tree for static linking],[],[])
3034 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
3036 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
3037 if test -z "${real_mad_tree}"
3039 dnl The given directory can't be found
3041 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
3043 dnl Use a custom libmad
3044 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
3045 if test -f ${real_mad_tree}/mad.h
3048 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
3049 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
3050 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
3051 AC_CHECK_LIB(mad, mad_bit_init, [
3052 VLC_ADD_PLUGIN([mpgatofixed32])
3053 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
3054 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
3056 LDFLAGS="${LDFLAGS_save}"
3059 AC_MSG_ERROR([the specified tree doesn't have mad.h])
3062 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
3063 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
3064 AC_CHECK_HEADERS(mad.h, ,
3065 [ 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.]) ])
3066 AC_CHECK_LIB(mad, mad_bit_init, [
3067 VLC_ADD_PLUGIN([mpgatofixed32])
3068 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
3069 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
3070 CPPFLAGS="${CPPFLAGS_save}"
3071 LDFLAGS="${LDFLAGS_save}"
3076 dnl libid3tag support (FIXME!!! doesn't work with new input)
3078 AC_ARG_ENABLE( id3tag,
3079 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
3080 AS_IF([test "${enable_id3tag}" = "yes"], [
3081 AC_CHECK_HEADERS(id3tag.h, [
3082 AS_IF([test "${have_zlib}" = "yes"],[
3083 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
3084 VLC_ADD_PLUGIN([id3tag])
3090 dnl avcodec decoder/encoder plugin
3093 if test "${with_ffmpeg_tree}"
3095 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
3098 AC_ARG_ENABLE(avcodec,
3099 [ --enable-avcodec libavcodec codec (default enabled)])
3100 if test "${enable_avcodec}" != "no"
3102 PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil],
3105 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
3106 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
3107 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
3108 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3109 VLC_ADD_PLUGIN([avcodec])
3110 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
3111 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
3114 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
3119 dnl avformat demuxer/muxer plugin
3122 AC_ARG_ENABLE(avformat,
3123 [ --enable-avformat libavformat containers (default enabled)])
3124 if test "${enable_avformat}" != "no"
3126 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
3129 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
3130 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
3131 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
3132 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3133 VLC_ADD_PLUGIN([avformat])
3134 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS])
3135 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
3138 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3143 dnl swscale image scaling and conversion plugin
3146 AC_ARG_ENABLE(swscale,
3147 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3148 (default enabled)]))
3149 if test "${enable_swscale}" != "no"
3151 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3154 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3155 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3156 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3157 VLC_ADD_PLUGIN([swscale])
3158 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3159 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3162 AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
3170 AC_ARG_ENABLE(postproc,
3171 [ --enable-postproc libpostproc image post-processing (default enabled)])
3172 if test "${enable_postproc}" != "no"
3174 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3177 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3178 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3179 AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
3180 VLC_ADD_PLUGIN([postproc])
3181 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS])
3182 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS])
3185 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3190 dnl faad decoder plugin
3193 [ --enable-faad faad codec (default disabled)])
3194 if test "${enable_faad}" = "yes"
3196 AC_ARG_WITH(faad-tree,
3197 [ --with-faad-tree=PATH faad tree for static linking])
3198 if test -n "${with_faad_tree}"
3200 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3201 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3202 if test -z "${real_faad_tree}"
3204 dnl The given directory can't be found
3206 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3208 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3210 dnl Use a custom faad
3211 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3212 VLC_ADD_PLUGIN([faad])
3213 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3214 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3216 dnl The given libfaad wasn't built
3218 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3221 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3222 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3223 AC_CHECK_HEADERS(faad.h, ,
3224 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3225 AC_CHECK_LIB(faad, faacDecOpen, [
3226 VLC_ADD_PLUGIN([faad])
3227 VLC_ADD_LIBS([faad],[-lfaad]) ],
3228 AC_CHECK_LIB(faad, NeAACDecOpen, [
3229 VLC_ADD_PLUGIN([faad])
3230 VLC_ADD_LIBS([faad],[-lfaad]) ],
3231 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3232 LDFLAGS="${LDFLAGS_save}"
3233 CPPFLAGS="${CPPFLAGS_save}"
3238 dnl twolame encoder plugin
3240 AC_ARG_ENABLE(twolame,
3241 [ --enable-twolame twolame codec (default disabled)])
3242 if test "${enable_twolame}" = "yes"
3244 AC_ARG_WITH(twolame-tree,
3245 [ --with-twolame-tree=PATH twolame tree for static linking])
3246 if test -n "${with_twolame_tree}"
3248 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3249 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3250 if test -z "${real_twolame_tree}"
3252 dnl The given directory can't be found
3254 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3256 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3258 dnl Use a custom twolame
3259 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3260 VLC_ADD_PLUGIN([twolame])
3261 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3262 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3264 dnl The given libtwolame wasn't built
3266 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3269 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3270 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3271 AC_CHECK_HEADERS(twolame.h, ,
3272 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3273 AC_CHECK_LIB(twolame, twolame_init, [
3274 VLC_ADD_PLUGIN([twolame])
3275 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3276 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3277 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3278 LDFLAGS="${LDFLAGS_save}"
3279 CPPFLAGS="${CPPFLAGS_save}"
3284 dnl QuickTime plugin
3286 AC_ARG_ENABLE(quicktime,
3287 [ --enable-quicktime QuickTime module (deprecated)])
3288 if test "${enable_quicktime}" = "yes"; then
3289 if test "${SYS}" = "mingw32"; then
3290 VLC_ADD_PLUGIN([quicktime])
3292 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3293 [ VLC_ADD_PLUGIN([quicktime])
3294 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3295 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3303 [ --enable-real Real media module (default disabled)])
3304 if test "${enable_real}" = "yes"; then
3305 VLC_ADD_PLUGIN([realaudio])
3306 VLC_ADD_PLUGIN([realvideo])
3310 dnl Real RTSP plugin
3312 AC_ARG_ENABLE(realrtsp,
3313 [ --enable-realrtsp Real RTSP module (default disabled)])
3314 if test "${enable_realrtsp}" = "yes"; then
3315 VLC_ADD_PLUGIN([access_realrtsp])
3318 AC_ARG_ENABLE(libsysfs,
3319 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3321 AS_IF([test "${enable_libsysfs}" != "no"],[
3322 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3323 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3330 AC_ARG_ENABLE(libtar,
3331 [ --enable-libtar libtar support for skins2 (default enabled)])
3333 AS_IF([test "${enable_libtar}" != "no"],[
3334 AC_CHECK_HEADERS(libtar.h, [
3335 VLC_ADD_LIBS([skins2],[-ltar])
3340 dnl A52/AC3 decoder plugin
3343 [ --enable-a52 A/52 support with liba52 (default enabled)])
3344 if test "${enable_a52}" != "no"
3347 [ --with-a52=PATH a52 headers and libraries])
3348 AC_ARG_WITH(a52-tree,
3349 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3350 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3352 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3353 if test -z "${real_a52_tree}"
3355 dnl The given directory can't be found
3357 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3359 dnl Use a custom a52dec
3360 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3361 if test -f ${real_a52_tree}/include/a52.h
3364 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3365 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3366 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3367 AC_CHECK_LIB(a52, a52_free, [
3368 VLC_ADD_PLUGIN([a52tofloat32])
3369 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3370 VLC_ADD_LIBS([a52tofloat32],[-la52])
3372 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3374 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3376 AC_MSG_ERROR([the specified tree hasn't been compiled])
3379 LDFLAGS="${LDFLAGS_save}"
3382 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3385 if test -z "${with_a52}"
3390 LDFLAGS_test="-L${with_a52}/lib"
3391 CPPFLAGS_test="-I${with_a52}/include"
3393 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3394 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3395 AC_CHECK_HEADERS(a52dec/a52.h, [
3396 AC_CHECK_LIB(a52, a52_free, [
3397 VLC_ADD_PLUGIN([a52tofloat32])
3398 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3399 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3401 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.])
3404 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.])
3406 CPPFLAGS="${CPPFLAGS_save}"
3407 LDFLAGS="${LDFLAGS_save}"
3411 AC_ARG_WITH(a52-fixed,
3412 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3414 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3417 dnl DTS Coherent Acoustics decoder plugin
3419 AS_IF([test "x${enable_dts}" != "x"], [
3420 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3422 AS_IF([test "x${with_dts_tree}" != "x"], [
3423 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3427 AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca
3428 (default enabled)]))
3429 AS_IF([test "${enable_dca}" != "no"], [
3430 AC_ARG_WITH(dca-tree,
3431 [ --with-dca-tree=PATH libdca tree for static linking],,
3432 [with_dca_tree="no"])
3433 AS_IF([test "${with_dca_tree}" != "no"], [
3434 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3435 AS_IF([test -z "${real_dca_tree}"], [
3436 dnl The given directory can't be found
3438 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3440 dnl Use a custom libdca
3441 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3442 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3444 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3445 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3446 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3448 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3452 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3455 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3456 VLC_ADD_PLUGIN([dtstofloat32])
3457 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3458 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3460 AS_IF([test "x${enable_dca}" != "x"], [
3461 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3471 [ --enable-flac libflac decoder/encoder support (default disabled)])
3472 if test "${enable_flac}" = "yes"
3474 AC_ARG_WITH(flac-tree,
3475 [ --with-flac-tree=PATH flac tree for static linking])
3476 if test -n "${with_flac_tree}"
3478 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3479 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3480 if test -z "${real_flac_tree}"
3482 dnl The given directory can't be found
3484 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3486 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3488 dnl Use a custom flac
3489 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3490 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3491 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3492 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3494 dnl The given flac wasn't built
3496 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3499 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3500 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3508 AC_ARG_ENABLE(libmpeg2,
3509 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3510 if test "${enable_libmpeg2}" != "no"
3512 AC_ARG_WITH(libmpeg2-tree,
3513 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3514 AS_IF([test -n "${with_libmpeg2_tree}"],[
3515 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3516 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3517 if test -z "${real_libmpeg2_tree}"
3519 dnl The given directory can't be found
3521 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3523 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3525 dnl Use a custom libmpeg2
3526 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3527 VLC_ADD_PLUGIN([libmpeg2])
3528 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3529 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3531 dnl The given libmpeg2 wasn't built
3533 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3536 PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[
3537 VLC_ADD_PLUGIN([libmpeg2])
3538 VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS)
3539 VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS)
3541 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.]))
3548 AC_ARG_ENABLE(vorbis,
3549 [ --enable-vorbis Vorbis decoder support (default enabled)])
3550 if test "${enable_vorbis}" != "no"
3552 AC_ARG_WITH(vorbis-tree,
3553 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3554 if test -n "${with_vorbis_tree}"
3556 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3557 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3558 if test -z "${real_vorbis_tree}"
3560 dnl The given directory can't be found
3562 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3564 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3566 dnl Use a custom vorbis
3567 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3568 VLC_ADD_PLUGIN([vorbis])
3569 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3570 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3572 dnl The given vorbis wasn't built
3574 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3577 AC_CHECK_HEADERS(vorbis/codec.h, [
3578 VLC_ADD_PLUGIN([vorbis])
3579 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3581 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3582 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3589 AC_ARG_ENABLE(tremor,
3590 [ --enable-tremor Tremor decoder support (default disabled)])
3591 if test "${enable_tremor}" = "yes"
3593 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3594 VLC_ADD_PLUGIN([tremor])
3595 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3602 AC_ARG_ENABLE(speex,
3603 [ --enable-speex Speex decoder support (default enabled)])
3604 if test "${enable_speex}" != "no"
3606 AC_ARG_WITH(speex-tree,
3607 [ --with-speex-tree=PATH speex tree for static linking])
3608 if test -n "${with_speex_tree}"
3610 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3611 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3612 if test -z "${real_speex_tree}"
3614 dnl The given directory can't be found
3616 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3618 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3620 dnl Use a custom speex
3621 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3622 VLC_ADD_PLUGIN([speex])
3623 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3624 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3626 dnl The given speex wasn't built
3628 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3631 AC_CHECK_HEADERS(speex/speex.h, [
3632 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3633 AC_CHECK_LIB(speex, speex_decode_int, [
3634 VLC_ADD_PLUGIN([speex])
3635 VLC_ADD_LIBS([speex],[-lspeex]) ],
3636 [ AC_MSG_RESULT([no])
3637 AC_MSG_WARN([Your libspeex is too old, please get the development
3639 LDFLAGS="${LDFLAGS_save}"
3645 dnl tarkin decoder plugin
3647 AC_ARG_ENABLE(tarkin,
3648 [ --enable-tarkin experimental tarkin codec (default disabled)])
3649 if test "${enable_tarkin}" = "yes"
3651 AC_ARG_WITH(tarkin-tree,
3652 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3653 if test -n "${with_tarkin_tree}"
3655 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3656 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3657 if test -f "${real_tarkin_tree}/tarkin.o"
3659 VLC_ADD_PLUGIN([tarkin])
3660 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3661 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])
3664 dnl The given tarkin tree wasn't built
3666 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3667 make sure you compiled tarkin in ${with_tarkin_tree}])
3673 dnl theora decoder plugin
3675 AC_ARG_ENABLE(theora,
3676 [ --enable-theora experimental theora codec (default disabled)])
3677 if test "${enable_theora}" = "yes"
3679 AC_CHECK_HEADERS(theora/theora.h, [
3680 AC_CHECK_LIB(theora, theora_granule_time, [
3681 VLC_ADD_PLUGIN([theora])
3682 theora_libs="-ltheora -logg"
3683 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3684 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3685 You also need to check that you have a libogg posterior to the 1.0 release.])],
3691 dnl dirac decoder plugin
3693 AC_ARG_ENABLE(dirac,
3694 [ --enable-dirac experimental dirac codec (default disabled)])
3695 if test "${enable_dirac}" = "yes"; then
3696 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.10.0], [
3697 VLC_ADD_PLUGIN([dirac])
3698 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3699 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3700 AC_MSG_ERROR([libdirac >= 0.10.0 doesn't appear to be installed on your system.])
3705 dnl schroedinger decoder plugin (for dirac format video)
3707 AC_ARG_ENABLE(schroedinger,
3708 [ --disable-schroedinger high performance dirac codec (default enabled)])
3709 if test "${enable_schroedinger}" != "no"; then
3710 PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0.6], [
3711 VLC_ADD_PLUGIN([schroedinger])
3712 VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS])
3713 VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [
3714 AS_IF([test "x${enable_schroedinger}" != "x"], [
3715 AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}])
3721 dnl PNG decoder module
3724 [ --enable-png PNG support (default enabled)])
3725 if test "${enable_png}" != "no"; then
3726 AC_CHECK_HEADERS(png.h, [
3727 LDFLAGS="${LDFLAGS_save} -lz"
3728 AC_CHECK_LIB(png, png_set_rows, [
3729 VLC_ADD_LIBS([png],[-lpng -lz])
3730 VLC_ADD_PLUGIN([png])
3731 VLC_ADD_PLUGIN([osdmenu])
3732 VLC_ADD_PLUGIN([osd_parser])
3733 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3735 LDFLAGS="${LDFLAGS_save}"
3738 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3741 dnl H264 encoder plugin (using libx264)
3744 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3745 if test "${enable_x264}" != "no"; then
3746 AC_ARG_WITH(x264-tree,
3747 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3748 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3750 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3751 if test -z "${real_x264_tree}"
3753 dnl The given directory can't be found
3755 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3757 dnl Use a custom libx264
3758 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3759 if test -f ${real_x264_tree}/x264.h
3762 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3763 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3764 PKG_CHECK_MODULES(X264,x264, [
3765 VLC_ADD_PLUGIN([x264])
3766 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3767 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3768 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3769 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3772 AC_MSG_ERROR([the specified tree hasn't been compiled])
3774 LDFLAGS="${LDFLAGS_save}"
3777 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3780 PKG_CHECK_MODULES(X264,x264, [
3781 VLC_ADD_PLUGIN([x264])
3782 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3784 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3785 [ac_cv_ld_bsymbolic],
3786 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3787 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3788 LDFLAGS="${LDFLAGS_save}"
3790 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3791 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3794 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3795 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3796 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3799 if test "${enable_x264}" = "yes"; then
3800 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3803 LDFLAGS="${LDFLAGS_save}"
3808 dnl libfluidsynth (MIDI synthetizer) plugin
3810 AC_ARG_ENABLE(fluidsynth,
3811 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3812 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3813 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3814 VLC_ADD_PLUGIN(fluidsynth)
3815 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3816 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3818 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3819 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3825 dnl Teletext Modules
3826 dnl vbi decoder plugin (using libzbvi)
3831 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3832 libzvbi (default enabled)]))
3834 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3835 zvbi) (default enabled if zvbi is absent)]))
3837 AS_IF( [test "${enable_zvbi}" != "no"],[
3838 PKG_CHECK_MODULES(ZVBI,
3841 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3842 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3843 VLC_ADD_PLUGIN([zvbi])
3844 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3845 AS_IF( [test "${enable_telx}" = "yes"],[
3846 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3850 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3853 AS_IF( [test "${enable_telx}" != "no" ],[
3854 VLC_ADD_PLUGIN([telx])
3858 dnl asa/csri subtitle rendering module
3861 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3862 AS_IF( [test "${enable_csri}" = "yes"], [
3863 PKG_CHECK_MODULES(CSRI,
3866 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3867 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3868 VLC_ADD_PLUGIN([csri])
3870 AC_MSG_WARN([CSRI helper library not found])
3875 dnl libass subtitle rendering module
3877 AC_ARG_ENABLE(libass,
3878 [ --enable-libass Subtitle support using libass (default disabled)])
3879 AS_IF( [test "${enable_libass}" = "yes"], [
3880 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
3882 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3883 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3884 VLC_ADD_PLUGIN([libass])
3886 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3887 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3888 if test "${SYS}" = "mingw32"; then
3889 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz -lxml2])
3891 VLC_ADD_LIBS([libass],[-lfontconfig])
3895 AC_MSG_WARN([LIBASS library not found])
3902 AC_ARG_ENABLE(asademux,
3903 [ --enable-asademux asa subtitle demuxing (default disabled)])
3904 AS_IF( [test "${enable_asademux}" = "yes"], [
3905 PKG_CHECK_MODULES(PCRE,
3908 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3909 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3910 if test "${SYS}" = "mingw32"; then
3911 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3913 VLC_ADD_PLUGIN([asademux])
3915 AC_MSG_WARN([PCRE library not found (required for asademux)])
3923 [ --enable-cmml CMML support (default enabled)])
3924 if test "${enable_cmml}" != "no"
3926 VLC_ADD_PLUGIN([cmml])
3930 dnl kate decoder plugin
3933 [ --enable-kate kate codec (default enabled)])
3934 AS_IF([test "${enable_kate}" != "no"], [
3935 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3936 VLC_ADD_PLUGIN([kate])
3937 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3938 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3939 AC_CHECK_HEADERS(kate/kate.h, [
3940 AC_CHECK_LIB(kate, kate_decode_init, [
3941 VLC_ADD_PLUGIN([kate])
3942 kate_libs="-lkate -logg"
3943 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3944 AS_IF([test "x${enable_kate}" != "x"], [
3945 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3946 You also need to check that you have a libogg posterior to the 1.0 release.])
3950 AS_IF([test "x${enable_kate}" != "x"], [
3951 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3952 You also need to check that you have a libogg posterior to the 1.0 release.])
3960 dnl tiger decoder plugin
3962 AC_ARG_ENABLE(tiger,
3963 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3964 AS_IF([test "${enable_tiger}" != "no"], [
3965 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3966 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3967 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3968 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3969 AS_IF([test "x${enable_tiger}" != "x"], [
3970 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3980 AC_ARG_WITH(,[Video plugins:])
3988 [ --enable-x11 X11 support (default enabled)],, [
3989 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3996 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3998 AS_IF([test "${enable_x11}" != "no"], [
3999 AC_CHECK_HEADERS(X11/Xlib.h, [
4000 VLC_ADD_PLUGIN([x11_screen])
4001 VLC_ADD_CPPFLAGS([x11_screen],[${X_CFLAGS}])
4002 VLC_ADD_LIBS([x11_screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4004 VLC_ADD_PLUGIN([panoramix])
4005 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4006 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4008 VLC_ADD_PLUGIN([x11])
4009 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4010 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4012 AC_CHECK_LIB(Xext, XShmAttach, [VLC_ADD_LIBS([x11],[-lXext])])
4016 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4017 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4018 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4020 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4021 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4026 #include <X11/Xlib.h>
4032 dnl (enabled by default except on win32)
4034 AC_ARG_ENABLE(xvideo,
4035 [ --enable-xvideo XVideo support (default enabled)],, [
4036 enable_xvideo="$enable_x11"
4038 AS_IF([test "${enable_xvideo}" != "no"], [
4039 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4040 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4041 AC_CHECK_LIB(Xv,XvPutImage,[
4042 VLC_ADD_PLUGIN([xvideo])
4043 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4044 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4046 CFLAGS="${CFLAGS_save}"
4052 dnl (enabled by default except on win32)
4055 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
4056 enable_glx="$enable_x11"
4058 AS_IF([test "${enable_glx}" != "no"], [
4059 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4060 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4061 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4065 VLC_ADD_PLUGIN([glx])
4066 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4067 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4068 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4073 dnl (disabled by default except on win32)
4076 [ --enable-xvmc XVMC support (default disabled)],, [
4079 AS_IF([test "${enable_xvmc}" != "no"], [
4080 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4081 VLC_ADD_PLUGIN([xvmc])
4082 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
4083 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
4085 AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
4090 dnl Check for the Xinerama extension
4092 AC_ARG_ENABLE(xinerama,
4093 [ --enable-xinerama Xinerama support (default enabled)],, [
4094 enable_xinerama="$enable_xvideo"
4096 AS_IF([test "$enable_xinerama" != "no"], [
4097 ac_cv_have_xinerama="no"
4098 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4099 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4100 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4101 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4102 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4103 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4104 ac_cv_have_xinerama="yes"
4106 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4107 VLC_ADD_LIBS([xvideo],[-lXinerama])
4108 VLC_ADD_LIBS([x11],[-lXinerama])
4109 VLC_ADD_LIBS([glx],[-lXinerama])
4110 ac_cv_have_xinerama="yes"
4114 if test "${ac_cv_have_xinerama}" = "yes"; then
4115 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4119 dnl Check for XF86VidMode extension
4121 ac_cv_have_xf86vidmode="no"
4122 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4123 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4124 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4125 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4126 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4127 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4128 ac_cv_have_xf86vidmode="yes"
4130 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4131 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4132 VLC_ADD_LIBS([x11],[-lXxf86vm])
4133 VLC_ADD_LIBS([glx],[-lXxf86vm])
4134 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4135 ac_cv_have_xf86vidmode="yes"
4139 [#ifdef HAVE_X11_XLIB_H
4140 # include <X11/Xlib.h>
4143 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4144 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4146 CFLAGS="${CFLAGS_save}"
4149 dnl End of Xlib tests
4150 CPPFLAGS="${CPPFLAGS_save}"
4154 dnl X C Bindings modules
4155 dnl (work in progress)
4158 [ --enable-xcb X C Bindings work-in-progress (default disabled)],
4160 AS_IF([test "${enable_xcb}" != "no"], [
4161 PKG_CHECK_MODULES(XPROTO, [xproto])
4164 PKG_CHECK_MODULES(XCB, [xcb])
4165 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
4167 AS_IF([test "${enable_xvideo}" != "no"], [
4168 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
4169 VLC_ADD_PLUGIN([xcb_xv])
4174 PKG_CHECK_MODULES(XCB_AUX, [xcb-aux])
4175 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
4177 VLC_ADD_PLUGIN([xcb])
4178 VLC_ADD_PLUGIN([xcb_window])
4183 dnl (enabled by default except on beos)
4185 AC_ARG_ENABLE(opengl,
4186 [ --enable-opengl OpenGL support (default enabled)])
4187 if test "${enable_opengl}" != "no" &&
4188 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4189 if test "${SYS}" != "darwin"; then
4190 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4191 VLC_ADD_PLUGIN([opengl])
4192 if test "${SYS}" != "mingw32"; then
4193 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4195 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4199 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4200 VLC_ADD_PLUGIN([opengl])
4201 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4209 [ --enable-sdl SDL support (default enabled)])
4210 AC_ARG_ENABLE(sdl-image,
4211 [ --enable-sdl-image SDL image support (default enabled)])
4212 if test "${enable_sdl}" != "no"
4215 AC_ARG_WITH(sdl-config-path,
4216 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4217 [ if test "${with_sdl_config_path}" != "no"
4219 SDL_PATH="${with_sdl_config_path}:${PATH}"
4221 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4222 SDL_CONFIG="${SDL12_CONFIG}"
4223 SDL_HEADER="SDL12/SDL.h"
4224 SDL_IMAGE="SDL12/SDL_image.h"
4225 if test "${SDL_CONFIG}" = "no"
4227 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4228 SDL_CONFIG=${SDL11_CONFIG}
4229 SDL_HEADER="SDL11/SDL.h"
4230 SDL_IMAGE="SDL11/SDL_image.h"
4232 if test "${SDL_CONFIG}" = "no"
4234 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4235 SDL_HEADER="SDL/SDL.h"
4236 SDL_IMAGE="SDL/SDL_image.h"
4238 # check for cross-compiling
4240 AC_ARG_WITH(sdl-prefix,
4241 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4243 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4244 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4246 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4248 if test "${SDL_CONFIG}" != "no"
4250 # SDL on Darwin is heavily patched and can only run SDL_image
4251 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4252 VLC_ADD_PLUGIN([vout_sdl])
4253 VLC_ADD_PLUGIN([aout_sdl])
4255 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4256 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4257 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4258 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4259 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4260 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4261 As a last resort we also test for SDL.h presence),
4262 [ AC_MSG_ERROR([The development package for SDL is not installed.
4263 Please install it and try again. Alternatively you can also configure with
4266 AS_IF([ test "${enable_sdl_image}" != "no"],[
4267 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4268 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4269 VLC_ADD_PLUGIN([sdl_image])
4270 AC_CHECK_LIB(png, png_set_rows,
4271 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4272 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4273 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4274 AC_CHECK_LIB(tiff, TIFFClientOpen,
4275 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4276 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4277 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4278 As a last resort we also test for SDL_image.h presence),
4279 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4280 You should install it alongside your SDL package.])
4283 CPPFLAGS="${CPPFLAGS_save}"
4284 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4286 AC_MSG_ERROR([The development package for SDL is not installed.
4287 Please install it and try again. Alternatively you can also configure with
4291 elif test "${enable_sdl}" = "yes"
4293 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4294 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4302 AC_ARG_ENABLE(freetype,
4303 [ --enable-freetype freetype support (default enabled)])
4304 AC_ARG_ENABLE(fribidi,
4305 [ --enable-fribidi fribidi support (default enabled)])
4306 AC_ARG_ENABLE(fontconfig,
4307 [ --enable-fontconfig, fontconfig support (default enabled)])
4308 if test "${enable_freetype}" != "no"
4310 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4311 VLC_ADD_PLUGIN([freetype])
4313 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4314 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4315 if test "${SYS}" = "mingw32"; then
4316 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4317 VLC_ADD_LIBS([freetype],[-liconv])
4319 if test "${enable_fontconfig}" != "no"
4321 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4322 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4323 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4324 AC_CHECK_HEADERS(Carbon/Carbon.h,
4325 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4329 AS_IF([ test "${enable_freetype}" = "yes"],[
4330 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4331 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4337 if test "${enable_fribidi}" != "no"
4339 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4340 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4341 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4349 AC_ARG_ENABLE(libxml2,
4350 [ --enable-libxml2 libxml2 support (default enabled)])
4351 AS_IF([test "${enable_libxml2}" != "no"], [
4352 PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5], [
4353 VLC_ADD_CPPFLAGS([xml],[${XML2_CFLAGS}])
4354 VLC_ADD_LIBS([xml],[${XML2_LIBS}])
4355 VLC_ADD_PLUGIN([xml])
4357 AS_IF([test "x${enable_xml2}" != "x"], [
4358 AC_MSG_ERROR([Could not find libxml version 2.5 or higher])
4367 [ --enable-svg SVG support (default disabled)])
4368 if test "${enable_svg}" = "yes"
4370 PKG_CHECK_MODULES(SVG,
4371 librsvg-2.0 >= 2.9.0,
4373 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4374 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4375 VLC_ADD_PLUGIN([svg]) ],
4376 [AC_MSG_WARN(SVG library not found)])
4380 dnl Snapshot vout module (with cache)
4382 AC_ARG_ENABLE(snapshot,
4383 [ --enable-snapshot snapshot module (default disabled)])
4384 if test "${enable_snapshot}" = "yes"
4386 VLC_ADD_PLUGIN([snapshot])
4390 dnl Qt Embedded module
4391 dnl (disabled by default)
4394 [ --enable-qte QT Embedded support (default disabled)])
4395 if test "${enable_qte}" = "yes"
4398 [ --with-qte=PATH Qt Embedded headers and libraries])
4399 if test "${with_qte}" != "no" -a -n "${with_qte}"
4401 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4402 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])
4404 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4405 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4407 VLC_ADD_PLUGIN([qte])
4409 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4410 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4411 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4413 CPPFLAGS="${CPPFLAGS_save}"
4417 dnl Roku HD1000 Video output module
4419 AC_ARG_ENABLE(hd1000v,
4420 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4421 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4422 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4423 test "${enable_hd1000v}" = "yes"); then
4425 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4427 can_build_roku="yes"
4431 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4433 if test "$can_build_roku" = "yes"
4435 VLC_ADD_PLUGIN([hd1000v])
4436 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4442 dnl Windows DirectX module
4445 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4447 VLC_ADD_PLUGIN([panoramix])
4450 AC_ARG_ENABLE(directx,
4451 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4452 if test "${enable_directx}" != "no"
4454 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4456 AC_ARG_WITH(directx,
4457 [ --with-directx=PATH Win32 DirectX headers])
4458 if test -z "${with_directx}"
4460 AC_CHECK_HEADERS(ddraw.h,
4461 [ VLC_ADD_PLUGIN([vout_directx])
4462 VLC_ADD_PLUGIN([aout_directx])
4463 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4465 AC_CHECK_HEADERS(GL/gl.h,
4466 [ VLC_ADD_PLUGIN([glwin32])
4467 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4469 AC_CHECK_HEADERS(d3d9.h,
4470 [ VLC_ADD_PLUGIN([direct3d])
4471 VLC_ADD_LIBS([direct3d],[-lgdi32])
4474 AC_MSG_CHECKING(for directX headers in ${with_directx})
4475 if test -f ${with_directx}/ddraw.h
4477 VLC_ADD_PLUGIN([vout_directx])
4478 VLC_ADD_PLUGIN([aout_directx])
4479 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4480 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4484 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4491 dnl Linux framebuffer module
4494 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4495 if test "${enable_fb}" != "no"
4497 AC_CHECK_HEADERS(linux/fb.h, [
4498 VLC_ADD_PLUGIN([fb])
4503 dnl Linux MGA module
4506 [ --enable-mga Linux kernel Matrox support (default disabled)],
4507 [ if test "${enable_mga}" = "yes"
4509 VLC_ADD_PLUGIN([mga])
4513 dnl OMAP Framebuffer module
4515 AC_ARG_ENABLE(omapfb,
4516 [ --enable-omapfb OMAP framebuffer support (default disabled)])
4517 if test "${enable_omapfb}" = "yes"
4519 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
4520 VLC_ADD_PLUGIN([omapfb])
4521 AC_CHECK_HEADERS(X11/Xlib.h, [
4522 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
4529 AC_ARG_ENABLE(svgalib,
4530 [ --enable-svgalib SVGAlib support (default disabled)])
4531 if test "${enable_svgalib}" = "yes"
4533 VLC_ADD_PLUGIN([svgalib])
4534 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4539 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4540 dnl TODO: support for static linking
4542 AC_ARG_ENABLE(directfb,
4543 [ --enable-directfb DirectFB support (default disabled)])
4544 AC_ARG_WITH(directfb,
4545 [ --with-directfb=PATH path to DirectFB headers and libraries])
4547 if test "${enable_directfb}" = "yes"; then
4548 have_directfb="false"
4549 CPPFLAGS_mydirectfb=
4551 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4552 dnl Trying the given location
4553 CPPFLAGS_save="${CPPFLAGS}"
4556 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4557 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4558 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4560 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4561 LIBS="${LIBS} ${LIBS_new}"
4563 dnl FIXME: too obscure
4564 AC_CHECK_HEADER([directfb.h], [
4565 AC_CHECK_LIB([direct],[direct_initialize], [
4566 AC_CHECK_LIB([fusion], [fusion_enter], [
4567 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4568 ], have_directfb="false")
4569 ], have_directfb="false")
4570 ], have_directfb="false")
4573 CPPFLAGS="${CPPFLAGS_save}"
4576 if test "${have_directfb}" = "true"; then
4577 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4578 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4581 dnl Look for directfb-config
4582 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4583 if test "${DIRECTFB_CONFIG}" != "no"; then
4584 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4585 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4586 have_directfb="true"
4588 dnl Trying with pkg-config
4589 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4590 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4591 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4592 have_directfb="true"
4593 ], [have_directfb="false"])
4596 if test "${have_directfb}" = "true"; then
4597 VLC_ADD_PLUGIN([directfb])
4598 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4599 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4601 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4611 [ --enable-ggi GGI support (default disabled)])
4612 if test "${enable_ggi}" = "yes"
4614 AC_CHECK_HEADER([ggi/ggi.h],[
4615 VLC_ADD_PLUGIN([ggi])
4616 VLC_ADD_LIBS([ggi],[-lggi])
4618 [ --with-ggi=PATH path to libggi],
4619 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4621 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4622 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4625 AC_MSG_ERROR([LibGGI development files can't be found])
4633 [ --enable-aa aalib output (default disabled)])
4634 if test "${enable_aa}" = "yes"
4636 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4637 if test "${have_aa}" = "true"
4639 VLC_ADD_PLUGIN([aa])
4640 VLC_ADD_LIBS([aa],[-laa])
4648 [ --enable-caca libcaca output (default disabled)])
4649 if test "${enable_caca}" = "yes"
4652 AC_ARG_WITH(caca-config-path,
4653 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4654 [ if test "${with_caca_config_path}" != "no"
4656 CACA_PATH="${with_caca_config_path}:${PATH}"
4658 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4659 if test "${CACA_CONFIG}" != "no"
4661 VLC_ADD_PLUGIN([caca])
4662 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4663 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4664 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4669 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4675 dnl win32 GDI plugin
4677 AC_ARG_ENABLE(wingdi,
4678 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4679 if test "${enable_wingdi}" != "no"; then
4680 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4681 VLC_ADD_PLUGIN([wingdi])
4682 VLC_ADD_LIBS([wingdi],[-lgdi32])
4684 if test "${SYS}" = "mingwce"; then
4685 VLC_ADD_PLUGIN([wingdi])
4686 VLC_ADD_PLUGIN([wingapi])
4687 VLC_ADD_LIBS([wingdi],[-laygshell])
4688 VLC_ADD_LIBS([wingapi],[-laygshell])
4696 AC_ARG_WITH(,[Audio plugins:])
4699 dnl OSS /dev/dsp module (enabled by default except on win32)
4702 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4704 if test "${enable_oss}" != "no" &&
4705 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4706 test "${enable_oss}" = "yes")
4708 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4709 VLC_ADD_PLUGIN([oss])
4710 VLC_ADD_PLUGIN([access_oss])
4711 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4716 dnl Pulseaudio module
4718 AC_ARG_ENABLE(pulse,
4719 [ --enable-pulse Pulseaudio support (default enabled)])
4720 if test "${enable_pulse}" != "no"
4722 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4723 [ VLC_ADD_PLUGIN([pulse])
4724 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4725 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4726 [AC_MSG_WARN(pulseaudio library not found)])
4730 dnl Portaudio module
4732 AC_ARG_ENABLE(portaudio,
4733 [ --enable-portaudio Portaudio library support (default disabled)],
4734 [if test "${enable_portaudio}" = "yes"
4736 VLC_ADD_PLUGIN([portaudio])
4737 VLC_ADD_CXXFLAGS([portaudio],[])
4738 if test "${SYS}" = "mingw32"; then
4739 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4741 VLC_ADD_LIBS([portaudio],[-lportaudio])
4749 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4750 if test "${enable_alsa}" != "no"
4752 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4753 if test "${have_alsa}" = "true"
4755 CFLAGS="${CFLAGS_save}"
4756 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4757 #define ALSA_PCM_NEW_SW_PARAMS_API
4758 #include <alsa/asoundlib.h>],
4759 [snd_pcm_hw_params_get_period_time(0,0,0);],
4760 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4761 VLC_ADD_PLUGIN([alsa])
4762 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4763 VLC_ADD_PLUGIN([access_alsa])
4764 VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
4766 if test "${enable_alsa}" = "yes"; then
4767 AC_MSG_ERROR([Could not find ALSA development headers])
4773 dnl win32 waveOut plugin
4775 AC_ARG_ENABLE(waveout,
4776 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4777 if test "${enable_waveout}" != "no"; then
4778 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4779 VLC_ADD_PLUGIN([waveout])
4780 VLC_ADD_LIBS([waveout],[-lwinmm])
4782 if test "${SYS}" = "mingwce"; then
4783 VLC_ADD_PLUGIN([waveout])
4788 dnl CoreAudio plugin
4790 AC_ARG_ENABLE(macosx-audio,
4791 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4792 if test "${enable_macosx-audio}" != "no" &&
4793 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4795 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4796 [ VLC_ADD_PLUGIN([auhal])
4797 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4798 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4802 dnl Roku HD1000 audio
4804 AC_ARG_ENABLE(hd1000a,
4805 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4806 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4807 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4808 test "${enable_hd1000a}" = "yes")
4811 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4812 VLC_ADD_PLUGIN([hd1000a])
4813 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4821 [ --enable-jack JACK audio I/O modules (default disabled)],,
4824 AS_IF([test "${enable_jack}" != "no"], [
4825 AC_CHECK_HEADERS(jack/jack.h, [
4826 VLC_ADD_PLUGIN([access_jack])
4827 VLC_ADD_PLUGIN([jack])
4828 VLC_ADD_LIBS([access_jack jack],[-ljack])
4829 ],[AC_MSG_ERROR([cannot find JACK headers])])
4833 dnl CyberLink for C++ UPnP stack
4835 AC_ARG_ENABLE(cyberlink,
4836 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4837 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4838 AC_ARG_WITH(cyberlink-tree,
4839 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4842 dnl test for --with-cyberlink-tree
4844 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4846 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4847 AS_IF([test -z "${real_cyberlink_tree}"], [
4848 dnl The given directory can't be found
4850 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4852 CPPFLAGS_save="${CPPFLAGS}"
4853 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4854 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4855 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4856 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4857 VLC_ADD_PLUGIN([upnp_cc])
4859 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4861 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4862 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4863 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4864 dnl The mere fact that we have to make such an ugly check sucks
4865 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4868 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4869 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4870 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4871 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4872 using namespace CyberLink;
4874 class testclass : public SearchResponseListener, public MediaPlayer
4876 virtual void deviceSearchResponseReceived( SSDPPacket *)
4883 addSearchResponseListener (this);
4887 ],[testclass l;])],[LIBS_cclink="$l"])
4890 dnl should not happen - otherwise this needs fixing - hence FAILURE
4891 AS_IF([test "${LIBS_cclink}" = "no"],
4892 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4893 AC_MSG_RESULT([${LIBS_cclink}])
4894 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4897 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4899 CPPFLAGS="${CPPFLAGS_save}"
4905 dnl UPnP Plugin (Intel SDK)
4908 AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)]))
4910 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4911 AS_IF([test "x${enable_upnp}" != "xno"], [
4912 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4913 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4914 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4916 AS_IF([test "${has_upnp}" = "yes"], [
4917 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4923 AS_IF([test "${has_upnp}" = "yes"], [
4924 VLC_ADD_PLUGIN([upnp_intel])
4929 dnl Interface plugins
4932 AC_ARG_WITH(,[Interface plugins:])
4934 dnl special case for BeOS
4935 if test "${SYS}" = "beos"
4937 VLC_ADD_PLUGIN([beos])
4943 AC_ARG_ENABLE(skins2,
4944 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4945 enabled except on MacOSX, BeOS and WinCE)])])
4946 if test "${enable_skins2}" = "yes" ||
4947 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4948 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4950 dnl test for the required libraries
4951 skins2_missing_lib="no"
4954 if test "${have_freetype}" != "yes"; then
4955 skins2_missing_lib="yes"
4956 if test "${enable_skins2}" = "yes"; then
4957 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4961 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4962 VLC_ADD_PLUGIN([skins2])
4963 ALIASES="${ALIASES} svlc"
4964 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4965 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4966 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4968 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4969 VLC_ADD_PLUGIN([skins2])
4970 ALIASES="${ALIASES} svlc"
4971 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4972 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4973 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4975 else if test "${skins2_missing_lib}" = "no"; then
4976 VLC_ADD_PLUGIN([skins2])
4977 ALIASES="${ALIASES} svlc"
4978 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4979 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4980 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4983 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4984 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4985 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4988 dnl PDA Gtk+2 module
4991 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4992 if test "${enable_pda}" = "yes"
4994 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4995 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4996 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4997 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4998 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
4999 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5000 VLC_ADD_PLUGIN([pda])
5001 if test "${SYS}" != "mingw32"; then
5003 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
5004 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
5007 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5012 AC_ARG_ENABLE(maemo,
5013 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
5014 if test "${enable_maemo}" = "yes"
5016 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
5017 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
5018 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
5019 VLC_ADD_PLUGIN([maemo])
5020 VLC_ADD_PLUGIN([swscale_maemo])
5021 AC_DEFINE([BUILD_MAEMO], 1, [Define if you're using Maemo interfaces])
5022 ALIASES="${ALIASES} mvlc"
5024 AS_IF([test "${enable_maemo}" = "yes"],[
5025 AC_MSG_ERROR([Hildon libraries not found])
5030 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
5036 [ --enable-qt4 QT 4 support (default enabled) ],, [
5037 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
5039 AS_IF([test "${enable_qt4}" != "no"], [
5040 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.3.0], [
5041 VLC_ADD_PLUGIN([qt4])
5042 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5043 ALIASES="${ALIASES} qvlc"
5044 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
5045 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5047 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5049 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
5050 AC_SUBST(QT4LOCALEDIR)
5051 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
5052 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5053 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5054 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5056 AS_IF([test "${enable_qt4}" = "yes"],[
5057 AC_MSG_ERROR([Qt 4 library not found])
5059 AC_MSG_WARN([Qt 4 library not found])
5064 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
5067 dnl WinCE GUI module
5069 AC_ARG_ENABLE(wince,
5070 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5071 if test "${enable_wince}" != "no"; then
5072 if test "${SYS}" = "mingwce"; then
5073 VLC_ADD_PLUGIN([wince])
5074 VLC_ADD_CXXFLAGS([wince],[])
5075 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5077 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5078 elif test "${SYS}" = "mingw32"; then
5079 VLC_ADD_CXXFLAGS([wince],[])
5080 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5082 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5087 dnl Simple test for skins2 dependency
5089 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
5090 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.])
5094 dnl Opie QT embedded module
5097 [ --enable-opie Qt embedded interface support (default disabled)],
5098 [if test "${enable_opie}" = "yes"; then
5100 [ --with-qte=PATH Qt Embedded headers and libraries])
5101 if test "${with_qte}" != "no" -a -n "${with_qte}"
5103 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5104 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])
5106 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5107 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5109 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5110 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5111 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5113 CPPFLAGS="${CPPFLAGS_save}"
5115 VLC_ADD_PLUGIN([opie])
5117 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5118 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5119 if test "${with_qte}" != "no" -a -n "${with_qte}"
5121 MOC=${with_qte}/bin/moc
5123 MOC=${QTDIR}/bin/moc
5128 dnl MacOS X video output/gui modules
5130 AC_ARG_ENABLE(macosx,
5131 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5132 if test "x${enable_macosx}" = "xyes"
5134 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5135 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
5136 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5137 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5138 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
5139 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5140 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5142 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
5143 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
5144 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
5145 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5146 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
5147 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
5148 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5150 VLC_ADD_PLUGIN([access_eyetv])
5151 VLC_ADD_PLUGIN([qtcapture])
5152 VLC_ADD_PLUGIN([macosx])
5153 VLC_ADD_PLUGIN([minimal_macosx])
5156 CFLAGS="$CFLAGS -x objective-c"
5157 AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
5158 [VLC_ADD_PLUGIN([opengllayer])
5159 VLC_ADD_OBJCFLAGS([opengllayer])],[])
5167 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5168 if test "${enable_qnx}" != "no"
5170 AC_CHECK_HEADERS(Ph.h, [
5171 VLC_ADD_PLUGIN([qnx])
5172 VLC_ADD_LIBS([qnx],[-lasound -lph])
5179 AC_ARG_ENABLE(ncurses,
5180 [ --disable-ncurses ncurses interface support (default enabled)],
5181 [if test "${enable_ncurses}" != "no"; then
5182 AC_CHECK_HEADER(ncurses.h,
5183 [AC_CHECK_LIB(ncursesw, mvprintw,
5184 [VLC_ADD_PLUGIN([ncurses])
5185 VLC_ADD_LIBS([ncurses],[-lncursesw])
5186 ALIASES="${ALIASES} nvlc"
5187 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5188 AC_CHECK_LIB(ncursesw, tgetent, [],
5189 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5190 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5191 [AS_IF([test "x${enable_ncurses}" != "x"],
5192 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5198 [AC_CHECK_LIB( ncurses, mvprintw,
5199 [VLC_ADD_PLUGIN([ncurses])
5200 ALIASES="${ALIASES} nvlc"
5201 VLC_ADD_LIBS([ncurses],[-lncurses])
5202 AC_CHECK_LIB(ncurses, tgetent, [],
5203 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5204 [AS_IF([test "x${enable_ncurses}" != "x"],
5205 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5208 [AS_IF([test "x${enable_ncurses}" != "x"], [
5209 AC_MSG_ERROR([libncurses not found])])]
5220 [ --enable-xosd xosd interface support (default disabled)])
5221 if test "${enable_xosd}" = "yes"
5223 AC_CHECK_HEADERS(xosd.h,
5224 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
5225 VLC_ADD_PLUGIN([xosd])
5226 VLC_ADD_LIBS([xosd],[-lxosd])
5232 dnl Framebuffer (overlay) plugin
5234 AC_ARG_ENABLE(fbosd,
5235 [ --enable-fbosd fbosd interface support (default disabled)])
5236 if test "${enable_fbosd}" = "yes"
5238 AC_CHECK_HEADERS(linux/fb.h, [
5239 VLC_ADD_PLUGIN([fbosd])
5244 dnl Visualisation plugin
5246 AC_ARG_ENABLE(visual,
5247 [ --enable-visual visualisation plugin (default enabled)])
5248 if test "${enable_visual}" != "no"
5250 VLC_ADD_PLUGIN([visual])
5254 dnl OpenGL visualisation plugin
5256 AC_ARG_ENABLE(galaktos,
5257 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5258 if test "${enable_galaktos}" = "yes"
5260 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5261 VLC_ADD_PLUGIN([galaktos])
5262 if test "${SYS}" != "mingw32"; then
5263 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5265 VLC_ADD_LIBS([galaktos],[-lopengl32])
5271 dnl goom visualization plugin
5274 [ --enable-goom goom visualisation plugin (default disabled)])
5275 if test "${enable_goom}" = "yes"
5277 AC_ARG_WITH(goom-tree,
5278 [ --with-goom-tree=PATH goom tree for static linking (required)])
5281 dnl test for --with-goom-tree
5283 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5284 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5285 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5286 if test -z "${real_goom_tree}"; then
5287 dnl The given directory can't be found
5289 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5291 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5292 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5293 VLC_ADD_PLUGIN([goom])
5294 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5295 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5297 dnl The given libgoom2 wasn't built, try to look for the old goom
5299 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5300 if test -f "${real_goom_tree}/libgoom.a"; then
5301 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5302 VLC_ADD_PLUGIN([goom])
5303 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5304 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5306 dnl The given libgoom wasn't built
5308 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5312 AC_CHECK_HEADERS(goom/goom.h, [
5313 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5314 AC_CHECK_LIB(goom2, goom_init, [
5315 VLC_ADD_PLUGIN([goom])
5316 VLC_ADD_LIBS([goom],[-lgoom2])
5318 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5320 LDFLAGS="${LDFLAGS_save}"
5326 dnl AtmoLight (homebrew AmbiLight)
5328 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5330 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
5331 (default enabled)]))
5332 if test "${enable_atmo}" != "no"; then
5334 VLC_ADD_PLUGIN([atmo])
5340 dnl Bonjour services discovery
5342 AC_ARG_ENABLE(bonjour,
5343 [ --enable-bonjour Bonjour services discovery (default enabled)])
5344 AS_IF([test "${enable_bonjour}" != "no"], [
5345 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, [
5346 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define to 1 if you have libavahi-client])
5347 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5348 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5349 VLC_ADD_PLUGIN([bonjour])
5351 AC_MSG_WARN(avahi-client library not found)
5359 [ --enable-lirc lirc support (default disabled)])
5360 if test "${enable_lirc}" = "yes"
5362 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5363 if test "${have_lirc}" = "true"
5365 VLC_ADD_PLUGIN([lirc])
5366 VLC_ADD_LIBS([lirc],[-llirc_client])
5371 dnl Global hotkeys using XCB
5373 PKG_CHECK_MODULES(XCB, [xcb], [
5374 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
5375 PKG_CHECK_MODULES(XPROTO, [xproto], [
5376 VLC_ADD_PLUGIN([globalhotkeys])
5377 VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
5378 VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
5379 ], [ AC_MSG_WARN( [Xproto not found] ) ])
5380 ], [ AC_MSG_WARN( [XCB keysyms was not found]) ])
5381 ], [ AC_MSG_WARN( [XCB was not found]) ])
5383 AC_ARG_WITH(,[Misc options:])
5388 AC_ARG_ENABLE(libgcrypt,
5389 [ --disable-libgcrypt libgcrypts support (default enabled)])
5390 AS_IF([test "${enable_libgcrypt}" != "no"], [
5391 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5393 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
5394 AS_IF([test "${have_libgcrypt}" = "yes"],[
5395 VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
5398 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5403 AC_ARG_ENABLE(gnutls,
5404 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5406 AS_IF([test "${enable_gnutls}" != "no"], [
5407 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5408 VLC_ADD_PLUGIN([gnutls])
5409 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5410 AS_IF([test "${SYS}" = "mingw32"], [
5411 dnl pkg-config --libs gnutls omits these
5412 VLC_ADD_LIBS([gnutls], [-lz])
5413 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5415 dnl The GnuTLS plugin invokes gcry_control directly.
5416 AS_IF([test "${have_libgcrypt}" = "yes"],[
5417 VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}])
5418 VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}])
5420 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5422 AS_IF([test "${enable_gnutls}" = "yes"], [
5423 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5430 dnl RemoteOSD plugin (VNC client as video filter)
5432 AC_ARG_ENABLE(remoteosd,
5433 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
5435 AS_IF([test "${enable_remoteosd}" != "no"], [
5436 AS_IF([test "${have_libgcrypt}" = "yes"],[
5437 VLC_ADD_PLUGIN([remoteosd])
5438 VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS})
5439 VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
5441 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
5449 AC_MSG_CHECKING([whether to enable RAOP plugin])
5450 AS_IF([test "${have_libgcrypt}" = "yes"], [
5452 VLC_ADD_PLUGIN([stream_out_raop])
5453 VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS} -lgpg-error])
5454 VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}])
5457 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
5462 dnl update checking system
5464 AC_ARG_ENABLE(update-check,
5465 [ --enable-update-check update checking system (default disabled)])
5466 if test "${enable_update_check}" = "yes"
5468 if test "${have_libgcrypt}" != "yes"
5470 AC_MSG_ERROR([libgcrypt is required for update checking system])
5472 VLC_ADD_LIBS([libvlccore], [${LIBGCRYPT_LIBS}])
5473 VLC_ADD_CFLAGS([libvlccore], [${LIBGCRYPT_CFLAGS}])
5474 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5479 dnl Endianness check
5482 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
5483 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
5487 AC_SUBST(DEFS_BIGENDIAN)
5490 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5493 AC_ARG_ENABLE(loader,
5494 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
5495 (default disabled)]))
5496 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5497 AS_IF([test "${enable_loader}" = "yes"],
5498 [ VLC_ADD_PLUGIN([dmo])
5499 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
5500 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
5501 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
5502 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
5503 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
5504 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
5505 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
5506 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
5509 AC_ARG_WITH(,[Components:])
5515 [ --enable-vlc build the VLC media player (default enabled)])
5516 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5519 dnl Microsoft ActiveX support
5522 AC_ARG_ENABLE(activex,
5523 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
5524 (default enabled on Win32)]))
5525 AC_ARG_WITH(wine-sdk-path,
5526 [ --with-wine-sdk-path=PATH path to wine sdk])
5527 if test "${enable_activex}" != "no"
5529 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5531 AC_CHECK_PROGS(MIDL, [midl], no)
5532 if test "${with_wine_sdk_path}" != ""
5534 WINE_SDK_PATH=${with_wine_sdk_path}
5535 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5540 AC_CHECK_HEADERS(ole2.h,
5541 [AC_CHECK_HEADERS(olectl.h,
5542 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5543 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5544 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5545 AC_CHECK_HEADERS(objsafe.h,
5546 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5554 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5556 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5558 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5563 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5564 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5565 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5566 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5567 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5573 AC_ARG_ENABLE(mozilla,
5574 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
5575 (default disabled)]))
5576 AC_ARG_WITH(mozilla-sdk-path,
5577 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5578 AC_ARG_WITH(mozilla-pkg,
5579 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
5581 if test "${enable_mozilla}" = "yes"
5583 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
5586 dnl As we want to do a loop due to the number of name possible for the .pc
5587 dnl we can't use the pkg-config macros.
5589 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
5590 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
5591 AC_MSG_NOTICE([Checking for Mozilla])
5593 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
5597 if test -n "$PKG_CONFIG"; then
5598 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
5599 echo "Trying to find $i.pc files" >&5
5600 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
5602 echo "Using $i.pc files." >&5
5603 echo "Using $i.pc files." >&6
5605 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
5606 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
5612 AS_IF( [test $found = 1],[
5613 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
5614 MOZILLA_REQUIRED_HEADERS=1
5615 AC_CHECK_HEADERS([npfunctions.h])
5616 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5617 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5622 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5623 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5625 MOZILLA_REQUIRED_HEADERS=
5627 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
5628 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
5629 AS_IF([ test "${SYS}" != "darwin"],[
5630 PKG_CHECK_MODULES(XPM, [xpm xt],[
5631 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
5633 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
5637 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
5638 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
5639 VLC_ADD_PLUGIN([mozilla])
5640 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5642 CPPFLAGS="${CPPFLAGS_save}"
5645 AC_PATH_PROGS(MOZILLA_CONFIG,
5646 [mozilla-config seamonkey-config xulrunner-config],
5647 AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
5651 dnl pkg-config failed but we might have found a mozilla-config
5652 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
5653 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5654 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5655 AC_CHECK_LIB(Xt,XtStrings,
5657 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5658 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5661 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5663 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5664 LDFLAGS="${LDFLAGS_save}"
5668 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5669 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
5670 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5671 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5672 MOZILLA_REQUIRED_HEADERS=1
5673 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5674 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5675 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5680 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5682 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5684 MOZILLA_REQUIRED_HEADERS=
5685 CPPFLAGS="${CPPFLAGS_save}"
5686 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5688 dnl End of moz_sdk = ""
5690 dnl special case for mingw32
5691 if test "${SYS}" = "mingw32"
5693 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5694 dnl latest gecko sdk does not have an xpcom directory
5695 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5696 mozilla_sdk_xpcom="/xpcom"
5700 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5701 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5702 MOZILLA_REQUIRED_HEADERS=1
5703 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5704 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5705 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5710 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5712 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5714 MOZILLA_REQUIRED_HEADERS=
5716 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5717 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])
5718 if ${need_xpcom_libs}; then
5719 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])
5720 if test "${SYS}" = "mingw32"; then
5721 dnl latest gecko sdk does not have embedstring
5722 if test -d "${real_mozilla_sdk}/embedstring/bin"
5724 VLC_ADD_LIBS([mozilla],[-lembedstring])
5728 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5730 if test -n "${CYGPATH}"; then
5731 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5733 CPPFLAGS="${CPPFLAGS_save}"
5737 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5739 dnl Tests for Osso and Xsp
5740 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
5741 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5742 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5743 VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
5746 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5747 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
5748 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
5754 AC_ARG_ENABLE(testsuite,
5755 [ --enable-testsuite build test modules (default disabled)])
5756 if test "${enable_testsuite}" = "yes"
5758 TESTS="test1 test2 test3 test4"
5760 dnl we define those so that bootstrap sets the right linker
5761 VLC_ADD_CXXFLAGS([test2],[])
5762 VLC_ADD_OBJCFLAGS([test3],[])
5763 dnl this one is needed until automake knows what to do
5764 VLC_ADD_LIBS([test3],[-lobjc])
5766 VLC_ADD_PLUGIN([test1])
5767 VLC_ADD_PLUGIN([test2])
5768 VLC_ADD_PLUGIN([test3])
5769 VLC_ADD_PLUGIN([test4])
5775 if test "${NEED_GTK_MAIN}" != "no"
5777 VLC_ADD_PLUGIN([gtk_main])
5778 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5779 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5782 if test "${NEED_GNOME_MAIN}" != "no"
5784 VLC_ADD_PLUGIN([gnome_main])
5785 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5786 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5789 if test "${NEED_GTK2_MAIN}" != "no"
5791 VLC_ADD_PLUGIN([gtk2_main])
5792 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5793 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5794 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5795 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5798 if test "${NEED_GNOME2_MAIN}" != "no"
5800 VLC_ADD_PLUGIN([gnome2_main])
5801 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5802 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5808 if test "${NEED_QTE_MAIN}" != "no"
5810 VLC_ADD_PLUGIN([qte_main])
5811 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5812 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5813 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5817 dnl Plugin and builtin checks
5821 dnl Automagically disable plugins if there is no system support for
5822 dnl dynamically loadable files (.so, .dll, .dylib).
5823 dnl don't forget vlc-win32 still can load .dll as plugins
5824 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5825 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5829 AS_IF([test "${plugin_support}" != "no"], [
5830 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5834 dnl Pic and shared libvlc stuff
5836 AS_IF([test "${SYS}" = "mingw32"], [
5837 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5838 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5842 dnl Stuff used by the program
5844 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5845 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5846 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5847 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5848 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5849 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5850 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5851 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5852 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5853 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5854 AC_SUBST(COPYRIGHT_MESSAGE)
5855 AC_SUBST(VERSION_MESSAGE)
5856 AC_SUBST(VERSION_MAJOR)
5857 AC_SUBST(VERSION_MINOR)
5858 AC_SUBST(VERSION_REVISION)
5859 AC_SUBST(VERSION_EXTRA)
5860 AC_SUBST(COPYRIGHT_YEARS)
5861 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5862 if test "${build_os}" = "cygwin"
5864 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5866 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5868 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5869 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5870 dnl Win32 need s a numerical version_extra.
5871 case $( echo ${VERSION_EXTRA}|wc -m ) in
5872 "1") VERSION_EXTRA_RC="0";;
5873 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5874 *) VERSION_EXTRA_RC="99"
5876 AC_SUBST(VERSION_EXTRA_RC)
5878 dnl Handle substvars that use $(top_srcdir)
5880 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5881 AC_SUBST(VLC_CONFIG)
5882 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5890 dnl Sort the modules list
5892 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5895 dnl Create the vlc-config script
5897 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5900 dnl Configuration is finished
5910 AC_SUBST(MOZILLA_SDK_PATH)
5911 AC_SUBST(WINE_SDK_PATH)
5913 AC_SUBST(AM_CPPFLAGS)
5914 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5915 AC_SUBST(FILE_LIBVLCCORE_DLL)
5916 AC_SUBST(FILE_LIBVLC_DLL)
5918 dnl Create vlc-config.in
5919 VLC_OUTPUT_VLC_CONFIG_IN
5922 extras/package/win32/vlc.win32.nsi
5923 extras/package/macosx/Info.plist
5924 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5925 extras/package/macosx/plugin/Info.plist
5926 extras/package/macosx/plugin/InstallerInfo.plist
5928 projects/activex/Makefile
5929 projects/activex/axvlc.inf
5931 extras/package/ipkg/Makefile
5932 libs/loader/Makefile
5936 projects/mozilla/Makefile
5939 projects/activex/axvlc_rc.rc
5940 projects/mozilla/npvlc_rc.rc
5941 projects/mozilla/vlc.r
5942 projects/mozilla/install.js
5944 share/vlc_win32_rc.rc
5945 share/libvlc_win32_rc.rc
5951 modules/access/Makefile
5952 modules/access/bd/Makefile
5953 modules/access/bda/Makefile
5954 modules/access/dshow/Makefile
5955 modules/access/dvb/Makefile
5956 modules/access/mms/Makefile
5957 modules/access/cdda/Makefile
5958 modules/access/rtp/Makefile
5959 modules/access/rtsp/Makefile
5960 modules/access/rtmp/Makefile
5961 modules/access/vcd/Makefile
5962 modules/access/vcdx/Makefile
5963 modules/access/screen/Makefile
5964 modules/access/zip/Makefile
5965 modules/access_output/Makefile
5966 modules/audio_filter/Makefile
5967 modules/audio_filter/channel_mixer/Makefile
5968 modules/audio_filter/converter/Makefile
5969 modules/audio_filter/resampler/Makefile
5970 modules/audio_filter/spatializer/Makefile
5971 modules/audio_mixer/Makefile
5972 modules/audio_output/Makefile
5973 modules/codec/Makefile
5974 modules/codec/avcodec/Makefile
5975 modules/codec/cmml/Makefile
5976 modules/codec/dmo/Makefile
5977 modules/codec/shine/Makefile
5978 modules/codec/subtitles/Makefile
5979 modules/codec/spudec/Makefile
5980 modules/codec/wmafixed/Makefile
5981 modules/codec/xvmc/Makefile
5982 modules/control/Makefile
5983 modules/control/http/Makefile
5984 modules/control/globalhotkeys/Makefile
5985 modules/demux/Makefile
5986 modules/demux/asf/Makefile
5987 modules/demux/avformat/Makefile
5988 modules/demux/avi/Makefile
5989 modules/demux/mkv/Makefile
5990 modules/demux/mp4/Makefile
5991 modules/demux/mpeg/Makefile
5992 modules/demux/playlist/Makefile
5993 modules/gui/Makefile
5994 modules/gui/beos/Makefile
5995 modules/gui/pda/Makefile
5996 modules/gui/macosx/Makefile
5997 modules/gui/maemo/Makefile
5998 modules/gui/minimal_macosx/Makefile
5999 modules/gui/qnx/Makefile
6000 modules/gui/qt4/Makefile
6001 modules/gui/skins2/Makefile
6002 modules/gui/wince/Makefile
6003 modules/meta_engine/Makefile
6004 modules/misc/Makefile
6005 modules/misc/dummy/Makefile
6006 modules/misc/lua/Makefile
6007 modules/misc/memcpy/Makefile
6008 modules/misc/notify/Makefile
6009 modules/misc/testsuite/Makefile
6010 modules/misc/playlist/Makefile
6011 modules/misc/osd/Makefile
6012 modules/misc/stats/Makefile
6013 modules/misc/xml/Makefile
6014 modules/misc/probe/Makefile
6015 modules/mux/Makefile
6016 modules/mux/mpeg/Makefile
6017 modules/packetizer/Makefile
6018 modules/services_discovery/Makefile
6019 modules/stream_filter/Makefile
6020 modules/stream_out/Makefile
6021 modules/stream_out/transrate/Makefile
6022 modules/video_chroma/Makefile
6023 modules/video_filter/Makefile
6024 modules/video_filter/atmo/Makefile
6025 modules/video_filter/dynamicoverlay/Makefile
6026 modules/video_output/Makefile
6027 modules/video_output/msw/Makefile
6028 modules/video_output/qte/Makefile
6029 modules/video_output/x11/Makefile
6030 modules/visualization/Makefile
6031 modules/visualization/visual/Makefile
6032 modules/visualization/galaktos/Makefile
6035 dnl Generate makefiles
6038 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6039 # not provided with the source
6040 ${SHELL} ./config.status --file=vlc-config
6041 chmod 0755 vlc-config
6043 /bin/echo -n "Enabled modules: "
6044 ./vlc-config --list plugin
6046 dnl Shortcut to nice compile message
6048 echo '#! /bin/sh' >compile
6049 echo rm -f .error\$\$ >>compile
6050 echo ERROR=0 >>compile
6051 echo export PATH=$PATH LANG=C >>compile
6052 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6053 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6054 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6055 echo rm -f .error\$\$ >>compile
6056 echo exit \$ERROR >>compile
6060 libvlc configuration
6061 --------------------
6062 version : ${VERSION}
6064 architecture : ${ARCH}
6066 test "${enable_debug}" = "yes" && printf "debug "
6067 test "${enable_cprof}" = "yes" && printf "cprof "
6068 test "${enable_gprof}" = "yes" && printf "gprof "
6069 test "${enable_optimizations}" = "yes" && printf "optim "
6070 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6072 if test "${enable_vlc}" != "no"; then
6073 echo "vlc aliases :${ALIASES}"
6075 echo "build vlc executable : no"
6077 echo "plugins/bindings :${PLUGINS_BINDINGS}
6079 You can tune the compiler flags in vlc-config.
6080 To build vlc and its plugins, type \`./compile' or \`make'.
6082 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6084 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6086 echo " FFmpeg will be REALLY slow."
6087 echo " VLC WILL NOT PERFORM AS EXPECTED."