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])
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 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 -fvisibility=hidden
1070 dnl Don't test on mingw32, because it is going to work with just a warning
1071 dnl even if it doesn't support it
1072 if test "${SYS}" != "mingw32"
1074 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1075 [ac_cv_c_visibility_hidden],
1076 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1077 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1078 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1079 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1083 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1085 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1086 dnl AC_LANG_PUSH(C++)
1087 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1088 dnl [ac_cv_c_visibility_inlines_hidden],
1089 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1090 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1091 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1092 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1094 dnl CXXFLAGS="${CXXFLAGS_save}"
1095 dnl AC_LANG_POP(C++)
1097 dnl Check for -mdynamic-no-pic
1098 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1099 dnl [ac_cv_c_dynamic_no_pic],
1100 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1101 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1102 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1103 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1104 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1107 dnl Check for Darwin plugin linking flags
1108 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1110 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1111 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1112 if test "${ac_cv_ld_darwin}" != "no"; then
1113 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1116 dnl Check for standard plugin linking flags
1117 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1118 dnl AS_IF([test "${SYS}" = "beos"], [
1119 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1121 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1122 dnl [ac_cv_ld_plugins],
1123 dnl [CFLAGS="${CFLAGS_save} -shared"
1124 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1125 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1126 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1130 dnl Checks for __attribute__(aligned()) directive
1131 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1132 [ac_cv_c_attribute_aligned],
1133 [ac_cv_c_attribute_aligned=0
1134 CFLAGS="${CFLAGS_save} -Werror"
1135 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1137 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1138 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1140 CFLAGS="${CFLAGS_save}"])
1141 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1142 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1143 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1146 dnl Checks for __attribute__(format()) directive
1147 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1148 [ac_cv_c_attribute_format],
1149 [ac_cv_c_attribute_format=no
1150 CFLAGS="${CFLAGS_save} -Werror"
1152 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1153 [ac_cv_c_attribute_format=yes])
1154 CFLAGS="${CFLAGS_save}"])
1155 if test "${ac_cv_c_attribute_format}" != "no"; then
1156 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1159 dnl Check for __attribute__((packed))
1160 AC_CACHE_CHECK([for __attribute__((packed))],
1161 [ac_cv_c_attribute_packed],
1162 [ac_cv_c_attribute_packed=no
1163 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1164 [ac_cv_c_attribute_packed=yes])])
1165 if test "${ac_cv_c_attribute_packed}" != "no"; then
1166 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1169 dnl Check for __attribute__((visibility()))
1170 AC_CACHE_CHECK([for __attribute__((visibility()))],
1171 [ac_cv_c_attribute_visibility],
1172 [ac_cv_c_attribute_visibility=no
1173 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1174 [ac_cv_c_attribute_visibility=yes])])
1175 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1176 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1182 case "${host_cpu}" in
1192 dnl Enable profiling
1194 AC_ARG_ENABLE(gprof,
1195 [ --enable-gprof gprof profiling (default disabled)])
1196 AC_ARG_ENABLE(cprof,
1197 [ --enable-cprof cprof profiling (default disabled)])
1198 test "${enable_gprof}" != "yes" && enable_gprof="no"
1199 test "${enable_cprof}" != "yes" && enable_cprof="no"
1204 VLC_ADD_PLUGIN([dummy])
1205 VLC_ADD_PLUGIN([logger])
1206 VLC_ADD_PLUGIN([memcpy])
1208 VLC_ADD_PLUGIN([mpgv])
1209 VLC_ADD_PLUGIN([mpga])
1210 VLC_ADD_PLUGIN([m4v])
1211 VLC_ADD_PLUGIN([m4a])
1212 VLC_ADD_PLUGIN([h264])
1213 VLC_ADD_PLUGIN([vc1])
1214 VLC_ADD_PLUGIN([demux_cdg])
1215 VLC_ADD_PLUGIN([cdg])
1216 VLC_ADD_PLUGIN([ps])
1217 VLC_ADD_PLUGIN([pva])
1218 VLC_ADD_PLUGIN([avi])
1219 VLC_ADD_PLUGIN([asf])
1220 VLC_ADD_PLUGIN([mp4])
1221 VLC_ADD_PLUGIN([rawdv])
1222 VLC_ADD_PLUGIN([rawvid])
1223 VLC_ADD_PLUGIN([nsv])
1224 VLC_ADD_PLUGIN([real])
1225 VLC_ADD_PLUGIN([aiff])
1226 VLC_ADD_PLUGIN([mjpeg])
1227 VLC_ADD_PLUGIN([wav])
1228 VLC_ADD_PLUGIN([voc])
1229 VLC_ADD_PLUGIN([smf])
1230 VLC_ADD_PLUGIN([demuxdump])
1231 VLC_ADD_PLUGIN([flacsys])
1232 VLC_ADD_PLUGIN([tta])
1233 VLC_ADD_PLUGIN([subtitle])
1234 VLC_ADD_PLUGIN([vobsub])
1235 VLC_ADD_PLUGIN([a52sys])
1236 VLC_ADD_PLUGIN([dtssys])
1237 VLC_ADD_PLUGIN([au])
1238 VLC_ADD_PLUGIN([ty])
1239 VLC_ADD_PLUGIN([xa])
1240 VLC_ADD_PLUGIN([nuv])
1242 VLC_ADD_PLUGIN([cvdsub])
1243 VLC_ADD_PLUGIN([svcdsub])
1244 VLC_ADD_PLUGIN([spudec])
1245 VLC_ADD_PLUGIN([subsdec])
1246 VLC_ADD_PLUGIN([subsusf])
1247 VLC_ADD_PLUGIN([t140])
1248 VLC_ADD_PLUGIN([dvbsub])
1249 VLC_ADD_PLUGIN([cc])
1251 VLC_ADD_PLUGIN([cinepak])
1253 VLC_ADD_PLUGIN([araw])
1254 VLC_ADD_PLUGIN([adpcm])
1255 VLC_ADD_PLUGIN([mpeg_audio])
1256 VLC_ADD_PLUGIN([lpcm])
1257 VLC_ADD_PLUGIN([a52])
1258 VLC_ADD_PLUGIN([dts])
1259 VLC_ADD_PLUGIN([flac])
1261 VLC_ADD_PLUGIN([deinterlace])
1262 VLC_ADD_PLUGIN([invert])
1263 VLC_ADD_PLUGIN([adjust])
1264 VLC_ADD_PLUGIN([transform])
1265 VLC_ADD_PLUGIN([wave])
1266 VLC_ADD_PLUGIN([ripple])
1267 VLC_ADD_PLUGIN([psychedelic])
1268 VLC_ADD_PLUGIN([gradient])
1269 VLC_ADD_PLUGIN([motionblur])
1270 VLC_ADD_PLUGIN([rv32])
1271 VLC_ADD_PLUGIN([rotate])
1272 VLC_ADD_PLUGIN([noise])
1273 VLC_ADD_PLUGIN([grain])
1274 VLC_ADD_PLUGIN([extract])
1275 VLC_ADD_PLUGIN([sharpen])
1276 VLC_ADD_PLUGIN([seamcarving])
1277 VLC_ADD_PLUGIN([croppadd])
1278 VLC_ADD_PLUGIN([blendbench])
1279 VLC_ADD_PLUGIN([blend])
1280 VLC_ADD_PLUGIN([scale])
1281 VLC_ADD_PLUGIN([image])
1282 VLC_ADD_PLUGIN([vmem])
1283 VLC_ADD_PLUGIN([logo])
1284 VLC_ADD_PLUGIN([magnify])
1285 VLC_ADD_PLUGIN([puzzle])
1286 VLC_ADD_PLUGIN([colorthres])
1288 VLC_ADD_PLUGIN([playlist])
1289 VLC_ADD_PLUGIN([export])
1290 VLC_ADD_PLUGIN([nsc])
1291 VLC_ADD_PLUGIN([xtag])
1292 dnl Channel mixing audio filters:
1293 VLC_ADD_PLUGIN([converter_fixed])
1294 VLC_ADD_PLUGIN([mono])
1295 VLC_ADD_PLUGIN([trivial_channel_mixer])
1296 dnl Resampling audio filters:
1297 VLC_ADD_PLUGIN([trivial_resampler])
1298 VLC_ADD_PLUGIN([ugly_resampler])
1300 VLC_ADD_PLUGIN([trivial_mixer])
1302 VLC_ADD_PLUGIN([i420_rgb])
1303 VLC_ADD_PLUGIN([grey_yuv])
1305 VLC_ADD_PLUGIN([rawvideo])
1307 VLC_ADD_PLUGIN([access_filter_timeshift])
1308 VLC_ADD_PLUGIN([access_filter_record])
1309 VLC_ADD_PLUGIN([access_filter_dump])
1310 VLC_ADD_PLUGIN([access_filter_bandwidth])
1312 ALIASES="${ALIASES} cvlc"
1315 dnl default modules that need g++
1318 VLC_ADD_PLUGIN([spatializer])
1321 if test "${SYS}" != "mingwce"; then
1322 VLC_ADD_PLUGIN([gestures])
1323 VLC_ADD_PLUGIN([rc])
1324 VLC_ADD_PLUGIN([telnet])
1325 VLC_ADD_PLUGIN([hotkeys])
1326 VLC_ADD_PLUGIN([showintf])
1327 VLC_ADD_PLUGIN([marq])
1328 VLC_ADD_PLUGIN([podcast])
1329 VLC_ADD_PLUGIN([shout])
1330 VLC_ADD_PLUGIN([sap])
1331 VLC_ADD_PLUGIN([fake])
1332 VLC_ADD_PLUGIN([folder])
1333 VLC_ADD_PLUGIN([rss])
1334 VLC_ADD_PLUGIN([mosaic])
1335 VLC_ADD_PLUGIN([wall])
1336 VLC_ADD_PLUGIN([motiondetect])
1337 VLC_ADD_PLUGIN([clone])
1338 VLC_ADD_PLUGIN([crop])
1339 VLC_ADD_PLUGIN([erase])
1340 VLC_ADD_PLUGIN([bluescreen])
1341 VLC_ADD_PLUGIN([alphamask])
1342 VLC_ADD_PLUGIN([gaussianblur])
1343 VLC_ADD_PLUGIN([i420_yuy2])
1344 VLC_ADD_PLUGIN([i422_yuy2])
1345 VLC_ADD_PLUGIN([i420_ymga])
1346 VLC_ADD_PLUGIN([i422_i420])
1347 VLC_ADD_PLUGIN([yuy2_i422])
1348 VLC_ADD_PLUGIN([yuy2_i420])
1349 VLC_ADD_PLUGIN([chroma_chain])
1350 VLC_ADD_PLUGIN([aout_file])
1351 VLC_ADD_PLUGIN([linear_resampler])
1352 VLC_ADD_PLUGIN([bandlimited_resampler])
1353 VLC_ADD_PLUGIN([float32_mixer])
1354 VLC_ADD_PLUGIN([spdif_mixer])
1355 VLC_ADD_PLUGIN([simple_channel_mixer])
1356 VLC_ADD_PLUGIN([dolby_surround_decoder])
1357 VLC_ADD_PLUGIN([headphone_channel_mixer])
1358 VLC_ADD_PLUGIN([normvol])
1359 VLC_ADD_PLUGIN([equalizer])
1360 VLC_ADD_PLUGIN([param_eq])
1361 VLC_ADD_PLUGIN([converter_float])
1362 VLC_ADD_PLUGIN([a52tospdif])
1363 VLC_ADD_PLUGIN([dtstospdif])
1364 VLC_ADD_PLUGIN([audio_format])
1365 ALIASES="${ALIASES} rvlc"
1369 dnl Some plugins aren't useful on some platforms
1371 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1372 VLC_ADD_PLUGIN([screensaver])
1373 VLC_ADD_PLUGIN([motion])
1374 VLC_ADD_PLUGIN([dynamicoverlay])
1375 elif test "${SYS}" != "mingwce"; then
1376 VLC_ADD_PLUGIN([ntservice])
1377 VLC_ADD_PLUGIN([access_smb])
1378 VLC_ADD_PLUGIN([dmo])
1379 VLC_ADD_PLUGIN([msn])
1380 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1382 VLC_ADD_PLUGIN([win32text])
1384 if test "${SYS}" = "darwin"; then
1385 VLC_ADD_PLUGIN([quartztext])
1386 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1390 dnl Accelerated modules
1393 AC_ARG_WITH(,[Optimization options:])
1395 dnl Check for fully working MMX intrinsics
1396 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1397 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1399 [ --disable-mmx disable MMX optimizations (default auto)],,[
1400 case "${host_cpu}" in
1409 AS_IF([test "${enable_mmx}" != "no"], [
1412 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1413 [ac_cv_c_mmx_intrinsics],
1414 [CFLAGS="${CFLAGS_save} -O -mmmx"
1415 AC_TRY_COMPILE([#include <mmintrin.h>
1419 a = b = c = (__m64)frobzor;
1420 a = _mm_slli_pi16(a, 3);
1421 a = _mm_adds_pi16(a, b);
1422 c = _mm_srli_pi16(c, 8);
1423 c = _mm_slli_pi16(c, 3);
1424 b = _mm_adds_pi16(b, c);
1425 a = _mm_unpacklo_pi8(a, b);
1426 frobzor = (uint64_t)a;],
1427 [ac_cv_c_mmx_intrinsics=yes],
1428 [ac_cv_c_mmx_intrinsics=no])])
1429 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1430 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1431 [Define to 1 if MMX intrinsics are available.])
1432 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1435 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1437 [CFLAGS="${CFLAGS_save}"
1438 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1439 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1440 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1441 AC_DEFINE(CAN_COMPILE_MMX, 1,
1442 [Define to 1 inline MMX assembly is available.])
1443 VLC_ADD_PLUGIN([memcpymmx])
1444 VLC_ADD_PLUGIN([i420_rgb_mmx])
1445 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1446 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1447 VLC_ADD_PLUGIN([i420_ymga_mmx])
1450 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1451 [ac_cv_mmxext_inline],
1452 [CFLAGS="${CFLAGS_save}"
1453 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1454 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1455 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1456 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1457 [Define to 1 if MMX EXT inline assembly is available.])
1458 VLC_ADD_PLUGIN([memcpymmxext])
1462 dnl Check for fully workin SSE2 intrinsics
1463 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1464 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1466 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)],, [
1467 case "${host_cpu}" in
1476 AS_IF([test "${enable_sse}" != "no"], [
1477 ARCH="${ARCH} sse sse2"
1479 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1480 [ac_cv_c_sse2_intrinsics],
1481 [CFLAGS="${CFLAGS_save} -O -msse2"
1482 AC_TRY_COMPILE([#include <emmintrin.h>
1486 a = b = c = _mm_set1_epi64((__m64)frobzor);
1487 a = _mm_slli_epi16(a, 3);
1488 a = _mm_adds_epi16(a, b);
1489 c = _mm_srli_epi16(c, 8);
1490 c = _mm_slli_epi16(c, 3);
1491 b = _mm_adds_epi16(b, c);
1492 a = _mm_unpacklo_epi8(a, b);
1493 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1494 [ac_cv_c_sse2_intrinsics=yes],
1495 [ac_cv_c_sse2_intrinsics=no])])
1496 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1497 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1498 [Define to 1 if SSE2 intrinsics are available.])
1499 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1502 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1504 [CFLAGS="${CFLAGS_save}"
1505 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1506 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1507 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1508 AC_DEFINE(CAN_COMPILE_SSE, 1,
1509 [Define to 1 if SSE inline assembly is available.])
1512 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1513 [ac_cv_sse2_inline],
1514 [CFLAGS="${CFLAGS_save}"
1515 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1516 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1517 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1518 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1519 [Define to 1 if SSE2 inline assembly is available.])
1520 VLC_ADD_PLUGIN([i420_rgb_sse2])
1521 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1522 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1526 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1527 [ac_cv_3dnow_inline],
1528 [CFLAGS="${CFLAGS_save}"
1529 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1530 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1531 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1532 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1533 [Define to 1 if 3D Now! inline assembly is available.])
1534 VLC_ADD_PLUGIN([memcpy3dn])
1537 AC_ARG_ENABLE(altivec,
1538 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1539 AS_IF([test "${host_cpu}" = "powerpc"],
1540 [enable_altivec=yes], [enable_altivec=no])
1542 AS_IF([test "${enable_altivec}" = "yes"], [
1543 ARCH="${ARCH} altivec";
1544 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1545 [ac_cv_altivec_inline],
1546 [CFLAGS="${CFLAGS_save}"
1547 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1548 ac_cv_altivec_inline="yes",
1549 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1550 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1551 [ac_cv_altivec_inline="-Wa,-m7400"],
1552 ac_cv_altivec_inline=no)
1554 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1555 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1556 [Define to 1 if AltiVec inline assembly is available.])
1557 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1558 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1559 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1560 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1561 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1562 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1564 VLC_ADD_PLUGIN([memcpyaltivec])
1565 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1568 dnl The AltiVec C extensions
1570 dnl There are several possible cases:
1571 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1572 dnl need <altivec.h>
1573 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1574 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1575 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1576 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1577 dnl - Others: test should fail
1578 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1580 [# OS X/PPC test (gcc 4.x)
1581 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1582 AC_TRY_COMPILE([vector unsigned char foo;],
1583 [vec_ld(0, (unsigned char *)0);],
1584 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1585 [# OS X/PPC test (gcc 3.x)
1586 CFLAGS="${CFLAGS_save} -faltivec"
1587 AC_TRY_COMPILE([vector unsigned char foo;],
1588 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1589 [ac_cv_c_altivec="-faltivec"],
1590 dnl Below this are the Linux tests
1591 [# Linux/PPC test (gcc 4.x)
1592 CFLAGS="${CFLAGS_save} -maltivec"
1593 AC_TRY_COMPILE([#include <altivec.h>],
1594 [vec_ld(0, (unsigned char *)0);],
1595 [ac_cv_c_altivec="-maltivec"],
1596 [# Linux/PPC test (gcc 3.3)
1597 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1598 AC_TRY_COMPILE([#include <altivec.h>],
1599 [vec_ld(0, (unsigned char *)0);],
1601 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1602 [# Linux/PPC test (gcc 3.3)
1603 CFLAGS="${CFLAGS_save} -fvec"
1604 AC_TRY_COMPILE([#include <altivec.h>],
1605 [vec_ld(0, (unsigned char *)0);],
1606 [ac_cv_c_altivec="-fvec"],
1607 [ac_cv_c_altivec=no])
1612 CFLAGS="${CFLAGS_save}"
1614 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1615 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1618 AC_CHECK_HEADERS(altivec.h)
1619 CPPFLAGS="${CPPFLAGS_save}"
1621 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1622 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1623 [Define to 1 if C AltiVec extensions are available.])
1624 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1625 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1626 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1627 VLC_ADD_PLUGIN([memcpyaltivec])
1628 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1631 AC_CACHE_CHECK([if linker needs -framework vecLib],
1633 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1634 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1635 LDFLAGS="${LDFLAGS_save}"
1637 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1638 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1643 dnl Special arch tuning
1646 [ --with-tuning=ARCH enable special tuning for an architecture
1647 (default Pentium 2 on IA-32 and G4 on PPC)])
1648 if test -n "${with_tuning}"; then
1649 if test "${with_tuning}" != "no"; then
1650 CFLAGS_TUNING="-mtune=${with_tuning}"
1653 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1654 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1655 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1656 CFLAGS_TUNING="-mtune=pentium2"
1657 elif test "${host_cpu}" = "x86_64"; then
1658 CFLAGS_TUNING="-mtune=athlon64"
1659 elif test "${host_cpu}" = "powerpc"; then
1660 CFLAGS_TUNING="-mtune=G4";
1664 dnl NOTE: this can't be cached cleanly
1665 AS_IF([test "${CFLAGS_TUNING}"],
1666 [CFLAGS_save="${CFLAGS}"
1667 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1669 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1670 AC_COMPILE_IFELSE([ ],
1672 [CFLAGS_TUNING=""; tuning="no"
1673 AS_IF([test "${with_tuning}"],
1674 [AC_MSG_ERROR([requested tuning not supported])])])
1676 AC_MSG_RESULT([$tuning])
1677 CFLAGS="${CFLAGS_save}"
1683 AC_ARG_ENABLE(optimize-memory,
1684 [ --enable-optimize-memory optimize memory usage over performance])
1685 if test "${enable_optimize_memory}" = "yes"; then
1686 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1690 dnl Enable/disable optimizations
1692 AC_ARG_ENABLE(optimizations,
1693 [ --disable-optimizations disable compiler optimizations (default enabled)])
1694 if test "${enable_optimizations}" != "no"; then
1695 if test "${enable_optimize_memory}" = "yes"; then
1696 enable_optimizations="size"
1698 enable_optimizations="speed"
1705 AC_ARG_ENABLE(debug,
1706 [ --enable-debug debug mode (default disabled)])
1707 test "${enable_debug}" != "yes" && enable_debug="no"
1709 [Define to 1 if debug code should NOT be compiled])
1710 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1715 AC_ARG_ENABLE(coverage,
1716 [ --enable-coverage build for test coverage (default disabled)],,
1717 [enable_coverage="no"])
1718 AS_IF([test "${enable_coverage}" != "no"], [
1719 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1720 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1721 LDFLAGS="-lgcov ${LDFLAGS}"
1723 CFLAGS_save="${CFLAGS}"
1724 CXXFLAGS_save="${CXXFLAGS}"
1725 LDFLAGS_save="${LDFLAGS}"
1729 dnl Enable release-specific flags
1731 AC_ARG_ENABLE(release,
1732 [ --enable-release activate extra optimizations (default disabled)])
1733 test "${enable_release}" != "yes" && enable_release="no"
1739 [ --enable-sout Stream output modules (default enabled)])
1740 AS_IF([test "${enable_sout}" != "no"], [
1741 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1743 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1745 AC_ARG_ENABLE(switcher,
1746 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1748 dnl Check for libshout
1749 AC_ARG_ENABLE(shout,
1750 [ --enable-shout libshout output plugin (default disabled)])
1751 if test "${enable_shout}" = "yes"; then
1752 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1753 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1754 VLC_ADD_PLUGIN([access_output_shout])
1755 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1756 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1757 [AC_MSG_WARN(libshout library not found)])
1762 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1763 if test "${enable_lua}" != "no"
1765 PKG_CHECK_MODULES(LUA, lua5.1,
1768 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1769 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1773 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1776 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1777 [LUA_LIBS="-llua5.1"],
1778 AC_CHECK_LIB( lua51 , luaL_newstate,
1779 [LUA_LIBS="-llua51"],
1780 AC_CHECK_LIB( lua , luaL_newstate,
1783 AC_MSG_WARN([lua >= 5.1 not found!])
1789 if test "x${have_lua}" = "xyes" ; then
1790 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1791 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1792 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1795 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1800 AC_ARG_ENABLE(httpd,
1801 [ --enable-httpd HTTP daemon (default enabled)])
1802 if test "${enable_httpd}" != "no"
1804 VLC_ADD_PLUGIN([http])
1805 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1807 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1810 dnl VideoLAN manager
1813 [ --enable-vlm VideoLAN manager (default enabled)])
1814 if test "${enable_vlm}" != "no"
1816 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1820 dnl Growl notification plugin
1822 AC_ARG_ENABLE(growl,
1823 [ --enable-growl growl notification plugin (default enabled)])
1824 AS_IF([test "${enable_growl}" != "no"], [
1825 VLC_ADD_PLUGIN([growl_udp])
1826 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1827 VLC_ADD_PLUGIN([growl])
1828 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1834 dnl Libnotify notification plugin
1837 AC_ARG_ENABLE(notify,
1838 [ --enable-notify libnotify notification plugin (default enabled)])
1839 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1840 PKG_CHECK_MODULES(NOTIFY, libnotify,
1842 VLC_ADD_PLUGIN([notify])
1843 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1844 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1846 AS_IF([test "${enable_notify}" = "yes"],[
1847 AC_MSG_WARN( libnotify not found) ])
1852 dnl Audioscrobbler plugin
1855 AC_ARG_ENABLE(audioscrobbler,
1856 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1857 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1858 VLC_ADD_PLUGIN([audioscrobbler])
1862 dnl Musicbrainz plugin
1864 AC_ARG_ENABLE(musicbrainz,
1865 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1866 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1867 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1868 [ VLC_ADD_PLUGIN([musicbrainz])
1869 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1870 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1871 [AC_MSG_WARN(MusicBrainz library not found)])
1878 AC_ARG_ENABLE(taglib,
1879 [ --disable-taglib Taglib support (default enabled) ])
1880 AS_IF([test "${enable_taglib}" != "no"],[
1881 PKG_CHECK_MODULES(TAGLIB, taglib,
1882 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1883 VLC_ADD_PLUGIN([taglib])
1884 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1885 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1886 [AC_MSG_WARN(TagLib library not found)])
1894 AC_ARG_WITH(,[Input plugins:])
1898 if test "${enable_livedotcom}"
1900 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1903 if test "${enable_livedotcom}" = "no"
1907 AC_ARG_ENABLE(live555,
1908 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1909 if test "${enable_live555}" != "no"; then
1910 AC_ARG_WITH(live555-tree,
1911 [ --with-live555-tree=PATH live.com tree for static linking])
1914 dnl test for --with-live555-tree
1916 if test "${with_livedotcom_tree}"
1918 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1919 with_live555_tree="${with_livedotcom_tree}"
1922 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1924 CPPFLAGS_save="${CPPFLAGS}"
1925 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1926 if test "${SYS}" = "solaris"; then
1927 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1929 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1930 AC_CHECK_HEADERS(liveMedia.hh, [
1931 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1932 AC_CHECK_LIB(liveMedia_pic, main, [
1933 # We have -lliveMedia_pic, build plugins
1934 VLC_ADD_PLUGIN([live555])
1935 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1937 AC_CHECK_LIB(liveMedia, main, [
1938 # We only have -lliveMedia, do builtins
1939 VLC_ADD_PLUGIN([live555])
1940 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1943 if test "${SYS}" = "mingw32"; then
1944 # add ws2_32 for closesocket, select, recv
1945 VLC_ADD_LIBS([live555],[-lws2_32])
1948 CPPFLAGS="${CPPFLAGS_save}"
1951 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1952 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1953 if test -z "${real_live555_tree}"; then
1954 dnl The given directory can't be found
1956 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1958 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1959 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1961 VLC_ADD_PLUGIN([live555])
1963 if test "${SYS}" = "mingw32"; then
1964 # add ws2_32 for closesocket, select, recv
1965 VLC_ADD_LIBS([live555],[-lws2_32])
1968 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1969 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1970 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1971 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1973 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1974 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1975 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1976 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1977 if test "${SYS}" = "solaris"; then
1978 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1981 dnl The given live555 wasn't built
1983 if test "${enable_live555}" = "yes"; then
1984 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1991 dnl special access module for dc1394 input
1993 AC_ARG_ENABLE(dc1394,
1994 [ --enable-dc1394 dc1394 access module (default disabled)])
1995 if test "${enable_dc1394}" = "yes"
1997 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1998 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1999 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
2000 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
2001 VLC_ADD_PLUGIN([dc1394])
2002 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
2005 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2009 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2013 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2017 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2022 dnl dv module: digital video module check for libraw1394
2025 [ --enable-dv dv input module (default disabled)])
2026 if test "${enable_dv}" = "yes"
2028 AC_ARG_WITH(dv-raw1394,
2029 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
2030 AC_ARG_WITH(dv-raw1394-tree,
2031 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
2033 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
2035 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
2036 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
2038 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
2040 VLC_ADD_PLUGIN([access_dv])
2041 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
2042 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
2044 dnl No libraw1394 could be found, sorry
2046 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
2049 AC_CHECK_HEADERS(libraw1394/raw1394.h,
2050 [ VLC_ADD_PLUGIN([access_dv])
2051 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2053 if test -n "${enable_dv}"
2055 AC_MSG_ERROR([cannot find libraw1394 headers])
2060 dnl Check for static linking of libraw1394
2061 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2063 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2064 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2065 if test -z "${real_dv_raw1394_tree}"
2067 dnl The given directory can't be found
2069 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2071 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2073 dnl Use a custom libraw1394
2074 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2075 VLC_ADD_BUILTINS([access_dv])
2076 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2077 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2079 dnl The given libraw1394 wasn't built
2081 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2086 dnl Check for libavc1394
2089 AC_ARG_WITH(dv-avc1394,
2090 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2091 AC_ARG_WITH(dv-avc1394-tree,
2092 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2094 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2096 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2097 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2099 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2101 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2102 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2104 dnl No libavc1394 could be found, sorry
2106 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2109 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2110 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2112 if test -n "${enable_dv}"
2114 AC_MSG_ERROR([cannot find libavc1394 headers])
2119 dnl Check for static linking of libavc1394
2120 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2122 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2123 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2124 if test -z "${real_dv_avc1394_tree}"
2126 dnl The given directory can't be found
2128 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2130 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2132 dnl Use a custom libavc1394
2133 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2134 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2135 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2137 dnl The given libavc1394 wasn't built
2139 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2145 dnl dvdread module: check for libdvdread
2147 AC_ARG_ENABLE(dvdread,
2148 [ --enable-dvdread dvdread input module (default disabled)])
2149 if test "${enable_dvdread}" != "no"
2151 AC_ARG_WITH(dvdread,
2152 [ --with-dvdread=PATH libdvdread headers and libraries])
2153 AC_ARG_WITH(dvdread-tree,
2154 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2156 dnl Temporary hack (yeah, sure ;)
2157 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2158 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2161 if test -z "${with_dvdread}"
2163 if test -z "${with_dvdread_tree}"
2165 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2166 [ VLC_ADD_PLUGIN([dvdread])
2167 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2169 if test -n "${enable_dvdread}"
2171 AC_MSG_ERROR([cannot find libdvdread headers])
2175 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2176 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2177 if test -z "${real_dvdread_tree}"
2179 dnl The given directory can't be found
2181 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2183 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2185 dnl Use a custom libdvdread
2186 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2187 VLC_ADD_BUILTINS([dvdread])
2188 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2189 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2191 dnl The given libdvdread wasn't built
2193 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2197 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2198 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2200 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2202 VLC_ADD_PLUGIN([dvdread])
2203 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2204 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2206 dnl No libdvdread could be found, sorry
2208 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2214 dnl libdvdnav plugin
2216 AC_ARG_ENABLE(dvdnav,
2217 [ --enable-dvdnav dvdnav input module (default enabled)])
2218 if test "${enable_dvdnav}" != "no"
2220 dnl Same hack than dvdread
2221 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2222 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2225 DVDNAV_PATH="${PATH}"
2226 AC_ARG_WITH(dvdnav-config-path,
2227 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2228 [ if test "${with_dvdnav_config_path}" != "no"
2230 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2232 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2233 if test "${DVDNAV_CONFIG}" != "no"
2235 VLC_ADD_PLUGIN([dvdnav])
2236 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2237 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2242 dnl Windows DirectShow access module
2244 AC_ARG_ENABLE(dshow,
2245 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2246 if test "${enable_dshow}" != "no"
2248 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2251 AC_CHECK_HEADERS(dshow.h,
2252 [ VLC_ADD_PLUGIN([dshow])
2253 VLC_ADD_CXXFLAGS([dshow],[])
2254 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2260 dnl Windows DirectShow BDA access module
2263 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2264 if test "${enable_bda}" != "no"
2266 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2268 AC_CHECK_HEADERS(dshow.h,
2269 [ VLC_ADD_PLUGIN([bda])
2270 VLC_ADD_CXXFLAGS([bda],[])
2271 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2277 dnl OpenCV wrapper and example filters
2279 AC_ARG_ENABLE(opencv,
2280 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2281 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2283 AC_ARG_WITH(opencv-tree,
2284 [ --with-opencv-tree=PATH opencv tree for linking])
2285 if test -n "${with_opencv_tree}"
2287 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2289 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2290 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2291 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2294 VLC_ADD_PLUGIN([opencv_wrapper])
2295 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2296 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])
2298 VLC_ADD_PLUGIN([opencv_example])
2299 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2300 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])
2303 dnl No opencv could be found, sorry
2305 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2308 AC_MSG_WARN([--enable-opencv currently only works on windows])
2315 dnl libsmbclient plugin
2318 [ --enable-smb smb input module (default enabled)])
2319 if test "${enable_smb}" != "no"; then
2320 AC_CHECK_HEADERS(libsmbclient.h,
2321 [ VLC_ADD_PLUGIN([access_smb])
2322 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2323 [ if test -n "${enable_smb}"; then
2324 AC_MSG_ERROR([cannot find libsmbclient headers])
2326 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2327 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2328 [#include <libsmbclient.h>])
2332 dnl libdvbpsi ts demux/mux
2334 AC_ARG_ENABLE(dvbpsi,
2335 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2336 if test "${enable_dvbpsi}" != "no"
2339 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2341 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2342 case "${with_dvbpsi}" in
2344 if test -z "${with_dvbpsi_tree}"
2346 AC_CHECK_HEADERS(dvbpsi/dr.h,
2347 [ VLC_ADD_PLUGIN([ts])
2348 if test "${enable_sout}" != "no"; then
2349 VLC_ADD_PLUGIN([mux_ts])
2351 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2352 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2353 [#if defined( HAVE_STDINT_H )
2354 # include <stdint.h>
2355 #elif defined( HAVE_INTTYPES_H )
2356 # include <inttypes.h>
2358 #include <dvbpsi/dvbpsi.h>
2359 #include <dvbpsi/descriptor.h>
2360 #include <dvbpsi/pat.h>
2361 #include <dvbpsi/pmt.h>])
2363 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2364 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2365 if test -z "${real_dvbpsi_tree}"
2367 dnl The given directory can't be found
2369 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2371 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2373 dnl Use a custom libdvbpsi
2374 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2375 VLC_ADD_BUILTINS([ts])
2376 if test "${enable_sout}" != "no"; then
2377 VLC_ADD_BUILTINS([mux_ts])
2379 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2380 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2382 dnl The given libdvbpsi wasn't built
2384 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2389 dnl Compile without dvbpsi
2392 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2393 if test -z "${with_dvbpsi}"
2398 LDFLAGS_test="-L${with_dvbpsi}/lib"
2399 CPPFLAGS_test="-I${with_dvbpsi}/include"
2401 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2402 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2403 VLC_ADD_PLUGIN([ts])
2404 if test "${enable_sout}" != "no"; then
2405 VLC_ADD_PLUGIN([mux_ts])
2407 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2408 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2411 if test -n "${enable_dvbpsi}"
2413 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])
2416 CPPFLAGS="${CPPFLAGS_save}"
2419 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2420 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2421 ], [], [${LIBS_ts}])
2426 dnl Video4Linux plugin
2429 [ --enable-v4l Video4Linux input support (default disabled)])
2430 if test "${enable_v4l}" = "yes"
2433 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2434 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2436 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2439 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2440 AC_CHECK_HEADERS(linux/videodev.h, [
2441 VLC_ADD_PLUGIN([v4l])
2443 CPPFLAGS="${CPPFLAGS_save}"
2447 dnl Video4Linux2 plugin
2450 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2451 if test "${enable_v4l2}" = "yes"
2454 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2455 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2457 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2460 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2461 if test "${have_v4l2_alsa}" = "true"
2463 CFLAGS="${CFLAGS_save}"
2464 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2465 #define ALSA_PCM_NEW_SW_PARAMS_API
2466 #include <alsa/asoundlib.h>],
2467 [snd_pcm_hw_params_get_period_time(0,0,0);],
2468 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2469 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2470 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2473 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2474 AC_CHECK_HEADERS(linux/videodev2.h, [
2475 VLC_ADD_PLUGIN([v4l2])
2477 CPPFLAGS="${CPPFLAGS_save}"
2482 dnl special access module for Hauppauge PVR cards
2485 [ --enable-pvr PVR cards access module (default disabled)])
2486 if test "${enable_pvr}" = "yes"
2488 VLC_ADD_PLUGIN([pvr])
2489 AC_ARG_WITH(videodev2,
2490 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2491 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2493 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2497 AC_CACHE_CHECK([for new linux/videodev2.h],
2498 [new_linux_videodev2_h],
2500 #include <sys/types.h>
2501 # ifdef VIDEODEV2_H_FILE
2502 # include VIDEODEV2_H_FILE
2504 # include <linux/videodev2.h>
2507 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2508 new_linux_videodev2_h=yes,
2509 new_linux_videodev2_h=no)])
2510 if test "${new_linux_videodev2_h}" != "no"; then
2511 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2516 dnl gnomeVFS access module
2518 AC_ARG_ENABLE(gnomevfs,
2519 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2520 if test "${enable_gnomevfs}" = "yes"
2522 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2523 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2524 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2525 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2526 VLC_ADD_PLUGIN([access_gnomevfs]),
2527 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2530 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2531 AC_ARG_ENABLE(libcdio,
2532 [ --enable-libcdio CD input and control library support (default enabled)])
2537 if test "${enable_libcdio}" != "no"
2539 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2541 AC_DEFINE(HAVE_LIBCDIO, 1,
2542 [Define if you have libcdio 0.78.2 or greater installed]),
2543 [AC_MSG_WARN(CD Reading and information library not found)])
2545 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2546 [have_libvcdinfo=yes
2547 AC_DEFINE(HAVE_VCDINFO, 1,
2548 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2549 [AC_MSG_WARN(VCD information library not found)])
2553 dnl VCDX and CDDAX modules
2555 AC_ARG_ENABLE(cddax,
2556 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2558 AC_ARG_ENABLE(libcddb,
2559 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2561 if test "${enable_cddax}" = "yes"
2563 if test "$have_libcdio" = "yes"
2565 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2566 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2567 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2568 VLC_ADD_PLUGIN([cddax])
2569 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2570 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2571 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2573 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2577 if test "$enable_libcddb" != "no"; then
2578 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2580 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2581 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2582 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2584 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2591 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2593 if test "${enable_vcdx}" = "yes"
2595 if test "${have_libvcdinfo}" = "yes"
2597 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2598 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2600 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2604 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2605 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2606 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2607 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2610 if test "$have_libvcdinfo" = "yes"
2612 AC_DEFINE(HAVE_VCDX, 1,
2613 [Define for the VCD plugin using libcdio/libvcdinfo])
2614 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2615 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2616 VLC_ADD_PLUGIN([vcdx])
2618 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2624 dnl Built-in CD-DA and VCD module
2627 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2630 [ --enable-vcd built-in VCD (default enabled)])
2632 if test "${enable_vcd}" != "no"
2634 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2635 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2637 VLC_ADD_PLUGIN([vcd])
2638 VLC_ADD_PLUGIN([cdda])
2643 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2644 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2646 VLC_ADD_PLUGIN([vcd])
2647 VLC_ADD_PLUGIN([cdda])
2648 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2653 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2654 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2656 VLC_ADD_PLUGIN([vcd])
2657 VLC_ADD_PLUGIN([cdda])
2658 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2663 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2665 VLC_ADD_PLUGIN([vcd])
2666 VLC_ADD_PLUGIN([cdda])
2669 if test "${SYS}" = "darwin"
2671 VLC_ADD_PLUGIN([vcd])
2672 VLC_ADD_PLUGIN([cdda])
2673 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2674 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2677 if test "$enable_libcddb" != "no"; then
2678 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2680 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2681 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2682 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2684 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2690 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2693 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2695 if test "${enable_dvb}" = "yes"
2698 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2699 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2701 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2703 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2704 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2705 if test -z "${with_dvbpsi_tree}"
2707 VLC_ADD_PLUGIN([dvb])
2709 VLC_ADD_BUILTINS([dvb])
2711 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2712 CPPFLAGS="${CPPFLAGS_save}"
2716 dnl Screen capture module
2718 AC_ARG_ENABLE(screen,
2719 [ --enable-screen Screen capture support (default enabled)])
2720 if test "${enable_screen}" != "no"; then
2721 if test "${SYS}" = "darwin"; then
2722 AC_CHECK_HEADERS(OpenGL/gl.h, [
2723 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2724 VLC_ADD_PLUGIN([screen])
2725 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2728 elif test "${SYS}" = "mingw32"; then
2729 VLC_ADD_PLUGIN([screen])
2730 VLC_ADD_LIBS([screen],[-lgdi32])
2731 elif test "${SYS}" = "mingwce"; then
2732 CPPFLAGS="${CPPFLAGS_save}"
2733 elif test "${SYS}" = "beos"; then
2734 VLC_ADD_PLUGIN([screen])
2735 VLC_ADD_CXXFLAGS([screen],[])
2736 VLC_ADD_LIBS([screen],[-lbe])
2738 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2739 AC_CHECK_HEADERS(X11/Xlib.h, [
2740 VLC_ADD_PLUGIN([screen])
2741 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2742 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2744 CPPFLAGS="${CPPFLAGS_save}"
2749 dnl ipv6 plugin - not for QNX yet
2752 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2753 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2756 AS_IF([test "${have_ipv6}" = "yes"], [
2757 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2760 AC_CHECK_FUNCS(inet_ntop,[
2761 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2765 dnl ogg demux plugin
2768 [ --enable-ogg Ogg demux support (default enabled)])
2769 if test "${enable_ogg}" != "no"
2771 AC_ARG_WITH(ogg-tree,
2772 [ --with-ogg-tree=PATH ogg tree for static linking])
2773 if test -n "${with_ogg_tree}"
2775 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2776 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2777 if test -z "${real_ogg_tree}"
2779 dnl The given directory can't be found
2781 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2783 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2785 dnl Use a custom ogg
2786 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2787 VLC_ADD_PLUGIN([ogg])
2788 if test "${enable_sout}" != "no"; then
2789 VLC_ADD_PLUGIN([mux_ogg])
2791 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2792 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2794 dnl The given ogg wasn't built
2796 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2799 AC_CHECK_HEADERS(ogg/ogg.h, [
2800 AC_CHECK_LIB( ogg, oggpack_read, [
2801 VLC_ADD_PLUGIN([ogg])
2802 if test "${enable_sout}" != "no"; then
2803 VLC_ADD_PLUGIN([mux_ogg])
2805 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2811 dnl matroska demux plugin
2814 [ --enable-mkv Matroska demux support (default enabled)])
2815 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2817 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2818 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2820 [#include <ebml/EbmlVersion.h>
2821 #ifdef LIBEBML_VERSION
2822 #if LIBEBML_VERSION >= 0x000706
2826 [AC_MSG_RESULT([yes])
2827 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2828 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2830 [#include <matroska/KaxVersion.h>
2831 #ifdef LIBMATROSKA_VERSION
2832 #if LIBMATROSKA_VERSION >= 0x000705
2836 [AC_MSG_RESULT([yes])
2837 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2838 VLC_ADD_CXXFLAGS([mkv],[])
2839 if test "${SYS}" = "darwin"; then
2840 VLC_ADD_CXXFLAGS([mkv],[-O1])
2842 AC_CHECK_LIB(ebml_pic, main, [
2843 VLC_ADD_PLUGIN([mkv])
2844 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2846 AC_CHECK_LIB(ebml, main, [
2847 VLC_ADD_PLUGIN([mkv])
2848 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2852 [AC_MSG_RESULT([no])
2853 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.])
2857 [AC_MSG_RESULT([no])
2858 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.])
2865 dnl modplug demux plugin
2868 [ --enable-mod Mod demux support (default enabled)])
2869 if test "${enable_mod}" != "no"
2871 AC_ARG_WITH(mod-tree,
2872 [ --with-mod-tree=PATH mod tree for static linking])
2873 if test -n "${with_mod_tree}"
2875 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2876 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2877 if test -z "${real_mod_tree}"
2879 dnl The given directory can't be found
2881 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2883 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2885 dnl Use a custom mod
2886 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2887 VLC_ADD_PLUGIN([mod])
2888 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2889 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2891 dnl The given mod wasn't built
2893 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2896 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2897 VLC_ADD_PLUGIN([mod])
2898 VLC_ADD_CXXFLAGS([mod],[])
2899 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2904 dnl mpc demux plugin
2907 [ --enable-mpc Mpc demux support (default enabled)])
2908 if test "${enable_mpc}" != "no"
2910 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2911 VLC_ADD_PLUGIN([mpc])
2912 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2916 dnl game music emu demux plugin
2919 [ --enable-gme Game Music Emu demux support (default enabled)])
2920 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2923 AC_ARG_WITH(gme-tree,
2924 [ --with-gme-tree=PATH gme tree for static linking])
2925 if test -n "${with_gme_tree}"
2927 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2928 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2929 if test -z "${real_gme_tree}"
2931 dnl The given directory can't be found
2933 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2935 if test -f "${real_gme_tree}/gme/libgme.a"
2937 dnl Use a custom gme
2938 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2939 VLC_ADD_PLUGIN([gme])
2940 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2941 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2943 dnl The given gme wasn't built
2945 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2948 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2957 AC_ARG_WITH(,[Codec plugins:])
2963 [ --enable-mad libmad module (default enabled)])
2964 if test "${enable_mad}" != "no"
2967 [ --with-mad=PATH path to libmad],[],[])
2968 if test "${with_mad}" != "no" -a -n "${with_mad}"
2970 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2971 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2974 AC_ARG_WITH(mad-tree,
2975 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2976 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2978 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2979 if test -z "${real_mad_tree}"
2981 dnl The given directory can't be found
2983 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2985 dnl Use a custom libmad
2986 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2987 if test -f ${real_mad_tree}/mad.h
2990 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2991 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2992 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2993 AC_CHECK_LIB(mad, mad_bit_init, [
2994 VLC_ADD_BUILTINS([mpgatofixed32])
2995 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2996 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2998 LDFLAGS="${LDFLAGS_save}"
3001 AC_MSG_ERROR([the specified tree doesn't have mad.h])
3004 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
3005 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
3006 AC_CHECK_HEADERS(mad.h, ,
3007 [ 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.]) ])
3008 AC_CHECK_LIB(mad, mad_bit_init, [
3009 VLC_ADD_PLUGIN([mpgatofixed32])
3010 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
3011 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
3012 CPPFLAGS="${CPPFLAGS_save}"
3013 LDFLAGS="${LDFLAGS_save}"
3018 dnl libid3tag support (FIXME!!! doesn't work with new input)
3020 AC_ARG_ENABLE( id3tag,
3021 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
3022 AS_IF([test "${enable_id3tag}" != "no"], [
3023 AC_CHECK_HEADERS(id3tag.h, [
3024 AC_CHECK_HEADERS(zlib.h, [
3025 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
3026 VLC_ADD_PLUGIN([id3tag])
3032 dnl ffmpeg decoder/demuxer plugin
3034 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
3035 dnl 3- default place,
3037 AC_ARG_ENABLE(ffmpeg,
3038 [ --enable-ffmpeg ffmpeg codec (default enabled)])
3039 if test "${enable_ffmpeg}" != "no"
3042 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
3044 AC_ARG_WITH(ffmpeg-mp3lame,
3045 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
3047 if test "$with_ffmpeg_mp3lame" = "yes"; then
3048 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
3051 AC_ARG_WITH(ffmpeg-faac,
3052 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
3054 if test "$with_ffmpeg_faac" = "yes"; then
3055 VLC_ADD_LIBS([ffmpeg],[-lfaac])
3058 AC_ARG_WITH(ffmpeg-dts,
3059 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
3061 if test "$with_ffmpeg_dts" = "yes"; then
3062 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3063 AC_CHECK_LIB(dts_pic, dts_free,
3064 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
3065 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
3066 LDFLAGS="${LDFLAGS_save}"
3069 AC_ARG_WITH(ffmpeg-vorbis,
3070 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
3072 if test "$with_ffmpeg_vorbis" = "yes"; then
3073 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
3076 AC_ARG_WITH(ffmpeg-theora,
3077 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
3079 if test "$with_ffmpeg_theora" = "yes"; then
3080 VLC_ADD_LIBS([ffmpeg],[-ltheora])
3083 AC_ARG_WITH(ffmpeg-ogg,
3084 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
3086 if test "$with_ffmpeg_ogg" = "yes"; then
3087 VLC_ADD_LIBS([ffmpeg],[-logg])
3090 AC_ARG_WITH(ffmpeg-zlib,
3091 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3093 if test "$with_ffmpeg_zlib" = "yes"; then
3094 VLC_ADD_LIBS([ffmpeg],[-lz])
3097 AC_ARG_WITH(ffmpeg-amrnb,
3098 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3100 if test "$with_ffmpeg_amrnb" = "yes"; then
3101 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3104 AC_ARG_WITH(ffmpeg-amrwb,
3105 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3107 if test "$with_ffmpeg_amrwb" = "yes"; then
3108 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3111 AC_ARG_WITH(ffmpeg-x264,
3112 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3114 if test "$with_ffmpeg_x264" = "yes"; then
3115 VLC_ADD_LIBS([ffmpeg],[-lx264])
3118 AC_ARG_WITH(ffmpeg-a52,
3119 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3121 if test "$with_ffmpeg_a52" = "yes"; then
3122 VLC_ADD_LIBS([ffmpeg],[-la52])
3126 dnl test for --with-ffmpeg-tree
3128 AC_ARG_WITH(ffmpeg-tree,
3129 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3131 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3132 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3133 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3134 if test -z "${real_ffmpeg_tree}"; then
3135 dnl The given directory can't be found
3137 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3139 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3140 dnl The given libavcodec wasn't built
3142 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3144 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3145 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3146 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3147 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3148 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3149 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3151 dnl The given libavcodec wasn't built with --enable-postproc
3153 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3156 dnl Use a custom libffmpeg
3157 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3159 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3160 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3161 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3162 export PKG_CONFIG_PATH=""
3163 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3166 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3167 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3168 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3169 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3171 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3172 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3173 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3174 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3175 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3177 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3178 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3180 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3181 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3182 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3183 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3186 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3187 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3189 unset PKG_CONFIG_PATH
3191 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3192 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3194 unset PKG_CONFIG_LIBDIR
3197 VLC_ADD_BUILTINS([ffmpeg])
3198 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3199 VLC_ADD_BUILTINS([stream_out_switcher])
3206 dnl Trying with pkg-config
3207 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3210 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3211 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3212 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3213 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3214 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3215 dnl newer ffmpeg have a separate libpostproc
3216 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3217 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3218 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3220 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3221 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3222 AC_CHECK_HEADERS(postproc/postprocess.h)
3223 VLC_ADD_PLUGIN([ffmpeg])
3224 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3225 VLC_ADD_PLUGIN([stream_out_switcher])
3227 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3228 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3230 dnl even newer ffmpeg has a libswscale
3231 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3232 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3233 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3234 AC_CHECK_LIB(swscale, sws_getContext,
3235 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
3241 dnl last chance: at the default place
3243 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3244 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3245 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3246 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3247 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3248 AC_CHECK_HEADERS(postproc/postprocess.h)
3250 AC_CHECK_LIB(avutil, av_crc_init, [
3251 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3252 LDAVUTIL="-lavutil"])
3254 AC_CHECK_LIB(avcodec, avcodec_init, [
3255 VLC_ADD_BUILTINS([ffmpeg])
3256 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3257 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3258 VLC_ADD_BUILTINS([stream_out_switcher])
3260 [ 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])
3262 AC_CHECK_LIB(postproc, pp_postprocess, [
3263 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3264 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3267 AC_CHECK_LIB(avformat, av_open_input_stream, [
3268 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3269 LDFLAGS="${LDFLAGS_save}"
3270 CPPFLAGS="${CPPFLAGS_save}"
3272 AC_CHECK_LIB(swscale, sws_getContext, [
3273 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3274 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3275 LDFLAGS="${LDFLAGS_save}"
3276 CPPFLAGS="${CPPFLAGS_save}"
3282 dnl ffmpegaltivec plugin
3284 AC_ARG_ENABLE(ffmpegaltivec,
3285 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3286 if test "${enable_ffmpegaltivec}" = "yes"
3288 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3289 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3290 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3291 if test -z "${real_ffmpeg_tree}"; then
3292 dnl The given directory can't be found
3294 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3296 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3297 dnl The given libavcodecaltivec wasn't built
3299 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3301 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3302 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3304 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3306 dnl Use a custom libffmpeg
3307 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3308 VLC_ADD_BUILTINS([ffmpegaltivec])
3309 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3310 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3311 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3313 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3314 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3315 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3316 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3318 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3319 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3324 dnl faad decoder plugin
3327 [ --enable-faad faad codec (default disabled)])
3328 if test "${enable_faad}" = "yes"
3330 AC_ARG_WITH(faad-tree,
3331 [ --with-faad-tree=PATH faad tree for static linking])
3332 if test -n "${with_faad_tree}"
3334 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3335 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3336 if test -z "${real_faad_tree}"
3338 dnl The given directory can't be found
3340 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3342 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3344 dnl Use a custom faad
3345 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3346 VLC_ADD_BUILTINS([faad])
3347 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3348 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3350 dnl The given libfaad wasn't built
3352 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3355 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3356 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3357 AC_CHECK_HEADERS(faad.h, ,
3358 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3359 AC_CHECK_LIB(faad, faacDecOpen, [
3360 VLC_ADD_PLUGIN([faad])
3361 VLC_ADD_LIBS([faad],[-lfaad]) ],
3362 AC_CHECK_LIB(faad, NeAACDecOpen, [
3363 VLC_ADD_PLUGIN([faad])
3364 VLC_ADD_LIBS([faad],[-lfaad]) ],
3365 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3366 LDFLAGS="${LDFLAGS_save}"
3367 CPPFLAGS="${CPPFLAGS_save}"
3372 dnl twolame encoder plugin
3374 AC_ARG_ENABLE(twolame,
3375 [ --enable-twolame twolame codec (default disabled)])
3376 if test "${enable_twolame}" = "yes"
3378 AC_ARG_WITH(twolame-tree,
3379 [ --with-twolame-tree=PATH twolame tree for static linking])
3380 if test -n "${with_twolame_tree}"
3382 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3383 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3384 if test -z "${real_twolame_tree}"
3386 dnl The given directory can't be found
3388 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3390 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3392 dnl Use a custom twolame
3393 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3394 VLC_ADD_BUILTINS([twolame])
3395 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3396 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3398 dnl The given libtwolame wasn't built
3400 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3403 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3404 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3405 AC_CHECK_HEADERS(twolame.h, ,
3406 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3407 AC_CHECK_LIB(twolame, twolame_init, [
3408 VLC_ADD_PLUGIN([twolame])
3409 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3410 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3411 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3412 LDFLAGS="${LDFLAGS_save}"
3413 CPPFLAGS="${CPPFLAGS_save}"
3418 dnl QuickTime plugin
3420 AC_ARG_ENABLE(quicktime,
3421 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3422 if test "${enable_quicktime}" != "no" &&
3423 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3425 if test "${SYS}" = "mingw32"; then
3426 VLC_ADD_BUILTINS([quicktime])
3428 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3429 [ VLC_ADD_PLUGIN([quicktime])
3430 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3431 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3439 [ --enable-real Real audio module (default disabled)])
3440 if test "${enable_real}" = "yes"; then
3441 VLC_ADD_PLUGIN([realaudio])
3445 dnl Real RTSP plugin
3447 AC_ARG_ENABLE(realrtsp,
3448 [ --enable-realrtsp Real RTSP module (default disabled)])
3449 if test "${enable_realrtsp}" = "yes"; then
3450 VLC_ADD_PLUGIN([access_realrtsp])
3456 AC_CHECK_HEADERS(zlib.h, [
3457 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3460 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3461 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3467 AC_ARG_ENABLE(libtar,
3468 [ --enable-libtar support for skins2 (default enabled)])
3470 AS_IF([test "${enable_libtar}" != "no"],[
3471 AC_CHECK_HEADERS(libtar.h, [
3472 VLC_ADD_LIBS([skins2],[-ltar])
3477 dnl A52/AC3 decoder plugin
3480 [ --enable-a52 A/52 support with liba52 (default enabled)])
3481 if test "${enable_a52}" != "no"
3484 [ --with-a52=PATH a52 headers and libraries])
3485 AC_ARG_WITH(a52-tree,
3486 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3487 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3489 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3490 if test -z "${real_a52_tree}"
3492 dnl The given directory can't be found
3494 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3496 dnl Use a custom a52dec
3497 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3498 if test -f ${real_a52_tree}/include/a52.h
3501 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3502 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3503 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3504 AC_CHECK_LIB(a52, a52_free, [
3505 VLC_ADD_BUILTINS([a52tofloat32])
3506 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3507 VLC_ADD_LIBS([a52tofloat32],[-la52])
3509 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3511 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3513 AC_MSG_ERROR([the specified tree hasn't been compiled])
3516 LDFLAGS="${LDFLAGS_save}"
3519 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3522 if test -z "${with_a52}"
3527 LDFLAGS_test="-L${with_a52}/lib"
3528 CPPFLAGS_test="-I${with_a52}/include"
3530 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3531 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3532 AC_CHECK_HEADERS(a52dec/a52.h, [
3533 AC_CHECK_LIB(a52, a52_free, [
3534 VLC_ADD_PLUGIN([a52tofloat32])
3535 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3536 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3538 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.])
3541 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.])
3543 CPPFLAGS="${CPPFLAGS_save}"
3544 LDFLAGS="${LDFLAGS_save}"
3548 AC_ARG_WITH(a52-fixed,
3549 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3551 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3554 dnl DTS Coherent Acoustics decoder plugin
3556 AS_IF([test "x${enable_dts}" != "x"], [
3557 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3559 AS_IF([test "x${with_dts_tree}" != "x"], [
3560 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3564 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3565 AS_IF([test "${enable_dca}" != "no"], [
3566 AC_ARG_WITH(dca-tree,
3567 [ --with-dca-tree=PATH libdca tree for static linking],,
3568 [with_dca_tree="no"])
3569 AS_IF([test "${with_dca_tree}" != "no"], [
3570 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3571 AS_IF([test -z "${real_dca_tree}"], [
3572 dnl The given directory can't be found
3574 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3576 dnl Use a custom libdca
3577 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3578 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3580 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3581 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3582 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3584 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3588 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3591 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3592 VLC_ADD_PLUGIN([dtstofloat32])
3593 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3594 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3596 AS_IF([test "x${enable_dca}" != "x"], [
3597 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3607 [ --enable-flac libflac decoder/encoder support (default disabled)])
3608 if test "${enable_flac}" = "yes"
3610 AC_ARG_WITH(flac-tree,
3611 [ --with-flac-tree=PATH flac tree for static linking])
3612 if test -n "${with_flac_tree}"
3614 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3615 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3616 if test -z "${real_flac_tree}"
3618 dnl The given directory can't be found
3620 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3622 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3624 dnl Use a custom flac
3625 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3626 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3627 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3628 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3630 dnl The given flac wasn't built
3632 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3635 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3636 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3644 AC_ARG_ENABLE(libmpeg2,
3645 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3646 if test "${enable_libmpeg2}" != "no"
3648 AC_ARG_WITH(libmpeg2-tree,
3649 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3650 if test -n "${with_libmpeg2_tree}"
3652 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3653 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3654 if test -z "${real_libmpeg2_tree}"
3656 dnl The given directory can't be found
3658 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3660 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3662 dnl Use a custom libmpeg2
3663 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3664 VLC_ADD_BUILTINS([libmpeg2])
3665 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3666 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3667 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3669 dnl The given libmpeg2 wasn't built
3671 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3674 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3675 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3677 [#include <mpeg2dec/mpeg2.h>
3678 #ifdef MPEG2_RELEASE
3679 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3683 [AC_MSG_RESULT([yes])
3684 VLC_ADD_PLUGIN([libmpeg2])
3685 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3686 [AC_MSG_RESULT([no])
3687 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.])])],
3689 [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.])]
3697 AC_ARG_ENABLE(vorbis,
3698 [ --enable-vorbis Vorbis decoder support (default enabled)])
3699 if test "${enable_vorbis}" != "no"
3701 AC_ARG_WITH(vorbis-tree,
3702 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3703 if test -n "${with_vorbis_tree}"
3705 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3706 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3707 if test -z "${real_vorbis_tree}"
3709 dnl The given directory can't be found
3711 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3713 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3715 dnl Use a custom vorbis
3716 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3717 VLC_ADD_PLUGIN([vorbis])
3718 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3719 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3721 dnl The given vorbis wasn't built
3723 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3726 AC_CHECK_HEADERS(vorbis/codec.h, [
3727 VLC_ADD_PLUGIN([vorbis])
3728 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3730 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3731 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3738 AC_ARG_ENABLE(tremor,
3739 [ --enable-tremor Tremor decoder support (default disabled)])
3740 if test "${enable_tremor}" = "yes"
3742 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3743 VLC_ADD_PLUGIN([tremor])
3744 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3751 AC_ARG_ENABLE(speex,
3752 [ --enable-speex Speex decoder support (default enabled)])
3753 if test "${enable_speex}" != "no"
3755 AC_ARG_WITH(speex-tree,
3756 [ --with-speex-tree=PATH speex tree for static linking])
3757 if test -n "${with_speex_tree}"
3759 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3760 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3761 if test -z "${real_speex_tree}"
3763 dnl The given directory can't be found
3765 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3767 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3769 dnl Use a custom speex
3770 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3771 VLC_ADD_PLUGIN([speex])
3772 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3773 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3775 dnl The given speex wasn't built
3777 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3780 AC_CHECK_HEADERS(speex/speex.h, [
3781 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3782 AC_CHECK_LIB(speex, speex_decode_int, [
3783 VLC_ADD_PLUGIN([speex])
3784 VLC_ADD_LIBS([speex],[-lspeex]) ],
3785 [ AC_MSG_RESULT([no])
3786 AC_MSG_WARN([Your libspeex is too old, please get the development
3788 LDFLAGS="${LDFLAGS_save}"
3794 dnl tarkin decoder plugin
3796 AC_ARG_ENABLE(tarkin,
3797 [ --enable-tarkin experimental tarkin codec (default disabled)])
3798 if test "${enable_tarkin}" = "yes"
3800 AC_ARG_WITH(tarkin-tree,
3801 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3802 if test -n "${with_tarkin_tree}"
3804 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3805 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3806 if test -f "${real_tarkin_tree}/tarkin.o"
3808 VLC_ADD_BUILTINS([tarkin])
3809 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3810 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])
3813 dnl The given tarkin tree wasn't built
3815 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3816 make sure you compiled tarkin in ${with_tarkin_tree}])
3822 dnl theora decoder plugin
3824 AC_ARG_ENABLE(theora,
3825 [ --enable-theora experimental theora codec (default disabled)])
3826 if test "${enable_theora}" = "yes"
3828 AC_CHECK_HEADERS(theora/theora.h, [
3829 AC_CHECK_LIB(theora, theora_granule_time, [
3830 VLC_ADD_PLUGIN([theora])
3831 theora_libs="-ltheora -logg"
3832 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3833 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3834 You also need to check that you have a libogg posterior to the 1.0 release.])],
3840 dnl dirac decoder plugin
3842 AC_ARG_ENABLE(dirac,
3843 [ --enable-dirac experimental dirac codec (default disabled)])
3844 if test "${enable_dirac}" = "yes"; then
3845 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3846 VLC_ADD_PLUGIN([dirac])
3847 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3848 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3849 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3854 dnl PNG decoder module
3857 [ --enable-png PNG support (default enabled)])
3858 if test "${enable_png}" != "no"; then
3859 AC_CHECK_HEADERS(png.h, [
3860 LDFLAGS="${LDFLAGS_save} -lz"
3861 AC_CHECK_LIB(png, png_set_rows, [
3862 VLC_ADD_LIBS([png],[-lpng -lz])
3863 VLC_ADD_PLUGIN([png])
3864 VLC_ADD_PLUGIN([osdmenu])
3865 VLC_ADD_PLUGIN([osd_parser])
3866 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3868 LDFLAGS="${LDFLAGS_save}"
3871 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3874 dnl H264 encoder plugin (using libx264)
3877 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3878 if test "${enable_x264}" != "no"; then
3879 AC_ARG_WITH(x264-tree,
3880 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3881 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3883 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3884 if test -z "${real_x264_tree}"
3886 dnl The given directory can't be found
3888 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3890 dnl Use a custom libx264
3891 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3892 if test -f ${real_x264_tree}/x264.h
3895 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3896 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3897 PKG_CHECK_MODULES(X264,x264, [
3898 VLC_ADD_PLUGIN([x264])
3899 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3900 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3902 AC_MSG_ERROR([the specified tree hasn't been compiled])
3904 LDFLAGS="${LDFLAGS_save}"
3907 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3910 PKG_CHECK_MODULES(X264,x264, [
3911 VLC_ADD_PLUGIN([x264])
3912 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3913 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3915 if test "${enable_x264}" = "yes"; then
3916 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3919 LDFLAGS="${LDFLAGS_save}"
3924 dnl libfluidsynth (MIDI synthetizer) plugin
3926 AC_ARG_ENABLE(fluidsynth,
3927 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3928 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3929 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3930 VLC_ADD_PLUGIN(fluidsynth)
3931 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3932 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3934 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3935 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3941 dnl Teletext Modules
3942 dnl vbi decoder plugin (using libzbvi)
3947 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3949 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3951 AS_IF( [test "${enable_zvbi}" != "no"],[
3952 AS_IF( [test "${enable_telx}" = "yes"],[
3953 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3955 PKG_CHECK_MODULES(ZVBI,
3958 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3959 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3960 VLC_ADD_PLUGIN([zvbi])
3961 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3963 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3968 AS_IF( [test "${enable_telx}" = "yes"],[
3969 VLC_ADD_PLUGIN([telx])
3973 dnl asa/csri subtitle rendering module
3976 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3977 AS_IF( [test "${enable_csri}" = "yes"], [
3978 PKG_CHECK_MODULES(CSRI,
3981 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3982 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3983 VLC_ADD_PLUGIN([csri])
3985 AC_MSG_WARN([CSRI helper library not found])
3992 AC_ARG_ENABLE(asademux,
3993 [ --enable-asademux asa subtitle demuxing (default disabled)])
3994 AS_IF( [test "${enable_asademux}" = "yes"], [
3995 PKG_CHECK_MODULES(PCRE,
3998 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3999 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
4000 VLC_ADD_PLUGIN([asademux])
4002 AC_MSG_WARN([PCRE library not found (required for asademux)])
4010 [ --enable-cmml CMML support (default enabled)])
4011 if test "${enable_cmml}" != "no"
4013 VLC_ADD_PLUGIN([cmml])
4017 dnl kate decoder plugin
4020 [ --enable-kate kate codec (default enabled)])
4021 AS_IF([test "${enable_kate}" != "no"], [
4022 PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [
4023 VLC_ADD_PLUGIN([kate])
4024 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
4025 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
4026 AC_CHECK_HEADERS(kate/kate.h, [
4027 AC_CHECK_LIB(kate, kate_decode_init, [
4028 VLC_ADD_PLUGIN([kate])
4029 kate_libs="-lkate -logg"
4030 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
4031 AS_IF([test "x${enable_kate}" != "x"], [
4032 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
4033 You also need to check that you have a libogg posterior to the 1.0 release.])
4037 AS_IF([test "x${enable_kate}" != "x"], [
4038 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
4039 You also need to check that you have a libogg posterior to the 1.0 release.])
4050 AC_ARG_WITH(,[Video plugins:])
4053 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
4054 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4055 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4056 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4057 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4059 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4060 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4065 #include <X11/Xlib.h>
4067 CPPFLAGS="${CPPFLAGS_save}"
4072 dnl (enabled by default except on win32)
4075 [ --enable-x11 X11 support (default enabled)])
4076 if test "${enable_x11}" != "no" &&
4077 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4078 test "${enable_x11}" = "yes"); then
4079 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4080 AC_CHECK_HEADERS(X11/Xlib.h, [
4081 VLC_ADD_PLUGIN([panoramix])
4082 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4083 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4084 AC_CHECK_LIB(Xext, XShmAttach, [
4085 VLC_ADD_PLUGIN([x11])
4086 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4087 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4090 CPPFLAGS="${CPPFLAGS_save}"
4095 dnl (enabled by default except on win32)
4097 AC_ARG_ENABLE(xvideo,
4098 [ --enable-xvideo XVideo support (default enabled)])
4099 if test "${enable_xvideo}" != "no" &&
4100 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4101 test "${enable_xvideo}" = "yes"); then
4102 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4103 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4104 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4105 AC_CHECK_LIB(Xv,XvPutImage,[
4106 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
4107 # test for libXv_pic.
4108 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
4109 VLC_ADD_PLUGIN([xvideo])
4110 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4111 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4113 AC_CHECK_LIB(Xv_pic,XvPutImage,[
4114 VLC_ADD_PLUGIN([xvideo])
4115 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4116 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
4118 VLC_ADD_BUILTINS([xvideo])
4119 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4120 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4124 CFLAGS="${CFLAGS_save}"
4126 CPPFLAGS="${CPPFLAGS_save}")
4131 dnl (enabled by default except on win32)
4134 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4135 if test "${enable_glx}" != "no" &&
4136 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4137 test "${enable_glx}" = "yes"); then
4138 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4139 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4140 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4141 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4145 VLC_ADD_PLUGIN([glx])
4146 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4147 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4148 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4149 CPPFLAGS="${CPPFLAGS_save}"
4154 dnl (disabled by default except on win32)
4157 [ --enable-xvmc XVMC support (default disabled)])
4158 if test "${enable_xvmc}" = "yes" &&
4159 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4160 test "${enable_xvmc}" = "yes"); then
4161 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4162 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4163 VLC_ADD_PLUGIN([xvmc])
4164 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4165 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4167 CPPFLAGS="${CPPFLAGS_save}"
4171 dnl Check for the Xinerama extension
4173 AC_ARG_ENABLE(xinerama,
4174 [ --enable-xinerama Xinerama support (default enabled)])
4175 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4176 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4177 test "${enable_xvideo}" = "yes"); then
4178 ac_cv_have_xinerama="no"
4179 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4180 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4181 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4182 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4183 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4184 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4185 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4186 ac_cv_have_xinerama="yes"
4188 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4189 VLC_ADD_LIBS([xvideo],[-lXinerama])
4190 VLC_ADD_LIBS([x11],[-lXinerama])
4191 VLC_ADD_LIBS([glx],[-lXinerama])
4192 ac_cv_have_xinerama="yes"
4196 if test "${ac_cv_have_xinerama}" = "yes"; then
4197 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4199 CFLAGS="${CFLAGS_save}"
4200 CPPFLAGS="${CPPFLAGS_save}"
4203 dnl Check for XF86VidMode extension
4205 ac_cv_have_xf86vidmode="no"
4206 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4207 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4208 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4209 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4210 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4211 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4212 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4213 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4214 ac_cv_have_xf86vidmode="yes"
4216 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4217 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4218 VLC_ADD_LIBS([x11],[-lXxf86vm])
4219 VLC_ADD_LIBS([glx],[-lXxf86vm])
4220 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4221 ac_cv_have_xf86vidmode="yes"
4225 [#ifdef HAVE_X11_XLIB_H
4226 # include <X11/Xlib.h>
4229 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4230 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4232 CFLAGS="${CFLAGS_save}"
4233 CPPFLAGS="${CPPFLAGS_save}"
4239 dnl (enabled by default except on beos)
4241 AC_ARG_ENABLE(opengl,
4242 [ --enable-opengl OpenGL support (default enabled)])
4243 if test "${enable_opengl}" != "no" &&
4244 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4245 if test "${SYS}" != "darwin"; then
4246 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4247 VLC_ADD_PLUGIN([opengl])
4248 if test "${SYS}" != "mingw32"; then
4249 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4251 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4255 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4256 VLC_ADD_PLUGIN([opengl])
4257 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4265 [ --enable-sdl SDL support (default enabled)])
4266 AC_ARG_ENABLE(sdl-image,
4267 [ --enable-sdl-image SDL image support (default enabled)])
4268 if test "${enable_sdl}" != "no"
4271 AC_ARG_WITH(sdl-config-path,
4272 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4273 [ if test "${with_sdl_config_path}" != "no"
4275 SDL_PATH="${with_sdl_config_path}:${PATH}"
4277 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4278 SDL_CONFIG="${SDL12_CONFIG}"
4279 SDL_HEADER="SDL12/SDL.h"
4280 SDL_IMAGE="SDL12/SDL_image.h"
4281 if test "${SDL_CONFIG}" = "no"
4283 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4284 SDL_CONFIG=${SDL11_CONFIG}
4285 SDL_HEADER="SDL11/SDL.h"
4286 SDL_IMAGE="SDL11/SDL_image.h"
4288 if test "${SDL_CONFIG}" = "no"
4290 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4291 SDL_HEADER="SDL/SDL.h"
4292 SDL_IMAGE="SDL/SDL_image.h"
4294 # check for cross-compiling
4296 AC_ARG_WITH(sdl-prefix,
4297 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4299 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4300 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4302 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4304 if test "${SDL_CONFIG}" != "no"
4306 # SDL on Darwin is heavily patched and can only run SDL_image
4307 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4308 VLC_ADD_PLUGIN([vout_sdl])
4309 VLC_ADD_PLUGIN([aout_sdl])
4311 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4312 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4313 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4314 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4315 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4316 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4317 As a last resort we also test for SDL.h presence),
4318 [ AC_MSG_ERROR([The development package for SDL is not installed.
4319 Please install it and try again. Alternatively you can also configure with
4322 AS_IF([ test "${enable_sdl_image}" != "no"],[
4323 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4324 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4325 VLC_ADD_PLUGIN([sdl_image])
4326 AC_CHECK_LIB(png, png_set_rows,
4327 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4328 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4329 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4330 AC_CHECK_LIB(tiff, TIFFClientOpen,
4331 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4332 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4333 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4334 As a last resort we also test for SDL_image.h presence),
4335 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4336 You should install it alongside your SDL package.])
4339 CPPFLAGS="${CPPFLAGS_save}"
4340 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4342 AC_MSG_ERROR([The development package for SDL is not installed.
4343 Please install it and try again. Alternatively you can also configure with
4347 elif test "${enable_sdl}" = "yes"
4349 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4350 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4358 AC_ARG_ENABLE(freetype,
4359 [ --enable-freetype freetype support (default enabled)])
4360 AC_ARG_ENABLE(fribidi,
4361 [ --enable-fribidi fribidi support (default enabled)])
4362 if test "${enable_freetype}" != "no"
4364 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4365 VLC_ADD_PLUGIN([freetype])
4367 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4368 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4369 if test "${SYS}" = "mingw32"; then
4370 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4372 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4373 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4374 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4375 AC_CHECK_HEADERS(Carbon/Carbon.h,
4376 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4379 AS_IF([ test "${enable_freetype}" = "yes"],[
4380 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4381 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4387 if test "${enable_fribidi}" != "no"
4389 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4390 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4391 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4399 AC_ARG_ENABLE(libxml2,
4400 [ --enable-libxml2 libxml2 support (default enabled)])
4401 if test "${enable_libxml2}" != "no"
4404 AC_ARG_WITH(xml2-config-path,
4405 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4406 [ if test "${with_xml2_config_path}" != "no"; then
4407 XML2_PATH="${with_xml2_config_path}:${PATH}"
4409 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4410 if test "${XML2_CONFIG}" != "no"; then
4411 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4412 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4413 dnl depends on the xmlTextReader extension
4414 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4415 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4416 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4417 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4418 VLC_ADD_PLUGIN([xml]) ],[
4419 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4420 if test "${enable_xml2}" = "yes"; then
4421 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4424 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4425 if test "${enable_xml2}" = "yes"; then
4426 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4428 LDFLAGS="${LDFLAGS_save}"
4429 CPPFLAGS="${CPPFLAGS_save}"
4431 if test "${enable_xml2}" = "yes"; then
4432 AC_MSG_ERROR([Could not find libxml2])
4441 [ --enable-svg SVG support (default disabled)])
4442 if test "${enable_svg}" = "yes"
4444 PKG_CHECK_MODULES(SVG,
4445 librsvg-2.0 >= 2.9.0,
4447 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4448 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4449 VLC_ADD_PLUGIN([svg]) ],
4450 [AC_MSG_WARN(SVG library not found)])
4454 dnl Snapshot vout module (with cache)
4456 AC_ARG_ENABLE(snapshot,
4457 [ --enable-snapshot snapshot module (default disabled)])
4458 if test "${enable_snapshot}" = "yes"
4460 VLC_ADD_PLUGIN([snapshot])
4464 dnl Qt Embedded module
4465 dnl (disabled by default)
4468 [ --enable-qte QT Embedded support (default disabled)])
4469 if test "${enable_qte}" = "yes"
4472 [ --with-qte=PATH Qt Embedded headers and libraries])
4473 if test "${with_qte}" != "no" -a -n "${with_qte}"
4475 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4476 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])
4478 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4479 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4481 VLC_ADD_PLUGIN([qte])
4483 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4484 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4485 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4487 CPPFLAGS="${CPPFLAGS_save}"
4491 dnl Qt Video output module
4492 dnl (disabled by default)
4494 dnl AC_ARG_ENABLE(qt_video,
4495 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4496 dnl if test "${enable_qt_video}" = "yes"
4498 dnl VLC_ADD_PLUGIN([qt_video])
4499 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4500 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4501 dnl AC_CHECK_LIB(qt-mt,main,[
4502 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4504 dnl AC_CHECK_LIB(qt,main,[
4505 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4508 dnl NEED_QTE_MAIN=yes
4509 dnl LDFLAGS="${LDFLAGS_save}"
4510 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4514 dnl Roku HD1000 Video output module
4516 AC_ARG_ENABLE(hd1000v,
4517 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4518 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4519 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4520 test "${enable_hd1000v}" = "yes"); then
4522 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4524 can_build_roku="yes"
4528 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4530 if test "$can_build_roku" = "yes"
4532 VLC_ADD_PLUGIN([hd1000v])
4533 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4539 dnl Windows DirectX module
4542 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4544 VLC_ADD_PLUGIN([panoramix])
4547 AC_ARG_ENABLE(directx,
4548 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4549 if test "${enable_directx}" != "no"
4551 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4553 AC_ARG_WITH(directx,
4554 [ --with-directx=PATH Win32 DirectX headers])
4555 if test -z "${with_directx}"
4557 AC_CHECK_HEADERS(ddraw.h,
4558 [ VLC_ADD_PLUGIN([vout_directx])
4559 VLC_ADD_PLUGIN([aout_directx])
4560 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4562 AC_CHECK_HEADERS(GL/gl.h,
4563 [ VLC_ADD_PLUGIN([glwin32])
4564 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4566 AC_CHECK_HEADERS(d3d9.h,
4567 [ VLC_ADD_PLUGIN([direct3d])
4568 VLC_ADD_LIBS([direct3d],[-lgdi32])
4571 AC_MSG_CHECKING(for directX headers in ${with_directx})
4572 if test -f ${with_directx}/ddraw.h
4574 VLC_ADD_PLUGIN([vout_directx])
4575 VLC_ADD_PLUGIN([aout_directx])
4576 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4577 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4581 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4588 dnl Linux framebuffer module
4591 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4592 if test "${enable_fb}" != "no"
4594 AC_CHECK_HEADERS(linux/fb.h, [
4595 VLC_ADD_PLUGIN([fb])
4600 dnl Linux MGA module
4603 [ --enable-mga Linux kernel Matrox support (default disabled)],
4604 [ if test "${enable_mga}" = "yes"
4606 VLC_ADD_PLUGIN([mga])
4612 AC_ARG_ENABLE(svgalib,
4613 [ --enable-svgalib SVGAlib support (default disabled)])
4614 if test "${enable_svgalib}" = "yes"
4616 VLC_ADD_PLUGIN([svgalib])
4617 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4622 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4623 dnl TODO: support for static linking
4625 AC_ARG_ENABLE(directfb,
4626 [ --enable-directfb DirectFB support (default disabled)])
4627 AC_ARG_WITH(directfb,
4628 [ --with-directfb=PATH path to DirectFB headers and libraries])
4630 if test "${enable_directfb}" = "yes"; then
4631 have_directfb="false"
4632 CPPFLAGS_mydirectfb=
4634 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4635 dnl Trying the given location
4636 CPPFLAGS_save="${CPPFLAGS}"
4639 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4640 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4641 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4643 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4644 LIBS="${LIBS} ${LIBS_new}"
4646 dnl FIXME: too obscure
4647 AC_CHECK_HEADER([directfb.h], [
4648 AC_CHECK_LIB([direct],[direct_initialize], [
4649 AC_CHECK_LIB([fusion], [fusion_enter], [
4650 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4651 ], have_directfb="false")
4652 ], have_directfb="false")
4653 ], have_directfb="false")
4656 CPPFLAGS="${CPPFLAGS_save}"
4659 if test "${have_directfb}" = "true"; then
4660 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4661 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4664 dnl Look for directfb-config
4665 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4666 if test "${DIRECTFB_CONFIG}" != "no"; then
4667 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4668 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4669 have_directfb="true"
4671 dnl Trying with pkg-config
4672 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4673 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4674 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4675 have_directfb="true"
4676 ], [have_directfb="false"])
4679 if test "${have_directfb}" = "true"; then
4680 VLC_ADD_PLUGIN([directfb])
4681 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4682 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4684 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4694 [ --enable-ggi GGI support (default disabled)])
4695 if test "${enable_ggi}" = "yes"
4697 VLC_ADD_PLUGIN([ggi])
4698 VLC_ADD_LIBS([ggi],[-lggi])
4700 [ --with-ggi=PATH path to libggi],
4701 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4703 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4704 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4711 AC_ARG_ENABLE(glide,
4712 [ --enable-glide Glide (3dfx) support (default disabled)])
4713 if test "${enable_glide}" = "yes"
4715 CFLAGS_save="${CFLAGS}"
4717 [ --with-glide=PATH path to libglide],
4718 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4720 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4721 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4722 CFLAGS="$CFLAGS -I${with_glide}/include"
4724 CFLAGS="$CFLAGS -I/usr/include/glide"
4725 AC_CHECK_HEADER(glide.h,[
4726 VLC_ADD_PLUGIN([glide])
4727 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4728 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4730 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4732 CFLAGS="${CFLAGS_save}"
4739 [ --enable-aa aalib output (default disabled)])
4740 if test "${enable_aa}" = "yes"
4742 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4743 if test "${have_aa}" = "true"
4745 VLC_ADD_PLUGIN([aa])
4746 VLC_ADD_LIBS([aa],[-laa])
4754 [ --enable-caca libcaca output (default disabled)])
4755 if test "${enable_caca}" = "yes"
4758 AC_ARG_WITH(caca-config-path,
4759 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4760 [ if test "${with_caca_config_path}" != "no"
4762 CACA_PATH="${with_caca_config_path}:${PATH}"
4764 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4765 if test "${CACA_CONFIG}" != "no"
4767 VLC_ADD_PLUGIN([caca])
4768 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4769 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4770 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4775 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4781 dnl win32 GDI plugin
4783 AC_ARG_ENABLE(wingdi,
4784 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4785 if test "${enable_wingdi}" != "no"; then
4786 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4787 VLC_ADD_PLUGIN([wingdi])
4788 VLC_ADD_LIBS([wingdi],[-lgdi32])
4790 if test "${SYS}" = "mingwce"; then
4791 VLC_ADD_PLUGIN([wingdi])
4792 VLC_ADD_PLUGIN([wingapi])
4800 AC_ARG_WITH(,[Audio plugins:])
4803 dnl OSS /dev/dsp module (enabled by default except on win32)
4806 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4808 if test "${enable_oss}" != "no" &&
4809 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4810 test "${enable_oss}" = "yes")
4812 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4813 VLC_ADD_PLUGIN([oss])
4814 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4822 [ --enable-esd Esound library support (default disabled)],
4823 [if test "${enable_esd}" = "yes"
4825 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4826 if test "${ESD_CONFIG}" != "no"
4828 VLC_ADD_PLUGIN([esd])
4829 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4830 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4835 dnl Pulseaudio module
4837 AC_ARG_ENABLE(pulse,
4838 [ --enable-pulse Pulseaudio support (default enabled)])
4839 if test "${enable_pulse}" != "no"
4841 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4842 [ VLC_ADD_PLUGIN([pulse])
4843 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4844 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4845 [AC_MSG_WARN(pulsaudio library not found)])
4849 dnl Portaudio module
4851 AC_ARG_ENABLE(portaudio,
4852 [ --enable-portaudio Portaudio library support (default disabled)],
4853 [if test "${enable_portaudio}" = "yes"
4855 VLC_ADD_PLUGIN([portaudio])
4856 VLC_ADD_CXXFLAGS([portaudio],[])
4857 if test "${SYS}" = "mingw32"; then
4858 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4860 VLC_ADD_LIBS([portaudio],[-lportaudio])
4865 dnl aRts module -- broken (freeze wxWidgets)
4868 [ --enable-arts aRts sound server (default disabled)],
4869 [if test "${enable_arts}" = "yes"
4871 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4872 if test "${ARTS_CONFIG}" != "no"
4874 VLC_ADD_PLUGIN([arts])
4875 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4876 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4884 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4885 if test "${enable_alsa}" != "no"
4887 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4888 if test "${have_alsa}" = "true"
4890 CFLAGS="${CFLAGS_save}"
4891 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4892 #define ALSA_PCM_NEW_SW_PARAMS_API
4893 #include <alsa/asoundlib.h>],
4894 [snd_pcm_hw_params_get_period_time(0,0,0);],
4895 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4896 VLC_ADD_PLUGIN([alsa])
4897 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4899 if test "${enable_alsa}" = "yes"; then
4900 AC_MSG_ERROR([Could not find ALSA development headers])
4906 dnl win32 waveOut plugin
4908 AC_ARG_ENABLE(waveout,
4909 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4910 if test "${enable_waveout}" != "no"; then
4911 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4912 VLC_ADD_PLUGIN([waveout])
4913 VLC_ADD_LIBS([waveout],[-lwinmm])
4915 if test "${SYS}" = "mingwce"; then
4916 VLC_ADD_PLUGIN([waveout])
4921 dnl CoreAudio plugin
4923 AC_ARG_ENABLE(macosx-audio,
4924 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4925 if test "${enable_macosx-audio}" != "no" &&
4926 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4928 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4929 [ VLC_ADD_PLUGIN([auhal])
4930 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4931 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4935 dnl Roku HD1000 audio
4937 AC_ARG_ENABLE(hd1000a,
4938 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4939 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4940 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4941 test "${enable_hd1000a}" = "yes")
4944 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4945 VLC_ADD_PLUGIN([hd1000a])
4946 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4954 [ --enable-jack JACK audio I/O modules (default disabled)],,
4957 AS_IF([test "${enable_jack}" != "no"], [
4958 AC_CHECK_HEADERS(jack/jack.h, [
4959 VLC_ADD_PLUGIN([access_jack])
4960 VLC_ADD_PLUGIN([jack])
4961 VLC_ADD_LIBS([access_jack jack],[-ljack])
4962 ],[AC_MSG_ERROR([cannot find JACK headers])])
4966 dnl CyberLink for C++ UPnP stack
4968 AC_ARG_ENABLE(cyberlink,
4969 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4970 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4971 AC_ARG_WITH(cyberlink-tree,
4972 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4975 dnl test for --with-cyberlink-tree
4977 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4979 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4980 AS_IF([test -z "${real_cyberlink_tree}"], [
4981 dnl The given directory can't be found
4983 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4985 CPPFLAGS_save="${CPPFLAGS}"
4986 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4987 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4988 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4989 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4990 VLC_ADD_PLUGIN([upnp_cc])
4992 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4994 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4995 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4996 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4997 dnl The mere fact that we have to make such an ugly check sucks
4998 AC_MSG_CHECKING(for XML parser to link CyberLink with)
5001 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
5002 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
5003 AC_LINK_IFELSE([AC_LANG_PROGRAM([
5004 #include <cybergarage/upnp/media/player/MediaPlayer.h>
5005 using namespace CyberLink;
5007 class testclass : public SearchResponseListener, public MediaPlayer
5009 virtual void deviceSearchResponseReceived( SSDPPacket *)
5016 addSearchResponseListener (this);
5020 ],[testclass l;])],[LIBS_cclink="$l"])
5023 dnl should not happen - otherwise this needs fixing - hence FAILURE
5024 AS_IF([test "${LIBS_cclink}" = "no"],
5025 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
5026 AC_MSG_RESULT([${LIBS_cclink}])
5027 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
5030 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
5032 CPPFLAGS="${CPPFLAGS_save}"
5038 dnl UPnP Plugin (Intel SDK)
5041 [ --enable-upnp Intel UPnP SDK (default enabled)])
5043 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
5044 AS_IF([test "x${enable_upnp}" != "xno"], [
5045 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
5046 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
5047 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
5049 AS_IF([test "${has_upnp}" = "yes"], [
5050 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
5056 AS_IF([test "${has_upnp}" = "yes"], [
5057 VLC_ADD_PLUGIN([upnp_intel])
5062 dnl Interface plugins
5065 AC_ARG_WITH(,[Interface plugins:])
5067 dnl special case for BeOS
5068 if test "${SYS}" = "beos"
5070 VLC_ADD_BUILTINS([beos])
5076 AC_ARG_ENABLE(skins2,
5077 [ --enable-skins2 Skins2 interface module (default disabled)])
5078 if test "${enable_skins2}" = "yes" ||
5079 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
5080 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
5082 dnl test for the required libraries
5083 skins2_missing_lib="no"
5086 if test "${have_freetype}" != "yes"; then
5087 skins2_missing_lib="yes"
5088 if test "${enable_skins2}" = "yes"; then
5089 AC_MSG_ERROR([Could not find freetype (required for skins2)])
5093 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
5094 VLC_ADD_PLUGIN([skins2])
5095 ALIASES="${ALIASES} svlc"
5096 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
5097 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5098 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
5100 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
5101 VLC_ADD_PLUGIN([skins2])
5102 ALIASES="${ALIASES} svlc"
5103 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
5104 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5105 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
5107 else if test "${skins2_missing_lib}" = "no"; then
5108 VLC_ADD_PLUGIN([skins2])
5109 ALIASES="${ALIASES} svlc"
5110 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
5111 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5112 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
5115 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
5120 dnl AC_ARG_ENABLE(gtk,
5121 dnl [ --enable-gtk Gtk+ support (default enabled)])
5122 dnl if test "${enable_gtk}" != "no"
5124 dnl GTK_PATH="${PATH}"
5125 dnl AC_ARG_WITH(gtk-config-path,
5126 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
5127 dnl [ if test "${with_gtk_config_path}" != "no"
5129 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
5131 dnl # look for gtk-config
5132 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
5133 dnl GTK_CONFIG=${GTK12_CONFIG}
5134 dnl if test "${GTK_CONFIG}" = "no"
5136 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
5138 dnl if test "${GTK_CONFIG}" != "no"
5140 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
5142 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.])
5144 dnl if test "${SYS}" != "mingw32"; then
5145 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
5146 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
5148 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5149 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5151 dnl # now look for the gtk.h header
5152 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5153 dnl ac_cv_gtk_headers=yes
5154 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5155 dnl ac_cv_gtk_headers=no
5156 dnl echo "Cannot find gtk development headers."
5158 dnl if test "${ac_cv_gtk_headers}" = "yes"
5160 dnl VLC_ADD_PLUGIN([gtk])
5161 dnl if test "${SYS}" != "mingw32"; then
5162 dnl NEED_GTK_MAIN=yes
5164 dnl ALIASES="${ALIASES} gvlc"
5166 dnl CPPFLAGS="${CPPFLAGS_save}"
5171 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5173 dnl AC_ARG_ENABLE(gtk2,
5174 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5175 dnl if test "${enable_gtk2}" = "yes"
5177 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5178 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5179 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5180 dnl VLC_ADD_PLUGIN([gtk2])
5181 dnl if test "${SYS}" != "mingw32"; then
5182 dnl NEED_GTK2_MAIN=yes
5187 dnl PDA Gtk+2 module
5190 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5191 if test "${enable_pda}" = "yes"
5193 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5194 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5195 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5196 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5197 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5198 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5199 VLC_ADD_PLUGIN([pda])
5200 if test "${SYS}" != "mingw32"; then
5204 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5207 dnl dnl Gnome module
5209 dnl AC_ARG_ENABLE(gnome,
5210 dnl [ --enable-gnome Gnome interface support (default disabled)],
5211 dnl [if test "${enable_gnome}" = "yes"; then
5212 dnl # look for gnome-config
5213 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5214 dnl if test -x ${GNOME_CONFIG}
5216 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5217 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5219 dnl # now look for the gnome.h header
5220 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5221 dnl AC_CHECK_HEADERS(gnome.h, [
5222 dnl VLC_ADD_PLUGIN([gnome])
5223 dnl NEED_GTK_MAIN=yes
5224 dnl NEED_GNOME_MAIN=yes
5225 dnl ALIASES="${ALIASES} gnome-vlc"
5226 dnl dnl We need this because of some moronic gnomesupport.h flavours
5227 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5228 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5229 dnl AC_MSG_RESULT(yes)
5230 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5231 dnl Define if <gnome.h> defines strndup.)],[
5232 dnl AC_MSG_RESULT(no)])
5234 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5235 dnl developement tools or remove the --enable-gnome option])
5237 dnl CPPFLAGS="${CPPFLAGS_save}"
5241 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5243 dnl AC_ARG_ENABLE(gnome2,
5244 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5245 dnl if test "${enable_gnome2}" = "yes"
5247 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5248 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5249 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5250 dnl VLC_ADD_PLUGIN([gnome2])
5251 dnl if test "${SYS}" != "mingw32"; then
5252 dnl NEED_GNOME2_MAIN=yes
5257 dnl wxWidgets module
5259 AC_ARG_ENABLE(wxwidgets,
5260 [ --enable-wxwidgets wxWidgets support (default disabled)])
5262 if test "${enable_wxwidgets}" = "yes"
5264 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5265 WXWIDGETS_PATH="${PATH}"
5266 AC_ARG_WITH(wx-config-path,
5267 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5268 [ if test "${with_wx_config_path}" != "no"
5270 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5272 WXWIDGETS_NAME="wx-config"
5273 AC_ARG_WITH(wx-config,
5274 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5275 [ if test "${with_wx_config}" != "no"
5277 WXWIDGETS_NAME="${with_wx_config}"
5279 # look for wx-config
5280 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5281 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5283 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5285 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5289 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5290 # into a warning. However better would be to fix playlist.cpp
5291 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5292 [ac_cv_cxx_fpermissive],
5293 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5294 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5295 ac_cv_cxx_fpermissive=no)])
5296 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5297 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5299 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5300 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5301 # check if we must link against gtk2 libs
5302 # if __WXGTK20__ && __WXGTK__ are defined
5303 # for modules/gui/wxwidgets/video.cpp
5304 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5307 #error ok, we need to link against gtk2
5309 ])],[WXGTK=no],[WXGTK=yes])
5310 if test "$WXGTK" = "yes"; then
5311 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5313 if ${WX_CONFIG} --unicode
5315 # wxwidgets should provide the following flags but does not
5316 # the following is required to compile for win32
5317 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5319 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5321 if test "$have_libcdio" = "yes"
5323 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5324 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5326 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5329 if test "$have_libvcdinfo" = "yes"
5331 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5332 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5334 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5337 # now look for the wxprec.h header
5338 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5339 ac_cv_wx_headers=yes
5340 AC_CHECK_HEADERS(wx/wxprec.h, , [
5342 echo "Cannot find wxWidgets development headers."
5344 if test "${ac_cv_wx_headers}" = "yes"
5346 VLC_ADD_PLUGIN([wxwidgets])
5347 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5348 ALIASES="${ALIASES} wxvlc"
5350 CPPFLAGS="${CPPFLAGS_save}"
5353 dnl WxWidgets plugin will yield incorrect code without this
5354 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5362 [ --enable-qt4 QT 4 support (default enabled) ])
5363 AS_IF([test "${enable_qt4}" != "no" &&
5364 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5365 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5366 [ VLC_ADD_PLUGIN([qt4])
5367 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5368 ALIASES="${ALIASES} qvlc"
5370 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5371 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5373 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5375 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5376 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5377 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5378 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5380 AS_IF([test "${enable_qt4}" = "yes"],[
5381 AC_MSG_ERROR(QT4 library not found)
5383 AC_MSG_WARN(QT4 library not found)
5387 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5390 dnl WinCE GUI module
5392 AC_ARG_ENABLE(wince,
5393 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5394 if test "${enable_wince}" != "no"; then
5395 if test "${SYS}" = "mingwce"; then
5396 VLC_ADD_BUILTINS([wince])
5397 VLC_ADD_CXXFLAGS([wince],[])
5398 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5400 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5401 elif test "${SYS}" = "mingw32"; then
5402 VLC_ADD_CXXFLAGS([wince],[])
5403 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5405 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5410 dnl Simple test for skins2 dependency
5412 if test "${enable_skins2}" != "no"
5414 if test "${WX_CONFIG}" = "no"
5416 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.])
5423 dnl AC_ARG_ENABLE(qt,
5424 dnl [ --enable-qt Qt interface support (default disabled)],
5425 dnl [if test "${enable_qt}" = "yes"; then
5426 dnl VLC_ADD_PLUGIN([qt])
5427 dnl ALIASES="${ALIASES} qvlc"
5428 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5429 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5430 dnl AC_CHECK_LIB(qt-mt,main,[
5431 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5433 dnl AC_CHECK_LIB(qt,main,[
5434 dnl VLC_ADD_LIBS([qt],[-lqt])
5437 dnl LDFLAGS="${LDFLAGS_save}"
5438 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5439 dnl if test -x ${QTDIR}/bin/moc
5441 dnl MOC=${QTDIR}/bin/moc
5450 dnl AC_ARG_ENABLE(kde,
5451 dnl [ --enable-kde KDE interface support (default disabled)],
5452 dnl [if test "${enable_kde}" = "yes"; then
5453 dnl VLC_ADD_PLUGIN([kde])
5454 dnl ALIASES="${ALIASES} kvlc"
5455 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5456 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5457 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5458 dnl AC_CHECK_LIB(kfile,main,[
5459 dnl VLC_ADD_LIBS([kde],[-lkfile])
5461 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5462 dnl AC_CHECK_LIB(kdeui,main,[
5463 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5465 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5466 dnl AC_CHECK_LIB(kio,main,[
5467 dnl VLC_ADD_LIBS([kde],[-lkio])
5469 dnl LDFLAGS="${LDFLAGS_save}"
5470 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5471 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5472 dnl if test -x ${QTDIR}/bin/moc
5474 dnl MOC=${QTDIR}/bin/moc
5481 dnl Opie QT embedded module
5484 [ --enable-opie Qt embedded interface support (default disabled)],
5485 [if test "${enable_opie}" = "yes"; then
5487 [ --with-qte=PATH Qt Embedded headers and libraries])
5488 if test "${with_qte}" != "no" -a -n "${with_qte}"
5490 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5491 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])
5493 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5494 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5496 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5497 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5498 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5500 CPPFLAGS="${CPPFLAGS_save}"
5502 VLC_ADD_PLUGIN([opie])
5504 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5505 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5506 if test "${with_qte}" != "no" -a -n "${with_qte}"
5508 MOC=${with_qte}/bin/moc
5510 MOC=${QTDIR}/bin/moc
5515 dnl MacOS X video output/gui modules
5517 AC_ARG_ENABLE(macosx,
5518 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5519 if test "x${enable_macosx}" = "xyes"
5521 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5522 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5523 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5524 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5525 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5526 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5527 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5528 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5529 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5530 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5531 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5533 # VLC_ADD_PLUGIN([access_eyetv])
5534 VLC_ADD_PLUGIN([macosx])
5535 VLC_ADD_PLUGIN([minimal_macosx])
5538 CFLAGS="$CFLAGS -x objective-c"
5539 AC_CHECK_HEADER(QuartzCore/CALayer.h,
5540 [VLC_ADD_PLUGIN([opengllayer])
5541 VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
5549 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5550 if test "${enable_qnx}" != "no"
5552 AC_CHECK_HEADERS(Ph.h, [
5553 VLC_ADD_PLUGIN([qnx])
5554 VLC_ADD_LIBS([qnx],[-lasound -lph])
5561 AC_ARG_ENABLE(ncurses,
5562 [ --disable-ncurses ncurses interface support (default enabled)],
5563 [if test "${enable_ncurses}" != "no"; then
5564 AC_CHECK_HEADER(ncurses.h,
5565 [AC_CHECK_LIB(ncursesw, mvprintw,
5566 [VLC_ADD_PLUGIN([ncurses])
5567 VLC_ADD_LIBS([ncurses],[-lncursesw])
5568 ALIASES="${ALIASES} nvlc"
5569 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5570 AC_CHECK_LIB(ncursesw, tgetent, [],
5571 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5572 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5573 [AS_IF([test "x${enable_ncurses}" != "x"],
5574 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5580 [AC_CHECK_LIB( ncurses, mvprintw,
5581 [VLC_ADD_PLUGIN([ncurses])
5582 ALIASES="${ALIASES} nvlc"
5583 VLC_ADD_LIBS([ncurses],[-lncurses])
5584 AC_CHECK_LIB(ncurses, tgetent, [],
5585 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5586 [AS_IF([test "x${enable_ncurses}" != "x"],
5587 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5590 [AS_IF([test "x${enable_ncurses}" != "x"], [
5591 AC_MSG_ERROR([libncurses not found])])]
5602 [ --enable-xosd xosd interface support (default disabled)])
5603 if test "${enable_xosd}" = "yes"
5605 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5606 AC_CHECK_LIB(xosd,xosd_set_offset,
5607 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5608 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5609 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5610 AC_TRY_COMPILE([#include <xosd.h>],
5611 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5612 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5613 if test "${have_xosd}" = "true"
5615 VLC_ADD_PLUGIN([xosd])
5616 VLC_ADD_LIBS([xosd],[-lxosd])
5621 dnl Framebuffer (overlay) plugin
5623 AC_ARG_ENABLE(fbosd,
5624 [ --enable-fbosd fbosd interface support (default disabled)])
5625 if test "${enable_fbosd}" = "yes"
5627 AC_CHECK_HEADERS(linux/fb.h, [
5628 VLC_ADD_PLUGIN([fbosd])
5633 dnl Visualisation plugin
5635 AC_ARG_ENABLE(visual,
5636 [ --enable-visual visualisation plugin (default enabled)])
5637 if test "${enable_visual}" != "no"
5639 VLC_ADD_PLUGIN([visual])
5643 dnl OpenGL visualisation plugin
5645 AC_ARG_ENABLE(galaktos,
5646 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5647 if test "${enable_galaktos}" = "yes"
5649 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5650 VLC_ADD_PLUGIN([galaktos])
5651 if test "${SYS}" != "mingw32"; then
5652 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5654 VLC_ADD_LIBS([galaktos],[-lopengl32])
5660 dnl goom visualization plugin
5663 [ --enable-goom goom visualisation plugin (default disabled)])
5664 if test "${enable_goom}" = "yes"
5666 AC_ARG_WITH(goom-tree,
5667 [ --with-goom-tree=PATH goom tree for static linking (required)])
5670 dnl test for --with-goom-tree
5672 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5673 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5674 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5675 if test -z "${real_goom_tree}"; then
5676 dnl The given directory can't be found
5678 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5680 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5681 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5682 VLC_ADD_PLUGIN([goom])
5683 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5684 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5686 dnl The given libgoom2 wasn't built, try to look for the old goom
5688 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5689 if test -f "${real_goom_tree}/libgoom.a"; then
5690 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5691 VLC_ADD_PLUGIN([goom])
5692 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5693 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5695 dnl The given libgoom wasn't built
5697 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5701 AC_CHECK_HEADERS(goom/goom.h, [
5702 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5703 AC_CHECK_LIB(goom2, goom_init, [
5704 VLC_ADD_PLUGIN([goom])
5705 VLC_ADD_LIBS([goom],[-lgoom2])
5707 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5709 LDFLAGS="${LDFLAGS_save}"
5715 dnl AtmoLight (homebrew AmbiLight)
5717 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5719 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5720 if test "${enable_atmo}" != "no"; then
5722 VLC_ADD_PLUGIN([atmo])
5728 dnl Bonjour services discovery
5730 AC_ARG_ENABLE(bonjour,
5731 [ --enable-bonjour Bonjour services discovery (default enabled)])
5732 if test "${enable_bonjour}" != "no"
5734 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5735 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5736 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5737 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5738 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5739 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5740 VLC_ADD_PLUGIN([bonjour]) ],
5741 [AC_MSG_WARN(avahi-client library not found)])
5748 [ --enable-lirc lirc support (default disabled)])
5749 if test "${enable_lirc}" = "yes"
5751 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5752 if test "${have_lirc}" = "true"
5754 VLC_ADD_PLUGIN([lirc])
5755 VLC_ADD_LIBS([lirc],[-llirc_client])
5760 AC_ARG_WITH(,[Misc options:])
5765 AC_ARG_ENABLE(libgcrypt,
5766 [ --enable-libgcrypt libgcrypts support (default enabled)])
5768 GCRYPT_PATH="${PATH}"
5769 AC_ARG_WITH(libgcrypt-config-path,
5770 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5771 [ if test "${with_libgcrypt_config_path}" != "no"
5773 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5776 if test "${enable_libgcrypt}" != "no"
5778 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5779 dnl it and looks for libgcrypt headers in the wrong place.
5780 if test "${host_cpu}" = "${build_cpu}"
5782 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5784 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5787 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5788 AS_IF([test "${have_libgcrypt}" = "yes"],[
5789 # look for libgcrypt-config
5790 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5791 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5792 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5798 AC_ARG_ENABLE(gnutls,
5799 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5801 AS_IF([test "${enable_gnutls}" != "no"], [
5802 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5803 VLC_ADD_PLUGIN([gnutls])
5804 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5805 AS_IF([test "${SYS}" = "mingw32"], [
5806 dnl pkg-config --libs gnutls omits these
5807 VLC_ADD_LIBS([gnutls], [-lz])
5808 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5810 AS_IF([test "${have_libgcrypt}" = "yes"],[
5811 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5812 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5814 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5816 AS_IF([test "${enable_gnutls}" = "yes"], [
5817 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5823 dnl update checking system
5825 AC_ARG_ENABLE(update-check,
5826 [ --enable-update-check update checking system (default disabled)])
5827 if test "${enable_update_check}" = "yes"
5829 if test "${have_libgcrypt}" != "yes"
5831 AC_MSG_ERROR([libgcrypt is required for update checking system])
5833 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5834 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5835 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5839 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5841 dnl We give the user the opportunity to specify
5842 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5845 [ --with-words=endianness set endianness (big or little)])
5846 case "${with_words}" in
5848 ac_cv_c_bigendian=yes
5851 ac_cv_c_bigendian=no
5854 dnl Try to guess endianness by matching patterns on a compiled
5855 dnl binary, by looking for an ASCII or EBCDIC string
5856 AC_CACHE_CHECK([whether the byte order is big-endian],
5857 [ac_cv_c_bigendian],
5858 [ac_cv_c_bigendian="unknown"
5859 [cat >conftest.c <<EOF
5860 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5861 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5862 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5863 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5864 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5865 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5866 int main(void) { _a(); _e(); return 0; }
5869 if test -f conftest.c
5871 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5872 && test -f conftest.o
5874 if test "`strings conftest.o | grep BIGenDianSyS`"
5876 ac_cv_c_bigendian="yes"
5878 if test "`strings conftest.o | grep LiTTleEnDian`"
5880 ac_cv_c_bigendian="no"
5885 if test "${ac_cv_c_bigendian}" = "unknown"
5887 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5891 dnl Now we know what to use for endianness, just put it in the header
5892 if test "${ac_cv_c_bigendian}" = "yes"
5894 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5898 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5901 AC_ARG_ENABLE(loader,
5902 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5903 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5904 AS_IF([test "${enable_loader}" = "yes"],
5905 [ VLC_ADD_PLUGIN([dmo])
5906 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5907 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5908 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5909 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5910 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5911 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5914 AC_ARG_WITH(,[Components:])
5920 [ --enable-vlc build the VLC media player (default enabled)])
5921 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5924 dnl Microsoft ActiveX support
5927 AC_ARG_ENABLE(activex,
5928 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5929 AC_ARG_WITH(wine-sdk-path,
5930 [ --with-wine-sdk-path=PATH path to wine sdk])
5931 if test "${enable_activex}" != "no"
5933 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5935 AC_CHECK_PROGS(MIDL, [midl], no)
5936 if test "${with_wine_sdk_path}" != ""
5938 WINE_SDK_PATH=${with_wine_sdk_path}
5939 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5944 AC_CHECK_HEADERS(ole2.h,
5945 [AC_CHECK_HEADERS(olectl.h,
5946 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5947 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5948 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5949 AC_CHECK_HEADERS(objsafe.h,
5950 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5958 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5960 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5962 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5967 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5968 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5969 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5970 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5971 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5977 AC_ARG_ENABLE(mozilla,
5978 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5979 AC_ARG_WITH(mozilla-sdk-path,
5980 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5982 if test "${enable_mozilla}" = "yes"
5984 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5985 need_xpcom_libs=false
5987 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5989 dnl New firefox-1.5 SDK api
5990 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5992 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5995 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5998 PKG_CHECK_MODULES([NSPR], [nspr],
6001 AC_MSG_ERROR([Please install the nspr development tools.])
6007 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
6008 MOZILLA_REQUIRED_HEADERS=1
6009 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6010 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6011 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6016 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
6017 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
6019 MOZILLA_REQUIRED_HEADERS=
6021 firefox_include=`pkg-config --variable=includedir firefox-plugin`
6022 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
6023 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
6024 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
6025 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
6027 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
6029 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
6030 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6031 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
6033 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
6034 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
6035 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
6036 VLC_ADD_PLUGIN([mozilla])
6038 CPPFLAGS="${CPPFLAGS_save}"
6041 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
6042 if test "${MOZILLA_CONFIG}" = "no"
6044 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
6045 if test "${SEAMONKEY_CONFIG}" = "no"
6047 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
6048 if test "${XULRUNNER_CONFIG}" = "no"
6050 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
6053 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
6056 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
6061 if test ! -z "${MOZILLA_CONFIG}"
6063 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
6064 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
6065 AC_CHECK_LIB(Xt,XtStrings,
6067 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
6068 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
6071 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
6073 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6074 LDFLAGS="${LDFLAGS_save}"
6078 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6079 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
6080 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
6081 if ${need_xpcom_libs}; then
6082 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
6084 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
6086 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
6087 MOZILLA_REQUIRED_HEADERS=1
6088 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6089 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6090 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6095 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6097 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6099 MOZILLA_REQUIRED_HEADERS=
6100 CPPFLAGS="${CPPFLAGS_save}"
6101 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
6103 dnl End of moz_sdk = ""
6105 dnl special case for mingw32
6106 if test "${SYS}" = "mingw32"
6108 AC_CHECK_TOOL(CYGPATH, cygpath, "")
6109 dnl latest gecko sdk does not have an xpcom directory
6110 if test -d "${with_mozilla_sdk_path}/xpcom"; then
6111 mozilla_sdk_xpcom="/xpcom"
6115 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
6116 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
6117 MOZILLA_REQUIRED_HEADERS=1
6118 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6119 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6120 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6125 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6127 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6129 MOZILLA_REQUIRED_HEADERS=
6131 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6132 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])
6133 if ${need_xpcom_libs}; then
6134 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])
6135 if test "${SYS}" = "mingw32"; then
6136 dnl latest gecko sdk does not have embedstring
6137 if test -d "${real_mozilla_sdk}/embedstring/bin"
6139 VLC_ADD_LIBS([mozilla],[-lembedstring])
6143 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
6145 if test -n "${CYGPATH}"; then
6146 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
6148 CPPFLAGS="${CPPFLAGS_save}"
6152 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
6154 dnl Tests for Osso and Xsp
6155 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
6156 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
6157 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
6158 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-losso])
6161 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6162 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
6163 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
6169 AC_ARG_ENABLE(testsuite,
6170 [ --enable-testsuite build test modules (default disabled)])
6171 if test "${enable_testsuite}" = "yes"
6173 TESTS="test1 test2 test3 test4"
6175 dnl we define those so that bootstrap sets the right linker
6176 VLC_ADD_CXXFLAGS([test2],[])
6177 VLC_ADD_OBJCFLAGS([test3],[])
6178 dnl this one is needed until automake knows what to do
6179 VLC_ADD_LIBS([test3],[-lobjc])
6181 VLC_ADD_PLUGIN([test1])
6182 VLC_ADD_PLUGIN([test2])
6183 VLC_ADD_PLUGIN([test3])
6184 VLC_ADD_PLUGIN([test4])
6188 dnl Microsoft Layer for Unicode for WIN9x/ME
6190 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6192 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6193 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6200 if test "${NEED_GTK_MAIN}" != "no"
6202 VLC_ADD_PLUGIN([gtk_main])
6203 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6204 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6207 if test "${NEED_GNOME_MAIN}" != "no"
6209 VLC_ADD_PLUGIN([gnome_main])
6210 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6211 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6214 if test "${NEED_GTK2_MAIN}" != "no"
6216 VLC_ADD_PLUGIN([gtk2_main])
6217 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6218 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6219 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6220 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6223 if test "${NEED_GNOME2_MAIN}" != "no"
6225 VLC_ADD_PLUGIN([gnome2_main])
6226 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6227 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6233 if test "${NEED_QTE_MAIN}" != "no"
6235 VLC_ADD_PLUGIN([qte_main])
6236 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6237 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6238 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6242 dnl Plugin and builtin checks
6246 dnl Automagically disable plugins if there is no system support for
6247 dnl dynamically loadable files (.so, .dll, .dylib).
6248 dnl don't forget vlc-win32 still can load .dll as plugins
6249 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6250 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6254 AS_IF([test "${enable_shared}" = "no"], [
6258 AS_IF([test "${plugin_support}" != "no"], [
6259 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6261 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6263 dnl Temporary(?) hack for plugins/builtins transition
6264 dnl VLC_ADD_PLUGIN([${BUILTINS}])
6268 dnl Pic and shared libvlc stuff
6270 AS_IF([test "${SYS}" = "mingw32"], [
6271 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
6272 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6276 dnl Stuff used by the program
6278 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6279 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6280 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6281 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6282 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6283 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6284 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6285 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6286 AC_SUBST(VERSION_MAJOR)
6287 AC_SUBST(VERSION_MINOR)
6288 AC_SUBST(VERSION_REVISION)
6289 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6290 if test "${build_os}" = "cygwin"
6292 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6294 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6296 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6297 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6300 dnl Handle substvars that use $(top_srcdir)
6302 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6303 AC_SUBST(VLC_CONFIG)
6304 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6312 dnl Create the vlc-config script
6314 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6317 dnl Configuration is finished
6327 AC_SUBST(MOZILLA_SDK_PATH)
6328 AC_SUBST(WINE_SDK_PATH)
6330 AC_SUBST(AM_CPPFLAGS)
6331 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6332 AC_SUBST(FILE_LIBVLCCORE_DLL)
6333 AC_SUBST(FILE_LIBVLC_DLL)
6335 dnl Create vlc-config.in
6336 VLC_OUTPUT_VLC_CONFIG_IN
6339 extras/package/win32/vlc.win32.nsi
6341 projects/activex/Makefile
6342 projects/activex/axvlc.inf
6344 extras/package/ipkg/Makefile
6345 libs/loader/Makefile
6348 projects/mozilla/Makefile
6357 modules/access/Makefile
6358 modules/access/bda/Makefile
6359 modules/access/dshow/Makefile
6360 modules/access/dvb/Makefile
6361 modules/access/mms/Makefile
6362 modules/access/cdda/Makefile
6363 modules/access/rtsp/Makefile
6364 modules/access/rtmp/Makefile
6365 modules/access/v4l2/Makefile
6366 modules/access/vcd/Makefile
6367 modules/access/vcdx/Makefile
6368 modules/access/screen/Makefile
6369 modules/access_filter/Makefile
6370 modules/access_output/Makefile
6371 modules/audio_filter/Makefile
6372 modules/audio_filter/channel_mixer/Makefile
6373 modules/audio_filter/converter/Makefile
6374 modules/audio_filter/resampler/Makefile
6375 modules/audio_filter/spatializer/Makefile
6376 modules/audio_mixer/Makefile
6377 modules/audio_output/Makefile
6378 modules/codec/Makefile
6379 modules/codec/cmml/Makefile
6380 modules/codec/dmo/Makefile
6381 modules/codec/ffmpeg/Makefile
6382 modules/codec/subtitles/Makefile
6383 modules/codec/spudec/Makefile
6384 modules/codec/xvmc/Makefile
6385 modules/control/Makefile
6386 modules/control/http/Makefile
6387 modules/demux/Makefile
6388 modules/demux/asf/Makefile
6389 modules/demux/avi/Makefile
6390 modules/demux/mp4/Makefile
6391 modules/demux/mpeg/Makefile
6392 modules/demux/playlist/Makefile
6393 modules/gui/Makefile
6394 modules/gui/beos/Makefile
6395 modules/gui/pda/Makefile
6396 modules/gui/macosx/Makefile
6397 modules/gui/minimal_macosx/Makefile
6398 modules/gui/qnx/Makefile
6399 modules/gui/qt4/Makefile
6400 modules/gui/skins2/Makefile
6401 modules/gui/wxwidgets/Makefile
6402 modules/gui/wince/Makefile
6403 modules/meta_engine/Makefile
6404 modules/misc/Makefile
6405 modules/misc/dummy/Makefile
6406 modules/misc/lua/Makefile
6407 modules/misc/memcpy/Makefile
6408 modules/misc/notify/Makefile
6409 modules/misc/testsuite/Makefile
6410 modules/misc/playlist/Makefile
6411 modules/misc/osd/Makefile
6412 modules/misc/xml/Makefile
6413 modules/misc/probe/Makefile
6414 modules/mux/Makefile
6415 modules/mux/mpeg/Makefile
6416 modules/mux/rtp/Makefile
6417 modules/packetizer/Makefile
6418 modules/services_discovery/Makefile
6419 modules/stream_out/Makefile
6420 modules/stream_out/transrate/Makefile
6421 modules/video_chroma/Makefile
6422 modules/video_filter/Makefile
6423 modules/video_filter/atmo/Makefile
6424 modules/video_filter/dynamicoverlay/Makefile
6425 modules/video_output/Makefile
6426 modules/video_output/msw/Makefile
6427 modules/video_output/qte/Makefile
6428 modules/video_output/x11/Makefile
6429 modules/visualization/Makefile
6430 modules/visualization/visual/Makefile
6431 modules/visualization/galaktos/Makefile
6434 dnl Generate makefiles
6437 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6438 # not provided with the source
6439 ${SHELL} ./config.status --file=vlc-config
6440 chmod 0755 vlc-config
6442 dnl echo "Enabled builtin modules :"
6443 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6445 dnl echo "Enabled plugin modules :"
6446 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6448 dnl Shortcut to nice compile message
6450 echo '#! /bin/sh' >compile
6451 echo rm -f .error\$\$ >>compile
6452 echo ERROR=0 >>compile
6453 echo export PATH=$PATH LANG=C >>compile
6454 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6455 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6456 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6457 echo rm -f .error\$\$ >>compile
6458 echo exit \$ERROR >>compile
6462 libvlc configuration
6463 --------------------
6464 version : ${VERSION}
6466 architecture : ${ARCH}
6468 test "${enable_debug}" = "yes" && printf "debug "
6469 test "${enable_cprof}" = "yes" && printf "cprof "
6470 test "${enable_gprof}" = "yes" && printf "gprof "
6471 test "${enable_optimizations}" = "yes" && printf "optim "
6472 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6474 if test "${enable_vlc}" != "no"; then
6475 echo "vlc aliases :${ALIASES}"
6477 echo "build vlc executable : no"
6479 echo "plugins/bindings :${PLUGINS_BINDINGS}
6481 You can check which modules have been enabled
6482 with \`./vlc-config --list plugin'.
6483 You can tune the compiler flags in vlc-config.
6484 To build vlc and its plugins, type \`./compile' or \`make'.
6486 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6488 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6490 echo " FFmpeg will be REALLY slow."
6491 echo " VLC WILL NOT PERFORM AS EXPECTED."