1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
11 COPYRIGHT_YEARS="1996-2008"
13 AC_PREREQ(2.59) dnl this really should be 2.59c
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
19 AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
20 AM_CONFIG_HEADER(config.h)
22 dnl Too many people are not aware of maintainer mode:
23 dnl If you want to use it, you definitely know what you are doing, so
24 dnl you can specify "--disable-maintainer-mode". But if you want the default
25 dnl automake behavior, you've likely never heard of maintainer mode, so we
26 dnl can't expect you to enable it manually.
28 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
29 [enable_maintainer_mode="yes"])
41 AC_USE_SYSTEM_EXTENSIONS
42 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
47 _AM_DEPENDENCIES([OBJC])
53 dnl Find the right ranlib, even when cross-compiling
54 AC_CHECK_TOOL(RANLIB, ranlib, :)
55 AC_CHECK_TOOL(STRIP, strip, :)
56 AC_CHECK_TOOL(AR, ar, :)
57 AC_CHECK_TOOL(LD, ld, :)
58 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
60 dnl Check for compiler properties
66 dnl Check for the contrib directory
69 [ --without-contrib do not use the libraries in extras/contrib],[],[])
70 if test "${with_contrib}" != "no"; then
71 AC_MSG_CHECKING([for libs in extras/contrib])
73 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
74 topdir="`pwd`/$topdir"
76 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
77 if test "${with_contrib}" = "yes"; then
79 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
82 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
85 if test -d ${topdir}/extras/contrib/lib; then
87 export PATH=${topdir}/extras/contrib/bin:$PATH
88 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
89 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
90 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
91 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
92 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
93 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
95 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
96 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
97 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
99 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
101 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
102 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
104 if test -z $with_live555_tree; then
105 with_live555_tree=${topdir}/extras/contrib/src/live
107 if test -z $with_goom_tree; then
108 with_goom_tree=${topdir}/extras/contrib/src/goom
110 if test -z $with_mozilla_sdk_path; then
111 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
113 if test -z $with_cyberlink_tree; then
114 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
116 if test -z $with_libmpeg2_tree; then
117 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
119 if test -z $with_a52_tree; then
120 with_a52_tree=${topdir}/extras/contrib/src/a52dec
123 if test ".`uname -s`" = ".Darwin"; then
124 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
125 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
126 elif test ".`uname -s`" = ".BeOS"; then
127 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
128 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
136 dnl Set default values
138 LDFLAGS_vlc="${LDFLAGS}"
141 dnl Check the operating system
152 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
153 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
157 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
160 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
161 CPPFLAGS="${CPPFLAGS_save}"
162 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
163 LDFLAGS="${LDFLAGS_save}"
169 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
170 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
171 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
172 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
173 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
174 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
175 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
176 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
177 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
178 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
179 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
180 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
181 AC_ARG_ENABLE(macosx-defaults,
182 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
183 if test "x${enable_macosx_defaults}" != "xno"
186 echo "Building with Mac OS X defaults:"
188 echo " Assuming --enable-macosx"
190 echo " Assuming --enable-faad"
192 echo " Assuming --enable-flac"
194 echo " Assuming --enable-theora"
196 echo " Assuming --enable-shout"
198 echo " Assuming --enable-cddax"
200 echo " Assuming --enable-vcdx"
202 echo " Assuming --enable-caca"
204 echo " Assuming --enable-goom"
206 echo " Assuming --enable-ncurses"
208 echo " Assuming --enable-twolame"
209 enable_realrtsp="yes"
210 echo " Assuming --enable-realrtsp"
213 echo " Assuming --disable-skins2"
215 echo " Assuming --disable-x11"
217 echo " Assuming --disable-glx"
219 echo " Assuming --disable-xvideo"
222 echo " Compiling without SDK usage"
224 if test ".`uname -p`" = ".i386"; then
225 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
226 dnl without hacking it a lot, we disable mmx and sse.
227 dnl (that bug is about ld being unable to handle
229 save_cflags="$CFLAGS"
230 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
232 [int a;], [asm("movq _a,%mm0\n");],
233 ac_ld_does_not_support_text_reloc=no,
234 ac_ld_does_not_support_text_reloc=yes)
235 CFLAGS="$save_cflags"
237 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
239 echo " Assuming --disable-mmx (due to a bug in ld)"
241 echo " Assuming --disable-sse (due to a bug in ld)"
245 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
246 AC_CHECK_TOOL(WINDRES, windres, :)
253 dnl Check if we are using the mno-cygwin mode in which case we are
254 dnl actually dealing with a mingw32 compiler.
259 SYS=mingw32, SYS=cygwin)
261 *wince* | *mingwce* | *pe*)
266 if test "${SYS}" = "mingw32"; then
267 # add ws2_32 for closesocket, select, recv
268 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
269 VLC_ADD_LDFLAGS([vlc],[-mwindows])
270 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
271 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
272 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])
274 if test "${SYS}" = "mingwce"; then
275 # add ws2 for closesocket, select, recv
276 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
277 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
278 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
283 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
287 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
288 # Perhaps it is useful other places as well?
289 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
296 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
297 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
298 VLC_ADD_CXXFLAGS([beos],[])
299 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
300 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
301 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
302 VLC_ADD_LIBS([access_file],[-lpoll])
303 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
305 if test -f /boot/beos/system/lib/libbind.so; then
306 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
308 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
311 dnl Ugly check for Zeta
312 if test -f /boot/beos/system/lib/libzeta.so; then
313 VLC_ADD_LIBS([beos],[-lzeta])
320 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
321 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
322 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
323 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
326 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
327 dnl for program foo on win32
329 case "${build_os}" in
331 ac_executable_extensions=".exe"
339 dnl It's very bad, but our former custom system was worst
343 dnl override platform specific check for dependent libraries
344 dnl otherwise libtool linking of shared libraries will
345 dnl fail on anything other than pass_all.
346 AC_CACHE_VAL(lt_cv_deplibs_check_method,
347 [lt_cv_deplibs_check_method=pass_all])
350 AC_DISABLE_FAST_INSTALL
353 m4_undefine([AC_PROG_F77])
354 m4_defun([AC_PROG_F77],[])
357 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
358 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
360 lt_cv_deplibs_check_method=pass_all
364 dnl Check for Mac OS X SDK settings
366 AC_ARG_WITH(macosx-sdk,
367 [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
368 if test "${with_macosx_sdk}" != "no" ; then
369 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
370 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
371 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
372 LD="${LD} -syslibroot/Developer/SDKs/MacOSX10.4u.sdk"
373 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
374 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
375 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
376 MACOSX_DEPLOYMENT_TARGET="10.4"
377 export MACOSX_DEPLOYMENT_TARGET
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 yuy2_i422 yuy2_i420 chroma_chain])
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])
3091 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3092 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3093 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
3094 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
3099 dnl Trying with pkg-config
3100 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3103 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3104 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3105 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3106 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3107 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3108 dnl newer ffmpeg have a separate libpostproc
3109 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3110 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3111 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3113 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3114 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3115 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3116 if test "${SYS}" = "darwin"; then
3117 VLC_ADD_BUILTINS([ffmpeg])
3119 VLC_ADD_PLUGINS([ffmpeg])
3121 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3122 if test "${SYS}" = "darwin"; then
3123 VLC_ADD_BUILTINS([stream_out_switcher])
3125 VLC_ADD_PLUGINS([stream_out_switcher])
3128 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3129 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3131 dnl even newer ffmpeg has a libswscale
3132 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3133 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3134 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3135 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3136 AC_CHECK_LIB(swscale, sws_getContext,
3137 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3143 dnl last chance: at the default place
3145 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3146 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3147 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3148 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3149 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3150 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3152 AC_CHECK_LIB(avutil, av_crc_init, [
3153 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3154 LDAVUTIL="-lavutil"])
3156 AC_CHECK_LIB(avcodec, avcodec_init, [
3157 VLC_ADD_BUILTINS([ffmpeg])
3158 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3159 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3160 VLC_ADD_BUILTINS([stream_out_switcher])
3162 [ 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])
3164 AC_CHECK_LIB(postproc, pp_postprocess, [
3165 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3166 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3169 AC_CHECK_LIB(avformat, av_open_input_stream, [
3170 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3171 LDFLAGS="${LDFLAGS_save}"
3172 CPPFLAGS="${CPPFLAGS_save}"
3174 AC_CHECK_LIB(swscale, sws_getContext, [
3175 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3176 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3177 LDFLAGS="${LDFLAGS_save}"
3178 CPPFLAGS="${CPPFLAGS_save}"
3184 dnl ffmpegaltivec plugin
3186 AC_ARG_ENABLE(ffmpegaltivec,
3187 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3188 if test "${enable_ffmpegaltivec}" = "yes"
3190 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3191 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3192 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3193 if test -z "${real_ffmpeg_tree}"; then
3194 dnl The given directory can't be found
3196 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3198 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3199 dnl The given libavcodecaltivec wasn't built
3201 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3203 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3204 dnl The given libavcodecaltivec wasn't built with --enable-pp
3206 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3208 dnl Use a custom libffmpeg
3209 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3210 VLC_ADD_BUILTINS([ffmpegaltivec])
3211 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3212 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3213 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3215 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3216 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3217 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3218 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3220 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3221 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3226 dnl faad decoder plugin
3229 [ --enable-faad faad codec (default disabled)])
3230 if test "${enable_faad}" = "yes"
3232 AC_ARG_WITH(faad-tree,
3233 [ --with-faad-tree=PATH faad tree for static linking])
3234 if test -n "${with_faad_tree}"
3236 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3237 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3238 if test -z "${real_faad_tree}"
3240 dnl The given directory can't be found
3242 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3244 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3246 dnl Use a custom faad
3247 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3248 VLC_ADD_BUILTINS([faad])
3249 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3250 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3252 dnl The given libfaad wasn't built
3254 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3257 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3258 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3259 AC_CHECK_HEADERS(faad.h, ,
3260 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3261 AC_CHECK_LIB(faad, faacDecOpen, [
3262 VLC_ADD_PLUGINS([faad])
3263 VLC_ADD_LIBS([faad],[-lfaad]) ],
3264 AC_CHECK_LIB(faad, NeAACDecOpen, [
3265 VLC_ADD_PLUGINS([faad])
3266 VLC_ADD_LIBS([faad],[-lfaad]) ],
3267 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3268 LDFLAGS="${LDFLAGS_save}"
3269 CPPFLAGS="${CPPFLAGS_save}"
3274 dnl twolame encoder plugin
3276 AC_ARG_ENABLE(twolame,
3277 [ --enable-twolame twolame codec (default disabled)])
3278 if test "${enable_twolame}" = "yes"
3280 AC_ARG_WITH(twolame-tree,
3281 [ --with-twolame-tree=PATH twolame tree for static linking])
3282 if test -n "${with_twolame_tree}"
3284 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3285 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3286 if test -z "${real_twolame_tree}"
3288 dnl The given directory can't be found
3290 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3292 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3294 dnl Use a custom twolame
3295 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3296 VLC_ADD_BUILTINS([twolame])
3297 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3298 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3300 dnl The given libtwolame wasn't built
3302 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3305 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3306 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3307 AC_CHECK_HEADERS(twolame.h, ,
3308 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3309 AC_CHECK_LIB(twolame, twolame_init, [
3310 VLC_ADD_PLUGINS([twolame])
3311 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3312 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3313 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3314 LDFLAGS="${LDFLAGS_save}"
3315 CPPFLAGS="${CPPFLAGS_save}"
3320 dnl QuickTime plugin
3322 AC_ARG_ENABLE(quicktime,
3323 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3324 if test "${enable_quicktime}" != "no" &&
3325 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3327 if test "${SYS}" = "mingw32"; then
3328 VLC_ADD_BUILTINS([quicktime])
3330 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3331 [ VLC_ADD_BUILTINS([quicktime])
3332 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3333 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3341 [ --enable-real Real audio module (default disabled)])
3342 if test "${enable_real}" = "yes"; then
3343 VLC_ADD_PLUGINS([realaudio])
3347 dnl Real RTSP plugin
3349 AC_ARG_ENABLE(realrtsp,
3350 [ --enable-realrtsp Real RTSP module (default disabled)])
3351 if test "${enable_realrtsp}" = "yes"; then
3352 VLC_ADD_PLUGINS([access_realrtsp])
3358 AC_CHECK_HEADERS(zlib.h, [
3359 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3362 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3363 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3369 AC_ARG_ENABLE(libtar,
3370 [ --enable-libtar support for skins2 (default enabled)])
3372 AS_IF([test "${enable_libtar}" != "no"],[
3373 AC_CHECK_HEADERS(libtar.h, [
3374 VLC_ADD_LIBS([skins2],[-ltar])
3379 dnl A52/AC3 decoder plugin
3382 [ --enable-a52 A/52 support with liba52 (default enabled)])
3383 if test "${enable_a52}" != "no"
3386 [ --with-a52=PATH a52 headers and libraries])
3387 AC_ARG_WITH(a52-tree,
3388 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3389 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3391 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3392 if test -z "${real_a52_tree}"
3394 dnl The given directory can't be found
3396 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3398 dnl Use a custom a52dec
3399 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3400 if test -f ${real_a52_tree}/include/a52.h
3403 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3404 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3405 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3406 AC_CHECK_LIB(a52, a52_free, [
3407 VLC_ADD_BUILTINS([a52tofloat32])
3408 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3409 VLC_ADD_LIBS([a52tofloat32],[-la52])
3411 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3413 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3415 AC_MSG_ERROR([the specified tree hasn't been compiled])
3418 LDFLAGS="${LDFLAGS_save}"
3421 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3424 if test -z "${with_a52}"
3429 LDFLAGS_test="-L${with_a52}/lib"
3430 CPPFLAGS_test="-I${with_a52}/include"
3432 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3433 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3434 AC_CHECK_HEADERS(a52dec/a52.h, [
3435 AC_CHECK_LIB(a52, a52_free, [
3436 VLC_ADD_PLUGINS([a52tofloat32])
3437 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3438 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3440 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.])
3443 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.])
3445 CPPFLAGS="${CPPFLAGS_save}"
3446 LDFLAGS="${LDFLAGS_save}"
3450 AC_ARG_WITH(a52-fixed,
3451 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3453 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3456 dnl DTS Coherent Acoustics decoder plugin
3458 AS_IF([test "x${enable_dts}" != "x"], [
3459 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3461 AS_IF([test "x${with_dts_tree}" != "x"], [
3462 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3466 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3467 AS_IF([test "${enable_dca}" != "no"], [
3468 AC_ARG_WITH(dca-tree,
3469 [ --with-dca-tree=PATH libdca tree for static linking],,
3470 [with_dca_tree="no"])
3471 AS_IF([test "${with_dca_tree}" != "no"], [
3472 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3473 AS_IF([test -z "${real_dca_tree}"], [
3474 dnl The given directory can't be found
3476 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3478 dnl Use a custom libdca
3479 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3480 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3482 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3483 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3484 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3486 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3490 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3493 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3494 VLC_ADD_PLUGINS([dtstofloat32])
3495 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3496 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3498 AS_IF([test "x${enable_dca}" != "x"], [
3499 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3509 [ --enable-flac libflac decoder/encoder support (default disabled)])
3510 if test "${enable_flac}" = "yes"
3512 AC_ARG_WITH(flac-tree,
3513 [ --with-flac-tree=PATH flac tree for static linking])
3514 if test -n "${with_flac_tree}"
3516 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3517 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3518 if test -z "${real_flac_tree}"
3520 dnl The given directory can't be found
3522 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3524 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3526 dnl Use a custom flac
3527 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3528 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3529 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3530 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3532 dnl The given flac wasn't built
3534 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3537 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3538 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3546 AC_ARG_ENABLE(libmpeg2,
3547 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3548 if test "${enable_libmpeg2}" != "no"
3550 AC_ARG_WITH(libmpeg2-tree,
3551 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3552 if test -n "${with_libmpeg2_tree}"
3554 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3555 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3556 if test -z "${real_libmpeg2_tree}"
3558 dnl The given directory can't be found
3560 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3562 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3564 dnl Use a custom libmpeg2
3565 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3566 VLC_ADD_BUILTINS([libmpeg2])
3567 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3568 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3569 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3571 dnl The given libmpeg2 wasn't built
3573 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3576 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3577 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3579 [#include <mpeg2dec/mpeg2.h>
3580 #ifdef MPEG2_RELEASE
3581 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3585 [AC_MSG_RESULT([yes])
3586 VLC_ADD_PLUGINS([libmpeg2])
3587 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3588 [AC_MSG_RESULT([no])
3589 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.])])],
3591 [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.])]
3599 AC_ARG_ENABLE(vorbis,
3600 [ --enable-vorbis Vorbis decoder support (default enabled)])
3601 if test "${enable_vorbis}" != "no"
3603 AC_ARG_WITH(vorbis-tree,
3604 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3605 if test -n "${with_vorbis_tree}"
3607 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3608 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3609 if test -z "${real_vorbis_tree}"
3611 dnl The given directory can't be found
3613 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3615 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3617 dnl Use a custom vorbis
3618 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3619 VLC_ADD_PLUGINS([vorbis])
3620 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3621 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3623 dnl The given vorbis wasn't built
3625 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3628 AC_CHECK_HEADERS(vorbis/codec.h, [
3629 VLC_ADD_PLUGINS([vorbis])
3630 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3632 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3633 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3640 AC_ARG_ENABLE(tremor,
3641 [ --enable-tremor Tremor decoder support (default disabled)])
3642 if test "${enable_tremor}" = "yes"
3644 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3645 VLC_ADD_PLUGINS([tremor])
3646 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3653 AC_ARG_ENABLE(speex,
3654 [ --enable-speex Speex decoder support (default enabled)])
3655 if test "${enable_speex}" != "no"
3657 AC_ARG_WITH(speex-tree,
3658 [ --with-speex-tree=PATH speex tree for static linking])
3659 if test -n "${with_speex_tree}"
3661 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3662 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3663 if test -z "${real_speex_tree}"
3665 dnl The given directory can't be found
3667 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3669 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3671 dnl Use a custom speex
3672 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3673 VLC_ADD_PLUGINS([speex])
3674 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3675 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3677 dnl The given speex wasn't built
3679 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3682 AC_CHECK_HEADERS(speex/speex.h, [
3683 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3684 AC_CHECK_LIB(speex, speex_decode_int, [
3685 VLC_ADD_PLUGINS([speex])
3686 VLC_ADD_LIBS([speex],[-lspeex]) ],
3687 [ AC_MSG_RESULT([no])
3688 AC_MSG_WARN([Your libspeex is too old, please get the development
3690 LDFLAGS="${LDFLAGS_save}"
3696 dnl tarkin decoder plugin
3698 AC_ARG_ENABLE(tarkin,
3699 [ --enable-tarkin experimental tarkin codec (default disabled)])
3700 if test "${enable_tarkin}" = "yes"
3702 AC_ARG_WITH(tarkin-tree,
3703 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3704 if test -n "${with_tarkin_tree}"
3706 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3707 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3708 if test -f "${real_tarkin_tree}/tarkin.o"
3710 VLC_ADD_BUILTINS([tarkin])
3711 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3712 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])
3715 dnl The given tarkin tree wasn't built
3717 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3718 make sure you compiled tarkin in ${with_tarkin_tree}])
3724 dnl theora decoder plugin
3726 AC_ARG_ENABLE(theora,
3727 [ --enable-theora experimental theora codec (default disabled)])
3728 if test "${enable_theora}" = "yes"
3730 AC_CHECK_HEADERS(theora/theora.h, [
3731 AC_CHECK_LIB(theora, theora_granule_time, [
3732 VLC_ADD_PLUGINS([theora])
3733 theora_libs="-ltheora -logg"
3734 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3735 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3736 You also need to check that you have a libogg posterior to the 1.0 release.])],
3742 dnl dirac decoder plugin
3744 AC_ARG_ENABLE(dirac,
3745 [ --enable-dirac experimental dirac codec (default disabled)])
3746 if test "${enable_dirac}" = "yes"; then
3747 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3748 VLC_ADD_PLUGINS([dirac])
3749 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3750 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3751 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3756 dnl PNG decoder module
3759 [ --enable-png PNG support (default enabled)])
3760 if test "${enable_png}" != "no"; then
3761 AC_CHECK_HEADERS(png.h, [
3762 LDFLAGS="${LDFLAGS_save} -lz"
3763 AC_CHECK_LIB(png, png_set_rows, [
3764 VLC_ADD_LIBS([png],[-lpng -lz])
3765 VLC_ADD_PLUGINS([png])
3766 VLC_ADD_PLUGINS([osdmenu osd_parser])
3767 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3769 LDFLAGS="${LDFLAGS_save}"
3774 dnl H264 encoder plugin (using libx264)
3777 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3778 if test "${enable_x264}" != "no"; then
3779 AC_ARG_WITH(x264-tree,
3780 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3781 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3783 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3784 if test -z "${real_x264_tree}"
3786 dnl The given directory can't be found
3788 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3790 dnl Use a custom libx264
3791 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3792 if test -f ${real_x264_tree}/x264.h
3795 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3796 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3797 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3798 AC_CHECK_LIB(x264, x264_encoder_open, [
3799 VLC_ADD_BUILTINS([x264])
3800 VLC_ADD_LIBS([x264],[-lx264])
3802 AC_MSG_ERROR([the specified tree hasn't been compiled])
3804 LDFLAGS="${LDFLAGS_save}"
3807 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3810 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3811 AC_CHECK_HEADERS(x264.h, [
3812 AC_CHECK_LIB(x264, x264_encoder_open, [
3813 VLC_ADD_PLUGINS([x264])
3814 VLC_ADD_LIBS([x264],[-lx264])
3816 if test "${enable_x264}" = "yes"; then
3817 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3821 LDFLAGS="${LDFLAGS_save}"
3826 dnl libfluidsynth (MIDI synthetizer) plugin
3828 AC_ARG_ENABLE(fluidsynth,
3829 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3830 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3831 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3832 VLC_ADD_PLUGINS(fluidsynth)
3833 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3834 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3836 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3837 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3843 dnl Teletext Modules
3844 dnl vbi decoder plugin (using libzbvi)
3849 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3851 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3853 AS_IF( [test "${enable_zvbi}" != "no"],[
3854 AS_IF( [test "${enable_telx}" = "yes"],[
3855 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3857 PKG_CHECK_MODULES(ZVBI,
3860 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3861 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3862 VLC_ADD_PLUGINS([zvbi])
3863 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3865 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3870 AS_IF( [test "${enable_telx}" = "yes"],[
3871 VLC_ADD_PLUGINS([telx])
3878 [ --enable-cmml CMML support (default enabled)])
3879 if test "${enable_cmml}" != "no"
3881 VLC_ADD_PLUGINS([cmml])
3889 AC_ARG_WITH(,[Video plugins:])
3892 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3893 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3894 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3895 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3896 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3898 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3899 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3904 #include <X11/Xlib.h>
3906 CPPFLAGS="${CPPFLAGS_save}"
3911 dnl (enabled by default except on win32)
3914 [ --enable-x11 X11 support (default enabled)])
3915 if test "${enable_x11}" != "no" &&
3916 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3917 test "${enable_x11}" = "yes"); then
3918 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3919 AC_CHECK_HEADERS(X11/Xlib.h, [
3920 VLC_ADD_PLUGINS([panoramix])
3921 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3922 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3923 AC_CHECK_LIB(Xext, XShmAttach, [
3924 VLC_ADD_PLUGINS([x11])
3925 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3926 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3929 CPPFLAGS="${CPPFLAGS_save}"
3934 dnl (enabled by default except on win32)
3936 AC_ARG_ENABLE(xvideo,
3937 [ --enable-xvideo XVideo support (default enabled)])
3938 if test "${enable_xvideo}" != "no" &&
3939 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3940 test "${enable_xvideo}" = "yes"); then
3941 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3942 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3943 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3944 AC_CHECK_LIB(Xv,XvPutImage,[
3945 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3946 # test for libXv_pic.
3947 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3948 VLC_ADD_PLUGINS([xvideo])
3949 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3950 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3952 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3953 VLC_ADD_PLUGINS([xvideo])
3954 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3955 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3957 VLC_ADD_BUILTINS([xvideo])
3958 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3959 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3963 CFLAGS="${CFLAGS_save}"
3965 CPPFLAGS="${CPPFLAGS_save}")
3970 dnl (enabled by default except on win32)
3973 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3974 if test "${enable_glx}" != "no" &&
3975 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3976 test "${enable_glx}" = "yes"); then
3977 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3978 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3979 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3980 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3984 VLC_ADD_PLUGINS([glx])
3985 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3986 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3987 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3988 CPPFLAGS="${CPPFLAGS_save}"
3993 dnl (enabled by default except on win32)
3996 [ --enable-xvmc XVMC support (default disabled)])
3997 if test "${enable_xvmc}" = "yes" &&
3998 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3999 test "${enable_xvmc}" = "yes"); then
4000 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4001 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4002 VLC_ADD_PLUGINS([xvmc])
4003 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4004 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4006 CPPFLAGS="${CPPFLAGS_save}"
4010 dnl Check for the Xinerama extension
4012 AC_ARG_ENABLE(xinerama,
4013 [ --enable-xinerama Xinerama support (default enabled)])
4014 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4015 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4016 test "${enable_xvideo}" = "yes"); then
4017 ac_cv_have_xinerama="no"
4018 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4019 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4020 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4021 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4022 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4023 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4024 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4025 ac_cv_have_xinerama="yes"
4027 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4028 VLC_ADD_LIBS([xvideo],[-lXinerama])
4029 VLC_ADD_LIBS([x11],[-lXinerama])
4030 VLC_ADD_LIBS([glx],[-lXinerama])
4031 ac_cv_have_xinerama="yes"
4035 if test "${ac_cv_have_xinerama}" = "yes"; then
4036 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4038 CFLAGS="${CFLAGS_save}"
4039 CPPFLAGS="${CPPFLAGS_save}"
4042 dnl Check for XF86VidMode extension
4044 ac_cv_have_xf86vidmode="no"
4045 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4046 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4047 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4048 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4049 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4050 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4051 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4052 ac_cv_have_xf86vidmode="yes"
4054 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4055 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4056 VLC_ADD_LIBS([x11],[-lXxf86vm])
4057 VLC_ADD_LIBS([glx],[-lXxf86vm])
4058 ac_cv_have_xf86vidmode="yes"
4062 [#ifdef HAVE_X11_XLIB_H
4063 # include <X11/Xlib.h>
4066 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4067 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4069 CFLAGS="${CFLAGS_save}"
4070 CPPFLAGS="${CPPFLAGS_save}"
4076 dnl (enabled by default except on beos)
4078 AC_ARG_ENABLE(opengl,
4079 [ --enable-opengl OpenGL support (default enabled)])
4080 if test "${enable_opengl}" != "no" &&
4081 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4082 if test "${SYS}" != "darwin"; then
4083 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4084 VLC_ADD_PLUGINS([opengl])
4085 if test "${SYS}" != "mingw32"; then
4086 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4088 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4092 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4093 VLC_ADD_PLUGINS([opengl])
4094 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4102 [ --enable-sdl SDL support (default enabled)])
4103 AC_ARG_ENABLE(sdl-image,
4104 [ --enable-sdl-image SDL image support (default enabled)])
4105 if test "${enable_sdl}" != "no"
4108 AC_ARG_WITH(sdl-config-path,
4109 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4110 [ if test "${with_sdl_config_path}" != "no"
4112 SDL_PATH="${with_sdl_config_path}:${PATH}"
4114 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4115 SDL_CONFIG="${SDL12_CONFIG}"
4116 SDL_HEADER="SDL12/SDL.h"
4117 SDL_IMAGE="SDL12/SDL_image.h"
4118 if test "${SDL_CONFIG}" = "no"
4120 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4121 SDL_CONFIG=${SDL11_CONFIG}
4122 SDL_HEADER="SDL11/SDL.h"
4123 SDL_IMAGE="SDL11/SDL_image.h"
4125 if test "${SDL_CONFIG}" = "no"
4127 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4128 SDL_HEADER="SDL/SDL.h"
4129 SDL_IMAGE="SDL/SDL_image.h"
4131 # check for cross-compiling
4133 AC_ARG_WITH(sdl-prefix,
4134 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4136 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4137 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4139 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4141 if test "${SDL_CONFIG}" != "no"
4143 # SDL on Darwin is heavily patched and can only run SDL_image
4144 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4145 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4147 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4148 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4149 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4150 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4151 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4152 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4153 As a last resort we also test for SDL.h presence),
4154 [ AC_MSG_ERROR([The development package for SDL is not installed.
4155 Please install it and try again. Alternatively you can also configure with
4158 AS_IF([ test "${enable_sdl_image}" != "no"],[
4159 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4160 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4161 VLC_ADD_PLUGINS([sdl_image])
4162 AC_CHECK_LIB(png, png_set_rows,
4163 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4164 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4165 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4166 AC_CHECK_LIB(tiff, TIFFClientOpen,
4167 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4168 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4169 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4170 As a last resort we also test for SDL_image.h presence),
4171 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4172 You should install it alongside your SDL package.])
4175 CPPFLAGS="${CPPFLAGS_save}"
4176 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4178 AC_MSG_ERROR([The development package for SDL is not installed.
4179 Please install it and try again. Alternatively you can also configure with
4183 elif test "${enable_sdl}" = "yes"
4185 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4186 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4194 AC_ARG_ENABLE(freetype,
4195 [ --enable-freetype freetype support (default enabled)])
4196 AC_ARG_ENABLE(fribidi,
4197 [ --enable-fribidi fribidi support (default enabled)])
4198 if test "${enable_freetype}" != "no"
4200 FREETYPE_PATH="${PATH}"
4201 AC_ARG_WITH(freetype-config-path,
4202 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4203 [ if test "${with_freetype_config_path}" != "no"
4205 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4207 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4209 if test "${FREETYPE_CONFIG}" != "no"
4211 VLC_ADD_PLUGINS([freetype])
4212 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4213 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4214 if test "${SYS}" = "mingw32"; then
4215 VLC_ADD_LIBS([freetype],[-lxml2])
4217 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4218 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4219 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4220 AC_CHECK_HEADERS(Carbon/Carbon.h,
4221 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4222 elif test "${enable_freetype}" = "yes"
4224 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4225 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4230 if test "${enable_fribidi}" != "no"
4232 FRIBIDI_PATH="${PATH}"
4233 AC_ARG_WITH(fribidi-config-path,
4234 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4235 [ if test "${with_fribidi_config_path}" != "no"
4237 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4239 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4241 if test "${FRIBIDI_CONFIG}" != "no"
4243 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4244 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4245 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4246 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4254 AC_ARG_ENABLE(libxml2,
4255 [ --enable-libxml2 libxml2 support (default enabled)])
4256 if test "${enable_libxml2}" != "no"
4259 AC_ARG_WITH(xml2-config-path,
4260 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4261 [ if test "${with_xml2_config_path}" != "no"; then
4262 XML2_PATH="${with_xml2_config_path}:${PATH}"
4264 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4265 if test "${XML2_CONFIG}" != "no"; then
4266 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4267 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4268 dnl depends on the xmlTextReader extension
4269 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4270 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4271 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4272 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4273 VLC_ADD_PLUGINS([xml]) ],[
4274 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4275 if test "${enable_xml2}" = "yes"; then
4276 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4279 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4280 if test "${enable_xml2}" = "yes"; then
4281 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4283 LDFLAGS="${LDFLAGS_save}"
4284 CPPFLAGS="${CPPFLAGS_save}"
4286 if test "${enable_xml2}" = "yes"; then
4287 AC_MSG_ERROR([Could not find libxml2])
4296 [ --enable-svg SVG support (default disabled)])
4297 if test "${enable_svg}" = "yes"
4299 PKG_CHECK_MODULES(SVG,
4300 librsvg-2.0 >= 2.9.0,
4302 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4303 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4304 VLC_ADD_PLUGINS([svg]) ],
4305 [AC_MSG_WARN(SVG library not found)])
4309 dnl Snapshot vout module (with cache)
4311 AC_ARG_ENABLE(snapshot,
4312 [ --enable-snapshot snapshot module (default disabled)])
4313 if test "${enable_snapshot}" = "yes"
4315 VLC_ADD_PLUGINS([snapshot])
4319 dnl Qt Embedded module
4320 dnl (disabled by default)
4323 [ --enable-qte QT Embedded support (default disabled)])
4324 if test "${enable_qte}" = "yes"
4327 [ --with-qte=PATH Qt Embedded headers and libraries])
4328 if test "${with_qte}" != "no" -a -n "${with_qte}"
4330 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4331 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])
4333 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4334 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4336 VLC_ADD_PLUGINS([qte])
4338 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4339 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4340 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4342 CPPFLAGS="${CPPFLAGS_save}"
4346 dnl Qt Video output module
4347 dnl (disabled by default)
4349 dnl AC_ARG_ENABLE(qt_video,
4350 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4351 dnl if test "${enable_qt_video}" = "yes"
4353 dnl VLC_ADD_PLUGINS([qt_video])
4354 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4355 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4356 dnl AC_CHECK_LIB(qt-mt,main,[
4357 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4359 dnl AC_CHECK_LIB(qt,main,[
4360 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4363 dnl NEED_QTE_MAIN=yes
4364 dnl LDFLAGS="${LDFLAGS_save}"
4365 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4369 dnl Roku HD1000 Video output module
4371 AC_ARG_ENABLE(hd1000v,
4372 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4373 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4374 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4375 test "${enable_hd1000v}" = "yes"); then
4377 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4379 can_build_roku="yes"
4383 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4385 if test "$can_build_roku" = "yes"
4387 VLC_ADD_PLUGINS([hd1000v])
4388 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4394 dnl Windows DirectX module
4397 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4399 VLC_ADD_PLUGINS([panoramix])
4402 AC_ARG_ENABLE(directx,
4403 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4404 if test "${enable_directx}" != "no"
4406 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4408 AC_ARG_WITH(directx,
4409 [ --with-directx=PATH Win32 DirectX headers])
4410 if test -z "${with_directx}"
4412 AC_CHECK_HEADERS(ddraw.h,
4413 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4414 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4416 AC_CHECK_HEADERS(GL/gl.h,
4417 [ VLC_ADD_PLUGINS([glwin32])
4418 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4420 AC_CHECK_HEADERS(d3d9.h,
4421 [ VLC_ADD_PLUGINS([direct3d])
4422 VLC_ADD_LIBS([direct3d],[-lgdi32])
4425 AC_MSG_CHECKING(for directX headers in ${with_directx})
4426 if test -f ${with_directx}/ddraw.h
4428 VLC_ADD_PLUGINS([vout_directx aout_directx])
4429 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4430 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4434 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4441 dnl Linux framebuffer module
4444 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4445 if test "${enable_fb}" != "no"
4447 AC_CHECK_HEADERS(linux/fb.h, [
4448 VLC_ADD_PLUGINS([fb])
4453 dnl Linux MGA module
4456 [ --enable-mga Linux kernel Matrox support (default disabled)],
4457 [ if test "${enable_mga}" = "yes"
4459 VLC_ADD_PLUGINS([mga])
4465 AC_ARG_ENABLE(svgalib,
4466 [ --enable-svgalib SVGAlib support (default disabled)])
4467 if test "${enable_svgalib}" = "yes"
4469 VLC_ADD_PLUGINS([svgalib])
4470 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4475 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4476 dnl TODO: support for static linking
4478 AC_ARG_ENABLE(directfb,
4479 [ --enable-directfb DirectFB support (default disabled)])
4480 AC_ARG_WITH(directfb,
4481 [ --with-directfb=PATH path to DirectFB headers and libraries])
4483 if test "${enable_directfb}" = "yes"; then
4484 have_directfb="false"
4485 CPPFLAGS_mydirectfb=
4487 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4488 dnl Trying the given location
4489 CPPFLAGS_save="${CPPFLAGS}"
4492 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4493 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4494 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4496 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4497 LIBS="${LIBS} ${LIBS_new}"
4499 dnl FIXME: too obscure
4500 AC_CHECK_HEADER([directfb.h], [
4501 AC_CHECK_LIB([direct],[direct_initialize], [
4502 AC_CHECK_LIB([fusion], [fusion_enter], [
4503 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4504 ], have_directfb="false")
4505 ], have_directfb="false")
4506 ], have_directfb="false")
4509 CPPFLAGS="${CPPFLAGS_save}"
4512 if test "${have_directfb}" = "true"; then
4513 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4514 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4517 dnl Look for directfb-config
4518 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4519 if test "${DIRECTFB_CONFIG}" != "no"; then
4520 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4521 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4522 have_directfb="true"
4524 dnl Trying with pkg-config
4525 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4526 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4527 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4528 have_directfb="true"
4529 ], [have_directfb="false"])
4532 if test "${have_directfb}" = "true"; then
4533 VLC_ADD_PLUGINS([directfb])
4534 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4535 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4537 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4547 [ --enable-ggi GGI support (default disabled)])
4548 if test "${enable_ggi}" = "yes"
4550 VLC_ADD_PLUGINS([ggi])
4551 VLC_ADD_LIBS([ggi],[-lggi])
4553 [ --with-ggi=PATH path to libggi],
4554 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4556 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4557 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4564 AC_ARG_ENABLE(glide,
4565 [ --enable-glide Glide (3dfx) support (default disabled)])
4566 if test "${enable_glide}" = "yes"
4568 CFLAGS_save="${CFLAGS}"
4570 [ --with-glide=PATH path to libglide],
4571 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4573 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4574 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4575 CFLAGS="$CFLAGS -I${with_glide}/include"
4577 CFLAGS="$CFLAGS -I/usr/include/glide"
4578 AC_CHECK_HEADER(glide.h,[
4579 VLC_ADD_PLUGINS([glide])
4580 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4581 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4583 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4585 CFLAGS="${CFLAGS_save}"
4592 [ --enable-aa aalib output (default disabled)])
4593 if test "${enable_aa}" = "yes"
4595 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4596 if test "${have_aa}" = "true"
4598 VLC_ADD_PLUGINS([aa])
4599 VLC_ADD_LIBS([aa],[-laa])
4607 [ --enable-caca libcaca output (default disabled)])
4608 if test "${enable_caca}" = "yes"
4611 AC_ARG_WITH(caca-config-path,
4612 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4613 [ if test "${with_caca_config_path}" != "no"
4615 CACA_PATH="${with_caca_config_path}:${PATH}"
4617 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4618 if test "${CACA_CONFIG}" != "no"
4620 VLC_ADD_PLUGINS([caca])
4621 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4622 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4627 dnl win32 GDI plugin
4629 AC_ARG_ENABLE(wingdi,
4630 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4631 if test "${enable_wingdi}" != "no"; then
4632 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4633 VLC_ADD_PLUGINS([wingdi])
4634 VLC_ADD_LIBS([wingdi],[-lgdi32])
4636 if test "${SYS}" = "mingwce"; then
4637 VLC_ADD_PLUGINS([wingdi wingapi])
4645 AC_ARG_WITH(,[Audio plugins:])
4648 dnl OSS /dev/dsp module (enabled by default except on win32)
4651 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4653 if test "${enable_oss}" != "no" &&
4654 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4655 test "${enable_oss}" = "yes")
4657 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4658 VLC_ADD_PLUGINS([oss])
4659 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4667 [ --enable-esd Esound library support (default disabled)],
4668 [if test "${enable_esd}" = "yes"
4670 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4671 if test "${ESD_CONFIG}" != "no"
4673 VLC_ADD_PLUGINS([esd])
4674 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4675 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4680 dnl Portaudio module
4682 AC_ARG_ENABLE(portaudio,
4683 [ --enable-portaudio Portaudio library support (default disabled)],
4684 [if test "${enable_portaudio}" = "yes"
4686 VLC_ADD_PLUGINS([portaudio])
4687 VLC_ADD_CXXFLAGS([portaudio],[])
4688 if test "${SYS}" = "mingw32"; then
4689 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4691 VLC_ADD_LIBS([portaudio],[-lportaudio])
4696 dnl aRts module -- broken (freeze wxWidgets)
4699 [ --enable-arts aRts sound server (default disabled)],
4700 [if test "${enable_arts}" = "yes"
4702 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4703 if test "${ARTS_CONFIG}" != "no"
4705 VLC_ADD_PLUGINS([arts])
4706 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4707 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4715 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4716 if test "${enable_alsa}" != "no"
4718 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4719 if test "${have_alsa}" = "true"
4721 CFLAGS="${CFLAGS_save}"
4722 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4723 #define ALSA_PCM_NEW_SW_PARAMS_API
4724 #include <alsa/asoundlib.h>],
4725 [snd_pcm_hw_params_get_period_time(0,0,0);],
4726 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4727 VLC_ADD_PLUGINS([alsa])
4728 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4730 if test "${enable_alsa}" = "yes"; then
4731 AC_MSG_ERROR([Could not find ALSA development headers])
4737 dnl win32 waveOut plugin
4739 AC_ARG_ENABLE(waveout,
4740 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4741 if test "${enable_waveout}" != "no"; then
4742 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4743 VLC_ADD_PLUGINS([waveout])
4744 VLC_ADD_LIBS([waveout],[-lwinmm])
4746 if test "${SYS}" = "mingwce"; then
4747 VLC_ADD_PLUGINS([waveout])
4752 dnl CoreAudio plugin
4754 AC_ARG_ENABLE(macosx-audio,
4755 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4756 if test "${enable_macosx-audio}" != "no" &&
4757 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4759 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4760 [ VLC_ADD_BUILTINS([auhal])
4761 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4762 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4766 dnl Roku HD1000 audio
4768 AC_ARG_ENABLE(hd1000a,
4769 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4770 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4771 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4772 test "${enable_hd1000a}" = "yes")
4775 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4776 VLC_ADD_PLUGINS([hd1000a])
4777 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4785 [ --enable-jack JACK audio I/O modules (default disabled)],,
4788 AS_IF([test "${enable_jack}" != "no"], [
4789 AC_CHECK_HEADERS(jack/jack.h, [
4790 VLC_ADD_PLUGINS([access_jack jack])
4791 VLC_ADD_LIBS([access_jack jack],[-ljack])
4792 ],[AC_MSG_ERROR([cannot find JACK headers])])
4796 dnl CyberLink for C++ UPnP stack
4798 AC_ARG_ENABLE(cyberlink,
4799 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4800 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4801 AC_ARG_WITH(cyberlink-tree,
4802 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4805 dnl test for --with-cyberlink-tree
4807 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4809 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4810 AS_IF([test -z "${real_cyberlink_tree}"], [
4811 dnl The given directory can't be found
4813 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4815 CPPFLAGS_save="${CPPFLAGS}"
4816 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4817 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4818 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4819 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4820 VLC_ADD_PLUGINS([upnp_cc])
4822 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4824 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4825 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4826 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4827 dnl The mere fact that we have to make such an ugly check sucks
4828 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4831 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4832 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4833 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4834 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4835 using namespace CyberLink;
4837 class testclass : public SearchResponseListener, public MediaPlayer
4839 virtual void deviceSearchResponseReceived( SSDPPacket *)
4846 addSearchResponseListener (this);
4850 ],[testclass l;])],[LIBS_cclink="$l"])
4853 dnl should not happen - otherwise this needs fixing - hence FAILURE
4854 AS_IF([test "${LIBS_cclink}" = "no"],
4855 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4856 AC_MSG_RESULT([${LIBS_cclink}])
4857 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4860 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4862 CPPFLAGS="${CPPFLAGS_save}"
4868 dnl UPnP Plugin (Intel SDK)
4871 [ --enable-upnp Intel UPnP SDK (default enabled)])
4873 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4874 AS_IF([test "x${enable_upnp}" != "xno"], [
4875 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4876 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4877 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4879 AS_IF([test "${has_upnp}" = "yes"], [
4880 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4886 AS_IF([test "${has_upnp}" = "yes"], [
4887 VLC_ADD_PLUGINS([upnp_intel])
4892 dnl Interface plugins
4895 AC_ARG_WITH(,[Interface plugins:])
4897 dnl special case for BeOS
4898 if test "${SYS}" = "beos"
4900 VLC_ADD_BUILTINS([beos])
4906 AC_ARG_ENABLE(skins2,
4907 [ --enable-skins2 Skins2 interface module (default disabled)])
4908 if test "${enable_skins2}" = "yes" ||
4909 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4910 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4912 dnl test for the required libraries
4913 skins2_missing_lib="no"
4916 if test "${FREETYPE_CONFIG}" != "no"; then
4917 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4918 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4920 skins2_missing_lib="yes"
4921 if test "${enable_skins2}" = "yes"; then
4922 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4926 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4927 VLC_ADD_PLUGINS([skins2])
4928 ALIASES="${ALIASES} svlc"
4929 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4930 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4931 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4933 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4934 VLC_ADD_PLUGINS([skins2])
4935 ALIASES="${ALIASES} svlc"
4936 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4937 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4938 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4940 else if test "${skins2_missing_lib}" = "no"; then
4941 VLC_ADD_PLUGINS([skins2])
4942 ALIASES="${ALIASES} svlc"
4943 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4944 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4945 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4953 dnl AC_ARG_ENABLE(gtk,
4954 dnl [ --enable-gtk Gtk+ support (default enabled)])
4955 dnl if test "${enable_gtk}" != "no"
4957 dnl GTK_PATH="${PATH}"
4958 dnl AC_ARG_WITH(gtk-config-path,
4959 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4960 dnl [ if test "${with_gtk_config_path}" != "no"
4962 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4964 dnl # look for gtk-config
4965 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4966 dnl GTK_CONFIG=${GTK12_CONFIG}
4967 dnl if test "${GTK_CONFIG}" = "no"
4969 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4971 dnl if test "${GTK_CONFIG}" != "no"
4973 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4975 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.])
4977 dnl if test "${SYS}" != "mingw32"; then
4978 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4979 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4981 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4982 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4984 dnl # now look for the gtk.h header
4985 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4986 dnl ac_cv_gtk_headers=yes
4987 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4988 dnl ac_cv_gtk_headers=no
4989 dnl echo "Cannot find gtk development headers."
4991 dnl if test "${ac_cv_gtk_headers}" = "yes"
4993 dnl VLC_ADD_PLUGINS([gtk])
4994 dnl if test "${SYS}" != "mingw32"; then
4995 dnl NEED_GTK_MAIN=yes
4997 dnl ALIASES="${ALIASES} gvlc"
4999 dnl CPPFLAGS="${CPPFLAGS_save}"
5004 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5006 dnl AC_ARG_ENABLE(gtk2,
5007 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5008 dnl if test "${enable_gtk2}" = "yes"
5010 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5011 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5012 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5013 dnl VLC_ADD_PLUGINS([gtk2])
5014 dnl if test "${SYS}" != "mingw32"; then
5015 dnl NEED_GTK2_MAIN=yes
5020 dnl PDA Gtk+2 module
5023 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5024 if test "${enable_pda}" = "yes"
5026 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5027 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5028 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5029 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5030 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5031 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5032 VLC_ADD_PLUGINS([pda])
5033 if test "${SYS}" != "mingw32"; then
5039 dnl dnl Gnome module
5041 dnl AC_ARG_ENABLE(gnome,
5042 dnl [ --enable-gnome Gnome interface support (default disabled)],
5043 dnl [if test "${enable_gnome}" = "yes"; then
5044 dnl # look for gnome-config
5045 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5046 dnl if test -x ${GNOME_CONFIG}
5048 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5049 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5051 dnl # now look for the gnome.h header
5052 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5053 dnl AC_CHECK_HEADERS(gnome.h, [
5054 dnl VLC_ADD_PLUGINS([gnome])
5055 dnl NEED_GTK_MAIN=yes
5056 dnl NEED_GNOME_MAIN=yes
5057 dnl ALIASES="${ALIASES} gnome-vlc"
5058 dnl dnl We need this because of some moronic gnomesupport.h flavours
5059 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5060 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5061 dnl AC_MSG_RESULT(yes)
5062 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5063 dnl Define if <gnome.h> defines strndup.)],[
5064 dnl AC_MSG_RESULT(no)])
5066 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5067 dnl developement tools or remove the --enable-gnome option])
5069 dnl CPPFLAGS="${CPPFLAGS_save}"
5073 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5075 dnl AC_ARG_ENABLE(gnome2,
5076 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5077 dnl if test "${enable_gnome2}" = "yes"
5079 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5080 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5081 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5082 dnl VLC_ADD_PLUGINS([gnome2])
5083 dnl if test "${SYS}" != "mingw32"; then
5084 dnl NEED_GNOME2_MAIN=yes
5089 dnl wxWidgets module
5091 AC_ARG_ENABLE(wxwidgets,
5092 [ --enable-wxwidgets wxWidgets support (default disabled)])
5094 if test "${enable_wxwidgets}" = "yes"
5096 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5097 WXWIDGETS_PATH="${PATH}"
5098 AC_ARG_WITH(wx-config-path,
5099 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5100 [ if test "${with_wx_config_path}" != "no"
5102 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5104 WXWIDGETS_NAME="wx-config"
5105 AC_ARG_WITH(wx-config,
5106 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5107 [ if test "${with_wx_config}" != "no"
5109 WXWIDGETS_NAME="${with_wx_config}"
5111 # look for wx-config
5112 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5113 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5115 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5117 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5121 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5122 # into a warning. However better would be to fix playlist.cpp
5123 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5124 [ac_cv_cxx_fpermissive],
5125 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5126 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5127 ac_cv_cxx_fpermissive=no)])
5128 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5129 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5131 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5132 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5133 # check if we must link against gtk2 libs
5134 # if __WXGTK20__ && __WXGTK__ are defined
5135 # for modules/gui/wxwidgets/video.cpp
5136 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5139 #error ok, we need to link against gtk2
5141 ])],[WXGTK=no],[WXGTK=yes])
5142 if test "$WXGTK" = "yes"; then
5143 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5145 if ${WX_CONFIG} --unicode
5147 # wxwidgets should provide the following flags but does not
5148 # the following is required to compile for win32
5149 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5151 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5153 if test "$have_libcdio" = "yes"
5155 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5156 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5158 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5161 if test "$have_libvcdinfo" = "yes"
5163 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5164 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5166 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5169 # now look for the wxprec.h header
5170 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5171 ac_cv_wx_headers=yes
5172 AC_CHECK_HEADERS(wx/wxprec.h, , [
5174 echo "Cannot find wxWidgets development headers."
5176 if test "${ac_cv_wx_headers}" = "yes"
5178 VLC_ADD_PLUGINS([wxwidgets])
5179 ALIASES="${ALIASES} wxvlc"
5181 CPPFLAGS="${CPPFLAGS_save}"
5184 dnl WxWidgets plugin will yield incorrect code without this
5185 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5193 [ --enable-qt4 QT 4 support (default enabled) ])
5194 AS_IF([test "${enable_qt4}" != "no" &&
5195 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5196 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5197 [ VLC_ADD_PLUGINS([qt4])
5198 ALIASES="${ALIASES} qvlc"
5200 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5201 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5202 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5203 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5204 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5206 AS_IF([test "${enable_qt4}" = "yes"],[
5207 AC_MSG_ERROR(QT4 library not found)
5209 AC_MSG_WARN(QT4 library not found)
5213 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5216 dnl WinCE GUI module
5218 if test "${SYS}" = "mingwce"; then
5219 VLC_ADD_BUILTINS([wince])
5220 VLC_ADD_CXXFLAGS([wince],[])
5221 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5223 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5224 elif test "${SYS}" = "mingw32"; then
5225 VLC_ADD_CXXFLAGS([wince],[])
5226 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5228 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5232 dnl Simple test for skins2 dependency
5234 if test "${enable_skins2}" != "no"
5236 if test "${WX_CONFIG}" = "no"
5238 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.])
5245 dnl AC_ARG_ENABLE(qt,
5246 dnl [ --enable-qt Qt interface support (default disabled)],
5247 dnl [if test "${enable_qt}" = "yes"; then
5248 dnl VLC_ADD_PLUGINS([qt])
5249 dnl ALIASES="${ALIASES} qvlc"
5250 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5251 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5252 dnl AC_CHECK_LIB(qt-mt,main,[
5253 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5255 dnl AC_CHECK_LIB(qt,main,[
5256 dnl VLC_ADD_LIBS([qt],[-lqt])
5259 dnl LDFLAGS="${LDFLAGS_save}"
5260 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5261 dnl if test -x ${QTDIR}/bin/moc
5263 dnl MOC=${QTDIR}/bin/moc
5272 dnl AC_ARG_ENABLE(kde,
5273 dnl [ --enable-kde KDE interface support (default disabled)],
5274 dnl [if test "${enable_kde}" = "yes"; then
5275 dnl VLC_ADD_PLUGINS([kde])
5276 dnl ALIASES="${ALIASES} kvlc"
5277 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5278 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5279 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5280 dnl AC_CHECK_LIB(kfile,main,[
5281 dnl VLC_ADD_LIBS([kde],[-lkfile])
5283 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5284 dnl AC_CHECK_LIB(kdeui,main,[
5285 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5287 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5288 dnl AC_CHECK_LIB(kio,main,[
5289 dnl VLC_ADD_LIBS([kde],[-lkio])
5291 dnl LDFLAGS="${LDFLAGS_save}"
5292 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5293 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5294 dnl if test -x ${QTDIR}/bin/moc
5296 dnl MOC=${QTDIR}/bin/moc
5303 dnl Opie QT embedded module
5306 [ --enable-opie Qt embedded interface support (default disabled)],
5307 [if test "${enable_opie}" = "yes"; then
5309 [ --with-qte=PATH Qt Embedded headers and libraries])
5310 if test "${with_qte}" != "no" -a -n "${with_qte}"
5312 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5313 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])
5315 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5316 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5318 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5319 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5320 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5322 CPPFLAGS="${CPPFLAGS_save}"
5324 VLC_ADD_PLUGINS([opie])
5326 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5327 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5328 if test "${with_qte}" != "no" -a -n "${with_qte}"
5330 MOC=${with_qte}/bin/moc
5332 MOC=${QTDIR}/bin/moc
5337 dnl MacOS X video output/gui modules
5339 AC_ARG_ENABLE(macosx, [--enable-macosx MacOS X support (default enabled on MacOS X)])
5340 if test "x${enable_macosx}" = "xyes"
5342 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5343 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5344 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5345 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5346 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5347 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5348 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5349 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5350 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5351 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5352 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
5354 VLC_ADD_PLUGINS([access_eyetv])
5355 VLC_ADD_BUILTINS([macosx minimal_macosx])
5358 CFLAGS="$CFLAGS -x objective-c"
5359 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5367 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5368 if test "${enable_qnx}" != "no"
5370 AC_CHECK_HEADERS(Ph.h, [
5371 VLC_ADD_PLUGINS([qnx])
5372 VLC_ADD_LIBS([qnx],[-lasound -lph])
5379 AC_ARG_ENABLE(ncurses,
5380 [ --disable-ncurses ncurses interface support (default enabled)],
5381 [if test "${enable_ncurses}" != "no"; then
5382 AC_CHECK_HEADER(ncurses.h,
5383 [AC_CHECK_LIB(ncursesw, mvprintw,
5384 [VLC_ADD_PLUGINS([ncurses])
5385 VLC_ADD_LIBS([ncurses],[-lncursesw])
5386 ALIASES="${ALIASES} nvlc"
5387 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5389 [AC_CHECK_LIB( ncurses, mvprintw,
5390 [VLC_ADD_PLUGINS([ncurses])
5391 ALIASES="${ALIASES} nvlc"
5392 VLC_ADD_LIBS([ncurses],[-lncurses])],
5393 [AS_IF([test "x${enable_ncurses}" != "x"], [
5394 AC_MSG_ERROR([libncurses not found])])]
5405 [ --enable-xosd xosd interface support (default disabled)])
5406 if test "${enable_xosd}" = "yes"
5408 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5409 AC_CHECK_LIB(xosd,xosd_set_offset,
5410 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5411 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5412 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5413 AC_TRY_COMPILE([#include <xosd.h>],
5414 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5415 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5416 if test "${have_xosd}" = "true"
5418 VLC_ADD_PLUGINS([xosd])
5419 VLC_ADD_LIBS([xosd],[-lxosd])
5424 dnl Framebuffer (overlay) plugin
5426 AC_ARG_ENABLE(fbosd,
5427 [ --enable-fbosd fbosd interface support (default disabled)])
5428 if test "${enable_fbosd}" = "yes"
5430 AC_CHECK_HEADERS(linux/fb.h, [
5431 VLC_ADD_PLUGINS([fbosd])
5436 dnl Visualisation plugin
5438 AC_ARG_ENABLE(visual,
5439 [ --enable-visual visualisation plugin (default enabled)])
5440 if test "${enable_visual}" != "no"
5442 VLC_ADD_PLUGINS([visual])
5446 dnl OpenGL visualisation plugin
5448 AC_ARG_ENABLE(galaktos,
5449 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5450 if test "${enable_galaktos}" = "yes"
5452 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5453 VLC_ADD_PLUGINS([galaktos])
5454 if test "${SYS}" != "mingw32"; then
5455 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5457 VLC_ADD_LIBS([galaktos],[-lopengl32])
5463 dnl goom visualization plugin
5466 [ --enable-goom goom visualisation plugin (default disabled)])
5467 if test "${enable_goom}" = "yes"
5469 AC_ARG_WITH(goom-tree,
5470 [ --with-goom-tree=PATH goom tree for static linking (required)])
5473 dnl test for --with-goom-tree
5475 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5476 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5477 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5478 if test -z "${real_goom_tree}"; then
5479 dnl The given directory can't be found
5481 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5483 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5484 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5485 VLC_ADD_BUILTINS([goom])
5486 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5487 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5489 dnl The given libgoom2 wasn't built, try to look for the old goom
5491 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5492 if test -f "${real_goom_tree}/libgoom.a"; then
5493 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5494 VLC_ADD_BUILTINS([goom])
5495 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5496 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5498 dnl The given libgoom wasn't built
5500 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5504 AC_CHECK_HEADERS(goom/goom.h, [
5505 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5506 AC_CHECK_LIB(goom2, goom_init, [
5507 VLC_ADD_PLUGINS([goom])
5508 VLC_ADD_LIBS([goom],[-lgoom2])
5510 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5512 LDFLAGS="${LDFLAGS_save}"
5518 dnl Bonjour services discovery
5520 AC_ARG_ENABLE(bonjour,
5521 [ --enable-bonjour Bonjour services discovery (default enabled)])
5522 if test "${enable_bonjour}" != "no"
5524 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5525 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5526 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5527 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5528 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5529 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5530 VLC_ADD_PLUGINS([bonjour]) ],
5531 [AC_MSG_WARN(avahi-client library not found)])
5538 [ --enable-lirc lirc support (default disabled)])
5539 if test "${enable_lirc}" = "yes"
5541 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5542 if test "${have_lirc}" = "true"
5544 VLC_ADD_PLUGINS([lirc])
5545 VLC_ADD_LIBS([lirc],[-llirc_client])
5550 AC_ARG_WITH(,[Misc options:])
5555 AC_ARG_ENABLE(gnutls,
5556 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5558 AS_IF([test "${enable_gnutls}" != "no"], [
5559 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5561 AS_IF([test "${have_gnutls}" = "yes"], [
5562 VLC_ADD_PLUGINS([gnutls])
5563 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5564 AS_IF([test "${SYS}" = "mingw32"], [
5565 dnl pkg-config --libs gnutls omits these
5566 VLC_ADD_LIBS([gnutls], [-lz])
5567 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5569 AC_CHECK_LIB([gcrypt], [gcry_control], [
5570 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5571 ], [], [-lgpg-error])
5572 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5574 AS_IF([test "${enable_gnutls}" = "yes"], [
5575 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5583 AC_ARG_ENABLE(libgcrypt,
5584 [ --enable-libgcrypt libgcrypts support (default enabled)])
5585 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5587 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5588 dnl it and looks for libgcrypt headers in the wrong place.
5589 if test "${host_cpu}" = "${build_cpu}"
5591 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5593 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5596 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5599 dnl update checking system
5601 AC_ARG_ENABLE(update-check,
5602 [ --enable-update-check update checking system (default disabled)])
5603 if test "${enable_update_check}" = "yes"
5605 if test "${have_libgcrypt}" != "yes"
5607 AC_MSG_ERROR([libgcrypt is required for update checking system])
5609 VLC_ADD_LIBS([libvlc], [-lgcrypt])
5610 AC_DEFINE([UPDATE_CHECK], [1], [Define if you want to use the VLC update mechanism])
5614 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5616 dnl We give the user the opportunity to specify
5617 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5620 [ --with-words=endianness set endianness (big or little)])
5621 case "${with_words}" in
5623 ac_cv_c_bigendian=yes
5626 ac_cv_c_bigendian=no
5629 dnl Try to guess endianness by matching patterns on a compiled
5630 dnl binary, by looking for an ASCII or EBCDIC string
5631 AC_CACHE_CHECK([whether the byte order is big-endian],
5632 [ac_cv_c_bigendian],
5633 [ac_cv_c_bigendian="unknown"
5634 [cat >conftest.c <<EOF
5635 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5636 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5637 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5638 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5639 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5640 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5641 int main(void) { _a(); _e(); return 0; }
5644 if test -f conftest.c
5646 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5647 && test -f conftest.o
5649 if test "`strings conftest.o | grep BIGenDianSyS`"
5651 ac_cv_c_bigendian="yes"
5653 if test "`strings conftest.o | grep LiTTleEnDian`"
5655 ac_cv_c_bigendian="no"
5660 if test "${ac_cv_c_bigendian}" = "unknown"
5662 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5666 dnl Now we know what to use for endianness, just put it in the header
5667 if test "${ac_cv_c_bigendian}" = "yes"
5669 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5673 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5676 AC_ARG_ENABLE(loader,
5677 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5678 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5679 AS_IF([test "${enable_loader}" = "yes"],
5680 [ VLC_ADD_PLUGINS([dmo])
5681 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5682 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5683 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5684 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5685 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5686 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5690 dnl Microsoft ActiveX support
5693 AC_ARG_ENABLE(activex,
5694 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5695 AC_ARG_WITH(wine-sdk-path,
5696 [ --with-wine-sdk-path=PATH path to wine sdk])
5697 if test "${enable_activex}" != "no"
5699 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5701 AC_CHECK_PROGS(MIDL, [midl], no)
5702 if test "${with_wine_sdk_path}" != ""
5704 WINE_SDK_PATH=${with_wine_sdk_path}
5705 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5710 AC_CHECK_HEADERS(ole2.h,
5711 [AC_CHECK_HEADERS(olectl.h,
5712 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5713 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5714 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5715 AC_CHECK_HEADERS(objsafe.h,
5716 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5724 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5726 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5728 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5733 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5734 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5735 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5736 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5737 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5743 AC_ARG_ENABLE(mozilla,
5744 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5745 AC_ARG_WITH(mozilla-sdk-path,
5746 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5748 if test "${enable_mozilla}" = "yes"
5750 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5751 need_xpcom_libs=false
5753 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5755 dnl New firefox-1.5 SDK api
5756 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5758 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5761 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5764 PKG_CHECK_MODULES([NSPR], [nspr],
5767 AC_MSG_ERROR([Please install the nspr development tools.])
5773 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5774 MOZILLA_REQUIRED_HEADERS=1
5775 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5776 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5777 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5782 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5783 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5785 MOZILLA_REQUIRED_HEADERS=
5787 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5788 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5789 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5790 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5791 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5793 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5795 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5796 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5798 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5799 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5800 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5801 VLC_ADD_PLUGINS([mozilla])
5803 CPPFLAGS="${CPPFLAGS_save}"
5806 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5807 if test "${MOZILLA_CONFIG}" = "no"
5809 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5810 if test "${SEAMONKEY_CONFIG}" = "no"
5812 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5813 if test "${XULRUNNER_CONFIG}" = "no"
5815 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5818 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5821 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5826 if test ! -z "${MOZILLA_CONFIG}"
5828 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5829 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5830 AC_CHECK_LIB(Xt,XtStrings,
5832 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5833 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5836 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5838 LDFLAGS="${LDFLAGS_save}"
5842 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5843 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5844 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5845 if ${need_xpcom_libs}; then
5846 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5848 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5850 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5851 MOZILLA_REQUIRED_HEADERS=1
5852 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5853 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5854 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5859 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5861 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5863 MOZILLA_REQUIRED_HEADERS=
5864 CPPFLAGS="${CPPFLAGS_save}"
5865 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5867 dnl End of moz_sdk = ""
5869 dnl special case for mingw32
5870 if test "${SYS}" = "mingw32"
5872 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5873 dnl latest gecko sdk does not have an xpcom directory
5874 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5875 mozilla_sdk_xpcom="/xpcom"
5879 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5880 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5881 MOZILLA_REQUIRED_HEADERS=1
5882 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5883 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5884 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5889 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5891 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5893 MOZILLA_REQUIRED_HEADERS=
5895 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5896 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])
5897 if ${need_xpcom_libs}; then
5898 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])
5899 if test "${SYS}" = "mingw32"; then
5900 dnl latest gecko sdk does not have embedstring
5901 if test -d "${real_mozilla_sdk}/embedstring/bin"
5903 VLC_ADD_LIBS([mozilla],[-lembedstring])
5907 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5909 if test -n "${CYGPATH}"; then
5910 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5912 CPPFLAGS="${CPPFLAGS_save}"
5916 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5918 dnl Tests for Osso and Xsp
5919 if test "${enable_x11}" != "no" &&
5920 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5921 test "${enable_x11}" = "yes"); then
5922 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5923 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5924 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5925 VLC_ADD_LIBS([x11],[-losso])
5928 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5929 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5930 VLC_ADD_LIBS([x11],[-lXsp])
5935 dnl Mediacontrol Python bindings
5937 AC_ARG_ENABLE(python-bindings,
5938 [ --enable-python-bindings Enable Python bindings (default disabled)])
5939 dnl TODO: look for python dev headers
5940 AS_IF([test "${enable_python_bindings}" = "yes"],
5941 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5944 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5949 AC_ARG_ENABLE(java-bindings,
5950 [ --enable-java-bindings Enable Java bindings (default disabled)])
5951 if test "${enable_java_bindings}" = "yes"
5953 AS_IF([test "x${JAVA_HOME}" == "x"],
5954 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5957 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5958 if test "${JAVAC}" == "javac${EXEEXT}"
5960 JAVAC="javac${EXEEXT} -cp ./ "
5963 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5968 AC_ARG_ENABLE(testsuite,
5969 [ --enable-testsuite build test modules (default disabled)])
5970 if test "${enable_testsuite}" = "yes"
5972 TESTS="test1 test2 test3 test4"
5974 dnl we define those so that bootstrap sets the right linker
5975 VLC_ADD_CXXFLAGS([test2],[])
5976 VLC_ADD_OBJCFLAGS([test3],[])
5977 dnl this one is needed until automake knows what to do
5978 VLC_ADD_LIBS([test3],[-lobjc])
5980 VLC_ADD_PLUGINS([${TESTS}])
5984 dnl Microsoft Layer for Unicode for WIN9x/ME
5986 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5988 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5989 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5996 if test "${NEED_GTK_MAIN}" != "no"
5998 VLC_ADD_PLUGINS([gtk_main])
5999 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6000 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6003 if test "${NEED_GNOME_MAIN}" != "no"
6005 VLC_ADD_PLUGINS([gnome_main])
6006 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6007 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6010 if test "${NEED_GTK2_MAIN}" != "no"
6012 VLC_ADD_PLUGINS([gtk2_main])
6013 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6014 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6015 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6016 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6019 if test "${NEED_GNOME2_MAIN}" != "no"
6021 VLC_ADD_PLUGINS([gnome2_main])
6022 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6023 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6029 if test "${NEED_QTE_MAIN}" != "no"
6031 VLC_ADD_PLUGINS([qte_main])
6032 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6033 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6034 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6039 dnl Plugin and builtin checks
6043 dnl Automagically disable plugins if there is no system support for
6044 dnl dynamically loadable files (.so, .dll, .dylib).
6045 dnl don't forget vlc-win32 still can load .dll as plugins
6046 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6047 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6051 AS_IF([test "${enable_shared}" = "no"], [
6055 AS_IF([test "${plugin_support}" != "no"], [
6056 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6059 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6061 dnl Temporary(?) hack for plugins/builtins transition
6062 VLC_ADD_PLUGINS([${BUILTINS}])
6066 dnl Pic and shared libvlc stuff
6068 AS_IF([test "${SYS}" = "mingw32"], [
6069 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6070 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6074 dnl Stuff used by the program
6076 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6077 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6078 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6079 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6080 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6081 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6082 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6083 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6084 AC_SUBST(VERSION_MAJOR)
6085 AC_SUBST(VERSION_MINOR)
6086 AC_SUBST(VERSION_REVISION)
6087 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6088 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6089 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6090 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6093 dnl Handle substvars that use $(top_srcdir)
6095 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6096 AC_SUBST(VLC_CONFIG)
6097 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6105 dnl Create the vlc-config script
6107 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6110 dnl Configuration is finished
6120 AC_SUBST(MOZILLA_SDK_PATH)
6121 AC_SUBST(WINE_SDK_PATH)
6123 AC_SUBST(AM_CPPFLAGS)
6124 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6125 AC_SUBST(FILE_LIBVLC_DLL)
6126 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6128 dnl Create vlc-config.in
6129 VLC_OUTPUT_VLC_CONFIG_IN
6137 bindings/java/Makefile
6138 bindings/java/src/Makefile
6139 bindings/python/Makefile
6143 libs/loader/Makefile
6154 modules/access/Makefile
6155 modules/access/bda/Makefile
6156 modules/access/dshow/Makefile
6157 modules/access/dvb/Makefile
6158 modules/access/mms/Makefile
6159 modules/access/cdda/Makefile
6160 modules/access/rtsp/Makefile
6161 modules/access/vcd/Makefile
6162 modules/access/vcdx/Makefile
6163 modules/access/screen/Makefile
6164 modules/access_filter/Makefile
6165 modules/access_output/Makefile
6166 modules/audio_filter/Makefile
6167 modules/audio_filter/channel_mixer/Makefile
6168 modules/audio_filter/converter/Makefile
6169 modules/audio_filter/resampler/Makefile
6170 modules/audio_filter/spatializer/Makefile
6171 modules/audio_mixer/Makefile
6172 modules/audio_output/Makefile
6173 modules/codec/Makefile
6174 modules/codec/cmml/Makefile
6175 modules/codec/dmo/Makefile
6176 modules/codec/ffmpeg/Makefile
6177 modules/codec/subtitles/Makefile
6178 modules/codec/spudec/Makefile
6179 modules/codec/xvmc/Makefile
6180 modules/control/Makefile
6181 modules/control/http/Makefile
6182 modules/demux/Makefile
6183 modules/demux/asf/Makefile
6184 modules/demux/avi/Makefile
6185 modules/demux/mp4/Makefile
6186 modules/demux/mpeg/Makefile
6187 modules/demux/playlist/Makefile
6188 modules/gui/Makefile
6189 modules/gui/beos/Makefile
6190 modules/gui/pda/Makefile
6191 modules/gui/macosx/Makefile
6192 modules/gui/minimal_macosx/Makefile
6193 modules/gui/qnx/Makefile
6194 modules/gui/qt4/Makefile
6195 modules/gui/skins2/Makefile
6196 modules/gui/wxwidgets/Makefile
6197 modules/gui/wince/Makefile
6198 modules/meta_engine/Makefile
6199 modules/misc/Makefile
6200 modules/misc/dummy/Makefile
6201 modules/misc/lua/Makefile
6202 modules/misc/memcpy/Makefile
6203 modules/misc/notify/Makefile
6204 modules/misc/testsuite/Makefile
6205 modules/misc/playlist/Makefile
6206 modules/misc/osd/Makefile
6207 modules/misc/xml/Makefile
6208 modules/misc/probe/Makefile
6209 modules/mux/Makefile
6210 modules/mux/mpeg/Makefile
6211 modules/mux/rtp/Makefile
6212 modules/packetizer/Makefile
6213 modules/services_discovery/Makefile
6214 modules/stream_out/Makefile
6215 modules/stream_out/transrate/Makefile
6216 modules/video_chroma/Makefile
6217 modules/video_filter/Makefile
6218 modules/video_output/Makefile
6219 modules/video_output/msw/Makefile
6220 modules/video_output/qte/Makefile
6221 modules/video_output/x11/Makefile
6222 modules/visualization/Makefile
6223 modules/visualization/visual/Makefile
6224 modules/visualization/galaktos/Makefile
6227 dnl Generate makefiles
6230 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6231 # not provided with the source
6232 ${SHELL} ./config.status --file=vlc-config
6233 chmod 0755 vlc-config
6235 dnl echo "Enabled builtin modules :"
6236 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6238 dnl echo "Enabled plugin modules :"
6239 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6241 dnl Shortcut to nice compile message
6243 echo '#! /bin/sh' >compile
6245 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6246 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6251 --------------------
6252 vlc version : ${VERSION}
6254 architecture : ${ARCH}
6256 test "${enable_debug}" = "yes" && printf "debug "
6257 test "${enable_cprof}" = "yes" && printf "cprof "
6258 test "${enable_gprof}" = "yes" && printf "gprof "
6259 test "${enable_optimizations}" = "yes" && printf "optim "
6260 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6262 vlc aliases :${ALIASES}
6263 plugins/bindings :${PLUGINS_BINDINGS}
6265 You can check which modules have been enabled
6266 with \`./vlc-config --list plugin'.
6267 You can tune the compiler flags in vlc-config.
6268 To build vlc and its plugins, type \`./compile' or \`make'.
6270 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6272 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6274 echo " FFmpeg will be REALLY slow."
6275 echo " VLC WILL NOT PERFORM AS EXPECTED."