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 Checks for __attribute__(format()) directive
1119 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1120 [ac_cv_c_attribute_format],
1121 [ac_cv_c_attribute_format=no
1122 CFLAGS="${CFLAGS_save} -Werror"
1124 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1125 [ac_cv_c_attribute_format=yes])
1126 CFLAGS="${CFLAGS_save}"])
1127 if test "${ac_cv_c_attribute_format}" != "no"; then
1128 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1131 dnl Check for __attribute__((packed))
1132 AC_CACHE_CHECK([for __attribute__((packed))],
1133 [ac_cv_c_attribute_packed],
1134 [ac_cv_c_attribute_packed=no
1135 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1136 [ac_cv_c_attribute_packed=yes])])
1137 if test "${ac_cv_c_attribute_packed}" != "no"; then
1138 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1141 dnl Check for __attribute__((visibility()))
1142 AC_CACHE_CHECK([for __attribute__((visibility()))],
1143 [ac_cv_c_attribute_visibility],
1144 [ac_cv_c_attribute_visibility=no
1145 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1146 [ac_cv_c_attribute_visibility=yes])])
1147 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1148 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1154 case "${host_cpu}" in
1164 dnl Enable profiling
1166 AC_ARG_ENABLE(gprof,
1167 [ --enable-gprof gprof profiling (default disabled)])
1168 AC_ARG_ENABLE(cprof,
1169 [ --enable-cprof cprof profiling (default disabled)])
1170 test "${enable_gprof}" != "yes" && enable_gprof="no"
1171 test "${enable_cprof}" != "yes" && enable_cprof="no"
1176 VLC_ADD_PLUGIN([dummy])
1177 VLC_ADD_PLUGIN([logger])
1178 VLC_ADD_PLUGIN([memcpy])
1180 VLC_ADD_PLUGIN([mpgv])
1181 VLC_ADD_PLUGIN([mpga])
1182 VLC_ADD_PLUGIN([m4v])
1183 VLC_ADD_PLUGIN([m4a])
1184 VLC_ADD_PLUGIN([h264])
1185 VLC_ADD_PLUGIN([vc1])
1186 VLC_ADD_PLUGIN([demux_cdg])
1187 VLC_ADD_PLUGIN([cdg])
1188 VLC_ADD_PLUGIN([ps])
1189 VLC_ADD_PLUGIN([pva])
1190 VLC_ADD_PLUGIN([avi])
1191 VLC_ADD_PLUGIN([asf])
1192 VLC_ADD_PLUGIN([mp4])
1193 VLC_ADD_PLUGIN([rawdv])
1194 VLC_ADD_PLUGIN([rawvid])
1195 VLC_ADD_PLUGIN([nsv])
1196 VLC_ADD_PLUGIN([real])
1197 VLC_ADD_PLUGIN([aiff])
1198 VLC_ADD_PLUGIN([mjpeg])
1199 VLC_ADD_PLUGIN([wav])
1200 VLC_ADD_PLUGIN([voc])
1201 VLC_ADD_PLUGIN([smf])
1202 VLC_ADD_PLUGIN([demuxdump])
1203 VLC_ADD_PLUGIN([flacsys])
1204 VLC_ADD_PLUGIN([tta])
1205 VLC_ADD_PLUGIN([subtitle])
1206 VLC_ADD_PLUGIN([vobsub])
1207 VLC_ADD_PLUGIN([a52sys])
1208 VLC_ADD_PLUGIN([dtssys])
1209 VLC_ADD_PLUGIN([au])
1210 VLC_ADD_PLUGIN([ty])
1211 VLC_ADD_PLUGIN([xa])
1212 VLC_ADD_PLUGIN([nuv])
1214 VLC_ADD_PLUGIN([cvdsub])
1215 VLC_ADD_PLUGIN([svcdsub])
1216 VLC_ADD_PLUGIN([spudec])
1217 VLC_ADD_PLUGIN([subsdec])
1218 VLC_ADD_PLUGIN([subsusf])
1219 VLC_ADD_PLUGIN([t140])
1220 VLC_ADD_PLUGIN([dvbsub])
1221 VLC_ADD_PLUGIN([cc])
1223 VLC_ADD_PLUGIN([cinepak])
1225 VLC_ADD_PLUGIN([araw])
1226 VLC_ADD_PLUGIN([adpcm])
1227 VLC_ADD_PLUGIN([mpeg_audio])
1228 VLC_ADD_PLUGIN([lpcm])
1229 VLC_ADD_PLUGIN([a52])
1230 VLC_ADD_PLUGIN([dts])
1231 VLC_ADD_PLUGIN([flac])
1233 VLC_ADD_PLUGIN([deinterlace])
1234 VLC_ADD_PLUGIN([invert])
1235 VLC_ADD_PLUGIN([adjust])
1236 VLC_ADD_PLUGIN([transform])
1237 VLC_ADD_PLUGIN([wave])
1238 VLC_ADD_PLUGIN([ripple])
1239 VLC_ADD_PLUGIN([psychedelic])
1240 VLC_ADD_PLUGIN([gradient])
1241 VLC_ADD_PLUGIN([motionblur])
1242 VLC_ADD_PLUGIN([rv32])
1243 VLC_ADD_PLUGIN([rotate])
1244 VLC_ADD_PLUGIN([noise])
1245 VLC_ADD_PLUGIN([grain])
1246 VLC_ADD_PLUGIN([extract])
1247 VLC_ADD_PLUGIN([sharpen])
1248 VLC_ADD_PLUGIN([seamcarving])
1249 VLC_ADD_PLUGIN([croppadd])
1250 VLC_ADD_PLUGIN([blendbench])
1251 VLC_ADD_PLUGIN([blend])
1252 VLC_ADD_PLUGIN([scale])
1253 VLC_ADD_PLUGIN([image])
1254 VLC_ADD_PLUGIN([vmem])
1255 VLC_ADD_PLUGIN([logo])
1256 VLC_ADD_PLUGIN([magnify])
1257 VLC_ADD_PLUGIN([puzzle])
1258 VLC_ADD_PLUGIN([colorthres])
1260 VLC_ADD_PLUGIN([playlist])
1261 VLC_ADD_PLUGIN([export])
1262 VLC_ADD_PLUGIN([nsc])
1263 VLC_ADD_PLUGIN([xtag])
1264 dnl Channel mixing audio filters:
1265 VLC_ADD_PLUGIN([converter_fixed])
1266 VLC_ADD_PLUGIN([mono])
1267 VLC_ADD_PLUGIN([trivial_channel_mixer])
1268 dnl Resampling audio filters:
1269 VLC_ADD_PLUGIN([trivial_resampler])
1270 VLC_ADD_PLUGIN([ugly_resampler])
1272 VLC_ADD_PLUGIN([trivial_mixer])
1274 VLC_ADD_PLUGIN([i420_rgb])
1275 VLC_ADD_PLUGIN([grey_yuv])
1277 VLC_ADD_PLUGIN([rawvideo])
1279 VLC_ADD_PLUGIN([access_filter_timeshift])
1280 VLC_ADD_PLUGIN([access_filter_record])
1281 VLC_ADD_PLUGIN([access_filter_dump])
1282 VLC_ADD_PLUGIN([access_filter_bandwidth])
1284 ALIASES="${ALIASES} cvlc"
1287 dnl default modules that need g++
1290 VLC_ADD_PLUGIN([spatializer])
1293 if test "${SYS}" != "mingwce"; then
1294 VLC_ADD_PLUGIN([gestures])
1295 VLC_ADD_PLUGIN([rc])
1296 VLC_ADD_PLUGIN([telnet])
1297 VLC_ADD_PLUGIN([hotkeys])
1298 VLC_ADD_PLUGIN([showintf])
1299 VLC_ADD_PLUGIN([marq])
1300 VLC_ADD_PLUGIN([podcast])
1301 VLC_ADD_PLUGIN([shout])
1302 VLC_ADD_PLUGIN([sap])
1303 VLC_ADD_PLUGIN([fake])
1304 VLC_ADD_PLUGIN([folder])
1305 VLC_ADD_PLUGIN([rss])
1306 VLC_ADD_PLUGIN([mosaic])
1307 VLC_ADD_PLUGIN([wall])
1308 VLC_ADD_PLUGIN([motiondetect])
1309 VLC_ADD_PLUGIN([clone])
1310 VLC_ADD_PLUGIN([crop])
1311 VLC_ADD_PLUGIN([erase])
1312 VLC_ADD_PLUGIN([bluescreen])
1313 VLC_ADD_PLUGIN([alphamask])
1314 VLC_ADD_PLUGIN([gaussianblur])
1315 VLC_ADD_PLUGIN([i420_yuy2])
1316 VLC_ADD_PLUGIN([i422_yuy2])
1317 VLC_ADD_PLUGIN([i420_ymga])
1318 VLC_ADD_PLUGIN([i422_i420])
1319 VLC_ADD_PLUGIN([yuy2_i422])
1320 VLC_ADD_PLUGIN([yuy2_i420])
1321 VLC_ADD_PLUGIN([chroma_chain])
1322 VLC_ADD_PLUGIN([aout_file])
1323 VLC_ADD_PLUGIN([linear_resampler])
1324 VLC_ADD_PLUGIN([bandlimited_resampler])
1325 VLC_ADD_PLUGIN([float32_mixer])
1326 VLC_ADD_PLUGIN([spdif_mixer])
1327 VLC_ADD_PLUGIN([simple_channel_mixer])
1328 VLC_ADD_PLUGIN([dolby_surround_decoder])
1329 VLC_ADD_PLUGIN([headphone_channel_mixer])
1330 VLC_ADD_PLUGIN([normvol])
1331 VLC_ADD_PLUGIN([equalizer])
1332 VLC_ADD_PLUGIN([param_eq])
1333 VLC_ADD_PLUGIN([converter_float])
1334 VLC_ADD_PLUGIN([a52tospdif])
1335 VLC_ADD_PLUGIN([dtstospdif])
1336 VLC_ADD_PLUGIN([audio_format])
1337 ALIASES="${ALIASES} rvlc"
1341 dnl Some plugins aren't useful on some platforms
1343 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1344 VLC_ADD_PLUGIN([screensaver])
1345 VLC_ADD_PLUGIN([motion])
1346 VLC_ADD_PLUGIN([dynamicoverlay])
1347 elif test "${SYS}" != "mingwce"; then
1348 VLC_ADD_PLUGIN([ntservice])
1349 VLC_ADD_PLUGIN([access_smb])
1350 VLC_ADD_PLUGIN([dmo])
1351 VLC_ADD_PLUGIN([msn])
1352 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1354 VLC_ADD_PLUGIN([win32text])
1356 if test "${SYS}" = "darwin"; then
1357 VLC_ADD_PLUGIN([quartztext])
1358 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1362 dnl Accelerated modules
1365 AC_ARG_WITH(,[Optimization options:])
1367 dnl Check for fully working MMX intrinsics
1368 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1369 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1371 [ --disable-mmx disable MMX optimizations (default auto)],,[
1372 case "${host_cpu}" in
1381 AS_IF([test "${enable_mmx}" != "no"], [
1384 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1385 [ac_cv_c_mmx_intrinsics],
1386 [CFLAGS="${CFLAGS_save} -O -mmmx"
1387 AC_TRY_COMPILE([#include <mmintrin.h>
1391 a = b = c = (__m64)frobzor;
1392 a = _mm_slli_pi16(a, 3);
1393 a = _mm_adds_pi16(a, b);
1394 c = _mm_srli_pi16(c, 8);
1395 c = _mm_slli_pi16(c, 3);
1396 b = _mm_adds_pi16(b, c);
1397 a = _mm_unpacklo_pi8(a, b);
1398 frobzor = (uint64_t)a;],
1399 [ac_cv_c_mmx_intrinsics=yes],
1400 [ac_cv_c_mmx_intrinsics=no])])
1401 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1402 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1403 [Define to 1 if MMX intrinsics are available.])
1404 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1407 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1409 [CFLAGS="${CFLAGS_save}"
1410 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1411 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1412 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1413 AC_DEFINE(CAN_COMPILE_MMX, 1,
1414 [Define to 1 inline MMX assembly is available.])
1415 VLC_ADD_PLUGIN([memcpymmx])
1416 VLC_ADD_PLUGIN([i420_rgb_mmx])
1417 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1418 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1419 VLC_ADD_PLUGIN([i420_ymga_mmx])
1422 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1423 [ac_cv_mmxext_inline],
1424 [CFLAGS="${CFLAGS_save}"
1425 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1426 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1427 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1428 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1429 [Define to 1 if MMX EXT inline assembly is available.])
1430 VLC_ADD_PLUGIN([memcpymmxext])
1434 dnl Check for fully workin SSE2 intrinsics
1435 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1436 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1438 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)],, [
1439 case "${host_cpu}" in
1448 AS_IF([test "${enable_sse}" != "no"], [
1449 ARCH="${ARCH} sse sse2"
1451 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1452 [ac_cv_c_sse2_intrinsics],
1453 [CFLAGS="${CFLAGS_save} -O -msse2"
1454 AC_TRY_COMPILE([#include <emmintrin.h>
1458 a = b = c = _mm_set1_epi64((__m64)frobzor);
1459 a = _mm_slli_epi16(a, 3);
1460 a = _mm_adds_epi16(a, b);
1461 c = _mm_srli_epi16(c, 8);
1462 c = _mm_slli_epi16(c, 3);
1463 b = _mm_adds_epi16(b, c);
1464 a = _mm_unpacklo_epi8(a, b);
1465 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1466 [ac_cv_c_sse2_intrinsics=yes],
1467 [ac_cv_c_sse2_intrinsics=no])])
1468 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1469 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1470 [Define to 1 if SSE2 intrinsics are available.])
1471 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1474 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1476 [CFLAGS="${CFLAGS_save}"
1477 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1478 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1479 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1480 AC_DEFINE(CAN_COMPILE_SSE, 1,
1481 [Define to 1 if SSE inline assembly is available.])
1484 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1485 [ac_cv_sse2_inline],
1486 [CFLAGS="${CFLAGS_save}"
1487 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1488 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1489 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1490 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1491 [Define to 1 if SSE2 inline assembly is available.])
1492 VLC_ADD_PLUGIN([i420_rgb_sse2])
1493 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1494 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1498 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1499 [ac_cv_3dnow_inline],
1500 [CFLAGS="${CFLAGS_save}"
1501 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1502 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1503 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1504 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1505 [Define to 1 if 3D Now! inline assembly is available.])
1506 VLC_ADD_PLUGIN([memcpy3dn])
1509 AC_ARG_ENABLE(altivec,
1510 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1511 AS_IF([test "${host_cpu}" = "powerpc"],
1512 [enable_altivec=yes], [enable_altivec=no])
1514 AS_IF([test "${enable_altivec}" = "yes"], [
1515 ARCH="${ARCH} altivec";
1516 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1517 [ac_cv_altivec_inline],
1518 [CFLAGS="${CFLAGS_save}"
1519 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1520 ac_cv_altivec_inline="yes",
1521 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1522 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1523 [ac_cv_altivec_inline="-Wa,-m7400"],
1524 ac_cv_altivec_inline=no)
1526 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1527 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1528 [Define to 1 if AltiVec inline assembly is available.])
1529 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1530 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1531 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1532 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1533 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1534 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1536 VLC_ADD_PLUGIN([memcpyaltivec])
1537 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1540 dnl The AltiVec C extensions
1542 dnl There are several possible cases:
1543 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1544 dnl need <altivec.h>
1545 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1546 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1547 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1548 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1549 dnl - Others: test should fail
1550 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1552 [# OS X/PPC test (gcc 4.x)
1553 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1554 AC_TRY_COMPILE([vector unsigned char foo;],
1555 [vec_ld(0, (unsigned char *)0);],
1556 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1557 [# OS X/PPC test (gcc 3.x)
1558 CFLAGS="${CFLAGS_save} -faltivec"
1559 AC_TRY_COMPILE([vector unsigned char foo;],
1560 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1561 [ac_cv_c_altivec="-faltivec"],
1562 dnl Below this are the Linux tests
1563 [# Linux/PPC test (gcc 4.x)
1564 CFLAGS="${CFLAGS_save} -maltivec"
1565 AC_TRY_COMPILE([#include <altivec.h>],
1566 [vec_ld(0, (unsigned char *)0);],
1567 [ac_cv_c_altivec="-maltivec"],
1568 [# Linux/PPC test (gcc 3.3)
1569 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1570 AC_TRY_COMPILE([#include <altivec.h>],
1571 [vec_ld(0, (unsigned char *)0);],
1573 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1574 [# Linux/PPC test (gcc 3.3)
1575 CFLAGS="${CFLAGS_save} -fvec"
1576 AC_TRY_COMPILE([#include <altivec.h>],
1577 [vec_ld(0, (unsigned char *)0);],
1578 [ac_cv_c_altivec="-fvec"],
1579 [ac_cv_c_altivec=no])
1584 CFLAGS="${CFLAGS_save}"
1586 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1587 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1590 AC_CHECK_HEADERS(altivec.h)
1591 CPPFLAGS="${CPPFLAGS_save}"
1593 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1594 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1595 [Define to 1 if C AltiVec extensions are available.])
1596 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1597 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1598 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1599 VLC_ADD_PLUGIN([memcpyaltivec])
1600 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1603 AC_CACHE_CHECK([if linker needs -framework vecLib],
1605 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1606 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1607 LDFLAGS="${LDFLAGS_save}"
1609 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1610 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1615 dnl Special arch tuning
1618 [ --with-tuning=ARCH enable special tuning for an architecture
1619 (default Pentium 2 on IA-32 and G4 on PPC)])
1620 if test -n "${with_tuning}"; then
1621 if test "${with_tuning}" != "no"; then
1622 CFLAGS_TUNING="-mtune=${with_tuning}"
1625 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1626 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1627 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1628 CFLAGS_TUNING="-mtune=pentium2"
1629 elif test "${host_cpu}" = "x86_64"; then
1630 CFLAGS_TUNING="-mtune=athlon64"
1631 elif test "${host_cpu}" = "powerpc"; then
1632 CFLAGS_TUNING="-mtune=G4";
1636 dnl NOTE: this can't be cached cleanly
1637 AS_IF([test "${CFLAGS_TUNING}"],
1638 [CFLAGS_save="${CFLAGS}"
1639 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1641 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1642 AC_COMPILE_IFELSE([ ],
1644 [CFLAGS_TUNING=""; tuning="no"
1645 AS_IF([test "${with_tuning}"],
1646 [AC_MSG_ERROR([requested tuning not supported])])])
1648 AC_MSG_RESULT([$tuning])
1649 CFLAGS="${CFLAGS_save}"
1655 AC_ARG_ENABLE(optimize-memory,
1656 [ --enable-optimize-memory optimize memory usage over performance])
1657 if test "${enable_optimize_memory}" = "yes"; then
1658 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1662 dnl Enable/disable optimizations
1664 AC_ARG_ENABLE(optimizations,
1665 [ --disable-optimizations disable compiler optimizations (default enabled)])
1666 if test "${enable_optimizations}" != "no"; then
1667 if test "${enable_optimize_memory}" = "yes"; then
1668 enable_optimizations="size"
1670 enable_optimizations="speed"
1677 AC_ARG_ENABLE(debug,
1678 [ --enable-debug debug mode (default disabled)])
1679 test "${enable_debug}" != "yes" && enable_debug="no"
1681 [Define to 1 if debug code should NOT be compiled])
1682 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1687 AC_ARG_ENABLE(coverage,
1688 [ --enable-coverage build for test coverage (default disabled)],,
1689 [enable_coverage="no"])
1690 AS_IF([test "${enable_coverage}" != "no"], [
1691 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1692 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1693 LDFLAGS="-lgcov ${LDFLAGS}"
1695 CFLAGS_save="${CFLAGS}"
1696 CXXFLAGS_save="${CXXFLAGS}"
1697 LDFLAGS_save="${LDFLAGS}"
1701 dnl Enable release-specific flags
1703 AC_ARG_ENABLE(release,
1704 [ --enable-release activate extra optimizations (default disabled)])
1705 test "${enable_release}" != "yes" && enable_release="no"
1711 [ --enable-sout Stream output modules (default enabled)])
1712 AS_IF([test "${enable_sout}" != "no"], [
1713 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1715 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1717 AC_ARG_ENABLE(switcher,
1718 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1720 dnl Check for libshout
1721 AC_ARG_ENABLE(shout,
1722 [ --enable-shout libshout output plugin (default disabled)])
1723 if test "${enable_shout}" = "yes"; then
1724 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1725 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1726 VLC_ADD_PLUGIN([access_output_shout])
1727 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1728 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1729 [AC_MSG_WARN(libshout library not found)])
1734 [ --enable-lua lua playlist, metafetcher and interface plugins (default enabled)])
1735 if test "${enable_lua}" != "no"
1737 PKG_CHECK_MODULES(LUA, lua5.1,
1740 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1741 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1745 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1748 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1749 [LUA_LIBS="-llua5.1"],
1750 AC_CHECK_LIB( lua51 , luaL_newstate,
1751 [LUA_LIBS="-llua51"],
1752 AC_CHECK_LIB( lua , luaL_newstate,
1755 AC_MSG_WARN([lua >= 5.1 not found!])
1761 if test "x${have_lua}" = "xyes" ; then
1762 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1763 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1764 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1767 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1772 AC_ARG_ENABLE(httpd,
1773 [ --enable-httpd HTTP daemon (default enabled)])
1774 if test "${enable_httpd}" != "no"
1776 VLC_ADD_PLUGIN([http])
1777 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1779 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1782 dnl VideoLAN manager
1785 [ --enable-vlm VideoLAN manager (default enabled)])
1786 if test "${enable_vlm}" != "no"
1788 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1792 dnl Growl notification plugin
1794 AC_ARG_ENABLE(growl,
1795 [ --enable-growl growl notification plugin (default enabled)])
1796 AS_IF([test "${enable_growl}" != "no"], [
1797 VLC_ADD_PLUGIN([growl_udp])
1798 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1799 VLC_ADD_PLUGIN([growl])
1800 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1806 dnl Libnotify notification plugin
1809 AC_ARG_ENABLE(notify,
1810 [ --enable-notify libnotify notification plugin (default enabled)])
1811 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1812 PKG_CHECK_MODULES(NOTIFY, libnotify,
1814 VLC_ADD_PLUGIN([notify])
1815 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1816 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1818 AS_IF([test "${enable_notify}" = "yes"],[
1819 AC_MSG_WARN( libnotify not found) ])
1824 dnl Audioscrobbler plugin
1827 AC_ARG_ENABLE(audioscrobbler,
1828 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1829 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1830 VLC_ADD_PLUGIN([audioscrobbler])
1834 dnl Musicbrainz plugin
1836 AC_ARG_ENABLE(musicbrainz,
1837 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1838 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1839 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1840 [ VLC_ADD_PLUGIN([musicbrainz])
1841 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1842 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1843 [AC_MSG_WARN(MusicBrainz library not found)])
1850 AC_ARG_ENABLE(taglib,
1851 [ --disable-taglib Taglib support (default enabled) ])
1852 AS_IF([test "${enable_taglib}" != "no"],[
1853 PKG_CHECK_MODULES(TAGLIB, taglib,
1854 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1855 VLC_ADD_PLUGIN([taglib])
1856 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1857 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1858 [AC_MSG_WARN(TagLib library not found)])
1866 AC_ARG_WITH(,[Input plugins:])
1870 if test "${enable_livedotcom}"
1872 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1875 if test "${enable_livedotcom}" = "no"
1879 AC_ARG_ENABLE(live555,
1880 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1881 if test "${enable_live555}" != "no"; then
1882 AC_ARG_WITH(live555-tree,
1883 [ --with-live555-tree=PATH live.com tree for static linking])
1886 dnl test for --with-live555-tree
1888 if test "${with_livedotcom_tree}"
1890 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1891 with_live555_tree="${with_livedotcom_tree}"
1894 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1896 CPPFLAGS_save="${CPPFLAGS}"
1897 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1898 if test "${SYS}" = "solaris"; then
1899 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1901 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1902 AC_CHECK_HEADERS(liveMedia.hh, [
1903 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1904 AC_CHECK_LIB(liveMedia_pic, main, [
1905 # We have -lliveMedia_pic, build plugins
1906 VLC_ADD_PLUGIN([live555])
1907 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1909 AC_CHECK_LIB(liveMedia, main, [
1910 # We only have -lliveMedia, do builtins
1911 VLC_ADD_PLUGIN([live555])
1912 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1915 if test "${SYS}" = "mingw32"; then
1916 # add ws2_32 for closesocket, select, recv
1917 VLC_ADD_LIBS([live555],[-lws2_32])
1920 CPPFLAGS="${CPPFLAGS_save}"
1923 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1924 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1925 if test -z "${real_live555_tree}"; then
1926 dnl The given directory can't be found
1928 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1930 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1931 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1933 VLC_ADD_PLUGIN([live555])
1935 if test "${SYS}" = "mingw32"; then
1936 # add ws2_32 for closesocket, select, recv
1937 VLC_ADD_LIBS([live555],[-lws2_32])
1940 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1941 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1942 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1943 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1945 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1946 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1947 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1948 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1949 if test "${SYS}" = "solaris"; then
1950 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1953 dnl The given live555 wasn't built
1955 if test "${enable_live555}" = "yes"; then
1956 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1963 dnl special access module for dc1394 input
1965 AC_ARG_ENABLE(dc1394,
1966 [ --enable-dc1394 dc1394 access module (default disabled)])
1967 if test "${enable_dc1394}" = "yes"
1969 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1970 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1971 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1972 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1973 VLC_ADD_PLUGIN([dc1394])
1974 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1977 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1981 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1985 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1989 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1994 dnl dv module: digital video module check for libraw1394
1997 [ --enable-dv dv input module (default disabled)])
1998 if test "${enable_dv}" = "yes"
2000 AC_ARG_WITH(dv-raw1394,
2001 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
2002 AC_ARG_WITH(dv-raw1394-tree,
2003 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
2005 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
2007 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
2008 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
2010 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
2012 VLC_ADD_PLUGIN([access_dv])
2013 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
2014 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
2016 dnl No libraw1394 could be found, sorry
2018 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
2021 AC_CHECK_HEADERS(libraw1394/raw1394.h,
2022 [ VLC_ADD_PLUGIN([access_dv])
2023 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2025 if test -n "${enable_dv}"
2027 AC_MSG_ERROR([cannot find libraw1394 headers])
2032 dnl Check for static linking of libraw1394
2033 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2035 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2036 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2037 if test -z "${real_dv_raw1394_tree}"
2039 dnl The given directory can't be found
2041 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2043 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2045 dnl Use a custom libraw1394
2046 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2047 VLC_ADD_BUILTINS([access_dv])
2048 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2049 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2051 dnl The given libraw1394 wasn't built
2053 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2058 dnl Check for libavc1394
2061 AC_ARG_WITH(dv-avc1394,
2062 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2063 AC_ARG_WITH(dv-avc1394-tree,
2064 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2066 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2068 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2069 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2071 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2073 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2074 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2076 dnl No libavc1394 could be found, sorry
2078 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2081 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2082 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2084 if test -n "${enable_dv}"
2086 AC_MSG_ERROR([cannot find libavc1394 headers])
2091 dnl Check for static linking of libavc1394
2092 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2094 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2095 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2096 if test -z "${real_dv_avc1394_tree}"
2098 dnl The given directory can't be found
2100 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2102 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2104 dnl Use a custom libavc1394
2105 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2106 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2107 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2109 dnl The given libavc1394 wasn't built
2111 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2117 dnl dvdread module: check for libdvdread
2119 AC_ARG_ENABLE(dvdread,
2120 [ --enable-dvdread dvdread input module (default disabled)])
2121 if test "${enable_dvdread}" != "no"
2123 AC_ARG_WITH(dvdread,
2124 [ --with-dvdread=PATH libdvdread headers and libraries])
2125 AC_ARG_WITH(dvdread-tree,
2126 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2128 dnl Temporary hack (yeah, sure ;)
2129 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2130 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2133 if test -z "${with_dvdread}"
2135 if test -z "${with_dvdread_tree}"
2137 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2138 [ VLC_ADD_PLUGIN([dvdread])
2139 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2141 if test -n "${enable_dvdread}"
2143 AC_MSG_ERROR([cannot find libdvdread headers])
2147 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2148 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2149 if test -z "${real_dvdread_tree}"
2151 dnl The given directory can't be found
2153 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2155 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2157 dnl Use a custom libdvdread
2158 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2159 VLC_ADD_BUILTINS([dvdread])
2160 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2161 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2163 dnl The given libdvdread wasn't built
2165 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2169 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2170 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2172 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2174 VLC_ADD_PLUGIN([dvdread])
2175 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2176 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2178 dnl No libdvdread could be found, sorry
2180 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2186 dnl libdvdnav plugin
2188 AC_ARG_ENABLE(dvdnav,
2189 [ --enable-dvdnav dvdnav input module (default enabled)])
2190 if test "${enable_dvdnav}" != "no"
2192 dnl Same hack than dvdread
2193 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2194 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2197 DVDNAV_PATH="${PATH}"
2198 AC_ARG_WITH(dvdnav-config-path,
2199 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2200 [ if test "${with_dvdnav_config_path}" != "no"
2202 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2204 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2205 if test "${DVDNAV_CONFIG}" != "no"
2207 VLC_ADD_PLUGIN([dvdnav])
2208 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2209 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2214 dnl Windows DirectShow access module
2216 AC_ARG_ENABLE(dshow,
2217 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2218 if test "${enable_dshow}" != "no"
2220 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2223 AC_CHECK_HEADERS(dshow.h,
2224 [ VLC_ADD_PLUGIN([dshow])
2225 VLC_ADD_CXXFLAGS([dshow],[])
2226 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2232 dnl Windows DirectShow BDA access module
2235 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2236 if test "${enable_bda}" != "no"
2238 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2240 AC_CHECK_HEADERS(dshow.h,
2241 [ VLC_ADD_PLUGIN([bda])
2242 VLC_ADD_CXXFLAGS([bda],[])
2243 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2249 dnl OpenCV wrapper and example filters
2251 AC_ARG_ENABLE(opencv,
2252 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2253 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2255 AC_ARG_WITH(opencv-tree,
2256 [ --with-opencv-tree=PATH opencv tree for linking])
2257 if test -n "${with_opencv_tree}"
2259 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2261 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2262 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2263 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2266 VLC_ADD_PLUGIN([opencv_wrapper])
2267 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2268 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])
2270 VLC_ADD_PLUGIN([opencv_example])
2271 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2272 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])
2275 dnl No opencv could be found, sorry
2277 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2280 AC_MSG_WARN([--enable-opencv currently only works on windows])
2287 dnl libsmbclient plugin
2290 [ --enable-smb smb input module (default enabled)])
2291 if test "${enable_smb}" != "no"; then
2292 AC_CHECK_HEADERS(libsmbclient.h,
2293 [ VLC_ADD_PLUGIN([access_smb])
2294 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2295 [ if test -n "${enable_smb}"; then
2296 AC_MSG_ERROR([cannot find libsmbclient headers])
2298 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2299 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2300 [#include <libsmbclient.h>])
2304 dnl libdvbpsi ts demux/mux
2306 AC_ARG_ENABLE(dvbpsi,
2307 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2308 if test "${enable_dvbpsi}" != "no"
2311 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2313 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2314 case "${with_dvbpsi}" in
2316 if test -z "${with_dvbpsi_tree}"
2318 AC_CHECK_HEADERS(dvbpsi/dr.h,
2319 [ VLC_ADD_PLUGIN([ts])
2320 if test "${enable_sout}" != "no"; then
2321 VLC_ADD_PLUGIN([mux_ts])
2323 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2324 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2325 [#if defined( HAVE_STDINT_H )
2326 # include <stdint.h>
2327 #elif defined( HAVE_INTTYPES_H )
2328 # include <inttypes.h>
2330 #include <dvbpsi/dvbpsi.h>
2331 #include <dvbpsi/descriptor.h>
2332 #include <dvbpsi/pat.h>
2333 #include <dvbpsi/pmt.h>])
2335 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2336 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2337 if test -z "${real_dvbpsi_tree}"
2339 dnl The given directory can't be found
2341 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2343 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2345 dnl Use a custom libdvbpsi
2346 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2347 VLC_ADD_BUILTINS([ts])
2348 if test "${enable_sout}" != "no"; then
2349 VLC_ADD_BUILTINS([mux_ts])
2351 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2352 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2354 dnl The given libdvbpsi wasn't built
2356 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2361 dnl Compile without dvbpsi
2364 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2365 if test -z "${with_dvbpsi}"
2370 LDFLAGS_test="-L${with_dvbpsi}/lib"
2371 CPPFLAGS_test="-I${with_dvbpsi}/include"
2373 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2374 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2375 VLC_ADD_PLUGIN([ts])
2376 if test "${enable_sout}" != "no"; then
2377 VLC_ADD_PLUGIN([mux_ts])
2379 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2380 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2383 if test -n "${enable_dvbpsi}"
2385 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])
2388 CPPFLAGS="${CPPFLAGS_save}"
2391 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2392 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2393 ], [], [${LIBS_ts}])
2398 dnl Video4Linux plugin
2401 [ --enable-v4l Video4Linux input support (default disabled)])
2402 if test "${enable_v4l}" = "yes"
2405 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2406 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2408 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2411 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2412 AC_CHECK_HEADERS(linux/videodev.h, [
2413 VLC_ADD_PLUGIN([v4l])
2415 CPPFLAGS="${CPPFLAGS_save}"
2419 dnl Video4Linux2 plugin
2422 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2423 if test "${enable_v4l2}" = "yes"
2426 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2427 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2429 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2432 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2433 if test "${have_v4l2_alsa}" = "true"
2435 CFLAGS="${CFLAGS_save}"
2436 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2437 #define ALSA_PCM_NEW_SW_PARAMS_API
2438 #include <alsa/asoundlib.h>],
2439 [snd_pcm_hw_params_get_period_time(0,0,0);],
2440 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2441 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2442 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2445 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2446 AC_CHECK_HEADERS(linux/videodev2.h, [
2447 VLC_ADD_PLUGIN([v4l2])
2449 CPPFLAGS="${CPPFLAGS_save}"
2454 dnl special access module for Hauppauge PVR cards
2457 [ --enable-pvr PVR cards access module (default disabled)])
2458 if test "${enable_pvr}" = "yes"
2460 VLC_ADD_PLUGIN([pvr])
2461 AC_ARG_WITH(videodev2,
2462 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2463 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2465 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2469 AC_CACHE_CHECK([for new linux/videodev2.h],
2470 [new_linux_videodev2_h],
2472 #include <sys/types.h>
2473 # ifdef VIDEODEV2_H_FILE
2474 # include VIDEODEV2_H_FILE
2476 # include <linux/videodev2.h>
2479 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2480 new_linux_videodev2_h=yes,
2481 new_linux_videodev2_h=no)])
2482 if test "${new_linux_videodev2_h}" != "no"; then
2483 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2488 dnl gnomeVFS access module
2490 AC_ARG_ENABLE(gnomevfs,
2491 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2492 if test "${enable_gnomevfs}" = "yes"
2494 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2495 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2496 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2497 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2498 VLC_ADD_PLUGIN([access_gnomevfs]),
2499 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2502 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2503 AC_ARG_ENABLE(libcdio,
2504 [ --enable-libcdio CD input and control library support (default enabled)])
2509 if test "${enable_libcdio}" != "no"
2511 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2513 AC_DEFINE(HAVE_LIBCDIO, 1,
2514 [Define if you have libcdio 0.78.2 or greater installed]),
2515 [AC_MSG_WARN(CD Reading and information library not found)])
2517 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2518 [have_libvcdinfo=yes
2519 AC_DEFINE(HAVE_VCDINFO, 1,
2520 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2521 [AC_MSG_WARN(VCD information library not found)])
2525 dnl VCDX and CDDAX modules
2527 AC_ARG_ENABLE(cddax,
2528 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2530 AC_ARG_ENABLE(libcddb,
2531 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2533 if test "${enable_cddax}" = "yes"
2535 if test "$have_libcdio" = "yes"
2537 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2538 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2539 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2540 VLC_ADD_PLUGIN([cddax])
2541 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2542 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2543 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2545 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2549 if test "$enable_libcddb" != "no"; then
2550 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2552 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2553 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2554 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2556 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2563 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2565 if test "${enable_vcdx}" = "yes"
2567 if test "${have_libvcdinfo}" = "yes"
2569 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2570 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2572 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2576 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2577 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2578 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2579 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2582 if test "$have_libvcdinfo" = "yes"
2584 AC_DEFINE(HAVE_VCDX, 1,
2585 [Define for the VCD plugin using libcdio/libvcdinfo])
2586 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2587 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2588 VLC_ADD_PLUGIN([vcdx])
2590 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2596 dnl Built-in CD-DA and VCD module
2599 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2602 [ --enable-vcd built-in VCD (default enabled)])
2604 if test "${enable_vcd}" != "no"
2606 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2607 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2609 VLC_ADD_PLUGIN([vcd])
2610 VLC_ADD_PLUGIN([cdda])
2615 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2616 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2618 VLC_ADD_PLUGIN([vcd])
2619 VLC_ADD_PLUGIN([cdda])
2620 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2625 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2626 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2628 VLC_ADD_PLUGIN([vcd])
2629 VLC_ADD_PLUGIN([cdda])
2630 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2635 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2637 VLC_ADD_PLUGIN([vcd])
2638 VLC_ADD_PLUGIN([cdda])
2641 if test "${SYS}" = "darwin"
2643 VLC_ADD_PLUGIN([vcd])
2644 VLC_ADD_PLUGIN([cdda])
2645 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2646 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2649 if test "$enable_libcddb" != "no"; then
2650 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2652 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2653 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2654 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2656 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2662 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2665 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2667 if test "${enable_dvb}" = "yes"
2670 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2671 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2673 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2675 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2676 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2677 if test -z "${with_dvbpsi_tree}"
2679 VLC_ADD_PLUGIN([dvb])
2681 VLC_ADD_BUILTINS([dvb])
2683 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2684 CPPFLAGS="${CPPFLAGS_save}"
2688 dnl Screen capture module
2690 AC_ARG_ENABLE(screen,
2691 [ --enable-screen Screen capture support (default enabled)])
2692 if test "${enable_screen}" != "no"; then
2693 if test "${SYS}" = "darwin"; then
2694 AC_CHECK_HEADERS(OpenGL/gl.h, [
2695 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2696 VLC_ADD_PLUGIN([screen])
2697 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2700 elif test "${SYS}" = "mingw32"; then
2701 VLC_ADD_PLUGIN([screen])
2702 VLC_ADD_LIBS([screen],[-lgdi32])
2703 elif test "${SYS}" = "mingwce"; then
2704 CPPFLAGS="${CPPFLAGS_save}"
2705 elif test "${SYS}" = "beos"; then
2706 VLC_ADD_PLUGIN([screen])
2707 VLC_ADD_CXXFLAGS([screen],[])
2708 VLC_ADD_LIBS([screen],[-lbe])
2710 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2711 AC_CHECK_HEADERS(X11/Xlib.h, [
2712 VLC_ADD_PLUGIN([screen])
2713 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2714 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2716 CPPFLAGS="${CPPFLAGS_save}"
2721 dnl ipv6 plugin - not for QNX yet
2724 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2725 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2728 AS_IF([test "${have_ipv6}" = "yes"], [
2729 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2732 AC_CHECK_FUNCS(inet_ntop,[
2733 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2737 dnl ogg demux plugin
2740 [ --enable-ogg Ogg demux support (default enabled)])
2741 if test "${enable_ogg}" != "no"
2743 AC_ARG_WITH(ogg-tree,
2744 [ --with-ogg-tree=PATH ogg tree for static linking])
2745 if test -n "${with_ogg_tree}"
2747 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2748 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2749 if test -z "${real_ogg_tree}"
2751 dnl The given directory can't be found
2753 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2755 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2757 dnl Use a custom ogg
2758 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2759 VLC_ADD_PLUGIN([ogg])
2760 if test "${enable_sout}" != "no"; then
2761 VLC_ADD_PLUGIN([mux_ogg])
2763 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2764 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2766 dnl The given ogg wasn't built
2768 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2771 AC_CHECK_HEADERS(ogg/ogg.h, [
2772 AC_CHECK_LIB( ogg, oggpack_read, [
2773 VLC_ADD_PLUGIN([ogg])
2774 if test "${enable_sout}" != "no"; then
2775 VLC_ADD_PLUGIN([mux_ogg])
2777 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2783 dnl matroska demux plugin
2786 [ --enable-mkv Matroska demux support (default enabled)])
2787 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2789 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2790 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2792 [#include <ebml/EbmlVersion.h>
2793 #ifdef LIBEBML_VERSION
2794 #if LIBEBML_VERSION >= 0x000706
2798 [AC_MSG_RESULT([yes])
2799 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2800 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2802 [#include <matroska/KaxVersion.h>
2803 #ifdef LIBMATROSKA_VERSION
2804 #if LIBMATROSKA_VERSION >= 0x000705
2808 [AC_MSG_RESULT([yes])
2809 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2810 VLC_ADD_CXXFLAGS([mkv],[])
2811 if test "${SYS}" = "darwin"; then
2812 VLC_ADD_CXXFLAGS([mkv],[-O1])
2814 AC_CHECK_LIB(ebml_pic, main, [
2815 VLC_ADD_PLUGIN([mkv])
2816 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2818 AC_CHECK_LIB(ebml, main, [
2819 VLC_ADD_PLUGIN([mkv])
2820 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2824 [AC_MSG_RESULT([no])
2825 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.])
2829 [AC_MSG_RESULT([no])
2830 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.])
2837 dnl modplug demux plugin
2840 [ --enable-mod Mod demux support (default enabled)])
2841 if test "${enable_mod}" != "no"
2843 AC_ARG_WITH(mod-tree,
2844 [ --with-mod-tree=PATH mod tree for static linking])
2845 if test -n "${with_mod_tree}"
2847 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2848 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2849 if test -z "${real_mod_tree}"
2851 dnl The given directory can't be found
2853 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2855 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2857 dnl Use a custom mod
2858 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2859 VLC_ADD_PLUGIN([mod])
2860 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2861 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2863 dnl The given mod wasn't built
2865 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2868 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2869 VLC_ADD_PLUGIN([mod])
2870 VLC_ADD_CXXFLAGS([mod],[])
2871 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2876 dnl mpc demux plugin
2879 [ --enable-mpc Mpc demux support (default enabled)])
2880 if test "${enable_mpc}" != "no"
2882 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2883 VLC_ADD_PLUGIN([mpc])
2884 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2888 dnl game music emu demux plugin
2891 [ --enable-gme Game Music Emu demux support (default enabled)])
2892 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2895 AC_ARG_WITH(gme-tree,
2896 [ --with-gme-tree=PATH gme tree for static linking])
2897 if test -n "${with_gme_tree}"
2899 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2900 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2901 if test -z "${real_gme_tree}"
2903 dnl The given directory can't be found
2905 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2907 if test -f "${real_gme_tree}/gme/libgme.a"
2909 dnl Use a custom gme
2910 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2911 VLC_ADD_PLUGIN([gme])
2912 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2913 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2915 dnl The given gme wasn't built
2917 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2920 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2929 AC_ARG_WITH(,[Codec plugins:])
2935 [ --enable-mad libmad module (default enabled)])
2936 if test "${enable_mad}" != "no"
2939 [ --with-mad=PATH path to libmad],[],[])
2940 if test "${with_mad}" != "no" -a -n "${with_mad}"
2942 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2943 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2946 AC_ARG_WITH(mad-tree,
2947 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2948 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2950 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2951 if test -z "${real_mad_tree}"
2953 dnl The given directory can't be found
2955 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2957 dnl Use a custom libmad
2958 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2959 if test -f ${real_mad_tree}/mad.h
2962 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2963 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2964 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2965 AC_CHECK_LIB(mad, mad_bit_init, [
2966 VLC_ADD_BUILTINS([mpgatofixed32])
2967 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2968 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2970 LDFLAGS="${LDFLAGS_save}"
2973 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2976 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2977 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2978 AC_CHECK_HEADERS(mad.h, ,
2979 [ 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.]) ])
2980 AC_CHECK_LIB(mad, mad_bit_init, [
2981 VLC_ADD_PLUGIN([mpgatofixed32])
2982 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2983 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2984 CPPFLAGS="${CPPFLAGS_save}"
2985 LDFLAGS="${LDFLAGS_save}"
2990 dnl libid3tag support (FIXME!!! doesn't work with new input)
2992 AC_ARG_ENABLE( id3tag,
2993 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2994 AS_IF([test "${enable_id3tag}" != "no"], [
2995 AC_CHECK_HEADERS(id3tag.h, [
2996 AC_CHECK_HEADERS(zlib.h, [
2997 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2998 VLC_ADD_PLUGIN([id3tag])
3004 dnl ffmpeg decoder/demuxer plugin
3006 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
3007 dnl 3- default place,
3009 AC_ARG_ENABLE(ffmpeg,
3010 [ --enable-ffmpeg ffmpeg codec (default enabled)])
3011 if test "${enable_ffmpeg}" != "no"
3014 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
3016 AC_ARG_WITH(ffmpeg-mp3lame,
3017 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
3019 if test "$with_ffmpeg_mp3lame" = "yes"; then
3020 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
3023 AC_ARG_WITH(ffmpeg-faac,
3024 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
3026 if test "$with_ffmpeg_faac" = "yes"; then
3027 VLC_ADD_LIBS([ffmpeg],[-lfaac])
3030 AC_ARG_WITH(ffmpeg-dts,
3031 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
3033 if test "$with_ffmpeg_dts" = "yes"; then
3034 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3035 AC_CHECK_LIB(dts_pic, dts_free,
3036 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
3037 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
3038 LDFLAGS="${LDFLAGS_save}"
3041 AC_ARG_WITH(ffmpeg-dca,
3042 [ --with-ffmpeg-dca specify if ffmpeg has been compiled with dca support],
3044 if test "$with_ffmpeg_dca" = "yes"; then
3045 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3046 AC_CHECK_LIB(dca, dca_free, [ VLC_ADD_LIBS([ffmpeg],[-ldca]) ])
3047 LDFLAGS="${LDFLAGS_save}"
3050 AC_ARG_WITH(ffmpeg-vorbis,
3051 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
3053 if test "$with_ffmpeg_vorbis" = "yes"; then
3054 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
3057 AC_ARG_WITH(ffmpeg-theora,
3058 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
3060 if test "$with_ffmpeg_theora" = "yes"; then
3061 VLC_ADD_LIBS([ffmpeg],[-ltheora])
3064 AC_ARG_WITH(ffmpeg-ogg,
3065 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
3067 if test "$with_ffmpeg_ogg" = "yes"; then
3068 VLC_ADD_LIBS([ffmpeg],[-logg])
3071 AC_ARG_WITH(ffmpeg-zlib,
3072 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3074 if test "$with_ffmpeg_zlib" = "yes"; then
3075 VLC_ADD_LIBS([ffmpeg],[-lz])
3078 AC_ARG_WITH(ffmpeg-amrnb,
3079 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3081 if test "$with_ffmpeg_amrnb" = "yes"; then
3082 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3085 AC_ARG_WITH(ffmpeg-amrwb,
3086 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3088 if test "$with_ffmpeg_amrwb" = "yes"; then
3089 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3092 AC_ARG_WITH(ffmpeg-x264,
3093 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3095 if test "$with_ffmpeg_x264" = "yes"; then
3096 VLC_ADD_LIBS([ffmpeg],[-lx264])
3099 AC_ARG_WITH(ffmpeg-a52,
3100 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3102 if test "$with_ffmpeg_a52" = "yes"; then
3103 VLC_ADD_LIBS([ffmpeg],[-la52])
3107 dnl test for --with-ffmpeg-tree
3109 AC_ARG_WITH(ffmpeg-tree,
3110 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3112 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3113 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3114 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3115 if test -z "${real_ffmpeg_tree}"; then
3116 dnl The given directory can't be found
3118 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3120 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3121 dnl The given libavcodec wasn't built
3123 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3125 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3126 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3127 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3128 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3129 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3130 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3132 dnl The given libavcodec wasn't built with --enable-postproc
3134 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3137 dnl Use a custom libffmpeg
3138 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3140 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3141 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3142 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3143 export PKG_CONFIG_PATH=""
3144 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3147 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3148 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3149 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3150 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3152 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3153 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3154 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3155 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3156 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3158 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3159 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3161 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3162 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3163 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3164 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3167 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3168 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3170 unset PKG_CONFIG_PATH
3172 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3173 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3175 unset PKG_CONFIG_LIBDIR
3178 VLC_ADD_BUILTINS([ffmpeg])
3179 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3180 VLC_ADD_BUILTINS([stream_out_switcher])
3187 dnl Trying with pkg-config
3188 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3191 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3192 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3193 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3194 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3195 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3196 dnl newer ffmpeg have a separate libpostproc
3197 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3198 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3199 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3201 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3202 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3203 AC_CHECK_HEADERS(postproc/postprocess.h)
3204 VLC_ADD_PLUGIN([ffmpeg])
3205 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3206 VLC_ADD_PLUGIN([stream_out_switcher])
3208 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3209 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3211 dnl even newer ffmpeg has a libswscale
3212 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3213 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3214 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3215 AC_CHECK_LIB(swscale, sws_getContext,
3216 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[${SWSCALE_LIBS}])
3222 dnl last chance: at the default place
3224 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3225 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3226 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3227 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3228 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3229 AC_CHECK_HEADERS(postproc/postprocess.h)
3231 AC_CHECK_LIB(avutil, av_crc_init, [
3232 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3233 LDAVUTIL="-lavutil"])
3235 AC_CHECK_LIB(avcodec, avcodec_init, [
3236 VLC_ADD_BUILTINS([ffmpeg])
3237 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3238 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3239 VLC_ADD_BUILTINS([stream_out_switcher])
3241 [ 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])
3243 AC_CHECK_LIB(postproc, pp_postprocess, [
3244 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3245 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3248 AC_CHECK_LIB(avformat, av_open_input_stream, [
3249 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3250 LDFLAGS="${LDFLAGS_save}"
3251 CPPFLAGS="${CPPFLAGS_save}"
3253 AC_CHECK_LIB(swscale, sws_getContext, [
3254 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3255 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3256 LDFLAGS="${LDFLAGS_save}"
3257 CPPFLAGS="${CPPFLAGS_save}"
3263 dnl ffmpegaltivec plugin
3265 AC_ARG_ENABLE(ffmpegaltivec,
3266 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3267 if test "${enable_ffmpegaltivec}" = "yes"
3269 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3270 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3271 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3272 if test -z "${real_ffmpeg_tree}"; then
3273 dnl The given directory can't be found
3275 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3277 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3278 dnl The given libavcodecaltivec wasn't built
3280 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3282 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3283 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3285 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3287 dnl Use a custom libffmpeg
3288 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3289 VLC_ADD_BUILTINS([ffmpegaltivec])
3290 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3291 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3292 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3294 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3295 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3296 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3297 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3299 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3300 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3305 dnl faad decoder plugin
3308 [ --enable-faad faad codec (default disabled)])
3309 if test "${enable_faad}" = "yes"
3311 AC_ARG_WITH(faad-tree,
3312 [ --with-faad-tree=PATH faad tree for static linking])
3313 if test -n "${with_faad_tree}"
3315 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3316 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3317 if test -z "${real_faad_tree}"
3319 dnl The given directory can't be found
3321 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3323 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3325 dnl Use a custom faad
3326 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3327 VLC_ADD_BUILTINS([faad])
3328 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3329 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3331 dnl The given libfaad wasn't built
3333 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3336 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3337 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3338 AC_CHECK_HEADERS(faad.h, ,
3339 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3340 AC_CHECK_LIB(faad, faacDecOpen, [
3341 VLC_ADD_PLUGIN([faad])
3342 VLC_ADD_LIBS([faad],[-lfaad]) ],
3343 AC_CHECK_LIB(faad, NeAACDecOpen, [
3344 VLC_ADD_PLUGIN([faad])
3345 VLC_ADD_LIBS([faad],[-lfaad]) ],
3346 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3347 LDFLAGS="${LDFLAGS_save}"
3348 CPPFLAGS="${CPPFLAGS_save}"
3353 dnl twolame encoder plugin
3355 AC_ARG_ENABLE(twolame,
3356 [ --enable-twolame twolame codec (default disabled)])
3357 if test "${enable_twolame}" = "yes"
3359 AC_ARG_WITH(twolame-tree,
3360 [ --with-twolame-tree=PATH twolame tree for static linking])
3361 if test -n "${with_twolame_tree}"
3363 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3364 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3365 if test -z "${real_twolame_tree}"
3367 dnl The given directory can't be found
3369 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3371 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3373 dnl Use a custom twolame
3374 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3375 VLC_ADD_BUILTINS([twolame])
3376 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3377 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3379 dnl The given libtwolame wasn't built
3381 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3384 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3385 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3386 AC_CHECK_HEADERS(twolame.h, ,
3387 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3388 AC_CHECK_LIB(twolame, twolame_init, [
3389 VLC_ADD_PLUGIN([twolame])
3390 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3391 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3392 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3393 LDFLAGS="${LDFLAGS_save}"
3394 CPPFLAGS="${CPPFLAGS_save}"
3399 dnl QuickTime plugin
3401 AC_ARG_ENABLE(quicktime,
3402 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3403 if test "${enable_quicktime}" != "no" &&
3404 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3406 if test "${SYS}" = "mingw32"; then
3407 VLC_ADD_BUILTINS([quicktime])
3409 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3410 [ VLC_ADD_PLUGIN([quicktime])
3411 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3412 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3420 [ --enable-real Real audio module (default disabled)])
3421 if test "${enable_real}" = "yes"; then
3422 VLC_ADD_PLUGIN([realaudio])
3426 dnl Real RTSP plugin
3428 AC_ARG_ENABLE(realrtsp,
3429 [ --enable-realrtsp Real RTSP module (default disabled)])
3430 if test "${enable_realrtsp}" = "yes"; then
3431 VLC_ADD_PLUGIN([access_realrtsp])
3437 AC_CHECK_HEADERS(zlib.h, [
3438 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3441 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3442 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3448 AC_ARG_ENABLE(libtar,
3449 [ --enable-libtar support for skins2 (default enabled)])
3451 AS_IF([test "${enable_libtar}" != "no"],[
3452 AC_CHECK_HEADERS(libtar.h, [
3453 VLC_ADD_LIBS([skins2],[-ltar])
3458 dnl A52/AC3 decoder plugin
3461 [ --enable-a52 A/52 support with liba52 (default enabled)])
3462 if test "${enable_a52}" != "no"
3465 [ --with-a52=PATH a52 headers and libraries])
3466 AC_ARG_WITH(a52-tree,
3467 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3468 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3470 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3471 if test -z "${real_a52_tree}"
3473 dnl The given directory can't be found
3475 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3477 dnl Use a custom a52dec
3478 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3479 if test -f ${real_a52_tree}/include/a52.h
3482 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3483 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3484 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3485 AC_CHECK_LIB(a52, a52_free, [
3486 VLC_ADD_BUILTINS([a52tofloat32])
3487 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3488 VLC_ADD_LIBS([a52tofloat32],[-la52])
3490 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3492 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3494 AC_MSG_ERROR([the specified tree hasn't been compiled])
3497 LDFLAGS="${LDFLAGS_save}"
3500 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3503 if test -z "${with_a52}"
3508 LDFLAGS_test="-L${with_a52}/lib"
3509 CPPFLAGS_test="-I${with_a52}/include"
3511 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3512 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3513 AC_CHECK_HEADERS(a52dec/a52.h, [
3514 AC_CHECK_LIB(a52, a52_free, [
3515 VLC_ADD_PLUGIN([a52tofloat32])
3516 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3517 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3519 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.])
3522 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.])
3524 CPPFLAGS="${CPPFLAGS_save}"
3525 LDFLAGS="${LDFLAGS_save}"
3529 AC_ARG_WITH(a52-fixed,
3530 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3532 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3535 dnl DTS Coherent Acoustics decoder plugin
3537 AS_IF([test "x${enable_dts}" != "x"], [
3538 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3540 AS_IF([test "x${with_dts_tree}" != "x"], [
3541 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3545 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3546 AS_IF([test "${enable_dca}" != "no"], [
3547 AC_ARG_WITH(dca-tree,
3548 [ --with-dca-tree=PATH libdca tree for static linking],,
3549 [with_dca_tree="no"])
3550 AS_IF([test "${with_dca_tree}" != "no"], [
3551 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3552 AS_IF([test -z "${real_dca_tree}"], [
3553 dnl The given directory can't be found
3555 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3557 dnl Use a custom libdca
3558 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3559 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3561 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3562 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3563 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3565 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3569 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3572 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3573 VLC_ADD_PLUGIN([dtstofloat32])
3574 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3575 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3577 AS_IF([test "x${enable_dca}" != "x"], [
3578 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3588 [ --enable-flac libflac decoder/encoder support (default disabled)])
3589 if test "${enable_flac}" = "yes"
3591 AC_ARG_WITH(flac-tree,
3592 [ --with-flac-tree=PATH flac tree for static linking])
3593 if test -n "${with_flac_tree}"
3595 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3596 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3597 if test -z "${real_flac_tree}"
3599 dnl The given directory can't be found
3601 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3603 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3605 dnl Use a custom flac
3606 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3607 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3608 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3609 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3611 dnl The given flac wasn't built
3613 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3616 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3617 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3625 AC_ARG_ENABLE(libmpeg2,
3626 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3627 if test "${enable_libmpeg2}" != "no"
3629 AC_ARG_WITH(libmpeg2-tree,
3630 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3631 if test -n "${with_libmpeg2_tree}"
3633 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3634 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3635 if test -z "${real_libmpeg2_tree}"
3637 dnl The given directory can't be found
3639 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3641 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3643 dnl Use a custom libmpeg2
3644 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3645 VLC_ADD_BUILTINS([libmpeg2])
3646 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3647 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3648 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3650 dnl The given libmpeg2 wasn't built
3652 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3655 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3656 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3658 [#include <mpeg2dec/mpeg2.h>
3659 #ifdef MPEG2_RELEASE
3660 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3664 [AC_MSG_RESULT([yes])
3665 VLC_ADD_PLUGIN([libmpeg2])
3666 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3667 [AC_MSG_RESULT([no])
3668 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.])])],
3670 [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.])]
3678 AC_ARG_ENABLE(vorbis,
3679 [ --enable-vorbis Vorbis decoder support (default enabled)])
3680 if test "${enable_vorbis}" != "no"
3682 AC_ARG_WITH(vorbis-tree,
3683 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3684 if test -n "${with_vorbis_tree}"
3686 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3687 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3688 if test -z "${real_vorbis_tree}"
3690 dnl The given directory can't be found
3692 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3694 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3696 dnl Use a custom vorbis
3697 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3698 VLC_ADD_PLUGIN([vorbis])
3699 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3700 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3702 dnl The given vorbis wasn't built
3704 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3707 AC_CHECK_HEADERS(vorbis/codec.h, [
3708 VLC_ADD_PLUGIN([vorbis])
3709 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3711 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3712 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3719 AC_ARG_ENABLE(tremor,
3720 [ --enable-tremor Tremor decoder support (default disabled)])
3721 if test "${enable_tremor}" = "yes"
3723 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3724 VLC_ADD_PLUGIN([tremor])
3725 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3732 AC_ARG_ENABLE(speex,
3733 [ --enable-speex Speex decoder support (default enabled)])
3734 if test "${enable_speex}" != "no"
3736 AC_ARG_WITH(speex-tree,
3737 [ --with-speex-tree=PATH speex tree for static linking])
3738 if test -n "${with_speex_tree}"
3740 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3741 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3742 if test -z "${real_speex_tree}"
3744 dnl The given directory can't be found
3746 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3748 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3750 dnl Use a custom speex
3751 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3752 VLC_ADD_PLUGIN([speex])
3753 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3754 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3756 dnl The given speex wasn't built
3758 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3761 AC_CHECK_HEADERS(speex/speex.h, [
3762 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3763 AC_CHECK_LIB(speex, speex_decode_int, [
3764 VLC_ADD_PLUGIN([speex])
3765 VLC_ADD_LIBS([speex],[-lspeex]) ],
3766 [ AC_MSG_RESULT([no])
3767 AC_MSG_WARN([Your libspeex is too old, please get the development
3769 LDFLAGS="${LDFLAGS_save}"
3775 dnl tarkin decoder plugin
3777 AC_ARG_ENABLE(tarkin,
3778 [ --enable-tarkin experimental tarkin codec (default disabled)])
3779 if test "${enable_tarkin}" = "yes"
3781 AC_ARG_WITH(tarkin-tree,
3782 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3783 if test -n "${with_tarkin_tree}"
3785 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3786 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3787 if test -f "${real_tarkin_tree}/tarkin.o"
3789 VLC_ADD_BUILTINS([tarkin])
3790 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3791 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])
3794 dnl The given tarkin tree wasn't built
3796 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3797 make sure you compiled tarkin in ${with_tarkin_tree}])
3803 dnl theora decoder plugin
3805 AC_ARG_ENABLE(theora,
3806 [ --enable-theora experimental theora codec (default disabled)])
3807 if test "${enable_theora}" = "yes"
3809 AC_CHECK_HEADERS(theora/theora.h, [
3810 AC_CHECK_LIB(theora, theora_granule_time, [
3811 VLC_ADD_PLUGIN([theora])
3812 theora_libs="-ltheora -logg"
3813 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3814 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3815 You also need to check that you have a libogg posterior to the 1.0 release.])],
3821 dnl dirac decoder plugin
3823 AC_ARG_ENABLE(dirac,
3824 [ --enable-dirac experimental dirac codec (default disabled)])
3825 if test "${enable_dirac}" = "yes"; then
3826 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3827 VLC_ADD_PLUGIN([dirac])
3828 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3829 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3830 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3835 dnl PNG decoder module
3838 [ --enable-png PNG support (default enabled)])
3839 if test "${enable_png}" != "no"; then
3840 AC_CHECK_HEADERS(png.h, [
3841 LDFLAGS="${LDFLAGS_save} -lz"
3842 AC_CHECK_LIB(png, png_set_rows, [
3843 VLC_ADD_LIBS([png],[-lpng -lz])
3844 VLC_ADD_PLUGIN([png])
3845 VLC_ADD_PLUGIN([osdmenu])
3846 VLC_ADD_PLUGIN([osd_parser])
3847 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3849 LDFLAGS="${LDFLAGS_save}"
3852 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3855 dnl H264 encoder plugin (using libx264)
3858 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3859 if test "${enable_x264}" != "no"; then
3860 AC_ARG_WITH(x264-tree,
3861 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3862 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3864 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3865 if test -z "${real_x264_tree}"
3867 dnl The given directory can't be found
3869 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3871 dnl Use a custom libx264
3872 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3873 if test -f ${real_x264_tree}/x264.h
3876 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3877 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3878 PKG_CHECK_MODULES(X264,x264, [
3879 VLC_ADD_PLUGIN([x264])
3880 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3881 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3883 AC_MSG_ERROR([the specified tree hasn't been compiled])
3885 LDFLAGS="${LDFLAGS_save}"
3888 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3891 PKG_CHECK_MODULES(X264,x264, [
3892 VLC_ADD_PLUGIN([x264])
3893 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3894 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3896 if test "${enable_x264}" = "yes"; then
3897 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3900 LDFLAGS="${LDFLAGS_save}"
3905 dnl libfluidsynth (MIDI synthetizer) plugin
3907 AC_ARG_ENABLE(fluidsynth,
3908 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3909 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3910 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3911 VLC_ADD_PLUGIN(fluidsynth)
3912 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3913 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3915 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3916 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3922 dnl Teletext Modules
3923 dnl vbi decoder plugin (using libzbvi)
3928 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3930 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3932 AS_IF( [test "${enable_zvbi}" != "no"],[
3933 AS_IF( [test "${enable_telx}" = "yes"],[
3934 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3936 PKG_CHECK_MODULES(ZVBI,
3939 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3940 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3941 VLC_ADD_PLUGIN([zvbi])
3942 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3944 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3949 AS_IF( [test "${enable_telx}" = "yes"],[
3950 VLC_ADD_PLUGIN([telx])
3954 dnl asa/csri subtitle rendering module
3957 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3958 AS_IF( [test "${enable_csri}" = "yes"], [
3959 PKG_CHECK_MODULES(CSRI,
3962 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3963 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3964 VLC_ADD_PLUGIN([csri])
3966 AC_MSG_WARN([CSRI helper library not found])
3973 AC_ARG_ENABLE(asademux,
3974 [ --enable-asademux asa subtitle demuxing (default disabled)])
3975 AS_IF( [test "${enable_asademux}" = "yes"], [
3976 PKG_CHECK_MODULES(PCRE,
3979 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3980 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3981 VLC_ADD_PLUGIN([asademux])
3983 AC_MSG_WARN([PCRE library not found (required for asademux)])
3991 [ --enable-cmml CMML support (default enabled)])
3992 if test "${enable_cmml}" != "no"
3994 VLC_ADD_PLUGIN([cmml])
3998 dnl kate decoder plugin
4001 [ --enable-kate kate codec (default enabled)])
4002 AS_IF([test "${enable_kate}" != "no"], [
4003 PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [
4004 VLC_ADD_PLUGIN([kate])
4005 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
4006 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
4007 AC_CHECK_HEADERS(kate/kate.h, [
4008 AC_CHECK_LIB(kate, kate_decode_init, [
4009 VLC_ADD_PLUGIN([kate])
4010 kate_libs="-lkate -logg"
4011 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
4012 AS_IF([test "x${enable_kate}" != "x"], [
4013 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
4014 You also need to check that you have a libogg posterior to the 1.0 release.])
4018 AS_IF([test "x${enable_kate}" != "x"], [
4019 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
4020 You also need to check that you have a libogg posterior to the 1.0 release.])
4031 AC_ARG_WITH(,[Video plugins:])
4034 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
4035 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4036 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4037 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4038 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4040 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4041 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4046 #include <X11/Xlib.h>
4048 CPPFLAGS="${CPPFLAGS_save}"
4053 dnl (enabled by default except on win32)
4056 [ --enable-x11 X11 support (default enabled)])
4057 if test "${enable_x11}" != "no" &&
4058 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4059 test "${enable_x11}" = "yes"); then
4060 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4061 AC_CHECK_HEADERS(X11/Xlib.h, [
4062 VLC_ADD_PLUGIN([panoramix])
4063 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4064 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4065 AC_CHECK_LIB(Xext, XShmAttach, [
4066 VLC_ADD_PLUGIN([x11])
4067 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4068 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4071 CPPFLAGS="${CPPFLAGS_save}"
4076 dnl (enabled by default except on win32)
4078 AC_ARG_ENABLE(xvideo,
4079 [ --enable-xvideo XVideo support (default enabled)])
4080 if test "${enable_xvideo}" != "no" &&
4081 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4082 test "${enable_xvideo}" = "yes"); then
4083 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4084 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4085 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4086 AC_CHECK_LIB(Xv,XvPutImage,[
4087 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
4088 # test for libXv_pic.
4089 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
4090 VLC_ADD_PLUGIN([xvideo])
4091 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4092 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4094 AC_CHECK_LIB(Xv_pic,XvPutImage,[
4095 VLC_ADD_PLUGIN([xvideo])
4096 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4097 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
4099 VLC_ADD_BUILTINS([xvideo])
4100 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4101 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4105 CFLAGS="${CFLAGS_save}"
4107 CPPFLAGS="${CPPFLAGS_save}")
4112 dnl (enabled by default except on win32)
4115 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4116 if test "${enable_glx}" != "no" &&
4117 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4118 test "${enable_glx}" = "yes"); then
4119 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4120 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4121 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4122 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4126 VLC_ADD_PLUGIN([glx])
4127 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4128 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4129 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4130 CPPFLAGS="${CPPFLAGS_save}"
4135 dnl (disabled by default except on win32)
4138 [ --enable-xvmc XVMC support (default disabled)])
4139 if test "${enable_xvmc}" = "yes" &&
4140 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4141 test "${enable_xvmc}" = "yes"); then
4142 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4143 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4144 VLC_ADD_PLUGIN([xvmc])
4145 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4146 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4148 CPPFLAGS="${CPPFLAGS_save}"
4152 dnl Check for the Xinerama extension
4154 AC_ARG_ENABLE(xinerama,
4155 [ --enable-xinerama Xinerama support (default enabled)])
4156 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4157 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4158 test "${enable_xvideo}" = "yes"); then
4159 ac_cv_have_xinerama="no"
4160 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4161 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4162 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4163 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4164 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4165 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4166 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4167 ac_cv_have_xinerama="yes"
4169 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4170 VLC_ADD_LIBS([xvideo],[-lXinerama])
4171 VLC_ADD_LIBS([x11],[-lXinerama])
4172 VLC_ADD_LIBS([glx],[-lXinerama])
4173 ac_cv_have_xinerama="yes"
4177 if test "${ac_cv_have_xinerama}" = "yes"; then
4178 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4180 CFLAGS="${CFLAGS_save}"
4181 CPPFLAGS="${CPPFLAGS_save}"
4184 dnl Check for XF86VidMode extension
4186 ac_cv_have_xf86vidmode="no"
4187 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4188 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4189 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4190 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4191 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4192 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4193 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4194 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4195 ac_cv_have_xf86vidmode="yes"
4197 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4198 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4199 VLC_ADD_LIBS([x11],[-lXxf86vm])
4200 VLC_ADD_LIBS([glx],[-lXxf86vm])
4201 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4202 ac_cv_have_xf86vidmode="yes"
4206 [#ifdef HAVE_X11_XLIB_H
4207 # include <X11/Xlib.h>
4210 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4211 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4213 CFLAGS="${CFLAGS_save}"
4214 CPPFLAGS="${CPPFLAGS_save}"
4220 dnl (enabled by default except on beos)
4222 AC_ARG_ENABLE(opengl,
4223 [ --enable-opengl OpenGL support (default enabled)])
4224 if test "${enable_opengl}" != "no" &&
4225 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4226 if test "${SYS}" != "darwin"; then
4227 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4228 VLC_ADD_PLUGIN([opengl])
4229 if test "${SYS}" != "mingw32"; then
4230 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4232 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4236 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4237 VLC_ADD_PLUGIN([opengl])
4238 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4246 [ --enable-sdl SDL support (default enabled)])
4247 AC_ARG_ENABLE(sdl-image,
4248 [ --enable-sdl-image SDL image support (default enabled)])
4249 if test "${enable_sdl}" != "no"
4252 AC_ARG_WITH(sdl-config-path,
4253 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4254 [ if test "${with_sdl_config_path}" != "no"
4256 SDL_PATH="${with_sdl_config_path}:${PATH}"
4258 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4259 SDL_CONFIG="${SDL12_CONFIG}"
4260 SDL_HEADER="SDL12/SDL.h"
4261 SDL_IMAGE="SDL12/SDL_image.h"
4262 if test "${SDL_CONFIG}" = "no"
4264 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4265 SDL_CONFIG=${SDL11_CONFIG}
4266 SDL_HEADER="SDL11/SDL.h"
4267 SDL_IMAGE="SDL11/SDL_image.h"
4269 if test "${SDL_CONFIG}" = "no"
4271 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4272 SDL_HEADER="SDL/SDL.h"
4273 SDL_IMAGE="SDL/SDL_image.h"
4275 # check for cross-compiling
4277 AC_ARG_WITH(sdl-prefix,
4278 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4280 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4281 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4283 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4285 if test "${SDL_CONFIG}" != "no"
4287 # SDL on Darwin is heavily patched and can only run SDL_image
4288 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4289 VLC_ADD_PLUGIN([vout_sdl])
4290 VLC_ADD_PLUGIN([aout_sdl])
4292 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4293 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4294 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4295 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4296 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4297 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4298 As a last resort we also test for SDL.h presence),
4299 [ AC_MSG_ERROR([The development package for SDL is not installed.
4300 Please install it and try again. Alternatively you can also configure with
4303 AS_IF([ test "${enable_sdl_image}" != "no"],[
4304 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4305 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4306 VLC_ADD_PLUGIN([sdl_image])
4307 AC_CHECK_LIB(png, png_set_rows,
4308 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4309 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4310 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4311 AC_CHECK_LIB(tiff, TIFFClientOpen,
4312 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4313 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4314 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4315 As a last resort we also test for SDL_image.h presence),
4316 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4317 You should install it alongside your SDL package.])
4320 CPPFLAGS="${CPPFLAGS_save}"
4321 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4323 AC_MSG_ERROR([The development package for SDL is not installed.
4324 Please install it and try again. Alternatively you can also configure with
4328 elif test "${enable_sdl}" = "yes"
4330 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4331 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4339 AC_ARG_ENABLE(freetype,
4340 [ --enable-freetype freetype support (default enabled)])
4341 AC_ARG_ENABLE(fribidi,
4342 [ --enable-fribidi fribidi support (default enabled)])
4343 if test "${enable_freetype}" != "no"
4345 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4346 VLC_ADD_PLUGIN([freetype])
4348 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4349 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4350 if test "${SYS}" = "mingw32"; then
4351 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4353 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4354 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4355 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4356 AC_CHECK_HEADERS(Carbon/Carbon.h,
4357 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4360 AS_IF([ test "${enable_freetype}" = "yes"],[
4361 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4362 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4368 if test "${enable_fribidi}" != "no"
4370 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4371 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4372 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4380 AC_ARG_ENABLE(libxml2,
4381 [ --enable-libxml2 libxml2 support (default enabled)])
4382 if test "${enable_libxml2}" != "no"
4385 AC_ARG_WITH(xml2-config-path,
4386 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4387 [ if test "${with_xml2_config_path}" != "no"; then
4388 XML2_PATH="${with_xml2_config_path}:${PATH}"
4390 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4391 if test "${XML2_CONFIG}" != "no"; then
4392 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4393 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4394 dnl depends on the xmlTextReader extension
4395 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4396 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4397 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4398 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4399 VLC_ADD_PLUGIN([xml]) ],[
4400 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4401 if test "${enable_xml2}" = "yes"; then
4402 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4405 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4406 if test "${enable_xml2}" = "yes"; then
4407 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4409 LDFLAGS="${LDFLAGS_save}"
4410 CPPFLAGS="${CPPFLAGS_save}"
4412 if test "${enable_xml2}" = "yes"; then
4413 AC_MSG_ERROR([Could not find libxml2])
4422 [ --enable-svg SVG support (default disabled)])
4423 if test "${enable_svg}" = "yes"
4425 PKG_CHECK_MODULES(SVG,
4426 librsvg-2.0 >= 2.9.0,
4428 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4429 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4430 VLC_ADD_PLUGIN([svg]) ],
4431 [AC_MSG_WARN(SVG library not found)])
4435 dnl Snapshot vout module (with cache)
4437 AC_ARG_ENABLE(snapshot,
4438 [ --enable-snapshot snapshot module (default disabled)])
4439 if test "${enable_snapshot}" = "yes"
4441 VLC_ADD_PLUGIN([snapshot])
4445 dnl Qt Embedded module
4446 dnl (disabled by default)
4449 [ --enable-qte QT Embedded support (default disabled)])
4450 if test "${enable_qte}" = "yes"
4453 [ --with-qte=PATH Qt Embedded headers and libraries])
4454 if test "${with_qte}" != "no" -a -n "${with_qte}"
4456 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4457 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])
4459 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4460 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4462 VLC_ADD_PLUGIN([qte])
4464 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4465 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4466 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4468 CPPFLAGS="${CPPFLAGS_save}"
4472 dnl Qt Video output module
4473 dnl (disabled by default)
4475 dnl AC_ARG_ENABLE(qt_video,
4476 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4477 dnl if test "${enable_qt_video}" = "yes"
4479 dnl VLC_ADD_PLUGIN([qt_video])
4480 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4481 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4482 dnl AC_CHECK_LIB(qt-mt,main,[
4483 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4485 dnl AC_CHECK_LIB(qt,main,[
4486 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4489 dnl NEED_QTE_MAIN=yes
4490 dnl LDFLAGS="${LDFLAGS_save}"
4491 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4495 dnl Roku HD1000 Video output module
4497 AC_ARG_ENABLE(hd1000v,
4498 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4499 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4500 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4501 test "${enable_hd1000v}" = "yes"); then
4503 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4505 can_build_roku="yes"
4509 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4511 if test "$can_build_roku" = "yes"
4513 VLC_ADD_PLUGIN([hd1000v])
4514 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4520 dnl Windows DirectX module
4523 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4525 VLC_ADD_PLUGIN([panoramix])
4528 AC_ARG_ENABLE(directx,
4529 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4530 if test "${enable_directx}" != "no"
4532 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4534 AC_ARG_WITH(directx,
4535 [ --with-directx=PATH Win32 DirectX headers])
4536 if test -z "${with_directx}"
4538 AC_CHECK_HEADERS(ddraw.h,
4539 [ VLC_ADD_PLUGIN([vout_directx])
4540 VLC_ADD_PLUGIN([aout_directx])
4541 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4543 AC_CHECK_HEADERS(GL/gl.h,
4544 [ VLC_ADD_PLUGIN([glwin32])
4545 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4547 AC_CHECK_HEADERS(d3d9.h,
4548 [ VLC_ADD_PLUGIN([direct3d])
4549 VLC_ADD_LIBS([direct3d],[-lgdi32])
4552 AC_MSG_CHECKING(for directX headers in ${with_directx})
4553 if test -f ${with_directx}/ddraw.h
4555 VLC_ADD_PLUGIN([vout_directx])
4556 VLC_ADD_PLUGIN([aout_directx])
4557 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4558 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4562 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4569 dnl Linux framebuffer module
4572 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4573 if test "${enable_fb}" != "no"
4575 AC_CHECK_HEADERS(linux/fb.h, [
4576 VLC_ADD_PLUGIN([fb])
4581 dnl Linux MGA module
4584 [ --enable-mga Linux kernel Matrox support (default disabled)],
4585 [ if test "${enable_mga}" = "yes"
4587 VLC_ADD_PLUGIN([mga])
4593 AC_ARG_ENABLE(svgalib,
4594 [ --enable-svgalib SVGAlib support (default disabled)])
4595 if test "${enable_svgalib}" = "yes"
4597 VLC_ADD_PLUGIN([svgalib])
4598 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4603 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4604 dnl TODO: support for static linking
4606 AC_ARG_ENABLE(directfb,
4607 [ --enable-directfb DirectFB support (default disabled)])
4608 AC_ARG_WITH(directfb,
4609 [ --with-directfb=PATH path to DirectFB headers and libraries])
4611 if test "${enable_directfb}" = "yes"; then
4612 have_directfb="false"
4613 CPPFLAGS_mydirectfb=
4615 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4616 dnl Trying the given location
4617 CPPFLAGS_save="${CPPFLAGS}"
4620 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4621 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4622 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4624 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4625 LIBS="${LIBS} ${LIBS_new}"
4627 dnl FIXME: too obscure
4628 AC_CHECK_HEADER([directfb.h], [
4629 AC_CHECK_LIB([direct],[direct_initialize], [
4630 AC_CHECK_LIB([fusion], [fusion_enter], [
4631 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4632 ], have_directfb="false")
4633 ], have_directfb="false")
4634 ], have_directfb="false")
4637 CPPFLAGS="${CPPFLAGS_save}"
4640 if test "${have_directfb}" = "true"; then
4641 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4642 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4645 dnl Look for directfb-config
4646 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4647 if test "${DIRECTFB_CONFIG}" != "no"; then
4648 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4649 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4650 have_directfb="true"
4652 dnl Trying with pkg-config
4653 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4654 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4655 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4656 have_directfb="true"
4657 ], [have_directfb="false"])
4660 if test "${have_directfb}" = "true"; then
4661 VLC_ADD_PLUGIN([directfb])
4662 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4663 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4665 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4675 [ --enable-ggi GGI support (default disabled)])
4676 if test "${enable_ggi}" = "yes"
4678 VLC_ADD_PLUGIN([ggi])
4679 VLC_ADD_LIBS([ggi],[-lggi])
4681 [ --with-ggi=PATH path to libggi],
4682 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4684 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4685 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4692 AC_ARG_ENABLE(glide,
4693 [ --enable-glide Glide (3dfx) support (default disabled)])
4694 if test "${enable_glide}" = "yes"
4696 CFLAGS_save="${CFLAGS}"
4698 [ --with-glide=PATH path to libglide],
4699 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4701 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4702 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4703 CFLAGS="$CFLAGS -I${with_glide}/include"
4705 CFLAGS="$CFLAGS -I/usr/include/glide"
4706 AC_CHECK_HEADER(glide.h,[
4707 VLC_ADD_PLUGIN([glide])
4708 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4709 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4711 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4713 CFLAGS="${CFLAGS_save}"
4720 [ --enable-aa aalib output (default disabled)])
4721 if test "${enable_aa}" = "yes"
4723 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4724 if test "${have_aa}" = "true"
4726 VLC_ADD_PLUGIN([aa])
4727 VLC_ADD_LIBS([aa],[-laa])
4735 [ --enable-caca libcaca output (default disabled)])
4736 if test "${enable_caca}" = "yes"
4739 AC_ARG_WITH(caca-config-path,
4740 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4741 [ if test "${with_caca_config_path}" != "no"
4743 CACA_PATH="${with_caca_config_path}:${PATH}"
4745 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4746 if test "${CACA_CONFIG}" != "no"
4748 VLC_ADD_PLUGIN([caca])
4749 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4750 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4751 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4756 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4762 dnl win32 GDI plugin
4764 AC_ARG_ENABLE(wingdi,
4765 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4766 if test "${enable_wingdi}" != "no"; then
4767 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4768 VLC_ADD_PLUGIN([wingdi])
4769 VLC_ADD_LIBS([wingdi],[-lgdi32])
4771 if test "${SYS}" = "mingwce"; then
4772 VLC_ADD_PLUGIN([wingdi])
4773 VLC_ADD_PLUGIN([wingapi])
4781 AC_ARG_WITH(,[Audio plugins:])
4784 dnl OSS /dev/dsp module (enabled by default except on win32)
4787 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4789 if test "${enable_oss}" != "no" &&
4790 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4791 test "${enable_oss}" = "yes")
4793 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4794 VLC_ADD_PLUGIN([oss])
4795 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4803 [ --enable-esd Esound library support (default disabled)],
4804 [if test "${enable_esd}" = "yes"
4806 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4807 if test "${ESD_CONFIG}" != "no"
4809 VLC_ADD_PLUGIN([esd])
4810 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4811 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4816 dnl Pulseaudio module
4818 AC_ARG_ENABLE(pulse,
4819 [ --enable-pulse Pulseaudio support (default enabled)])
4820 if test "${enable_pulse}" != "no"
4822 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4823 [ VLC_ADD_PLUGIN([pulse])
4824 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4825 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4826 [AC_MSG_WARN(pulsaudio library not found)])
4830 dnl Portaudio module
4832 AC_ARG_ENABLE(portaudio,
4833 [ --enable-portaudio Portaudio library support (default disabled)],
4834 [if test "${enable_portaudio}" = "yes"
4836 VLC_ADD_PLUGIN([portaudio])
4837 VLC_ADD_CXXFLAGS([portaudio],[])
4838 if test "${SYS}" = "mingw32"; then
4839 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4841 VLC_ADD_LIBS([portaudio],[-lportaudio])
4846 dnl aRts module -- broken (freeze wxWidgets)
4849 [ --enable-arts aRts sound server (default disabled)],
4850 [if test "${enable_arts}" = "yes"
4852 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4853 if test "${ARTS_CONFIG}" != "no"
4855 VLC_ADD_PLUGIN([arts])
4856 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4857 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4865 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4866 if test "${enable_alsa}" != "no"
4868 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4869 if test "${have_alsa}" = "true"
4871 CFLAGS="${CFLAGS_save}"
4872 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4873 #define ALSA_PCM_NEW_SW_PARAMS_API
4874 #include <alsa/asoundlib.h>],
4875 [snd_pcm_hw_params_get_period_time(0,0,0);],
4876 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4877 VLC_ADD_PLUGIN([alsa])
4878 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4880 if test "${enable_alsa}" = "yes"; then
4881 AC_MSG_ERROR([Could not find ALSA development headers])
4887 dnl win32 waveOut plugin
4889 AC_ARG_ENABLE(waveout,
4890 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4891 if test "${enable_waveout}" != "no"; then
4892 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4893 VLC_ADD_PLUGIN([waveout])
4894 VLC_ADD_LIBS([waveout],[-lwinmm])
4896 if test "${SYS}" = "mingwce"; then
4897 VLC_ADD_PLUGIN([waveout])
4902 dnl CoreAudio plugin
4904 AC_ARG_ENABLE(macosx-audio,
4905 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4906 if test "${enable_macosx-audio}" != "no" &&
4907 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4909 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4910 [ VLC_ADD_PLUGIN([auhal])
4911 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4912 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4916 dnl Roku HD1000 audio
4918 AC_ARG_ENABLE(hd1000a,
4919 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4920 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4921 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4922 test "${enable_hd1000a}" = "yes")
4925 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4926 VLC_ADD_PLUGIN([hd1000a])
4927 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4935 [ --enable-jack JACK audio I/O modules (default disabled)],,
4938 AS_IF([test "${enable_jack}" != "no"], [
4939 AC_CHECK_HEADERS(jack/jack.h, [
4940 VLC_ADD_PLUGIN([access_jack])
4941 VLC_ADD_PLUGIN([jack])
4942 VLC_ADD_LIBS([access_jack jack],[-ljack])
4943 ],[AC_MSG_ERROR([cannot find JACK headers])])
4947 dnl CyberLink for C++ UPnP stack
4949 AC_ARG_ENABLE(cyberlink,
4950 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4951 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4952 AC_ARG_WITH(cyberlink-tree,
4953 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4956 dnl test for --with-cyberlink-tree
4958 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4960 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4961 AS_IF([test -z "${real_cyberlink_tree}"], [
4962 dnl The given directory can't be found
4964 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4966 CPPFLAGS_save="${CPPFLAGS}"
4967 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4968 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4969 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4970 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4971 VLC_ADD_PLUGIN([upnp_cc])
4973 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4975 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4976 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4977 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4978 dnl The mere fact that we have to make such an ugly check sucks
4979 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4982 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4983 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4984 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4985 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4986 using namespace CyberLink;
4988 class testclass : public SearchResponseListener, public MediaPlayer
4990 virtual void deviceSearchResponseReceived( SSDPPacket *)
4997 addSearchResponseListener (this);
5001 ],[testclass l;])],[LIBS_cclink="$l"])
5004 dnl should not happen - otherwise this needs fixing - hence FAILURE
5005 AS_IF([test "${LIBS_cclink}" = "no"],
5006 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
5007 AC_MSG_RESULT([${LIBS_cclink}])
5008 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
5011 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
5013 CPPFLAGS="${CPPFLAGS_save}"
5019 dnl UPnP Plugin (Intel SDK)
5022 [ --enable-upnp Intel UPnP SDK (default enabled)])
5024 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
5025 AS_IF([test "x${enable_upnp}" != "xno"], [
5026 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
5027 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
5028 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
5030 AS_IF([test "${has_upnp}" = "yes"], [
5031 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
5037 AS_IF([test "${has_upnp}" = "yes"], [
5038 VLC_ADD_PLUGIN([upnp_intel])
5043 dnl Interface plugins
5046 AC_ARG_WITH(,[Interface plugins:])
5048 dnl special case for BeOS
5049 if test "${SYS}" = "beos"
5051 VLC_ADD_BUILTINS([beos])
5057 AC_ARG_ENABLE(skins2,
5058 [ --enable-skins2 Skins2 interface module (default disabled)])
5059 if test "${enable_skins2}" = "yes" ||
5060 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
5061 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
5063 dnl test for the required libraries
5064 skins2_missing_lib="no"
5067 if test "${have_freetype}" != "yes"; then
5068 skins2_missing_lib="yes"
5069 if test "${enable_skins2}" = "yes"; then
5070 AC_MSG_ERROR([Could not find freetype (required for skins2)])
5074 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
5075 VLC_ADD_PLUGIN([skins2])
5076 ALIASES="${ALIASES} svlc"
5077 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
5078 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5079 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
5081 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
5082 VLC_ADD_PLUGIN([skins2])
5083 ALIASES="${ALIASES} svlc"
5084 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
5085 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5086 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
5088 else if test "${skins2_missing_lib}" = "no"; then
5089 VLC_ADD_PLUGIN([skins2])
5090 ALIASES="${ALIASES} svlc"
5091 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
5092 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5093 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
5096 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
5101 dnl AC_ARG_ENABLE(gtk,
5102 dnl [ --enable-gtk Gtk+ support (default enabled)])
5103 dnl if test "${enable_gtk}" != "no"
5105 dnl GTK_PATH="${PATH}"
5106 dnl AC_ARG_WITH(gtk-config-path,
5107 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
5108 dnl [ if test "${with_gtk_config_path}" != "no"
5110 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
5112 dnl # look for gtk-config
5113 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
5114 dnl GTK_CONFIG=${GTK12_CONFIG}
5115 dnl if test "${GTK_CONFIG}" = "no"
5117 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
5119 dnl if test "${GTK_CONFIG}" != "no"
5121 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
5123 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.])
5125 dnl if test "${SYS}" != "mingw32"; then
5126 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
5127 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
5129 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5130 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5132 dnl # now look for the gtk.h header
5133 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5134 dnl ac_cv_gtk_headers=yes
5135 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5136 dnl ac_cv_gtk_headers=no
5137 dnl echo "Cannot find gtk development headers."
5139 dnl if test "${ac_cv_gtk_headers}" = "yes"
5141 dnl VLC_ADD_PLUGIN([gtk])
5142 dnl if test "${SYS}" != "mingw32"; then
5143 dnl NEED_GTK_MAIN=yes
5145 dnl ALIASES="${ALIASES} gvlc"
5147 dnl CPPFLAGS="${CPPFLAGS_save}"
5152 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5154 dnl AC_ARG_ENABLE(gtk2,
5155 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5156 dnl if test "${enable_gtk2}" = "yes"
5158 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5159 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5160 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5161 dnl VLC_ADD_PLUGIN([gtk2])
5162 dnl if test "${SYS}" != "mingw32"; then
5163 dnl NEED_GTK2_MAIN=yes
5168 dnl PDA Gtk+2 module
5171 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5172 if test "${enable_pda}" = "yes"
5174 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5175 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5176 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5177 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5178 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5179 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5180 VLC_ADD_PLUGIN([pda])
5181 if test "${SYS}" != "mingw32"; then
5183 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
5184 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
5187 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5190 dnl dnl Gnome module
5192 dnl AC_ARG_ENABLE(gnome,
5193 dnl [ --enable-gnome Gnome interface support (default disabled)],
5194 dnl [if test "${enable_gnome}" = "yes"; then
5195 dnl # look for gnome-config
5196 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5197 dnl if test -x ${GNOME_CONFIG}
5199 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5200 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5202 dnl # now look for the gnome.h header
5203 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5204 dnl AC_CHECK_HEADERS(gnome.h, [
5205 dnl VLC_ADD_PLUGIN([gnome])
5206 dnl NEED_GTK_MAIN=yes
5207 dnl NEED_GNOME_MAIN=yes
5208 dnl ALIASES="${ALIASES} gnome-vlc"
5209 dnl dnl We need this because of some moronic gnomesupport.h flavours
5210 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5211 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5212 dnl AC_MSG_RESULT(yes)
5213 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5214 dnl Define if <gnome.h> defines strndup.)],[
5215 dnl AC_MSG_RESULT(no)])
5217 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5218 dnl developement tools or remove the --enable-gnome option])
5220 dnl CPPFLAGS="${CPPFLAGS_save}"
5224 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5226 dnl AC_ARG_ENABLE(gnome2,
5227 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5228 dnl if test "${enable_gnome2}" = "yes"
5230 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5231 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5232 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5233 dnl VLC_ADD_PLUGIN([gnome2])
5234 dnl if test "${SYS}" != "mingw32"; then
5235 dnl NEED_GNOME2_MAIN=yes
5240 dnl wxWidgets module
5242 AC_ARG_ENABLE(wxwidgets,
5243 [ --enable-wxwidgets wxWidgets support (default disabled)])
5245 if test "${enable_wxwidgets}" = "yes"
5247 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5248 WXWIDGETS_PATH="${PATH}"
5249 AC_ARG_WITH(wx-config-path,
5250 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5251 [ if test "${with_wx_config_path}" != "no"
5253 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5255 WXWIDGETS_NAME="wx-config"
5256 AC_ARG_WITH(wx-config,
5257 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5258 [ if test "${with_wx_config}" != "no"
5260 WXWIDGETS_NAME="${with_wx_config}"
5262 # look for wx-config
5263 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5264 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5266 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5268 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5272 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5273 # into a warning. However better would be to fix playlist.cpp
5274 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5275 [ac_cv_cxx_fpermissive],
5276 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5277 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5278 ac_cv_cxx_fpermissive=no)])
5279 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5280 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5282 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5283 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5284 # check if we must link against gtk2 libs
5285 # if __WXGTK20__ && __WXGTK__ are defined
5286 # for modules/gui/wxwidgets/video.cpp
5287 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5290 #error ok, we need to link against gtk2
5292 ])],[WXGTK=no],[WXGTK=yes])
5293 if test "$WXGTK" = "yes"; then
5294 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5296 if ${WX_CONFIG} --unicode
5298 # wxwidgets should provide the following flags but does not
5299 # the following is required to compile for win32
5300 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5302 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5304 if test "$have_libcdio" = "yes"
5306 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5307 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5309 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5312 if test "$have_libvcdinfo" = "yes"
5314 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5315 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5317 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5320 # now look for the wxprec.h header
5321 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5322 ac_cv_wx_headers=yes
5323 AC_CHECK_HEADERS(wx/wxprec.h, , [
5325 echo "Cannot find wxWidgets development headers."
5327 if test "${ac_cv_wx_headers}" = "yes"
5329 VLC_ADD_PLUGIN([wxwidgets])
5330 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5331 ALIASES="${ALIASES} wxvlc"
5333 CPPFLAGS="${CPPFLAGS_save}"
5336 dnl WxWidgets plugin will yield incorrect code without this
5337 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5345 [ --enable-qt4 QT 4 support (default enabled) ])
5346 AS_IF([test "${enable_qt4}" != "no" &&
5347 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5348 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5349 [ VLC_ADD_PLUGIN([qt4])
5350 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5351 ALIASES="${ALIASES} qvlc"
5353 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5354 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5356 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5358 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5359 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5360 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5361 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5363 AS_IF([test "${enable_qt4}" = "yes"],[
5364 AC_MSG_ERROR(QT4 library not found)
5366 AC_MSG_WARN(QT4 library not found)
5370 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5373 dnl WinCE GUI module
5375 AC_ARG_ENABLE(wince,
5376 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5377 if test "${enable_wince}" != "no"; then
5378 if test "${SYS}" = "mingwce"; then
5379 VLC_ADD_BUILTINS([wince])
5380 VLC_ADD_CXXFLAGS([wince],[])
5381 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5383 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5384 elif test "${SYS}" = "mingw32"; then
5385 VLC_ADD_CXXFLAGS([wince],[])
5386 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5388 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5393 dnl Simple test for skins2 dependency
5395 if test "${enable_skins2}" != "no"
5397 if test "${WX_CONFIG}" = "no"
5399 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.])
5406 dnl AC_ARG_ENABLE(qt,
5407 dnl [ --enable-qt Qt interface support (default disabled)],
5408 dnl [if test "${enable_qt}" = "yes"; then
5409 dnl VLC_ADD_PLUGIN([qt])
5410 dnl ALIASES="${ALIASES} qvlc"
5411 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5412 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5413 dnl AC_CHECK_LIB(qt-mt,main,[
5414 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5416 dnl AC_CHECK_LIB(qt,main,[
5417 dnl VLC_ADD_LIBS([qt],[-lqt])
5420 dnl LDFLAGS="${LDFLAGS_save}"
5421 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5422 dnl if test -x ${QTDIR}/bin/moc
5424 dnl MOC=${QTDIR}/bin/moc
5433 dnl AC_ARG_ENABLE(kde,
5434 dnl [ --enable-kde KDE interface support (default disabled)],
5435 dnl [if test "${enable_kde}" = "yes"; then
5436 dnl VLC_ADD_PLUGIN([kde])
5437 dnl ALIASES="${ALIASES} kvlc"
5438 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5439 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5440 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5441 dnl AC_CHECK_LIB(kfile,main,[
5442 dnl VLC_ADD_LIBS([kde],[-lkfile])
5444 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5445 dnl AC_CHECK_LIB(kdeui,main,[
5446 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5448 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5449 dnl AC_CHECK_LIB(kio,main,[
5450 dnl VLC_ADD_LIBS([kde],[-lkio])
5452 dnl LDFLAGS="${LDFLAGS_save}"
5453 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5454 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5455 dnl if test -x ${QTDIR}/bin/moc
5457 dnl MOC=${QTDIR}/bin/moc
5464 dnl Opie QT embedded module
5467 [ --enable-opie Qt embedded interface support (default disabled)],
5468 [if test "${enable_opie}" = "yes"; then
5470 [ --with-qte=PATH Qt Embedded headers and libraries])
5471 if test "${with_qte}" != "no" -a -n "${with_qte}"
5473 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5474 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])
5476 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5477 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5479 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5480 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5481 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5483 CPPFLAGS="${CPPFLAGS_save}"
5485 VLC_ADD_PLUGIN([opie])
5487 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5488 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5489 if test "${with_qte}" != "no" -a -n "${with_qte}"
5491 MOC=${with_qte}/bin/moc
5493 MOC=${QTDIR}/bin/moc
5498 dnl MacOS X video output/gui modules
5500 AC_ARG_ENABLE(macosx,
5501 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5502 if test "x${enable_macosx}" = "xyes"
5504 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5505 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
5506 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5507 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5508 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5509 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5510 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5511 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
5512 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5513 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
5514 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
5515 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5517 # VLC_ADD_PLUGIN([access_eyetv])
5518 VLC_ADD_PLUGIN([qtcapture])
5519 VLC_ADD_PLUGIN([macosx])
5520 VLC_ADD_PLUGIN([minimal_macosx])
5523 CFLAGS="$CFLAGS -x objective-c"
5524 AC_CHECK_HEADER(QuartzCore/CALayer.h,
5525 [VLC_ADD_PLUGIN([opengllayer])
5526 VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
5534 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5535 if test "${enable_qnx}" != "no"
5537 AC_CHECK_HEADERS(Ph.h, [
5538 VLC_ADD_PLUGIN([qnx])
5539 VLC_ADD_LIBS([qnx],[-lasound -lph])
5546 AC_ARG_ENABLE(ncurses,
5547 [ --disable-ncurses ncurses interface support (default enabled)],
5548 [if test "${enable_ncurses}" != "no"; then
5549 AC_CHECK_HEADER(ncurses.h,
5550 [AC_CHECK_LIB(ncursesw, mvprintw,
5551 [VLC_ADD_PLUGIN([ncurses])
5552 VLC_ADD_LIBS([ncurses],[-lncursesw])
5553 ALIASES="${ALIASES} nvlc"
5554 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5555 AC_CHECK_LIB(ncursesw, tgetent, [],
5556 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5557 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5558 [AS_IF([test "x${enable_ncurses}" != "x"],
5559 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5565 [AC_CHECK_LIB( ncurses, mvprintw,
5566 [VLC_ADD_PLUGIN([ncurses])
5567 ALIASES="${ALIASES} nvlc"
5568 VLC_ADD_LIBS([ncurses],[-lncurses])
5569 AC_CHECK_LIB(ncurses, tgetent, [],
5570 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5571 [AS_IF([test "x${enable_ncurses}" != "x"],
5572 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5575 [AS_IF([test "x${enable_ncurses}" != "x"], [
5576 AC_MSG_ERROR([libncurses not found])])]
5587 [ --enable-xosd xosd interface support (default disabled)])
5588 if test "${enable_xosd}" = "yes"
5590 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5591 AC_CHECK_LIB(xosd,xosd_set_offset,
5592 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5593 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5594 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5595 AC_TRY_COMPILE([#include <xosd.h>],
5596 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5597 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5598 if test "${have_xosd}" = "true"
5600 VLC_ADD_PLUGIN([xosd])
5601 VLC_ADD_LIBS([xosd],[-lxosd])
5606 dnl Framebuffer (overlay) plugin
5608 AC_ARG_ENABLE(fbosd,
5609 [ --enable-fbosd fbosd interface support (default disabled)])
5610 if test "${enable_fbosd}" = "yes"
5612 AC_CHECK_HEADERS(linux/fb.h, [
5613 VLC_ADD_PLUGIN([fbosd])
5618 dnl Visualisation plugin
5620 AC_ARG_ENABLE(visual,
5621 [ --enable-visual visualisation plugin (default enabled)])
5622 if test "${enable_visual}" != "no"
5624 VLC_ADD_PLUGIN([visual])
5628 dnl OpenGL visualisation plugin
5630 AC_ARG_ENABLE(galaktos,
5631 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5632 if test "${enable_galaktos}" = "yes"
5634 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5635 VLC_ADD_PLUGIN([galaktos])
5636 if test "${SYS}" != "mingw32"; then
5637 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5639 VLC_ADD_LIBS([galaktos],[-lopengl32])
5645 dnl goom visualization plugin
5648 [ --enable-goom goom visualisation plugin (default disabled)])
5649 if test "${enable_goom}" = "yes"
5651 AC_ARG_WITH(goom-tree,
5652 [ --with-goom-tree=PATH goom tree for static linking (required)])
5655 dnl test for --with-goom-tree
5657 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5658 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5659 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5660 if test -z "${real_goom_tree}"; then
5661 dnl The given directory can't be found
5663 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5665 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5666 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5667 VLC_ADD_PLUGIN([goom])
5668 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5669 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5671 dnl The given libgoom2 wasn't built, try to look for the old goom
5673 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5674 if test -f "${real_goom_tree}/libgoom.a"; then
5675 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5676 VLC_ADD_PLUGIN([goom])
5677 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5678 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5680 dnl The given libgoom wasn't built
5682 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5686 AC_CHECK_HEADERS(goom/goom.h, [
5687 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5688 AC_CHECK_LIB(goom2, goom_init, [
5689 VLC_ADD_PLUGIN([goom])
5690 VLC_ADD_LIBS([goom],[-lgoom2])
5692 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5694 LDFLAGS="${LDFLAGS_save}"
5700 dnl AtmoLight (homebrew AmbiLight)
5702 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5704 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5705 if test "${enable_atmo}" != "no"; then
5707 VLC_ADD_PLUGIN([atmo])
5713 dnl Bonjour services discovery
5715 AC_ARG_ENABLE(bonjour,
5716 [ --enable-bonjour Bonjour services discovery (default enabled)])
5717 if test "${enable_bonjour}" != "no"
5719 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5720 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5721 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5722 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5723 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5724 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5725 VLC_ADD_PLUGIN([bonjour]) ],
5726 [AC_MSG_WARN(avahi-client library not found)])
5733 [ --enable-lirc lirc support (default disabled)])
5734 if test "${enable_lirc}" = "yes"
5736 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5737 if test "${have_lirc}" = "true"
5739 VLC_ADD_PLUGIN([lirc])
5740 VLC_ADD_LIBS([lirc],[-llirc_client])
5745 AC_ARG_WITH(,[Misc options:])
5750 AC_ARG_ENABLE(libgcrypt,
5751 [ --enable-libgcrypt libgcrypts support (default enabled)])
5753 GCRYPT_PATH="${PATH}"
5754 AC_ARG_WITH(libgcrypt-config-path,
5755 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5756 [ if test "${with_libgcrypt_config_path}" != "no"
5758 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5761 if test "${enable_libgcrypt}" != "no"
5763 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5764 dnl it and looks for libgcrypt headers in the wrong place.
5765 if test "${host_cpu}" = "${build_cpu}"
5767 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5769 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5772 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5773 AS_IF([test "${have_libgcrypt}" = "yes"],[
5774 # look for libgcrypt-config
5775 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5776 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5777 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5783 AC_ARG_ENABLE(gnutls,
5784 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5786 AS_IF([test "${enable_gnutls}" != "no"], [
5787 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5788 VLC_ADD_PLUGIN([gnutls])
5789 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5790 AS_IF([test "${SYS}" = "mingw32"], [
5791 dnl pkg-config --libs gnutls omits these
5792 VLC_ADD_LIBS([gnutls], [-lz])
5793 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5795 AS_IF([test "${have_libgcrypt}" = "yes"],[
5796 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5797 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5799 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5801 AS_IF([test "${enable_gnutls}" = "yes"], [
5802 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5808 dnl update checking system
5810 AC_ARG_ENABLE(update-check,
5811 [ --enable-update-check update checking system (default disabled)])
5812 if test "${enable_update_check}" = "yes"
5814 if test "${have_libgcrypt}" != "yes"
5816 AC_MSG_ERROR([libgcrypt is required for update checking system])
5818 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5819 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5820 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5824 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5826 dnl We give the user the opportunity to specify
5827 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5830 [ --with-words=endianness set endianness (big or little)])
5831 case "${with_words}" in
5833 ac_cv_c_bigendian=yes
5836 ac_cv_c_bigendian=no
5839 dnl Try to guess endianness by matching patterns on a compiled
5840 dnl binary, by looking for an ASCII or EBCDIC string
5841 AC_CACHE_CHECK([whether the byte order is big-endian],
5842 [ac_cv_c_bigendian],
5843 [ac_cv_c_bigendian="unknown"
5844 [cat >conftest.c <<EOF
5845 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5846 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5847 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5848 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5849 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5850 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5851 int main(void) { _a(); _e(); return 0; }
5854 if test -f conftest.c
5856 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5857 && test -f conftest.o
5859 if test "`strings conftest.o | grep BIGenDianSyS`"
5861 ac_cv_c_bigendian="yes"
5863 if test "`strings conftest.o | grep LiTTleEnDian`"
5865 ac_cv_c_bigendian="no"
5870 if test "${ac_cv_c_bigendian}" = "unknown"
5872 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5876 dnl Now we know what to use for endianness, just put it in the header
5877 if test "${ac_cv_c_bigendian}" = "yes"
5879 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5883 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5886 AC_ARG_ENABLE(loader,
5887 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5888 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5889 AS_IF([test "${enable_loader}" = "yes"],
5890 [ VLC_ADD_PLUGIN([dmo])
5891 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5892 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5893 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5894 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5895 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5896 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5899 AC_ARG_WITH(,[Components:])
5905 [ --enable-vlc build the VLC media player (default enabled)])
5906 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5909 dnl Microsoft ActiveX support
5912 AC_ARG_ENABLE(activex,
5913 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5914 AC_ARG_WITH(wine-sdk-path,
5915 [ --with-wine-sdk-path=PATH path to wine sdk])
5916 if test "${enable_activex}" != "no"
5918 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5920 AC_CHECK_PROGS(MIDL, [midl], no)
5921 if test "${with_wine_sdk_path}" != ""
5923 WINE_SDK_PATH=${with_wine_sdk_path}
5924 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5929 AC_CHECK_HEADERS(ole2.h,
5930 [AC_CHECK_HEADERS(olectl.h,
5931 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5932 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5933 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5934 AC_CHECK_HEADERS(objsafe.h,
5935 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5943 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5945 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5947 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5952 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5953 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5954 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5955 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5956 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5962 AC_ARG_ENABLE(mozilla,
5963 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5964 AC_ARG_WITH(mozilla-sdk-path,
5965 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5967 if test "${enable_mozilla}" = "yes"
5969 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5970 need_xpcom_libs=false
5972 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5974 dnl New firefox-1.5 SDK api
5975 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5977 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5980 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5983 PKG_CHECK_MODULES([NSPR], [nspr],
5986 AC_MSG_ERROR([Please install the nspr development tools.])
5992 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5993 MOZILLA_REQUIRED_HEADERS=1
5994 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5995 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5996 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6001 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
6002 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
6004 MOZILLA_REQUIRED_HEADERS=
6006 firefox_include=`pkg-config --variable=includedir firefox-plugin`
6007 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
6008 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
6009 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
6010 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
6012 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
6014 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
6015 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6016 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
6018 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
6019 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
6020 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
6021 VLC_ADD_PLUGIN([mozilla])
6023 CPPFLAGS="${CPPFLAGS_save}"
6026 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
6027 if test "${MOZILLA_CONFIG}" = "no"
6029 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
6030 if test "${SEAMONKEY_CONFIG}" = "no"
6032 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
6033 if test "${XULRUNNER_CONFIG}" = "no"
6035 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
6038 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
6041 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
6046 if test ! -z "${MOZILLA_CONFIG}"
6048 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
6049 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
6050 AC_CHECK_LIB(Xt,XtStrings,
6052 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
6053 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
6056 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
6058 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6059 LDFLAGS="${LDFLAGS_save}"
6063 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6064 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
6065 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
6066 if ${need_xpcom_libs}; then
6067 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
6069 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
6071 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
6072 MOZILLA_REQUIRED_HEADERS=1
6073 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6074 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6075 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6080 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6082 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6084 MOZILLA_REQUIRED_HEADERS=
6085 CPPFLAGS="${CPPFLAGS_save}"
6086 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
6088 dnl End of moz_sdk = ""
6090 dnl special case for mingw32
6091 if test "${SYS}" = "mingw32"
6093 AC_CHECK_TOOL(CYGPATH, cygpath, "")
6094 dnl latest gecko sdk does not have an xpcom directory
6095 if test -d "${with_mozilla_sdk_path}/xpcom"; then
6096 mozilla_sdk_xpcom="/xpcom"
6100 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
6101 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
6102 MOZILLA_REQUIRED_HEADERS=1
6103 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6104 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6105 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6110 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6112 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6114 MOZILLA_REQUIRED_HEADERS=
6116 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6117 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])
6118 if ${need_xpcom_libs}; then
6119 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])
6120 if test "${SYS}" = "mingw32"; then
6121 dnl latest gecko sdk does not have embedstring
6122 if test -d "${real_mozilla_sdk}/embedstring/bin"
6124 VLC_ADD_LIBS([mozilla],[-lembedstring])
6128 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
6130 if test -n "${CYGPATH}"; then
6131 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
6133 CPPFLAGS="${CPPFLAGS_save}"
6137 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
6139 dnl Tests for Osso and Xsp
6140 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
6141 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
6142 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
6143 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-losso])
6146 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6147 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
6148 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
6154 AC_ARG_ENABLE(testsuite,
6155 [ --enable-testsuite build test modules (default disabled)])
6156 if test "${enable_testsuite}" = "yes"
6158 TESTS="test1 test2 test3 test4"
6160 dnl we define those so that bootstrap sets the right linker
6161 VLC_ADD_CXXFLAGS([test2],[])
6162 VLC_ADD_OBJCFLAGS([test3],[])
6163 dnl this one is needed until automake knows what to do
6164 VLC_ADD_LIBS([test3],[-lobjc])
6166 VLC_ADD_PLUGIN([test1])
6167 VLC_ADD_PLUGIN([test2])
6168 VLC_ADD_PLUGIN([test3])
6169 VLC_ADD_PLUGIN([test4])
6173 dnl Microsoft Layer for Unicode for WIN9x/ME
6175 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6177 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6178 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6185 if test "${NEED_GTK_MAIN}" != "no"
6187 VLC_ADD_PLUGIN([gtk_main])
6188 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6189 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6192 if test "${NEED_GNOME_MAIN}" != "no"
6194 VLC_ADD_PLUGIN([gnome_main])
6195 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6196 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6199 if test "${NEED_GTK2_MAIN}" != "no"
6201 VLC_ADD_PLUGIN([gtk2_main])
6202 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6203 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6204 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6205 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6208 if test "${NEED_GNOME2_MAIN}" != "no"
6210 VLC_ADD_PLUGIN([gnome2_main])
6211 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6212 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6218 if test "${NEED_QTE_MAIN}" != "no"
6220 VLC_ADD_PLUGIN([qte_main])
6221 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6222 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6223 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6227 dnl Plugin and builtin checks
6231 dnl Automagically disable plugins if there is no system support for
6232 dnl dynamically loadable files (.so, .dll, .dylib).
6233 dnl don't forget vlc-win32 still can load .dll as plugins
6234 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6235 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6239 AS_IF([test "${enable_shared}" = "no"], [
6243 AS_IF([test "${plugin_support}" != "no"], [
6244 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6246 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6248 dnl Temporary(?) hack for plugins/builtins transition
6249 dnl VLC_ADD_PLUGIN([${BUILTINS}])
6253 dnl Pic and shared libvlc stuff
6255 AS_IF([test "${SYS}" = "mingw32"], [
6256 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
6257 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6261 dnl Stuff used by the program
6263 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6264 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6265 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6266 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6267 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6268 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6269 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6270 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6271 AC_SUBST(VERSION_MAJOR)
6272 AC_SUBST(VERSION_MINOR)
6273 AC_SUBST(VERSION_REVISION)
6274 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6275 if test "${build_os}" = "cygwin"
6277 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6279 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6281 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6282 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6285 dnl Handle substvars that use $(top_srcdir)
6287 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6288 AC_SUBST(VLC_CONFIG)
6289 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6297 dnl Create the vlc-config script
6299 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6302 dnl Configuration is finished
6312 AC_SUBST(MOZILLA_SDK_PATH)
6313 AC_SUBST(WINE_SDK_PATH)
6315 AC_SUBST(AM_CPPFLAGS)
6316 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6317 AC_SUBST(FILE_LIBVLCCORE_DLL)
6318 AC_SUBST(FILE_LIBVLC_DLL)
6320 dnl Create vlc-config.in
6321 VLC_OUTPUT_VLC_CONFIG_IN
6324 extras/package/win32/vlc.win32.nsi
6326 projects/activex/Makefile
6327 projects/activex/axvlc.inf
6329 extras/package/ipkg/Makefile
6330 libs/loader/Makefile
6333 projects/mozilla/Makefile
6342 modules/access/Makefile
6343 modules/access/bda/Makefile
6344 modules/access/dshow/Makefile
6345 modules/access/dvb/Makefile
6346 modules/access/mms/Makefile
6347 modules/access/cdda/Makefile
6348 modules/access/rtsp/Makefile
6349 modules/access/rtmp/Makefile
6350 modules/access/v4l2/Makefile
6351 modules/access/vcd/Makefile
6352 modules/access/vcdx/Makefile
6353 modules/access/screen/Makefile
6354 modules/access_filter/Makefile
6355 modules/access_output/Makefile
6356 modules/audio_filter/Makefile
6357 modules/audio_filter/channel_mixer/Makefile
6358 modules/audio_filter/converter/Makefile
6359 modules/audio_filter/resampler/Makefile
6360 modules/audio_filter/spatializer/Makefile
6361 modules/audio_mixer/Makefile
6362 modules/audio_output/Makefile
6363 modules/codec/Makefile
6364 modules/codec/cmml/Makefile
6365 modules/codec/dmo/Makefile
6366 modules/codec/ffmpeg/Makefile
6367 modules/codec/subtitles/Makefile
6368 modules/codec/spudec/Makefile
6369 modules/codec/xvmc/Makefile
6370 modules/control/Makefile
6371 modules/control/http/Makefile
6372 modules/demux/Makefile
6373 modules/demux/asf/Makefile
6374 modules/demux/avi/Makefile
6375 modules/demux/mp4/Makefile
6376 modules/demux/mpeg/Makefile
6377 modules/demux/playlist/Makefile
6378 modules/gui/Makefile
6379 modules/gui/beos/Makefile
6380 modules/gui/pda/Makefile
6381 modules/gui/macosx/Makefile
6382 modules/gui/minimal_macosx/Makefile
6383 modules/gui/qnx/Makefile
6384 modules/gui/qt4/Makefile
6385 modules/gui/skins2/Makefile
6386 modules/gui/wxwidgets/Makefile
6387 modules/gui/wince/Makefile
6388 modules/meta_engine/Makefile
6389 modules/misc/Makefile
6390 modules/misc/dummy/Makefile
6391 modules/misc/lua/Makefile
6392 modules/misc/memcpy/Makefile
6393 modules/misc/notify/Makefile
6394 modules/misc/testsuite/Makefile
6395 modules/misc/playlist/Makefile
6396 modules/misc/osd/Makefile
6397 modules/misc/xml/Makefile
6398 modules/misc/probe/Makefile
6399 modules/mux/Makefile
6400 modules/mux/mpeg/Makefile
6401 modules/mux/rtp/Makefile
6402 modules/packetizer/Makefile
6403 modules/services_discovery/Makefile
6404 modules/stream_out/Makefile
6405 modules/stream_out/transrate/Makefile
6406 modules/video_chroma/Makefile
6407 modules/video_filter/Makefile
6408 modules/video_filter/atmo/Makefile
6409 modules/video_filter/dynamicoverlay/Makefile
6410 modules/video_output/Makefile
6411 modules/video_output/msw/Makefile
6412 modules/video_output/qte/Makefile
6413 modules/video_output/x11/Makefile
6414 modules/visualization/Makefile
6415 modules/visualization/visual/Makefile
6416 modules/visualization/galaktos/Makefile
6419 dnl Generate makefiles
6422 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6423 # not provided with the source
6424 ${SHELL} ./config.status --file=vlc-config
6425 chmod 0755 vlc-config
6427 dnl echo "Enabled builtin modules :"
6428 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6430 dnl echo "Enabled plugin modules :"
6431 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6433 dnl Shortcut to nice compile message
6435 echo '#! /bin/sh' >compile
6436 echo rm -f .error\$\$ >>compile
6437 echo ERROR=0 >>compile
6438 echo export PATH=$PATH LANG=C >>compile
6439 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6440 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6441 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6442 echo rm -f .error\$\$ >>compile
6443 echo exit \$ERROR >>compile
6447 libvlc configuration
6448 --------------------
6449 version : ${VERSION}
6451 architecture : ${ARCH}
6453 test "${enable_debug}" = "yes" && printf "debug "
6454 test "${enable_cprof}" = "yes" && printf "cprof "
6455 test "${enable_gprof}" = "yes" && printf "gprof "
6456 test "${enable_optimizations}" = "yes" && printf "optim "
6457 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6459 if test "${enable_vlc}" != "no"; then
6460 echo "vlc aliases :${ALIASES}"
6462 echo "build vlc executable : no"
6464 echo "plugins/bindings :${PLUGINS_BINDINGS}
6466 You can check which modules have been enabled
6467 with \`./vlc-config --list plugin'.
6468 You can tune the compiler flags in vlc-config.
6469 To build vlc and its plugins, type \`./compile' or \`make'.
6471 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6473 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6475 echo " FFmpeg will be REALLY slow."
6476 echo " VLC WILL NOT PERFORM AS EXPECTED."