1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
12 AC_PREREQ(2.59) dnl this really should be 2.59c
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
18 AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
19 AM_CONFIG_HEADER(config.h)
21 dnl Too many people are not aware of maintainer mode:
22 dnl If you want to use it, you definitely know what you are doing, so
23 dnl you can specify "--disable-maintainer-mode". But if you want the default
24 dnl automake behavior, you've likely never heard of maintainer mode, so we
25 dnl can't expect you to enable it manually.
27 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
28 [enable_maintainer_mode="yes"])
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
46 _AM_DEPENDENCIES([OBJC])
52 dnl Find the right ranlib, even when cross-compiling
53 AC_CHECK_TOOL(RANLIB, ranlib, :)
54 AC_CHECK_TOOL(STRIP, strip, :)
55 AC_CHECK_TOOL(AR, ar, :)
56 AC_CHECK_TOOL(LD, ld, :)
57 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
59 dnl Check for compiler properties
65 dnl Check for the contrib directory
68 [ --without-contrib do not use the libraries in extras/contrib],[],[])
69 if test "${with_contrib}" != "no"; then
70 AC_MSG_CHECKING([for libs in extras/contrib])
72 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
73 topdir="`pwd`/$topdir"
75 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
76 if test "${with_contrib}" = "yes"; then
78 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
81 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
84 if test -d ${topdir}/extras/contrib/lib; then
86 export PATH=${topdir}/extras/contrib/bin:$PATH
87 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
96 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
98 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
100 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
101 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
103 if test -z $with_live555_tree; then
104 with_live555_tree=${topdir}/extras/contrib/src/live
106 if test -z $with_goom_tree; then
107 with_goom_tree=${topdir}/extras/contrib/src/goom
109 if test -z $with_mozilla_sdk_path; then
110 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
112 if test -z $with_cyberlink_tree; then
113 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
115 if test -z $with_libmpeg2_tree; then
116 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
118 if test -z $with_a52_tree; then
119 with_a52_tree=${topdir}/extras/contrib/src/a52dec
122 if test ".`uname -s`" = ".Darwin"; then
123 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
124 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
125 elif test ".`uname -s`" = ".BeOS"; then
126 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
127 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
135 dnl Set default values
137 LDFLAGS_vlc="${LDFLAGS}"
140 dnl Check the operating system
151 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
152 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
156 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
159 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
160 CPPFLAGS="${CPPFLAGS_save}"
161 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
162 LDFLAGS="${LDFLAGS_save}"
168 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
169 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
170 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
171 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
172 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
173 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
174 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
175 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
176 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
177 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
178 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
179 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
180 AC_ARG_ENABLE(macosx-defaults,
181 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
182 if test "x${enable_macosx_defaults}" != "xno"
185 echo "Building with Mac OS X defaults:"
187 echo " Assuming --enable-faad"
189 echo " Assuming --enable-flac"
191 echo " Assuming --enable-theora"
193 echo " Assuming --enable-shout"
195 echo " Assuming --enable-cddax"
197 echo " Assuming --enable-vcdx"
199 echo " Assuming --enable-caca"
201 echo " Assuming --enable-goom"
203 echo " Assuming --enable-ncurses"
205 echo " Assuming --enable-twolame"
206 enable_realrtsp="yes"
207 echo " Assuming --enable-realrtsp"
210 echo " Assuming --disable-skins2"
212 echo " Assuming --disable-x11"
214 echo " Assuming --disable-glx"
216 echo " Assuming --disable-xvideo"
218 with_macosx_sdk="yes"
219 echo " Assuming --with-macosx-sdk"
222 echo " Attention: Screen Capturing is not available"
223 echo " Assuming --disable-screen"
225 if test ".`uname -p`" = ".i386"; then
226 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
227 dnl without hacking it a lot, we disable mmx and sse.
228 dnl (that bug is about ld being unable to handle
230 save_cflags="$CFLAGS"
231 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
233 [int a;], [asm("movq _a,%mm0\n");],
234 ac_ld_does_not_support_text_reloc=no,
235 ac_ld_does_not_support_text_reloc=yes)
236 CFLAGS="$save_cflags"
238 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
240 echo " Assuming --disable-mmx (due to a bug in ld)"
242 echo " Assuming --disable-sse (due to a bug in ld)"
244 echo " Assuming --disable-ffmpeg (due to a bug in ld)"
248 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
249 AC_CHECK_TOOL(WINDRES, windres, :)
256 dnl Check if we are using the mno-cygwin mode in which case we are
257 dnl actually dealing with a mingw32 compiler.
262 SYS=mingw32, SYS=cygwin)
264 *wince* | *mingwce* | *pe*)
269 if test "${SYS}" = "mingw32"; then
270 # add ws2_32 for closesocket, select, recv
271 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
272 VLC_ADD_LDFLAGS([vlc],[-mwindows])
273 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
274 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
275 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler lua],[-lws2_32])
277 if test "${SYS}" = "mingwce"; then
278 # add ws2 for closesocket, select, recv
279 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
280 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
281 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
286 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
290 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
291 # Perhaps it is useful other places as well?
292 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
299 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
300 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
301 VLC_ADD_CXXFLAGS([beos],[])
302 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
303 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
304 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
305 VLC_ADD_LIBS([access_file],[-lpoll])
306 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
308 if test -f /boot/beos/system/lib/libbind.so; then
309 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
311 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
314 dnl Ugly check for Zeta
315 if test -f /boot/beos/system/lib/libzeta.so; then
316 VLC_ADD_LIBS([beos],[-lzeta])
323 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
324 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
325 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
326 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
329 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
330 dnl for program foo on win32
332 case "${build_os}" in
334 ac_executable_extensions=".exe"
342 dnl It's very bad, but our former custom system was worst
346 dnl override platform specific check for dependent libraries
347 dnl otherwise libtool linking of shared libraries will
348 dnl fail on anything other than pass_all.
349 AC_CACHE_VAL(lt_cv_deplibs_check_method,
350 [lt_cv_deplibs_check_method=pass_all])
353 AC_DISABLE_FAST_INSTALL
356 m4_undefine([AC_PROG_F77])
357 m4_defun([AC_PROG_F77],[])
360 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
361 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
363 lt_cv_deplibs_check_method=pass_all
367 dnl Check for Mac OS X SDK settings
369 AC_ARG_WITH(macosx-sdk,
370 [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
371 if test "${with_macosx_sdk}" != "no" ; then
372 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
373 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
374 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
375 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
376 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
377 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
378 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
379 MACOSX_DEPLOYMENT_TARGET="10.4"
380 export MACOSX_DEPLOYMENT_TARGET
386 AM_GNU_GETTEXT_VERSION(0.16.1)
388 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
389 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
390 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
392 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
398 AS_IF([test "$am_cv_func_iconv" != "yes"],
399 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
400 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
401 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
403 dnl Check for the need to include the mingwex lib for mingw32
404 if test "${SYS}" = "mingw32"
406 AC_CHECK_LIB(mingwex,opendir,
407 AC_CHECK_LIB(mingw32,opendir,,
408 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
412 dnl Check for fnative-struct or mms-bitfields support for mingw32
413 if test "${SYS}" = "mingw32"
415 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
416 [ac_cv_c_mms_bitfields],
417 [CFLAGS="${CFLAGS_save} -mms-bitfields"
418 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
419 if test "${ac_cv_c_mms_bitfields}" != "no"; then
420 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
421 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
423 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
424 [ac_cv_c_fnative_struct],
425 [CFLAGS="${CFLAGS_save} -fnative-struct"
426 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
427 if test "${ac_cv_c_fnative_struct}" != "no"; then
428 CFLAGS_save="${CFLAGS_save} -fnative-struct";
429 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
433 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
436 dnl Check for fvtable-thunks support for mingw32
437 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
440 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
441 [ac_cv_cxx_fvtable_thunks],
442 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
443 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
444 ac_cv_cxx_fvtable_thunks=no)])
445 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
446 CXXFLAGS_mingw32_special="-fvtable-thunks"
449 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
453 dnl Plugin compilation stuff
460 dnl The -DSYS_FOO flag
461 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
463 dnl Check for system libs needed
466 AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy)
468 dnl Check for usual libc functions
469 AC_CHECK_FUNCS(strdup strndup strnlen atof)
470 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
471 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
472 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
474 AS_IF([test "${SYS}" = "linux"], [
478 dnl Check for setlocal and langinfo
479 AC_CHECK_FUNCS(setlocale)
480 AC_CHECK_HEADERS(langinfo.h)
481 AC_CHECK_FUNCS(nl_langinfo)
483 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
484 [AC_TRY_LINK([#include <langinfo.h>],
485 [char* cs = nl_langinfo(CODESET);],
486 ac_cv_langinfo_codeset=yes,
487 ac_cv_langinfo_codeset=no)
489 if test ${ac_cv_langinfo_codeset} = yes; then
490 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
491 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
494 AC_CHECK_FUNCS(connect,,[
495 AC_CHECK_LIB(socket,connect,[
496 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
497 LIBS_socket="-lsocket"
501 AC_CHECK_FUNCS(send,,[
502 AC_CHECK_LIB(socket,send,[
503 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
507 AC_CHECK_FUNCS(gethostbyname,,[
508 AC_CHECK_LIB(nsl,gethostbyname,[
509 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
511 AC_CHECK_LIB(bind,gethostbyname,[
512 VLC_ADD_LIBS([access_mms],[-lbind])
517 dnl Check for socklen_t
518 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
520 [#include <sys/types.h>
521 #include <sys/socket.h>],
522 [socklen_t len = 42; return len;],
523 ac_cv_type_socklen_t=yes,
524 ac_cv_type_socklen_t=no)])
525 if test "${ac_cv_type_socklen_t}" != "no"; then
526 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
529 dnl Check for struct sockaddr_storage
530 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
531 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
532 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
534 [#include <sys/types.h>
535 #if defined( UNDER_CE )
536 # include <winsock.h>
537 #elif defined( WIN32 )
538 # include <winsock2.h>
540 # include <sys/socket.h>
541 #endif], [struct sockaddr_storage addr;],
542 ac_cv_struct_sockaddr_storage=yes,
543 ac_cv_struct_sockaddr_storage=no)])
544 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
545 AC_DEFINE(sockaddr_storage, sockaddr)
546 AC_DEFINE(ss_family, sa_family)
549 dnl getaddrinfo, getnameinfo and gai_strerror check
550 dnl -lnsl and -lsocket are needed on Solaris;
551 dnl we purposedly make the test fail on Windows
553 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
554 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
556 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
559 AC_CHECK_FUNCS([getnameinfo gai_strerror])
562 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
563 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
564 [#include <sys/types.h>
565 #if defined( WIN32 ) || defined( UNDER_CE )
566 # if defined(UNDER_CE) && defined(sockaddr_storage)
567 # undef sockaddr_storage
569 # include <winsock2.h>
570 # include <ws2tcpip.h>
575 dnl Check for va_copy
576 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
578 [#include <stdarg.h>],
579 [va_list ap1, ap2; va_copy(ap1,ap2);],
580 [ac_cv_c_va_copy="yes"],
581 [ac_cv_c_va_copy="no"]))
582 if test "${ac_cv_c_va_copy}" = "yes"; then
583 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
585 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
587 [#include <stdarg.h>],
588 [va_list ap1, ap2; __va_copy(ap1,ap2);],
589 [ac_cv_c___va_copy="yes"],
590 [ac_cv_c___va_copy="no"]))
591 if test "${ac_cv_c___va_copy}" = "yes"; then
592 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
595 AC_CHECK_FUNCS(inet_aton,,[
596 AC_CHECK_LIB(resolv,inet_aton,[
597 VLC_ADD_LIBS([libvlc],[-lresolv])
601 dnl Check for getopt (always use builtin one on win32)
602 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
606 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
607 [ # FreeBSD has a gnugetopt library for this:
608 AC_CHECK_LIB([gnugetopt],[getopt_long],
609 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
610 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
613 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
615 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
618 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
621 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])
623 AC_CHECK_LIB(m,sqrt,[
624 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
626 AC_CHECK_LIB(m,ceil,[
627 VLC_ADD_LIBS([mosaic],[-lm])
630 VLC_ADD_LIBS([gaussianblur],[-lm])
632 AC_CHECK_LIB(mx,sqrtf,[
633 VLC_ADD_LIBS([x264],[-lmx])
635 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
637 dnl Check for dynamic plugins
638 ac_cv_have_plugins=no
641 AC_CHECK_HEADERS(mach-o/dyld.h,
642 [AC_CHECK_FUNCS(NSLinkModule,
643 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
644 ac_cv_have_plugins=yes])])
647 if test "${ac_cv_have_plugins}" = "no"; then
648 AC_CHECK_HEADERS(dl.h)
649 ac_cv_my_have_shl_load=no
650 AC_CHECK_FUNC(shl_load,
651 [ac_cv_my_have_shl_load=yes,
652 AC_CHECK_LIB(dld, shl_load,
653 [ac_cv_my_have_shl_load=yes
654 VLC_ADD_LIBS([libvlc],[-ldld])])])
655 if test "${ac_cv_my_have_shl_load}" = "yes"; then
656 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
657 ac_cv_have_plugins=yes
662 if test "${ac_cv_have_plugins}" = "no"; then
663 AC_CHECK_LIB(dld, dld_link,
664 [VLC_ADD_LIBS([libvlc],[-ldld])
665 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
666 ac_cv_have_plugins=yes])
670 if test "${ac_cv_have_plugins}" = "no"; then
671 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
672 AC_CHECK_LIB(kernel32, main,
673 [VLC_ADD_LIBS([libvlc],[-lkernel32])
674 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
675 ac_cv_have_plugins=yes])
680 if test "${ac_cv_have_plugins}" = "no"; then
681 if test "${SYS}" = "mingwce"; then
682 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
683 ac_cv_have_plugins=yes
688 if test "${ac_cv_have_plugins}" = "no"; then
689 AC_CHECK_HEADERS(image.h)
690 AC_CHECK_FUNCS(load_add_on,
691 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
692 ac_cv_have_plugins=yes])
695 # Only test for dlopen() if the others didn't work
696 if test "${ac_cv_have_plugins}" = "no"; then
697 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
698 ac_cv_my_have_dlopen=no
699 AC_CHECK_FUNC(dlopen,
700 ac_cv_my_have_dlopen=yes,
701 AC_CHECK_LIB(dl, dlopen,
702 ac_cv_my_have_dlopen=yes
703 VLC_ADD_LIBS([libvlc],[-ldl]),
704 AC_CHECK_LIB(svld, dlopen,
705 ac_cv_my_have_dlopen=yes
706 VLC_ADD_LIBS([libvlc],[-lsvld]))))
707 if test "${ac_cv_my_have_dlopen}" = "yes"; then
708 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
709 ac_cv_have_plugins=yes
713 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
714 dnl Check for pthreads - borrowed from XMMS
716 if test "${THREAD_LIB}" = "error"; then
717 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
719 if test "${THREAD_LIB}" = "error"; then
720 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
722 if test "${THREAD_LIB}" = "error"; then
723 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
725 if test "${THREAD_LIB}" = "error"; then
726 AC_CHECK_FUNCS(pthread_mutex_lock)
730 dnl Check for cthreads under GNU/Hurd for instance
731 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
734 dnl GNU portable threads
737 [ --enable-pth GNU Pth support (default disabled)],
738 [ if test "${enable_pth}" = "yes"; then
739 AC_CHECK_LIB(pth,pth_init)
740 AC_MSG_CHECKING(for pth_init in pth.h)
741 AC_EGREP_HEADER(pth_init,pth.h,[
743 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
744 Define if <pth.h> defines pth_init)
756 [ --enable-st State Threads (default disabled)],
757 [ if test "${enable_st}" = "yes"; then
758 AC_CHECK_LIB(st,st_init)
759 AC_MSG_CHECKING(for st_init in st.h)
760 AC_EGREP_HEADER(st_init,st.h,[
762 AC_DEFINE(ST_INIT_IN_ST_H, 1,
763 Define if <st.h> defines st_init)
771 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
773 dnl Don't link with rt when using GNU-pth
774 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
775 AC_CHECK_LIB(rt, clock_nanosleep, [
776 VLC_ADD_LIBS([libvlc],[-lrt])
777 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
780 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
784 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
785 AC_CHECK_LIB(rt,nanosleep,
786 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
787 [AC_CHECK_LIB(posix4,nanosleep,
788 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
791 if ${have_nanosleep}; then
792 AC_DEFINE(HAVE_NANOSLEEP, 1,
793 Define if nanosleep is available.)
797 dnl Check for misc headers
798 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
799 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
801 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
802 Define if <pthread.h> defines pthread_cond_t.)],[
805 AC_MSG_CHECKING(for pthread_once in pthread.h)
806 AC_EGREP_HEADER(pthread_once,pthread.h,[
808 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
809 Define if <pthread.h> defines pthread_once.)],[
811 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
813 AC_MSG_CHECKING(for strncasecmp in strings.h)
814 AC_EGREP_HEADER(strncasecmp,strings.h,[
816 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
817 Define if <strings.h> defines strncasecmp.)],[
820 dnl Check for headers
821 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)
822 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
823 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h netinet/udplite.h])
824 AC_CHECK_HEADERS([net/if.h], [], [],
826 #if HAVE_SYS_SOCKET_H
827 # include <sys/socket.h>
830 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
831 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
832 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
833 AC_CHECK_HEADERS(syslog.h)
834 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
838 AC_CHECK_TYPE(ssize_t, int)
839 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
843 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
844 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
846 dnl Mac OS X and other OSes don't have declaration for nanosleep
847 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
848 AC_MSG_CHECKING(for nanosleep in time.h)
849 AC_EGREP_HEADER(nanosleep,time.h,[
851 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
852 Define if <time.h> defines nanosleep.)
856 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
858 dnl Make sure we have timespecs
859 AC_MSG_CHECKING(for timespec in sys/time.h)
860 AC_EGREP_HEADER(timespec,sys/time.h,[
862 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
863 Define if <sys/time.h> defines struct timespec.)
868 dnl Check for threads library
869 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
870 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
871 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
873 dnl Find where are the X headers and libraries
876 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.
878 PKG_PROG_PKG_CONFIG()
882 [ --enable-hal Linux HAL services discovery (default enabled)])
884 if test "${enable_hal}" != "no"
886 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
887 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
888 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
889 VLC_ADD_PLUGINS([hal probe_hal])
890 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
891 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
892 dnl No hal 0.5 Test for 0.2
893 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
894 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
895 VLC_ADD_PLUGINS([hal])
896 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
897 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
898 [AC_MSG_WARN(HAL library not found)])
905 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
908 if test "${enable_dbus}" != "no"
911 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
912 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
913 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
914 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
915 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
916 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
917 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
918 dnl Check for dbus control interface
919 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
920 if test "${enable_dbus_control}" != "no"
922 VLC_ADD_PLUGINS([dbus])
923 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
924 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
926 dnl Check for Telepathy
927 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
928 if test "${enable_telepathy}" != "no"; then
929 VLC_ADD_PLUGINS([telepathy])
930 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
931 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
933 dnl Power Management Inhibiter
934 VLC_ADD_PLUGINS([inhibit])
935 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
936 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
938 if ${PKG_CONFIG} --exists dbus-1
940 [AC_ARG_ENABLE(old-dbus,
941 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
943 if test "${enable_old_dbus}" != "yes"
946 echo "****** WARNING **** WARNING ***** WARNING *************"
947 echo "*** Your D-Bus version is < 1.0.0"
948 echo "*** You are using old and buggy software and so"
949 echo "*** D-Bus support has been disabled."
950 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
951 echo "*** Alternatively you can force the use of your old and"
952 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
953 echo "*******************************************************"
957 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
958 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
959 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
960 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
961 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
962 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
964 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
965 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
966 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
967 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
968 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
970 [ PKG_CHECK_MODULES( DBUS, dbus-1,
971 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
972 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
973 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
974 [AC_MSG_WARN(DBUS library not found)])
985 dnl Build the gtk_main plugins?
991 dnl build the qte plugin ?
994 dnl Check for ntohl, etc.
995 AC_CACHE_CHECK([for ntohl in sys/param.h],
996 [ac_cv_c_ntohl_sys_param_h],
997 [CFLAGS="${CFLAGS_save} -Wall -Werror"
998 AC_TRY_COMPILE([#include <sys/param.h>],
999 [int meuh; ntohl(meuh);],
1000 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1001 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1002 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1004 CFLAGS="${CFLAGS_save}"
1006 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
1007 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1009 dnl This helps detect broken plugins with undefined symbols
1010 dnl Better fail loudly at build-time than silenty at run-time.
1011 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
1012 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
1013 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
1016 dnl Check for various optimization flags
1017 AC_CACHE_CHECK([if \$CC accepts -Os],
1019 [CFLAGS="${CFLAGS_save} -Os"
1020 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1021 if test "${ac_cv_c_os}" != "no"; then
1022 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1024 AC_CACHE_CHECK([if \$CC accepts -O],
1026 [CFLAGS="${CFLAGS_save} -O"
1027 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1028 if test "${ac_cv_c_o}" != "no"; then
1029 if test "${ac_cv_c_o3}" = "no"; then
1030 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1035 AC_CACHE_CHECK([if \$CC accepts -O3],
1037 [CFLAGS="${CFLAGS_save} -O3"
1038 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1039 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1040 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1042 AC_CACHE_CHECK([if \$CC accepts -O2],
1044 [CFLAGS="${CFLAGS_save} -O2"
1045 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1046 if test "${ac_cv_c_o2}" != "no"; then
1047 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1049 AC_CACHE_CHECK([if \$CC accepts -O],
1051 [CFLAGS="${CFLAGS_save} -O"
1052 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1053 if test "${ac_cv_c_o}" != "no"; then
1054 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1059 AC_CACHE_CHECK([if \$CC accepts -O0],
1061 [CFLAGS="${CFLAGS_save} -O0"
1062 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1063 if test "${ac_cv_c_o0}" != "no"; then
1064 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1067 dnl Check for -ffast-math
1068 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1069 [ac_cv_c_fast_math],
1070 [CFLAGS="${CFLAGS_save} -ffast-math"
1071 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1072 if test "${ac_cv_c_fast_math}" != "no"; then
1073 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1076 dnl Check for -funroll-loops
1077 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1078 if test "${SYS}" != "beos"
1080 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1081 [ac_cv_c_unroll_loops],
1082 [CFLAGS="${CFLAGS_save} -funroll-loops"
1083 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1084 if test "${ac_cv_c_unroll_loops}" != "no"; then
1085 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1089 dnl Check for -fomit-frame-pointer
1090 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1091 [ac_cv_c_omit_frame_pointer],
1092 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1093 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1094 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1095 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1098 dnl Check for -fvisibility=hidden
1099 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1100 [ac_cv_c_visibility_hidden],
1101 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1102 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1103 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1104 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1107 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1109 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1110 dnl AC_LANG_PUSH(C++)
1111 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1112 dnl [ac_cv_c_visibility_inlines_hidden],
1113 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1114 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1115 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1116 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1118 dnl CXXFLAGS="${CXXFLAGS_save}"
1119 dnl AC_LANG_POP(C++)
1121 dnl Check for -mdynamic-no-pic
1122 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1123 dnl [ac_cv_c_dynamic_no_pic],
1124 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1125 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1126 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1127 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1128 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1131 dnl Check for Darwin plugin linking flags
1132 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1134 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1135 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1136 if test "${ac_cv_ld_darwin}" != "no"; then
1137 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1140 dnl Check for standard plugin linking flags
1141 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1142 dnl AS_IF([test "${SYS}" = "beos"], [
1143 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1145 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1146 dnl [ac_cv_ld_plugins],
1147 dnl [CFLAGS="${CFLAGS_save} -shared"
1148 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1149 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1150 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1154 dnl Check for variadic macros
1155 AC_CACHE_CHECK([for variadic cpp macros],
1156 [ac_cv_cpp_variadic_macros],
1157 [CFLAGS="${CFLAGS_save}"
1160 #define a(b,c...) printf(b,##c)],
1161 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1162 ac_cv_cpp_variadic_macros=yes,
1163 ac_cv_cpp_variadic_macros=no)])
1164 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1165 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1168 dnl Checks for __attribute__(aligned()) directive
1169 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1170 [ac_cv_c_attribute_aligned],
1171 [ac_cv_c_attribute_aligned=0
1172 CFLAGS="${CFLAGS_save} -Werror"
1173 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1175 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1176 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1178 CFLAGS="${CFLAGS_save}"])
1179 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1180 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1181 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1184 dnl Checks for __attribute__(format()) directive
1185 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1186 [ac_cv_c_attribute_format],
1187 [ac_cv_c_attribute_format=no
1188 CFLAGS="${CFLAGS_save} -Werror"
1190 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1191 [ac_cv_c_attribute_format=yes])
1192 CFLAGS="${CFLAGS_save}"])
1193 if test "${ac_cv_c_attribute_format}" != "no"; then
1194 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1197 dnl Check for __attribute__((packed))
1198 AC_CACHE_CHECK([for __attribute__((packed))],
1199 [ac_cv_c_attribute_packed],
1200 [ac_cv_c_attribute_packed=no
1201 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1202 [ac_cv_c_attribute_packed=yes])])
1203 if test "${ac_cv_c_attribute_packed}" != "no"; then
1204 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1207 dnl Check for __attribute__((visibility()))
1208 AC_CACHE_CHECK([for __attribute__((visibility()))],
1209 [ac_cv_c_attribute_visibility],
1210 [ac_cv_c_attribute_visibility=no
1211 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1212 [ac_cv_c_attribute_visibility=yes])])
1213 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1214 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1220 case "${host_cpu}" in
1230 dnl Enable profiling
1232 AC_ARG_ENABLE(gprof,
1233 [ --enable-gprof gprof profiling (default disabled)])
1234 AC_ARG_ENABLE(cprof,
1235 [ --enable-cprof cprof profiling (default disabled)])
1236 test "${enable_gprof}" != "yes" && enable_gprof="no"
1237 test "${enable_cprof}" != "yes" && enable_cprof="no"
1242 VLC_ADD_PLUGINS([dummy logger memcpy])
1243 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
1244 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1245 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1246 VLC_ADD_PLUGINS([converter_fixed mono])
1247 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1248 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1249 VLC_ADD_PLUGINS([playlist export nsc xtag])
1250 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1251 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1252 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1253 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1254 VLC_ADD_PLUGINS([access_filter_bandwidth])
1255 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1256 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1257 VLC_ADD_PLUGINS([packetizer_vc1])
1259 ALIASES="${ALIASES} cvlc"
1262 dnl default modules that need g++
1265 VLC_ADD_PLUGINS([spatializer])
1268 if test "${SYS}" != "mingwce"; then
1269 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1270 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1271 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1272 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420])
1273 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1274 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1275 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1276 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1277 ALIASES="${ALIASES} rvlc"
1281 dnl Some plugins aren't useful on some platforms
1283 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1284 VLC_ADD_PLUGINS([screensaver motion])
1285 elif test "${SYS}" != "mingwce"; then
1286 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1287 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1289 VLC_ADD_PLUGINS([win32text])
1291 if test "${SYS}" = "darwin"; then
1292 VLC_ADD_PLUGINS([quartztext])
1293 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1297 dnl Accelerated modules
1299 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1300 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1301 MMXEXT_MODULES="memcpymmxext"
1302 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1303 THREEDNOW_MODULES="memcpy3dn"
1305 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1306 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1307 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1309 dnl Check for fully workin MMX intrinsics
1310 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1311 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1312 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1313 [ac_cv_c_mmx_intrinsics],
1314 [CFLAGS="${CFLAGS_save} -O -mmmx"
1315 AC_TRY_COMPILE([#include <mmintrin.h>
1319 a = b = c = (__m64)frobzor;
1320 a = _mm_slli_pi16(a, 3);
1321 a = _mm_adds_pi16(a, b);
1322 c = _mm_srli_pi16(c, 8);
1323 c = _mm_slli_pi16(c, 3);
1324 b = _mm_adds_pi16(b, c);
1325 a = _mm_unpacklo_pi8(a, b);
1326 frobzor = (uint64_t)a;],
1327 [ac_cv_c_mmx_intrinsics=yes],
1328 [ac_cv_c_mmx_intrinsics=no])])
1329 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1330 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1331 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1334 dnl Check for fully workin SSE2 intrinsics
1335 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1336 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1337 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1338 [ac_cv_c_sse2_intrinsics],
1339 [CFLAGS="${CFLAGS_save} -O -msse2"
1340 AC_TRY_COMPILE([#include <emmintrin.h>
1344 a = b = c = _mm_set1_epi64((__m64)frobzor);
1345 a = _mm_slli_epi16(a, 3);
1346 a = _mm_adds_epi16(a, b);
1347 c = _mm_srli_epi16(c, 8);
1348 c = _mm_slli_epi16(c, 3);
1349 b = _mm_adds_epi16(b, c);
1350 a = _mm_unpacklo_epi8(a, b);
1351 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1352 [ac_cv_c_sse2_intrinsics=yes],
1353 [ac_cv_c_sse2_intrinsics=no])])
1354 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1355 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1356 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1359 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1361 [CFLAGS="${CFLAGS_save}"
1362 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1363 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1364 if test "${ac_cv_mmx_inline}" != "no"; then
1365 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1366 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1369 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1370 [ac_cv_mmxext_inline],
1371 [CFLAGS="${CFLAGS_save}"
1372 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1373 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1374 if test "${ac_cv_mmxext_inline}" != "no"; then
1375 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1376 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1379 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1380 [ac_cv_3dnow_inline],
1381 [CFLAGS="${CFLAGS_save}"
1382 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1383 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1384 if test "${ac_cv_3dnow_inline}" != "no"; then
1385 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1386 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1389 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1391 [CFLAGS="${CFLAGS_save}"
1392 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1393 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1394 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1395 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1396 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1399 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1400 [ac_cv_sse2_inline],
1401 [CFLAGS="${CFLAGS_save}"
1402 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1403 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1404 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1405 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1406 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1409 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1410 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1411 [ac_cv_altivec_inline],
1412 [CFLAGS="${CFLAGS_save}"
1413 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1414 ac_cv_altivec_inline=yes,
1415 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1416 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1417 [ac_cv_altivec_inline="-Wa,-m7400"],
1418 ac_cv_altivec_inline=no)
1420 if test "${ac_cv_altivec_inline}" != "no"; then
1421 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1422 if test "${ac_cv_altivec_inline}" != "yes"; then
1423 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1424 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1425 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1426 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1427 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1429 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1432 dnl The AltiVec C extensions
1434 dnl There are several possible cases:
1435 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1436 dnl need <altivec.h>
1437 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1438 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1439 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1440 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1441 dnl - Others: test should fail
1442 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1444 [# OS X/PPC test (gcc 4.x)
1445 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1446 AC_TRY_COMPILE([vector unsigned char foo;],
1447 [vec_ld(0, (unsigned char *)0);],
1448 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1449 [# OS X/PPC test (gcc 3.x)
1450 CFLAGS="${CFLAGS_save} -faltivec"
1451 AC_TRY_COMPILE([vector unsigned char foo;],
1452 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1453 [ac_cv_c_altivec="-faltivec"],
1454 dnl Below this are the Linux tests
1455 [# Linux/PPC test (gcc 4.x)
1456 CFLAGS="${CFLAGS_save} -maltivec"
1457 AC_TRY_COMPILE([#include <altivec.h>],
1458 [vec_ld(0, (unsigned char *)0);],
1459 [ac_cv_c_altivec="-maltivec"],
1460 [# Linux/PPC test (gcc 3.3)
1461 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1462 AC_TRY_COMPILE([#include <altivec.h>],
1463 [vec_ld(0, (unsigned char *)0);],
1465 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1466 [# Linux/PPC test (gcc 3.3)
1467 CFLAGS="${CFLAGS_save} -fvec"
1468 AC_TRY_COMPILE([#include <altivec.h>],
1469 [vec_ld(0, (unsigned char *)0);],
1470 [ac_cv_c_altivec="-fvec"],
1471 [ac_cv_c_altivec=no])
1476 CFLAGS="${CFLAGS_save}"
1479 if test "${ac_cv_c_altivec}" != "no"; then
1480 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1483 AS_IF( test "${enable_altivec}" != "no",
1485 AC_CHECK_HEADERS(altivec.h)
1486 CPPFLAGS="${CPPFLAGS_save}"
1488 if test "${ac_cv_c_altivec}" != "no"; then
1489 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1490 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1491 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1492 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1493 if test "${ac_cv_altivec_inline}" = "no"; then
1494 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1498 CPPFLAGS="${CPPFLAGS_save}"
1501 AC_CACHE_CHECK([if linker needs -framework vecLib],
1503 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1504 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1505 LDFLAGS="${LDFLAGS_save}"
1507 if test "${ac_cv_ld_altivec}" != "no"; then
1508 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1510 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1513 AC_ARG_WITH(,[Optimization options:])
1516 dnl Special arch tuning
1519 [ --with-tuning=ARCH enable special tuning for an architecture
1520 (default Pentium 2 on IA-32 and G4 on PPC)])
1521 if test -n "${with_tuning}"; then
1522 if test "${with_tuning}" != "no"; then
1523 CFLAGS_TUNING="-mtune=${with_tuning}"
1526 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1527 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1528 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1529 CFLAGS_TUNING="-mtune=pentium2"
1530 elif test "${host_cpu}" = "x86_64"; then
1531 CFLAGS_TUNING="-mtune=athlon64"
1532 elif test "${host_cpu}" = "powerpc"; then
1533 CFLAGS_TUNING="-mtune=G4";
1537 dnl NOTE: this can't be cached cleanly
1538 AS_IF([test "${CFLAGS_TUNING}"],
1539 [CFLAGS_save="${CFLAGS}"
1540 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1542 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1543 AC_COMPILE_IFELSE([ ],
1545 [CFLAGS_TUNING=""; tuning="no"
1546 AS_IF([test "${with_tuning}"],
1547 [AC_MSG_ERROR([requested tuning not supported])])])
1549 AC_MSG_RESULT([$tuning])
1550 CFLAGS="${CFLAGS_save}"
1554 dnl x86 accelerations
1557 [ --disable-mmx disable MMX optimizations (default enabled on x86)],
1558 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1559 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1560 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"; then
1562 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1565 [ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1566 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1567 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1568 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1569 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1574 AC_ARG_ENABLE(optimize-memory,
1575 [ --enable-optimize-memory optimize memory usage over performance])
1576 if test "${enable_optimize_memory}" = "yes"; then
1577 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1581 dnl Enable/disable optimizations
1583 AC_ARG_ENABLE(optimizations,
1584 [ --disable-optimizations disable compiler optimizations (default enabled)])
1585 if test "${enable_optimizations}" != "no"; then
1586 if test "${enable_optimize_memory}" = "yes"; then
1587 enable_optimizations="size"
1589 enable_optimizations="speed"
1594 dnl AltiVec acceleration
1596 AC_ARG_ENABLE(altivec,
1597 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1598 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1599 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1600 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1601 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1606 AC_ARG_ENABLE(debug,
1607 [ --enable-debug debug mode (default disabled)])
1608 test "${enable_debug}" != "yes" && enable_debug="no"
1610 [Define to 1 if debug code should NOT be compiled])
1611 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1616 AC_ARG_ENABLE(coverage,
1617 [ --enable-coverage build for test coverage (default disabled)],,
1618 [enable_coverage="no"])
1619 AS_IF([test "${enable_coverage}" != "no"], [
1620 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1621 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1622 LDFLAGS="-lgcov ${LDFLAGS}"
1624 CFLAGS_save="${CFLAGS}"
1625 CXXFLAGS_save="${CXXFLAGS}"
1626 LDFLAGS_save="${LDFLAGS}"
1630 dnl Enable release-specific flags
1632 AC_ARG_ENABLE(release,
1633 [ --enable-release activate extra optimizations (default disabled)])
1634 test "${enable_release}" != "yes" && enable_release="no"
1640 [ --enable-sout Stream output modules (default enabled)])
1641 if test "${enable_sout}" != "no"
1643 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1644 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1645 VLC_ADD_PLUGINS([packetizer_copy])
1647 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1648 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1649 VLC_ADD_PLUGINS([stream_out_gather])
1650 # VLC_ADD_PLUGINS([stream_out_transrate])
1651 # VLC_ADD_PLUGINS([rtcp])
1652 VLC_ADD_PLUGINS([profile_parser])
1654 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1657 AC_ARG_ENABLE(switcher,
1658 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1660 dnl Check for libshout
1661 AC_ARG_ENABLE(shout,
1662 [ --enable-shout libshout output plugin (default disabled)])
1663 if test "${enable_shout}" = "yes"; then
1664 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1665 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1666 VLC_ADD_PLUGINS([access_output_shout])
1667 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1668 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1669 [AC_MSG_WARN(libshout library not found)])
1674 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1675 if test "${enable_lua}" != "no"
1677 PKG_CHECK_MODULES(LUA, lua5.1,
1680 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1681 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1685 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1688 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1689 [LUA_LIBS="-llua5.1"],
1690 AC_CHECK_LIB( lua51 , luaL_newstate,
1691 [LUA_LIBS="-llua51"],
1692 AC_CHECK_LIB( lua , luaL_newstate,
1695 AC_MSG_WARN([lua >= 5.1 not found!])
1701 if test "x${have_lua}" = "xyes" ; then
1702 AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1703 VLC_ADD_PLUGINS([lua])
1704 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1705 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1712 AC_ARG_ENABLE(httpd,
1713 [ --enable-httpd HTTP daemon (default enabled)])
1714 if test "${enable_httpd}" != "no"
1716 VLC_ADD_PLUGINS([http])
1717 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1721 dnl VideoLAN manager
1724 [ --enable-vlm VideoLAN manager (default enabled)])
1725 if test "${enable_vlm}" != "no"
1727 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1731 dnl Growl notification plugin
1733 AC_ARG_ENABLE(growl,
1734 [ --enable-growl growl notification plugin (default enabled)])
1735 AS_IF([test "${enable_growl}" != "no"], [
1736 VLC_ADD_PLUGINS([growl])
1741 dnl Libnotify notification plugin
1744 AC_ARG_ENABLE(notify,
1745 [ --enable-notify libnotify notification plugin (default enabled)])
1746 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1747 PKG_CHECK_MODULES(NOTIFY, libnotify,
1749 VLC_ADD_PLUGINS([notify])
1750 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1751 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1753 AS_IF([test "${enable_notify}" = "yes"],[
1754 AC_MSG_WARN( libnotify not found) ])
1759 dnl Audioscrobbler plugin
1762 AC_ARG_ENABLE(audioscrobbler,
1763 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1764 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1765 VLC_ADD_PLUGINS([audioscrobbler])
1769 dnl Musicbrainz plugin
1771 AC_ARG_ENABLE(musicbrainz,
1772 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1773 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1774 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1775 [ VLC_ADD_PLUGINS([musicbrainz])
1776 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1777 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1778 [AC_MSG_WARN(MusicBrainz library not found)])
1785 AC_ARG_ENABLE(taglib,
1786 [ --disable-taglib Taglib support (default enabled) ])
1787 AS_IF([test "${enable_taglib}" != "no"],[
1788 PKG_CHECK_MODULES(TAGLIB, taglib,
1789 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1790 VLC_ADD_PLUGINS([taglib])
1791 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1792 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1793 [AC_MSG_WARN(TagLib library not found)])
1801 AC_ARG_WITH(,[Input plugins:])
1805 if test "${enable_livedotcom}"
1807 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1810 if test "${enable_livedotcom}" = "no"
1814 AC_ARG_ENABLE(live555,
1815 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1816 if test "${enable_live555}" != "no"; then
1817 AC_ARG_WITH(live555-tree,
1818 [ --with-live555-tree=PATH live.com tree for static linking])
1821 dnl test for --with-live555-tree
1823 if test "${with_livedotcom_tree}"
1825 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1826 with_live555_tree="${with_livedotcom_tree}"
1829 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1831 CPPFLAGS_save="${CPPFLAGS}"
1832 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1833 if test "${SYS}" = "solaris"; then
1834 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1836 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1837 AC_CHECK_HEADERS(liveMedia.hh, [
1838 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1839 AC_CHECK_LIB(liveMedia_pic, main, [
1840 # We have -lliveMedia_pic, build plugins
1841 VLC_ADD_PLUGINS([live555])
1842 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1844 AC_CHECK_LIB(liveMedia, main, [
1845 # We only have -lliveMedia, do builtins
1846 VLC_ADD_BUILTINS([live555])
1847 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1850 if test "${SYS}" = "mingw32"; then
1851 # add ws2_32 for closesocket, select, recv
1852 VLC_ADD_LIBS([live555],[-lws2_32])
1855 CPPFLAGS="${CPPFLAGS_save}"
1858 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1859 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1860 if test -z "${real_live555_tree}"; then
1861 dnl The given directory can't be found
1863 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1865 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1866 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1868 VLC_ADD_BUILTINS([live555])
1870 if test "${SYS}" = "mingw32"; then
1871 # add ws2_32 for closesocket, select, recv
1872 VLC_ADD_LIBS([live555],[-lws2_32])
1875 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1876 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1877 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1878 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1880 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1881 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1882 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1883 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1884 if test "${SYS}" = "solaris"; then
1885 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1888 dnl The given live555 wasn't built
1890 if test "${enable_live555}" = "yes"; then
1891 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1898 dnl special access module for dc1394 input
1900 AC_ARG_ENABLE(dc1394,
1901 [ --enable-dc1394 dc1394 access module (default disabled)])
1902 if test "${enable_dc1394}" = "yes"
1904 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1905 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1906 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1907 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1908 VLC_ADD_PLUGINS([dc1394])
1909 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1912 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1916 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1920 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1924 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1929 dnl dv module: digital video module check for libraw1394
1932 [ --enable-dv dv input module (default disabled)])
1933 if test "${enable_dv}" = "yes"
1935 AC_ARG_WITH(dv-raw1394,
1936 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1937 AC_ARG_WITH(dv-raw1394-tree,
1938 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1940 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1942 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1943 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1945 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1947 VLC_ADD_PLUGINS([access_dv])
1948 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1949 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1951 dnl No libraw1394 could be found, sorry
1953 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1956 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1957 [ VLC_ADD_PLUGINS([access_dv])
1958 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1960 if test -n "${enable_dv}"
1962 AC_MSG_ERROR([cannot find libraw1394 headers])
1967 dnl Check for static linking of libraw1394
1968 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1970 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1971 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1972 if test -z "${real_dv_raw1394_tree}"
1974 dnl The given directory can't be found
1976 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1978 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1980 dnl Use a custom libraw1394
1981 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1982 VLC_ADD_BUILTINS([access_dv])
1983 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1984 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1986 dnl The given libraw1394 wasn't built
1988 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1993 dnl Check for libavc1394
1996 AC_ARG_WITH(dv-avc1394,
1997 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1998 AC_ARG_WITH(dv-avc1394-tree,
1999 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2001 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2003 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2004 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2006 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2008 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2009 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2011 dnl No libavc1394 could be found, sorry
2013 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2016 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2017 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2019 if test -n "${enable_dv}"
2021 AC_MSG_ERROR([cannot find libavc1394 headers])
2026 dnl Check for static linking of libavc1394
2027 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2029 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2030 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2031 if test -z "${real_dv_avc1394_tree}"
2033 dnl The given directory can't be found
2035 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2037 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2039 dnl Use a custom libavc1394
2040 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2041 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2042 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2044 dnl The given libavc1394 wasn't built
2046 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2052 dnl dvdread module: check for libdvdread
2054 AC_ARG_ENABLE(dvdread,
2055 [ --enable-dvdread dvdread input module (default disabled)])
2056 if test "${enable_dvdread}" != "no"
2058 AC_ARG_WITH(dvdread,
2059 [ --with-dvdread=PATH libdvdread headers and libraries])
2060 AC_ARG_WITH(dvdread-tree,
2061 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2063 dnl Temporary hack (yeah, sure ;)
2064 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2065 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2068 if test -z "${with_dvdread}"
2070 if test -z "${with_dvdread_tree}"
2072 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2073 [ VLC_ADD_PLUGINS([dvdread])
2074 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2076 if test -n "${enable_dvdread}"
2078 AC_MSG_ERROR([cannot find libdvdread headers])
2082 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2083 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2084 if test -z "${real_dvdread_tree}"
2086 dnl The given directory can't be found
2088 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2090 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2092 dnl Use a custom libdvdread
2093 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2094 VLC_ADD_BUILTINS([dvdread])
2095 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2096 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2098 dnl The given libdvdread wasn't built
2100 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2104 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2105 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2107 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2109 VLC_ADD_PLUGINS([dvdread])
2110 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2111 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2113 dnl No libdvdread could be found, sorry
2115 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2121 dnl libdvdnav plugin
2123 AC_ARG_ENABLE(dvdnav,
2124 [ --enable-dvdnav dvdnav input module (default enabled)])
2125 if test "${enable_dvdnav}" != "no"
2127 dnl Same hack than dvdread
2128 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2129 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2132 DVDNAV_PATH="${PATH}"
2133 AC_ARG_WITH(dvdnav-config-path,
2134 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2135 [ if test "${with_dvdnav_config_path}" != "no"
2137 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2139 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2140 if test "${DVDNAV_CONFIG}" != "no"
2142 VLC_ADD_PLUGINS([dvdnav])
2143 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2144 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2149 dnl Windows DirectShow access module
2151 AC_ARG_ENABLE(dshow,
2152 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2153 if test "${enable_dshow}" != "no"
2155 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2158 AC_CHECK_HEADERS(dshow.h,
2159 [ VLC_ADD_PLUGINS([dshow])
2160 VLC_ADD_CXXFLAGS([dshow],[])
2161 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2167 dnl Windows DirectShow BDA access module
2170 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2171 if test "${enable_bda}" != "no"
2173 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2175 AC_CHECK_HEADERS(dshow.h,
2176 [ VLC_ADD_PLUGINS([bda])
2177 VLC_ADD_CXXFLAGS([bda],[])
2178 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2184 dnl OpenCV wrapper and example filters
2186 AC_ARG_ENABLE(opencv,
2187 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2188 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2190 AC_ARG_WITH(opencv-tree,
2191 [ --with-opencv-tree=PATH opencv tree for linking])
2192 if test -n "${with_opencv_tree}"
2194 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2196 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2197 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2198 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2201 VLC_ADD_PLUGINS([opencv_wrapper])
2202 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2203 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])
2205 VLC_ADD_PLUGINS([opencv_example])
2206 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2207 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])
2210 dnl No opencv could be found, sorry
2212 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2215 AC_MSG_WARN([--enable-opencv currently only works on windows])
2222 dnl libsmbclient plugin
2225 [ --enable-smb smb input module (default enabled)])
2226 if test "${enable_smb}" != "no"; then
2227 AC_CHECK_HEADERS(libsmbclient.h,
2228 [ VLC_ADD_PLUGINS([access_smb])
2229 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2230 [ if test -n "${enable_smb}"; then
2231 AC_MSG_ERROR([cannot find libsmbclient headers])
2233 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2234 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2235 [#include <libsmbclient.h>])
2239 dnl libdvbpsi ts demux/mux
2241 AC_ARG_ENABLE(dvbpsi,
2242 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2243 if test "${enable_dvbpsi}" != "no"
2246 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2248 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2249 case "${with_dvbpsi}" in
2251 if test -z "${with_dvbpsi_tree}"
2253 AC_CHECK_HEADERS(dvbpsi/dr.h,
2254 [ VLC_ADD_PLUGINS([ts])
2255 if test "${enable_sout}" != "no"; then
2256 VLC_ADD_PLUGINS([mux_ts])
2258 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2259 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2260 [#if defined( HAVE_STDINT_H )
2261 # include <stdint.h>
2262 #elif defined( HAVE_INTTYPES_H )
2263 # include <inttypes.h>
2265 #include <dvbpsi/dvbpsi.h>
2266 #include <dvbpsi/descriptor.h>
2267 #include <dvbpsi/pat.h>
2268 #include <dvbpsi/pmt.h>])
2270 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2271 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2272 if test -z "${real_dvbpsi_tree}"
2274 dnl The given directory can't be found
2276 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2278 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2280 dnl Use a custom libdvbpsi
2281 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2282 VLC_ADD_BUILTINS([ts])
2283 if test "${enable_sout}" != "no"; then
2284 VLC_ADD_BUILTINS([mux_ts])
2286 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2287 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2289 dnl The given libdvbpsi wasn't built
2291 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2296 dnl Compile without dvbpsi
2299 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2300 if test -z "${with_dvbpsi}"
2305 LDFLAGS_test="-L${with_dvbpsi}/lib"
2306 CPPFLAGS_test="-I${with_dvbpsi}/include"
2308 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2309 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2310 VLC_ADD_PLUGINS([ts])
2311 if test "${enable_sout}" != "no"; then
2312 VLC_ADD_PLUGINS([mux_ts])
2314 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2315 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2318 if test -n "${enable_dvbpsi}"
2320 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])
2323 CPPFLAGS="${CPPFLAGS_save}"
2326 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2327 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2328 ], [], [${LIBS_ts}])
2333 dnl Video4Linux plugin
2336 [ --enable-v4l Video4Linux input support (default disabled)])
2337 if test "${enable_v4l}" = "yes"
2340 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2341 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2343 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2346 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2347 AC_CHECK_HEADERS(linux/videodev.h, [
2348 VLC_ADD_PLUGINS([v4l])
2350 CPPFLAGS="${CPPFLAGS_save}"
2354 dnl Video4Linux2 plugin
2357 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2358 if test "${enable_v4l2}" = "yes"
2361 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2362 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2364 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2367 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2368 if test "${have_v4l2_alsa}" = "true"
2370 CFLAGS="${CFLAGS_save}"
2371 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2372 #define ALSA_PCM_NEW_SW_PARAMS_API
2373 #include <alsa/asoundlib.h>],
2374 [snd_pcm_hw_params_get_period_time(0,0,0);],
2375 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2376 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2377 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2380 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2381 AC_CHECK_HEADERS(linux/videodev2.h, [
2382 VLC_ADD_PLUGINS([v4l2])
2384 CPPFLAGS="${CPPFLAGS_save}"
2389 dnl special access module for Hauppauge PVR cards
2392 [ --enable-pvr PVR cards access module (default disabled)])
2393 if test "${enable_pvr}" = "yes"
2395 VLC_ADD_PLUGINS([pvr])
2396 AC_ARG_WITH(videodev2,
2397 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2398 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2400 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2404 AC_CACHE_CHECK([for new linux/videodev2.h],
2405 [new_linux_videodev2_h],
2407 #include <sys/types.h>
2408 # ifdef VIDEODEV2_H_FILE
2409 # include VIDEODEV2_H_FILE
2411 # include <linux/videodev2.h>
2414 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2415 new_linux_videodev2_h=yes,
2416 new_linux_videodev2_h=no)])
2417 if test "${new_linux_videodev2_h}" != "no"; then
2418 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2423 dnl gnomeVFS access module
2425 AC_ARG_ENABLE(gnomevfs,
2426 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2427 if test "${enable_gnomevfs}" = "yes"
2429 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2430 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2431 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2432 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2433 VLC_ADD_PLUGINS([access_gnomevfs]),
2434 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2437 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2438 AC_ARG_ENABLE(libcdio,
2439 [ --enable-libcdio CD input and control library support (default enabled)])
2444 if test "${enable_libcdio}" != "no"
2446 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2448 AC_DEFINE(HAVE_LIBCDIO, [],
2449 [Define if you have libcdio 0.78.2 or greater installed]),
2450 [AC_MSG_WARN(CD Reading and information library not found)])
2452 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2453 [have_libvcdinfo=yes
2454 AC_DEFINE(HAVE_VCDINFO, [],
2455 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2456 [AC_MSG_WARN(VCD information library not found)])
2460 dnl VCDX and CDDAX modules
2462 AC_ARG_ENABLE(cddax,
2463 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2465 AC_ARG_ENABLE(libcddb,
2466 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2468 if test "${enable_cddax}" = "yes"
2470 if test "$have_libcdio" = "yes"
2472 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2473 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2474 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2475 VLC_ADD_PLUGINS([cddax])
2476 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2477 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2478 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2480 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2484 if test "$enable_libcddb" != "no"; then
2485 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2487 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2488 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2489 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2491 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2498 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2500 if test "${enable_vcdx}" = "yes"
2502 if test "${have_libvcdinfo}" = "yes"
2504 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2505 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2507 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2511 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2512 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2513 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2514 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2517 if test "$have_libvcdinfo" = "yes"
2519 AC_DEFINE(HAVE_VCDX, [],
2520 [Define for the VCD plugin using libcdio/libvcdinfo])
2521 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2522 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2523 VLC_ADD_PLUGINS([vcdx])
2525 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2531 dnl Built-in CD-DA and VCD module
2534 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2537 [ --enable-vcd built-in VCD (default enabled)])
2539 if test "${enable_vcd}" != "no"
2541 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2542 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2544 VLC_ADD_PLUGINS([vcd cdda])
2549 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2550 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2552 VLC_ADD_PLUGINS([vcd cdda])
2553 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2558 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2559 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2561 VLC_ADD_PLUGINS([vcd cdda])
2562 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2567 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2569 VLC_ADD_PLUGINS([vcd cdda])
2572 if test "${SYS}" = "darwin"
2574 VLC_ADD_PLUGINS([vcd cdda])
2575 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2576 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2579 if test "$enable_libcddb" != "no"; then
2580 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2582 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2583 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2584 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2586 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2592 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2595 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2597 if test "${enable_dvb}" = "yes"
2600 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2601 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2603 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2605 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2606 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2607 if test -z "${with_dvbpsi_tree}"
2609 VLC_ADD_PLUGINS([dvb])
2611 VLC_ADD_BUILTINS([dvb])
2613 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2614 CPPFLAGS="${CPPFLAGS_save}"
2618 dnl Screen capture module
2620 AC_ARG_ENABLE(screen,
2621 [ --enable-screen Screen capture support (default enabled)])
2622 if test "${enable_screen}" != "no"; then
2623 if test "${SYS}" = "darwin"; then
2624 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2625 VLC_ADD_PLUGINS([screen])
2626 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2628 elif test "${SYS}" = "mingw32"; then
2629 VLC_ADD_PLUGINS([screen])
2630 VLC_ADD_LIBS([screen],[-lgdi32])
2631 elif test "${SYS}" = "mingwce"; then
2632 CPPFLAGS="${CPPFLAGS_save}"
2633 elif test "${SYS}" = "beos"; then
2634 VLC_ADD_PLUGINS([screen])
2635 VLC_ADD_CXXFLAGS([screen],[])
2636 VLC_ADD_LIBS([screen],[-lbe])
2638 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2639 AC_CHECK_HEADERS(X11/Xlib.h, [
2640 VLC_ADD_PLUGINS([screen])
2641 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2642 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2644 CPPFLAGS="${CPPFLAGS_save}"
2649 dnl ipv6 plugin - not for QNX yet
2652 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2653 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2656 AS_IF([test "${have_ipv6}" = "yes"], [
2657 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2660 AC_CHECK_FUNCS(inet_ntop,[
2661 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2665 dnl ogg demux plugin
2668 [ --enable-ogg Ogg demux support (default enabled)])
2669 if test "${enable_ogg}" != "no"
2671 AC_ARG_WITH(ogg-tree,
2672 [ --with-ogg-tree=PATH ogg tree for static linking])
2673 if test -n "${with_ogg_tree}"
2675 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2676 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2677 if test -z "${real_ogg_tree}"
2679 dnl The given directory can't be found
2681 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2683 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2685 dnl Use a custom ogg
2686 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2687 VLC_ADD_PLUGINS([ogg])
2688 if test "${enable_sout}" != "no"; then
2689 VLC_ADD_PLUGINS([mux_ogg])
2691 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2692 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2694 dnl The given ogg wasn't built
2696 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2699 AC_CHECK_HEADERS(ogg/ogg.h, [
2700 AC_CHECK_LIB( ogg, oggpack_read, [
2701 VLC_ADD_PLUGINS([ogg])
2702 if test "${enable_sout}" != "no"; then
2703 VLC_ADD_PLUGINS([mux_ogg])
2705 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2711 dnl matroska demux plugin
2714 [ --enable-mkv Matroska demux support (default enabled)])
2715 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2717 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2718 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2720 [#include <ebml/EbmlVersion.h>
2721 #ifdef LIBEBML_VERSION
2722 #if LIBEBML_VERSION >= 0x000706
2726 [AC_MSG_RESULT([yes])
2727 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2728 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2730 [#include <matroska/KaxVersion.h>
2731 #ifdef LIBMATROSKA_VERSION
2732 #if LIBMATROSKA_VERSION >= 0x000705
2736 [AC_MSG_RESULT([yes])
2737 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2738 VLC_ADD_CXXFLAGS([mkv],[])
2739 if test "${SYS}" = "darwin"; then
2740 VLC_ADD_CXXFLAGS([mkv],[-O1])
2742 AC_CHECK_LIB(ebml_pic, main, [
2743 VLC_ADD_PLUGINS([mkv])
2744 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2746 AC_CHECK_LIB(ebml, main, [
2747 VLC_ADD_PLUGINS([mkv])
2748 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2752 [AC_MSG_RESULT([no])
2753 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.])
2757 [AC_MSG_RESULT([no])
2758 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.])
2765 dnl modplug demux plugin
2768 [ --enable-mod Mod demux support (default enabled)])
2769 if test "${enable_mod}" != "no"
2771 AC_ARG_WITH(mod-tree,
2772 [ --with-mod-tree=PATH mod tree for static linking])
2773 if test -n "${with_mod_tree}"
2775 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2776 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2777 if test -z "${real_mod_tree}"
2779 dnl The given directory can't be found
2781 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2783 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2785 dnl Use a custom mod
2786 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2787 VLC_ADD_PLUGINS([mod])
2788 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2789 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2791 dnl The given mod wasn't built
2793 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2796 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2797 VLC_ADD_PLUGINS([mod])
2798 VLC_ADD_CXXFLAGS([mod],[])
2799 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2804 dnl mpc demux plugin
2807 [ --enable-mpc Mpc demux support (default enabled)])
2808 if test "${enable_mpc}" != "no"
2810 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2811 VLC_ADD_PLUGINS([mpc])
2812 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2816 dnl game music emu demux plugin
2819 [ --enable-gme Game Music Emu demux support (default enabled)])
2820 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2823 AC_ARG_WITH(gme-tree,
2824 [ --with-gme-tree=PATH gme tree for static linking])
2825 if test -n "${with_gme_tree}"
2827 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2828 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2829 if test -z "${real_gme_tree}"
2831 dnl The given directory can't be found
2833 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2835 if test -f "${real_gme_tree}/gme/libgme.a"
2837 dnl Use a custom gme
2838 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2839 VLC_ADD_PLUGINS([gme])
2840 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2841 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2843 dnl The given gme wasn't built
2845 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2848 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2857 AC_ARG_WITH(,[Codec plugins:])
2863 [ --enable-mad libmad module (default enabled)])
2864 if test "${enable_mad}" != "no"
2867 [ --with-mad=PATH path to libmad],[],[])
2868 if test "${with_mad}" != "no" -a -n "${with_mad}"
2870 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2871 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2874 AC_ARG_WITH(mad-tree,
2875 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2876 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2878 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2879 if test -z "${real_mad_tree}"
2881 dnl The given directory can't be found
2883 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2885 dnl Use a custom libmad
2886 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2887 if test -f ${real_mad_tree}/mad.h
2890 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2891 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2892 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2893 AC_CHECK_LIB(mad, mad_bit_init, [
2894 VLC_ADD_BUILTINS([mpgatofixed32])
2895 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2896 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2898 LDFLAGS="${LDFLAGS_save}"
2901 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2904 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2905 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2906 AC_CHECK_HEADERS(mad.h, ,
2907 [ 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.]) ])
2908 AC_CHECK_LIB(mad, mad_bit_init, [
2909 VLC_ADD_PLUGINS([mpgatofixed32])
2910 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2911 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2912 CPPFLAGS="${CPPFLAGS_save}"
2913 LDFLAGS="${LDFLAGS_save}"
2918 dnl libid3tag support (FIXME!!! doesn't work with new input)
2920 AC_ARG_ENABLE( id3tag,
2921 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2922 AS_IF([test "${enable_id3tag}" != "no"], [
2923 AC_CHECK_HEADERS(id3tag.h, [
2924 AC_CHECK_HEADERS(zlib.h, [
2925 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2926 VLC_ADD_PLUGINS([id3tag])
2932 dnl ffmpeg decoder/demuxer plugin
2934 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2935 dnl 3- default place,
2937 AC_ARG_ENABLE(ffmpeg,
2938 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2939 if test "${enable_ffmpeg}" != "no"
2942 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2944 AC_ARG_WITH(ffmpeg-mp3lame,
2945 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2947 if test "$with_ffmpeg_mp3lame" = "yes"; then
2948 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2951 AC_ARG_WITH(ffmpeg-faac,
2952 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2954 if test "$with_ffmpeg_faac" = "yes"; then
2955 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2958 AC_ARG_WITH(ffmpeg-dts,
2959 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2961 if test "$with_ffmpeg_dts" = "yes"; then
2962 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2963 AC_CHECK_LIB(dts_pic, dts_free,
2964 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2965 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2966 LDFLAGS="${LDFLAGS_save}"
2969 AC_ARG_WITH(ffmpeg-vorbis,
2970 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2972 if test "$with_ffmpeg_vorbis" = "yes"; then
2973 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2976 AC_ARG_WITH(ffmpeg-theora,
2977 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2979 if test "$with_ffmpeg_theora" = "yes"; then
2980 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2983 AC_ARG_WITH(ffmpeg-ogg,
2984 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2986 if test "$with_ffmpeg_ogg" = "yes"; then
2987 VLC_ADD_LIBS([ffmpeg],[-logg])
2990 AC_ARG_WITH(ffmpeg-zlib,
2991 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2993 if test "$with_ffmpeg_zlib" = "yes"; then
2994 VLC_ADD_LIBS([ffmpeg],[-lz])
2997 AC_ARG_WITH(ffmpeg-amrnb,
2998 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3000 if test "$with_ffmpeg_amrnb" = "yes"; then
3001 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3004 AC_ARG_WITH(ffmpeg-amrwb,
3005 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3007 if test "$with_ffmpeg_amrwb" = "yes"; then
3008 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3011 AC_ARG_WITH(ffmpeg-x264,
3012 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3014 if test "$with_ffmpeg_x264" = "yes"; then
3015 VLC_ADD_LIBS([ffmpeg],[-lx264])
3018 AC_ARG_WITH(ffmpeg-a52,
3019 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3021 if test "$with_ffmpeg_a52" = "yes"; then
3022 VLC_ADD_LIBS([ffmpeg],[-la52])
3026 dnl test for --with-ffmpeg-tree
3028 AC_ARG_WITH(ffmpeg-tree,
3029 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3031 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3032 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3033 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3034 if test -z "${real_ffmpeg_tree}"; then
3035 dnl The given directory can't be found
3037 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3039 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3040 dnl The given libavcodec wasn't built
3042 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3044 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3045 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3046 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3047 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3048 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3049 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3051 dnl The given libavcodec wasn't built with --enable-pp
3053 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3056 dnl Use a custom libffmpeg
3057 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3059 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3060 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3061 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3062 export PKG_CONFIG_PATH=""
3063 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3065 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3066 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3067 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3069 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3070 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3072 unset PKG_CONFIG_PATH
3074 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3075 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3077 unset PKG_CONFIG_LIBDIR
3080 VLC_ADD_BUILTINS([ffmpeg])
3081 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3082 VLC_ADD_BUILTINS([stream_out_switcher])
3085 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3086 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3087 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3088 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3093 dnl Trying with pkg-config
3094 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3097 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3098 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3099 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3100 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3101 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3102 dnl newer ffmpeg have a separate libpostproc
3103 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3104 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3105 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3107 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3108 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3109 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3110 if test "${SYS}" = "darwin"; then
3111 VLC_ADD_BUILTINS([ffmpeg])
3113 VLC_ADD_PLUGINS([ffmpeg])
3115 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3116 if test "${SYS}" = "darwin"; then
3117 VLC_ADD_BUILTINS([stream_out_switcher])
3119 VLC_ADD_PLUGINS([stream_out_switcher])
3122 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3123 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3125 dnl even newer ffmpeg has a libswscale
3126 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3127 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3128 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3129 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3130 AC_CHECK_LIB(swscale, sws_getContext,
3131 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3137 dnl last chance: at the default place
3139 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3140 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3141 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3142 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3143 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3144 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3146 AC_CHECK_LIB(avutil, av_crc_init, [
3147 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3148 LDAVUTIL="-lavutil"])
3150 AC_CHECK_LIB(avcodec, avcodec_init, [
3151 VLC_ADD_BUILTINS([ffmpeg])
3152 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3153 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3154 VLC_ADD_BUILTINS([stream_out_switcher])
3156 [ 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])
3158 AC_CHECK_LIB(postproc, pp_postprocess, [
3159 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3160 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3163 AC_CHECK_LIB(avformat, av_open_input_stream, [
3164 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3165 LDFLAGS="${LDFLAGS_save}"
3166 CPPFLAGS="${CPPFLAGS_save}"
3168 AC_CHECK_LIB(swscale, sws_getContext, [
3169 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3170 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3171 LDFLAGS="${LDFLAGS_save}"
3172 CPPFLAGS="${CPPFLAGS_save}"
3178 dnl ffmpegaltivec plugin
3180 AC_ARG_ENABLE(ffmpegaltivec,
3181 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3182 if test "${enable_ffmpegaltivec}" = "yes"
3184 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3185 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3186 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3187 if test -z "${real_ffmpeg_tree}"; then
3188 dnl The given directory can't be found
3190 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3192 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3193 dnl The given libavcodecaltivec wasn't built
3195 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3197 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3198 dnl The given libavcodecaltivec wasn't built with --enable-pp
3200 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3202 dnl Use a custom libffmpeg
3203 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3204 VLC_ADD_BUILTINS([ffmpegaltivec])
3205 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3206 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3207 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3209 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3210 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3211 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3212 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3214 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3215 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3220 dnl faad decoder plugin
3223 [ --enable-faad faad codec (default disabled)])
3224 if test "${enable_faad}" = "yes"
3226 AC_ARG_WITH(faad-tree,
3227 [ --with-faad-tree=PATH faad tree for static linking])
3228 if test -n "${with_faad_tree}"
3230 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3231 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3232 if test -z "${real_faad_tree}"
3234 dnl The given directory can't be found
3236 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3238 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3240 dnl Use a custom faad
3241 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3242 VLC_ADD_BUILTINS([faad])
3243 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3244 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3246 dnl The given libfaad wasn't built
3248 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3251 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3252 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3253 AC_CHECK_HEADERS(faad.h, ,
3254 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3255 AC_CHECK_LIB(faad, faacDecOpen, [
3256 VLC_ADD_PLUGINS([faad])
3257 VLC_ADD_LIBS([faad],[-lfaad]) ],
3258 AC_CHECK_LIB(faad, NeAACDecOpen, [
3259 VLC_ADD_PLUGINS([faad])
3260 VLC_ADD_LIBS([faad],[-lfaad]) ],
3261 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3262 LDFLAGS="${LDFLAGS_save}"
3263 CPPFLAGS="${CPPFLAGS_save}"
3268 dnl twolame encoder plugin
3270 AC_ARG_ENABLE(twolame,
3271 [ --enable-twolame twolame codec (default disabled)])
3272 if test "${enable_twolame}" = "yes"
3274 AC_ARG_WITH(twolame-tree,
3275 [ --with-twolame-tree=PATH twolame tree for static linking])
3276 if test -n "${with_twolame_tree}"
3278 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3279 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3280 if test -z "${real_twolame_tree}"
3282 dnl The given directory can't be found
3284 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3286 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3288 dnl Use a custom twolame
3289 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3290 VLC_ADD_BUILTINS([twolame])
3291 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3292 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3294 dnl The given libtwolame wasn't built
3296 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3299 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3300 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3301 AC_CHECK_HEADERS(twolame.h, ,
3302 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3303 AC_CHECK_LIB(twolame, twolame_init, [
3304 VLC_ADD_PLUGINS([twolame])
3305 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3306 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3307 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3308 LDFLAGS="${LDFLAGS_save}"
3309 CPPFLAGS="${CPPFLAGS_save}"
3314 dnl QuickTime plugin
3316 AC_ARG_ENABLE(quicktime,
3317 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3318 if test "${enable_quicktime}" != "no" &&
3319 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3321 if test "${SYS}" = "mingw32"; then
3322 VLC_ADD_BUILTINS([quicktime])
3324 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3325 [ VLC_ADD_BUILTINS([quicktime])
3326 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3327 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3335 [ --enable-real Real audio module (default disabled)])
3336 if test "${enable_real}" = "yes"; then
3337 VLC_ADD_PLUGINS([realaudio])
3341 dnl Real RTSP plugin
3343 AC_ARG_ENABLE(realrtsp,
3344 [ --enable-realrtsp Real RTSP module (default disabled)])
3345 if test "${enable_realrtsp}" = "yes"; then
3346 VLC_ADD_PLUGINS([access_realrtsp])
3352 AC_CHECK_HEADERS(zlib.h, [
3353 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3356 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3357 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3363 AC_ARG_ENABLE(libtar,
3364 [ --enable-libtar support for skins2 (default enabled)])
3366 AS_IF([test "${enable_libtar}" != "no"],[
3367 AC_CHECK_HEADERS(libtar.h, [
3368 VLC_ADD_LIBS([skins2],[-ltar])
3373 dnl A52/AC3 decoder plugin
3376 [ --enable-a52 A/52 support with liba52 (default enabled)])
3377 if test "${enable_a52}" != "no"
3380 [ --with-a52=PATH a52 headers and libraries])
3381 AC_ARG_WITH(a52-tree,
3382 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3383 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3385 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3386 if test -z "${real_a52_tree}"
3388 dnl The given directory can't be found
3390 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3392 dnl Use a custom a52dec
3393 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3394 if test -f ${real_a52_tree}/include/a52.h
3397 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3398 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3399 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3400 AC_CHECK_LIB(a52, a52_free, [
3401 VLC_ADD_BUILTINS([a52tofloat32])
3402 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3403 VLC_ADD_LIBS([a52tofloat32],[-la52])
3405 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3407 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3409 AC_MSG_ERROR([the specified tree hasn't been compiled])
3412 LDFLAGS="${LDFLAGS_save}"
3415 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3418 if test -z "${with_a52}"
3423 LDFLAGS_test="-L${with_a52}/lib"
3424 CPPFLAGS_test="-I${with_a52}/include"
3426 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3427 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3428 AC_CHECK_HEADERS(a52dec/a52.h, [
3429 AC_CHECK_LIB(a52, a52_free, [
3430 VLC_ADD_PLUGINS([a52tofloat32])
3431 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3432 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3434 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.])
3437 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.])
3439 CPPFLAGS="${CPPFLAGS_save}"
3440 LDFLAGS="${LDFLAGS_save}"
3444 AC_ARG_WITH(a52-fixed,
3445 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3447 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3450 dnl DTS Coherent Acoustics decoder plugin
3452 AS_IF([test "x${enable_dts}" != "x"], [
3453 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3455 AS_IF([test "x${with_dts_tree}" != "x"], [
3456 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3460 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3461 AS_IF([test "${enable_dca}" != "no"], [
3462 AC_ARG_WITH(dca-tree,
3463 [ --with-dca-tree=PATH libdca tree for static linking],,
3464 [with_dca_tree="no"])
3465 AS_IF([test "${with_dca_tree}" != "no"], [
3466 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3467 AS_IF([test -z "${real_dca_tree}"], [
3468 dnl The given directory can't be found
3470 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3472 dnl Use a custom libdca
3473 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3474 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3476 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3477 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3478 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3480 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3484 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3487 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3488 VLC_ADD_PLUGINS([dtstofloat32])
3489 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3490 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3492 AS_IF([test "x${enable_dca}" != "x"], [
3493 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3503 [ --enable-flac libflac decoder/encoder support (default disabled)])
3504 if test "${enable_flac}" = "yes"
3506 AC_ARG_WITH(flac-tree,
3507 [ --with-flac-tree=PATH flac tree for static linking])
3508 if test -n "${with_flac_tree}"
3510 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3511 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3512 if test -z "${real_flac_tree}"
3514 dnl The given directory can't be found
3516 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3518 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3520 dnl Use a custom flac
3521 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3522 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3523 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3524 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3526 dnl The given flac wasn't built
3528 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3531 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3532 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3540 AC_ARG_ENABLE(libmpeg2,
3541 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3542 if test "${enable_libmpeg2}" != "no"
3544 AC_ARG_WITH(libmpeg2-tree,
3545 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3546 if test -n "${with_libmpeg2_tree}"
3548 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3549 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3550 if test -z "${real_libmpeg2_tree}"
3552 dnl The given directory can't be found
3554 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3556 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3558 dnl Use a custom libmpeg2
3559 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3560 VLC_ADD_BUILTINS([libmpeg2])
3561 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3562 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3563 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3565 dnl The given libmpeg2 wasn't built
3567 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3570 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3571 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3573 [#include <mpeg2dec/mpeg2.h>
3574 #ifdef MPEG2_RELEASE
3575 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3579 [AC_MSG_RESULT([yes])
3580 VLC_ADD_PLUGINS([libmpeg2])
3581 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3582 [AC_MSG_RESULT([no])
3583 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.])])],
3585 [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.])]
3593 AC_ARG_ENABLE(vorbis,
3594 [ --enable-vorbis Vorbis decoder support (default enabled)])
3595 if test "${enable_vorbis}" != "no"
3597 AC_ARG_WITH(vorbis-tree,
3598 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3599 if test -n "${with_vorbis_tree}"
3601 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3602 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3603 if test -z "${real_vorbis_tree}"
3605 dnl The given directory can't be found
3607 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3609 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3611 dnl Use a custom vorbis
3612 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3613 VLC_ADD_PLUGINS([vorbis])
3614 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3615 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3617 dnl The given vorbis wasn't built
3619 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3622 AC_CHECK_HEADERS(vorbis/codec.h, [
3623 VLC_ADD_PLUGINS([vorbis])
3624 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3626 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3627 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3634 AC_ARG_ENABLE(tremor,
3635 [ --enable-tremor Tremor decoder support (default disabled)])
3636 if test "${enable_tremor}" = "yes"
3638 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3639 VLC_ADD_PLUGINS([tremor])
3640 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3647 AC_ARG_ENABLE(speex,
3648 [ --enable-speex Speex decoder support (default enabled)])
3649 if test "${enable_speex}" != "no"
3651 AC_ARG_WITH(speex-tree,
3652 [ --with-speex-tree=PATH speex tree for static linking])
3653 if test -n "${with_speex_tree}"
3655 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3656 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3657 if test -z "${real_speex_tree}"
3659 dnl The given directory can't be found
3661 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3663 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3665 dnl Use a custom speex
3666 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3667 VLC_ADD_PLUGINS([speex])
3668 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3669 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3671 dnl The given speex wasn't built
3673 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3676 AC_CHECK_HEADERS(speex/speex.h, [
3677 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3678 AC_CHECK_LIB(speex, speex_decode_int, [
3679 VLC_ADD_PLUGINS([speex])
3680 VLC_ADD_LIBS([speex],[-lspeex]) ],
3681 [ AC_MSG_RESULT([no])
3682 AC_MSG_WARN([Your libspeex is too old, please get the development
3684 LDFLAGS="${LDFLAGS_save}"
3690 dnl tarkin decoder plugin
3692 AC_ARG_ENABLE(tarkin,
3693 [ --enable-tarkin experimental tarkin codec (default disabled)])
3694 if test "${enable_tarkin}" = "yes"
3696 AC_ARG_WITH(tarkin-tree,
3697 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3698 if test -n "${with_tarkin_tree}"
3700 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3701 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3702 if test -f "${real_tarkin_tree}/tarkin.o"
3704 VLC_ADD_BUILTINS([tarkin])
3705 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3706 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])
3709 dnl The given tarkin tree wasn't built
3711 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3712 make sure you compiled tarkin in ${with_tarkin_tree}])
3718 dnl theora decoder plugin
3720 AC_ARG_ENABLE(theora,
3721 [ --enable-theora experimental theora codec (default disabled)])
3722 if test "${enable_theora}" = "yes"
3724 AC_CHECK_HEADERS(theora/theora.h, [
3725 AC_CHECK_LIB(theora, theora_granule_time, [
3726 VLC_ADD_PLUGINS([theora])
3727 theora_libs="-ltheora -logg"
3728 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3729 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3730 You also need to check that you have a libogg posterior to the 1.0 release.])],
3736 dnl dirac decoder plugin
3738 AC_ARG_ENABLE(dirac,
3739 [ --enable-dirac experimental dirac codec (default disabled)])
3740 if test "${enable_dirac}" = "yes"; then
3741 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3742 VLC_ADD_PLUGINS([dirac])
3743 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3744 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3745 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3750 dnl PNG decoder module
3753 [ --enable-png PNG support (default enabled)])
3754 if test "${enable_png}" != "no"; then
3755 AC_CHECK_HEADERS(png.h, [
3756 LDFLAGS="${LDFLAGS_save} -lz"
3757 AC_CHECK_LIB(png, png_set_rows, [
3758 VLC_ADD_LIBS([png],[-lpng -lz])
3759 VLC_ADD_PLUGINS([png])
3760 VLC_ADD_PLUGINS([osdmenu osd_parser])
3761 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3763 LDFLAGS="${LDFLAGS_save}"
3768 dnl H264 encoder plugin (using libx264)
3771 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3772 if test "${enable_x264}" != "no"; then
3773 AC_ARG_WITH(x264-tree,
3774 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3775 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3777 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3778 if test -z "${real_x264_tree}"
3780 dnl The given directory can't be found
3782 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3784 dnl Use a custom libx264
3785 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3786 if test -f ${real_x264_tree}/x264.h
3789 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3790 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3791 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3792 AC_CHECK_LIB(x264, x264_encoder_open, [
3793 VLC_ADD_BUILTINS([x264])
3794 VLC_ADD_LIBS([x264],[-lx264])
3796 AC_MSG_ERROR([the specified tree hasn't been compiled])
3798 LDFLAGS="${LDFLAGS_save}"
3801 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3804 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3805 AC_CHECK_HEADERS(x264.h, [
3806 AC_CHECK_LIB(x264, x264_encoder_open, [
3807 VLC_ADD_PLUGINS([x264])
3808 VLC_ADD_LIBS([x264],[-lx264])
3810 if test "${enable_x264}" = "yes"; then
3811 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3815 LDFLAGS="${LDFLAGS_save}"
3820 dnl libfluidsynth (MIDI synthetizer) plugin
3822 AC_ARG_ENABLE(fluidsynth,
3823 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3824 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3825 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3826 VLC_ADD_PLUGINS(fluidsynth)
3827 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3828 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3830 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3831 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3837 dnl Teletext Modules
3838 dnl vbi decoder plugin (using libzbvi)
3843 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3845 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3847 AS_IF( [test "${enable_zvbi}" != "no"],[
3848 AS_IF( [test "${enable_telx}" = "yes"],[
3849 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3851 PKG_CHECK_MODULES(ZVBI,
3854 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3855 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3856 VLC_ADD_PLUGINS([zvbi])
3857 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3859 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3864 AS_IF( [test "${enable_telx}" = "yes"],[
3865 VLC_ADD_PLUGINS([telx])
3872 [ --enable-cmml CMML support (default enabled)])
3873 if test "${enable_cmml}" != "no"
3875 VLC_ADD_PLUGINS([cmml])
3883 AC_ARG_WITH(,[Video plugins:])
3886 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3887 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3888 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3889 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3890 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3892 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3893 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3898 #include <X11/Xlib.h>
3900 CPPFLAGS="${CPPFLAGS_save}"
3905 dnl (enabled by default except on win32)
3908 [ --enable-x11 X11 support (default enabled)])
3909 if test "${enable_x11}" != "no" &&
3910 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3911 test "${enable_x11}" = "yes"); then
3912 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3913 AC_CHECK_HEADERS(X11/Xlib.h, [
3914 VLC_ADD_PLUGINS([panoramix])
3915 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3916 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3917 AC_CHECK_LIB(Xext, XShmAttach, [
3918 VLC_ADD_PLUGINS([x11])
3919 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3920 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3923 CPPFLAGS="${CPPFLAGS_save}"
3928 dnl (enabled by default except on win32)
3930 AC_ARG_ENABLE(xvideo,
3931 [ --enable-xvideo XVideo support (default enabled)])
3932 if test "${enable_xvideo}" != "no" &&
3933 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3934 test "${enable_xvideo}" = "yes"); then
3935 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3936 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3937 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3938 AC_CHECK_LIB(Xv,XvPutImage,[
3939 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3940 # test for libXv_pic.
3941 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3942 VLC_ADD_PLUGINS([xvideo])
3943 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3944 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3946 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3947 VLC_ADD_PLUGINS([xvideo])
3948 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3949 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3951 VLC_ADD_BUILTINS([xvideo])
3952 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3953 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3957 CFLAGS="${CFLAGS_save}"
3959 CPPFLAGS="${CPPFLAGS_save}")
3964 dnl (enabled by default except on win32)
3967 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3968 if test "${enable_glx}" != "no" &&
3969 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3970 test "${enable_glx}" = "yes"); then
3971 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3972 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3973 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3974 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3978 VLC_ADD_PLUGINS([glx])
3979 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3980 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3981 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3982 CPPFLAGS="${CPPFLAGS_save}"
3987 dnl (enabled by default except on win32)
3990 [ --enable-xvmc XVMC support (default disabled)])
3991 if test "${enable_xvmc}" = "yes" &&
3992 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3993 test "${enable_xvmc}" = "yes"); then
3994 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3995 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3996 VLC_ADD_PLUGINS([xvmc])
3997 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3998 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4000 CPPFLAGS="${CPPFLAGS_save}"
4004 dnl Check for the Xinerama extension
4006 AC_ARG_ENABLE(xinerama,
4007 [ --enable-xinerama Xinerama support (default enabled)])
4008 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4009 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4010 test "${enable_xvideo}" = "yes"); then
4011 ac_cv_have_xinerama="no"
4012 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4013 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4014 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4015 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4016 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4017 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4018 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4019 ac_cv_have_xinerama="yes"
4021 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4022 VLC_ADD_LIBS([xvideo],[-lXinerama])
4023 VLC_ADD_LIBS([x11],[-lXinerama])
4024 VLC_ADD_LIBS([glx],[-lXinerama])
4025 ac_cv_have_xinerama="yes"
4029 if test "${ac_cv_have_xinerama}" = "yes"; then
4030 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4032 CFLAGS="${CFLAGS_save}"
4033 CPPFLAGS="${CPPFLAGS_save}"
4036 dnl Check for XF86VidMode extension
4038 ac_cv_have_xf86vidmode="no"
4039 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4040 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4041 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4042 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4043 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4044 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4045 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4046 ac_cv_have_xf86vidmode="yes"
4048 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4049 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4050 VLC_ADD_LIBS([x11],[-lXxf86vm])
4051 VLC_ADD_LIBS([glx],[-lXxf86vm])
4052 ac_cv_have_xf86vidmode="yes"
4056 [#ifdef HAVE_X11_XLIB_H
4057 # include <X11/Xlib.h>
4060 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4061 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4063 CFLAGS="${CFLAGS_save}"
4064 CPPFLAGS="${CPPFLAGS_save}"
4070 dnl (enabled by default except on beos)
4072 AC_ARG_ENABLE(opengl,
4073 [ --enable-opengl OpenGL support (default enabled)])
4074 if test "${enable_opengl}" != "no" &&
4075 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4076 if test "${SYS}" != "darwin"; then
4077 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4078 VLC_ADD_PLUGINS([opengl])
4079 if test "${SYS}" != "mingw32"; then
4080 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4082 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4086 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4087 VLC_ADD_PLUGINS([opengl])
4088 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4096 [ --enable-sdl SDL support (default enabled)])
4097 AC_ARG_ENABLE(sdl-image,
4098 [ --enable-sdl-image SDL image support (default enabled)])
4099 if test "${enable_sdl}" != "no"
4102 AC_ARG_WITH(sdl-config-path,
4103 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4104 [ if test "${with_sdl_config_path}" != "no"
4106 SDL_PATH="${with_sdl_config_path}:${PATH}"
4108 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4109 SDL_CONFIG="${SDL12_CONFIG}"
4110 SDL_HEADER="SDL12/SDL.h"
4111 SDL_IMAGE="SDL12/SDL_image.h"
4112 if test "${SDL_CONFIG}" = "no"
4114 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4115 SDL_CONFIG=${SDL11_CONFIG}
4116 SDL_HEADER="SDL11/SDL.h"
4117 SDL_IMAGE="SDL11/SDL_image.h"
4119 if test "${SDL_CONFIG}" = "no"
4121 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4122 SDL_HEADER="SDL/SDL.h"
4123 SDL_IMAGE="SDL/SDL_image.h"
4125 # check for cross-compiling
4127 AC_ARG_WITH(sdl-prefix,
4128 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4130 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4131 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4133 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4135 if test "${SDL_CONFIG}" != "no"
4137 # SDL on Darwin is heavily patched and can only run SDL_image
4138 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4139 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4141 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4142 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4143 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4144 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4145 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4146 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4147 As a last resort we also test for SDL.h presence),
4148 [ AC_MSG_ERROR([The development package for SDL is not installed.
4149 Please install it and try again. Alternatively you can also configure with
4152 AS_IF([ test "${enable_sdl_image}" != "no"],[
4153 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4154 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4155 VLC_ADD_PLUGINS([sdl_image])
4156 AC_CHECK_LIB(png, png_set_rows,
4157 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4158 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4159 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4160 AC_CHECK_LIB(tiff, TIFFClientOpen,
4161 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4162 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4163 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4164 As a last resort we also test for SDL_image.h presence),
4165 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4166 You should install it alongside your SDL package.])
4169 CPPFLAGS="${CPPFLAGS_save}"
4170 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4172 AC_MSG_ERROR([The development package for SDL is not installed.
4173 Please install it and try again. Alternatively you can also configure with
4177 elif test "${enable_sdl}" = "yes"
4179 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4180 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4188 AC_ARG_ENABLE(freetype,
4189 [ --enable-freetype freetype support (default enabled)])
4190 AC_ARG_ENABLE(fribidi,
4191 [ --enable-fribidi fribidi support (default enabled)])
4192 if test "${enable_freetype}" != "no"
4194 FREETYPE_PATH="${PATH}"
4195 AC_ARG_WITH(freetype-config-path,
4196 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4197 [ if test "${with_freetype_config_path}" != "no"
4199 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4201 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4203 if test "${FREETYPE_CONFIG}" != "no"
4205 VLC_ADD_PLUGINS([freetype])
4206 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4207 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4208 if test "${SYS}" = "mingw32"; then
4209 VLC_ADD_LIBS([freetype],[-lxml2])
4211 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4212 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4213 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4214 AC_CHECK_HEADERS(Carbon/Carbon.h,
4215 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4216 elif test "${enable_freetype}" = "yes"
4218 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4219 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4224 if test "${enable_fribidi}" != "no"
4226 FRIBIDI_PATH="${PATH}"
4227 AC_ARG_WITH(fribidi-config-path,
4228 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4229 [ if test "${with_fribidi_config_path}" != "no"
4231 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4233 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4235 if test "${FRIBIDI_CONFIG}" != "no"
4237 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4238 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4239 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4240 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4248 AC_ARG_ENABLE(libxml2,
4249 [ --enable-libxml2 libxml2 support (default enabled)])
4250 if test "${enable_libxml2}" != "no"
4253 AC_ARG_WITH(xml2-config-path,
4254 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4255 [ if test "${with_xml2_config_path}" != "no"; then
4256 XML2_PATH="${with_xml2_config_path}:${PATH}"
4258 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4259 if test "${XML2_CONFIG}" != "no"; then
4260 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4261 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4262 dnl depends on the xmlTextReader extension
4263 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4264 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4265 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4266 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4267 VLC_ADD_PLUGINS([xml]) ],[
4268 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4269 if test "${enable_xml2}" = "yes"; then
4270 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4273 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4274 if test "${enable_xml2}" = "yes"; then
4275 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4277 LDFLAGS="${LDFLAGS_save}"
4278 CPPFLAGS="${CPPFLAGS_save}"
4280 if test "${enable_xml2}" = "yes"; then
4281 AC_MSG_ERROR([Could not find libxml2])
4290 [ --enable-svg SVG support (default disabled)])
4291 if test "${enable_svg}" = "yes"
4293 PKG_CHECK_MODULES(SVG,
4294 librsvg-2.0 >= 2.9.0,
4296 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4297 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4298 VLC_ADD_PLUGINS([svg]) ],
4299 [AC_MSG_WARN(SVG library not found)])
4303 dnl Snapshot vout module (with cache)
4305 AC_ARG_ENABLE(snapshot,
4306 [ --enable-snapshot snapshot module (default disabled)])
4307 if test "${enable_snapshot}" = "yes"
4309 VLC_ADD_PLUGINS([snapshot])
4313 dnl Qt Embedded module
4314 dnl (disabled by default)
4317 [ --enable-qte QT Embedded support (default disabled)])
4318 if test "${enable_qte}" = "yes"
4321 [ --with-qte=PATH Qt Embedded headers and libraries])
4322 if test "${with_qte}" != "no" -a -n "${with_qte}"
4324 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4325 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])
4327 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4328 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4330 VLC_ADD_PLUGINS([qte])
4332 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4333 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4334 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4336 CPPFLAGS="${CPPFLAGS_save}"
4340 dnl Qt Video output module
4341 dnl (disabled by default)
4343 dnl AC_ARG_ENABLE(qt_video,
4344 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4345 dnl if test "${enable_qt_video}" = "yes"
4347 dnl VLC_ADD_PLUGINS([qt_video])
4348 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4349 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4350 dnl AC_CHECK_LIB(qt-mt,main,[
4351 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4353 dnl AC_CHECK_LIB(qt,main,[
4354 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4357 dnl NEED_QTE_MAIN=yes
4358 dnl LDFLAGS="${LDFLAGS_save}"
4359 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4363 dnl Roku HD1000 Video output module
4365 AC_ARG_ENABLE(hd1000v,
4366 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4367 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4368 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4369 test "${enable_hd1000v}" = "yes"); then
4371 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4373 can_build_roku="yes"
4377 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4379 if test "$can_build_roku" = "yes"
4381 VLC_ADD_PLUGINS([hd1000v])
4382 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4388 dnl Windows DirectX module
4391 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4393 VLC_ADD_PLUGINS([panoramix])
4396 AC_ARG_ENABLE(directx,
4397 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4398 if test "${enable_directx}" != "no"
4400 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4402 AC_ARG_WITH(directx,
4403 [ --with-directx=PATH Win32 DirectX headers])
4404 if test -z "${with_directx}"
4406 AC_CHECK_HEADERS(ddraw.h,
4407 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4408 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4410 AC_CHECK_HEADERS(GL/gl.h,
4411 [ VLC_ADD_PLUGINS([glwin32])
4412 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4414 AC_CHECK_HEADERS(d3d9.h,
4415 [ VLC_ADD_PLUGINS([direct3d])
4416 VLC_ADD_LIBS([direct3d],[-lgdi32])
4419 AC_MSG_CHECKING(for directX headers in ${with_directx})
4420 if test -f ${with_directx}/ddraw.h
4422 VLC_ADD_PLUGINS([vout_directx aout_directx])
4423 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4424 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4428 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4435 dnl Linux framebuffer module
4438 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4439 if test "${enable_fb}" != "no"
4441 AC_CHECK_HEADERS(linux/fb.h, [
4442 VLC_ADD_PLUGINS([fb])
4447 dnl Linux MGA module
4450 [ --enable-mga Linux kernel Matrox support (default disabled)],
4451 [ if test "${enable_mga}" = "yes"
4453 VLC_ADD_PLUGINS([mga])
4459 AC_ARG_ENABLE(svgalib,
4460 [ --enable-svgalib SVGAlib support (default disabled)])
4461 if test "${enable_svgalib}" = "yes"
4463 VLC_ADD_PLUGINS([svgalib])
4464 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4469 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4470 dnl TODO: support for static linking
4472 AC_ARG_ENABLE(directfb,
4473 [ --enable-directfb DirectFB support (default disabled)])
4474 AC_ARG_WITH(directfb,
4475 [ --with-directfb=PATH path to DirectFB headers and libraries])
4477 if test "${enable_directfb}" = "yes"; then
4478 have_directfb="false"
4479 CPPFLAGS_mydirectfb=
4481 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4482 dnl Trying the given location
4483 CPPFLAGS_save="${CPPFLAGS}"
4486 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4487 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4488 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4490 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4491 LIBS="${LIBS} ${LIBS_new}"
4493 dnl FIXME: too obscure
4494 AC_CHECK_HEADER([directfb.h], [
4495 AC_CHECK_LIB([direct],[direct_initialize], [
4496 AC_CHECK_LIB([fusion], [fusion_enter], [
4497 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4498 ], have_directfb="false")
4499 ], have_directfb="false")
4500 ], have_directfb="false")
4503 CPPFLAGS="${CPPFLAGS_save}"
4506 if test "${have_directfb}" = "true"; then
4507 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4508 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4511 dnl Look for directfb-config
4512 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4513 if test "${DIRECTFB_CONFIG}" != "no"; then
4514 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4515 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4516 have_directfb="true"
4518 dnl Trying with pkg-config
4519 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4520 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4521 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4522 have_directfb="true"
4523 ], [have_directfb="false"])
4526 if test "${have_directfb}" = "true"; then
4527 VLC_ADD_PLUGINS([directfb])
4528 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4529 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4531 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4541 [ --enable-ggi GGI support (default disabled)])
4542 if test "${enable_ggi}" = "yes"
4544 VLC_ADD_PLUGINS([ggi])
4545 VLC_ADD_LIBS([ggi],[-lggi])
4547 [ --with-ggi=PATH path to libggi],
4548 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4550 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4551 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4558 AC_ARG_ENABLE(glide,
4559 [ --enable-glide Glide (3dfx) support (default disabled)])
4560 if test "${enable_glide}" = "yes"
4562 CFLAGS_save="${CFLAGS}"
4564 [ --with-glide=PATH path to libglide],
4565 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4567 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4568 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4569 CFLAGS="$CFLAGS -I${with_glide}/include"
4571 CFLAGS="$CFLAGS -I/usr/include/glide"
4572 AC_CHECK_HEADER(glide.h,[
4573 VLC_ADD_PLUGINS([glide])
4574 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4575 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4577 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4579 CFLAGS="${CFLAGS_save}"
4586 [ --enable-aa aalib output (default disabled)])
4587 if test "${enable_aa}" = "yes"
4589 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4590 if test "${have_aa}" = "true"
4592 VLC_ADD_PLUGINS([aa])
4593 VLC_ADD_LIBS([aa],[-laa])
4601 [ --enable-caca libcaca output (default disabled)])
4602 if test "${enable_caca}" = "yes"
4605 AC_ARG_WITH(caca-config-path,
4606 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4607 [ if test "${with_caca_config_path}" != "no"
4609 CACA_PATH="${with_caca_config_path}:${PATH}"
4611 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4612 if test "${CACA_CONFIG}" != "no"
4614 VLC_ADD_PLUGINS([caca])
4615 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4616 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4621 dnl win32 GDI plugin
4623 AC_ARG_ENABLE(wingdi,
4624 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4625 if test "${enable_wingdi}" != "no"; then
4626 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4627 VLC_ADD_PLUGINS([wingdi])
4628 VLC_ADD_LIBS([wingdi],[-lgdi32])
4630 if test "${SYS}" = "mingwce"; then
4631 VLC_ADD_PLUGINS([wingdi wingapi])
4639 AC_ARG_WITH(,[Audio plugins:])
4642 dnl OSS /dev/dsp module (enabled by default except on win32)
4645 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4647 if test "${enable_oss}" != "no" &&
4648 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4649 test "${enable_oss}" = "yes")
4651 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4652 VLC_ADD_PLUGINS([oss])
4653 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4661 [ --enable-esd Esound library support (default disabled)],
4662 [if test "${enable_esd}" = "yes"
4664 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4665 if test "${ESD_CONFIG}" != "no"
4667 VLC_ADD_PLUGINS([esd])
4668 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4669 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4674 dnl Portaudio module
4676 AC_ARG_ENABLE(portaudio,
4677 [ --enable-portaudio Portaudio library support (default disabled)],
4678 [if test "${enable_portaudio}" = "yes"
4680 VLC_ADD_PLUGINS([portaudio])
4681 VLC_ADD_CXXFLAGS([portaudio],[])
4682 if test "${SYS}" = "mingw32"; then
4683 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4685 VLC_ADD_LIBS([portaudio],[-lportaudio])
4690 dnl aRts module -- broken (freeze wxWidgets)
4693 [ --enable-arts aRts sound server (default disabled)],
4694 [if test "${enable_arts}" = "yes"
4696 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4697 if test "${ARTS_CONFIG}" != "no"
4699 VLC_ADD_PLUGINS([arts])
4700 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4701 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4709 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4710 if test "${enable_alsa}" != "no"
4712 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4713 if test "${have_alsa}" = "true"
4715 CFLAGS="${CFLAGS_save}"
4716 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4717 #define ALSA_PCM_NEW_SW_PARAMS_API
4718 #include <alsa/asoundlib.h>],
4719 [snd_pcm_hw_params_get_period_time(0,0,0);],
4720 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4721 VLC_ADD_PLUGINS([alsa])
4722 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4724 if test "${enable_alsa}" = "yes"; then
4725 AC_MSG_ERROR([Could not find ALSA development headers])
4731 dnl win32 waveOut plugin
4733 AC_ARG_ENABLE(waveout,
4734 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4735 if test "${enable_waveout}" != "no"; then
4736 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4737 VLC_ADD_PLUGINS([waveout])
4738 VLC_ADD_LIBS([waveout],[-lwinmm])
4740 if test "${SYS}" = "mingwce"; then
4741 VLC_ADD_PLUGINS([waveout])
4746 dnl CoreAudio plugin
4748 AC_ARG_ENABLE(macosx-audio,
4749 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4750 if test "${enable_macosx-audio}" != "no" &&
4751 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4753 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4754 [ VLC_ADD_BUILTINS([auhal])
4755 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4756 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4760 dnl Roku HD1000 audio
4762 AC_ARG_ENABLE(hd1000a,
4763 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4764 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4765 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4766 test "${enable_hd1000a}" = "yes")
4769 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4770 VLC_ADD_PLUGINS([hd1000a])
4771 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4779 [ --enable-jack JACK audio I/O modules (default disabled)],,
4782 AS_IF([test "${enable_jack}" != "no"], [
4783 AC_CHECK_HEADERS(jack/jack.h, [
4784 VLC_ADD_PLUGINS([access_jack jack])
4785 VLC_ADD_LIBS([access_jack jack],[-ljack])
4786 ],[AC_MSG_ERROR([cannot find JACK headers])])
4790 dnl CyberLink for C++ UPnP stack
4792 AC_ARG_ENABLE(cyberlink,
4793 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4794 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4795 AC_ARG_WITH(cyberlink-tree,
4796 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4799 dnl test for --with-cyberlink-tree
4801 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4803 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4804 AS_IF([test -z "${real_cyberlink_tree}"], [
4805 dnl The given directory can't be found
4807 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4809 CPPFLAGS_save="${CPPFLAGS}"
4810 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4811 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4812 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4813 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4814 VLC_ADD_PLUGINS([upnp_cc])
4816 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4818 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4819 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4820 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4821 dnl The mere fact that we have to make such an ugly check sucks
4822 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4825 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4826 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4827 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4828 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4829 using namespace CyberLink;
4831 class testclass : public SearchResponseListener, public MediaPlayer
4833 virtual void deviceSearchResponseReceived( SSDPPacket *)
4840 addSearchResponseListener (this);
4844 ],[testclass l;])],[LIBS_cclink="$l"])
4847 dnl should not happen - otherwise this needs fixing - hence FAILURE
4848 AS_IF([test "${LIBS_cclink}" = "no"],
4849 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4850 AC_MSG_RESULT([${LIBS_cclink}])
4851 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4854 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4856 CPPFLAGS="${CPPFLAGS_save}"
4862 dnl UPnP Plugin (Intel SDK)
4865 [ --enable-upnp Intel UPnP SDK (default enabled)])
4867 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4868 AS_IF([test "x${enable_upnp}" != "xno"], [
4869 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4870 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4871 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4873 AS_IF([test "${has_upnp}" = "yes"], [
4874 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4880 AS_IF([test "${has_upnp}" = "yes"], [
4881 VLC_ADD_PLUGINS([upnp_intel])
4886 dnl Interface plugins
4889 AC_ARG_WITH(,[Interface plugins:])
4891 dnl special case for BeOS
4892 if test "${SYS}" = "beos"
4894 VLC_ADD_BUILTINS([beos])
4900 AC_ARG_ENABLE(skins2,
4901 [ --enable-skins2 Skins2 interface module (default disabled)])
4902 if test "${enable_skins2}" = "yes" ||
4903 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4904 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4906 dnl test for the required libraries
4907 skins2_missing_lib="no"
4910 if test "${FREETYPE_CONFIG}" != "no"; then
4911 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4912 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4914 skins2_missing_lib="yes"
4915 if test "${enable_skins2}" = "yes"; then
4916 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4920 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4921 VLC_ADD_PLUGINS([skins2])
4922 ALIASES="${ALIASES} svlc"
4923 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4924 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4925 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4927 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4928 VLC_ADD_PLUGINS([skins2])
4929 ALIASES="${ALIASES} svlc"
4930 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4931 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4932 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4934 else if test "${skins2_missing_lib}" = "no"; then
4935 VLC_ADD_PLUGINS([skins2])
4936 ALIASES="${ALIASES} svlc"
4937 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4938 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4939 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4947 dnl AC_ARG_ENABLE(gtk,
4948 dnl [ --enable-gtk Gtk+ support (default enabled)])
4949 dnl if test "${enable_gtk}" != "no"
4951 dnl GTK_PATH="${PATH}"
4952 dnl AC_ARG_WITH(gtk-config-path,
4953 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4954 dnl [ if test "${with_gtk_config_path}" != "no"
4956 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4958 dnl # look for gtk-config
4959 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4960 dnl GTK_CONFIG=${GTK12_CONFIG}
4961 dnl if test "${GTK_CONFIG}" = "no"
4963 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4965 dnl if test "${GTK_CONFIG}" != "no"
4967 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4969 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.])
4971 dnl if test "${SYS}" != "mingw32"; then
4972 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4973 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4975 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4976 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4978 dnl # now look for the gtk.h header
4979 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4980 dnl ac_cv_gtk_headers=yes
4981 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4982 dnl ac_cv_gtk_headers=no
4983 dnl echo "Cannot find gtk development headers."
4985 dnl if test "${ac_cv_gtk_headers}" = "yes"
4987 dnl VLC_ADD_PLUGINS([gtk])
4988 dnl if test "${SYS}" != "mingw32"; then
4989 dnl NEED_GTK_MAIN=yes
4991 dnl ALIASES="${ALIASES} gvlc"
4993 dnl CPPFLAGS="${CPPFLAGS_save}"
4998 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5000 dnl AC_ARG_ENABLE(gtk2,
5001 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5002 dnl if test "${enable_gtk2}" = "yes"
5004 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5005 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5006 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5007 dnl VLC_ADD_PLUGINS([gtk2])
5008 dnl if test "${SYS}" != "mingw32"; then
5009 dnl NEED_GTK2_MAIN=yes
5014 dnl PDA Gtk+2 module
5017 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5018 if test "${enable_pda}" = "yes"
5020 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5021 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5022 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5023 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5024 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5025 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5026 VLC_ADD_PLUGINS([pda])
5027 if test "${SYS}" != "mingw32"; then
5033 dnl dnl Gnome module
5035 dnl AC_ARG_ENABLE(gnome,
5036 dnl [ --enable-gnome Gnome interface support (default disabled)],
5037 dnl [if test "${enable_gnome}" = "yes"; then
5038 dnl # look for gnome-config
5039 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5040 dnl if test -x ${GNOME_CONFIG}
5042 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5043 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5045 dnl # now look for the gnome.h header
5046 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5047 dnl AC_CHECK_HEADERS(gnome.h, [
5048 dnl VLC_ADD_PLUGINS([gnome])
5049 dnl NEED_GTK_MAIN=yes
5050 dnl NEED_GNOME_MAIN=yes
5051 dnl ALIASES="${ALIASES} gnome-vlc"
5052 dnl dnl We need this because of some moronic gnomesupport.h flavours
5053 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5054 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5055 dnl AC_MSG_RESULT(yes)
5056 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5057 dnl Define if <gnome.h> defines strndup.)],[
5058 dnl AC_MSG_RESULT(no)])
5060 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5061 dnl developement tools or remove the --enable-gnome option])
5063 dnl CPPFLAGS="${CPPFLAGS_save}"
5067 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5069 dnl AC_ARG_ENABLE(gnome2,
5070 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5071 dnl if test "${enable_gnome2}" = "yes"
5073 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5074 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5075 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5076 dnl VLC_ADD_PLUGINS([gnome2])
5077 dnl if test "${SYS}" != "mingw32"; then
5078 dnl NEED_GNOME2_MAIN=yes
5083 dnl wxWidgets module
5085 AC_ARG_ENABLE(wxwidgets,
5086 [ --enable-wxwidgets wxWidgets support (default disabled)])
5088 if test "${enable_wxwidgets}" = "yes"
5090 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5091 WXWIDGETS_PATH="${PATH}"
5092 AC_ARG_WITH(wx-config-path,
5093 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5094 [ if test "${with_wx_config_path}" != "no"
5096 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5098 WXWIDGETS_NAME="wx-config"
5099 AC_ARG_WITH(wx-config,
5100 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5101 [ if test "${with_wx_config}" != "no"
5103 WXWIDGETS_NAME="${with_wx_config}"
5105 # look for wx-config
5106 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5107 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5109 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5111 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5115 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5116 # into a warning. However better would be to fix playlist.cpp
5117 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5118 [ac_cv_cxx_fpermissive],
5119 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5120 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5121 ac_cv_cxx_fpermissive=no)])
5122 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5123 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5125 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5126 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5127 # check if we must link against gtk2 libs
5128 # if __WXGTK20__ && __WXGTK__ are defined
5129 # for modules/gui/wxwidgets/video.cpp
5130 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5133 #error ok, we need to link against gtk2
5135 ])],[WXGTK=no],[WXGTK=yes])
5136 if test "$WXGTK" = "yes"; then
5137 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5139 if ${WX_CONFIG} --unicode
5141 # wxwidgets should provide the following flags but does not
5142 # the following is required to compile for win32
5143 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5145 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5147 if test "$have_libcdio" = "yes"
5149 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5150 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5152 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5155 if test "$have_libvcdinfo" = "yes"
5157 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5158 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5160 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5163 # now look for the wxprec.h header
5164 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5165 ac_cv_wx_headers=yes
5166 AC_CHECK_HEADERS(wx/wxprec.h, , [
5168 echo "Cannot find wxWidgets development headers."
5170 if test "${ac_cv_wx_headers}" = "yes"
5172 VLC_ADD_PLUGINS([wxwidgets])
5173 ALIASES="${ALIASES} wxvlc"
5175 CPPFLAGS="${CPPFLAGS_save}"
5178 dnl WxWidgets plugin will yield incorrect code without this
5179 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5187 [ --enable-qt4 QT 4 support (default enabled) ])
5188 AS_IF([test "${enable_qt4}" != "no" &&
5189 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5190 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5191 [ VLC_ADD_PLUGINS([qt4])
5192 ALIASES="${ALIASES} qvlc"
5194 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5195 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5196 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5197 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5198 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5200 AS_IF([test "${enable_qt4}" = "yes"],[
5201 AC_MSG_ERROR(QT4 library not found)
5203 AC_MSG_WARN(QT4 library not found)
5207 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5210 dnl WinCE GUI module
5212 if test "${SYS}" = "mingwce"; then
5213 VLC_ADD_BUILTINS([wince])
5214 VLC_ADD_CXXFLAGS([wince],[])
5215 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5217 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5218 elif test "${SYS}" = "mingw32"; then
5219 VLC_ADD_CXXFLAGS([wince],[])
5220 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5222 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5226 dnl Simple test for skins2 dependency
5228 if test "${enable_skins2}" != "no"
5230 if test "${WX_CONFIG}" = "no"
5232 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.])
5239 dnl AC_ARG_ENABLE(qt,
5240 dnl [ --enable-qt Qt interface support (default disabled)],
5241 dnl [if test "${enable_qt}" = "yes"; then
5242 dnl VLC_ADD_PLUGINS([qt])
5243 dnl ALIASES="${ALIASES} qvlc"
5244 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5245 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5246 dnl AC_CHECK_LIB(qt-mt,main,[
5247 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5249 dnl AC_CHECK_LIB(qt,main,[
5250 dnl VLC_ADD_LIBS([qt],[-lqt])
5253 dnl LDFLAGS="${LDFLAGS_save}"
5254 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5255 dnl if test -x ${QTDIR}/bin/moc
5257 dnl MOC=${QTDIR}/bin/moc
5266 dnl AC_ARG_ENABLE(kde,
5267 dnl [ --enable-kde KDE interface support (default disabled)],
5268 dnl [if test "${enable_kde}" = "yes"; then
5269 dnl VLC_ADD_PLUGINS([kde])
5270 dnl ALIASES="${ALIASES} kvlc"
5271 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5272 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5273 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5274 dnl AC_CHECK_LIB(kfile,main,[
5275 dnl VLC_ADD_LIBS([kde],[-lkfile])
5277 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5278 dnl AC_CHECK_LIB(kdeui,main,[
5279 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5281 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5282 dnl AC_CHECK_LIB(kio,main,[
5283 dnl VLC_ADD_LIBS([kde],[-lkio])
5285 dnl LDFLAGS="${LDFLAGS_save}"
5286 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5287 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5288 dnl if test -x ${QTDIR}/bin/moc
5290 dnl MOC=${QTDIR}/bin/moc
5297 dnl Opie QT embedded module
5300 [ --enable-opie Qt embedded interface support (default disabled)],
5301 [if test "${enable_opie}" = "yes"; then
5303 [ --with-qte=PATH Qt Embedded headers and libraries])
5304 if test "${with_qte}" != "no" -a -n "${with_qte}"
5306 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5307 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])
5309 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5310 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5312 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5313 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5314 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5316 CPPFLAGS="${CPPFLAGS_save}"
5318 VLC_ADD_PLUGINS([opie])
5320 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5321 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5322 if test "${with_qte}" != "no" -a -n "${with_qte}"
5324 MOC=${with_qte}/bin/moc
5326 MOC=${QTDIR}/bin/moc
5334 CFLAGS="$CFLAGS -x objective-c"
5335 AC_ARG_ENABLE(macosx,
5336 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
5337 [if test "${enable_macosx}" = "yes"
5339 VLC_ADD_PLUGINS([access_eyetv])
5340 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5341 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5342 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5343 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
5344 VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] )
5346 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
5347 [VLC_ADD_PLUGINS([access_eyetv])
5348 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5349 VLC_ADD_BUILTINS([macosx])
5350 VLC_ADD_BUILTINS([minimal_macosx])
5351 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5352 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5353 VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
5354 VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions])
5362 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5363 if test "${enable_qnx}" != "no"
5365 AC_CHECK_HEADERS(Ph.h, [
5366 VLC_ADD_PLUGINS([qnx])
5367 VLC_ADD_LIBS([qnx],[-lasound -lph])
5374 AC_ARG_ENABLE(ncurses,
5375 [ --disable-ncurses ncurses interface support (default enabled)],
5376 [if test "${enable_ncurses}" != "no"; then
5377 AC_CHECK_HEADER(ncurses.h,
5378 [AC_CHECK_LIB(ncursesw, mvprintw,
5379 [VLC_ADD_PLUGINS([ncurses])
5380 VLC_ADD_LIBS([ncurses],[-lncursesw])
5381 ALIASES="${ALIASES} nvlc"
5382 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5384 [AC_CHECK_LIB( ncurses, mvprintw,
5385 [VLC_ADD_PLUGINS([ncurses])
5386 ALIASES="${ALIASES} nvlc"
5387 VLC_ADD_LIBS([ncurses],[-lncurses])],
5388 [AS_IF([test "x${enable_ncurses}" != "x"], [
5389 AC_MSG_ERROR([libncurses not found])])]
5400 [ --enable-xosd xosd interface support (default disabled)])
5401 if test "${enable_xosd}" = "yes"
5403 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5404 AC_CHECK_LIB(xosd,xosd_set_offset,
5405 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5406 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5407 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5408 AC_TRY_COMPILE([#include <xosd.h>],
5409 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5410 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5411 if test "${have_xosd}" = "true"
5413 VLC_ADD_PLUGINS([xosd])
5414 VLC_ADD_LIBS([xosd],[-lxosd])
5419 dnl Framebuffer (overlay) plugin
5421 AC_ARG_ENABLE(fbosd,
5422 [ --enable-fbosd fbosd interface support (default disabled)])
5423 if test "${enable_fbosd}" = "yes"
5425 AC_CHECK_HEADERS(linux/fb.h, [
5426 VLC_ADD_PLUGINS([fbosd])
5431 dnl Visualisation plugin
5433 AC_ARG_ENABLE(visual,
5434 [ --enable-visual visualisation plugin (default enabled)])
5435 if test "${enable_visual}" != "no"
5437 VLC_ADD_PLUGINS([visual])
5441 dnl OpenGL visualisation plugin
5443 AC_ARG_ENABLE(galaktos,
5444 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5445 if test "${enable_galaktos}" = "yes"
5447 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5448 VLC_ADD_PLUGINS([galaktos])
5449 if test "${SYS}" != "mingw32"; then
5450 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5452 VLC_ADD_LIBS([galaktos],[-lopengl32])
5458 dnl goom visualization plugin
5461 [ --enable-goom goom visualisation plugin (default disabled)])
5462 if test "${enable_goom}" = "yes"
5464 AC_ARG_WITH(goom-tree,
5465 [ --with-goom-tree=PATH goom tree for static linking (required)])
5468 dnl test for --with-goom-tree
5470 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5471 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5472 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5473 if test -z "${real_goom_tree}"; then
5474 dnl The given directory can't be found
5476 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5478 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5479 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5480 VLC_ADD_BUILTINS([goom])
5481 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5482 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5484 dnl The given libgoom2 wasn't built, try to look for the old goom
5486 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5487 if test -f "${real_goom_tree}/libgoom.a"; then
5488 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5489 VLC_ADD_BUILTINS([goom])
5490 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5491 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5493 dnl The given libgoom wasn't built
5495 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5499 AC_CHECK_HEADERS(goom/goom.h, [
5500 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5501 AC_CHECK_LIB(goom2, goom_init, [
5502 VLC_ADD_PLUGINS([goom])
5503 VLC_ADD_LIBS([goom],[-lgoom2])
5505 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5507 LDFLAGS="${LDFLAGS_save}"
5513 dnl Bonjour services discovery
5515 AC_ARG_ENABLE(bonjour,
5516 [ --enable-bonjour Bonjour services discovery (default enabled)])
5517 if test "${enable_bonjour}" != "no"
5519 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5520 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5521 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5522 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5523 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5524 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5525 VLC_ADD_PLUGINS([bonjour]) ],
5526 [AC_MSG_WARN(avahi-client library not found)])
5533 [ --enable-lirc lirc support (default disabled)])
5534 if test "${enable_lirc}" = "yes"
5536 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5537 if test "${have_lirc}" = "true"
5539 VLC_ADD_PLUGINS([lirc])
5540 VLC_ADD_LIBS([lirc],[-llirc_client])
5545 AC_ARG_WITH(,[Misc options:])
5550 AC_ARG_ENABLE(gnutls,
5551 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5553 AS_IF([test "${enable_gnutls}" != "no"], [
5554 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5556 AS_IF([test "${have_gnutls}" = "yes"], [
5557 VLC_ADD_PLUGINS([gnutls])
5558 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5559 AS_IF([test "${SYS}" = "mingw32"], [
5560 dnl pkg-config --libs gnutls omits these
5561 VLC_ADD_LIBS([gnutls], [-lz])
5562 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5564 AC_CHECK_LIB([gcrypt], [gcry_control], [
5565 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5566 ], [], [-lgpg-error])
5567 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5569 AS_IF([test "${enable_gnutls}" = "yes"], [
5570 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5578 AC_ARG_ENABLE(libgcrypt,
5579 [ --enable-libgcrypt libgcrypts support (default enabled)])
5580 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5582 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5583 dnl it and looks for libgcrypt headers in the wrong place.
5584 if test "${host_cpu}" = "${build_cpu}"
5586 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5588 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5591 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5595 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5597 dnl We give the user the opportunity to specify
5598 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5601 [ --with-words=endianness set endianness (big or little)])
5602 case "${with_words}" in
5604 ac_cv_c_bigendian=yes
5607 ac_cv_c_bigendian=no
5610 dnl Try to guess endianness by matching patterns on a compiled
5611 dnl binary, by looking for an ASCII or EBCDIC string
5612 AC_CACHE_CHECK([whether the byte order is big-endian],
5613 [ac_cv_c_bigendian],
5614 [ac_cv_c_bigendian="unknown"
5615 [cat >conftest.c <<EOF
5616 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5617 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5618 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5619 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5620 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5621 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5622 int main(void) { _a(); _e(); return 0; }
5625 if test -f conftest.c
5627 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5628 && test -f conftest.o
5630 if test "`strings conftest.o | grep BIGenDianSyS`"
5632 ac_cv_c_bigendian="yes"
5634 if test "`strings conftest.o | grep LiTTleEnDian`"
5636 ac_cv_c_bigendian="no"
5641 if test "${ac_cv_c_bigendian}" = "unknown"
5643 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5647 dnl Now we know what to use for endianness, just put it in the header
5648 if test "${ac_cv_c_bigendian}" = "yes"
5650 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5654 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5657 AC_ARG_ENABLE(loader,
5658 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5659 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5660 AS_IF([test "${enable_loader}" = "yes"],
5661 [ VLC_ADD_PLUGINS([dmo])
5662 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5663 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5664 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5665 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5666 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5667 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5671 dnl Microsoft ActiveX support
5674 AC_ARG_ENABLE(activex,
5675 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5676 AC_ARG_WITH(wine-sdk-path,
5677 [ --with-wine-sdk-path=PATH path to wine sdk])
5678 if test "${enable_activex}" != "no"
5680 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5682 AC_CHECK_PROGS(MIDL, [midl], no)
5683 if test "${with_wine_sdk_path}" != ""
5685 WINE_SDK_PATH=${with_wine_sdk_path}
5686 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5691 AC_CHECK_HEADERS(ole2.h,
5692 [AC_CHECK_HEADERS(olectl.h,
5693 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5694 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5695 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5696 AC_CHECK_HEADERS(objsafe.h,
5697 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5705 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5707 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5709 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5714 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5715 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5716 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5717 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5718 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5724 AC_ARG_ENABLE(mozilla,
5725 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5726 AC_ARG_WITH(mozilla-sdk-path,
5727 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5729 if test "${enable_mozilla}" = "yes"
5731 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5732 need_xpcom_libs=false
5734 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5736 dnl New firefox-1.5 SDK api
5737 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5739 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5742 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5745 PKG_CHECK_MODULES([NSPR], [nspr],
5748 AC_MSG_ERROR([Please install the nspr development tools.])
5754 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5755 MOZILLA_REQUIRED_HEADERS=1
5756 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5757 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5758 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5763 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5764 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5766 MOZILLA_REQUIRED_HEADERS=
5768 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5769 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5770 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5771 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5772 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5774 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5776 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5777 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5779 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5780 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5781 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5782 VLC_ADD_PLUGINS([mozilla])
5784 CPPFLAGS="${CPPFLAGS_save}"
5787 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5788 if test "${MOZILLA_CONFIG}" = "no"
5790 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5791 if test "${SEAMONKEY_CONFIG}" = "no"
5793 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5794 if test "${XULRUNNER_CONFIG}" = "no"
5796 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5799 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5802 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5807 if test ! -z "${MOZILLA_CONFIG}"
5809 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5810 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5811 AC_CHECK_LIB(Xt,XtStrings,
5813 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5814 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5817 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5819 LDFLAGS="${LDFLAGS_save}"
5823 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5824 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5825 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5826 if ${need_xpcom_libs}; then
5827 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5829 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5831 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5832 MOZILLA_REQUIRED_HEADERS=1
5833 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5834 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5835 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5840 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5842 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5844 MOZILLA_REQUIRED_HEADERS=
5845 CPPFLAGS="${CPPFLAGS_save}"
5846 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5848 dnl End of moz_sdk = ""
5850 dnl special case for mingw32
5851 if test "${SYS}" = "mingw32"
5853 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5854 dnl latest gecko sdk does not have an xpcom directory
5855 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5856 mozilla_sdk_xpcom="/xpcom"
5860 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5861 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5862 MOZILLA_REQUIRED_HEADERS=1
5863 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5864 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5865 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5870 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5872 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5874 MOZILLA_REQUIRED_HEADERS=
5876 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5877 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])
5878 if ${need_xpcom_libs}; then
5879 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])
5880 if test "${SYS}" = "mingw32"; then
5881 dnl latest gecko sdk does not have embedstring
5882 if test -d "${real_mozilla_sdk}/embedstring/bin"
5884 VLC_ADD_LIBS([mozilla],[-lembedstring])
5888 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5890 if test -n "${CYGPATH}"; then
5891 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5893 CPPFLAGS="${CPPFLAGS_save}"
5897 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5899 dnl Tests for Osso and Xsp
5900 if test "${enable_x11}" != "no" &&
5901 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5902 test "${enable_x11}" = "yes"); then
5903 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5904 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5905 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5906 VLC_ADD_LIBS([x11],[-losso])
5909 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5910 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5911 VLC_ADD_LIBS([x11],[-lXsp])
5916 dnl Mediacontrol Python bindings
5918 AC_ARG_ENABLE(python-bindings,
5919 [ --enable-python-bindings Enable Python bindings (default disabled)])
5920 dnl TODO: look for python dev headers
5921 AS_IF([test "${enable_python_bindings}" = "yes"],
5922 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5925 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5930 AC_ARG_ENABLE(java-bindings,
5931 [ --enable-java-bindings Enable Java bindings (default disabled)])
5932 if test "${enable_java_bindings}" = "yes"
5934 AS_IF([test "x${JAVA_HOME}" == "x"],
5935 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5938 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5939 if test "${JAVAC}" == "javac${EXEEXT}"
5941 JAVAC="javac${EXEEXT} -cp ./ "
5944 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5949 AC_ARG_ENABLE(testsuite,
5950 [ --enable-testsuite build test modules (default disabled)])
5951 if test "${enable_testsuite}" = "yes"
5953 TESTS="test1 test2 test3 test4"
5955 dnl we define those so that bootstrap sets the right linker
5956 VLC_ADD_CXXFLAGS([test2],[])
5957 VLC_ADD_OBJCFLAGS([test3],[])
5958 dnl this one is needed until automake knows what to do
5959 VLC_ADD_LIBS([test3],[-lobjc])
5961 VLC_ADD_PLUGINS([${TESTS}])
5965 dnl Microsoft Layer for Unicode for WIN9x/ME
5967 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5969 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5970 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5977 if test "${NEED_GTK_MAIN}" != "no"
5979 VLC_ADD_PLUGINS([gtk_main])
5980 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5981 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5984 if test "${NEED_GNOME_MAIN}" != "no"
5986 VLC_ADD_PLUGINS([gnome_main])
5987 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5988 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5991 if test "${NEED_GTK2_MAIN}" != "no"
5993 VLC_ADD_PLUGINS([gtk2_main])
5994 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5995 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5996 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5997 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6000 if test "${NEED_GNOME2_MAIN}" != "no"
6002 VLC_ADD_PLUGINS([gnome2_main])
6003 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6004 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6010 if test "${NEED_QTE_MAIN}" != "no"
6012 VLC_ADD_PLUGINS([qte_main])
6013 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6014 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6015 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6020 dnl Plugin and builtin checks
6024 dnl Automagically disable plugins if there is no system support for
6025 dnl dynamically loadable files (.so, .dll, .dylib).
6026 dnl don't forget vlc-win32 still can load .dll as plugins
6027 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6028 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6032 AS_IF([test "${enable_shared}" = "no"], [
6036 AS_IF([test "${plugin_support}" != "no"], [
6037 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6040 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6042 dnl Temporary(?) hack for plugins/builtins transition
6043 VLC_ADD_PLUGINS([${BUILTINS}])
6047 dnl Pic and shared libvlc stuff
6049 AS_IF([test "${SYS}" = "mingw32"], [
6050 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6051 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6055 dnl Stuff used by the program
6057 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6058 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
6059 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6060 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6061 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6062 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6063 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6064 AC_SUBST(VERSION_MAJOR)
6065 AC_SUBST(VERSION_MINOR)
6066 AC_SUBST(VERSION_REVISION)
6067 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6068 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6069 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6070 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6072 dnl New definitions with value matching 0.9.0 release
6073 module_symbol="0_9_0c"
6074 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
6075 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
6076 VLC_ENTRY="vlc_entry__${module_symbol}"
6080 dnl Handle substvars that use $(top_srcdir)
6082 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6083 AC_SUBST(VLC_CONFIG)
6084 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6092 dnl Create the vlc-config script
6094 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6097 dnl Configuration is finished
6107 AC_SUBST(MOZILLA_SDK_PATH)
6108 AC_SUBST(WINE_SDK_PATH)
6110 AC_SUBST(AM_CPPFLAGS)
6111 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6112 AC_SUBST(FILE_LIBVLC_DLL)
6113 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6115 dnl Create vlc-config.in
6116 VLC_OUTPUT_VLC_CONFIG_IN
6124 bindings/java/Makefile
6125 bindings/java/src/Makefile
6126 bindings/python/Makefile
6130 libs/loader/Makefile
6141 modules/access/Makefile
6142 modules/access/bda/Makefile
6143 modules/access/dshow/Makefile
6144 modules/access/dvb/Makefile
6145 modules/access/mms/Makefile
6146 modules/access/cdda/Makefile
6147 modules/access/rtsp/Makefile
6148 modules/access/vcd/Makefile
6149 modules/access/vcdx/Makefile
6150 modules/access/screen/Makefile
6151 modules/access_filter/Makefile
6152 modules/access_output/Makefile
6153 modules/audio_filter/Makefile
6154 modules/audio_filter/channel_mixer/Makefile
6155 modules/audio_filter/converter/Makefile
6156 modules/audio_filter/resampler/Makefile
6157 modules/audio_filter/spatializer/Makefile
6158 modules/audio_mixer/Makefile
6159 modules/audio_output/Makefile
6160 modules/codec/Makefile
6161 modules/codec/cmml/Makefile
6162 modules/codec/dmo/Makefile
6163 modules/codec/ffmpeg/Makefile
6164 modules/codec/subtitles/Makefile
6165 modules/codec/spudec/Makefile
6166 modules/codec/xvmc/Makefile
6167 modules/control/Makefile
6168 modules/control/http/Makefile
6169 modules/demux/Makefile
6170 modules/demux/asf/Makefile
6171 modules/demux/avi/Makefile
6172 modules/demux/mp4/Makefile
6173 modules/demux/mpeg/Makefile
6174 modules/demux/playlist/Makefile
6175 modules/gui/Makefile
6176 modules/gui/beos/Makefile
6177 modules/gui/pda/Makefile
6178 modules/gui/macosx/Makefile
6179 modules/gui/minimal_macosx/Makefile
6180 modules/gui/qnx/Makefile
6181 modules/gui/qt4/Makefile
6182 modules/gui/skins2/Makefile
6183 modules/gui/wxwidgets/Makefile
6184 modules/gui/wince/Makefile
6185 modules/meta_engine/Makefile
6186 modules/misc/Makefile
6187 modules/misc/dummy/Makefile
6188 modules/misc/lua/Makefile
6189 modules/misc/memcpy/Makefile
6190 modules/misc/notify/Makefile
6191 modules/misc/testsuite/Makefile
6192 modules/misc/playlist/Makefile
6193 modules/misc/osd/Makefile
6194 modules/misc/xml/Makefile
6195 modules/misc/probe/Makefile
6196 modules/mux/Makefile
6197 modules/mux/mpeg/Makefile
6198 modules/mux/rtp/Makefile
6199 modules/packetizer/Makefile
6200 modules/services_discovery/Makefile
6201 modules/stream_out/Makefile
6202 modules/stream_out/transrate/Makefile
6203 modules/video_chroma/Makefile
6204 modules/video_filter/Makefile
6205 modules/video_output/Makefile
6206 modules/video_output/msw/Makefile
6207 modules/video_output/qte/Makefile
6208 modules/video_output/x11/Makefile
6209 modules/visualization/Makefile
6210 modules/visualization/visual/Makefile
6211 modules/visualization/galaktos/Makefile
6214 dnl Generate makefiles
6217 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6218 # not provided with the source
6219 ${SHELL} ./config.status --file=vlc-config
6220 chmod 0755 vlc-config
6222 dnl echo "Enabled builtin modules :"
6223 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6225 dnl echo "Enabled plugin modules :"
6226 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6228 dnl Shortcut to nice compile message
6230 echo '#! /bin/sh' >compile
6232 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6233 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6238 --------------------
6239 vlc version : ${VERSION}
6241 architecture : ${ARCH}
6243 test "${enable_debug}" = "yes" && printf "debug "
6244 test "${enable_cprof}" = "yes" && printf "cprof "
6245 test "${enable_gprof}" = "yes" && printf "gprof "
6246 test "${enable_optimizations}" = "yes" && printf "optim "
6247 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6249 vlc aliases :${ALIASES}
6250 plugins/bindings :${PLUGINS_BINDINGS}
6252 You can check which modules have been enabled
6253 with \`./vlc-config --list plugin'.
6254 You can tune the compiler flags in vlc-config.
6255 To build vlc and its plugins, type \`./compile' or \`make'.
6257 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6259 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6261 echo " More over FFmpeg support has been disabled."
6262 echo " VLC WILL NOT BE ABLE TO PLAY MOST FILES."