1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
11 COPYRIGHT_YEARS="1996-2008"
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
19 AM_INIT_AUTOMAKE(tar-ustar)
20 AM_CONFIG_HEADER(config.h)
22 dnl Too many people are not aware of maintainer mode:
23 dnl If you want to use it, you definitely know what you are doing, so
24 dnl you can specify "--disable-maintainer-mode". But if you want the default
25 dnl automake behavior, you've likely never heard of maintainer mode, so we
26 dnl can't expect you to enable it manually.
28 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
29 [enable_maintainer_mode="yes"])
33 dnl Deprecated options
34 dnl to notify packagers that stuff has changed
36 AC_ARG_ENABLE(python-bindings,
37 [ --enable-python-bindings Always fails for historical reasons)],,
38 [enable_python_bindings="no"])
39 AS_IF([test "${enable_python_bindings}" != "no"], [
40 AC_MSG_ERROR([Python bindings are now built from a separate source package])
43 AC_ARG_ENABLE(java-bindings,
44 [ --enable-java-bindings Always fails for historical reasons],,
45 [enable_java_bindings="no"])
46 AS_IF([test "${enable_java_bindings}" != "no"], [
47 AC_MSG_ERROR([Java bindings are now built from a separate source package])
59 AC_USE_SYSTEM_EXTENSIONS
60 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
65 _AM_DEPENDENCIES([OBJC])
71 dnl Find the right ranlib, even when cross-compiling
72 AC_CHECK_TOOL(RANLIB, ranlib, :)
73 AC_CHECK_TOOL(STRIP, strip, :)
74 AC_CHECK_TOOL(AR, ar, :)
75 AC_CHECK_TOOL(LD, ld, :)
76 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
78 dnl Check for compiler properties
84 dnl Check for the contrib directory
87 [ --without-contrib do not use the libraries in extras/contrib],[],[])
88 if test "${with_contrib}" != "no"; then
89 AC_MSG_CHECKING([for libs in extras/contrib])
91 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
92 topdir="`pwd`/$topdir"
94 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
95 if test "${with_contrib}" = "yes"; then
97 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
100 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
103 if test -d ${topdir}/extras/contrib/lib; then
105 export PATH=${topdir}/extras/contrib/bin:$PATH
106 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
107 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
108 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
109 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
110 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
111 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
112 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
113 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
114 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
115 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
117 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
119 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
120 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
122 if test -z $with_live555_tree; then
123 with_live555_tree=${topdir}/extras/contrib/src/live
125 if test -z $with_goom_tree; then
126 with_goom_tree=${topdir}/extras/contrib/src/goom
128 if test -z $with_mozilla_sdk_path; then
129 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
131 if test -z $with_cyberlink_tree; then
132 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
134 if test -z $with_libmpeg2_tree; then
135 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
137 if test -z $with_a52_tree; then
138 with_a52_tree=${topdir}/extras/contrib/src/a52dec
141 if test ".`uname -s`" = ".Darwin"; then
142 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
143 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
144 elif test ".`uname -s`" = ".BeOS"; then
145 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
146 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
154 dnl Set default values
156 LDFLAGS_vlc="${LDFLAGS}"
159 dnl Check the operating system
170 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
171 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
175 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
178 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
179 CPPFLAGS="${CPPFLAGS_save}"
180 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
181 LDFLAGS="${LDFLAGS_save}"
187 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
188 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
189 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
190 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
191 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
192 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
193 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
194 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
195 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
196 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
197 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
198 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
199 AC_ARG_ENABLE(macosx-defaults,
200 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
201 if test "x${enable_macosx_defaults}" != "xno"
204 echo "Building with Mac OS X defaults:"
205 with_macosx_version_min="10.4"
206 echo " Assuming --with-macosx-version-min=10.4"
208 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
209 ac_default_prefix="${build_dir}/vlc_install_dir"
211 echo " Assuming --enable-macosx"
213 echo " Assuming --enable-faad"
215 echo " Assuming --enable-flac"
217 echo " Assuming --enable-theora"
219 echo " Assuming --enable-shout"
221 echo " Assuming --enable-cddax"
223 echo " Assuming --enable-vcdx"
225 echo " Assuming --enable-caca"
227 echo " Assuming --enable-goom"
229 echo " Assuming --enable-ncurses"
231 echo " Assuming --enable-twolame"
232 enable_realrtsp="yes"
233 echo " Assuming --enable-realrtsp"
236 echo " Assuming --disable-skins2"
238 echo " Assuming --disable-x11"
240 echo " Assuming --disable-glx"
242 echo " Assuming --disable-xvideo"
244 if test ".`uname -p`" = ".i386"; then
245 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
246 dnl without hacking it a lot, we disable mmx and sse.
247 dnl (that bug is about ld being unable to handle
249 save_cflags="$CFLAGS"
250 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
252 [int a;], [asm("movq _a,%mm0\n");],
253 ac_ld_does_not_support_text_reloc=no,
254 ac_ld_does_not_support_text_reloc=yes)
255 CFLAGS="$save_cflags"
257 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
259 echo " Assuming --disable-mmx (due to a bug in ld)"
261 echo " Assuming --disable-sse (due to a bug in ld)"
265 dnl Check for Mac OS X SDK settings
267 AC_ARG_WITH(macosx-sdk,
268 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
269 if test "${with_macosx_sdk}" != "" ; then
270 CC="${CC} -isysroot ${with_macosx_sdk}"
271 CXX="${CXX} -isysroot ${with_macosx_sdk}"
272 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
273 LD="${LD} -syslibroot ${with_macosx_sdk}"
275 AC_ARG_WITH(macosx-version-min,
276 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
277 if test "${with_macosx_version_min}" != "" ; then
278 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
279 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
280 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
281 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
282 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
283 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
284 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
285 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
286 export MACOSX_DEPLOYMENT_TARGET
289 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
290 AC_CHECK_TOOL(WINDRES, windres, :)
293 *wince* | *mingwce* | *mingw32ce* | *pe*)
300 dnl Check if we are using the mno-cygwin mode in which case we are
301 dnl actually dealing with a mingw32 compiler.
306 SYS=mingw32, SYS=cygwin)
310 if test "${SYS}" = "mingw32"; then
311 # add ws2_32 for closesocket, select, recv
312 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
313 VLC_ADD_LDFLAGS([vlc],[-mwindows])
314 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
315 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
316 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32])
318 if test "${SYS}" = "mingwce"; then
319 # add ws2 for closesocket, select, recv
320 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
321 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
322 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp],[-lws2])
323 VLC_ADD_LIBS([libvlc],[-lmmtimer])
328 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
332 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
333 # Perhaps it is useful other places as well?
334 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
341 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
342 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
343 VLC_ADD_CXXFLAGS([beos],[])
344 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
345 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
346 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
347 VLC_ADD_LIBS([access_file],[-lpoll])
348 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
350 if test -f /boot/beos/system/lib/libbind.so; then
351 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket])
353 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet])
356 dnl Ugly check for Zeta
357 if test -f /boot/beos/system/lib/libzeta.so; then
358 VLC_ADD_LIBS([beos],[-lzeta])
365 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
366 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
367 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
368 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
369 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
372 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
373 dnl for program foo on win32
375 case "${build_os}" in
377 ac_executable_extensions=".exe"
385 dnl It's very bad, but our former custom system was worst
389 dnl override platform specific check for dependent libraries
390 dnl otherwise libtool linking of shared libraries will
391 dnl fail on anything other than pass_all.
392 AC_CACHE_VAL(lt_cv_deplibs_check_method,
393 [lt_cv_deplibs_check_method=pass_all])
396 AC_DISABLE_FAST_INSTALL
399 m4_undefine([AC_PROG_F77])
400 m4_defun([AC_PROG_F77],[])
403 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
404 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
406 lt_cv_deplibs_check_method=pass_all
412 AM_GNU_GETTEXT_VERSION([0.17])
413 AM_GNU_GETTEXT([external])
414 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
420 AS_IF([test "$am_cv_func_iconv" != "yes"],
421 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
422 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
423 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
425 dnl Check for the need to include the mingwex lib for mingw32
426 if test "${SYS}" = "mingw32"
428 AC_CHECK_LIB(mingwex,opendir,
429 AC_CHECK_LIB(mingw32,opendir,,
430 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
434 dnl Check for fnative-struct or mms-bitfields support for mingw32
435 if test "${SYS}" = "mingw32"
437 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
438 [ac_cv_c_mms_bitfields],
439 [CFLAGS="${CFLAGS_save} -mms-bitfields"
440 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
441 if test "${ac_cv_c_mms_bitfields}" != "no"; then
442 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
443 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
445 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
446 [ac_cv_c_fnative_struct],
447 [CFLAGS="${CFLAGS_save} -fnative-struct"
448 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
449 if test "${ac_cv_c_fnative_struct}" != "no"; then
450 CFLAGS_save="${CFLAGS_save} -fnative-struct";
451 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
455 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
458 dnl Check for fvtable-thunks support for mingw32
459 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
462 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
463 [ac_cv_cxx_fvtable_thunks],
464 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
465 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
466 ac_cv_cxx_fvtable_thunks=no)])
467 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
468 CXXFLAGS_mingw32_special="-fvtable-thunks"
471 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
475 dnl Plugin compilation stuff
479 dnl The -DSYS_FOO flag
480 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
482 dnl Check for system libs needed
485 dnl Check for usual libc functions
486 AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise uselocale])
487 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
488 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
489 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
492 AH_BOTTOM([#include <vlc_fixups.h>])
494 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
496 dnl Check for setlocal and langinfo
497 AC_CHECK_FUNCS(setlocale)
498 AC_CHECK_HEADERS(langinfo.h)
499 AC_CHECK_FUNCS(nl_langinfo)
501 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
502 [AC_TRY_LINK([#include <langinfo.h>],
503 [char* cs = nl_langinfo(CODESET);],
504 ac_cv_langinfo_codeset=yes,
505 ac_cv_langinfo_codeset=no)
507 if test ${ac_cv_langinfo_codeset} = yes; then
508 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
509 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
512 AC_CHECK_FUNCS(connect,,[
513 AC_CHECK_LIB(socket,connect,[
514 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
515 LIBS_socket="-lsocket"
519 AC_CHECK_FUNCS(send,,[
520 AC_CHECK_LIB(socket,send,[
521 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],[-lsocket])
525 AC_CHECK_FUNCS(gethostbyname,,[
526 AC_CHECK_LIB(nsl,gethostbyname,[
527 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
529 AC_CHECK_LIB(bind,gethostbyname,[
530 VLC_ADD_LIBS([access_mms],[-lbind])
535 AC_CHECK_HEADERS(zlib.h, [
536 VLC_ADD_LIBS([access_http],[-lz])
539 dnl Check for socklen_t
540 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
541 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
542 ac_cv_type_socklen_t,
543 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
544 [#include <sys/types.h>
546 # include <winsock2.h>
547 # include <ws2tcpip.h>
549 # include <sys/socket.h>
550 #endif]], [[socklen_t len; len = 0;]])],
551 ac_cv_type_socklen_t=yes,
552 ac_cv_type_socklen_t=no)])
553 AS_IF([test "$ac_cv_type_socklen_t" = no],
554 [AC_DEFINE(socklen_t, int)])
556 dnl Check for struct sockaddr_storage
557 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
558 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
559 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
561 [#include <sys/types.h>
562 #if defined( UNDER_CE )
563 # include <winsock.h>
564 #elif defined( WIN32 )
565 # include <winsock2.h>
567 # include <sys/socket.h>
568 #endif], [struct sockaddr_storage addr;],
569 ac_cv_struct_sockaddr_storage=yes,
570 ac_cv_struct_sockaddr_storage=no)])
571 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
572 AC_DEFINE(sockaddr_storage, sockaddr)
573 AC_DEFINE(ss_family, sa_family)
576 dnl getaddrinfo, getnameinfo and gai_strerror check
577 dnl -lnsl and -lsocket are needed on Solaris;
578 dnl we purposedly make the test fail on Windows
580 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
581 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
583 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
586 AC_CHECK_FUNCS([getnameinfo gai_strerror])
589 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
590 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
591 [#include <sys/types.h>
592 #if defined( WIN32 ) || defined( UNDER_CE )
593 # if defined(UNDER_CE) && defined(sockaddr_storage)
594 # undef sockaddr_storage
596 # include <winsock2.h>
597 # include <ws2tcpip.h>
602 dnl Check for va_copy
603 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
605 [#include <stdarg.h>],
606 [va_list ap1, ap2; va_copy(ap1,ap2);],
607 [ac_cv_c_va_copy="yes"],
608 [ac_cv_c_va_copy="no"]))
609 if test "${ac_cv_c_va_copy}" = "yes"; then
610 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
612 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
614 [#include <stdarg.h>],
615 [va_list ap1, ap2; __va_copy(ap1,ap2);],
616 [ac_cv_c___va_copy="yes"],
617 [ac_cv_c___va_copy="no"]))
618 if test "${ac_cv_c___va_copy}" = "yes"; then
619 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
622 AC_CHECK_FUNCS(inet_aton,,[
623 AC_CHECK_LIB(resolv,inet_aton,[
624 VLC_ADD_LIBS([libvlc],[-lresolv])
628 dnl Check for getopt (always use builtin one on win32)
629 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
633 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
634 [ # FreeBSD has a gnugetopt library for this:
635 AC_CHECK_LIB([gnugetopt],[getopt_long],
636 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
637 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
640 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
642 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
645 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
648 VLC_ADD_LIBS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
650 AC_CHECK_LIB(m,sqrt,[
651 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
653 AC_CHECK_LIB(m,ceil,[
654 VLC_ADD_LIBS([mosaic],[-lm])
657 VLC_ADD_LIBS([gaussianblur],[-lm])
659 AC_CHECK_LIB(m,round,[
660 VLC_ADD_LIBS([dbus],[-lm])
662 AC_CHECK_LIB(mx,sqrtf,[
663 VLC_ADD_LIBS([x264],[-lmx])
665 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
667 dnl Check for dynamic plugins
668 ac_cv_have_plugins=no
671 AC_CHECK_HEADERS(mach-o/dyld.h,
672 [AC_CHECK_FUNCS(NSLinkModule,
673 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
674 ac_cv_have_plugins=yes])])
677 if test "${ac_cv_have_plugins}" = "no"; then
678 AC_CHECK_HEADERS(dl.h)
679 ac_cv_my_have_shl_load=no
680 AC_CHECK_FUNC(shl_load,
681 [ac_cv_my_have_shl_load=yes,
682 AC_CHECK_LIB(dld, shl_load,
683 [ac_cv_my_have_shl_load=yes
684 VLC_ADD_LIBS([libvlc],[-ldld])])])
685 if test "${ac_cv_my_have_shl_load}" = "yes"; then
686 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
687 ac_cv_have_plugins=yes
692 if test "${ac_cv_have_plugins}" = "no"; then
693 AC_CHECK_LIB(dld, dld_link,
694 [VLC_ADD_LIBS([libvlc],[-ldld])
695 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
696 ac_cv_have_plugins=yes])
700 if test "${ac_cv_have_plugins}" = "no"; then
701 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
702 AC_CHECK_LIB(kernel32, main,
703 [VLC_ADD_LIBS([libvlc],[-lkernel32])
704 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
705 ac_cv_have_plugins=yes])
710 if test "${ac_cv_have_plugins}" = "no"; then
711 if test "${SYS}" = "mingwce"; then
712 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
713 ac_cv_have_plugins=yes
718 if test "${ac_cv_have_plugins}" = "no"; then
719 AC_CHECK_HEADERS(image.h)
720 AC_CHECK_FUNCS(load_add_on,
721 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
722 ac_cv_have_plugins=yes])
725 # Only test for dlopen() if the others didn't work
726 if test "${ac_cv_have_plugins}" = "no"; then
727 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
728 ac_cv_my_have_dlopen=no
729 AC_CHECK_FUNC(dlopen,
730 ac_cv_my_have_dlopen=yes,
731 AC_CHECK_LIB(dl, dlopen,
732 ac_cv_my_have_dlopen=yes
733 VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
734 AC_CHECK_LIB(svld, dlopen,
735 ac_cv_my_have_dlopen=yes
736 VLC_ADD_LIBS([libvlc],[-lsvld]))))
737 if test "${ac_cv_my_have_dlopen}" = "yes"; then
738 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
739 ac_cv_have_plugins=yes
743 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
744 dnl Check for pthreads - borrowed from XMMS
746 if test "${THREAD_LIB}" = "error"; then
747 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
749 if test "${THREAD_LIB}" = "error"; then
750 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
752 if test "${THREAD_LIB}" = "error"; then
753 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
755 if test "${THREAD_LIB}" = "error"; then
756 AC_CHECK_FUNCS(pthread_mutex_lock)
760 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
762 AC_CHECK_LIB(rt, clock_nanosleep, [
763 VLC_ADD_LIBS([libvlc],[-lrt])
764 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
767 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
771 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
772 AC_CHECK_LIB(rt,nanosleep,
773 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
774 [AC_CHECK_LIB(posix4,nanosleep,
775 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
778 if ${have_nanosleep}; then
779 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
781 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
783 dnl Check for misc headers
784 AC_MSG_CHECKING(for strncasecmp in strings.h)
785 AC_EGREP_HEADER(strncasecmp,strings.h,[
787 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
788 Define if <strings.h> defines strncasecmp.)],[
791 dnl Check for headers
792 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.h)
793 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
794 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h])
795 AC_CHECK_HEADERS([net/if.h], [], [],
797 #include <sys/socket.h>
799 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
800 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
801 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
802 AC_CHECK_HEADERS(syslog.h)
803 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
807 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
808 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
809 AC_CHECK_TYPE(ssize_t,, [
810 AC_DEFINE(ssize_t, int)
813 dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
814 if test "${SYS}" != "darwin"; then
815 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
820 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
821 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
823 dnl Mac OS X and other OSes don't have declaration for nanosleep
824 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
825 AC_MSG_CHECKING(for nanosleep in time.h)
826 AC_EGREP_HEADER(nanosleep,time.h,[
828 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
829 Define if <time.h> defines nanosleep.)
833 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
835 dnl Make sure we have timespecs
836 AC_MSG_CHECKING(for timespec in sys/time.h)
837 AC_EGREP_HEADER(timespec,sys/time.h,[
839 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
840 Define if <sys/time.h> defines struct timespec.)
845 dnl Check for threads library
846 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
847 AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
848 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
850 dnl Find where are the X headers and libraries
853 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.
855 PKG_PROG_PKG_CONFIG()
859 [ --enable-hal Linux HAL services discovery (default enabled)])
861 if test "${enable_hal}" != "no"
863 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
864 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
865 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
866 VLC_ADD_PLUGIN([hal])
867 VLC_ADD_PLUGIN([probe_hal])
868 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
869 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
870 dnl No hal 0.5 Test for 0.2
871 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
872 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
873 VLC_ADD_PLUGIN([hal])
874 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
875 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
876 [AC_MSG_WARN(HAL library not found)])
883 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
886 if test "${enable_dbus}" != "no"
889 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
890 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
891 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
892 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
893 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
894 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
895 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
896 dnl Check for dbus control interface
897 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
898 if test "${enable_dbus_control}" != "no"
900 VLC_ADD_PLUGIN([dbus])
901 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
902 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
904 dnl Check for Telepathy
905 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
906 if test "${enable_telepathy}" != "no"; then
907 VLC_ADD_PLUGIN([telepathy])
908 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
909 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
911 dnl Power Management Inhibiter
912 VLC_ADD_PLUGIN([inhibit])
913 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
914 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
916 if ${PKG_CONFIG} --exists dbus-1
918 [AC_ARG_ENABLE(old-dbus,
919 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
921 if test "${enable_old_dbus}" != "yes"
924 echo "****** WARNING **** WARNING ***** WARNING *************"
925 echo "*** Your D-Bus version is < 1.0.0"
926 echo "*** You are using old and buggy software and so"
927 echo "*** D-Bus support has been disabled."
928 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
929 echo "*** Alternatively you can force the use of your old and"
930 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
931 echo "*******************************************************"
935 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
936 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
937 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
938 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
939 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
940 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
942 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
943 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
944 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
945 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
946 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
948 [ PKG_CHECK_MODULES( DBUS, dbus-1,
949 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
950 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
951 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
952 [AC_MSG_WARN(DBUS library not found)])
963 dnl Build the gtk_main plugins?
969 dnl build the qte plugin ?
972 dnl Check for ntohl, etc.
973 AC_CACHE_CHECK([for ntohl in sys/param.h],
974 [ac_cv_c_ntohl_sys_param_h],
975 [CFLAGS="${CFLAGS_save} -Wall -Werror"
976 AC_TRY_COMPILE([#include <sys/param.h>],
977 [int meuh; ntohl(meuh);],
978 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
979 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
980 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
982 CFLAGS="${CFLAGS_save}"
984 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
985 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
987 dnl Check for various optimization flags
988 AC_CACHE_CHECK([if \$CC accepts -Os],
990 [CFLAGS="${CFLAGS_save} -Os"
991 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
992 if test "${ac_cv_c_os}" != "no"; then
993 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
995 AC_CACHE_CHECK([if \$CC accepts -O],
997 [CFLAGS="${CFLAGS_save} -O"
998 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
999 if test "${ac_cv_c_o}" != "no"; then
1000 if test "${ac_cv_c_o3}" = "no"; then
1001 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1006 AC_CACHE_CHECK([if \$CC accepts -O3],
1008 [CFLAGS="${CFLAGS_save} -O3"
1009 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1010 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1011 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1013 AC_CACHE_CHECK([if \$CC accepts -O2],
1015 [CFLAGS="${CFLAGS_save} -O2"
1016 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1017 if test "${ac_cv_c_o2}" != "no"; then
1018 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1020 AC_CACHE_CHECK([if \$CC accepts -O],
1022 [CFLAGS="${CFLAGS_save} -O"
1023 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1024 if test "${ac_cv_c_o}" != "no"; then
1025 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1030 AC_CACHE_CHECK([if \$CC accepts -O0],
1032 [CFLAGS="${CFLAGS_save} -O0"
1033 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1034 if test "${ac_cv_c_o0}" != "no"; then
1035 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1038 dnl Check for -ffast-math
1039 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1040 [ac_cv_c_fast_math],
1041 [CFLAGS="${CFLAGS_save} -ffast-math"
1042 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1043 if test "${ac_cv_c_fast_math}" != "no"; then
1044 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1047 dnl Check for -funroll-loops
1048 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1049 if test "${SYS}" != "beos"
1051 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1052 [ac_cv_c_unroll_loops],
1053 [CFLAGS="${CFLAGS_save} -funroll-loops"
1054 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1055 if test "${ac_cv_c_unroll_loops}" != "no"; then
1056 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1060 dnl Check for -fomit-frame-pointer
1061 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1062 [ac_cv_c_omit_frame_pointer],
1063 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1064 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1065 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1066 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1069 dnl Check for -mdynamic-no-pic
1070 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1071 dnl [ac_cv_c_dynamic_no_pic],
1072 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1073 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1074 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1075 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1076 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1079 dnl Check for Darwin plugin linking flags
1080 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1082 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1083 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1084 if test "${ac_cv_ld_darwin}" != "no"; then
1085 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1088 dnl Check for standard plugin linking flags
1089 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1090 dnl AS_IF([test "${SYS}" = "beos"], [
1091 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1093 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1094 dnl [ac_cv_ld_plugins],
1095 dnl [CFLAGS="${CFLAGS_save} -shared"
1096 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1097 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1098 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1102 dnl Checks for __attribute__(aligned()) directive
1103 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1104 [ac_cv_c_attribute_aligned],
1105 [ac_cv_c_attribute_aligned=0
1106 CFLAGS="${CFLAGS_save} -Werror"
1107 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1109 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1110 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1112 CFLAGS="${CFLAGS_save}"])
1113 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1114 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1115 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1118 dnl Check for __attribute__((packed))
1119 AC_CACHE_CHECK([for __attribute__((packed))],
1120 [ac_cv_c_attribute_packed],
1121 [ac_cv_c_attribute_packed=no
1122 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1123 [ac_cv_c_attribute_packed=yes])])
1124 if test "${ac_cv_c_attribute_packed}" != "no"; then
1125 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1131 case "${host_cpu}" in
1141 dnl Enable profiling
1143 AC_ARG_ENABLE(gprof,
1144 [ --enable-gprof gprof profiling (default disabled)])
1145 AC_ARG_ENABLE(cprof,
1146 [ --enable-cprof cprof profiling (default disabled)])
1147 test "${enable_gprof}" != "yes" && enable_gprof="no"
1148 test "${enable_cprof}" != "yes" && enable_cprof="no"
1153 VLC_ADD_PLUGIN([dummy])
1154 VLC_ADD_PLUGIN([logger])
1155 VLC_ADD_PLUGIN([memcpy])
1157 VLC_ADD_PLUGIN([mpgv])
1158 VLC_ADD_PLUGIN([mpga])
1159 VLC_ADD_PLUGIN([m4v])
1160 VLC_ADD_PLUGIN([m4a])
1161 VLC_ADD_PLUGIN([h264])
1162 VLC_ADD_PLUGIN([vc1])
1163 VLC_ADD_PLUGIN([demux_cdg])
1164 VLC_ADD_PLUGIN([cdg])
1165 VLC_ADD_PLUGIN([ps])
1166 VLC_ADD_PLUGIN([pva])
1167 VLC_ADD_PLUGIN([avi])
1168 VLC_ADD_PLUGIN([asf])
1169 VLC_ADD_PLUGIN([mp4])
1170 VLC_ADD_PLUGIN([rawdv])
1171 VLC_ADD_PLUGIN([rawvid])
1172 VLC_ADD_PLUGIN([nsv])
1173 VLC_ADD_PLUGIN([real])
1174 VLC_ADD_PLUGIN([aiff])
1175 VLC_ADD_PLUGIN([mjpeg])
1176 VLC_ADD_PLUGIN([wav])
1177 VLC_ADD_PLUGIN([voc])
1178 VLC_ADD_PLUGIN([smf])
1179 VLC_ADD_PLUGIN([demuxdump])
1180 VLC_ADD_PLUGIN([flacsys])
1181 VLC_ADD_PLUGIN([tta])
1182 VLC_ADD_PLUGIN([subtitle])
1183 VLC_ADD_PLUGIN([vobsub])
1184 VLC_ADD_PLUGIN([a52sys])
1185 VLC_ADD_PLUGIN([dtssys])
1186 VLC_ADD_PLUGIN([au])
1187 VLC_ADD_PLUGIN([ty])
1188 VLC_ADD_PLUGIN([xa])
1189 VLC_ADD_PLUGIN([nuv])
1191 VLC_ADD_PLUGIN([cvdsub])
1192 VLC_ADD_PLUGIN([svcdsub])
1193 VLC_ADD_PLUGIN([spudec])
1194 VLC_ADD_PLUGIN([subsdec])
1195 VLC_ADD_PLUGIN([subsusf])
1196 VLC_ADD_PLUGIN([t140])
1197 VLC_ADD_PLUGIN([dvbsub])
1198 VLC_ADD_PLUGIN([cc])
1200 VLC_ADD_PLUGIN([cinepak])
1202 VLC_ADD_PLUGIN([araw])
1203 VLC_ADD_PLUGIN([adpcm])
1204 VLC_ADD_PLUGIN([mpeg_audio])
1205 VLC_ADD_PLUGIN([lpcm])
1206 VLC_ADD_PLUGIN([a52])
1207 VLC_ADD_PLUGIN([dts])
1208 VLC_ADD_PLUGIN([flac])
1210 VLC_ADD_PLUGIN([deinterlace])
1211 VLC_ADD_PLUGIN([invert])
1212 VLC_ADD_PLUGIN([adjust])
1213 VLC_ADD_PLUGIN([transform])
1214 VLC_ADD_PLUGIN([wave])
1215 VLC_ADD_PLUGIN([ripple])
1216 VLC_ADD_PLUGIN([psychedelic])
1217 VLC_ADD_PLUGIN([gradient])
1218 VLC_ADD_PLUGIN([motionblur])
1219 VLC_ADD_PLUGIN([rv32])
1220 VLC_ADD_PLUGIN([rotate])
1221 VLC_ADD_PLUGIN([noise])
1222 VLC_ADD_PLUGIN([grain])
1223 VLC_ADD_PLUGIN([extract])
1224 VLC_ADD_PLUGIN([sharpen])
1225 VLC_ADD_PLUGIN([seamcarving])
1226 VLC_ADD_PLUGIN([croppadd])
1227 VLC_ADD_PLUGIN([blendbench])
1228 VLC_ADD_PLUGIN([blend])
1229 VLC_ADD_PLUGIN([scale])
1230 VLC_ADD_PLUGIN([image])
1231 VLC_ADD_PLUGIN([vmem])
1232 VLC_ADD_PLUGIN([logo])
1233 VLC_ADD_PLUGIN([magnify])
1234 VLC_ADD_PLUGIN([puzzle])
1235 VLC_ADD_PLUGIN([colorthres])
1237 VLC_ADD_PLUGIN([playlist])
1238 VLC_ADD_PLUGIN([export])
1239 VLC_ADD_PLUGIN([nsc])
1240 VLC_ADD_PLUGIN([xtag])
1241 dnl Channel mixing audio filters:
1242 VLC_ADD_PLUGIN([converter_fixed])
1243 VLC_ADD_PLUGIN([mono])
1244 VLC_ADD_PLUGIN([trivial_channel_mixer])
1245 dnl Resampling audio filters:
1246 VLC_ADD_PLUGIN([trivial_resampler])
1247 VLC_ADD_PLUGIN([ugly_resampler])
1249 VLC_ADD_PLUGIN([trivial_mixer])
1251 VLC_ADD_PLUGIN([i420_rgb])
1252 VLC_ADD_PLUGIN([grey_yuv])
1254 VLC_ADD_PLUGIN([rawvideo])
1256 VLC_ADD_PLUGIN([access_filter_timeshift])
1257 VLC_ADD_PLUGIN([access_filter_record])
1258 VLC_ADD_PLUGIN([access_filter_dump])
1259 VLC_ADD_PLUGIN([access_filter_bandwidth])
1261 ALIASES="${ALIASES} cvlc"
1264 dnl default modules that need g++
1267 VLC_ADD_PLUGIN([spatializer])
1270 if test "${SYS}" != "mingwce"; then
1271 VLC_ADD_PLUGIN([gestures])
1272 VLC_ADD_PLUGIN([rc])
1273 VLC_ADD_PLUGIN([telnet])
1274 VLC_ADD_PLUGIN([hotkeys])
1275 VLC_ADD_PLUGIN([showintf])
1276 VLC_ADD_PLUGIN([marq])
1277 VLC_ADD_PLUGIN([podcast])
1278 VLC_ADD_PLUGIN([shout])
1279 VLC_ADD_PLUGIN([sap])
1280 VLC_ADD_PLUGIN([fake])
1281 VLC_ADD_PLUGIN([folder])
1282 VLC_ADD_PLUGIN([rss])
1283 VLC_ADD_PLUGIN([mosaic])
1284 VLC_ADD_PLUGIN([wall])
1285 VLC_ADD_PLUGIN([motiondetect])
1286 VLC_ADD_PLUGIN([clone])
1287 VLC_ADD_PLUGIN([crop])
1288 VLC_ADD_PLUGIN([erase])
1289 VLC_ADD_PLUGIN([bluescreen])
1290 VLC_ADD_PLUGIN([alphamask])
1291 VLC_ADD_PLUGIN([gaussianblur])
1292 VLC_ADD_PLUGIN([i420_yuy2])
1293 VLC_ADD_PLUGIN([i422_yuy2])
1294 VLC_ADD_PLUGIN([i420_ymga])
1295 VLC_ADD_PLUGIN([i422_i420])
1296 VLC_ADD_PLUGIN([yuy2_i422])
1297 VLC_ADD_PLUGIN([yuy2_i420])
1298 VLC_ADD_PLUGIN([chroma_chain])
1299 VLC_ADD_PLUGIN([aout_file])
1300 VLC_ADD_PLUGIN([linear_resampler])
1301 VLC_ADD_PLUGIN([bandlimited_resampler])
1302 VLC_ADD_PLUGIN([float32_mixer])
1303 VLC_ADD_PLUGIN([spdif_mixer])
1304 VLC_ADD_PLUGIN([simple_channel_mixer])
1305 VLC_ADD_PLUGIN([dolby_surround_decoder])
1306 VLC_ADD_PLUGIN([headphone_channel_mixer])
1307 VLC_ADD_PLUGIN([normvol])
1308 VLC_ADD_PLUGIN([equalizer])
1309 VLC_ADD_PLUGIN([param_eq])
1310 VLC_ADD_PLUGIN([converter_float])
1311 VLC_ADD_PLUGIN([a52tospdif])
1312 VLC_ADD_PLUGIN([dtstospdif])
1313 VLC_ADD_PLUGIN([audio_format])
1314 ALIASES="${ALIASES} rvlc"
1318 dnl Some plugins aren't useful on some platforms
1320 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1321 VLC_ADD_PLUGIN([screensaver])
1322 VLC_ADD_PLUGIN([motion])
1323 VLC_ADD_PLUGIN([dynamicoverlay])
1324 elif test "${SYS}" != "mingwce"; then
1325 VLC_ADD_PLUGIN([ntservice])
1326 VLC_ADD_PLUGIN([access_smb])
1327 VLC_ADD_PLUGIN([dmo])
1328 VLC_ADD_PLUGIN([msn])
1329 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1331 VLC_ADD_PLUGIN([win32text])
1333 if test "${SYS}" = "darwin"; then
1334 VLC_ADD_PLUGIN([quartztext])
1335 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1339 dnl Accelerated modules
1342 AC_ARG_WITH(,[Optimization options:])
1344 dnl Check for fully working MMX intrinsics
1345 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1346 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1348 [ --disable-mmx disable MMX optimizations (default auto)],,[
1349 case "${host_cpu}" in
1358 AS_IF([test "${enable_mmx}" != "no"], [
1361 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1362 [ac_cv_c_mmx_intrinsics],
1363 [CFLAGS="${CFLAGS_save} -O -mmmx"
1364 AC_TRY_COMPILE([#include <mmintrin.h>
1368 a = b = c = (__m64)frobzor;
1369 a = _mm_slli_pi16(a, 3);
1370 a = _mm_adds_pi16(a, b);
1371 c = _mm_srli_pi16(c, 8);
1372 c = _mm_slli_pi16(c, 3);
1373 b = _mm_adds_pi16(b, c);
1374 a = _mm_unpacklo_pi8(a, b);
1375 frobzor = (uint64_t)a;],
1376 [ac_cv_c_mmx_intrinsics=yes],
1377 [ac_cv_c_mmx_intrinsics=no])])
1378 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1379 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1380 [Define to 1 if MMX intrinsics are available.])
1381 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1384 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1386 [CFLAGS="${CFLAGS_save}"
1387 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1388 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1389 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1390 AC_DEFINE(CAN_COMPILE_MMX, 1,
1391 [Define to 1 inline MMX assembly is available.])
1392 VLC_ADD_PLUGIN([memcpymmx])
1393 VLC_ADD_PLUGIN([i420_rgb_mmx])
1394 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1395 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1396 VLC_ADD_PLUGIN([i420_ymga_mmx])
1399 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1400 [ac_cv_mmxext_inline],
1401 [CFLAGS="${CFLAGS_save}"
1402 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1403 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1404 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1405 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1406 [Define to 1 if MMX EXT inline assembly is available.])
1407 VLC_ADD_PLUGIN([memcpymmxext])
1411 dnl Check for fully workin SSE2 intrinsics
1412 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1413 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1415 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)],, [
1416 case "${host_cpu}" in
1425 AS_IF([test "${enable_sse}" != "no"], [
1426 ARCH="${ARCH} sse sse2"
1428 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1429 [ac_cv_c_sse2_intrinsics],
1430 [CFLAGS="${CFLAGS_save} -O -msse2"
1431 AC_TRY_COMPILE([#include <emmintrin.h>
1435 a = b = c = _mm_set1_epi64((__m64)frobzor);
1436 a = _mm_slli_epi16(a, 3);
1437 a = _mm_adds_epi16(a, b);
1438 c = _mm_srli_epi16(c, 8);
1439 c = _mm_slli_epi16(c, 3);
1440 b = _mm_adds_epi16(b, c);
1441 a = _mm_unpacklo_epi8(a, b);
1442 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1443 [ac_cv_c_sse2_intrinsics=yes],
1444 [ac_cv_c_sse2_intrinsics=no])])
1445 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1446 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1447 [Define to 1 if SSE2 intrinsics are available.])
1448 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1451 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1453 [CFLAGS="${CFLAGS_save}"
1454 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1455 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1456 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1457 AC_DEFINE(CAN_COMPILE_SSE, 1,
1458 [Define to 1 if SSE inline assembly is available.])
1461 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1462 [ac_cv_sse2_inline],
1463 [CFLAGS="${CFLAGS_save}"
1464 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1465 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1466 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1467 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1468 [Define to 1 if SSE2 inline assembly is available.])
1469 VLC_ADD_PLUGIN([i420_rgb_sse2])
1470 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1471 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1475 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1476 [ac_cv_3dnow_inline],
1477 [CFLAGS="${CFLAGS_save}"
1478 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1479 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1480 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1481 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1482 [Define to 1 if 3D Now! inline assembly is available.])
1483 VLC_ADD_PLUGIN([memcpy3dn])
1486 AC_ARG_ENABLE(altivec,
1487 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1488 AS_IF([test "${host_cpu}" = "powerpc"],
1489 [enable_altivec=yes], [enable_altivec=no])
1491 AS_IF([test "${enable_altivec}" = "yes"], [
1492 ARCH="${ARCH} altivec";
1493 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1494 [ac_cv_altivec_inline],
1495 [CFLAGS="${CFLAGS_save}"
1496 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1497 ac_cv_altivec_inline="yes",
1498 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1499 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1500 [ac_cv_altivec_inline="-Wa,-m7400"],
1501 ac_cv_altivec_inline=no)
1503 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1504 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1505 [Define to 1 if AltiVec inline assembly is available.])
1506 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1507 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1508 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1509 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1510 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1511 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1513 VLC_ADD_PLUGIN([memcpyaltivec])
1514 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1517 dnl The AltiVec C extensions
1519 dnl There are several possible cases:
1520 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1521 dnl need <altivec.h>
1522 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1523 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1524 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1525 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1526 dnl - Others: test should fail
1527 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1529 [# OS X/PPC test (gcc 4.x)
1530 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1531 AC_TRY_COMPILE([vector unsigned char foo;],
1532 [vec_ld(0, (unsigned char *)0);],
1533 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1534 [# OS X/PPC test (gcc 3.x)
1535 CFLAGS="${CFLAGS_save} -faltivec"
1536 AC_TRY_COMPILE([vector unsigned char foo;],
1537 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1538 [ac_cv_c_altivec="-faltivec"],
1539 dnl Below this are the Linux tests
1540 [# Linux/PPC test (gcc 4.x)
1541 CFLAGS="${CFLAGS_save} -maltivec"
1542 AC_TRY_COMPILE([#include <altivec.h>],
1543 [vec_ld(0, (unsigned char *)0);],
1544 [ac_cv_c_altivec="-maltivec"],
1545 [# Linux/PPC test (gcc 3.3)
1546 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1547 AC_TRY_COMPILE([#include <altivec.h>],
1548 [vec_ld(0, (unsigned char *)0);],
1550 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1551 [# Linux/PPC test (gcc 3.3)
1552 CFLAGS="${CFLAGS_save} -fvec"
1553 AC_TRY_COMPILE([#include <altivec.h>],
1554 [vec_ld(0, (unsigned char *)0);],
1555 [ac_cv_c_altivec="-fvec"],
1556 [ac_cv_c_altivec=no])
1561 CFLAGS="${CFLAGS_save}"
1563 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1564 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1567 AC_CHECK_HEADERS(altivec.h)
1568 CPPFLAGS="${CPPFLAGS_save}"
1570 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1571 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1572 [Define to 1 if C AltiVec extensions are available.])
1573 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1574 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1575 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1576 VLC_ADD_PLUGIN([memcpyaltivec])
1577 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1580 AC_CACHE_CHECK([if linker needs -framework vecLib],
1582 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1583 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1584 LDFLAGS="${LDFLAGS_save}"
1586 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1587 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1592 dnl Special arch tuning
1595 [ --with-tuning=ARCH enable special tuning for an architecture
1596 (default Pentium 2 on IA-32 and G4 on PPC)])
1597 if test -n "${with_tuning}"; then
1598 if test "${with_tuning}" != "no"; then
1599 CFLAGS_TUNING="-mtune=${with_tuning}"
1602 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1603 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1604 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1605 CFLAGS_TUNING="-mtune=pentium2"
1606 elif test "${host_cpu}" = "x86_64"; then
1607 CFLAGS_TUNING="-mtune=athlon64"
1608 elif test "${host_cpu}" = "powerpc"; then
1609 CFLAGS_TUNING="-mtune=G4";
1613 dnl NOTE: this can't be cached cleanly
1614 AS_IF([test "${CFLAGS_TUNING}"],
1615 [CFLAGS_save="${CFLAGS}"
1616 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1618 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1619 AC_COMPILE_IFELSE([ ],
1621 [CFLAGS_TUNING=""; tuning="no"
1622 AS_IF([test "${with_tuning}"],
1623 [AC_MSG_ERROR([requested tuning not supported])])])
1625 AC_MSG_RESULT([$tuning])
1626 CFLAGS="${CFLAGS_save}"
1632 AC_ARG_ENABLE(optimize-memory,
1633 [ --enable-optimize-memory optimize memory usage over performance])
1634 if test "${enable_optimize_memory}" = "yes"; then
1635 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1639 dnl Enable/disable optimizations
1641 AC_ARG_ENABLE(optimizations,
1642 [ --disable-optimizations disable compiler optimizations (default enabled)])
1643 if test "${enable_optimizations}" != "no"; then
1644 if test "${enable_optimize_memory}" = "yes"; then
1645 enable_optimizations="size"
1647 enable_optimizations="speed"
1654 AC_ARG_ENABLE(debug,
1655 [ --enable-debug debug mode (default disabled)])
1656 test "${enable_debug}" != "yes" && enable_debug="no"
1658 [Define to 1 if debug code should NOT be compiled])
1659 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1664 AC_ARG_ENABLE(coverage,
1665 [ --enable-coverage build for test coverage (default disabled)],,
1666 [enable_coverage="no"])
1667 AS_IF([test "${enable_coverage}" != "no"], [
1668 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1669 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1670 LDFLAGS="-lgcov ${LDFLAGS}"
1672 CFLAGS_save="${CFLAGS}"
1673 CXXFLAGS_save="${CXXFLAGS}"
1674 LDFLAGS_save="${LDFLAGS}"
1678 dnl Enable release-specific flags
1680 AC_ARG_ENABLE(release,
1681 [ --enable-release activate extra optimizations (default disabled)])
1682 test "${enable_release}" != "yes" && enable_release="no"
1688 [ --enable-sout Stream output modules (default enabled)])
1689 AS_IF([test "${enable_sout}" != "no"], [
1690 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1692 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1694 AC_ARG_ENABLE(switcher,
1695 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1697 dnl Check for libshout
1698 AC_ARG_ENABLE(shout,
1699 [ --enable-shout libshout output plugin (default disabled)])
1700 if test "${enable_shout}" = "yes"; then
1701 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1702 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1703 VLC_ADD_PLUGIN([access_output_shout])
1704 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1705 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1706 [AC_MSG_WARN(libshout library not found)])
1711 [ --enable-lua lua playlist, metafetcher and interface plugins (default enabled)])
1712 if test "${enable_lua}" != "no"
1714 PKG_CHECK_MODULES(LUA, lua5.1,
1717 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1718 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1722 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1725 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1726 [LUA_LIBS="-llua5.1"],
1727 AC_CHECK_LIB( lua51 , luaL_newstate,
1728 [LUA_LIBS="-llua51"],
1729 AC_CHECK_LIB( lua , luaL_newstate,
1732 AC_MSG_WARN([lua >= 5.1 not found!])
1738 if test "x${have_lua}" = "xyes" ; then
1739 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1740 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1741 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1744 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1749 AC_ARG_ENABLE(httpd,
1750 [ --enable-httpd HTTP daemon (default enabled)])
1751 if test "${enable_httpd}" != "no"
1753 VLC_ADD_PLUGIN([http])
1754 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1756 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1759 dnl VideoLAN manager
1762 [ --enable-vlm VideoLAN manager (default enabled)])
1763 if test "${enable_vlm}" != "no"
1765 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1769 dnl Growl notification plugin
1771 AC_ARG_ENABLE(growl,
1772 [ --enable-growl growl notification plugin (default enabled)])
1773 AS_IF([test "${enable_growl}" != "no"], [
1774 VLC_ADD_PLUGIN([growl_udp])
1775 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1776 VLC_ADD_PLUGIN([growl])
1777 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1783 dnl Libnotify notification plugin
1786 AC_ARG_ENABLE(notify,
1787 [ --enable-notify libnotify notification plugin (default enabled)])
1788 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1789 PKG_CHECK_MODULES(NOTIFY, libnotify,
1791 VLC_ADD_PLUGIN([notify])
1792 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1793 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1795 AS_IF([test "${enable_notify}" = "yes"],[
1796 AC_MSG_WARN( libnotify not found) ])
1801 dnl Audioscrobbler plugin
1804 AC_ARG_ENABLE(audioscrobbler,
1805 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1806 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1807 VLC_ADD_PLUGIN([audioscrobbler])
1811 dnl Musicbrainz plugin
1813 AC_ARG_ENABLE(musicbrainz,
1814 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1815 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1816 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1817 [ VLC_ADD_PLUGIN([musicbrainz])
1818 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1819 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1820 [AC_MSG_WARN(MusicBrainz library not found)])
1827 AC_ARG_ENABLE(taglib,
1828 [ --disable-taglib Taglib support (default enabled) ])
1829 AS_IF([test "${enable_taglib}" != "no"],[
1830 PKG_CHECK_MODULES(TAGLIB, taglib,
1831 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1832 VLC_ADD_PLUGIN([taglib])
1833 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1834 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1835 [AC_MSG_WARN(TagLib library not found)])
1843 AC_ARG_WITH(,[Input plugins:])
1847 if test "${enable_livedotcom}"
1849 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1852 if test "${enable_livedotcom}" = "no"
1856 AC_ARG_ENABLE(live555,
1857 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1858 if test "${enable_live555}" != "no"; then
1859 AC_ARG_WITH(live555-tree,
1860 [ --with-live555-tree=PATH live.com tree for static linking])
1863 dnl test for --with-live555-tree
1865 if test "${with_livedotcom_tree}"
1867 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1868 with_live555_tree="${with_livedotcom_tree}"
1871 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1873 CPPFLAGS_save="${CPPFLAGS}"
1874 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1875 if test "${SYS}" = "solaris"; then
1876 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1878 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1879 AC_CHECK_HEADERS(liveMedia.hh, [
1880 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1881 AC_CHECK_LIB(liveMedia_pic, main, [
1882 # We have -lliveMedia_pic, build plugins
1883 VLC_ADD_PLUGIN([live555])
1884 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1886 AC_CHECK_LIB(liveMedia, main, [
1887 # We only have -lliveMedia, do builtins
1888 VLC_ADD_PLUGIN([live555])
1889 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1892 if test "${SYS}" = "mingw32"; then
1893 # add ws2_32 for closesocket, select, recv
1894 VLC_ADD_LIBS([live555],[-lws2_32])
1897 CPPFLAGS="${CPPFLAGS_save}"
1900 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1901 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1902 if test -z "${real_live555_tree}"; then
1903 dnl The given directory can't be found
1905 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1907 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1908 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1910 VLC_ADD_PLUGIN([live555])
1912 if test "${SYS}" = "mingw32"; then
1913 # add ws2_32 for closesocket, select, recv
1914 VLC_ADD_LIBS([live555],[-lws2_32])
1917 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1918 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1919 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1920 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1922 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1923 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1924 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1925 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1926 if test "${SYS}" = "solaris"; then
1927 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1930 dnl The given live555 wasn't built
1932 if test "${enable_live555}" = "yes"; then
1933 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1940 dnl special access module for dc1394 input
1942 AC_ARG_ENABLE(dc1394,
1943 [ --enable-dc1394 dc1394 access module (default disabled)])
1944 if test "${enable_dc1394}" = "yes"
1946 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1947 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1948 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1949 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1950 VLC_ADD_PLUGIN([dc1394])
1951 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1954 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1958 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1962 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1966 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1971 dnl dv module: digital video module check for libraw1394
1974 [ --enable-dv dv input module (default disabled)])
1975 if test "${enable_dv}" = "yes"
1977 AC_ARG_WITH(dv-raw1394,
1978 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1979 AC_ARG_WITH(dv-raw1394-tree,
1980 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1982 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1984 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1985 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1987 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1989 VLC_ADD_PLUGIN([access_dv])
1990 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1991 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1993 dnl No libraw1394 could be found, sorry
1995 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1998 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1999 [ VLC_ADD_PLUGIN([access_dv])
2000 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2002 if test -n "${enable_dv}"
2004 AC_MSG_ERROR([cannot find libraw1394 headers])
2009 dnl Check for static linking of libraw1394
2010 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2012 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2013 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2014 if test -z "${real_dv_raw1394_tree}"
2016 dnl The given directory can't be found
2018 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2020 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2022 dnl Use a custom libraw1394
2023 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2024 VLC_ADD_BUILTINS([access_dv])
2025 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2026 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2028 dnl The given libraw1394 wasn't built
2030 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2035 dnl Check for libavc1394
2038 AC_ARG_WITH(dv-avc1394,
2039 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2040 AC_ARG_WITH(dv-avc1394-tree,
2041 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2043 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2045 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2046 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2048 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2050 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2051 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2053 dnl No libavc1394 could be found, sorry
2055 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2058 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2059 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2061 if test -n "${enable_dv}"
2063 AC_MSG_ERROR([cannot find libavc1394 headers])
2068 dnl Check for static linking of libavc1394
2069 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2071 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2072 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2073 if test -z "${real_dv_avc1394_tree}"
2075 dnl The given directory can't be found
2077 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2079 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2081 dnl Use a custom libavc1394
2082 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2083 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2084 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2086 dnl The given libavc1394 wasn't built
2088 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2094 dnl dvdread module: check for libdvdread
2096 AC_ARG_ENABLE(dvdread,
2097 [ --enable-dvdread dvdread input module (default disabled)])
2098 if test "${enable_dvdread}" != "no"
2100 AC_ARG_WITH(dvdread,
2101 [ --with-dvdread=PATH libdvdread headers and libraries])
2102 AC_ARG_WITH(dvdread-tree,
2103 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2105 dnl Temporary hack (yeah, sure ;)
2106 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2107 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2110 if test -z "${with_dvdread}"
2112 if test -z "${with_dvdread_tree}"
2114 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2115 [ VLC_ADD_PLUGIN([dvdread])
2116 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2118 if test -n "${enable_dvdread}"
2120 AC_MSG_ERROR([cannot find libdvdread headers])
2124 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2125 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2126 if test -z "${real_dvdread_tree}"
2128 dnl The given directory can't be found
2130 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2132 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2134 dnl Use a custom libdvdread
2135 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2136 VLC_ADD_BUILTINS([dvdread])
2137 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2138 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2140 dnl The given libdvdread wasn't built
2142 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2146 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2147 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2149 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2151 VLC_ADD_PLUGIN([dvdread])
2152 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2153 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2155 dnl No libdvdread could be found, sorry
2157 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2163 dnl libdvdnav plugin
2165 AC_ARG_ENABLE(dvdnav,
2166 [ --enable-dvdnav dvdnav input module (default enabled)])
2167 if test "${enable_dvdnav}" != "no"
2169 dnl Same hack than dvdread
2170 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2171 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2174 DVDNAV_PATH="${PATH}"
2175 AC_ARG_WITH(dvdnav-config-path,
2176 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2177 [ if test "${with_dvdnav_config_path}" != "no"
2179 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2181 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2182 if test "${DVDNAV_CONFIG}" != "no"
2184 VLC_ADD_PLUGIN([dvdnav])
2185 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2186 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2191 dnl Windows DirectShow access module
2193 AC_ARG_ENABLE(dshow,
2194 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2195 if test "${enable_dshow}" != "no"
2197 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2200 AC_CHECK_HEADERS(dshow.h,
2201 [ VLC_ADD_PLUGIN([dshow])
2202 VLC_ADD_CXXFLAGS([dshow],[])
2203 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2209 dnl Windows DirectShow BDA access module
2212 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2213 if test "${enable_bda}" != "no"
2215 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2217 AC_CHECK_HEADERS(dshow.h,
2218 [ VLC_ADD_PLUGIN([bda])
2219 VLC_ADD_CXXFLAGS([bda],[])
2220 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2226 dnl OpenCV wrapper and example filters
2228 AC_ARG_ENABLE(opencv,
2229 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2230 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2232 AC_ARG_WITH(opencv-tree,
2233 [ --with-opencv-tree=PATH opencv tree for linking])
2234 if test -n "${with_opencv_tree}"
2236 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2238 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2239 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2240 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2243 VLC_ADD_PLUGIN([opencv_wrapper])
2244 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2245 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])
2247 VLC_ADD_PLUGIN([opencv_example])
2248 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2249 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])
2252 dnl No opencv could be found, sorry
2254 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2257 AC_MSG_WARN([--enable-opencv currently only works on windows])
2264 dnl libsmbclient plugin
2267 [ --enable-smb smb input module (default enabled)])
2268 if test "${enable_smb}" != "no"; then
2269 AC_CHECK_HEADERS(libsmbclient.h,
2270 [ VLC_ADD_PLUGIN([access_smb])
2271 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2272 [ if test -n "${enable_smb}"; then
2273 AC_MSG_ERROR([cannot find libsmbclient headers])
2275 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2276 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2277 [#include <libsmbclient.h>])
2281 dnl libdvbpsi ts demux/mux
2283 AC_ARG_ENABLE(dvbpsi,
2284 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2285 if test "${enable_dvbpsi}" != "no"
2288 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2290 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2291 case "${with_dvbpsi}" in
2293 if test -z "${with_dvbpsi_tree}"
2295 AC_CHECK_HEADERS(dvbpsi/dr.h,
2296 [ VLC_ADD_PLUGIN([ts])
2297 if test "${enable_sout}" != "no"; then
2298 VLC_ADD_PLUGIN([mux_ts])
2300 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2301 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2302 [#if defined( HAVE_STDINT_H )
2303 # include <stdint.h>
2304 #elif defined( HAVE_INTTYPES_H )
2305 # include <inttypes.h>
2307 #include <dvbpsi/dvbpsi.h>
2308 #include <dvbpsi/descriptor.h>
2309 #include <dvbpsi/pat.h>
2310 #include <dvbpsi/pmt.h>])
2312 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2313 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2314 if test -z "${real_dvbpsi_tree}"
2316 dnl The given directory can't be found
2318 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2320 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2322 dnl Use a custom libdvbpsi
2323 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2324 VLC_ADD_BUILTINS([ts])
2325 if test "${enable_sout}" != "no"; then
2326 VLC_ADD_BUILTINS([mux_ts])
2328 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2329 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2331 dnl The given libdvbpsi wasn't built
2333 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2338 dnl Compile without dvbpsi
2341 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2342 if test -z "${with_dvbpsi}"
2347 LDFLAGS_test="-L${with_dvbpsi}/lib"
2348 CPPFLAGS_test="-I${with_dvbpsi}/include"
2350 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2351 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2352 VLC_ADD_PLUGIN([ts])
2353 if test "${enable_sout}" != "no"; then
2354 VLC_ADD_PLUGIN([mux_ts])
2356 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2357 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2360 if test -n "${enable_dvbpsi}"
2362 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])
2365 CPPFLAGS="${CPPFLAGS_save}"
2368 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2369 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2370 ], [], [${LIBS_ts}])
2375 dnl Video4Linux plugin
2378 [ --enable-v4l Video4Linux input support (default disabled)])
2379 if test "${enable_v4l}" = "yes"
2382 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2383 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2385 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2388 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2389 AC_CHECK_HEADERS(linux/videodev.h, [
2390 VLC_ADD_PLUGIN([v4l])
2392 CPPFLAGS="${CPPFLAGS_save}"
2396 dnl Video4Linux2 plugin
2399 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2400 if test "${enable_v4l2}" = "yes"
2403 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2404 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2406 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2409 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2410 if test "${have_v4l2_alsa}" = "true"
2412 CFLAGS="${CFLAGS_save}"
2413 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2414 #define ALSA_PCM_NEW_SW_PARAMS_API
2415 #include <alsa/asoundlib.h>],
2416 [snd_pcm_hw_params_get_period_time(0,0,0);],
2417 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2418 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2419 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2422 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2423 AC_CHECK_HEADERS(linux/videodev2.h, [
2424 VLC_ADD_PLUGIN([v4l2])
2426 CPPFLAGS="${CPPFLAGS_save}"
2431 dnl special access module for Hauppauge PVR cards
2434 [ --enable-pvr PVR cards access module (default disabled)])
2435 if test "${enable_pvr}" = "yes"
2437 VLC_ADD_PLUGIN([pvr])
2438 AC_ARG_WITH(videodev2,
2439 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2440 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2442 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2446 AC_CACHE_CHECK([for new linux/videodev2.h],
2447 [new_linux_videodev2_h],
2449 #include <sys/types.h>
2450 # ifdef VIDEODEV2_H_FILE
2451 # include VIDEODEV2_H_FILE
2453 # include <linux/videodev2.h>
2456 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2457 new_linux_videodev2_h=yes,
2458 new_linux_videodev2_h=no)])
2459 if test "${new_linux_videodev2_h}" != "no"; then
2460 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2465 dnl gnomeVFS access module
2467 AC_ARG_ENABLE(gnomevfs,
2468 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2469 if test "${enable_gnomevfs}" = "yes"
2471 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2472 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2473 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2474 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2475 VLC_ADD_PLUGIN([access_gnomevfs]),
2476 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2479 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2480 AC_ARG_ENABLE(libcdio,
2481 [ --enable-libcdio CD input and control library support (default enabled)])
2486 if test "${enable_libcdio}" != "no"
2488 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2490 AC_DEFINE(HAVE_LIBCDIO, 1,
2491 [Define if you have libcdio 0.78.2 or greater installed]),
2492 [AC_MSG_WARN(CD Reading and information library not found)])
2494 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2495 [have_libvcdinfo=yes
2496 AC_DEFINE(HAVE_VCDINFO, 1,
2497 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2498 [AC_MSG_WARN(VCD information library not found)])
2502 dnl VCDX and CDDAX modules
2504 AC_ARG_ENABLE(cddax,
2505 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2507 AC_ARG_ENABLE(libcddb,
2508 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2510 if test "${enable_cddax}" = "yes"
2512 if test "$have_libcdio" = "yes"
2514 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2515 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2516 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2517 VLC_ADD_PLUGIN([cddax])
2518 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2519 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2520 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2522 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2526 if test "$enable_libcddb" != "no"; then
2527 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2529 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2530 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2531 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2533 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2540 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2542 if test "${enable_vcdx}" = "yes"
2544 if test "${have_libvcdinfo}" = "yes"
2546 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2547 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2549 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2553 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2554 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2555 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2556 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2559 if test "$have_libvcdinfo" = "yes"
2561 AC_DEFINE(HAVE_VCDX, 1,
2562 [Define for the VCD plugin using libcdio/libvcdinfo])
2563 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2564 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2565 VLC_ADD_PLUGIN([vcdx])
2567 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2573 dnl Built-in CD-DA and VCD module
2576 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2579 [ --enable-vcd built-in VCD (default enabled)])
2581 if test "${enable_vcd}" != "no"
2583 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2584 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2586 VLC_ADD_PLUGIN([vcd])
2587 VLC_ADD_PLUGIN([cdda])
2592 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2593 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2595 VLC_ADD_PLUGIN([vcd])
2596 VLC_ADD_PLUGIN([cdda])
2597 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2602 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2603 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2605 VLC_ADD_PLUGIN([vcd])
2606 VLC_ADD_PLUGIN([cdda])
2607 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2612 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2614 VLC_ADD_PLUGIN([vcd])
2615 VLC_ADD_PLUGIN([cdda])
2618 if test "${SYS}" = "darwin"
2620 VLC_ADD_PLUGIN([vcd])
2621 VLC_ADD_PLUGIN([cdda])
2622 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2623 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2626 if test "$enable_libcddb" != "no"; then
2627 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2629 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2630 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2631 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2633 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2639 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2642 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2644 if test "${enable_dvb}" = "yes"
2647 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2648 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2650 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2652 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2653 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2654 if test -z "${with_dvbpsi_tree}"
2656 VLC_ADD_PLUGIN([dvb])
2658 VLC_ADD_BUILTINS([dvb])
2660 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2661 CPPFLAGS="${CPPFLAGS_save}"
2665 dnl Screen capture module
2667 AC_ARG_ENABLE(screen,
2668 [ --enable-screen Screen capture support (default enabled)])
2669 if test "${enable_screen}" != "no"; then
2670 if test "${SYS}" = "darwin"; then
2671 AC_CHECK_HEADERS(OpenGL/gl.h, [
2672 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2673 VLC_ADD_PLUGIN([screen])
2674 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2677 elif test "${SYS}" = "mingw32"; then
2678 VLC_ADD_PLUGIN([screen])
2679 VLC_ADD_LIBS([screen],[-lgdi32])
2680 elif test "${SYS}" = "mingwce"; then
2681 CPPFLAGS="${CPPFLAGS_save}"
2682 elif test "${SYS}" = "beos"; then
2683 VLC_ADD_PLUGIN([screen])
2684 VLC_ADD_CXXFLAGS([screen],[])
2685 VLC_ADD_LIBS([screen],[-lbe])
2687 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2688 AC_CHECK_HEADERS(X11/Xlib.h, [
2689 VLC_ADD_PLUGIN([screen])
2690 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2691 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2693 CPPFLAGS="${CPPFLAGS_save}"
2698 dnl ipv6 plugin - not for QNX yet
2701 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2702 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2705 AS_IF([test "${have_ipv6}" = "yes"], [
2706 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2709 AC_CHECK_FUNCS(inet_ntop,[
2710 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2714 dnl ogg demux plugin
2717 [ --enable-ogg Ogg demux support (default enabled)])
2718 if test "${enable_ogg}" != "no"
2720 AC_ARG_WITH(ogg-tree,
2721 [ --with-ogg-tree=PATH ogg tree for static linking])
2722 if test -n "${with_ogg_tree}"
2724 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2725 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2726 if test -z "${real_ogg_tree}"
2728 dnl The given directory can't be found
2730 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2732 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2734 dnl Use a custom ogg
2735 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2736 VLC_ADD_PLUGIN([ogg])
2737 if test "${enable_sout}" != "no"; then
2738 VLC_ADD_PLUGIN([mux_ogg])
2740 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2741 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2743 dnl The given ogg wasn't built
2745 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2748 AC_CHECK_HEADERS(ogg/ogg.h, [
2749 AC_CHECK_LIB( ogg, oggpack_read, [
2750 VLC_ADD_PLUGIN([ogg])
2751 if test "${enable_sout}" != "no"; then
2752 VLC_ADD_PLUGIN([mux_ogg])
2754 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2760 dnl matroska demux plugin
2763 [ --enable-mkv Matroska demux support (default enabled)])
2764 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2766 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2767 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2769 [#include <ebml/EbmlVersion.h>
2770 #ifdef LIBEBML_VERSION
2771 #if LIBEBML_VERSION >= 0x000706
2775 [AC_MSG_RESULT([yes])
2776 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2777 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2779 [#include <matroska/KaxVersion.h>
2780 #ifdef LIBMATROSKA_VERSION
2781 #if LIBMATROSKA_VERSION >= 0x000705
2785 [AC_MSG_RESULT([yes])
2786 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2787 VLC_ADD_CXXFLAGS([mkv],[])
2788 if test "${SYS}" = "darwin"; then
2789 VLC_ADD_CXXFLAGS([mkv],[-O1])
2791 AC_CHECK_LIB(ebml_pic, main, [
2792 VLC_ADD_PLUGIN([mkv])
2793 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2795 AC_CHECK_LIB(ebml, main, [
2796 VLC_ADD_PLUGIN([mkv])
2797 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2801 [AC_MSG_RESULT([no])
2802 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.])
2806 [AC_MSG_RESULT([no])
2807 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.])
2814 dnl modplug demux plugin
2817 [ --enable-mod Mod demux support (default enabled)])
2818 if test "${enable_mod}" != "no"
2820 AC_ARG_WITH(mod-tree,
2821 [ --with-mod-tree=PATH mod tree for static linking])
2822 if test -n "${with_mod_tree}"
2824 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2825 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2826 if test -z "${real_mod_tree}"
2828 dnl The given directory can't be found
2830 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2832 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2834 dnl Use a custom mod
2835 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2836 VLC_ADD_PLUGIN([mod])
2837 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2838 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2840 dnl The given mod wasn't built
2842 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2845 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2846 VLC_ADD_PLUGIN([mod])
2847 VLC_ADD_CXXFLAGS([mod],[])
2848 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2853 dnl mpc demux plugin
2856 [ --enable-mpc Mpc demux support (default enabled)])
2857 if test "${enable_mpc}" != "no"
2859 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2860 VLC_ADD_PLUGIN([mpc])
2861 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2865 dnl game music emu demux plugin
2868 [ --enable-gme Game Music Emu demux support (default enabled)])
2869 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2872 AC_ARG_WITH(gme-tree,
2873 [ --with-gme-tree=PATH gme tree for static linking])
2874 if test -n "${with_gme_tree}"
2876 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2877 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2878 if test -z "${real_gme_tree}"
2880 dnl The given directory can't be found
2882 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2884 if test -f "${real_gme_tree}/gme/libgme.a"
2886 dnl Use a custom gme
2887 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2888 VLC_ADD_PLUGIN([gme])
2889 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2890 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2892 dnl The given gme wasn't built
2894 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2897 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2906 AC_ARG_WITH(,[Codec plugins:])
2912 [ --enable-mad libmad module (default enabled)])
2913 if test "${enable_mad}" != "no"
2916 [ --with-mad=PATH path to libmad],[],[])
2917 if test "${with_mad}" != "no" -a -n "${with_mad}"
2919 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2920 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2923 AC_ARG_WITH(mad-tree,
2924 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2925 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2927 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2928 if test -z "${real_mad_tree}"
2930 dnl The given directory can't be found
2932 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2934 dnl Use a custom libmad
2935 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2936 if test -f ${real_mad_tree}/mad.h
2939 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2940 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2941 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2942 AC_CHECK_LIB(mad, mad_bit_init, [
2943 VLC_ADD_BUILTINS([mpgatofixed32])
2944 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2945 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2947 LDFLAGS="${LDFLAGS_save}"
2950 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2953 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2954 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2955 AC_CHECK_HEADERS(mad.h, ,
2956 [ 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.]) ])
2957 AC_CHECK_LIB(mad, mad_bit_init, [
2958 VLC_ADD_PLUGIN([mpgatofixed32])
2959 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2960 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2961 CPPFLAGS="${CPPFLAGS_save}"
2962 LDFLAGS="${LDFLAGS_save}"
2967 dnl libid3tag support (FIXME!!! doesn't work with new input)
2969 AC_ARG_ENABLE( id3tag,
2970 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2971 AS_IF([test "${enable_id3tag}" != "no"], [
2972 AC_CHECK_HEADERS(id3tag.h, [
2973 AC_CHECK_HEADERS(zlib.h, [
2974 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2975 VLC_ADD_PLUGIN([id3tag])
2981 dnl ffmpeg decoder/demuxer plugin
2983 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2984 dnl 3- default place,
2986 AC_ARG_ENABLE(ffmpeg,
2987 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2988 if test "${enable_ffmpeg}" != "no"
2991 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2993 AC_ARG_WITH(ffmpeg-mp3lame,
2994 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2996 if test "$with_ffmpeg_mp3lame" = "yes"; then
2997 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
3000 AC_ARG_WITH(ffmpeg-faac,
3001 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
3003 if test "$with_ffmpeg_faac" = "yes"; then
3004 VLC_ADD_LIBS([ffmpeg],[-lfaac])
3007 AC_ARG_WITH(ffmpeg-dts,
3008 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
3010 if test "$with_ffmpeg_dts" = "yes"; then
3011 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3012 AC_CHECK_LIB(dts_pic, dts_free,
3013 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
3014 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
3015 LDFLAGS="${LDFLAGS_save}"
3018 AC_ARG_WITH(ffmpeg-dca,
3019 [ --with-ffmpeg-dca specify if ffmpeg has been compiled with dca support],
3021 if test "$with_ffmpeg_dca" = "yes"; then
3022 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3023 AC_CHECK_LIB(dca, dca_free, [ VLC_ADD_LIBS([ffmpeg],[-ldca]) ])
3024 LDFLAGS="${LDFLAGS_save}"
3027 AC_ARG_WITH(ffmpeg-vorbis,
3028 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
3030 if test "$with_ffmpeg_vorbis" = "yes"; then
3031 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
3034 AC_ARG_WITH(ffmpeg-theora,
3035 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
3037 if test "$with_ffmpeg_theora" = "yes"; then
3038 VLC_ADD_LIBS([ffmpeg],[-ltheora])
3041 AC_ARG_WITH(ffmpeg-ogg,
3042 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
3044 if test "$with_ffmpeg_ogg" = "yes"; then
3045 VLC_ADD_LIBS([ffmpeg],[-logg])
3048 AC_ARG_WITH(ffmpeg-zlib,
3049 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3051 if test "$with_ffmpeg_zlib" = "yes"; then
3052 VLC_ADD_LIBS([ffmpeg],[-lz])
3055 AC_ARG_WITH(ffmpeg-amrnb,
3056 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3058 if test "$with_ffmpeg_amrnb" = "yes"; then
3059 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3062 AC_ARG_WITH(ffmpeg-amrwb,
3063 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3065 if test "$with_ffmpeg_amrwb" = "yes"; then
3066 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3069 AC_ARG_WITH(ffmpeg-x264,
3070 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3072 if test "$with_ffmpeg_x264" = "yes"; then
3073 VLC_ADD_LIBS([ffmpeg],[-lx264])
3076 AC_ARG_WITH(ffmpeg-a52,
3077 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3079 if test "$with_ffmpeg_a52" = "yes"; then
3080 VLC_ADD_LIBS([ffmpeg],[-la52])
3084 dnl test for --with-ffmpeg-tree
3086 AC_ARG_WITH(ffmpeg-tree,
3087 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3089 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3090 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3091 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3092 if test -z "${real_ffmpeg_tree}"; then
3093 dnl The given directory can't be found
3095 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3097 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3098 dnl The given libavcodec wasn't built
3100 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3102 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3103 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3104 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3105 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3106 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3107 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3109 dnl The given libavcodec wasn't built with --enable-postproc
3111 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3114 dnl Use a custom libffmpeg
3115 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3117 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3118 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3119 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3120 export PKG_CONFIG_PATH=""
3121 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3124 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3125 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3126 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3127 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3129 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3130 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3131 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3132 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3133 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3135 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3136 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3138 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3139 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3140 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3141 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3144 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3145 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3147 unset PKG_CONFIG_PATH
3149 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3150 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3152 unset PKG_CONFIG_LIBDIR
3155 VLC_ADD_BUILTINS([ffmpeg])
3156 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3157 VLC_ADD_BUILTINS([stream_out_switcher])
3164 dnl Trying with pkg-config
3165 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3168 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3169 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3170 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3171 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3172 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3173 dnl newer ffmpeg have a separate libpostproc
3174 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3175 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3176 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3178 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3179 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3180 AC_CHECK_HEADERS(postproc/postprocess.h)
3181 VLC_ADD_PLUGIN([ffmpeg])
3182 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3183 VLC_ADD_PLUGIN([stream_out_switcher])
3185 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3186 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3188 dnl even newer ffmpeg has a libswscale
3189 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3190 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3191 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3192 AC_CHECK_LIB(swscale, sws_getContext,
3193 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[${SWSCALE_LIBS}])
3199 dnl last chance: at the default place
3201 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3202 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3203 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3204 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3205 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3206 AC_CHECK_HEADERS(postproc/postprocess.h)
3208 AC_CHECK_LIB(avutil, av_crc_init, [
3209 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3210 LDAVUTIL="-lavutil"])
3212 AC_CHECK_LIB(avcodec, avcodec_init, [
3213 VLC_ADD_BUILTINS([ffmpeg])
3214 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3215 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3216 VLC_ADD_BUILTINS([stream_out_switcher])
3218 [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL])
3220 AC_CHECK_LIB(postproc, pp_postprocess, [
3221 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3222 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3225 AC_CHECK_LIB(avformat, av_open_input_stream, [
3226 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3227 LDFLAGS="${LDFLAGS_save}"
3228 CPPFLAGS="${CPPFLAGS_save}"
3230 AC_CHECK_LIB(swscale, sws_getContext, [
3231 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3232 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3233 LDFLAGS="${LDFLAGS_save}"
3234 CPPFLAGS="${CPPFLAGS_save}"
3240 dnl ffmpegaltivec plugin
3242 AC_ARG_ENABLE(ffmpegaltivec,
3243 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3244 if test "${enable_ffmpegaltivec}" = "yes"
3246 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3247 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3248 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3249 if test -z "${real_ffmpeg_tree}"; then
3250 dnl The given directory can't be found
3252 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3254 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3255 dnl The given libavcodecaltivec wasn't built
3257 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3259 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3260 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3262 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3264 dnl Use a custom libffmpeg
3265 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3266 VLC_ADD_BUILTINS([ffmpegaltivec])
3267 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3268 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3269 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3271 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3272 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3273 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3274 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3276 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3277 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3282 dnl faad decoder plugin
3285 [ --enable-faad faad codec (default disabled)])
3286 if test "${enable_faad}" = "yes"
3288 AC_ARG_WITH(faad-tree,
3289 [ --with-faad-tree=PATH faad tree for static linking])
3290 if test -n "${with_faad_tree}"
3292 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3293 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3294 if test -z "${real_faad_tree}"
3296 dnl The given directory can't be found
3298 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3300 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3302 dnl Use a custom faad
3303 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3304 VLC_ADD_BUILTINS([faad])
3305 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3306 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3308 dnl The given libfaad wasn't built
3310 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3313 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3314 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3315 AC_CHECK_HEADERS(faad.h, ,
3316 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3317 AC_CHECK_LIB(faad, faacDecOpen, [
3318 VLC_ADD_PLUGIN([faad])
3319 VLC_ADD_LIBS([faad],[-lfaad]) ],
3320 AC_CHECK_LIB(faad, NeAACDecOpen, [
3321 VLC_ADD_PLUGIN([faad])
3322 VLC_ADD_LIBS([faad],[-lfaad]) ],
3323 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3324 LDFLAGS="${LDFLAGS_save}"
3325 CPPFLAGS="${CPPFLAGS_save}"
3330 dnl twolame encoder plugin
3332 AC_ARG_ENABLE(twolame,
3333 [ --enable-twolame twolame codec (default disabled)])
3334 if test "${enable_twolame}" = "yes"
3336 AC_ARG_WITH(twolame-tree,
3337 [ --with-twolame-tree=PATH twolame tree for static linking])
3338 if test -n "${with_twolame_tree}"
3340 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3341 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3342 if test -z "${real_twolame_tree}"
3344 dnl The given directory can't be found
3346 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3348 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3350 dnl Use a custom twolame
3351 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3352 VLC_ADD_BUILTINS([twolame])
3353 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3354 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3356 dnl The given libtwolame wasn't built
3358 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3361 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3362 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3363 AC_CHECK_HEADERS(twolame.h, ,
3364 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3365 AC_CHECK_LIB(twolame, twolame_init, [
3366 VLC_ADD_PLUGIN([twolame])
3367 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3368 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3369 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3370 LDFLAGS="${LDFLAGS_save}"
3371 CPPFLAGS="${CPPFLAGS_save}"
3376 dnl QuickTime plugin
3378 AC_ARG_ENABLE(quicktime,
3379 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3380 if test "${enable_quicktime}" != "no" &&
3381 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3383 if test "${SYS}" = "mingw32"; then
3384 VLC_ADD_BUILTINS([quicktime])
3386 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3387 [ VLC_ADD_PLUGIN([quicktime])
3388 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3389 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3397 [ --enable-real Real audio module (default disabled)])
3398 if test "${enable_real}" = "yes"; then
3399 VLC_ADD_PLUGIN([realaudio])
3403 dnl Real RTSP plugin
3405 AC_ARG_ENABLE(realrtsp,
3406 [ --enable-realrtsp Real RTSP module (default disabled)])
3407 if test "${enable_realrtsp}" = "yes"; then
3408 VLC_ADD_PLUGIN([access_realrtsp])
3414 AC_CHECK_HEADERS(zlib.h, [
3415 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3418 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3419 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3425 AC_ARG_ENABLE(libtar,
3426 [ --enable-libtar support for skins2 (default enabled)])
3428 AS_IF([test "${enable_libtar}" != "no"],[
3429 AC_CHECK_HEADERS(libtar.h, [
3430 VLC_ADD_LIBS([skins2],[-ltar])
3435 dnl A52/AC3 decoder plugin
3438 [ --enable-a52 A/52 support with liba52 (default enabled)])
3439 if test "${enable_a52}" != "no"
3442 [ --with-a52=PATH a52 headers and libraries])
3443 AC_ARG_WITH(a52-tree,
3444 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3445 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3447 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3448 if test -z "${real_a52_tree}"
3450 dnl The given directory can't be found
3452 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3454 dnl Use a custom a52dec
3455 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3456 if test -f ${real_a52_tree}/include/a52.h
3459 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3460 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3461 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3462 AC_CHECK_LIB(a52, a52_free, [
3463 VLC_ADD_BUILTINS([a52tofloat32])
3464 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3465 VLC_ADD_LIBS([a52tofloat32],[-la52])
3467 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3469 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3471 AC_MSG_ERROR([the specified tree hasn't been compiled])
3474 LDFLAGS="${LDFLAGS_save}"
3477 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3480 if test -z "${with_a52}"
3485 LDFLAGS_test="-L${with_a52}/lib"
3486 CPPFLAGS_test="-I${with_a52}/include"
3488 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3489 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3490 AC_CHECK_HEADERS(a52dec/a52.h, [
3491 AC_CHECK_LIB(a52, a52_free, [
3492 VLC_ADD_PLUGIN([a52tofloat32])
3493 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3494 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3496 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.])
3499 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.])
3501 CPPFLAGS="${CPPFLAGS_save}"
3502 LDFLAGS="${LDFLAGS_save}"
3506 AC_ARG_WITH(a52-fixed,
3507 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3509 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3512 dnl DTS Coherent Acoustics decoder plugin
3514 AS_IF([test "x${enable_dts}" != "x"], [
3515 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3517 AS_IF([test "x${with_dts_tree}" != "x"], [
3518 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3522 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3523 AS_IF([test "${enable_dca}" != "no"], [
3524 AC_ARG_WITH(dca-tree,
3525 [ --with-dca-tree=PATH libdca tree for static linking],,
3526 [with_dca_tree="no"])
3527 AS_IF([test "${with_dca_tree}" != "no"], [
3528 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3529 AS_IF([test -z "${real_dca_tree}"], [
3530 dnl The given directory can't be found
3532 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3534 dnl Use a custom libdca
3535 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3536 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3538 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3539 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3540 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3542 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3546 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3549 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3550 VLC_ADD_PLUGIN([dtstofloat32])
3551 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3552 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3554 AS_IF([test "x${enable_dca}" != "x"], [
3555 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3565 [ --enable-flac libflac decoder/encoder support (default disabled)])
3566 if test "${enable_flac}" = "yes"
3568 AC_ARG_WITH(flac-tree,
3569 [ --with-flac-tree=PATH flac tree for static linking])
3570 if test -n "${with_flac_tree}"
3572 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3573 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3574 if test -z "${real_flac_tree}"
3576 dnl The given directory can't be found
3578 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3580 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3582 dnl Use a custom flac
3583 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3584 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3585 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3586 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3588 dnl The given flac wasn't built
3590 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3593 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3594 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3602 AC_ARG_ENABLE(libmpeg2,
3603 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3604 if test "${enable_libmpeg2}" != "no"
3606 AC_ARG_WITH(libmpeg2-tree,
3607 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3608 if test -n "${with_libmpeg2_tree}"
3610 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3611 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3612 if test -z "${real_libmpeg2_tree}"
3614 dnl The given directory can't be found
3616 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3618 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3620 dnl Use a custom libmpeg2
3621 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3622 VLC_ADD_BUILTINS([libmpeg2])
3623 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3624 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3625 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3627 dnl The given libmpeg2 wasn't built
3629 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3632 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3633 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3635 [#include <mpeg2dec/mpeg2.h>
3636 #ifdef MPEG2_RELEASE
3637 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3641 [AC_MSG_RESULT([yes])
3642 VLC_ADD_PLUGIN([libmpeg2])
3643 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3644 [AC_MSG_RESULT([no])
3645 AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
3647 [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
3655 AC_ARG_ENABLE(vorbis,
3656 [ --enable-vorbis Vorbis decoder support (default enabled)])
3657 if test "${enable_vorbis}" != "no"
3659 AC_ARG_WITH(vorbis-tree,
3660 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3661 if test -n "${with_vorbis_tree}"
3663 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3664 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3665 if test -z "${real_vorbis_tree}"
3667 dnl The given directory can't be found
3669 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3671 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3673 dnl Use a custom vorbis
3674 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3675 VLC_ADD_PLUGIN([vorbis])
3676 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3677 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3679 dnl The given vorbis wasn't built
3681 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3684 AC_CHECK_HEADERS(vorbis/codec.h, [
3685 VLC_ADD_PLUGIN([vorbis])
3686 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3688 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3689 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3696 AC_ARG_ENABLE(tremor,
3697 [ --enable-tremor Tremor decoder support (default disabled)])
3698 if test "${enable_tremor}" = "yes"
3700 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3701 VLC_ADD_PLUGIN([tremor])
3702 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3709 AC_ARG_ENABLE(speex,
3710 [ --enable-speex Speex decoder support (default enabled)])
3711 if test "${enable_speex}" != "no"
3713 AC_ARG_WITH(speex-tree,
3714 [ --with-speex-tree=PATH speex tree for static linking])
3715 if test -n "${with_speex_tree}"
3717 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3718 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3719 if test -z "${real_speex_tree}"
3721 dnl The given directory can't be found
3723 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3725 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3727 dnl Use a custom speex
3728 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3729 VLC_ADD_PLUGIN([speex])
3730 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3731 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3733 dnl The given speex wasn't built
3735 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3738 AC_CHECK_HEADERS(speex/speex.h, [
3739 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3740 AC_CHECK_LIB(speex, speex_decode_int, [
3741 VLC_ADD_PLUGIN([speex])
3742 VLC_ADD_LIBS([speex],[-lspeex]) ],
3743 [ AC_MSG_RESULT([no])
3744 AC_MSG_WARN([Your libspeex is too old, please get the development
3746 LDFLAGS="${LDFLAGS_save}"
3752 dnl tarkin decoder plugin
3754 AC_ARG_ENABLE(tarkin,
3755 [ --enable-tarkin experimental tarkin codec (default disabled)])
3756 if test "${enable_tarkin}" = "yes"
3758 AC_ARG_WITH(tarkin-tree,
3759 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3760 if test -n "${with_tarkin_tree}"
3762 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3763 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3764 if test -f "${real_tarkin_tree}/tarkin.o"
3766 VLC_ADD_BUILTINS([tarkin])
3767 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3768 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])
3771 dnl The given tarkin tree wasn't built
3773 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3774 make sure you compiled tarkin in ${with_tarkin_tree}])
3780 dnl theora decoder plugin
3782 AC_ARG_ENABLE(theora,
3783 [ --enable-theora experimental theora codec (default disabled)])
3784 if test "${enable_theora}" = "yes"
3786 AC_CHECK_HEADERS(theora/theora.h, [
3787 AC_CHECK_LIB(theora, theora_granule_time, [
3788 VLC_ADD_PLUGIN([theora])
3789 theora_libs="-ltheora -logg"
3790 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3791 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3792 You also need to check that you have a libogg posterior to the 1.0 release.])],
3798 dnl dirac decoder plugin
3800 AC_ARG_ENABLE(dirac,
3801 [ --enable-dirac experimental dirac codec (default disabled)])
3802 if test "${enable_dirac}" = "yes"; then
3803 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3804 VLC_ADD_PLUGIN([dirac])
3805 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3806 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3807 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3812 dnl PNG decoder module
3815 [ --enable-png PNG support (default enabled)])
3816 if test "${enable_png}" != "no"; then
3817 AC_CHECK_HEADERS(png.h, [
3818 LDFLAGS="${LDFLAGS_save} -lz"
3819 AC_CHECK_LIB(png, png_set_rows, [
3820 VLC_ADD_LIBS([png],[-lpng -lz])
3821 VLC_ADD_PLUGIN([png])
3822 VLC_ADD_PLUGIN([osdmenu])
3823 VLC_ADD_PLUGIN([osd_parser])
3824 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3826 LDFLAGS="${LDFLAGS_save}"
3829 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3832 dnl H264 encoder plugin (using libx264)
3835 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3836 if test "${enable_x264}" != "no"; then
3837 AC_ARG_WITH(x264-tree,
3838 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3839 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3841 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3842 if test -z "${real_x264_tree}"
3844 dnl The given directory can't be found
3846 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3848 dnl Use a custom libx264
3849 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3850 if test -f ${real_x264_tree}/x264.h
3853 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3854 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3855 PKG_CHECK_MODULES(X264,x264, [
3856 VLC_ADD_PLUGIN([x264])
3857 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3858 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3860 AC_MSG_ERROR([the specified tree hasn't been compiled])
3862 LDFLAGS="${LDFLAGS_save}"
3865 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3868 PKG_CHECK_MODULES(X264,x264, [
3869 VLC_ADD_PLUGIN([x264])
3870 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3871 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3873 if test "${enable_x264}" = "yes"; then
3874 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3877 LDFLAGS="${LDFLAGS_save}"
3882 dnl libfluidsynth (MIDI synthetizer) plugin
3884 AC_ARG_ENABLE(fluidsynth,
3885 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3886 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3887 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3888 VLC_ADD_PLUGIN(fluidsynth)
3889 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3890 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3892 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3893 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3899 dnl Teletext Modules
3900 dnl vbi decoder plugin (using libzbvi)
3905 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3907 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3909 AS_IF( [test "${enable_zvbi}" != "no"],[
3910 AS_IF( [test "${enable_telx}" = "yes"],[
3911 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3913 PKG_CHECK_MODULES(ZVBI,
3916 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3917 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3918 VLC_ADD_PLUGIN([zvbi])
3919 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3921 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3926 AS_IF( [test "${enable_telx}" = "yes"],[
3927 VLC_ADD_PLUGIN([telx])
3931 dnl asa/csri subtitle rendering module
3934 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3935 AS_IF( [test "${enable_csri}" = "yes"], [
3936 PKG_CHECK_MODULES(CSRI,
3939 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3940 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3941 VLC_ADD_PLUGIN([csri])
3943 AC_MSG_WARN([CSRI helper library not found])
3950 AC_ARG_ENABLE(asademux,
3951 [ --enable-asademux asa subtitle demuxing (default disabled)])
3952 AS_IF( [test "${enable_asademux}" = "yes"], [
3953 PKG_CHECK_MODULES(PCRE,
3956 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3957 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3958 VLC_ADD_PLUGIN([asademux])
3960 AC_MSG_WARN([PCRE library not found (required for asademux)])
3968 [ --enable-cmml CMML support (default enabled)])
3969 if test "${enable_cmml}" != "no"
3971 VLC_ADD_PLUGIN([cmml])
3975 dnl kate decoder plugin
3978 [ --enable-kate kate codec (default enabled)])
3979 AS_IF([test "${enable_kate}" != "no"], [
3980 PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [
3981 VLC_ADD_PLUGIN([kate])
3982 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3983 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3984 AC_CHECK_HEADERS(kate/kate.h, [
3985 AC_CHECK_LIB(kate, kate_decode_init, [
3986 VLC_ADD_PLUGIN([kate])
3987 kate_libs="-lkate -logg"
3988 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3989 AS_IF([test "x${enable_kate}" != "x"], [
3990 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3991 You also need to check that you have a libogg posterior to the 1.0 release.])
3995 AS_IF([test "x${enable_kate}" != "x"], [
3996 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3997 You also need to check that you have a libogg posterior to the 1.0 release.])
4008 AC_ARG_WITH(,[Video plugins:])
4011 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
4012 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4013 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4014 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4015 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4017 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4018 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4023 #include <X11/Xlib.h>
4025 CPPFLAGS="${CPPFLAGS_save}"
4030 dnl (enabled by default except on win32)
4033 [ --enable-x11 X11 support (default enabled)])
4034 if test "${enable_x11}" != "no" &&
4035 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4036 test "${enable_x11}" = "yes"); then
4037 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4038 AC_CHECK_HEADERS(X11/Xlib.h, [
4039 VLC_ADD_PLUGIN([panoramix])
4040 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4041 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4042 AC_CHECK_LIB(Xext, XShmAttach, [
4043 VLC_ADD_PLUGIN([x11])
4044 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4045 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4048 CPPFLAGS="${CPPFLAGS_save}"
4053 dnl (enabled by default except on win32)
4055 AC_ARG_ENABLE(xvideo,
4056 [ --enable-xvideo XVideo support (default enabled)])
4057 if test "${enable_xvideo}" != "no" &&
4058 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4059 test "${enable_xvideo}" = "yes"); then
4060 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4061 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4062 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4063 AC_CHECK_LIB(Xv,XvPutImage,[
4064 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
4065 # test for libXv_pic.
4066 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
4067 VLC_ADD_PLUGIN([xvideo])
4068 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4069 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4071 AC_CHECK_LIB(Xv_pic,XvPutImage,[
4072 VLC_ADD_PLUGIN([xvideo])
4073 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4074 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
4076 VLC_ADD_BUILTINS([xvideo])
4077 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4078 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4082 CFLAGS="${CFLAGS_save}"
4084 CPPFLAGS="${CPPFLAGS_save}")
4089 dnl (enabled by default except on win32)
4092 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4093 if test "${enable_glx}" != "no" &&
4094 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4095 test "${enable_glx}" = "yes"); then
4096 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4097 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4098 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4099 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4103 VLC_ADD_PLUGIN([glx])
4104 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4105 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4106 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4107 CPPFLAGS="${CPPFLAGS_save}"
4112 dnl (disabled by default except on win32)
4115 [ --enable-xvmc XVMC support (default disabled)])
4116 if test "${enable_xvmc}" = "yes" &&
4117 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4118 test "${enable_xvmc}" = "yes"); then
4119 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4120 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4121 VLC_ADD_PLUGIN([xvmc])
4122 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4123 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4125 CPPFLAGS="${CPPFLAGS_save}"
4129 dnl Check for the Xinerama extension
4131 AC_ARG_ENABLE(xinerama,
4132 [ --enable-xinerama Xinerama support (default enabled)])
4133 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4134 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4135 test "${enable_xvideo}" = "yes"); then
4136 ac_cv_have_xinerama="no"
4137 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4138 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4139 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4140 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4141 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4142 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4143 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4144 ac_cv_have_xinerama="yes"
4146 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4147 VLC_ADD_LIBS([xvideo],[-lXinerama])
4148 VLC_ADD_LIBS([x11],[-lXinerama])
4149 VLC_ADD_LIBS([glx],[-lXinerama])
4150 ac_cv_have_xinerama="yes"
4154 if test "${ac_cv_have_xinerama}" = "yes"; then
4155 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4157 CFLAGS="${CFLAGS_save}"
4158 CPPFLAGS="${CPPFLAGS_save}"
4161 dnl Check for XF86VidMode extension
4163 ac_cv_have_xf86vidmode="no"
4164 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4165 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4166 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4167 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4168 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4169 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4170 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4171 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4172 ac_cv_have_xf86vidmode="yes"
4174 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4175 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4176 VLC_ADD_LIBS([x11],[-lXxf86vm])
4177 VLC_ADD_LIBS([glx],[-lXxf86vm])
4178 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4179 ac_cv_have_xf86vidmode="yes"
4183 [#ifdef HAVE_X11_XLIB_H
4184 # include <X11/Xlib.h>
4187 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4188 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4190 CFLAGS="${CFLAGS_save}"
4191 CPPFLAGS="${CPPFLAGS_save}"
4197 dnl (enabled by default except on beos)
4199 AC_ARG_ENABLE(opengl,
4200 [ --enable-opengl OpenGL support (default enabled)])
4201 if test "${enable_opengl}" != "no" &&
4202 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4203 if test "${SYS}" != "darwin"; then
4204 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4205 VLC_ADD_PLUGIN([opengl])
4206 if test "${SYS}" != "mingw32"; then
4207 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4209 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4213 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4214 VLC_ADD_PLUGIN([opengl])
4215 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4223 [ --enable-sdl SDL support (default enabled)])
4224 AC_ARG_ENABLE(sdl-image,
4225 [ --enable-sdl-image SDL image support (default enabled)])
4226 if test "${enable_sdl}" != "no"
4229 AC_ARG_WITH(sdl-config-path,
4230 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4231 [ if test "${with_sdl_config_path}" != "no"
4233 SDL_PATH="${with_sdl_config_path}:${PATH}"
4235 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4236 SDL_CONFIG="${SDL12_CONFIG}"
4237 SDL_HEADER="SDL12/SDL.h"
4238 SDL_IMAGE="SDL12/SDL_image.h"
4239 if test "${SDL_CONFIG}" = "no"
4241 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4242 SDL_CONFIG=${SDL11_CONFIG}
4243 SDL_HEADER="SDL11/SDL.h"
4244 SDL_IMAGE="SDL11/SDL_image.h"
4246 if test "${SDL_CONFIG}" = "no"
4248 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4249 SDL_HEADER="SDL/SDL.h"
4250 SDL_IMAGE="SDL/SDL_image.h"
4252 # check for cross-compiling
4254 AC_ARG_WITH(sdl-prefix,
4255 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4257 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4258 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4260 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4262 if test "${SDL_CONFIG}" != "no"
4264 # SDL on Darwin is heavily patched and can only run SDL_image
4265 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4266 VLC_ADD_PLUGIN([vout_sdl])
4267 VLC_ADD_PLUGIN([aout_sdl])
4269 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4270 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4271 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4272 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4273 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4274 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4275 As a last resort we also test for SDL.h presence),
4276 [ AC_MSG_ERROR([The development package for SDL is not installed.
4277 Please install it and try again. Alternatively you can also configure with
4280 AS_IF([ test "${enable_sdl_image}" != "no"],[
4281 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4282 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4283 VLC_ADD_PLUGIN([sdl_image])
4284 AC_CHECK_LIB(png, png_set_rows,
4285 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4286 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4287 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4288 AC_CHECK_LIB(tiff, TIFFClientOpen,
4289 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4290 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4291 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4292 As a last resort we also test for SDL_image.h presence),
4293 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4294 You should install it alongside your SDL package.])
4297 CPPFLAGS="${CPPFLAGS_save}"
4298 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4300 AC_MSG_ERROR([The development package for SDL is not installed.
4301 Please install it and try again. Alternatively you can also configure with
4305 elif test "${enable_sdl}" = "yes"
4307 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4308 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4316 AC_ARG_ENABLE(freetype,
4317 [ --enable-freetype freetype support (default enabled)])
4318 AC_ARG_ENABLE(fribidi,
4319 [ --enable-fribidi fribidi support (default enabled)])
4320 if test "${enable_freetype}" != "no"
4322 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4323 VLC_ADD_PLUGIN([freetype])
4325 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4326 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4327 if test "${SYS}" = "mingw32"; then
4328 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4330 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4331 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4332 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4333 AC_CHECK_HEADERS(Carbon/Carbon.h,
4334 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4337 AS_IF([ test "${enable_freetype}" = "yes"],[
4338 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4339 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4345 if test "${enable_fribidi}" != "no"
4347 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4348 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4349 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4357 AC_ARG_ENABLE(libxml2,
4358 [ --enable-libxml2 libxml2 support (default enabled)])
4359 if test "${enable_libxml2}" != "no"
4362 AC_ARG_WITH(xml2-config-path,
4363 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4364 [ if test "${with_xml2_config_path}" != "no"; then
4365 XML2_PATH="${with_xml2_config_path}:${PATH}"
4367 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4368 if test "${XML2_CONFIG}" != "no"; then
4369 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4370 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4371 dnl depends on the xmlTextReader extension
4372 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4373 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4374 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4375 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4376 VLC_ADD_PLUGIN([xml]) ],[
4377 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4378 if test "${enable_xml2}" = "yes"; then
4379 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4382 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4383 if test "${enable_xml2}" = "yes"; then
4384 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4386 LDFLAGS="${LDFLAGS_save}"
4387 CPPFLAGS="${CPPFLAGS_save}"
4389 if test "${enable_xml2}" = "yes"; then
4390 AC_MSG_ERROR([Could not find libxml2])
4399 [ --enable-svg SVG support (default disabled)])
4400 if test "${enable_svg}" = "yes"
4402 PKG_CHECK_MODULES(SVG,
4403 librsvg-2.0 >= 2.9.0,
4405 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4406 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4407 VLC_ADD_PLUGIN([svg]) ],
4408 [AC_MSG_WARN(SVG library not found)])
4412 dnl Snapshot vout module (with cache)
4414 AC_ARG_ENABLE(snapshot,
4415 [ --enable-snapshot snapshot module (default disabled)])
4416 if test "${enable_snapshot}" = "yes"
4418 VLC_ADD_PLUGIN([snapshot])
4422 dnl Qt Embedded module
4423 dnl (disabled by default)
4426 [ --enable-qte QT Embedded support (default disabled)])
4427 if test "${enable_qte}" = "yes"
4430 [ --with-qte=PATH Qt Embedded headers and libraries])
4431 if test "${with_qte}" != "no" -a -n "${with_qte}"
4433 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4434 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])
4436 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4437 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4439 VLC_ADD_PLUGIN([qte])
4441 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4442 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4443 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4445 CPPFLAGS="${CPPFLAGS_save}"
4449 dnl Qt Video output module
4450 dnl (disabled by default)
4452 dnl AC_ARG_ENABLE(qt_video,
4453 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4454 dnl if test "${enable_qt_video}" = "yes"
4456 dnl VLC_ADD_PLUGIN([qt_video])
4457 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4458 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4459 dnl AC_CHECK_LIB(qt-mt,main,[
4460 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4462 dnl AC_CHECK_LIB(qt,main,[
4463 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4466 dnl NEED_QTE_MAIN=yes
4467 dnl LDFLAGS="${LDFLAGS_save}"
4468 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4472 dnl Roku HD1000 Video output module
4474 AC_ARG_ENABLE(hd1000v,
4475 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4476 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4477 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4478 test "${enable_hd1000v}" = "yes"); then
4480 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4482 can_build_roku="yes"
4486 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4488 if test "$can_build_roku" = "yes"
4490 VLC_ADD_PLUGIN([hd1000v])
4491 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4497 dnl Windows DirectX module
4500 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4502 VLC_ADD_PLUGIN([panoramix])
4505 AC_ARG_ENABLE(directx,
4506 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4507 if test "${enable_directx}" != "no"
4509 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4511 AC_ARG_WITH(directx,
4512 [ --with-directx=PATH Win32 DirectX headers])
4513 if test -z "${with_directx}"
4515 AC_CHECK_HEADERS(ddraw.h,
4516 [ VLC_ADD_PLUGIN([vout_directx])
4517 VLC_ADD_PLUGIN([aout_directx])
4518 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4520 AC_CHECK_HEADERS(GL/gl.h,
4521 [ VLC_ADD_PLUGIN([glwin32])
4522 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4524 AC_CHECK_HEADERS(d3d9.h,
4525 [ VLC_ADD_PLUGIN([direct3d])
4526 VLC_ADD_LIBS([direct3d],[-lgdi32])
4529 AC_MSG_CHECKING(for directX headers in ${with_directx})
4530 if test -f ${with_directx}/ddraw.h
4532 VLC_ADD_PLUGIN([vout_directx])
4533 VLC_ADD_PLUGIN([aout_directx])
4534 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4535 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4539 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4546 dnl Linux framebuffer module
4549 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4550 if test "${enable_fb}" != "no"
4552 AC_CHECK_HEADERS(linux/fb.h, [
4553 VLC_ADD_PLUGIN([fb])
4558 dnl Linux MGA module
4561 [ --enable-mga Linux kernel Matrox support (default disabled)],
4562 [ if test "${enable_mga}" = "yes"
4564 VLC_ADD_PLUGIN([mga])
4570 AC_ARG_ENABLE(svgalib,
4571 [ --enable-svgalib SVGAlib support (default disabled)])
4572 if test "${enable_svgalib}" = "yes"
4574 VLC_ADD_PLUGIN([svgalib])
4575 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4580 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4581 dnl TODO: support for static linking
4583 AC_ARG_ENABLE(directfb,
4584 [ --enable-directfb DirectFB support (default disabled)])
4585 AC_ARG_WITH(directfb,
4586 [ --with-directfb=PATH path to DirectFB headers and libraries])
4588 if test "${enable_directfb}" = "yes"; then
4589 have_directfb="false"
4590 CPPFLAGS_mydirectfb=
4592 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4593 dnl Trying the given location
4594 CPPFLAGS_save="${CPPFLAGS}"
4597 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4598 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4599 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4601 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4602 LIBS="${LIBS} ${LIBS_new}"
4604 dnl FIXME: too obscure
4605 AC_CHECK_HEADER([directfb.h], [
4606 AC_CHECK_LIB([direct],[direct_initialize], [
4607 AC_CHECK_LIB([fusion], [fusion_enter], [
4608 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4609 ], have_directfb="false")
4610 ], have_directfb="false")
4611 ], have_directfb="false")
4614 CPPFLAGS="${CPPFLAGS_save}"
4617 if test "${have_directfb}" = "true"; then
4618 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4619 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4622 dnl Look for directfb-config
4623 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4624 if test "${DIRECTFB_CONFIG}" != "no"; then
4625 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4626 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4627 have_directfb="true"
4629 dnl Trying with pkg-config
4630 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4631 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4632 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4633 have_directfb="true"
4634 ], [have_directfb="false"])
4637 if test "${have_directfb}" = "true"; then
4638 VLC_ADD_PLUGIN([directfb])
4639 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4640 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4642 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4652 [ --enable-ggi GGI support (default disabled)])
4653 if test "${enable_ggi}" = "yes"
4655 VLC_ADD_PLUGIN([ggi])
4656 VLC_ADD_LIBS([ggi],[-lggi])
4658 [ --with-ggi=PATH path to libggi],
4659 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4661 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4662 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4669 AC_ARG_ENABLE(glide,
4670 [ --enable-glide Glide (3dfx) support (default disabled)])
4671 if test "${enable_glide}" = "yes"
4673 CFLAGS_save="${CFLAGS}"
4675 [ --with-glide=PATH path to libglide],
4676 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4678 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4679 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4680 CFLAGS="$CFLAGS -I${with_glide}/include"
4682 CFLAGS="$CFLAGS -I/usr/include/glide"
4683 AC_CHECK_HEADER(glide.h,[
4684 VLC_ADD_PLUGIN([glide])
4685 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4686 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4688 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4690 CFLAGS="${CFLAGS_save}"
4697 [ --enable-aa aalib output (default disabled)])
4698 if test "${enable_aa}" = "yes"
4700 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4701 if test "${have_aa}" = "true"
4703 VLC_ADD_PLUGIN([aa])
4704 VLC_ADD_LIBS([aa],[-laa])
4712 [ --enable-caca libcaca output (default disabled)])
4713 if test "${enable_caca}" = "yes"
4716 AC_ARG_WITH(caca-config-path,
4717 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4718 [ if test "${with_caca_config_path}" != "no"
4720 CACA_PATH="${with_caca_config_path}:${PATH}"
4722 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4723 if test "${CACA_CONFIG}" != "no"
4725 VLC_ADD_PLUGIN([caca])
4726 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4727 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4728 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4733 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4739 dnl win32 GDI plugin
4741 AC_ARG_ENABLE(wingdi,
4742 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4743 if test "${enable_wingdi}" != "no"; then
4744 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4745 VLC_ADD_PLUGIN([wingdi])
4746 VLC_ADD_LIBS([wingdi],[-lgdi32])
4748 if test "${SYS}" = "mingwce"; then
4749 VLC_ADD_PLUGIN([wingdi])
4750 VLC_ADD_PLUGIN([wingapi])
4758 AC_ARG_WITH(,[Audio plugins:])
4761 dnl OSS /dev/dsp module (enabled by default except on win32)
4764 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4766 if test "${enable_oss}" != "no" &&
4767 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4768 test "${enable_oss}" = "yes")
4770 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4771 VLC_ADD_PLUGIN([oss])
4772 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4780 [ --enable-esd Esound library support (default disabled)],
4781 [if test "${enable_esd}" = "yes"
4783 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4784 if test "${ESD_CONFIG}" != "no"
4786 VLC_ADD_PLUGIN([esd])
4787 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4788 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4793 dnl Pulseaudio module
4795 AC_ARG_ENABLE(pulse,
4796 [ --enable-pulse Pulseaudio support (default enabled)])
4797 if test "${enable_pulse}" != "no"
4799 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4800 [ VLC_ADD_PLUGIN([pulse])
4801 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4802 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4803 [AC_MSG_WARN(pulsaudio library not found)])
4807 dnl Portaudio module
4809 AC_ARG_ENABLE(portaudio,
4810 [ --enable-portaudio Portaudio library support (default disabled)],
4811 [if test "${enable_portaudio}" = "yes"
4813 VLC_ADD_PLUGIN([portaudio])
4814 VLC_ADD_CXXFLAGS([portaudio],[])
4815 if test "${SYS}" = "mingw32"; then
4816 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4818 VLC_ADD_LIBS([portaudio],[-lportaudio])
4823 dnl aRts module -- broken (freeze wxWidgets)
4826 [ --enable-arts aRts sound server (default disabled)],
4827 [if test "${enable_arts}" = "yes"
4829 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4830 if test "${ARTS_CONFIG}" != "no"
4832 VLC_ADD_PLUGIN([arts])
4833 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4834 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4842 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4843 if test "${enable_alsa}" != "no"
4845 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4846 if test "${have_alsa}" = "true"
4848 CFLAGS="${CFLAGS_save}"
4849 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4850 #define ALSA_PCM_NEW_SW_PARAMS_API
4851 #include <alsa/asoundlib.h>],
4852 [snd_pcm_hw_params_get_period_time(0,0,0);],
4853 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4854 VLC_ADD_PLUGIN([alsa])
4855 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4857 if test "${enable_alsa}" = "yes"; then
4858 AC_MSG_ERROR([Could not find ALSA development headers])
4864 dnl win32 waveOut plugin
4866 AC_ARG_ENABLE(waveout,
4867 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4868 if test "${enable_waveout}" != "no"; then
4869 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4870 VLC_ADD_PLUGIN([waveout])
4871 VLC_ADD_LIBS([waveout],[-lwinmm])
4873 if test "${SYS}" = "mingwce"; then
4874 VLC_ADD_PLUGIN([waveout])
4879 dnl CoreAudio plugin
4881 AC_ARG_ENABLE(macosx-audio,
4882 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4883 if test "${enable_macosx-audio}" != "no" &&
4884 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4886 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4887 [ VLC_ADD_PLUGIN([auhal])
4888 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4889 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4893 dnl Roku HD1000 audio
4895 AC_ARG_ENABLE(hd1000a,
4896 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4897 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4898 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4899 test "${enable_hd1000a}" = "yes")
4902 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4903 VLC_ADD_PLUGIN([hd1000a])
4904 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4912 [ --enable-jack JACK audio I/O modules (default disabled)],,
4915 AS_IF([test "${enable_jack}" != "no"], [
4916 AC_CHECK_HEADERS(jack/jack.h, [
4917 VLC_ADD_PLUGIN([access_jack])
4918 VLC_ADD_PLUGIN([jack])
4919 VLC_ADD_LIBS([access_jack jack],[-ljack])
4920 ],[AC_MSG_ERROR([cannot find JACK headers])])
4924 dnl CyberLink for C++ UPnP stack
4926 AC_ARG_ENABLE(cyberlink,
4927 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4928 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4929 AC_ARG_WITH(cyberlink-tree,
4930 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4933 dnl test for --with-cyberlink-tree
4935 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4937 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4938 AS_IF([test -z "${real_cyberlink_tree}"], [
4939 dnl The given directory can't be found
4941 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4943 CPPFLAGS_save="${CPPFLAGS}"
4944 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4945 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4946 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4947 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4948 VLC_ADD_PLUGIN([upnp_cc])
4950 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4952 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4953 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4954 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4955 dnl The mere fact that we have to make such an ugly check sucks
4956 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4959 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4960 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4961 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4962 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4963 using namespace CyberLink;
4965 class testclass : public SearchResponseListener, public MediaPlayer
4967 virtual void deviceSearchResponseReceived( SSDPPacket *)
4974 addSearchResponseListener (this);
4978 ],[testclass l;])],[LIBS_cclink="$l"])
4981 dnl should not happen - otherwise this needs fixing - hence FAILURE
4982 AS_IF([test "${LIBS_cclink}" = "no"],
4983 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4984 AC_MSG_RESULT([${LIBS_cclink}])
4985 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4988 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4990 CPPFLAGS="${CPPFLAGS_save}"
4996 dnl UPnP Plugin (Intel SDK)
4999 [ --enable-upnp Intel UPnP SDK (default enabled)])
5001 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
5002 AS_IF([test "x${enable_upnp}" != "xno"], [
5003 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
5004 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
5005 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
5007 AS_IF([test "${has_upnp}" = "yes"], [
5008 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
5014 AS_IF([test "${has_upnp}" = "yes"], [
5015 VLC_ADD_PLUGIN([upnp_intel])
5020 dnl Interface plugins
5023 AC_ARG_WITH(,[Interface plugins:])
5025 dnl special case for BeOS
5026 if test "${SYS}" = "beos"
5028 VLC_ADD_BUILTINS([beos])
5034 AC_ARG_ENABLE(skins2,
5035 [ --enable-skins2 Skins2 interface module (default disabled)])
5036 if test "${enable_skins2}" = "yes" ||
5037 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
5038 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
5040 dnl test for the required libraries
5041 skins2_missing_lib="no"
5044 if test "${have_freetype}" != "yes"; then
5045 skins2_missing_lib="yes"
5046 if test "${enable_skins2}" = "yes"; then
5047 AC_MSG_ERROR([Could not find freetype (required for skins2)])
5051 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
5052 VLC_ADD_PLUGIN([skins2])
5053 ALIASES="${ALIASES} svlc"
5054 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
5055 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5056 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
5058 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
5059 VLC_ADD_PLUGIN([skins2])
5060 ALIASES="${ALIASES} svlc"
5061 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
5062 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5063 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
5065 else if test "${skins2_missing_lib}" = "no"; then
5066 VLC_ADD_PLUGIN([skins2])
5067 ALIASES="${ALIASES} svlc"
5068 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
5069 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5070 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
5073 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
5078 dnl AC_ARG_ENABLE(gtk,
5079 dnl [ --enable-gtk Gtk+ support (default enabled)])
5080 dnl if test "${enable_gtk}" != "no"
5082 dnl GTK_PATH="${PATH}"
5083 dnl AC_ARG_WITH(gtk-config-path,
5084 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
5085 dnl [ if test "${with_gtk_config_path}" != "no"
5087 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
5089 dnl # look for gtk-config
5090 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
5091 dnl GTK_CONFIG=${GTK12_CONFIG}
5092 dnl if test "${GTK_CONFIG}" = "no"
5094 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
5096 dnl if test "${GTK_CONFIG}" != "no"
5098 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
5100 dnl AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
5102 dnl if test "${SYS}" != "mingw32"; then
5103 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
5104 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
5106 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5107 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5109 dnl # now look for the gtk.h header
5110 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5111 dnl ac_cv_gtk_headers=yes
5112 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5113 dnl ac_cv_gtk_headers=no
5114 dnl echo "Cannot find gtk development headers."
5116 dnl if test "${ac_cv_gtk_headers}" = "yes"
5118 dnl VLC_ADD_PLUGIN([gtk])
5119 dnl if test "${SYS}" != "mingw32"; then
5120 dnl NEED_GTK_MAIN=yes
5122 dnl ALIASES="${ALIASES} gvlc"
5124 dnl CPPFLAGS="${CPPFLAGS_save}"
5129 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5131 dnl AC_ARG_ENABLE(gtk2,
5132 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5133 dnl if test "${enable_gtk2}" = "yes"
5135 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5136 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5137 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5138 dnl VLC_ADD_PLUGIN([gtk2])
5139 dnl if test "${SYS}" != "mingw32"; then
5140 dnl NEED_GTK2_MAIN=yes
5145 dnl PDA Gtk+2 module
5148 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5149 if test "${enable_pda}" = "yes"
5151 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5152 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5153 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5154 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5155 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5156 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5157 VLC_ADD_PLUGIN([pda])
5158 if test "${SYS}" != "mingw32"; then
5160 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
5161 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
5164 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5167 dnl dnl Gnome module
5169 dnl AC_ARG_ENABLE(gnome,
5170 dnl [ --enable-gnome Gnome interface support (default disabled)],
5171 dnl [if test "${enable_gnome}" = "yes"; then
5172 dnl # look for gnome-config
5173 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5174 dnl if test -x ${GNOME_CONFIG}
5176 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5177 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5179 dnl # now look for the gnome.h header
5180 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5181 dnl AC_CHECK_HEADERS(gnome.h, [
5182 dnl VLC_ADD_PLUGIN([gnome])
5183 dnl NEED_GTK_MAIN=yes
5184 dnl NEED_GNOME_MAIN=yes
5185 dnl ALIASES="${ALIASES} gnome-vlc"
5186 dnl dnl We need this because of some moronic gnomesupport.h flavours
5187 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5188 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5189 dnl AC_MSG_RESULT(yes)
5190 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5191 dnl Define if <gnome.h> defines strndup.)],[
5192 dnl AC_MSG_RESULT(no)])
5194 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5195 dnl developement tools or remove the --enable-gnome option])
5197 dnl CPPFLAGS="${CPPFLAGS_save}"
5201 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5203 dnl AC_ARG_ENABLE(gnome2,
5204 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5205 dnl if test "${enable_gnome2}" = "yes"
5207 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5208 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5209 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5210 dnl VLC_ADD_PLUGIN([gnome2])
5211 dnl if test "${SYS}" != "mingw32"; then
5212 dnl NEED_GNOME2_MAIN=yes
5217 dnl wxWidgets module
5219 AC_ARG_ENABLE(wxwidgets,
5220 [ --enable-wxwidgets wxWidgets support (default disabled)])
5222 if test "${enable_wxwidgets}" = "yes"
5224 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5225 WXWIDGETS_PATH="${PATH}"
5226 AC_ARG_WITH(wx-config-path,
5227 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5228 [ if test "${with_wx_config_path}" != "no"
5230 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5232 WXWIDGETS_NAME="wx-config"
5233 AC_ARG_WITH(wx-config,
5234 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5235 [ if test "${with_wx_config}" != "no"
5237 WXWIDGETS_NAME="${with_wx_config}"
5239 # look for wx-config
5240 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5241 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5243 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5245 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5249 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5250 # into a warning. However better would be to fix playlist.cpp
5251 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5252 [ac_cv_cxx_fpermissive],
5253 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5254 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5255 ac_cv_cxx_fpermissive=no)])
5256 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5257 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5259 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5260 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5261 # check if we must link against gtk2 libs
5262 # if __WXGTK20__ && __WXGTK__ are defined
5263 # for modules/gui/wxwidgets/video.cpp
5264 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5267 #error ok, we need to link against gtk2
5269 ])],[WXGTK=no],[WXGTK=yes])
5270 if test "$WXGTK" = "yes"; then
5271 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5273 if ${WX_CONFIG} --unicode
5275 # wxwidgets should provide the following flags but does not
5276 # the following is required to compile for win32
5277 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5279 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5281 if test "$have_libcdio" = "yes"
5283 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5284 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5286 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5289 if test "$have_libvcdinfo" = "yes"
5291 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5292 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5294 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5297 # now look for the wxprec.h header
5298 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5299 ac_cv_wx_headers=yes
5300 AC_CHECK_HEADERS(wx/wxprec.h, , [
5302 echo "Cannot find wxWidgets development headers."
5304 if test "${ac_cv_wx_headers}" = "yes"
5306 VLC_ADD_PLUGIN([wxwidgets])
5307 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5308 ALIASES="${ALIASES} wxvlc"
5310 CPPFLAGS="${CPPFLAGS_save}"
5313 dnl WxWidgets plugin will yield incorrect code without this
5314 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5322 [ --enable-qt4 QT 4 support (default enabled) ])
5323 AS_IF([test "${enable_qt4}" != "no" &&
5324 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5325 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5326 [ VLC_ADD_PLUGIN([qt4])
5327 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5328 ALIASES="${ALIASES} qvlc"
5330 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5331 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5333 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5335 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5336 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5337 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5338 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5340 AS_IF([test "${enable_qt4}" = "yes"],[
5341 AC_MSG_ERROR(QT4 library not found)
5343 AC_MSG_WARN(QT4 library not found)
5347 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5350 dnl WinCE GUI module
5352 AC_ARG_ENABLE(wince,
5353 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5354 if test "${enable_wince}" != "no"; then
5355 if test "${SYS}" = "mingwce"; then
5356 VLC_ADD_BUILTINS([wince])
5357 VLC_ADD_CXXFLAGS([wince],[])
5358 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5360 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5361 elif test "${SYS}" = "mingw32"; then
5362 VLC_ADD_CXXFLAGS([wince],[])
5363 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5365 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5370 dnl Simple test for skins2 dependency
5372 if test "${enable_skins2}" != "no"
5374 if test "${WX_CONFIG}" = "no"
5376 AC_MSG_ERROR([The skins2 module depends on the wxWidgets 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 wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
5383 dnl AC_ARG_ENABLE(qt,
5384 dnl [ --enable-qt Qt interface support (default disabled)],
5385 dnl [if test "${enable_qt}" = "yes"; then
5386 dnl VLC_ADD_PLUGIN([qt])
5387 dnl ALIASES="${ALIASES} qvlc"
5388 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5389 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5390 dnl AC_CHECK_LIB(qt-mt,main,[
5391 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5393 dnl AC_CHECK_LIB(qt,main,[
5394 dnl VLC_ADD_LIBS([qt],[-lqt])
5397 dnl LDFLAGS="${LDFLAGS_save}"
5398 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5399 dnl if test -x ${QTDIR}/bin/moc
5401 dnl MOC=${QTDIR}/bin/moc
5410 dnl AC_ARG_ENABLE(kde,
5411 dnl [ --enable-kde KDE interface support (default disabled)],
5412 dnl [if test "${enable_kde}" = "yes"; then
5413 dnl VLC_ADD_PLUGIN([kde])
5414 dnl ALIASES="${ALIASES} kvlc"
5415 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5416 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5417 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5418 dnl AC_CHECK_LIB(kfile,main,[
5419 dnl VLC_ADD_LIBS([kde],[-lkfile])
5421 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5422 dnl AC_CHECK_LIB(kdeui,main,[
5423 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5425 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5426 dnl AC_CHECK_LIB(kio,main,[
5427 dnl VLC_ADD_LIBS([kde],[-lkio])
5429 dnl LDFLAGS="${LDFLAGS_save}"
5430 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5431 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5432 dnl if test -x ${QTDIR}/bin/moc
5434 dnl MOC=${QTDIR}/bin/moc
5441 dnl Opie QT embedded module
5444 [ --enable-opie Qt embedded interface support (default disabled)],
5445 [if test "${enable_opie}" = "yes"; then
5447 [ --with-qte=PATH Qt Embedded headers and libraries])
5448 if test "${with_qte}" != "no" -a -n "${with_qte}"
5450 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5451 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])
5453 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5454 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5456 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5457 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5458 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5460 CPPFLAGS="${CPPFLAGS_save}"
5462 VLC_ADD_PLUGIN([opie])
5464 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5465 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5466 if test "${with_qte}" != "no" -a -n "${with_qte}"
5468 MOC=${with_qte}/bin/moc
5470 MOC=${QTDIR}/bin/moc
5475 dnl MacOS X video output/gui modules
5477 AC_ARG_ENABLE(macosx,
5478 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5479 if test "x${enable_macosx}" = "xyes"
5481 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5482 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
5483 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5484 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5485 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5486 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5487 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5488 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
5489 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5490 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
5491 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
5492 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5494 # VLC_ADD_PLUGIN([access_eyetv])
5495 VLC_ADD_PLUGIN([qtcapture])
5496 VLC_ADD_PLUGIN([macosx])
5497 VLC_ADD_PLUGIN([minimal_macosx])
5500 CFLAGS="$CFLAGS -x objective-c"
5501 AC_CHECK_HEADER(QuartzCore/CALayer.h,
5502 [VLC_ADD_PLUGIN([opengllayer])
5503 VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
5511 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5512 if test "${enable_qnx}" != "no"
5514 AC_CHECK_HEADERS(Ph.h, [
5515 VLC_ADD_PLUGIN([qnx])
5516 VLC_ADD_LIBS([qnx],[-lasound -lph])
5523 AC_ARG_ENABLE(ncurses,
5524 [ --disable-ncurses ncurses interface support (default enabled)],
5525 [if test "${enable_ncurses}" != "no"; then
5526 AC_CHECK_HEADER(ncurses.h,
5527 [AC_CHECK_LIB(ncursesw, mvprintw,
5528 [VLC_ADD_PLUGIN([ncurses])
5529 VLC_ADD_LIBS([ncurses],[-lncursesw])
5530 ALIASES="${ALIASES} nvlc"
5531 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5532 AC_CHECK_LIB(ncursesw, tgetent, [],
5533 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5534 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5535 [AS_IF([test "x${enable_ncurses}" != "x"],
5536 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5542 [AC_CHECK_LIB( ncurses, mvprintw,
5543 [VLC_ADD_PLUGIN([ncurses])
5544 ALIASES="${ALIASES} nvlc"
5545 VLC_ADD_LIBS([ncurses],[-lncurses])
5546 AC_CHECK_LIB(ncurses, tgetent, [],
5547 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5548 [AS_IF([test "x${enable_ncurses}" != "x"],
5549 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5552 [AS_IF([test "x${enable_ncurses}" != "x"], [
5553 AC_MSG_ERROR([libncurses not found])])]
5564 [ --enable-xosd xosd interface support (default disabled)])
5565 if test "${enable_xosd}" = "yes"
5567 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5568 AC_CHECK_LIB(xosd,xosd_set_offset,
5569 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5570 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5571 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5572 AC_TRY_COMPILE([#include <xosd.h>],
5573 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5574 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5575 if test "${have_xosd}" = "true"
5577 VLC_ADD_PLUGIN([xosd])
5578 VLC_ADD_LIBS([xosd],[-lxosd])
5583 dnl Framebuffer (overlay) plugin
5585 AC_ARG_ENABLE(fbosd,
5586 [ --enable-fbosd fbosd interface support (default disabled)])
5587 if test "${enable_fbosd}" = "yes"
5589 AC_CHECK_HEADERS(linux/fb.h, [
5590 VLC_ADD_PLUGIN([fbosd])
5595 dnl Visualisation plugin
5597 AC_ARG_ENABLE(visual,
5598 [ --enable-visual visualisation plugin (default enabled)])
5599 if test "${enable_visual}" != "no"
5601 VLC_ADD_PLUGIN([visual])
5605 dnl OpenGL visualisation plugin
5607 AC_ARG_ENABLE(galaktos,
5608 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5609 if test "${enable_galaktos}" = "yes"
5611 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5612 VLC_ADD_PLUGIN([galaktos])
5613 if test "${SYS}" != "mingw32"; then
5614 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5616 VLC_ADD_LIBS([galaktos],[-lopengl32])
5622 dnl goom visualization plugin
5625 [ --enable-goom goom visualisation plugin (default disabled)])
5626 if test "${enable_goom}" = "yes"
5628 AC_ARG_WITH(goom-tree,
5629 [ --with-goom-tree=PATH goom tree for static linking (required)])
5632 dnl test for --with-goom-tree
5634 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5635 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5636 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5637 if test -z "${real_goom_tree}"; then
5638 dnl The given directory can't be found
5640 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5642 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5643 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5644 VLC_ADD_PLUGIN([goom])
5645 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5646 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5648 dnl The given libgoom2 wasn't built, try to look for the old goom
5650 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5651 if test -f "${real_goom_tree}/libgoom.a"; then
5652 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5653 VLC_ADD_PLUGIN([goom])
5654 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5655 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5657 dnl The given libgoom wasn't built
5659 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5663 AC_CHECK_HEADERS(goom/goom.h, [
5664 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5665 AC_CHECK_LIB(goom2, goom_init, [
5666 VLC_ADD_PLUGIN([goom])
5667 VLC_ADD_LIBS([goom],[-lgoom2])
5669 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5671 LDFLAGS="${LDFLAGS_save}"
5677 dnl AtmoLight (homebrew AmbiLight)
5679 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5681 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5682 if test "${enable_atmo}" != "no"; then
5684 VLC_ADD_PLUGIN([atmo])
5690 dnl Bonjour services discovery
5692 AC_ARG_ENABLE(bonjour,
5693 [ --enable-bonjour Bonjour services discovery (default enabled)])
5694 if test "${enable_bonjour}" != "no"
5696 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5697 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5698 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5699 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5700 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5701 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5702 VLC_ADD_PLUGIN([bonjour]) ],
5703 [AC_MSG_WARN(avahi-client library not found)])
5710 [ --enable-lirc lirc support (default disabled)])
5711 if test "${enable_lirc}" = "yes"
5713 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5714 if test "${have_lirc}" = "true"
5716 VLC_ADD_PLUGIN([lirc])
5717 VLC_ADD_LIBS([lirc],[-llirc_client])
5722 AC_ARG_WITH(,[Misc options:])
5727 AC_ARG_ENABLE(libgcrypt,
5728 [ --enable-libgcrypt libgcrypts support (default enabled)])
5730 GCRYPT_PATH="${PATH}"
5731 AC_ARG_WITH(libgcrypt-config-path,
5732 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5733 [ if test "${with_libgcrypt_config_path}" != "no"
5735 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5738 if test "${enable_libgcrypt}" != "no"
5740 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5741 dnl it and looks for libgcrypt headers in the wrong place.
5742 if test "${host_cpu}" = "${build_cpu}"
5744 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5746 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5749 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5750 AS_IF([test "${have_libgcrypt}" = "yes"],[
5751 # look for libgcrypt-config
5752 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5753 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5754 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5760 AC_ARG_ENABLE(gnutls,
5761 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5763 AS_IF([test "${enable_gnutls}" != "no"], [
5764 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5765 VLC_ADD_PLUGIN([gnutls])
5766 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5767 AS_IF([test "${SYS}" = "mingw32"], [
5768 dnl pkg-config --libs gnutls omits these
5769 VLC_ADD_LIBS([gnutls], [-lz])
5770 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5772 AS_IF([test "${have_libgcrypt}" = "yes"],[
5773 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5774 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5776 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5778 AS_IF([test "${enable_gnutls}" = "yes"], [
5779 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5785 dnl update checking system
5787 AC_ARG_ENABLE(update-check,
5788 [ --enable-update-check update checking system (default disabled)])
5789 if test "${enable_update_check}" = "yes"
5791 if test "${have_libgcrypt}" != "yes"
5793 AC_MSG_ERROR([libgcrypt is required for update checking system])
5795 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5796 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5797 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5801 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5803 dnl We give the user the opportunity to specify
5804 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5807 [ --with-words=endianness set endianness (big or little)])
5808 case "${with_words}" in
5810 ac_cv_c_bigendian=yes
5813 ac_cv_c_bigendian=no
5816 dnl Try to guess endianness by matching patterns on a compiled
5817 dnl binary, by looking for an ASCII or EBCDIC string
5818 AC_CACHE_CHECK([whether the byte order is big-endian],
5819 [ac_cv_c_bigendian],
5820 [ac_cv_c_bigendian="unknown"
5821 [cat >conftest.c <<EOF
5822 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5823 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5824 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5825 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5826 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5827 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5828 int main(void) { _a(); _e(); return 0; }
5831 if test -f conftest.c
5833 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5834 && test -f conftest.o
5836 if test "`strings conftest.o | grep BIGenDianSyS`"
5838 ac_cv_c_bigendian="yes"
5840 if test "`strings conftest.o | grep LiTTleEnDian`"
5842 ac_cv_c_bigendian="no"
5847 if test "${ac_cv_c_bigendian}" = "unknown"
5849 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5853 dnl Now we know what to use for endianness, just put it in the header
5854 if test "${ac_cv_c_bigendian}" = "yes"
5856 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5860 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5863 AC_ARG_ENABLE(loader,
5864 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5865 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5866 AS_IF([test "${enable_loader}" = "yes"],
5867 [ VLC_ADD_PLUGIN([dmo])
5868 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5869 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5870 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5871 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5872 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5873 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5876 AC_ARG_WITH(,[Components:])
5882 [ --enable-vlc build the VLC media player (default enabled)])
5883 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5886 dnl Microsoft ActiveX support
5889 AC_ARG_ENABLE(activex,
5890 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5891 AC_ARG_WITH(wine-sdk-path,
5892 [ --with-wine-sdk-path=PATH path to wine sdk])
5893 if test "${enable_activex}" != "no"
5895 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5897 AC_CHECK_PROGS(MIDL, [midl], no)
5898 if test "${with_wine_sdk_path}" != ""
5900 WINE_SDK_PATH=${with_wine_sdk_path}
5901 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5906 AC_CHECK_HEADERS(ole2.h,
5907 [AC_CHECK_HEADERS(olectl.h,
5908 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5909 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5910 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5911 AC_CHECK_HEADERS(objsafe.h,
5912 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5920 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5922 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5924 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5929 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5930 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5931 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5932 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5933 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5939 AC_ARG_ENABLE(mozilla,
5940 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5941 AC_ARG_WITH(mozilla-sdk-path,
5942 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5944 if test "${enable_mozilla}" = "yes"
5946 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5947 need_xpcom_libs=false
5949 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5951 dnl New firefox-1.5 SDK api
5952 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5954 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5957 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5960 PKG_CHECK_MODULES([NSPR], [nspr],
5963 AC_MSG_ERROR([Please install the nspr development tools.])
5969 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5970 MOZILLA_REQUIRED_HEADERS=1
5971 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5972 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5973 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5978 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5979 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5981 MOZILLA_REQUIRED_HEADERS=
5983 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5984 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5985 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5986 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5987 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5989 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5991 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5992 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5993 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
5995 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5996 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5997 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5998 VLC_ADD_PLUGIN([mozilla])
6000 CPPFLAGS="${CPPFLAGS_save}"
6003 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
6004 if test "${MOZILLA_CONFIG}" = "no"
6006 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
6007 if test "${SEAMONKEY_CONFIG}" = "no"
6009 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
6010 if test "${XULRUNNER_CONFIG}" = "no"
6012 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
6015 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
6018 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
6023 if test ! -z "${MOZILLA_CONFIG}"
6025 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
6026 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
6027 AC_CHECK_LIB(Xt,XtStrings,
6029 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
6030 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
6033 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
6035 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6036 LDFLAGS="${LDFLAGS_save}"
6040 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6041 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
6042 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
6043 if ${need_xpcom_libs}; then
6044 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
6046 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
6048 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
6049 MOZILLA_REQUIRED_HEADERS=1
6050 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6051 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6052 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6057 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6059 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6061 MOZILLA_REQUIRED_HEADERS=
6062 CPPFLAGS="${CPPFLAGS_save}"
6063 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
6065 dnl End of moz_sdk = ""
6067 dnl special case for mingw32
6068 if test "${SYS}" = "mingw32"
6070 AC_CHECK_TOOL(CYGPATH, cygpath, "")
6071 dnl latest gecko sdk does not have an xpcom directory
6072 if test -d "${with_mozilla_sdk_path}/xpcom"; then
6073 mozilla_sdk_xpcom="/xpcom"
6077 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
6078 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
6079 MOZILLA_REQUIRED_HEADERS=1
6080 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6081 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6082 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6087 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6089 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6091 MOZILLA_REQUIRED_HEADERS=
6093 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6094 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])
6095 if ${need_xpcom_libs}; then
6096 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])
6097 if test "${SYS}" = "mingw32"; then
6098 dnl latest gecko sdk does not have embedstring
6099 if test -d "${real_mozilla_sdk}/embedstring/bin"
6101 VLC_ADD_LIBS([mozilla],[-lembedstring])
6105 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
6107 if test -n "${CYGPATH}"; then
6108 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
6110 CPPFLAGS="${CPPFLAGS_save}"
6114 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
6116 dnl Tests for Osso and Xsp
6117 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
6118 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
6119 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
6120 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-losso])
6123 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6124 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
6125 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
6131 AC_ARG_ENABLE(testsuite,
6132 [ --enable-testsuite build test modules (default disabled)])
6133 if test "${enable_testsuite}" = "yes"
6135 TESTS="test1 test2 test3 test4"
6137 dnl we define those so that bootstrap sets the right linker
6138 VLC_ADD_CXXFLAGS([test2],[])
6139 VLC_ADD_OBJCFLAGS([test3],[])
6140 dnl this one is needed until automake knows what to do
6141 VLC_ADD_LIBS([test3],[-lobjc])
6143 VLC_ADD_PLUGIN([test1])
6144 VLC_ADD_PLUGIN([test2])
6145 VLC_ADD_PLUGIN([test3])
6146 VLC_ADD_PLUGIN([test4])
6150 dnl Microsoft Layer for Unicode for WIN9x/ME
6152 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6154 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6155 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6162 if test "${NEED_GTK_MAIN}" != "no"
6164 VLC_ADD_PLUGIN([gtk_main])
6165 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6166 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6169 if test "${NEED_GNOME_MAIN}" != "no"
6171 VLC_ADD_PLUGIN([gnome_main])
6172 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6173 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6176 if test "${NEED_GTK2_MAIN}" != "no"
6178 VLC_ADD_PLUGIN([gtk2_main])
6179 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6180 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6181 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6182 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6185 if test "${NEED_GNOME2_MAIN}" != "no"
6187 VLC_ADD_PLUGIN([gnome2_main])
6188 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6189 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6195 if test "${NEED_QTE_MAIN}" != "no"
6197 VLC_ADD_PLUGIN([qte_main])
6198 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6199 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6200 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6204 dnl Plugin and builtin checks
6208 dnl Automagically disable plugins if there is no system support for
6209 dnl dynamically loadable files (.so, .dll, .dylib).
6210 dnl don't forget vlc-win32 still can load .dll as plugins
6211 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6212 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6216 AS_IF([test "${enable_shared}" = "no"], [
6220 AS_IF([test "${plugin_support}" != "no"], [
6221 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6223 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6225 dnl Temporary(?) hack for plugins/builtins transition
6226 dnl VLC_ADD_PLUGIN([${BUILTINS}])
6230 dnl Pic and shared libvlc stuff
6232 AS_IF([test "${SYS}" = "mingw32"], [
6233 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
6234 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6238 dnl Stuff used by the program
6240 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6241 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6242 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6243 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6244 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6245 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6246 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6247 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6248 AC_SUBST(VERSION_MAJOR)
6249 AC_SUBST(VERSION_MINOR)
6250 AC_SUBST(VERSION_REVISION)
6251 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6252 if test "${build_os}" = "cygwin"
6254 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6256 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6258 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6259 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6262 dnl Handle substvars that use $(top_srcdir)
6264 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6265 AC_SUBST(VLC_CONFIG)
6266 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6274 dnl Create the vlc-config script
6276 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6279 dnl Configuration is finished
6289 AC_SUBST(MOZILLA_SDK_PATH)
6290 AC_SUBST(WINE_SDK_PATH)
6292 AC_SUBST(AM_CPPFLAGS)
6293 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6294 AC_SUBST(FILE_LIBVLCCORE_DLL)
6295 AC_SUBST(FILE_LIBVLC_DLL)
6297 dnl Create vlc-config.in
6298 VLC_OUTPUT_VLC_CONFIG_IN
6301 extras/package/win32/vlc.win32.nsi
6303 projects/activex/Makefile
6304 projects/activex/axvlc.inf
6306 extras/package/ipkg/Makefile
6307 libs/loader/Makefile
6310 projects/mozilla/Makefile
6319 modules/access/Makefile
6320 modules/access/bda/Makefile
6321 modules/access/dshow/Makefile
6322 modules/access/dvb/Makefile
6323 modules/access/mms/Makefile
6324 modules/access/cdda/Makefile
6325 modules/access/rtsp/Makefile
6326 modules/access/rtmp/Makefile
6327 modules/access/v4l2/Makefile
6328 modules/access/vcd/Makefile
6329 modules/access/vcdx/Makefile
6330 modules/access/screen/Makefile
6331 modules/access_filter/Makefile
6332 modules/access_output/Makefile
6333 modules/audio_filter/Makefile
6334 modules/audio_filter/channel_mixer/Makefile
6335 modules/audio_filter/converter/Makefile
6336 modules/audio_filter/resampler/Makefile
6337 modules/audio_filter/spatializer/Makefile
6338 modules/audio_mixer/Makefile
6339 modules/audio_output/Makefile
6340 modules/codec/Makefile
6341 modules/codec/cmml/Makefile
6342 modules/codec/dmo/Makefile
6343 modules/codec/ffmpeg/Makefile
6344 modules/codec/subtitles/Makefile
6345 modules/codec/spudec/Makefile
6346 modules/codec/xvmc/Makefile
6347 modules/control/Makefile
6348 modules/control/http/Makefile
6349 modules/demux/Makefile
6350 modules/demux/asf/Makefile
6351 modules/demux/avi/Makefile
6352 modules/demux/mp4/Makefile
6353 modules/demux/mpeg/Makefile
6354 modules/demux/playlist/Makefile
6355 modules/gui/Makefile
6356 modules/gui/beos/Makefile
6357 modules/gui/pda/Makefile
6358 modules/gui/macosx/Makefile
6359 modules/gui/minimal_macosx/Makefile
6360 modules/gui/qnx/Makefile
6361 modules/gui/qt4/Makefile
6362 modules/gui/skins2/Makefile
6363 modules/gui/wxwidgets/Makefile
6364 modules/gui/wince/Makefile
6365 modules/meta_engine/Makefile
6366 modules/misc/Makefile
6367 modules/misc/dummy/Makefile
6368 modules/misc/lua/Makefile
6369 modules/misc/memcpy/Makefile
6370 modules/misc/notify/Makefile
6371 modules/misc/testsuite/Makefile
6372 modules/misc/playlist/Makefile
6373 modules/misc/osd/Makefile
6374 modules/misc/xml/Makefile
6375 modules/misc/probe/Makefile
6376 modules/mux/Makefile
6377 modules/mux/mpeg/Makefile
6378 modules/mux/rtp/Makefile
6379 modules/packetizer/Makefile
6380 modules/services_discovery/Makefile
6381 modules/stream_out/Makefile
6382 modules/stream_out/transrate/Makefile
6383 modules/video_chroma/Makefile
6384 modules/video_filter/Makefile
6385 modules/video_filter/atmo/Makefile
6386 modules/video_filter/dynamicoverlay/Makefile
6387 modules/video_output/Makefile
6388 modules/video_output/msw/Makefile
6389 modules/video_output/qte/Makefile
6390 modules/video_output/x11/Makefile
6391 modules/visualization/Makefile
6392 modules/visualization/visual/Makefile
6393 modules/visualization/galaktos/Makefile
6396 dnl Generate makefiles
6399 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6400 # not provided with the source
6401 ${SHELL} ./config.status --file=vlc-config
6402 chmod 0755 vlc-config
6404 dnl echo "Enabled builtin modules :"
6405 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6407 dnl echo "Enabled plugin modules :"
6408 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6410 dnl Shortcut to nice compile message
6412 echo '#! /bin/sh' >compile
6413 echo rm -f .error\$\$ >>compile
6414 echo ERROR=0 >>compile
6415 echo export PATH=$PATH LANG=C >>compile
6416 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6417 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6418 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6419 echo rm -f .error\$\$ >>compile
6420 echo exit \$ERROR >>compile
6424 libvlc configuration
6425 --------------------
6426 version : ${VERSION}
6428 architecture : ${ARCH}
6430 test "${enable_debug}" = "yes" && printf "debug "
6431 test "${enable_cprof}" = "yes" && printf "cprof "
6432 test "${enable_gprof}" = "yes" && printf "gprof "
6433 test "${enable_optimizations}" = "yes" && printf "optim "
6434 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6436 if test "${enable_vlc}" != "no"; then
6437 echo "vlc aliases :${ALIASES}"
6439 echo "build vlc executable : no"
6441 echo "plugins/bindings :${PLUGINS_BINDINGS}
6443 You can check which modules have been enabled
6444 with \`./vlc-config --list plugin'.
6445 You can tune the compiler flags in vlc-config.
6446 To build vlc and its plugins, type \`./compile' or \`make'.
6448 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6450 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6452 echo " FFmpeg will be REALLY slow."
6453 echo " VLC WILL NOT PERFORM AS EXPECTED."