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 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
173 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
174 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
175 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
176 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
177 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
178 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
179 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
180 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
181 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
182 AC_ARG_ENABLE(macosx-defaults,
183 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
184 if test "x${enable_macosx_defaults}" != "xno"
187 echo "Building with Mac OS X defaults:"
188 with_macosx_version_min="10.4"
189 echo " Assuming --with-macosx-version-min=10.4"
191 echo " Assuming --enable-macosx"
193 echo " Assuming --enable-faad"
195 echo " Assuming --enable-flac"
197 echo " Assuming --enable-theora"
199 echo " Assuming --enable-shout"
201 echo " Assuming --enable-cddax"
203 echo " Assuming --enable-vcdx"
205 echo " Assuming --enable-caca"
207 echo " Assuming --enable-goom"
209 echo " Assuming --enable-ncurses"
211 echo " Assuming --enable-twolame"
212 enable_realrtsp="yes"
213 echo " Assuming --enable-realrtsp"
216 echo " Assuming --disable-skins2"
218 echo " Assuming --disable-x11"
220 echo " Assuming --disable-glx"
222 echo " Assuming --disable-xvideo"
225 echo " Compiling with default SDK"
227 if test ".`uname -p`" = ".i386"; then
228 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
229 dnl without hacking it a lot, we disable mmx and sse.
230 dnl (that bug is about ld being unable to handle
232 save_cflags="$CFLAGS"
233 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
235 [int a;], [asm("movq _a,%mm0\n");],
236 ac_ld_does_not_support_text_reloc=no,
237 ac_ld_does_not_support_text_reloc=yes)
238 CFLAGS="$save_cflags"
240 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
242 echo " Assuming --disable-mmx (due to a bug in ld)"
244 echo " Assuming --disable-sse (due to a bug in ld)"
248 dnl Check for Mac OS X SDK settings
250 AC_ARG_WITH(macosx-sdk,
251 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
252 if test "${with_macosx_sdk}" != "" ; then
253 CC="${CC} -isysroot ${with_macosx_sdk}"
254 CXX="${CXX} -isysroot ${with_macosx_sdk}"
255 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
256 LD="${LD} -syslibroot ${with_macosx_sdk}"
258 AC_ARG_WITH(macosx-version-min,
259 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
260 if test "${with_macosx_version_min}" != "" ; then
261 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
262 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
263 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
264 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
265 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
266 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
267 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
268 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
269 export MACOSX_DEPLOYMENT_TARGET
272 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
273 AC_CHECK_TOOL(WINDRES, windres, :)
280 dnl Check if we are using the mno-cygwin mode in which case we are
281 dnl actually dealing with a mingw32 compiler.
286 SYS=mingw32, SYS=cygwin)
288 *wince* | *mingwce* | *pe*)
293 if test "${SYS}" = "mingw32"; then
294 # add ws2_32 for closesocket, select, recv
295 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
296 VLC_ADD_LDFLAGS([vlc],[-mwindows])
297 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
298 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
299 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])
301 if test "${SYS}" = "mingwce"; then
302 # add ws2 for closesocket, select, recv
303 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
304 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
305 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
310 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
314 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
315 # Perhaps it is useful other places as well?
316 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
323 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
324 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
325 VLC_ADD_CXXFLAGS([beos],[])
326 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
327 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
328 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
329 VLC_ADD_LIBS([access_file],[-lpoll])
330 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
332 if test -f /boot/beos/system/lib/libbind.so; then
333 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
335 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
338 dnl Ugly check for Zeta
339 if test -f /boot/beos/system/lib/libzeta.so; then
340 VLC_ADD_LIBS([beos],[-lzeta])
347 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
348 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
349 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
350 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
353 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
354 dnl for program foo on win32
356 case "${build_os}" in
358 ac_executable_extensions=".exe"
366 dnl It's very bad, but our former custom system was worst
370 dnl override platform specific check for dependent libraries
371 dnl otherwise libtool linking of shared libraries will
372 dnl fail on anything other than pass_all.
373 AC_CACHE_VAL(lt_cv_deplibs_check_method,
374 [lt_cv_deplibs_check_method=pass_all])
377 AC_DISABLE_FAST_INSTALL
380 m4_undefine([AC_PROG_F77])
381 m4_defun([AC_PROG_F77],[])
384 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
385 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
387 lt_cv_deplibs_check_method=pass_all
393 AM_GNU_GETTEXT_VERSION(0.16.1)
395 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
396 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
397 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
399 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
405 AS_IF([test "$am_cv_func_iconv" != "yes"],
406 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
407 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
408 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
410 dnl Check for the need to include the mingwex lib for mingw32
411 if test "${SYS}" = "mingw32"
413 AC_CHECK_LIB(mingwex,opendir,
414 AC_CHECK_LIB(mingw32,opendir,,
415 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
419 dnl Check for fnative-struct or mms-bitfields support for mingw32
420 if test "${SYS}" = "mingw32"
422 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
423 [ac_cv_c_mms_bitfields],
424 [CFLAGS="${CFLAGS_save} -mms-bitfields"
425 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
426 if test "${ac_cv_c_mms_bitfields}" != "no"; then
427 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
428 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
430 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
431 [ac_cv_c_fnative_struct],
432 [CFLAGS="${CFLAGS_save} -fnative-struct"
433 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
434 if test "${ac_cv_c_fnative_struct}" != "no"; then
435 CFLAGS_save="${CFLAGS_save} -fnative-struct";
436 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
440 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
443 dnl Check for fvtable-thunks support for mingw32
444 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
447 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
448 [ac_cv_cxx_fvtable_thunks],
449 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
450 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
451 ac_cv_cxx_fvtable_thunks=no)])
452 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
453 CXXFLAGS_mingw32_special="-fvtable-thunks"
456 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
460 dnl Plugin compilation stuff
467 dnl The -DSYS_FOO flag
468 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
470 dnl Check for system libs needed
473 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)
475 dnl Check for usual libc functions
476 AC_CHECK_FUNCS(strdup strndup strnlen atof)
477 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
478 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
479 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
481 AS_IF([test "${SYS}" = "linux"], [
485 dnl Check for setlocal and langinfo
486 AC_CHECK_FUNCS(setlocale)
487 AC_CHECK_HEADERS(langinfo.h)
488 AC_CHECK_FUNCS(nl_langinfo)
490 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
491 [AC_TRY_LINK([#include <langinfo.h>],
492 [char* cs = nl_langinfo(CODESET);],
493 ac_cv_langinfo_codeset=yes,
494 ac_cv_langinfo_codeset=no)
496 if test ${ac_cv_langinfo_codeset} = yes; then
497 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
498 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
501 AC_CHECK_FUNCS(connect,,[
502 AC_CHECK_LIB(socket,connect,[
503 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
504 LIBS_socket="-lsocket"
508 AC_CHECK_FUNCS(send,,[
509 AC_CHECK_LIB(socket,send,[
510 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
514 AC_CHECK_FUNCS(gethostbyname,,[
515 AC_CHECK_LIB(nsl,gethostbyname,[
516 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
518 AC_CHECK_LIB(bind,gethostbyname,[
519 VLC_ADD_LIBS([access_mms],[-lbind])
524 dnl Check for socklen_t
525 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
527 [#include <sys/types.h>
528 #include <sys/socket.h>],
529 [socklen_t len = 42; return len;],
530 ac_cv_type_socklen_t=yes,
531 ac_cv_type_socklen_t=no)])
532 if test "${ac_cv_type_socklen_t}" != "no"; then
533 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
536 dnl Check for struct sockaddr_storage
537 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
538 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
539 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
541 [#include <sys/types.h>
542 #if defined( UNDER_CE )
543 # include <winsock.h>
544 #elif defined( WIN32 )
545 # include <winsock2.h>
547 # include <sys/socket.h>
548 #endif], [struct sockaddr_storage addr;],
549 ac_cv_struct_sockaddr_storage=yes,
550 ac_cv_struct_sockaddr_storage=no)])
551 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
552 AC_DEFINE(sockaddr_storage, sockaddr)
553 AC_DEFINE(ss_family, sa_family)
556 dnl getaddrinfo, getnameinfo and gai_strerror check
557 dnl -lnsl and -lsocket are needed on Solaris;
558 dnl we purposedly make the test fail on Windows
560 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
561 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)], 1, [${LIBS_socket}])
563 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
566 AC_CHECK_FUNCS([getnameinfo gai_strerror])
569 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
570 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
571 [#include <sys/types.h>
572 #if defined( WIN32 ) || defined( UNDER_CE )
573 # if defined(UNDER_CE) && defined(sockaddr_storage)
574 # undef sockaddr_storage
576 # include <winsock2.h>
577 # include <ws2tcpip.h>
582 dnl Check for va_copy
583 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
585 [#include <stdarg.h>],
586 [va_list ap1, ap2; va_copy(ap1,ap2);],
587 [ac_cv_c_va_copy="yes"],
588 [ac_cv_c_va_copy="no"]))
589 if test "${ac_cv_c_va_copy}" = "yes"; then
590 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
592 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
594 [#include <stdarg.h>],
595 [va_list ap1, ap2; __va_copy(ap1,ap2);],
596 [ac_cv_c___va_copy="yes"],
597 [ac_cv_c___va_copy="no"]))
598 if test "${ac_cv_c___va_copy}" = "yes"; then
599 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
602 AC_CHECK_FUNCS(inet_aton,,[
603 AC_CHECK_LIB(resolv,inet_aton,[
604 VLC_ADD_LIBS([libvlc],[-lresolv])
608 dnl Check for getopt (always use builtin one on win32)
609 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
613 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
614 [ # FreeBSD has a gnugetopt library for this:
615 AC_CHECK_LIB([gnugetopt],[getopt_long],
616 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
617 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
620 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
622 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
625 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
628 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])
630 AC_CHECK_LIB(m,sqrt,[
631 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
633 AC_CHECK_LIB(m,ceil,[
634 VLC_ADD_LIBS([mosaic],[-lm])
637 VLC_ADD_LIBS([gaussianblur],[-lm])
639 AC_CHECK_LIB(mx,sqrtf,[
640 VLC_ADD_LIBS([x264],[-lmx])
642 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
644 dnl Check for dynamic plugins
645 ac_cv_have_plugins=no
648 AC_CHECK_HEADERS(mach-o/dyld.h,
649 [AC_CHECK_FUNCS(NSLinkModule,
650 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
651 ac_cv_have_plugins=yes])])
654 if test "${ac_cv_have_plugins}" = "no"; then
655 AC_CHECK_HEADERS(dl.h)
656 ac_cv_my_have_shl_load=no
657 AC_CHECK_FUNC(shl_load,
658 [ac_cv_my_have_shl_load=yes,
659 AC_CHECK_LIB(dld, shl_load,
660 [ac_cv_my_have_shl_load=yes
661 VLC_ADD_LIBS([libvlc],[-ldld])])])
662 if test "${ac_cv_my_have_shl_load}" = "yes"; then
663 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
664 ac_cv_have_plugins=yes
669 if test "${ac_cv_have_plugins}" = "no"; then
670 AC_CHECK_LIB(dld, dld_link,
671 [VLC_ADD_LIBS([libvlc],[-ldld])
672 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
673 ac_cv_have_plugins=yes])
677 if test "${ac_cv_have_plugins}" = "no"; then
678 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
679 AC_CHECK_LIB(kernel32, main,
680 [VLC_ADD_LIBS([libvlc],[-lkernel32])
681 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
682 ac_cv_have_plugins=yes])
687 if test "${ac_cv_have_plugins}" = "no"; then
688 if test "${SYS}" = "mingwce"; then
689 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
690 ac_cv_have_plugins=yes
695 if test "${ac_cv_have_plugins}" = "no"; then
696 AC_CHECK_HEADERS(image.h)
697 AC_CHECK_FUNCS(load_add_on,
698 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
699 ac_cv_have_plugins=yes])
702 # Only test for dlopen() if the others didn't work
703 if test "${ac_cv_have_plugins}" = "no"; then
704 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
705 ac_cv_my_have_dlopen=no
706 AC_CHECK_FUNC(dlopen,
707 ac_cv_my_have_dlopen=yes,
708 AC_CHECK_LIB(dl, dlopen,
709 ac_cv_my_have_dlopen=yes
710 VLC_ADD_LIBS([libvlc],[-ldl]),
711 AC_CHECK_LIB(svld, dlopen,
712 ac_cv_my_have_dlopen=yes
713 VLC_ADD_LIBS([libvlc],[-lsvld]))))
714 if test "${ac_cv_my_have_dlopen}" = "yes"; then
715 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
716 ac_cv_have_plugins=yes
720 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
721 dnl Check for pthreads - borrowed from XMMS
723 if test "${THREAD_LIB}" = "error"; then
724 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
726 if test "${THREAD_LIB}" = "error"; then
727 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
729 if test "${THREAD_LIB}" = "error"; then
730 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
732 if test "${THREAD_LIB}" = "error"; then
733 AC_CHECK_FUNCS(pthread_mutex_lock)
737 dnl Check for cthreads under GNU/Hurd for instance
738 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
741 dnl GNU portable threads
744 [ --enable-pth GNU Pth support (default disabled)],
745 [ if test "${enable_pth}" = "yes"; then
746 AC_CHECK_LIB(pth,pth_init)
747 AC_MSG_CHECKING(for pth_init in pth.h)
748 AC_EGREP_HEADER(pth_init,pth.h,[
750 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
751 Define if <pth.h> defines pth_init)
763 [ --enable-st State Threads (default disabled)],
764 [ if test "${enable_st}" = "yes"; then
765 AC_CHECK_LIB(st,st_init)
766 AC_MSG_CHECKING(for st_init in st.h)
767 AC_EGREP_HEADER(st_init,st.h,[
769 AC_DEFINE(ST_INIT_IN_ST_H, 1,
770 Define if <st.h> defines st_init)
778 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
780 dnl Don't link with rt when using GNU-pth
781 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
782 AC_CHECK_LIB(rt, clock_nanosleep, [
783 VLC_ADD_LIBS([libvlc],[-lrt])
784 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
787 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
791 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
792 AC_CHECK_LIB(rt,nanosleep,
793 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
794 [AC_CHECK_LIB(posix4,nanosleep,
795 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
798 if ${have_nanosleep}; then
799 AC_DEFINE(HAVE_NANOSLEEP, 1,
800 Define if nanosleep is available.)
804 dnl Check for misc headers
805 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
806 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
808 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
809 Define if <pthread.h> defines pthread_cond_t.)],[
812 AC_MSG_CHECKING(for pthread_once in pthread.h)
813 AC_EGREP_HEADER(pthread_once,pthread.h,[
815 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
816 Define if <pthread.h> defines pthread_once.)],[
818 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
820 AC_MSG_CHECKING(for strncasecmp in strings.h)
821 AC_EGREP_HEADER(strncasecmp,strings.h,[
823 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
824 Define if <strings.h> defines strncasecmp.)],[
827 dnl Check for headers
828 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)
829 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
830 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h netinet/udplite.h])
831 AC_CHECK_HEADERS([net/if.h], [], [],
833 #if HAVE_SYS_SOCKET_H
834 # include <sys/socket.h>
837 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
838 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
839 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
840 AC_CHECK_HEADERS(syslog.h)
841 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
845 AC_CHECK_TYPE(ssize_t, int)
846 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
850 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
851 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
853 dnl Mac OS X and other OSes don't have declaration for nanosleep
854 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
855 AC_MSG_CHECKING(for nanosleep in time.h)
856 AC_EGREP_HEADER(nanosleep,time.h,[
858 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
859 Define if <time.h> defines nanosleep.)
863 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
865 dnl Make sure we have timespecs
866 AC_MSG_CHECKING(for timespec in sys/time.h)
867 AC_EGREP_HEADER(timespec,sys/time.h,[
869 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
870 Define if <sys/time.h> defines struct timespec.)
875 dnl Check for threads library
876 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
877 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
878 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
880 dnl Find where are the X headers and libraries
883 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.
885 PKG_PROG_PKG_CONFIG()
889 [ --enable-hal Linux HAL services discovery (default enabled)])
891 if test "${enable_hal}" != "no"
893 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
894 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
895 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
896 VLC_ADD_PLUGINS([hal probe_hal])
897 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
898 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
899 dnl No hal 0.5 Test for 0.2
900 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
901 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
902 VLC_ADD_PLUGINS([hal])
903 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
904 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
905 [AC_MSG_WARN(HAL library not found)])
912 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
915 if test "${enable_dbus}" != "no"
918 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
919 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
920 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
921 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
922 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
923 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
924 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
925 dnl Check for dbus control interface
926 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
927 if test "${enable_dbus_control}" != "no"
929 VLC_ADD_PLUGINS([dbus])
930 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
931 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
933 dnl Check for Telepathy
934 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
935 if test "${enable_telepathy}" != "no"; then
936 VLC_ADD_PLUGINS([telepathy])
937 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
938 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
940 dnl Power Management Inhibiter
941 VLC_ADD_PLUGINS([inhibit])
942 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
943 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
945 if ${PKG_CONFIG} --exists dbus-1
947 [AC_ARG_ENABLE(old-dbus,
948 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
950 if test "${enable_old_dbus}" != "yes"
953 echo "****** WARNING **** WARNING ***** WARNING *************"
954 echo "*** Your D-Bus version is < 1.0.0"
955 echo "*** You are using old and buggy software and so"
956 echo "*** D-Bus support has been disabled."
957 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
958 echo "*** Alternatively you can force the use of your old and"
959 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
960 echo "*******************************************************"
964 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
965 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
966 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
967 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
968 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
969 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
971 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
972 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
973 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
974 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
975 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
977 [ PKG_CHECK_MODULES( DBUS, dbus-1,
978 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
979 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
980 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
981 [AC_MSG_WARN(DBUS library not found)])
992 dnl Build the gtk_main plugins?
998 dnl build the qte plugin ?
1001 dnl Check for ntohl, etc.
1002 AC_CACHE_CHECK([for ntohl in sys/param.h],
1003 [ac_cv_c_ntohl_sys_param_h],
1004 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1005 AC_TRY_COMPILE([#include <sys/param.h>],
1006 [int meuh; ntohl(meuh);],
1007 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1008 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1009 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1011 CFLAGS="${CFLAGS_save}"
1013 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])
1014 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1016 dnl This helps detect broken plugins with undefined symbols
1017 dnl Better fail loudly at build-time than silenty at run-time.
1018 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
1019 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
1020 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
1023 dnl Check for various optimization flags
1024 AC_CACHE_CHECK([if \$CC accepts -Os],
1026 [CFLAGS="${CFLAGS_save} -Os"
1027 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1028 if test "${ac_cv_c_os}" != "no"; then
1029 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1031 AC_CACHE_CHECK([if \$CC accepts -O],
1033 [CFLAGS="${CFLAGS_save} -O"
1034 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1035 if test "${ac_cv_c_o}" != "no"; then
1036 if test "${ac_cv_c_o3}" = "no"; then
1037 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1042 AC_CACHE_CHECK([if \$CC accepts -O3],
1044 [CFLAGS="${CFLAGS_save} -O3"
1045 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1046 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1047 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1049 AC_CACHE_CHECK([if \$CC accepts -O2],
1051 [CFLAGS="${CFLAGS_save} -O2"
1052 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1053 if test "${ac_cv_c_o2}" != "no"; then
1054 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1056 AC_CACHE_CHECK([if \$CC accepts -O],
1058 [CFLAGS="${CFLAGS_save} -O"
1059 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1060 if test "${ac_cv_c_o}" != "no"; then
1061 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1066 AC_CACHE_CHECK([if \$CC accepts -O0],
1068 [CFLAGS="${CFLAGS_save} -O0"
1069 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1070 if test "${ac_cv_c_o0}" != "no"; then
1071 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1074 dnl Check for -ffast-math
1075 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1076 [ac_cv_c_fast_math],
1077 [CFLAGS="${CFLAGS_save} -ffast-math"
1078 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1079 if test "${ac_cv_c_fast_math}" != "no"; then
1080 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1083 dnl Check for -funroll-loops
1084 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1085 if test "${SYS}" != "beos"
1087 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1088 [ac_cv_c_unroll_loops],
1089 [CFLAGS="${CFLAGS_save} -funroll-loops"
1090 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1091 if test "${ac_cv_c_unroll_loops}" != "no"; then
1092 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1096 dnl Check for -fomit-frame-pointer
1097 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1098 [ac_cv_c_omit_frame_pointer],
1099 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1100 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1101 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1102 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1105 dnl Check for -fvisibility=hidden
1106 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1107 [ac_cv_c_visibility_hidden],
1108 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1109 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1110 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1111 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1114 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1116 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1117 dnl AC_LANG_PUSH(C++)
1118 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1119 dnl [ac_cv_c_visibility_inlines_hidden],
1120 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1121 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1122 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1123 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1125 dnl CXXFLAGS="${CXXFLAGS_save}"
1126 dnl AC_LANG_POP(C++)
1128 dnl Check for -mdynamic-no-pic
1129 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1130 dnl [ac_cv_c_dynamic_no_pic],
1131 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1132 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1133 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1134 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1135 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1138 dnl Check for Darwin plugin linking flags
1139 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1141 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1142 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1143 if test "${ac_cv_ld_darwin}" != "no"; then
1144 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1147 dnl Check for standard plugin linking flags
1148 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1149 dnl AS_IF([test "${SYS}" = "beos"], [
1150 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1152 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1153 dnl [ac_cv_ld_plugins],
1154 dnl [CFLAGS="${CFLAGS_save} -shared"
1155 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1156 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1157 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1161 dnl Check for variadic macros
1162 AC_CACHE_CHECK([for variadic cpp macros],
1163 [ac_cv_cpp_variadic_macros],
1164 [CFLAGS="${CFLAGS_save}"
1167 #define a(b,c...) printf(b,##c)],
1168 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1169 ac_cv_cpp_variadic_macros=yes,
1170 ac_cv_cpp_variadic_macros=no)])
1171 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1172 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1175 dnl Checks for __attribute__(aligned()) directive
1176 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1177 [ac_cv_c_attribute_aligned],
1178 [ac_cv_c_attribute_aligned=0
1179 CFLAGS="${CFLAGS_save} -Werror"
1180 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1182 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1183 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1185 CFLAGS="${CFLAGS_save}"])
1186 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1187 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1188 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1191 dnl Checks for __attribute__(format()) directive
1192 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1193 [ac_cv_c_attribute_format],
1194 [ac_cv_c_attribute_format=no
1195 CFLAGS="${CFLAGS_save} -Werror"
1197 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1198 [ac_cv_c_attribute_format=yes])
1199 CFLAGS="${CFLAGS_save}"])
1200 if test "${ac_cv_c_attribute_format}" != "no"; then
1201 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1204 dnl Check for __attribute__((packed))
1205 AC_CACHE_CHECK([for __attribute__((packed))],
1206 [ac_cv_c_attribute_packed],
1207 [ac_cv_c_attribute_packed=no
1208 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1209 [ac_cv_c_attribute_packed=yes])])
1210 if test "${ac_cv_c_attribute_packed}" != "no"; then
1211 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1214 dnl Check for __attribute__((visibility()))
1215 AC_CACHE_CHECK([for __attribute__((visibility()))],
1216 [ac_cv_c_attribute_visibility],
1217 [ac_cv_c_attribute_visibility=no
1218 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1219 [ac_cv_c_attribute_visibility=yes])])
1220 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1221 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1227 case "${host_cpu}" in
1237 dnl Enable profiling
1239 AC_ARG_ENABLE(gprof,
1240 [ --enable-gprof gprof profiling (default disabled)])
1241 AC_ARG_ENABLE(cprof,
1242 [ --enable-cprof cprof profiling (default disabled)])
1243 test "${enable_gprof}" != "yes" && enable_gprof="no"
1244 test "${enable_cprof}" != "yes" && enable_cprof="no"
1249 VLC_ADD_PLUGINS([dummy logger memcpy])
1250 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])
1251 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1252 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1253 VLC_ADD_PLUGINS([converter_fixed mono])
1254 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1255 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1256 VLC_ADD_PLUGINS([playlist export nsc xtag])
1257 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1258 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1259 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1260 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1261 VLC_ADD_PLUGINS([access_filter_bandwidth])
1262 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1263 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1264 VLC_ADD_PLUGINS([packetizer_vc1])
1266 ALIASES="${ALIASES} cvlc"
1269 dnl default modules that need g++
1272 VLC_ADD_PLUGINS([spatializer])
1275 if test "${SYS}" != "mingwce"; then
1276 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1277 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1278 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1279 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain])
1280 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1281 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1282 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1283 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1284 ALIASES="${ALIASES} rvlc"
1288 dnl Some plugins aren't useful on some platforms
1290 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1291 VLC_ADD_PLUGINS([screensaver motion])
1292 elif test "${SYS}" != "mingwce"; then
1293 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1294 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1296 VLC_ADD_PLUGINS([win32text])
1298 if test "${SYS}" = "darwin"; then
1299 VLC_ADD_PLUGINS([quartztext])
1300 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1304 dnl Accelerated modules
1306 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1307 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1308 MMXEXT_MODULES="memcpymmxext"
1309 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1310 THREEDNOW_MODULES="memcpy3dn"
1312 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1313 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1314 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1316 dnl Check for fully workin MMX intrinsics
1317 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1318 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1319 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1320 [ac_cv_c_mmx_intrinsics],
1321 [CFLAGS="${CFLAGS_save} -O -mmmx"
1322 AC_TRY_COMPILE([#include <mmintrin.h>
1326 a = b = c = (__m64)frobzor;
1327 a = _mm_slli_pi16(a, 3);
1328 a = _mm_adds_pi16(a, b);
1329 c = _mm_srli_pi16(c, 8);
1330 c = _mm_slli_pi16(c, 3);
1331 b = _mm_adds_pi16(b, c);
1332 a = _mm_unpacklo_pi8(a, b);
1333 frobzor = (uint64_t)a;],
1334 [ac_cv_c_mmx_intrinsics=yes],
1335 [ac_cv_c_mmx_intrinsics=no])])
1336 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1337 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1338 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1341 dnl Check for fully workin SSE2 intrinsics
1342 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1343 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1344 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1345 [ac_cv_c_sse2_intrinsics],
1346 [CFLAGS="${CFLAGS_save} -O -msse2"
1347 AC_TRY_COMPILE([#include <emmintrin.h>
1351 a = b = c = _mm_set1_epi64((__m64)frobzor);
1352 a = _mm_slli_epi16(a, 3);
1353 a = _mm_adds_epi16(a, b);
1354 c = _mm_srli_epi16(c, 8);
1355 c = _mm_slli_epi16(c, 3);
1356 b = _mm_adds_epi16(b, c);
1357 a = _mm_unpacklo_epi8(a, b);
1358 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1359 [ac_cv_c_sse2_intrinsics=yes],
1360 [ac_cv_c_sse2_intrinsics=no])])
1361 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1362 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1363 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1366 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1368 [CFLAGS="${CFLAGS_save}"
1369 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1370 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1371 if test "${ac_cv_mmx_inline}" != "no"; then
1372 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1373 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1376 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1377 [ac_cv_mmxext_inline],
1378 [CFLAGS="${CFLAGS_save}"
1379 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1380 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1381 if test "${ac_cv_mmxext_inline}" != "no"; then
1382 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1383 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1386 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1387 [ac_cv_3dnow_inline],
1388 [CFLAGS="${CFLAGS_save}"
1389 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1390 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1391 if test "${ac_cv_3dnow_inline}" != "no"; then
1392 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1393 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1396 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1398 [CFLAGS="${CFLAGS_save}"
1399 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1400 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1401 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1402 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1403 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1406 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1407 [ac_cv_sse2_inline],
1408 [CFLAGS="${CFLAGS_save}"
1409 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1410 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1411 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1412 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1413 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1416 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1417 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1418 [ac_cv_altivec_inline],
1419 [CFLAGS="${CFLAGS_save}"
1420 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1421 ac_cv_altivec_inline=yes,
1422 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1423 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1424 [ac_cv_altivec_inline="-Wa,-m7400"],
1425 ac_cv_altivec_inline=no)
1427 if test "${ac_cv_altivec_inline}" != "no"; then
1428 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1429 if test "${ac_cv_altivec_inline}" != "yes"; then
1430 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1431 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1432 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1433 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1434 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1436 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1439 dnl The AltiVec C extensions
1441 dnl There are several possible cases:
1442 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1443 dnl need <altivec.h>
1444 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1445 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1446 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1447 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1448 dnl - Others: test should fail
1449 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1451 [# OS X/PPC test (gcc 4.x)
1452 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1453 AC_TRY_COMPILE([vector unsigned char foo;],
1454 [vec_ld(0, (unsigned char *)0);],
1455 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1456 [# OS X/PPC test (gcc 3.x)
1457 CFLAGS="${CFLAGS_save} -faltivec"
1458 AC_TRY_COMPILE([vector unsigned char foo;],
1459 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1460 [ac_cv_c_altivec="-faltivec"],
1461 dnl Below this are the Linux tests
1462 [# Linux/PPC test (gcc 4.x)
1463 CFLAGS="${CFLAGS_save} -maltivec"
1464 AC_TRY_COMPILE([#include <altivec.h>],
1465 [vec_ld(0, (unsigned char *)0);],
1466 [ac_cv_c_altivec="-maltivec"],
1467 [# Linux/PPC test (gcc 3.3)
1468 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1469 AC_TRY_COMPILE([#include <altivec.h>],
1470 [vec_ld(0, (unsigned char *)0);],
1472 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1473 [# Linux/PPC test (gcc 3.3)
1474 CFLAGS="${CFLAGS_save} -fvec"
1475 AC_TRY_COMPILE([#include <altivec.h>],
1476 [vec_ld(0, (unsigned char *)0);],
1477 [ac_cv_c_altivec="-fvec"],
1478 [ac_cv_c_altivec=no])
1483 CFLAGS="${CFLAGS_save}"
1486 if test "${ac_cv_c_altivec}" != "no"; then
1487 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1490 AS_IF( test "${enable_altivec}" != "no",
1492 AC_CHECK_HEADERS(altivec.h)
1493 CPPFLAGS="${CPPFLAGS_save}"
1495 if test "${ac_cv_c_altivec}" != "no"; then
1496 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1497 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1498 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1499 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1500 if test "${ac_cv_altivec_inline}" = "no"; then
1501 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1505 CPPFLAGS="${CPPFLAGS_save}"
1508 AC_CACHE_CHECK([if linker needs -framework vecLib],
1510 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1511 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1512 LDFLAGS="${LDFLAGS_save}"
1514 if test "${ac_cv_ld_altivec}" != "no"; then
1515 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1517 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1520 AC_ARG_WITH(,[Optimization options:])
1523 dnl Special arch tuning
1526 [ --with-tuning=ARCH enable special tuning for an architecture
1527 (default Pentium 2 on IA-32 and G4 on PPC)])
1528 if test -n "${with_tuning}"; then
1529 if test "${with_tuning}" != "no"; then
1530 CFLAGS_TUNING="-mtune=${with_tuning}"
1533 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1534 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1535 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1536 CFLAGS_TUNING="-mtune=pentium2"
1537 elif test "${host_cpu}" = "x86_64"; then
1538 CFLAGS_TUNING="-mtune=athlon64"
1539 elif test "${host_cpu}" = "powerpc"; then
1540 CFLAGS_TUNING="-mtune=G4";
1544 dnl NOTE: this can't be cached cleanly
1545 AS_IF([test "${CFLAGS_TUNING}"],
1546 [CFLAGS_save="${CFLAGS}"
1547 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1549 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1550 AC_COMPILE_IFELSE([ ],
1552 [CFLAGS_TUNING=""; tuning="no"
1553 AS_IF([test "${with_tuning}"],
1554 [AC_MSG_ERROR([requested tuning not supported])])])
1556 AC_MSG_RESULT([$tuning])
1557 CFLAGS="${CFLAGS_save}"
1561 dnl x86 accelerations
1564 [ --disable-mmx disable MMX optimizations (default enabled on x86)],
1565 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1566 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1567 [ 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
1569 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1572 [ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1573 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1574 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1575 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1576 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1581 AC_ARG_ENABLE(optimize-memory,
1582 [ --enable-optimize-memory optimize memory usage over performance])
1583 if test "${enable_optimize_memory}" = "yes"; then
1584 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1588 dnl Enable/disable optimizations
1590 AC_ARG_ENABLE(optimizations,
1591 [ --disable-optimizations disable compiler optimizations (default enabled)])
1592 if test "${enable_optimizations}" != "no"; then
1593 if test "${enable_optimize_memory}" = "yes"; then
1594 enable_optimizations="size"
1596 enable_optimizations="speed"
1601 dnl AltiVec acceleration
1603 AC_ARG_ENABLE(altivec,
1604 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1605 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1606 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1607 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1608 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1613 AC_ARG_ENABLE(debug,
1614 [ --enable-debug debug mode (default disabled)])
1615 test "${enable_debug}" != "yes" && enable_debug="no"
1617 [Define to 1 if debug code should NOT be compiled])
1618 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1623 AC_ARG_ENABLE(coverage,
1624 [ --enable-coverage build for test coverage (default disabled)],,
1625 [enable_coverage="no"])
1626 AS_IF([test "${enable_coverage}" != "no"], [
1627 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1628 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1629 LDFLAGS="-lgcov ${LDFLAGS}"
1631 CFLAGS_save="${CFLAGS}"
1632 CXXFLAGS_save="${CXXFLAGS}"
1633 LDFLAGS_save="${LDFLAGS}"
1637 dnl Enable release-specific flags
1639 AC_ARG_ENABLE(release,
1640 [ --enable-release activate extra optimizations (default disabled)])
1641 test "${enable_release}" != "yes" && enable_release="no"
1647 [ --enable-sout Stream output modules (default enabled)])
1648 if test "${enable_sout}" != "no"
1650 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1651 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1652 VLC_ADD_PLUGINS([packetizer_copy])
1654 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1655 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1656 VLC_ADD_PLUGINS([stream_out_gather])
1657 # VLC_ADD_PLUGINS([stream_out_transrate])
1658 # VLC_ADD_PLUGINS([rtcp])
1659 VLC_ADD_PLUGINS([profile_parser])
1661 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1664 AC_ARG_ENABLE(switcher,
1665 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1667 dnl Check for libshout
1668 AC_ARG_ENABLE(shout,
1669 [ --enable-shout libshout output plugin (default disabled)])
1670 if test "${enable_shout}" = "yes"; then
1671 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1672 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1673 VLC_ADD_PLUGINS([access_output_shout])
1674 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1675 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1676 [AC_MSG_WARN(libshout library not found)])
1681 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1682 if test "${enable_lua}" != "no"
1684 PKG_CHECK_MODULES(LUA, lua5.1,
1687 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1688 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1692 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1695 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1696 [LUA_LIBS="-llua5.1"],
1697 AC_CHECK_LIB( lua51 , luaL_newstate,
1698 [LUA_LIBS="-llua51"],
1699 AC_CHECK_LIB( lua , luaL_newstate,
1702 AC_MSG_WARN([lua >= 5.1 not found!])
1708 if test "x${have_lua}" = "xyes" ; then
1709 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1710 VLC_ADD_PLUGINS([lua])
1711 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1712 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1719 AC_ARG_ENABLE(httpd,
1720 [ --enable-httpd HTTP daemon (default enabled)])
1721 if test "${enable_httpd}" != "no"
1723 VLC_ADD_PLUGINS([http])
1724 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1728 dnl VideoLAN manager
1731 [ --enable-vlm VideoLAN manager (default enabled)])
1732 if test "${enable_vlm}" != "no"
1734 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1738 dnl Growl notification plugin
1740 AC_ARG_ENABLE(growl,
1741 [ --enable-growl growl notification plugin (default enabled)])
1742 AS_IF([test "${enable_growl}" != "no"], [
1743 VLC_ADD_PLUGINS([growl])
1748 dnl Libnotify notification plugin
1751 AC_ARG_ENABLE(notify,
1752 [ --enable-notify libnotify notification plugin (default enabled)])
1753 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1754 PKG_CHECK_MODULES(NOTIFY, libnotify,
1756 VLC_ADD_PLUGINS([notify])
1757 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1758 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1760 AS_IF([test "${enable_notify}" = "yes"],[
1761 AC_MSG_WARN( libnotify not found) ])
1766 dnl Audioscrobbler plugin
1769 AC_ARG_ENABLE(audioscrobbler,
1770 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1771 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1772 VLC_ADD_PLUGINS([audioscrobbler])
1776 dnl Musicbrainz plugin
1778 AC_ARG_ENABLE(musicbrainz,
1779 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1780 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1781 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1782 [ VLC_ADD_PLUGINS([musicbrainz])
1783 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1784 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1785 [AC_MSG_WARN(MusicBrainz library not found)])
1792 AC_ARG_ENABLE(taglib,
1793 [ --disable-taglib Taglib support (default enabled) ])
1794 AS_IF([test "${enable_taglib}" != "no"],[
1795 PKG_CHECK_MODULES(TAGLIB, taglib,
1796 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1797 VLC_ADD_PLUGINS([taglib])
1798 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1799 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1800 [AC_MSG_WARN(TagLib library not found)])
1808 AC_ARG_WITH(,[Input plugins:])
1812 if test "${enable_livedotcom}"
1814 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1817 if test "${enable_livedotcom}" = "no"
1821 AC_ARG_ENABLE(live555,
1822 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1823 if test "${enable_live555}" != "no"; then
1824 AC_ARG_WITH(live555-tree,
1825 [ --with-live555-tree=PATH live.com tree for static linking])
1828 dnl test for --with-live555-tree
1830 if test "${with_livedotcom_tree}"
1832 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1833 with_live555_tree="${with_livedotcom_tree}"
1836 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1838 CPPFLAGS_save="${CPPFLAGS}"
1839 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1840 if test "${SYS}" = "solaris"; then
1841 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1843 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1844 AC_CHECK_HEADERS(liveMedia.hh, [
1845 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1846 AC_CHECK_LIB(liveMedia_pic, main, [
1847 # We have -lliveMedia_pic, build plugins
1848 VLC_ADD_PLUGINS([live555])
1849 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1851 AC_CHECK_LIB(liveMedia, main, [
1852 # We only have -lliveMedia, do builtins
1853 VLC_ADD_BUILTINS([live555])
1854 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1857 if test "${SYS}" = "mingw32"; then
1858 # add ws2_32 for closesocket, select, recv
1859 VLC_ADD_LIBS([live555],[-lws2_32])
1862 CPPFLAGS="${CPPFLAGS_save}"
1865 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1866 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1867 if test -z "${real_live555_tree}"; then
1868 dnl The given directory can't be found
1870 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1872 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1873 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1875 VLC_ADD_BUILTINS([live555])
1877 if test "${SYS}" = "mingw32"; then
1878 # add ws2_32 for closesocket, select, recv
1879 VLC_ADD_LIBS([live555],[-lws2_32])
1882 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1883 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1884 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1885 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1887 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1888 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1889 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1890 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1891 if test "${SYS}" = "solaris"; then
1892 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1895 dnl The given live555 wasn't built
1897 if test "${enable_live555}" = "yes"; then
1898 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1905 dnl special access module for dc1394 input
1907 AC_ARG_ENABLE(dc1394,
1908 [ --enable-dc1394 dc1394 access module (default disabled)])
1909 if test "${enable_dc1394}" = "yes"
1911 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1912 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1913 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1914 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1915 VLC_ADD_PLUGINS([dc1394])
1916 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1919 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1923 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1927 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1931 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1936 dnl dv module: digital video module check for libraw1394
1939 [ --enable-dv dv input module (default disabled)])
1940 if test "${enable_dv}" = "yes"
1942 AC_ARG_WITH(dv-raw1394,
1943 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1944 AC_ARG_WITH(dv-raw1394-tree,
1945 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1947 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1949 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1950 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1952 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1954 VLC_ADD_PLUGINS([access_dv])
1955 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1956 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1958 dnl No libraw1394 could be found, sorry
1960 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1963 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1964 [ VLC_ADD_PLUGINS([access_dv])
1965 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1967 if test -n "${enable_dv}"
1969 AC_MSG_ERROR([cannot find libraw1394 headers])
1974 dnl Check for static linking of libraw1394
1975 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1977 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1978 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1979 if test -z "${real_dv_raw1394_tree}"
1981 dnl The given directory can't be found
1983 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1985 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1987 dnl Use a custom libraw1394
1988 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1989 VLC_ADD_BUILTINS([access_dv])
1990 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1991 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1993 dnl The given libraw1394 wasn't built
1995 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2000 dnl Check for libavc1394
2003 AC_ARG_WITH(dv-avc1394,
2004 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2005 AC_ARG_WITH(dv-avc1394-tree,
2006 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2008 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2010 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2011 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2013 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2015 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2016 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2018 dnl No libavc1394 could be found, sorry
2020 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2023 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2024 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2026 if test -n "${enable_dv}"
2028 AC_MSG_ERROR([cannot find libavc1394 headers])
2033 dnl Check for static linking of libavc1394
2034 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2036 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2037 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2038 if test -z "${real_dv_avc1394_tree}"
2040 dnl The given directory can't be found
2042 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2044 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2046 dnl Use a custom libavc1394
2047 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2048 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2049 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2051 dnl The given libavc1394 wasn't built
2053 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2059 dnl dvdread module: check for libdvdread
2061 AC_ARG_ENABLE(dvdread,
2062 [ --enable-dvdread dvdread input module (default disabled)])
2063 if test "${enable_dvdread}" != "no"
2065 AC_ARG_WITH(dvdread,
2066 [ --with-dvdread=PATH libdvdread headers and libraries])
2067 AC_ARG_WITH(dvdread-tree,
2068 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2070 dnl Temporary hack (yeah, sure ;)
2071 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2072 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2075 if test -z "${with_dvdread}"
2077 if test -z "${with_dvdread_tree}"
2079 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2080 [ VLC_ADD_PLUGINS([dvdread])
2081 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2083 if test -n "${enable_dvdread}"
2085 AC_MSG_ERROR([cannot find libdvdread headers])
2089 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2090 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2091 if test -z "${real_dvdread_tree}"
2093 dnl The given directory can't be found
2095 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2097 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2099 dnl Use a custom libdvdread
2100 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2101 VLC_ADD_BUILTINS([dvdread])
2102 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2103 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2105 dnl The given libdvdread wasn't built
2107 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2111 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2112 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2114 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2116 VLC_ADD_PLUGINS([dvdread])
2117 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2118 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2120 dnl No libdvdread could be found, sorry
2122 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2128 dnl libdvdnav plugin
2130 AC_ARG_ENABLE(dvdnav,
2131 [ --enable-dvdnav dvdnav input module (default enabled)])
2132 if test "${enable_dvdnav}" != "no"
2134 dnl Same hack than dvdread
2135 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2136 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2139 DVDNAV_PATH="${PATH}"
2140 AC_ARG_WITH(dvdnav-config-path,
2141 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2142 [ if test "${with_dvdnav_config_path}" != "no"
2144 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2146 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2147 if test "${DVDNAV_CONFIG}" != "no"
2149 VLC_ADD_PLUGINS([dvdnav])
2150 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2151 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2156 dnl Windows DirectShow access module
2158 AC_ARG_ENABLE(dshow,
2159 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2160 if test "${enable_dshow}" != "no"
2162 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2165 AC_CHECK_HEADERS(dshow.h,
2166 [ VLC_ADD_PLUGINS([dshow])
2167 VLC_ADD_CXXFLAGS([dshow],[])
2168 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2174 dnl Windows DirectShow BDA access module
2177 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2178 if test "${enable_bda}" != "no"
2180 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2182 AC_CHECK_HEADERS(dshow.h,
2183 [ VLC_ADD_PLUGINS([bda])
2184 VLC_ADD_CXXFLAGS([bda],[])
2185 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2191 dnl OpenCV wrapper and example filters
2193 AC_ARG_ENABLE(opencv,
2194 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2195 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2197 AC_ARG_WITH(opencv-tree,
2198 [ --with-opencv-tree=PATH opencv tree for linking])
2199 if test -n "${with_opencv_tree}"
2201 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2203 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2204 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2205 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2208 VLC_ADD_PLUGINS([opencv_wrapper])
2209 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2210 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])
2212 VLC_ADD_PLUGINS([opencv_example])
2213 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2214 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])
2217 dnl No opencv could be found, sorry
2219 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2222 AC_MSG_WARN([--enable-opencv currently only works on windows])
2229 dnl libsmbclient plugin
2232 [ --enable-smb smb input module (default enabled)])
2233 if test "${enable_smb}" != "no"; then
2234 AC_CHECK_HEADERS(libsmbclient.h,
2235 [ VLC_ADD_PLUGINS([access_smb])
2236 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2237 [ if test -n "${enable_smb}"; then
2238 AC_MSG_ERROR([cannot find libsmbclient headers])
2240 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2241 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2242 [#include <libsmbclient.h>])
2246 dnl libdvbpsi ts demux/mux
2248 AC_ARG_ENABLE(dvbpsi,
2249 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2250 if test "${enable_dvbpsi}" != "no"
2253 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2255 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2256 case "${with_dvbpsi}" in
2258 if test -z "${with_dvbpsi_tree}"
2260 AC_CHECK_HEADERS(dvbpsi/dr.h,
2261 [ VLC_ADD_PLUGINS([ts])
2262 if test "${enable_sout}" != "no"; then
2263 VLC_ADD_PLUGINS([mux_ts])
2265 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2266 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2267 [#if defined( HAVE_STDINT_H )
2268 # include <stdint.h>
2269 #elif defined( HAVE_INTTYPES_H )
2270 # include <inttypes.h>
2272 #include <dvbpsi/dvbpsi.h>
2273 #include <dvbpsi/descriptor.h>
2274 #include <dvbpsi/pat.h>
2275 #include <dvbpsi/pmt.h>])
2277 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2278 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2279 if test -z "${real_dvbpsi_tree}"
2281 dnl The given directory can't be found
2283 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2285 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2287 dnl Use a custom libdvbpsi
2288 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2289 VLC_ADD_BUILTINS([ts])
2290 if test "${enable_sout}" != "no"; then
2291 VLC_ADD_BUILTINS([mux_ts])
2293 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2294 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2296 dnl The given libdvbpsi wasn't built
2298 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2303 dnl Compile without dvbpsi
2306 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2307 if test -z "${with_dvbpsi}"
2312 LDFLAGS_test="-L${with_dvbpsi}/lib"
2313 CPPFLAGS_test="-I${with_dvbpsi}/include"
2315 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2316 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2317 VLC_ADD_PLUGINS([ts])
2318 if test "${enable_sout}" != "no"; then
2319 VLC_ADD_PLUGINS([mux_ts])
2321 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2322 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2325 if test -n "${enable_dvbpsi}"
2327 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])
2330 CPPFLAGS="${CPPFLAGS_save}"
2333 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2334 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2335 ], [], [${LIBS_ts}])
2340 dnl Video4Linux plugin
2343 [ --enable-v4l Video4Linux input support (default disabled)])
2344 if test "${enable_v4l}" = "yes"
2347 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2348 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2350 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2353 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2354 AC_CHECK_HEADERS(linux/videodev.h, [
2355 VLC_ADD_PLUGINS([v4l])
2357 CPPFLAGS="${CPPFLAGS_save}"
2361 dnl Video4Linux2 plugin
2364 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2365 if test "${enable_v4l2}" = "yes"
2368 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2369 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2371 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2374 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2375 if test "${have_v4l2_alsa}" = "true"
2377 CFLAGS="${CFLAGS_save}"
2378 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2379 #define ALSA_PCM_NEW_SW_PARAMS_API
2380 #include <alsa/asoundlib.h>],
2381 [snd_pcm_hw_params_get_period_time(0,0,0);],
2382 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2383 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2384 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2387 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2388 AC_CHECK_HEADERS(linux/videodev2.h, [
2389 VLC_ADD_PLUGINS([v4l2])
2391 CPPFLAGS="${CPPFLAGS_save}"
2396 dnl special access module for Hauppauge PVR cards
2399 [ --enable-pvr PVR cards access module (default disabled)])
2400 if test "${enable_pvr}" = "yes"
2402 VLC_ADD_PLUGINS([pvr])
2403 AC_ARG_WITH(videodev2,
2404 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2405 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2407 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2411 AC_CACHE_CHECK([for new linux/videodev2.h],
2412 [new_linux_videodev2_h],
2414 #include <sys/types.h>
2415 # ifdef VIDEODEV2_H_FILE
2416 # include VIDEODEV2_H_FILE
2418 # include <linux/videodev2.h>
2421 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2422 new_linux_videodev2_h=yes,
2423 new_linux_videodev2_h=no)])
2424 if test "${new_linux_videodev2_h}" != "no"; then
2425 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2430 dnl gnomeVFS access module
2432 AC_ARG_ENABLE(gnomevfs,
2433 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2434 if test "${enable_gnomevfs}" = "yes"
2436 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2437 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2438 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2439 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2440 VLC_ADD_PLUGINS([access_gnomevfs]),
2441 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2444 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2445 AC_ARG_ENABLE(libcdio,
2446 [ --enable-libcdio CD input and control library support (default enabled)])
2451 if test "${enable_libcdio}" != "no"
2453 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2455 AC_DEFINE(HAVE_LIBCDIO, 1,
2456 [Define if you have libcdio 0.78.2 or greater installed]),
2457 [AC_MSG_WARN(CD Reading and information library not found)])
2459 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2460 [have_libvcdinfo=yes
2461 AC_DEFINE(HAVE_VCDINFO, 1,
2462 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2463 [AC_MSG_WARN(VCD information library not found)])
2467 dnl VCDX and CDDAX modules
2469 AC_ARG_ENABLE(cddax,
2470 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2472 AC_ARG_ENABLE(libcddb,
2473 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2475 if test "${enable_cddax}" = "yes"
2477 if test "$have_libcdio" = "yes"
2479 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2480 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2481 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2482 VLC_ADD_PLUGINS([cddax])
2483 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2484 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2485 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2487 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2491 if test "$enable_libcddb" != "no"; then
2492 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2494 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2495 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2496 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2498 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2505 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2507 if test "${enable_vcdx}" = "yes"
2509 if test "${have_libvcdinfo}" = "yes"
2511 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2512 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2514 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2518 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2519 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2520 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2521 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2524 if test "$have_libvcdinfo" = "yes"
2526 AC_DEFINE(HAVE_VCDX, 1,
2527 [Define for the VCD plugin using libcdio/libvcdinfo])
2528 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2529 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2530 VLC_ADD_PLUGINS([vcdx])
2532 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2538 dnl Built-in CD-DA and VCD module
2541 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2544 [ --enable-vcd built-in VCD (default enabled)])
2546 if test "${enable_vcd}" != "no"
2548 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2549 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2551 VLC_ADD_PLUGINS([vcd cdda])
2556 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2557 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2559 VLC_ADD_PLUGINS([vcd cdda])
2560 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2565 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2566 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2568 VLC_ADD_PLUGINS([vcd cdda])
2569 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2574 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2576 VLC_ADD_PLUGINS([vcd cdda])
2579 if test "${SYS}" = "darwin"
2581 VLC_ADD_PLUGINS([vcd cdda])
2582 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2583 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2586 if test "$enable_libcddb" != "no"; then
2587 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2589 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2590 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2591 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2593 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2599 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2602 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2604 if test "${enable_dvb}" = "yes"
2607 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2608 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2610 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2612 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2613 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2614 if test -z "${with_dvbpsi_tree}"
2616 VLC_ADD_PLUGINS([dvb])
2618 VLC_ADD_BUILTINS([dvb])
2620 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2621 CPPFLAGS="${CPPFLAGS_save}"
2625 dnl Screen capture module
2627 AC_ARG_ENABLE(screen,
2628 [ --enable-screen Screen capture support (default enabled)])
2629 if test "${enable_screen}" != "no"; then
2630 if test "${SYS}" = "darwin"; then
2631 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2632 VLC_ADD_PLUGINS([screen])
2633 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2635 elif test "${SYS}" = "mingw32"; then
2636 VLC_ADD_PLUGINS([screen])
2637 VLC_ADD_LIBS([screen],[-lgdi32])
2638 elif test "${SYS}" = "mingwce"; then
2639 CPPFLAGS="${CPPFLAGS_save}"
2640 elif test "${SYS}" = "beos"; then
2641 VLC_ADD_PLUGINS([screen])
2642 VLC_ADD_CXXFLAGS([screen],[])
2643 VLC_ADD_LIBS([screen],[-lbe])
2645 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2646 AC_CHECK_HEADERS(X11/Xlib.h, [
2647 VLC_ADD_PLUGINS([screen])
2648 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2649 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2651 CPPFLAGS="${CPPFLAGS_save}"
2656 dnl ipv6 plugin - not for QNX yet
2659 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2660 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2663 AS_IF([test "${have_ipv6}" = "yes"], [
2664 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2667 AC_CHECK_FUNCS(inet_ntop,[
2668 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2672 dnl ogg demux plugin
2675 [ --enable-ogg Ogg demux support (default enabled)])
2676 if test "${enable_ogg}" != "no"
2678 AC_ARG_WITH(ogg-tree,
2679 [ --with-ogg-tree=PATH ogg tree for static linking])
2680 if test -n "${with_ogg_tree}"
2682 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2683 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2684 if test -z "${real_ogg_tree}"
2686 dnl The given directory can't be found
2688 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2690 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2692 dnl Use a custom ogg
2693 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2694 VLC_ADD_PLUGINS([ogg])
2695 if test "${enable_sout}" != "no"; then
2696 VLC_ADD_PLUGINS([mux_ogg])
2698 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2699 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2701 dnl The given ogg wasn't built
2703 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2706 AC_CHECK_HEADERS(ogg/ogg.h, [
2707 AC_CHECK_LIB( ogg, oggpack_read, [
2708 VLC_ADD_PLUGINS([ogg])
2709 if test "${enable_sout}" != "no"; then
2710 VLC_ADD_PLUGINS([mux_ogg])
2712 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2718 dnl matroska demux plugin
2721 [ --enable-mkv Matroska demux support (default enabled)])
2722 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2724 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2725 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2727 [#include <ebml/EbmlVersion.h>
2728 #ifdef LIBEBML_VERSION
2729 #if LIBEBML_VERSION >= 0x000706
2733 [AC_MSG_RESULT([yes])
2734 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2735 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2737 [#include <matroska/KaxVersion.h>
2738 #ifdef LIBMATROSKA_VERSION
2739 #if LIBMATROSKA_VERSION >= 0x000705
2743 [AC_MSG_RESULT([yes])
2744 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2745 VLC_ADD_CXXFLAGS([mkv],[])
2746 if test "${SYS}" = "darwin"; then
2747 VLC_ADD_CXXFLAGS([mkv],[-O1])
2749 AC_CHECK_LIB(ebml_pic, main, [
2750 VLC_ADD_PLUGINS([mkv])
2751 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2753 AC_CHECK_LIB(ebml, main, [
2754 VLC_ADD_PLUGINS([mkv])
2755 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2759 [AC_MSG_RESULT([no])
2760 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.])
2764 [AC_MSG_RESULT([no])
2765 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.])
2772 dnl modplug demux plugin
2775 [ --enable-mod Mod demux support (default enabled)])
2776 if test "${enable_mod}" != "no"
2778 AC_ARG_WITH(mod-tree,
2779 [ --with-mod-tree=PATH mod tree for static linking])
2780 if test -n "${with_mod_tree}"
2782 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2783 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2784 if test -z "${real_mod_tree}"
2786 dnl The given directory can't be found
2788 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2790 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2792 dnl Use a custom mod
2793 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2794 VLC_ADD_PLUGINS([mod])
2795 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2796 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2798 dnl The given mod wasn't built
2800 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2803 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2804 VLC_ADD_PLUGINS([mod])
2805 VLC_ADD_CXXFLAGS([mod],[])
2806 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2811 dnl mpc demux plugin
2814 [ --enable-mpc Mpc demux support (default enabled)])
2815 if test "${enable_mpc}" != "no"
2817 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2818 VLC_ADD_PLUGINS([mpc])
2819 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2823 dnl game music emu demux plugin
2826 [ --enable-gme Game Music Emu demux support (default enabled)])
2827 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2830 AC_ARG_WITH(gme-tree,
2831 [ --with-gme-tree=PATH gme tree for static linking])
2832 if test -n "${with_gme_tree}"
2834 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2835 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2836 if test -z "${real_gme_tree}"
2838 dnl The given directory can't be found
2840 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2842 if test -f "${real_gme_tree}/gme/libgme.a"
2844 dnl Use a custom gme
2845 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2846 VLC_ADD_PLUGINS([gme])
2847 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2848 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2850 dnl The given gme wasn't built
2852 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2855 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2864 AC_ARG_WITH(,[Codec plugins:])
2870 [ --enable-mad libmad module (default enabled)])
2871 if test "${enable_mad}" != "no"
2874 [ --with-mad=PATH path to libmad],[],[])
2875 if test "${with_mad}" != "no" -a -n "${with_mad}"
2877 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2878 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2881 AC_ARG_WITH(mad-tree,
2882 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2883 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2885 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2886 if test -z "${real_mad_tree}"
2888 dnl The given directory can't be found
2890 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2892 dnl Use a custom libmad
2893 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2894 if test -f ${real_mad_tree}/mad.h
2897 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2898 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2899 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2900 AC_CHECK_LIB(mad, mad_bit_init, [
2901 VLC_ADD_BUILTINS([mpgatofixed32])
2902 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2903 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2905 LDFLAGS="${LDFLAGS_save}"
2908 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2911 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2912 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2913 AC_CHECK_HEADERS(mad.h, ,
2914 [ 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.]) ])
2915 AC_CHECK_LIB(mad, mad_bit_init, [
2916 VLC_ADD_PLUGINS([mpgatofixed32])
2917 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2918 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2919 CPPFLAGS="${CPPFLAGS_save}"
2920 LDFLAGS="${LDFLAGS_save}"
2925 dnl libid3tag support (FIXME!!! doesn't work with new input)
2927 AC_ARG_ENABLE( id3tag,
2928 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2929 AS_IF([test "${enable_id3tag}" != "no"], [
2930 AC_CHECK_HEADERS(id3tag.h, [
2931 AC_CHECK_HEADERS(zlib.h, [
2932 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2933 VLC_ADD_PLUGINS([id3tag])
2939 dnl ffmpeg decoder/demuxer plugin
2941 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2942 dnl 3- default place,
2944 AC_ARG_ENABLE(ffmpeg,
2945 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2946 if test "${enable_ffmpeg}" != "no"
2949 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2951 AC_ARG_WITH(ffmpeg-mp3lame,
2952 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2954 if test "$with_ffmpeg_mp3lame" = "yes"; then
2955 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2958 AC_ARG_WITH(ffmpeg-faac,
2959 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2961 if test "$with_ffmpeg_faac" = "yes"; then
2962 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2965 AC_ARG_WITH(ffmpeg-dts,
2966 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2968 if test "$with_ffmpeg_dts" = "yes"; then
2969 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2970 AC_CHECK_LIB(dts_pic, dts_free,
2971 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2972 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2973 LDFLAGS="${LDFLAGS_save}"
2976 AC_ARG_WITH(ffmpeg-vorbis,
2977 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2979 if test "$with_ffmpeg_vorbis" = "yes"; then
2980 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2983 AC_ARG_WITH(ffmpeg-theora,
2984 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2986 if test "$with_ffmpeg_theora" = "yes"; then
2987 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2990 AC_ARG_WITH(ffmpeg-ogg,
2991 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2993 if test "$with_ffmpeg_ogg" = "yes"; then
2994 VLC_ADD_LIBS([ffmpeg],[-logg])
2997 AC_ARG_WITH(ffmpeg-zlib,
2998 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3000 if test "$with_ffmpeg_zlib" = "yes"; then
3001 VLC_ADD_LIBS([ffmpeg],[-lz])
3004 AC_ARG_WITH(ffmpeg-amrnb,
3005 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3007 if test "$with_ffmpeg_amrnb" = "yes"; then
3008 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3011 AC_ARG_WITH(ffmpeg-amrwb,
3012 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3014 if test "$with_ffmpeg_amrwb" = "yes"; then
3015 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3018 AC_ARG_WITH(ffmpeg-x264,
3019 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3021 if test "$with_ffmpeg_x264" = "yes"; then
3022 VLC_ADD_LIBS([ffmpeg],[-lx264])
3025 AC_ARG_WITH(ffmpeg-a52,
3026 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3028 if test "$with_ffmpeg_a52" = "yes"; then
3029 VLC_ADD_LIBS([ffmpeg],[-la52])
3033 dnl test for --with-ffmpeg-tree
3035 AC_ARG_WITH(ffmpeg-tree,
3036 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3038 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3039 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3040 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3041 if test -z "${real_ffmpeg_tree}"; then
3042 dnl The given directory can't be found
3044 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3046 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3047 dnl The given libavcodec wasn't built
3049 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3051 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3052 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3053 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3054 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3055 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3056 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3058 dnl The given libavcodec wasn't built with --enable-pp
3060 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3063 dnl Use a custom libffmpeg
3064 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3066 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3067 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3068 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3069 export PKG_CONFIG_PATH=""
3070 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3072 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3073 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3074 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3076 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3077 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3079 unset PKG_CONFIG_PATH
3081 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3082 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3084 unset PKG_CONFIG_LIBDIR
3087 VLC_ADD_BUILTINS([ffmpeg])
3088 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3089 VLC_ADD_BUILTINS([stream_out_switcher])
3092 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3093 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3094 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3095 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3098 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3099 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3100 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
3101 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
3106 dnl Trying with pkg-config
3107 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3110 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3111 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3112 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3113 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3114 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3115 dnl newer ffmpeg have a separate libpostproc
3116 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3117 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3118 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3120 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3121 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3122 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3123 if test "${SYS}" = "darwin"; then
3124 VLC_ADD_BUILTINS([ffmpeg])
3126 VLC_ADD_PLUGINS([ffmpeg])
3128 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3129 if test "${SYS}" = "darwin"; then
3130 VLC_ADD_BUILTINS([stream_out_switcher])
3132 VLC_ADD_PLUGINS([stream_out_switcher])
3135 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3136 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3138 dnl even newer ffmpeg has a libswscale
3139 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3140 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3141 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3142 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3143 AC_CHECK_LIB(swscale, sws_getContext,
3144 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3150 dnl last chance: at the default place
3152 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3153 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3154 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3155 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3156 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3157 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3159 AC_CHECK_LIB(avutil, av_crc_init, [
3160 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3161 LDAVUTIL="-lavutil"])
3163 AC_CHECK_LIB(avcodec, avcodec_init, [
3164 VLC_ADD_BUILTINS([ffmpeg])
3165 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3166 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3167 VLC_ADD_BUILTINS([stream_out_switcher])
3169 [ 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])
3171 AC_CHECK_LIB(postproc, pp_postprocess, [
3172 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3173 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3176 AC_CHECK_LIB(avformat, av_open_input_stream, [
3177 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3178 LDFLAGS="${LDFLAGS_save}"
3179 CPPFLAGS="${CPPFLAGS_save}"
3181 AC_CHECK_LIB(swscale, sws_getContext, [
3182 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3183 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3184 LDFLAGS="${LDFLAGS_save}"
3185 CPPFLAGS="${CPPFLAGS_save}"
3191 dnl ffmpegaltivec plugin
3193 AC_ARG_ENABLE(ffmpegaltivec,
3194 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3195 if test "${enable_ffmpegaltivec}" = "yes"
3197 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3198 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3199 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3200 if test -z "${real_ffmpeg_tree}"; then
3201 dnl The given directory can't be found
3203 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3205 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3206 dnl The given libavcodecaltivec wasn't built
3208 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3210 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3211 dnl The given libavcodecaltivec wasn't built with --enable-pp
3213 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3215 dnl Use a custom libffmpeg
3216 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3217 VLC_ADD_BUILTINS([ffmpegaltivec])
3218 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3219 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3220 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3222 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3223 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3224 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3225 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3227 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3228 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3233 dnl faad decoder plugin
3236 [ --enable-faad faad codec (default disabled)])
3237 if test "${enable_faad}" = "yes"
3239 AC_ARG_WITH(faad-tree,
3240 [ --with-faad-tree=PATH faad tree for static linking])
3241 if test -n "${with_faad_tree}"
3243 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3244 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3245 if test -z "${real_faad_tree}"
3247 dnl The given directory can't be found
3249 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3251 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3253 dnl Use a custom faad
3254 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3255 VLC_ADD_BUILTINS([faad])
3256 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3257 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3259 dnl The given libfaad wasn't built
3261 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3264 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3265 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3266 AC_CHECK_HEADERS(faad.h, ,
3267 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3268 AC_CHECK_LIB(faad, faacDecOpen, [
3269 VLC_ADD_PLUGINS([faad])
3270 VLC_ADD_LIBS([faad],[-lfaad]) ],
3271 AC_CHECK_LIB(faad, NeAACDecOpen, [
3272 VLC_ADD_PLUGINS([faad])
3273 VLC_ADD_LIBS([faad],[-lfaad]) ],
3274 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3275 LDFLAGS="${LDFLAGS_save}"
3276 CPPFLAGS="${CPPFLAGS_save}"
3281 dnl twolame encoder plugin
3283 AC_ARG_ENABLE(twolame,
3284 [ --enable-twolame twolame codec (default disabled)])
3285 if test "${enable_twolame}" = "yes"
3287 AC_ARG_WITH(twolame-tree,
3288 [ --with-twolame-tree=PATH twolame tree for static linking])
3289 if test -n "${with_twolame_tree}"
3291 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3292 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3293 if test -z "${real_twolame_tree}"
3295 dnl The given directory can't be found
3297 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3299 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3301 dnl Use a custom twolame
3302 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3303 VLC_ADD_BUILTINS([twolame])
3304 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3305 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3307 dnl The given libtwolame wasn't built
3309 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3312 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3313 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3314 AC_CHECK_HEADERS(twolame.h, ,
3315 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3316 AC_CHECK_LIB(twolame, twolame_init, [
3317 VLC_ADD_PLUGINS([twolame])
3318 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3319 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3320 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3321 LDFLAGS="${LDFLAGS_save}"
3322 CPPFLAGS="${CPPFLAGS_save}"
3327 dnl QuickTime plugin
3329 AC_ARG_ENABLE(quicktime,
3330 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3331 if test "${enable_quicktime}" != "no" &&
3332 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3334 if test "${SYS}" = "mingw32"; then
3335 VLC_ADD_BUILTINS([quicktime])
3337 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3338 [ VLC_ADD_BUILTINS([quicktime])
3339 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3340 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3348 [ --enable-real Real audio module (default disabled)])
3349 if test "${enable_real}" = "yes"; then
3350 VLC_ADD_PLUGINS([realaudio])
3354 dnl Real RTSP plugin
3356 AC_ARG_ENABLE(realrtsp,
3357 [ --enable-realrtsp Real RTSP module (default disabled)])
3358 if test "${enable_realrtsp}" = "yes"; then
3359 VLC_ADD_PLUGINS([access_realrtsp])
3365 AC_CHECK_HEADERS(zlib.h, [
3366 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3369 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3370 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3376 AC_ARG_ENABLE(libtar,
3377 [ --enable-libtar support for skins2 (default enabled)])
3379 AS_IF([test "${enable_libtar}" != "no"],[
3380 AC_CHECK_HEADERS(libtar.h, [
3381 VLC_ADD_LIBS([skins2],[-ltar])
3386 dnl A52/AC3 decoder plugin
3389 [ --enable-a52 A/52 support with liba52 (default enabled)])
3390 if test "${enable_a52}" != "no"
3393 [ --with-a52=PATH a52 headers and libraries])
3394 AC_ARG_WITH(a52-tree,
3395 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3396 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3398 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3399 if test -z "${real_a52_tree}"
3401 dnl The given directory can't be found
3403 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3405 dnl Use a custom a52dec
3406 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3407 if test -f ${real_a52_tree}/include/a52.h
3410 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3411 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3412 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3413 AC_CHECK_LIB(a52, a52_free, [
3414 VLC_ADD_BUILTINS([a52tofloat32])
3415 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3416 VLC_ADD_LIBS([a52tofloat32],[-la52])
3418 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3420 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3422 AC_MSG_ERROR([the specified tree hasn't been compiled])
3425 LDFLAGS="${LDFLAGS_save}"
3428 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3431 if test -z "${with_a52}"
3436 LDFLAGS_test="-L${with_a52}/lib"
3437 CPPFLAGS_test="-I${with_a52}/include"
3439 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3440 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3441 AC_CHECK_HEADERS(a52dec/a52.h, [
3442 AC_CHECK_LIB(a52, a52_free, [
3443 VLC_ADD_PLUGINS([a52tofloat32])
3444 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3445 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3447 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.])
3450 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.])
3452 CPPFLAGS="${CPPFLAGS_save}"
3453 LDFLAGS="${LDFLAGS_save}"
3457 AC_ARG_WITH(a52-fixed,
3458 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3460 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3463 dnl DTS Coherent Acoustics decoder plugin
3465 AS_IF([test "x${enable_dts}" != "x"], [
3466 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3468 AS_IF([test "x${with_dts_tree}" != "x"], [
3469 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3473 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3474 AS_IF([test "${enable_dca}" != "no"], [
3475 AC_ARG_WITH(dca-tree,
3476 [ --with-dca-tree=PATH libdca tree for static linking],,
3477 [with_dca_tree="no"])
3478 AS_IF([test "${with_dca_tree}" != "no"], [
3479 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3480 AS_IF([test -z "${real_dca_tree}"], [
3481 dnl The given directory can't be found
3483 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3485 dnl Use a custom libdca
3486 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3487 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3489 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3490 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3491 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3493 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3497 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3500 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3501 VLC_ADD_PLUGINS([dtstofloat32])
3502 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3503 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3505 AS_IF([test "x${enable_dca}" != "x"], [
3506 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3516 [ --enable-flac libflac decoder/encoder support (default disabled)])
3517 if test "${enable_flac}" = "yes"
3519 AC_ARG_WITH(flac-tree,
3520 [ --with-flac-tree=PATH flac tree for static linking])
3521 if test -n "${with_flac_tree}"
3523 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3524 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3525 if test -z "${real_flac_tree}"
3527 dnl The given directory can't be found
3529 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3531 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3533 dnl Use a custom flac
3534 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3535 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3536 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3537 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3539 dnl The given flac wasn't built
3541 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3544 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3545 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3553 AC_ARG_ENABLE(libmpeg2,
3554 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3555 if test "${enable_libmpeg2}" != "no"
3557 AC_ARG_WITH(libmpeg2-tree,
3558 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3559 if test -n "${with_libmpeg2_tree}"
3561 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3562 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3563 if test -z "${real_libmpeg2_tree}"
3565 dnl The given directory can't be found
3567 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3569 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3571 dnl Use a custom libmpeg2
3572 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3573 VLC_ADD_BUILTINS([libmpeg2])
3574 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3575 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3576 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3578 dnl The given libmpeg2 wasn't built
3580 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3583 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3584 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3586 [#include <mpeg2dec/mpeg2.h>
3587 #ifdef MPEG2_RELEASE
3588 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3592 [AC_MSG_RESULT([yes])
3593 VLC_ADD_PLUGINS([libmpeg2])
3594 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3595 [AC_MSG_RESULT([no])
3596 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.])])],
3598 [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.])]
3606 AC_ARG_ENABLE(vorbis,
3607 [ --enable-vorbis Vorbis decoder support (default enabled)])
3608 if test "${enable_vorbis}" != "no"
3610 AC_ARG_WITH(vorbis-tree,
3611 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3612 if test -n "${with_vorbis_tree}"
3614 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3615 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3616 if test -z "${real_vorbis_tree}"
3618 dnl The given directory can't be found
3620 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3622 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3624 dnl Use a custom vorbis
3625 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3626 VLC_ADD_PLUGINS([vorbis])
3627 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3628 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3630 dnl The given vorbis wasn't built
3632 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3635 AC_CHECK_HEADERS(vorbis/codec.h, [
3636 VLC_ADD_PLUGINS([vorbis])
3637 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3639 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3640 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3647 AC_ARG_ENABLE(tremor,
3648 [ --enable-tremor Tremor decoder support (default disabled)])
3649 if test "${enable_tremor}" = "yes"
3651 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3652 VLC_ADD_PLUGINS([tremor])
3653 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3660 AC_ARG_ENABLE(speex,
3661 [ --enable-speex Speex decoder support (default enabled)])
3662 if test "${enable_speex}" != "no"
3664 AC_ARG_WITH(speex-tree,
3665 [ --with-speex-tree=PATH speex tree for static linking])
3666 if test -n "${with_speex_tree}"
3668 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3669 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3670 if test -z "${real_speex_tree}"
3672 dnl The given directory can't be found
3674 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3676 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3678 dnl Use a custom speex
3679 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3680 VLC_ADD_PLUGINS([speex])
3681 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3682 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3684 dnl The given speex wasn't built
3686 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3689 AC_CHECK_HEADERS(speex/speex.h, [
3690 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3691 AC_CHECK_LIB(speex, speex_decode_int, [
3692 VLC_ADD_PLUGINS([speex])
3693 VLC_ADD_LIBS([speex],[-lspeex]) ],
3694 [ AC_MSG_RESULT([no])
3695 AC_MSG_WARN([Your libspeex is too old, please get the development
3697 LDFLAGS="${LDFLAGS_save}"
3703 dnl tarkin decoder plugin
3705 AC_ARG_ENABLE(tarkin,
3706 [ --enable-tarkin experimental tarkin codec (default disabled)])
3707 if test "${enable_tarkin}" = "yes"
3709 AC_ARG_WITH(tarkin-tree,
3710 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3711 if test -n "${with_tarkin_tree}"
3713 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3714 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3715 if test -f "${real_tarkin_tree}/tarkin.o"
3717 VLC_ADD_BUILTINS([tarkin])
3718 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3719 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])
3722 dnl The given tarkin tree wasn't built
3724 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3725 make sure you compiled tarkin in ${with_tarkin_tree}])
3731 dnl theora decoder plugin
3733 AC_ARG_ENABLE(theora,
3734 [ --enable-theora experimental theora codec (default disabled)])
3735 if test "${enable_theora}" = "yes"
3737 AC_CHECK_HEADERS(theora/theora.h, [
3738 AC_CHECK_LIB(theora, theora_granule_time, [
3739 VLC_ADD_PLUGINS([theora])
3740 theora_libs="-ltheora -logg"
3741 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3742 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3743 You also need to check that you have a libogg posterior to the 1.0 release.])],
3749 dnl dirac decoder plugin
3751 AC_ARG_ENABLE(dirac,
3752 [ --enable-dirac experimental dirac codec (default disabled)])
3753 if test "${enable_dirac}" = "yes"; then
3754 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3755 VLC_ADD_PLUGINS([dirac])
3756 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3757 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3758 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3763 dnl PNG decoder module
3766 [ --enable-png PNG support (default enabled)])
3767 if test "${enable_png}" != "no"; then
3768 AC_CHECK_HEADERS(png.h, [
3769 LDFLAGS="${LDFLAGS_save} -lz"
3770 AC_CHECK_LIB(png, png_set_rows, [
3771 VLC_ADD_LIBS([png],[-lpng -lz])
3772 VLC_ADD_PLUGINS([png])
3773 VLC_ADD_PLUGINS([osdmenu osd_parser])
3774 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3776 LDFLAGS="${LDFLAGS_save}"
3781 dnl H264 encoder plugin (using libx264)
3784 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3785 if test "${enable_x264}" != "no"; then
3786 AC_ARG_WITH(x264-tree,
3787 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3788 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3790 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3791 if test -z "${real_x264_tree}"
3793 dnl The given directory can't be found
3795 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3797 dnl Use a custom libx264
3798 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3799 if test -f ${real_x264_tree}/x264.h
3802 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3803 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3804 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3805 AC_CHECK_LIB(x264, x264_encoder_open, [
3806 VLC_ADD_BUILTINS([x264])
3807 VLC_ADD_LIBS([x264],[-lx264])
3809 AC_MSG_ERROR([the specified tree hasn't been compiled])
3811 LDFLAGS="${LDFLAGS_save}"
3814 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3817 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3818 AC_CHECK_HEADERS(x264.h, [
3819 AC_CHECK_LIB(x264, x264_encoder_open, [
3820 VLC_ADD_PLUGINS([x264])
3821 VLC_ADD_LIBS([x264],[-lx264])
3823 if test "${enable_x264}" = "yes"; then
3824 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3828 LDFLAGS="${LDFLAGS_save}"
3833 dnl libfluidsynth (MIDI synthetizer) plugin
3835 AC_ARG_ENABLE(fluidsynth,
3836 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3837 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3838 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3839 VLC_ADD_PLUGINS(fluidsynth)
3840 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3841 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3843 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3844 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3850 dnl Teletext Modules
3851 dnl vbi decoder plugin (using libzbvi)
3856 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3858 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3860 AS_IF( [test "${enable_zvbi}" != "no"],[
3861 AS_IF( [test "${enable_telx}" = "yes"],[
3862 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3864 PKG_CHECK_MODULES(ZVBI,
3867 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3868 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3869 VLC_ADD_PLUGINS([zvbi])
3870 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3872 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3877 AS_IF( [test "${enable_telx}" = "yes"],[
3878 VLC_ADD_PLUGINS([telx])
3885 [ --enable-cmml CMML support (default enabled)])
3886 if test "${enable_cmml}" != "no"
3888 VLC_ADD_PLUGINS([cmml])
3896 AC_ARG_WITH(,[Video plugins:])
3899 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3900 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3901 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3902 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3903 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3905 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3906 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3911 #include <X11/Xlib.h>
3913 CPPFLAGS="${CPPFLAGS_save}"
3918 dnl (enabled by default except on win32)
3921 [ --enable-x11 X11 support (default enabled)])
3922 if test "${enable_x11}" != "no" &&
3923 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3924 test "${enable_x11}" = "yes"); then
3925 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3926 AC_CHECK_HEADERS(X11/Xlib.h, [
3927 VLC_ADD_PLUGINS([panoramix])
3928 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3929 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3930 AC_CHECK_LIB(Xext, XShmAttach, [
3931 VLC_ADD_PLUGINS([x11])
3932 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3933 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3936 CPPFLAGS="${CPPFLAGS_save}"
3941 dnl (enabled by default except on win32)
3943 AC_ARG_ENABLE(xvideo,
3944 [ --enable-xvideo XVideo support (default enabled)])
3945 if test "${enable_xvideo}" != "no" &&
3946 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3947 test "${enable_xvideo}" = "yes"); then
3948 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3949 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3950 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3951 AC_CHECK_LIB(Xv,XvPutImage,[
3952 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3953 # test for libXv_pic.
3954 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3955 VLC_ADD_PLUGINS([xvideo])
3956 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3957 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3959 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3960 VLC_ADD_PLUGINS([xvideo])
3961 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3962 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3964 VLC_ADD_BUILTINS([xvideo])
3965 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3966 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3970 CFLAGS="${CFLAGS_save}"
3972 CPPFLAGS="${CPPFLAGS_save}")
3977 dnl (enabled by default except on win32)
3980 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3981 if test "${enable_glx}" != "no" &&
3982 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3983 test "${enable_glx}" = "yes"); then
3984 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3985 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3986 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3987 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3991 VLC_ADD_PLUGINS([glx])
3992 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3993 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3994 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3995 CPPFLAGS="${CPPFLAGS_save}"
4000 dnl (enabled by default except on win32)
4003 [ --enable-xvmc XVMC support (default disabled)])
4004 if test "${enable_xvmc}" = "yes" &&
4005 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4006 test "${enable_xvmc}" = "yes"); then
4007 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4008 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4009 VLC_ADD_PLUGINS([xvmc])
4010 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4011 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4013 CPPFLAGS="${CPPFLAGS_save}"
4017 dnl Check for the Xinerama extension
4019 AC_ARG_ENABLE(xinerama,
4020 [ --enable-xinerama Xinerama support (default enabled)])
4021 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4022 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4023 test "${enable_xvideo}" = "yes"); then
4024 ac_cv_have_xinerama="no"
4025 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4026 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4027 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4028 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4029 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4030 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4031 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4032 ac_cv_have_xinerama="yes"
4034 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4035 VLC_ADD_LIBS([xvideo],[-lXinerama])
4036 VLC_ADD_LIBS([x11],[-lXinerama])
4037 VLC_ADD_LIBS([glx],[-lXinerama])
4038 ac_cv_have_xinerama="yes"
4042 if test "${ac_cv_have_xinerama}" = "yes"; then
4043 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4045 CFLAGS="${CFLAGS_save}"
4046 CPPFLAGS="${CPPFLAGS_save}"
4049 dnl Check for XF86VidMode extension
4051 ac_cv_have_xf86vidmode="no"
4052 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4053 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4054 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4055 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4056 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4057 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4058 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4059 ac_cv_have_xf86vidmode="yes"
4061 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4062 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4063 VLC_ADD_LIBS([x11],[-lXxf86vm])
4064 VLC_ADD_LIBS([glx],[-lXxf86vm])
4065 ac_cv_have_xf86vidmode="yes"
4069 [#ifdef HAVE_X11_XLIB_H
4070 # include <X11/Xlib.h>
4073 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4074 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4076 CFLAGS="${CFLAGS_save}"
4077 CPPFLAGS="${CPPFLAGS_save}"
4083 dnl (enabled by default except on beos)
4085 AC_ARG_ENABLE(opengl,
4086 [ --enable-opengl OpenGL support (default enabled)])
4087 if test "${enable_opengl}" != "no" &&
4088 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4089 if test "${SYS}" != "darwin"; then
4090 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4091 VLC_ADD_PLUGINS([opengl])
4092 if test "${SYS}" != "mingw32"; then
4093 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4095 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4099 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4100 VLC_ADD_PLUGINS([opengl])
4101 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4109 [ --enable-sdl SDL support (default enabled)])
4110 AC_ARG_ENABLE(sdl-image,
4111 [ --enable-sdl-image SDL image support (default enabled)])
4112 if test "${enable_sdl}" != "no"
4115 AC_ARG_WITH(sdl-config-path,
4116 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4117 [ if test "${with_sdl_config_path}" != "no"
4119 SDL_PATH="${with_sdl_config_path}:${PATH}"
4121 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4122 SDL_CONFIG="${SDL12_CONFIG}"
4123 SDL_HEADER="SDL12/SDL.h"
4124 SDL_IMAGE="SDL12/SDL_image.h"
4125 if test "${SDL_CONFIG}" = "no"
4127 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4128 SDL_CONFIG=${SDL11_CONFIG}
4129 SDL_HEADER="SDL11/SDL.h"
4130 SDL_IMAGE="SDL11/SDL_image.h"
4132 if test "${SDL_CONFIG}" = "no"
4134 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4135 SDL_HEADER="SDL/SDL.h"
4136 SDL_IMAGE="SDL/SDL_image.h"
4138 # check for cross-compiling
4140 AC_ARG_WITH(sdl-prefix,
4141 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4143 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4144 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4146 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4148 if test "${SDL_CONFIG}" != "no"
4150 # SDL on Darwin is heavily patched and can only run SDL_image
4151 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4152 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4154 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4155 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4156 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4157 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4158 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4159 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4160 As a last resort we also test for SDL.h presence),
4161 [ AC_MSG_ERROR([The development package for SDL is not installed.
4162 Please install it and try again. Alternatively you can also configure with
4165 AS_IF([ test "${enable_sdl_image}" != "no"],[
4166 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4167 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4168 VLC_ADD_PLUGINS([sdl_image])
4169 AC_CHECK_LIB(png, png_set_rows,
4170 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4171 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4172 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4173 AC_CHECK_LIB(tiff, TIFFClientOpen,
4174 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4175 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4176 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4177 As a last resort we also test for SDL_image.h presence),
4178 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4179 You should install it alongside your SDL package.])
4182 CPPFLAGS="${CPPFLAGS_save}"
4183 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4185 AC_MSG_ERROR([The development package for SDL is not installed.
4186 Please install it and try again. Alternatively you can also configure with
4190 elif test "${enable_sdl}" = "yes"
4192 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4193 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4201 AC_ARG_ENABLE(freetype,
4202 [ --enable-freetype freetype support (default enabled)])
4203 AC_ARG_ENABLE(fribidi,
4204 [ --enable-fribidi fribidi support (default enabled)])
4205 if test "${enable_freetype}" != "no"
4207 FREETYPE_PATH="${PATH}"
4208 AC_ARG_WITH(freetype-config-path,
4209 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4210 [ if test "${with_freetype_config_path}" != "no"
4212 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4214 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4216 if test "${FREETYPE_CONFIG}" != "no"
4218 VLC_ADD_PLUGINS([freetype])
4219 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4220 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4221 if test "${SYS}" = "mingw32"; then
4222 VLC_ADD_LIBS([freetype],[-lxml2])
4224 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4225 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4226 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4227 AC_CHECK_HEADERS(Carbon/Carbon.h,
4228 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4229 elif test "${enable_freetype}" = "yes"
4231 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4232 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4237 if test "${enable_fribidi}" != "no"
4239 FRIBIDI_PATH="${PATH}"
4240 AC_ARG_WITH(fribidi-config-path,
4241 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4242 [ if test "${with_fribidi_config_path}" != "no"
4244 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4246 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4248 if test "${FRIBIDI_CONFIG}" != "no"
4250 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4251 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4252 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4253 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4261 AC_ARG_ENABLE(libxml2,
4262 [ --enable-libxml2 libxml2 support (default enabled)])
4263 if test "${enable_libxml2}" != "no"
4266 AC_ARG_WITH(xml2-config-path,
4267 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4268 [ if test "${with_xml2_config_path}" != "no"; then
4269 XML2_PATH="${with_xml2_config_path}:${PATH}"
4271 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4272 if test "${XML2_CONFIG}" != "no"; then
4273 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4274 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4275 dnl depends on the xmlTextReader extension
4276 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4277 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4278 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4279 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4280 VLC_ADD_PLUGINS([xml]) ],[
4281 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4282 if test "${enable_xml2}" = "yes"; then
4283 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4286 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4287 if test "${enable_xml2}" = "yes"; then
4288 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4290 LDFLAGS="${LDFLAGS_save}"
4291 CPPFLAGS="${CPPFLAGS_save}"
4293 if test "${enable_xml2}" = "yes"; then
4294 AC_MSG_ERROR([Could not find libxml2])
4303 [ --enable-svg SVG support (default disabled)])
4304 if test "${enable_svg}" = "yes"
4306 PKG_CHECK_MODULES(SVG,
4307 librsvg-2.0 >= 2.9.0,
4309 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4310 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4311 VLC_ADD_PLUGINS([svg]) ],
4312 [AC_MSG_WARN(SVG library not found)])
4316 dnl Snapshot vout module (with cache)
4318 AC_ARG_ENABLE(snapshot,
4319 [ --enable-snapshot snapshot module (default disabled)])
4320 if test "${enable_snapshot}" = "yes"
4322 VLC_ADD_PLUGINS([snapshot])
4326 dnl Qt Embedded module
4327 dnl (disabled by default)
4330 [ --enable-qte QT Embedded support (default disabled)])
4331 if test "${enable_qte}" = "yes"
4334 [ --with-qte=PATH Qt Embedded headers and libraries])
4335 if test "${with_qte}" != "no" -a -n "${with_qte}"
4337 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4338 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])
4340 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4341 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4343 VLC_ADD_PLUGINS([qte])
4345 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4346 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4347 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4349 CPPFLAGS="${CPPFLAGS_save}"
4353 dnl Qt Video output module
4354 dnl (disabled by default)
4356 dnl AC_ARG_ENABLE(qt_video,
4357 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4358 dnl if test "${enable_qt_video}" = "yes"
4360 dnl VLC_ADD_PLUGINS([qt_video])
4361 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4362 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4363 dnl AC_CHECK_LIB(qt-mt,main,[
4364 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4366 dnl AC_CHECK_LIB(qt,main,[
4367 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4370 dnl NEED_QTE_MAIN=yes
4371 dnl LDFLAGS="${LDFLAGS_save}"
4372 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4376 dnl Roku HD1000 Video output module
4378 AC_ARG_ENABLE(hd1000v,
4379 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4380 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4381 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4382 test "${enable_hd1000v}" = "yes"); then
4384 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4386 can_build_roku="yes"
4390 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4392 if test "$can_build_roku" = "yes"
4394 VLC_ADD_PLUGINS([hd1000v])
4395 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4401 dnl Windows DirectX module
4404 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4406 VLC_ADD_PLUGINS([panoramix])
4409 AC_ARG_ENABLE(directx,
4410 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4411 if test "${enable_directx}" != "no"
4413 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4415 AC_ARG_WITH(directx,
4416 [ --with-directx=PATH Win32 DirectX headers])
4417 if test -z "${with_directx}"
4419 AC_CHECK_HEADERS(ddraw.h,
4420 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4421 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4423 AC_CHECK_HEADERS(GL/gl.h,
4424 [ VLC_ADD_PLUGINS([glwin32])
4425 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4427 AC_CHECK_HEADERS(d3d9.h,
4428 [ VLC_ADD_PLUGINS([direct3d])
4429 VLC_ADD_LIBS([direct3d],[-lgdi32])
4432 AC_MSG_CHECKING(for directX headers in ${with_directx})
4433 if test -f ${with_directx}/ddraw.h
4435 VLC_ADD_PLUGINS([vout_directx aout_directx])
4436 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4437 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4441 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4448 dnl Linux framebuffer module
4451 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4452 if test "${enable_fb}" != "no"
4454 AC_CHECK_HEADERS(linux/fb.h, [
4455 VLC_ADD_PLUGINS([fb])
4460 dnl Linux MGA module
4463 [ --enable-mga Linux kernel Matrox support (default disabled)],
4464 [ if test "${enable_mga}" = "yes"
4466 VLC_ADD_PLUGINS([mga])
4472 AC_ARG_ENABLE(svgalib,
4473 [ --enable-svgalib SVGAlib support (default disabled)])
4474 if test "${enable_svgalib}" = "yes"
4476 VLC_ADD_PLUGINS([svgalib])
4477 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4482 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4483 dnl TODO: support for static linking
4485 AC_ARG_ENABLE(directfb,
4486 [ --enable-directfb DirectFB support (default disabled)])
4487 AC_ARG_WITH(directfb,
4488 [ --with-directfb=PATH path to DirectFB headers and libraries])
4490 if test "${enable_directfb}" = "yes"; then
4491 have_directfb="false"
4492 CPPFLAGS_mydirectfb=
4494 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4495 dnl Trying the given location
4496 CPPFLAGS_save="${CPPFLAGS}"
4499 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4500 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4501 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4503 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4504 LIBS="${LIBS} ${LIBS_new}"
4506 dnl FIXME: too obscure
4507 AC_CHECK_HEADER([directfb.h], [
4508 AC_CHECK_LIB([direct],[direct_initialize], [
4509 AC_CHECK_LIB([fusion], [fusion_enter], [
4510 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4511 ], have_directfb="false")
4512 ], have_directfb="false")
4513 ], have_directfb="false")
4516 CPPFLAGS="${CPPFLAGS_save}"
4519 if test "${have_directfb}" = "true"; then
4520 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4521 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4524 dnl Look for directfb-config
4525 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4526 if test "${DIRECTFB_CONFIG}" != "no"; then
4527 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4528 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4529 have_directfb="true"
4531 dnl Trying with pkg-config
4532 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4533 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4534 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4535 have_directfb="true"
4536 ], [have_directfb="false"])
4539 if test "${have_directfb}" = "true"; then
4540 VLC_ADD_PLUGINS([directfb])
4541 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4542 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4544 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4554 [ --enable-ggi GGI support (default disabled)])
4555 if test "${enable_ggi}" = "yes"
4557 VLC_ADD_PLUGINS([ggi])
4558 VLC_ADD_LIBS([ggi],[-lggi])
4560 [ --with-ggi=PATH path to libggi],
4561 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4563 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4564 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4571 AC_ARG_ENABLE(glide,
4572 [ --enable-glide Glide (3dfx) support (default disabled)])
4573 if test "${enable_glide}" = "yes"
4575 CFLAGS_save="${CFLAGS}"
4577 [ --with-glide=PATH path to libglide],
4578 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4580 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4581 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4582 CFLAGS="$CFLAGS -I${with_glide}/include"
4584 CFLAGS="$CFLAGS -I/usr/include/glide"
4585 AC_CHECK_HEADER(glide.h,[
4586 VLC_ADD_PLUGINS([glide])
4587 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4588 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4590 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4592 CFLAGS="${CFLAGS_save}"
4599 [ --enable-aa aalib output (default disabled)])
4600 if test "${enable_aa}" = "yes"
4602 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4603 if test "${have_aa}" = "true"
4605 VLC_ADD_PLUGINS([aa])
4606 VLC_ADD_LIBS([aa],[-laa])
4614 [ --enable-caca libcaca output (default disabled)])
4615 if test "${enable_caca}" = "yes"
4618 AC_ARG_WITH(caca-config-path,
4619 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4620 [ if test "${with_caca_config_path}" != "no"
4622 CACA_PATH="${with_caca_config_path}:${PATH}"
4624 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4625 if test "${CACA_CONFIG}" != "no"
4627 VLC_ADD_PLUGINS([caca])
4628 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4629 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4634 dnl win32 GDI plugin
4636 AC_ARG_ENABLE(wingdi,
4637 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4638 if test "${enable_wingdi}" != "no"; then
4639 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4640 VLC_ADD_PLUGINS([wingdi])
4641 VLC_ADD_LIBS([wingdi],[-lgdi32])
4643 if test "${SYS}" = "mingwce"; then
4644 VLC_ADD_PLUGINS([wingdi wingapi])
4652 AC_ARG_WITH(,[Audio plugins:])
4655 dnl OSS /dev/dsp module (enabled by default except on win32)
4658 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4660 if test "${enable_oss}" != "no" &&
4661 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4662 test "${enable_oss}" = "yes")
4664 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4665 VLC_ADD_PLUGINS([oss])
4666 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4674 [ --enable-esd Esound library support (default disabled)],
4675 [if test "${enable_esd}" = "yes"
4677 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4678 if test "${ESD_CONFIG}" != "no"
4680 VLC_ADD_PLUGINS([esd])
4681 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4682 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4687 dnl Portaudio module
4689 AC_ARG_ENABLE(portaudio,
4690 [ --enable-portaudio Portaudio library support (default disabled)],
4691 [if test "${enable_portaudio}" = "yes"
4693 VLC_ADD_PLUGINS([portaudio])
4694 VLC_ADD_CXXFLAGS([portaudio],[])
4695 if test "${SYS}" = "mingw32"; then
4696 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4698 VLC_ADD_LIBS([portaudio],[-lportaudio])
4703 dnl aRts module -- broken (freeze wxWidgets)
4706 [ --enable-arts aRts sound server (default disabled)],
4707 [if test "${enable_arts}" = "yes"
4709 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4710 if test "${ARTS_CONFIG}" != "no"
4712 VLC_ADD_PLUGINS([arts])
4713 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4714 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4722 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4723 if test "${enable_alsa}" != "no"
4725 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4726 if test "${have_alsa}" = "true"
4728 CFLAGS="${CFLAGS_save}"
4729 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4730 #define ALSA_PCM_NEW_SW_PARAMS_API
4731 #include <alsa/asoundlib.h>],
4732 [snd_pcm_hw_params_get_period_time(0,0,0);],
4733 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4734 VLC_ADD_PLUGINS([alsa])
4735 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4737 if test "${enable_alsa}" = "yes"; then
4738 AC_MSG_ERROR([Could not find ALSA development headers])
4744 dnl win32 waveOut plugin
4746 AC_ARG_ENABLE(waveout,
4747 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4748 if test "${enable_waveout}" != "no"; then
4749 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4750 VLC_ADD_PLUGINS([waveout])
4751 VLC_ADD_LIBS([waveout],[-lwinmm])
4753 if test "${SYS}" = "mingwce"; then
4754 VLC_ADD_PLUGINS([waveout])
4759 dnl CoreAudio plugin
4761 AC_ARG_ENABLE(macosx-audio,
4762 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4763 if test "${enable_macosx-audio}" != "no" &&
4764 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4766 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4767 [ VLC_ADD_BUILTINS([auhal])
4768 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4769 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4773 dnl Roku HD1000 audio
4775 AC_ARG_ENABLE(hd1000a,
4776 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4777 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4778 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4779 test "${enable_hd1000a}" = "yes")
4782 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4783 VLC_ADD_PLUGINS([hd1000a])
4784 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4792 [ --enable-jack JACK audio I/O modules (default disabled)],,
4795 AS_IF([test "${enable_jack}" != "no"], [
4796 AC_CHECK_HEADERS(jack/jack.h, [
4797 VLC_ADD_PLUGINS([access_jack jack])
4798 VLC_ADD_LIBS([access_jack jack],[-ljack])
4799 ],[AC_MSG_ERROR([cannot find JACK headers])])
4803 dnl CyberLink for C++ UPnP stack
4805 AC_ARG_ENABLE(cyberlink,
4806 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4807 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4808 AC_ARG_WITH(cyberlink-tree,
4809 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4812 dnl test for --with-cyberlink-tree
4814 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4816 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4817 AS_IF([test -z "${real_cyberlink_tree}"], [
4818 dnl The given directory can't be found
4820 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4822 CPPFLAGS_save="${CPPFLAGS}"
4823 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4824 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4825 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4826 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4827 VLC_ADD_PLUGINS([upnp_cc])
4829 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4831 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4832 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4833 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4834 dnl The mere fact that we have to make such an ugly check sucks
4835 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4838 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4839 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4840 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4841 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4842 using namespace CyberLink;
4844 class testclass : public SearchResponseListener, public MediaPlayer
4846 virtual void deviceSearchResponseReceived( SSDPPacket *)
4853 addSearchResponseListener (this);
4857 ],[testclass l;])],[LIBS_cclink="$l"])
4860 dnl should not happen - otherwise this needs fixing - hence FAILURE
4861 AS_IF([test "${LIBS_cclink}" = "no"],
4862 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4863 AC_MSG_RESULT([${LIBS_cclink}])
4864 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4867 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4869 CPPFLAGS="${CPPFLAGS_save}"
4875 dnl UPnP Plugin (Intel SDK)
4878 [ --enable-upnp Intel UPnP SDK (default enabled)])
4880 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4881 AS_IF([test "x${enable_upnp}" != "xno"], [
4882 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4883 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4884 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4886 AS_IF([test "${has_upnp}" = "yes"], [
4887 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4893 AS_IF([test "${has_upnp}" = "yes"], [
4894 VLC_ADD_PLUGINS([upnp_intel])
4899 dnl Interface plugins
4902 AC_ARG_WITH(,[Interface plugins:])
4904 dnl special case for BeOS
4905 if test "${SYS}" = "beos"
4907 VLC_ADD_BUILTINS([beos])
4913 AC_ARG_ENABLE(skins2,
4914 [ --enable-skins2 Skins2 interface module (default disabled)])
4915 if test "${enable_skins2}" = "yes" ||
4916 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4917 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4919 dnl test for the required libraries
4920 skins2_missing_lib="no"
4923 if test "${FREETYPE_CONFIG}" != "no"; then
4924 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4925 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4927 skins2_missing_lib="yes"
4928 if test "${enable_skins2}" = "yes"; then
4929 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4933 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4934 VLC_ADD_PLUGINS([skins2])
4935 ALIASES="${ALIASES} svlc"
4936 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4937 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4938 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4940 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4941 VLC_ADD_PLUGINS([skins2])
4942 ALIASES="${ALIASES} svlc"
4943 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4944 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4945 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4947 else if test "${skins2_missing_lib}" = "no"; then
4948 VLC_ADD_PLUGINS([skins2])
4949 ALIASES="${ALIASES} svlc"
4950 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4951 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4952 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4960 dnl AC_ARG_ENABLE(gtk,
4961 dnl [ --enable-gtk Gtk+ support (default enabled)])
4962 dnl if test "${enable_gtk}" != "no"
4964 dnl GTK_PATH="${PATH}"
4965 dnl AC_ARG_WITH(gtk-config-path,
4966 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4967 dnl [ if test "${with_gtk_config_path}" != "no"
4969 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4971 dnl # look for gtk-config
4972 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4973 dnl GTK_CONFIG=${GTK12_CONFIG}
4974 dnl if test "${GTK_CONFIG}" = "no"
4976 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4978 dnl if test "${GTK_CONFIG}" != "no"
4980 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4982 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.])
4984 dnl if test "${SYS}" != "mingw32"; then
4985 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4986 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4988 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4989 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4991 dnl # now look for the gtk.h header
4992 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4993 dnl ac_cv_gtk_headers=yes
4994 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4995 dnl ac_cv_gtk_headers=no
4996 dnl echo "Cannot find gtk development headers."
4998 dnl if test "${ac_cv_gtk_headers}" = "yes"
5000 dnl VLC_ADD_PLUGINS([gtk])
5001 dnl if test "${SYS}" != "mingw32"; then
5002 dnl NEED_GTK_MAIN=yes
5004 dnl ALIASES="${ALIASES} gvlc"
5006 dnl CPPFLAGS="${CPPFLAGS_save}"
5011 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5013 dnl AC_ARG_ENABLE(gtk2,
5014 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5015 dnl if test "${enable_gtk2}" = "yes"
5017 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5018 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5019 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5020 dnl VLC_ADD_PLUGINS([gtk2])
5021 dnl if test "${SYS}" != "mingw32"; then
5022 dnl NEED_GTK2_MAIN=yes
5027 dnl PDA Gtk+2 module
5030 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5031 if test "${enable_pda}" = "yes"
5033 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5034 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5035 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5036 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5037 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5038 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5039 VLC_ADD_PLUGINS([pda])
5040 if test "${SYS}" != "mingw32"; then
5046 dnl dnl Gnome module
5048 dnl AC_ARG_ENABLE(gnome,
5049 dnl [ --enable-gnome Gnome interface support (default disabled)],
5050 dnl [if test "${enable_gnome}" = "yes"; then
5051 dnl # look for gnome-config
5052 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5053 dnl if test -x ${GNOME_CONFIG}
5055 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5056 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5058 dnl # now look for the gnome.h header
5059 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5060 dnl AC_CHECK_HEADERS(gnome.h, [
5061 dnl VLC_ADD_PLUGINS([gnome])
5062 dnl NEED_GTK_MAIN=yes
5063 dnl NEED_GNOME_MAIN=yes
5064 dnl ALIASES="${ALIASES} gnome-vlc"
5065 dnl dnl We need this because of some moronic gnomesupport.h flavours
5066 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5067 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5068 dnl AC_MSG_RESULT(yes)
5069 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5070 dnl Define if <gnome.h> defines strndup.)],[
5071 dnl AC_MSG_RESULT(no)])
5073 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5074 dnl developement tools or remove the --enable-gnome option])
5076 dnl CPPFLAGS="${CPPFLAGS_save}"
5080 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5082 dnl AC_ARG_ENABLE(gnome2,
5083 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5084 dnl if test "${enable_gnome2}" = "yes"
5086 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5087 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5088 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5089 dnl VLC_ADD_PLUGINS([gnome2])
5090 dnl if test "${SYS}" != "mingw32"; then
5091 dnl NEED_GNOME2_MAIN=yes
5096 dnl wxWidgets module
5098 AC_ARG_ENABLE(wxwidgets,
5099 [ --enable-wxwidgets wxWidgets support (default disabled)])
5101 if test "${enable_wxwidgets}" = "yes"
5103 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5104 WXWIDGETS_PATH="${PATH}"
5105 AC_ARG_WITH(wx-config-path,
5106 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5107 [ if test "${with_wx_config_path}" != "no"
5109 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5111 WXWIDGETS_NAME="wx-config"
5112 AC_ARG_WITH(wx-config,
5113 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5114 [ if test "${with_wx_config}" != "no"
5116 WXWIDGETS_NAME="${with_wx_config}"
5118 # look for wx-config
5119 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5120 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5122 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5124 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5128 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5129 # into a warning. However better would be to fix playlist.cpp
5130 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5131 [ac_cv_cxx_fpermissive],
5132 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5133 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5134 ac_cv_cxx_fpermissive=no)])
5135 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5136 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5138 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5139 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5140 # check if we must link against gtk2 libs
5141 # if __WXGTK20__ && __WXGTK__ are defined
5142 # for modules/gui/wxwidgets/video.cpp
5143 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5146 #error ok, we need to link against gtk2
5148 ])],[WXGTK=no],[WXGTK=yes])
5149 if test "$WXGTK" = "yes"; then
5150 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5152 if ${WX_CONFIG} --unicode
5154 # wxwidgets should provide the following flags but does not
5155 # the following is required to compile for win32
5156 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5158 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5160 if test "$have_libcdio" = "yes"
5162 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5163 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5165 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5168 if test "$have_libvcdinfo" = "yes"
5170 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5171 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5173 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5176 # now look for the wxprec.h header
5177 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5178 ac_cv_wx_headers=yes
5179 AC_CHECK_HEADERS(wx/wxprec.h, , [
5181 echo "Cannot find wxWidgets development headers."
5183 if test "${ac_cv_wx_headers}" = "yes"
5185 VLC_ADD_PLUGINS([wxwidgets])
5186 ALIASES="${ALIASES} wxvlc"
5188 CPPFLAGS="${CPPFLAGS_save}"
5191 dnl WxWidgets plugin will yield incorrect code without this
5192 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5200 [ --enable-qt4 QT 4 support (default enabled) ])
5201 AS_IF([test "${enable_qt4}" != "no" &&
5202 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5203 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5204 [ VLC_ADD_PLUGINS([qt4])
5205 ALIASES="${ALIASES} qvlc"
5207 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5208 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5209 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5210 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5211 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5213 AS_IF([test "${enable_qt4}" = "yes"],[
5214 AC_MSG_ERROR(QT4 library not found)
5216 AC_MSG_WARN(QT4 library not found)
5220 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5223 dnl WinCE GUI module
5225 if test "${SYS}" = "mingwce"; then
5226 VLC_ADD_BUILTINS([wince])
5227 VLC_ADD_CXXFLAGS([wince],[])
5228 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5230 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5231 elif test "${SYS}" = "mingw32"; then
5232 VLC_ADD_CXXFLAGS([wince],[])
5233 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5235 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5239 dnl Simple test for skins2 dependency
5241 if test "${enable_skins2}" != "no"
5243 if test "${WX_CONFIG}" = "no"
5245 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.])
5252 dnl AC_ARG_ENABLE(qt,
5253 dnl [ --enable-qt Qt interface support (default disabled)],
5254 dnl [if test "${enable_qt}" = "yes"; then
5255 dnl VLC_ADD_PLUGINS([qt])
5256 dnl ALIASES="${ALIASES} qvlc"
5257 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5258 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5259 dnl AC_CHECK_LIB(qt-mt,main,[
5260 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5262 dnl AC_CHECK_LIB(qt,main,[
5263 dnl VLC_ADD_LIBS([qt],[-lqt])
5266 dnl LDFLAGS="${LDFLAGS_save}"
5267 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5268 dnl if test -x ${QTDIR}/bin/moc
5270 dnl MOC=${QTDIR}/bin/moc
5279 dnl AC_ARG_ENABLE(kde,
5280 dnl [ --enable-kde KDE interface support (default disabled)],
5281 dnl [if test "${enable_kde}" = "yes"; then
5282 dnl VLC_ADD_PLUGINS([kde])
5283 dnl ALIASES="${ALIASES} kvlc"
5284 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5285 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5286 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5287 dnl AC_CHECK_LIB(kfile,main,[
5288 dnl VLC_ADD_LIBS([kde],[-lkfile])
5290 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5291 dnl AC_CHECK_LIB(kdeui,main,[
5292 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5294 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5295 dnl AC_CHECK_LIB(kio,main,[
5296 dnl VLC_ADD_LIBS([kde],[-lkio])
5298 dnl LDFLAGS="${LDFLAGS_save}"
5299 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5300 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5301 dnl if test -x ${QTDIR}/bin/moc
5303 dnl MOC=${QTDIR}/bin/moc
5310 dnl Opie QT embedded module
5313 [ --enable-opie Qt embedded interface support (default disabled)],
5314 [if test "${enable_opie}" = "yes"; then
5316 [ --with-qte=PATH Qt Embedded headers and libraries])
5317 if test "${with_qte}" != "no" -a -n "${with_qte}"
5319 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5320 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])
5322 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5323 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5325 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5326 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5327 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5329 CPPFLAGS="${CPPFLAGS_save}"
5331 VLC_ADD_PLUGINS([opie])
5333 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5334 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5335 if test "${with_qte}" != "no" -a -n "${with_qte}"
5337 MOC=${with_qte}/bin/moc
5339 MOC=${QTDIR}/bin/moc
5344 dnl MacOS X video output/gui modules
5346 AC_ARG_ENABLE(macosx,
5347 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5348 if test "x${enable_macosx}" = "xyes"
5350 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5351 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5352 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5353 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5354 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5355 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5356 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5357 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5358 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5359 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5360 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
5362 VLC_ADD_PLUGINS([access_eyetv])
5363 VLC_ADD_BUILTINS([macosx minimal_macosx])
5366 CFLAGS="$CFLAGS -x objective-c"
5367 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5375 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5376 if test "${enable_qnx}" != "no"
5378 AC_CHECK_HEADERS(Ph.h, [
5379 VLC_ADD_PLUGINS([qnx])
5380 VLC_ADD_LIBS([qnx],[-lasound -lph])
5387 AC_ARG_ENABLE(ncurses,
5388 [ --disable-ncurses ncurses interface support (default enabled)],
5389 [if test "${enable_ncurses}" != "no"; then
5390 AC_CHECK_HEADER(ncurses.h,
5391 [AC_CHECK_LIB(ncursesw, mvprintw,
5392 [VLC_ADD_PLUGINS([ncurses])
5393 VLC_ADD_LIBS([ncurses],[-lncursesw])
5394 ALIASES="${ALIASES} nvlc"
5395 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5397 [AC_CHECK_LIB( ncurses, mvprintw,
5398 [VLC_ADD_PLUGINS([ncurses])
5399 ALIASES="${ALIASES} nvlc"
5400 VLC_ADD_LIBS([ncurses],[-lncurses])],
5401 [AS_IF([test "x${enable_ncurses}" != "x"], [
5402 AC_MSG_ERROR([libncurses not found])])]
5413 [ --enable-xosd xosd interface support (default disabled)])
5414 if test "${enable_xosd}" = "yes"
5416 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5417 AC_CHECK_LIB(xosd,xosd_set_offset,
5418 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5419 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5420 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5421 AC_TRY_COMPILE([#include <xosd.h>],
5422 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5423 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5424 if test "${have_xosd}" = "true"
5426 VLC_ADD_PLUGINS([xosd])
5427 VLC_ADD_LIBS([xosd],[-lxosd])
5432 dnl Framebuffer (overlay) plugin
5434 AC_ARG_ENABLE(fbosd,
5435 [ --enable-fbosd fbosd interface support (default disabled)])
5436 if test "${enable_fbosd}" = "yes"
5438 AC_CHECK_HEADERS(linux/fb.h, [
5439 VLC_ADD_PLUGINS([fbosd])
5444 dnl Visualisation plugin
5446 AC_ARG_ENABLE(visual,
5447 [ --enable-visual visualisation plugin (default enabled)])
5448 if test "${enable_visual}" != "no"
5450 VLC_ADD_PLUGINS([visual])
5454 dnl OpenGL visualisation plugin
5456 AC_ARG_ENABLE(galaktos,
5457 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5458 if test "${enable_galaktos}" = "yes"
5460 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5461 VLC_ADD_PLUGINS([galaktos])
5462 if test "${SYS}" != "mingw32"; then
5463 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5465 VLC_ADD_LIBS([galaktos],[-lopengl32])
5471 dnl goom visualization plugin
5474 [ --enable-goom goom visualisation plugin (default disabled)])
5475 if test "${enable_goom}" = "yes"
5477 AC_ARG_WITH(goom-tree,
5478 [ --with-goom-tree=PATH goom tree for static linking (required)])
5481 dnl test for --with-goom-tree
5483 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5484 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5485 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5486 if test -z "${real_goom_tree}"; then
5487 dnl The given directory can't be found
5489 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5491 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5492 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5493 VLC_ADD_BUILTINS([goom])
5494 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5495 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5497 dnl The given libgoom2 wasn't built, try to look for the old goom
5499 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5500 if test -f "${real_goom_tree}/libgoom.a"; then
5501 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5502 VLC_ADD_BUILTINS([goom])
5503 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5504 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5506 dnl The given libgoom wasn't built
5508 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5512 AC_CHECK_HEADERS(goom/goom.h, [
5513 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5514 AC_CHECK_LIB(goom2, goom_init, [
5515 VLC_ADD_PLUGINS([goom])
5516 VLC_ADD_LIBS([goom],[-lgoom2])
5518 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5520 LDFLAGS="${LDFLAGS_save}"
5526 dnl Bonjour services discovery
5528 AC_ARG_ENABLE(bonjour,
5529 [ --enable-bonjour Bonjour services discovery (default enabled)])
5530 if test "${enable_bonjour}" != "no"
5532 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5533 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5534 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5535 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5536 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5537 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5538 VLC_ADD_PLUGINS([bonjour]) ],
5539 [AC_MSG_WARN(avahi-client library not found)])
5546 [ --enable-lirc lirc support (default disabled)])
5547 if test "${enable_lirc}" = "yes"
5549 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5550 if test "${have_lirc}" = "true"
5552 VLC_ADD_PLUGINS([lirc])
5553 VLC_ADD_LIBS([lirc],[-llirc_client])
5558 AC_ARG_WITH(,[Misc options:])
5563 AC_ARG_ENABLE(gnutls,
5564 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5566 AS_IF([test "${enable_gnutls}" != "no"], [
5567 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5569 AS_IF([test "${have_gnutls}" = "yes"], [
5570 VLC_ADD_PLUGINS([gnutls])
5571 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5572 AS_IF([test "${SYS}" = "mingw32"], [
5573 dnl pkg-config --libs gnutls omits these
5574 VLC_ADD_LIBS([gnutls], [-lz])
5575 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5577 AC_CHECK_LIB([gcrypt], [gcry_control], [
5578 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5579 ], [], [-lgpg-error])
5580 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5582 AS_IF([test "${enable_gnutls}" = "yes"], [
5583 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5591 AC_ARG_ENABLE(libgcrypt,
5592 [ --enable-libgcrypt libgcrypts support (default enabled)])
5593 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5595 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5596 dnl it and looks for libgcrypt headers in the wrong place.
5597 if test "${host_cpu}" = "${build_cpu}"
5599 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5601 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5604 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5607 dnl update checking system
5609 AC_ARG_ENABLE(update-check,
5610 [ --enable-update-check update checking system (default disabled)])
5611 if test "${enable_update_check}" = "yes"
5613 if test "${have_libgcrypt}" != "yes"
5615 AC_MSG_ERROR([libgcrypt is required for update checking system])
5617 VLC_ADD_LIBS([libvlc], [-lgcrypt])
5618 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5622 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5624 dnl We give the user the opportunity to specify
5625 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5628 [ --with-words=endianness set endianness (big or little)])
5629 case "${with_words}" in
5631 ac_cv_c_bigendian=yes
5634 ac_cv_c_bigendian=no
5637 dnl Try to guess endianness by matching patterns on a compiled
5638 dnl binary, by looking for an ASCII or EBCDIC string
5639 AC_CACHE_CHECK([whether the byte order is big-endian],
5640 [ac_cv_c_bigendian],
5641 [ac_cv_c_bigendian="unknown"
5642 [cat >conftest.c <<EOF
5643 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5644 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5645 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5646 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5647 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5648 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5649 int main(void) { _a(); _e(); return 0; }
5652 if test -f conftest.c
5654 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5655 && test -f conftest.o
5657 if test "`strings conftest.o | grep BIGenDianSyS`"
5659 ac_cv_c_bigendian="yes"
5661 if test "`strings conftest.o | grep LiTTleEnDian`"
5663 ac_cv_c_bigendian="no"
5668 if test "${ac_cv_c_bigendian}" = "unknown"
5670 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5674 dnl Now we know what to use for endianness, just put it in the header
5675 if test "${ac_cv_c_bigendian}" = "yes"
5677 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5681 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5684 AC_ARG_ENABLE(loader,
5685 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5686 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5687 AS_IF([test "${enable_loader}" = "yes"],
5688 [ VLC_ADD_PLUGINS([dmo])
5689 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5690 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5691 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5692 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5693 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5694 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5698 dnl Microsoft ActiveX support
5701 AC_ARG_ENABLE(activex,
5702 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5703 AC_ARG_WITH(wine-sdk-path,
5704 [ --with-wine-sdk-path=PATH path to wine sdk])
5705 if test "${enable_activex}" != "no"
5707 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5709 AC_CHECK_PROGS(MIDL, [midl], no)
5710 if test "${with_wine_sdk_path}" != ""
5712 WINE_SDK_PATH=${with_wine_sdk_path}
5713 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5718 AC_CHECK_HEADERS(ole2.h,
5719 [AC_CHECK_HEADERS(olectl.h,
5720 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5721 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5722 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5723 AC_CHECK_HEADERS(objsafe.h,
5724 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5732 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5734 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5736 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5741 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5742 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5743 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5744 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5745 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5751 AC_ARG_ENABLE(mozilla,
5752 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5753 AC_ARG_WITH(mozilla-sdk-path,
5754 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5756 if test "${enable_mozilla}" = "yes"
5758 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5759 need_xpcom_libs=false
5761 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5763 dnl New firefox-1.5 SDK api
5764 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5766 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5769 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5772 PKG_CHECK_MODULES([NSPR], [nspr],
5775 AC_MSG_ERROR([Please install the nspr development tools.])
5781 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5782 MOZILLA_REQUIRED_HEADERS=1
5783 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5784 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5785 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5790 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5791 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5793 MOZILLA_REQUIRED_HEADERS=
5795 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5796 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5797 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5798 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5799 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5801 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5803 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5804 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5806 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5807 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5808 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5809 VLC_ADD_PLUGINS([mozilla])
5811 CPPFLAGS="${CPPFLAGS_save}"
5814 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5815 if test "${MOZILLA_CONFIG}" = "no"
5817 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5818 if test "${SEAMONKEY_CONFIG}" = "no"
5820 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5821 if test "${XULRUNNER_CONFIG}" = "no"
5823 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5826 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5829 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5834 if test ! -z "${MOZILLA_CONFIG}"
5836 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5837 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5838 AC_CHECK_LIB(Xt,XtStrings,
5840 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5841 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5844 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5846 LDFLAGS="${LDFLAGS_save}"
5850 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5851 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5852 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5853 if ${need_xpcom_libs}; then
5854 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5856 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5858 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5859 MOZILLA_REQUIRED_HEADERS=1
5860 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5861 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5862 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5867 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5869 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5871 MOZILLA_REQUIRED_HEADERS=
5872 CPPFLAGS="${CPPFLAGS_save}"
5873 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5875 dnl End of moz_sdk = ""
5877 dnl special case for mingw32
5878 if test "${SYS}" = "mingw32"
5880 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5881 dnl latest gecko sdk does not have an xpcom directory
5882 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5883 mozilla_sdk_xpcom="/xpcom"
5887 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5888 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5889 MOZILLA_REQUIRED_HEADERS=1
5890 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5891 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5892 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5897 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5899 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5901 MOZILLA_REQUIRED_HEADERS=
5903 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5904 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])
5905 if ${need_xpcom_libs}; then
5906 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])
5907 if test "${SYS}" = "mingw32"; then
5908 dnl latest gecko sdk does not have embedstring
5909 if test -d "${real_mozilla_sdk}/embedstring/bin"
5911 VLC_ADD_LIBS([mozilla],[-lembedstring])
5915 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5917 if test -n "${CYGPATH}"; then
5918 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5920 CPPFLAGS="${CPPFLAGS_save}"
5924 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5926 dnl Tests for Osso and Xsp
5927 if test "${enable_x11}" != "no" &&
5928 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5929 test "${enable_x11}" = "yes"); then
5930 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5931 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5932 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5933 VLC_ADD_LIBS([x11],[-losso])
5936 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5937 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5938 VLC_ADD_LIBS([x11],[-lXsp])
5943 dnl Mediacontrol Python bindings
5945 AC_ARG_ENABLE(python-bindings,
5946 [ --enable-python-bindings Enable Python bindings (default disabled)])
5947 dnl TODO: look for python dev headers
5948 AS_IF([test "${enable_python_bindings}" = "yes"],
5949 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5952 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5957 AC_ARG_ENABLE(java-bindings,
5958 [ --enable-java-bindings Enable Java bindings (default disabled)])
5959 if test "${enable_java_bindings}" = "yes"
5961 AS_IF([test "x${JAVA_HOME}" == "x"],
5962 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5965 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5966 if test "${JAVAC}" == "javac${EXEEXT}"
5968 JAVAC="javac${EXEEXT} -cp ./ "
5971 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5976 AC_ARG_ENABLE(testsuite,
5977 [ --enable-testsuite build test modules (default disabled)])
5978 if test "${enable_testsuite}" = "yes"
5980 TESTS="test1 test2 test3 test4"
5982 dnl we define those so that bootstrap sets the right linker
5983 VLC_ADD_CXXFLAGS([test2],[])
5984 VLC_ADD_OBJCFLAGS([test3],[])
5985 dnl this one is needed until automake knows what to do
5986 VLC_ADD_LIBS([test3],[-lobjc])
5988 VLC_ADD_PLUGINS([${TESTS}])
5992 dnl Microsoft Layer for Unicode for WIN9x/ME
5994 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5996 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5997 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6004 if test "${NEED_GTK_MAIN}" != "no"
6006 VLC_ADD_PLUGINS([gtk_main])
6007 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6008 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6011 if test "${NEED_GNOME_MAIN}" != "no"
6013 VLC_ADD_PLUGINS([gnome_main])
6014 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6015 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6018 if test "${NEED_GTK2_MAIN}" != "no"
6020 VLC_ADD_PLUGINS([gtk2_main])
6021 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6022 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6023 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6024 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6027 if test "${NEED_GNOME2_MAIN}" != "no"
6029 VLC_ADD_PLUGINS([gnome2_main])
6030 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6031 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6037 if test "${NEED_QTE_MAIN}" != "no"
6039 VLC_ADD_PLUGINS([qte_main])
6040 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6041 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6042 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6047 dnl Plugin and builtin checks
6051 dnl Automagically disable plugins if there is no system support for
6052 dnl dynamically loadable files (.so, .dll, .dylib).
6053 dnl don't forget vlc-win32 still can load .dll as plugins
6054 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6055 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6059 AS_IF([test "${enable_shared}" = "no"], [
6063 AS_IF([test "${plugin_support}" != "no"], [
6064 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6067 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6069 dnl Temporary(?) hack for plugins/builtins transition
6070 VLC_ADD_PLUGINS([${BUILTINS}])
6074 dnl Pic and shared libvlc stuff
6076 AS_IF([test "${SYS}" = "mingw32"], [
6077 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6078 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6082 dnl Stuff used by the program
6084 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6085 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6086 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6087 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6088 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6089 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6090 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6091 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6092 AC_SUBST(VERSION_MAJOR)
6093 AC_SUBST(VERSION_MINOR)
6094 AC_SUBST(VERSION_REVISION)
6095 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6096 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6097 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6098 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6101 dnl Handle substvars that use $(top_srcdir)
6103 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6104 AC_SUBST(VLC_CONFIG)
6105 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6113 dnl Create the vlc-config script
6115 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6118 dnl Configuration is finished
6128 AC_SUBST(MOZILLA_SDK_PATH)
6129 AC_SUBST(WINE_SDK_PATH)
6131 AC_SUBST(AM_CPPFLAGS)
6132 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6133 AC_SUBST(FILE_LIBVLC_DLL)
6134 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6136 dnl Create vlc-config.in
6137 VLC_OUTPUT_VLC_CONFIG_IN
6145 bindings/java/Makefile
6146 bindings/java/src/Makefile
6147 bindings/python/Makefile
6151 libs/loader/Makefile
6162 modules/access/Makefile
6163 modules/access/bda/Makefile
6164 modules/access/dshow/Makefile
6165 modules/access/dvb/Makefile
6166 modules/access/mms/Makefile
6167 modules/access/cdda/Makefile
6168 modules/access/rtsp/Makefile
6169 modules/access/v4l2/Makefile
6170 modules/access/vcd/Makefile
6171 modules/access/vcdx/Makefile
6172 modules/access/screen/Makefile
6173 modules/access_filter/Makefile
6174 modules/access_output/Makefile
6175 modules/audio_filter/Makefile
6176 modules/audio_filter/channel_mixer/Makefile
6177 modules/audio_filter/converter/Makefile
6178 modules/audio_filter/resampler/Makefile
6179 modules/audio_filter/spatializer/Makefile
6180 modules/audio_mixer/Makefile
6181 modules/audio_output/Makefile
6182 modules/codec/Makefile
6183 modules/codec/cmml/Makefile
6184 modules/codec/dmo/Makefile
6185 modules/codec/ffmpeg/Makefile
6186 modules/codec/subtitles/Makefile
6187 modules/codec/spudec/Makefile
6188 modules/codec/xvmc/Makefile
6189 modules/control/Makefile
6190 modules/control/http/Makefile
6191 modules/demux/Makefile
6192 modules/demux/asf/Makefile
6193 modules/demux/avi/Makefile
6194 modules/demux/mp4/Makefile
6195 modules/demux/mpeg/Makefile
6196 modules/demux/playlist/Makefile
6197 modules/gui/Makefile
6198 modules/gui/beos/Makefile
6199 modules/gui/pda/Makefile
6200 modules/gui/macosx/Makefile
6201 modules/gui/minimal_macosx/Makefile
6202 modules/gui/qnx/Makefile
6203 modules/gui/qt4/Makefile
6204 modules/gui/skins2/Makefile
6205 modules/gui/wxwidgets/Makefile
6206 modules/gui/wince/Makefile
6207 modules/meta_engine/Makefile
6208 modules/misc/Makefile
6209 modules/misc/dummy/Makefile
6210 modules/misc/lua/Makefile
6211 modules/misc/memcpy/Makefile
6212 modules/misc/notify/Makefile
6213 modules/misc/testsuite/Makefile
6214 modules/misc/playlist/Makefile
6215 modules/misc/osd/Makefile
6216 modules/misc/xml/Makefile
6217 modules/misc/probe/Makefile
6218 modules/mux/Makefile
6219 modules/mux/mpeg/Makefile
6220 modules/mux/rtp/Makefile
6221 modules/packetizer/Makefile
6222 modules/services_discovery/Makefile
6223 modules/stream_out/Makefile
6224 modules/stream_out/transrate/Makefile
6225 modules/video_chroma/Makefile
6226 modules/video_filter/Makefile
6227 modules/video_output/Makefile
6228 modules/video_output/msw/Makefile
6229 modules/video_output/qte/Makefile
6230 modules/video_output/x11/Makefile
6231 modules/visualization/Makefile
6232 modules/visualization/visual/Makefile
6233 modules/visualization/galaktos/Makefile
6236 dnl Generate makefiles
6239 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6240 # not provided with the source
6241 ${SHELL} ./config.status --file=vlc-config
6242 chmod 0755 vlc-config
6244 dnl echo "Enabled builtin modules :"
6245 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6247 dnl echo "Enabled plugin modules :"
6248 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6250 dnl Shortcut to nice compile message
6252 echo '#! /bin/sh' >compile
6254 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6255 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6260 --------------------
6261 vlc version : ${VERSION}
6263 architecture : ${ARCH}
6265 test "${enable_debug}" = "yes" && printf "debug "
6266 test "${enable_cprof}" = "yes" && printf "cprof "
6267 test "${enable_gprof}" = "yes" && printf "gprof "
6268 test "${enable_optimizations}" = "yes" && printf "optim "
6269 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6271 vlc aliases :${ALIASES}
6272 plugins/bindings :${PLUGINS_BINDINGS}
6274 You can check which modules have been enabled
6275 with \`./vlc-config --list plugin'.
6276 You can tune the compiler flags in vlc-config.
6277 To build vlc and its plugins, type \`./compile' or \`make'.
6279 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6281 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6283 echo " FFmpeg will be REALLY slow."
6284 echo " VLC WILL NOT PERFORM AS EXPECTED."