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 AC_CHECK_HEADERS(zlib.h, [
525 VLC_ADD_LIBS([access_http],[-lz])
528 dnl Check for socklen_t
529 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
531 [#include <sys/types.h>
532 #include <sys/socket.h>],
533 [socklen_t len = 42; return len;],
534 ac_cv_type_socklen_t=yes,
535 ac_cv_type_socklen_t=no)])
536 if test "${ac_cv_type_socklen_t}" != "no"; then
537 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
540 dnl Check for struct sockaddr_storage
541 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
542 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
543 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
545 [#include <sys/types.h>
546 #if defined( UNDER_CE )
547 # include <winsock.h>
548 #elif defined( WIN32 )
549 # include <winsock2.h>
551 # include <sys/socket.h>
552 #endif], [struct sockaddr_storage addr;],
553 ac_cv_struct_sockaddr_storage=yes,
554 ac_cv_struct_sockaddr_storage=no)])
555 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
556 AC_DEFINE(sockaddr_storage, sockaddr)
557 AC_DEFINE(ss_family, sa_family)
560 dnl getaddrinfo, getnameinfo and gai_strerror check
561 dnl -lnsl and -lsocket are needed on Solaris;
562 dnl we purposedly make the test fail on Windows
564 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
565 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)], 1, [${LIBS_socket}])
567 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
570 AC_CHECK_FUNCS([getnameinfo gai_strerror])
573 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
574 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
575 [#include <sys/types.h>
576 #if defined( WIN32 ) || defined( UNDER_CE )
577 # if defined(UNDER_CE) && defined(sockaddr_storage)
578 # undef sockaddr_storage
580 # include <winsock2.h>
581 # include <ws2tcpip.h>
586 dnl Check for va_copy
587 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
589 [#include <stdarg.h>],
590 [va_list ap1, ap2; va_copy(ap1,ap2);],
591 [ac_cv_c_va_copy="yes"],
592 [ac_cv_c_va_copy="no"]))
593 if test "${ac_cv_c_va_copy}" = "yes"; then
594 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
596 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
598 [#include <stdarg.h>],
599 [va_list ap1, ap2; __va_copy(ap1,ap2);],
600 [ac_cv_c___va_copy="yes"],
601 [ac_cv_c___va_copy="no"]))
602 if test "${ac_cv_c___va_copy}" = "yes"; then
603 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
606 AC_CHECK_FUNCS(inet_aton,,[
607 AC_CHECK_LIB(resolv,inet_aton,[
608 VLC_ADD_LIBS([libvlc],[-lresolv])
612 dnl Check for getopt (always use builtin one on win32)
613 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
617 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
618 [ # FreeBSD has a gnugetopt library for this:
619 AC_CHECK_LIB([gnugetopt],[getopt_long],
620 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
621 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
624 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
626 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
629 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
632 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])
634 AC_CHECK_LIB(m,sqrt,[
635 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
637 AC_CHECK_LIB(m,ceil,[
638 VLC_ADD_LIBS([mosaic],[-lm])
641 VLC_ADD_LIBS([gaussianblur],[-lm])
643 AC_CHECK_LIB(mx,sqrtf,[
644 VLC_ADD_LIBS([x264],[-lmx])
646 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
648 dnl Check for dynamic plugins
649 ac_cv_have_plugins=no
652 AC_CHECK_HEADERS(mach-o/dyld.h,
653 [AC_CHECK_FUNCS(NSLinkModule,
654 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
655 ac_cv_have_plugins=yes])])
658 if test "${ac_cv_have_plugins}" = "no"; then
659 AC_CHECK_HEADERS(dl.h)
660 ac_cv_my_have_shl_load=no
661 AC_CHECK_FUNC(shl_load,
662 [ac_cv_my_have_shl_load=yes,
663 AC_CHECK_LIB(dld, shl_load,
664 [ac_cv_my_have_shl_load=yes
665 VLC_ADD_LIBS([libvlc],[-ldld])])])
666 if test "${ac_cv_my_have_shl_load}" = "yes"; then
667 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
668 ac_cv_have_plugins=yes
673 if test "${ac_cv_have_plugins}" = "no"; then
674 AC_CHECK_LIB(dld, dld_link,
675 [VLC_ADD_LIBS([libvlc],[-ldld])
676 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
677 ac_cv_have_plugins=yes])
681 if test "${ac_cv_have_plugins}" = "no"; then
682 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
683 AC_CHECK_LIB(kernel32, main,
684 [VLC_ADD_LIBS([libvlc],[-lkernel32])
685 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
686 ac_cv_have_plugins=yes])
691 if test "${ac_cv_have_plugins}" = "no"; then
692 if test "${SYS}" = "mingwce"; then
693 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
694 ac_cv_have_plugins=yes
699 if test "${ac_cv_have_plugins}" = "no"; then
700 AC_CHECK_HEADERS(image.h)
701 AC_CHECK_FUNCS(load_add_on,
702 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
703 ac_cv_have_plugins=yes])
706 # Only test for dlopen() if the others didn't work
707 if test "${ac_cv_have_plugins}" = "no"; then
708 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
709 ac_cv_my_have_dlopen=no
710 AC_CHECK_FUNC(dlopen,
711 ac_cv_my_have_dlopen=yes,
712 AC_CHECK_LIB(dl, dlopen,
713 ac_cv_my_have_dlopen=yes
714 VLC_ADD_LIBS([libvlc],[-ldl]),
715 AC_CHECK_LIB(svld, dlopen,
716 ac_cv_my_have_dlopen=yes
717 VLC_ADD_LIBS([libvlc],[-lsvld]))))
718 if test "${ac_cv_my_have_dlopen}" = "yes"; then
719 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
720 ac_cv_have_plugins=yes
724 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
725 dnl Check for pthreads - borrowed from XMMS
727 if test "${THREAD_LIB}" = "error"; then
728 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
730 if test "${THREAD_LIB}" = "error"; then
731 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
733 if test "${THREAD_LIB}" = "error"; then
734 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
736 if test "${THREAD_LIB}" = "error"; then
737 AC_CHECK_FUNCS(pthread_mutex_lock)
741 dnl Check for cthreads under GNU/Hurd for instance
742 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
745 dnl GNU portable threads
748 [ --enable-pth GNU Pth support (default disabled)],
749 [ if test "${enable_pth}" = "yes"; then
750 AC_CHECK_LIB(pth,pth_init)
751 AC_MSG_CHECKING(for pth_init in pth.h)
752 AC_EGREP_HEADER(pth_init,pth.h,[
754 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
755 Define if <pth.h> defines pth_init)
767 [ --enable-st State Threads (default disabled)],
768 [ if test "${enable_st}" = "yes"; then
769 AC_CHECK_LIB(st,st_init)
770 AC_MSG_CHECKING(for st_init in st.h)
771 AC_EGREP_HEADER(st_init,st.h,[
773 AC_DEFINE(ST_INIT_IN_ST_H, 1,
774 Define if <st.h> defines st_init)
782 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
784 dnl Don't link with rt when using GNU-pth
785 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
786 AC_CHECK_LIB(rt, clock_nanosleep, [
787 VLC_ADD_LIBS([libvlc],[-lrt])
788 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
791 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
795 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
796 AC_CHECK_LIB(rt,nanosleep,
797 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
798 [AC_CHECK_LIB(posix4,nanosleep,
799 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
802 if ${have_nanosleep}; then
803 AC_DEFINE(HAVE_NANOSLEEP, 1,
804 Define if nanosleep is available.)
808 dnl Check for misc headers
809 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
810 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
812 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
813 Define if <pthread.h> defines pthread_cond_t.)],[
816 AC_MSG_CHECKING(for pthread_once in pthread.h)
817 AC_EGREP_HEADER(pthread_once,pthread.h,[
819 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
820 Define if <pthread.h> defines pthread_once.)],[
822 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
824 AC_MSG_CHECKING(for strncasecmp in strings.h)
825 AC_EGREP_HEADER(strncasecmp,strings.h,[
827 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
828 Define if <strings.h> defines strncasecmp.)],[
831 dnl Check for headers
832 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)
833 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
834 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h netinet/udplite.h])
835 AC_CHECK_HEADERS([net/if.h], [], [],
837 #if HAVE_SYS_SOCKET_H
838 # include <sys/socket.h>
841 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
842 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
843 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
844 AC_CHECK_HEADERS(syslog.h)
845 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
849 AC_CHECK_TYPE(ssize_t, int)
850 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
854 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
855 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
857 dnl Mac OS X and other OSes don't have declaration for nanosleep
858 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
859 AC_MSG_CHECKING(for nanosleep in time.h)
860 AC_EGREP_HEADER(nanosleep,time.h,[
862 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
863 Define if <time.h> defines nanosleep.)
867 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
869 dnl Make sure we have timespecs
870 AC_MSG_CHECKING(for timespec in sys/time.h)
871 AC_EGREP_HEADER(timespec,sys/time.h,[
873 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
874 Define if <sys/time.h> defines struct timespec.)
879 dnl Check for threads library
880 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
881 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
882 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
884 dnl Find where are the X headers and libraries
887 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.
889 PKG_PROG_PKG_CONFIG()
893 [ --enable-hal Linux HAL services discovery (default enabled)])
895 if test "${enable_hal}" != "no"
897 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
898 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
899 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
900 VLC_ADD_PLUGINS([hal probe_hal])
901 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
902 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
903 dnl No hal 0.5 Test for 0.2
904 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
905 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
906 VLC_ADD_PLUGINS([hal])
907 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
908 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
909 [AC_MSG_WARN(HAL library not found)])
916 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
919 if test "${enable_dbus}" != "no"
922 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
923 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
924 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
925 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
926 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
927 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
928 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
929 dnl Check for dbus control interface
930 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
931 if test "${enable_dbus_control}" != "no"
933 VLC_ADD_PLUGINS([dbus])
934 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
935 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
937 dnl Check for Telepathy
938 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
939 if test "${enable_telepathy}" != "no"; then
940 VLC_ADD_PLUGINS([telepathy])
941 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
942 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
944 dnl Power Management Inhibiter
945 VLC_ADD_PLUGINS([inhibit])
946 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
947 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
949 if ${PKG_CONFIG} --exists dbus-1
951 [AC_ARG_ENABLE(old-dbus,
952 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
954 if test "${enable_old_dbus}" != "yes"
957 echo "****** WARNING **** WARNING ***** WARNING *************"
958 echo "*** Your D-Bus version is < 1.0.0"
959 echo "*** You are using old and buggy software and so"
960 echo "*** D-Bus support has been disabled."
961 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
962 echo "*** Alternatively you can force the use of your old and"
963 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
964 echo "*******************************************************"
968 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
969 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
970 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
971 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
972 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
973 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
975 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
976 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
977 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
978 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
979 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
981 [ PKG_CHECK_MODULES( DBUS, dbus-1,
982 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
983 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
984 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
985 [AC_MSG_WARN(DBUS library not found)])
996 dnl Build the gtk_main plugins?
1002 dnl build the qte plugin ?
1005 dnl Check for ntohl, etc.
1006 AC_CACHE_CHECK([for ntohl in sys/param.h],
1007 [ac_cv_c_ntohl_sys_param_h],
1008 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1009 AC_TRY_COMPILE([#include <sys/param.h>],
1010 [int meuh; ntohl(meuh);],
1011 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1012 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1013 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1015 CFLAGS="${CFLAGS_save}"
1017 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])
1018 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1020 dnl This helps detect broken plugins with undefined symbols
1021 dnl Better fail loudly at build-time than silenty at run-time.
1022 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
1023 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
1024 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
1027 dnl Check for various optimization flags
1028 AC_CACHE_CHECK([if \$CC accepts -Os],
1030 [CFLAGS="${CFLAGS_save} -Os"
1031 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1032 if test "${ac_cv_c_os}" != "no"; then
1033 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1035 AC_CACHE_CHECK([if \$CC accepts -O],
1037 [CFLAGS="${CFLAGS_save} -O"
1038 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1039 if test "${ac_cv_c_o}" != "no"; then
1040 if test "${ac_cv_c_o3}" = "no"; then
1041 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1046 AC_CACHE_CHECK([if \$CC accepts -O3],
1048 [CFLAGS="${CFLAGS_save} -O3"
1049 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1050 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1051 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1053 AC_CACHE_CHECK([if \$CC accepts -O2],
1055 [CFLAGS="${CFLAGS_save} -O2"
1056 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1057 if test "${ac_cv_c_o2}" != "no"; then
1058 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1060 AC_CACHE_CHECK([if \$CC accepts -O],
1062 [CFLAGS="${CFLAGS_save} -O"
1063 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1064 if test "${ac_cv_c_o}" != "no"; then
1065 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1070 AC_CACHE_CHECK([if \$CC accepts -O0],
1072 [CFLAGS="${CFLAGS_save} -O0"
1073 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1074 if test "${ac_cv_c_o0}" != "no"; then
1075 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1078 dnl Check for -ffast-math
1079 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1080 [ac_cv_c_fast_math],
1081 [CFLAGS="${CFLAGS_save} -ffast-math"
1082 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1083 if test "${ac_cv_c_fast_math}" != "no"; then
1084 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1087 dnl Check for -funroll-loops
1088 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1089 if test "${SYS}" != "beos"
1091 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1092 [ac_cv_c_unroll_loops],
1093 [CFLAGS="${CFLAGS_save} -funroll-loops"
1094 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1095 if test "${ac_cv_c_unroll_loops}" != "no"; then
1096 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1100 dnl Check for -fomit-frame-pointer
1101 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1102 [ac_cv_c_omit_frame_pointer],
1103 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1104 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1105 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1106 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1109 dnl Check for -fvisibility=hidden
1110 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1111 [ac_cv_c_visibility_hidden],
1112 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1113 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1114 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1115 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1118 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1120 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1121 dnl AC_LANG_PUSH(C++)
1122 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1123 dnl [ac_cv_c_visibility_inlines_hidden],
1124 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1125 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1126 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1127 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1129 dnl CXXFLAGS="${CXXFLAGS_save}"
1130 dnl AC_LANG_POP(C++)
1132 dnl Check for -mdynamic-no-pic
1133 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1134 dnl [ac_cv_c_dynamic_no_pic],
1135 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1136 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1137 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1138 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1139 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1142 dnl Check for Darwin plugin linking flags
1143 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1145 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1146 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1147 if test "${ac_cv_ld_darwin}" != "no"; then
1148 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1151 dnl Check for standard plugin linking flags
1152 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1153 dnl AS_IF([test "${SYS}" = "beos"], [
1154 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1156 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1157 dnl [ac_cv_ld_plugins],
1158 dnl [CFLAGS="${CFLAGS_save} -shared"
1159 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1160 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1161 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1165 dnl Check for variadic macros
1166 AC_CACHE_CHECK([for variadic cpp macros],
1167 [ac_cv_cpp_variadic_macros],
1168 [CFLAGS="${CFLAGS_save}"
1171 #define a(b,c...) printf(b,##c)],
1172 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1173 ac_cv_cpp_variadic_macros=yes,
1174 ac_cv_cpp_variadic_macros=no)])
1175 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1176 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1179 dnl Checks for __attribute__(aligned()) directive
1180 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1181 [ac_cv_c_attribute_aligned],
1182 [ac_cv_c_attribute_aligned=0
1183 CFLAGS="${CFLAGS_save} -Werror"
1184 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1186 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1187 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1189 CFLAGS="${CFLAGS_save}"])
1190 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1191 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1192 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1195 dnl Checks for __attribute__(format()) directive
1196 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1197 [ac_cv_c_attribute_format],
1198 [ac_cv_c_attribute_format=no
1199 CFLAGS="${CFLAGS_save} -Werror"
1201 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1202 [ac_cv_c_attribute_format=yes])
1203 CFLAGS="${CFLAGS_save}"])
1204 if test "${ac_cv_c_attribute_format}" != "no"; then
1205 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1208 dnl Check for __attribute__((packed))
1209 AC_CACHE_CHECK([for __attribute__((packed))],
1210 [ac_cv_c_attribute_packed],
1211 [ac_cv_c_attribute_packed=no
1212 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1213 [ac_cv_c_attribute_packed=yes])])
1214 if test "${ac_cv_c_attribute_packed}" != "no"; then
1215 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1218 dnl Check for __attribute__((visibility()))
1219 AC_CACHE_CHECK([for __attribute__((visibility()))],
1220 [ac_cv_c_attribute_visibility],
1221 [ac_cv_c_attribute_visibility=no
1222 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1223 [ac_cv_c_attribute_visibility=yes])])
1224 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1225 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1231 case "${host_cpu}" in
1241 dnl Enable profiling
1243 AC_ARG_ENABLE(gprof,
1244 [ --enable-gprof gprof profiling (default disabled)])
1245 AC_ARG_ENABLE(cprof,
1246 [ --enable-cprof cprof profiling (default disabled)])
1247 test "${enable_gprof}" != "yes" && enable_gprof="no"
1248 test "${enable_cprof}" != "yes" && enable_cprof="no"
1253 VLC_ADD_PLUGINS([dummy logger memcpy])
1254 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])
1255 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1256 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1257 VLC_ADD_PLUGINS([converter_fixed mono])
1258 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1259 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1260 VLC_ADD_PLUGINS([playlist export nsc xtag])
1261 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1262 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1263 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1264 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1265 VLC_ADD_PLUGINS([access_filter_bandwidth])
1266 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1267 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1268 VLC_ADD_PLUGINS([packetizer_vc1])
1270 ALIASES="${ALIASES} cvlc"
1273 dnl default modules that need g++
1276 VLC_ADD_PLUGINS([spatializer])
1279 if test "${SYS}" != "mingwce"; then
1280 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1281 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1282 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1283 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain])
1284 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1285 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1286 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1287 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1288 ALIASES="${ALIASES} rvlc"
1292 dnl Some plugins aren't useful on some platforms
1294 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1295 VLC_ADD_PLUGINS([screensaver motion])
1296 elif test "${SYS}" != "mingwce"; then
1297 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1298 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1300 VLC_ADD_PLUGINS([win32text])
1302 if test "${SYS}" = "darwin"; then
1303 VLC_ADD_PLUGINS([quartztext])
1304 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1308 dnl Accelerated modules
1310 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1311 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1312 MMXEXT_MODULES="memcpymmxext"
1313 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1314 THREEDNOW_MODULES="memcpy3dn"
1316 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1317 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1318 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1320 dnl Check for fully workin MMX intrinsics
1321 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1322 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1323 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1324 [ac_cv_c_mmx_intrinsics],
1325 [CFLAGS="${CFLAGS_save} -O -mmmx"
1326 AC_TRY_COMPILE([#include <mmintrin.h>
1330 a = b = c = (__m64)frobzor;
1331 a = _mm_slli_pi16(a, 3);
1332 a = _mm_adds_pi16(a, b);
1333 c = _mm_srli_pi16(c, 8);
1334 c = _mm_slli_pi16(c, 3);
1335 b = _mm_adds_pi16(b, c);
1336 a = _mm_unpacklo_pi8(a, b);
1337 frobzor = (uint64_t)a;],
1338 [ac_cv_c_mmx_intrinsics=yes],
1339 [ac_cv_c_mmx_intrinsics=no])])
1340 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1341 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1342 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1345 dnl Check for fully workin SSE2 intrinsics
1346 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1347 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1348 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1349 [ac_cv_c_sse2_intrinsics],
1350 [CFLAGS="${CFLAGS_save} -O -msse2"
1351 AC_TRY_COMPILE([#include <emmintrin.h>
1355 a = b = c = _mm_set1_epi64((__m64)frobzor);
1356 a = _mm_slli_epi16(a, 3);
1357 a = _mm_adds_epi16(a, b);
1358 c = _mm_srli_epi16(c, 8);
1359 c = _mm_slli_epi16(c, 3);
1360 b = _mm_adds_epi16(b, c);
1361 a = _mm_unpacklo_epi8(a, b);
1362 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1363 [ac_cv_c_sse2_intrinsics=yes],
1364 [ac_cv_c_sse2_intrinsics=no])])
1365 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1366 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1367 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1370 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1372 [CFLAGS="${CFLAGS_save}"
1373 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1374 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1375 if test "${ac_cv_mmx_inline}" != "no"; then
1376 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1377 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1380 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1381 [ac_cv_mmxext_inline],
1382 [CFLAGS="${CFLAGS_save}"
1383 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1384 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1385 if test "${ac_cv_mmxext_inline}" != "no"; then
1386 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1387 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1390 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1391 [ac_cv_3dnow_inline],
1392 [CFLAGS="${CFLAGS_save}"
1393 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1394 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1395 if test "${ac_cv_3dnow_inline}" != "no"; then
1396 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1397 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1400 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1402 [CFLAGS="${CFLAGS_save}"
1403 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1404 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1405 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1406 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1407 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1410 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1411 [ac_cv_sse2_inline],
1412 [CFLAGS="${CFLAGS_save}"
1413 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1414 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1415 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1416 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1417 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1420 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1421 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1422 [ac_cv_altivec_inline],
1423 [CFLAGS="${CFLAGS_save}"
1424 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1425 ac_cv_altivec_inline=yes,
1426 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1427 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1428 [ac_cv_altivec_inline="-Wa,-m7400"],
1429 ac_cv_altivec_inline=no)
1431 if test "${ac_cv_altivec_inline}" != "no"; then
1432 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1433 if test "${ac_cv_altivec_inline}" != "yes"; then
1434 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1435 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1436 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1437 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1438 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1440 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1443 dnl The AltiVec C extensions
1445 dnl There are several possible cases:
1446 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1447 dnl need <altivec.h>
1448 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1449 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1450 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1451 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1452 dnl - Others: test should fail
1453 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1455 [# OS X/PPC test (gcc 4.x)
1456 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1457 AC_TRY_COMPILE([vector unsigned char foo;],
1458 [vec_ld(0, (unsigned char *)0);],
1459 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1460 [# OS X/PPC test (gcc 3.x)
1461 CFLAGS="${CFLAGS_save} -faltivec"
1462 AC_TRY_COMPILE([vector unsigned char foo;],
1463 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1464 [ac_cv_c_altivec="-faltivec"],
1465 dnl Below this are the Linux tests
1466 [# Linux/PPC test (gcc 4.x)
1467 CFLAGS="${CFLAGS_save} -maltivec"
1468 AC_TRY_COMPILE([#include <altivec.h>],
1469 [vec_ld(0, (unsigned char *)0);],
1470 [ac_cv_c_altivec="-maltivec"],
1471 [# Linux/PPC test (gcc 3.3)
1472 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1473 AC_TRY_COMPILE([#include <altivec.h>],
1474 [vec_ld(0, (unsigned char *)0);],
1476 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1477 [# Linux/PPC test (gcc 3.3)
1478 CFLAGS="${CFLAGS_save} -fvec"
1479 AC_TRY_COMPILE([#include <altivec.h>],
1480 [vec_ld(0, (unsigned char *)0);],
1481 [ac_cv_c_altivec="-fvec"],
1482 [ac_cv_c_altivec=no])
1487 CFLAGS="${CFLAGS_save}"
1490 if test "${ac_cv_c_altivec}" != "no"; then
1491 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1494 AS_IF( test "${enable_altivec}" != "no",
1496 AC_CHECK_HEADERS(altivec.h)
1497 CPPFLAGS="${CPPFLAGS_save}"
1499 if test "${ac_cv_c_altivec}" != "no"; then
1500 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1501 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1502 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1503 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1504 if test "${ac_cv_altivec_inline}" = "no"; then
1505 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1509 CPPFLAGS="${CPPFLAGS_save}"
1512 AC_CACHE_CHECK([if linker needs -framework vecLib],
1514 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1515 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1516 LDFLAGS="${LDFLAGS_save}"
1518 if test "${ac_cv_ld_altivec}" != "no"; then
1519 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1521 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1524 AC_ARG_WITH(,[Optimization options:])
1527 dnl Special arch tuning
1530 [ --with-tuning=ARCH enable special tuning for an architecture
1531 (default Pentium 2 on IA-32 and G4 on PPC)])
1532 if test -n "${with_tuning}"; then
1533 if test "${with_tuning}" != "no"; then
1534 CFLAGS_TUNING="-mtune=${with_tuning}"
1537 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1538 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1539 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1540 CFLAGS_TUNING="-mtune=pentium2"
1541 elif test "${host_cpu}" = "x86_64"; then
1542 CFLAGS_TUNING="-mtune=athlon64"
1543 elif test "${host_cpu}" = "powerpc"; then
1544 CFLAGS_TUNING="-mtune=G4";
1548 dnl NOTE: this can't be cached cleanly
1549 AS_IF([test "${CFLAGS_TUNING}"],
1550 [CFLAGS_save="${CFLAGS}"
1551 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1553 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1554 AC_COMPILE_IFELSE([ ],
1556 [CFLAGS_TUNING=""; tuning="no"
1557 AS_IF([test "${with_tuning}"],
1558 [AC_MSG_ERROR([requested tuning not supported])])])
1560 AC_MSG_RESULT([$tuning])
1561 CFLAGS="${CFLAGS_save}"
1565 dnl x86 accelerations
1568 [ --disable-mmx disable MMX optimizations (default enabled on x86)],
1569 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1570 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1571 [ 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
1573 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1576 [ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1577 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1578 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1579 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1580 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1585 AC_ARG_ENABLE(optimize-memory,
1586 [ --enable-optimize-memory optimize memory usage over performance])
1587 if test "${enable_optimize_memory}" = "yes"; then
1588 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1592 dnl Enable/disable optimizations
1594 AC_ARG_ENABLE(optimizations,
1595 [ --disable-optimizations disable compiler optimizations (default enabled)])
1596 if test "${enable_optimizations}" != "no"; then
1597 if test "${enable_optimize_memory}" = "yes"; then
1598 enable_optimizations="size"
1600 enable_optimizations="speed"
1605 dnl AltiVec acceleration
1607 AC_ARG_ENABLE(altivec,
1608 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1609 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1610 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1611 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1612 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1617 AC_ARG_ENABLE(debug,
1618 [ --enable-debug debug mode (default disabled)])
1619 test "${enable_debug}" != "yes" && enable_debug="no"
1621 [Define to 1 if debug code should NOT be compiled])
1622 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1627 AC_ARG_ENABLE(coverage,
1628 [ --enable-coverage build for test coverage (default disabled)],,
1629 [enable_coverage="no"])
1630 AS_IF([test "${enable_coverage}" != "no"], [
1631 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1632 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1633 LDFLAGS="-lgcov ${LDFLAGS}"
1635 CFLAGS_save="${CFLAGS}"
1636 CXXFLAGS_save="${CXXFLAGS}"
1637 LDFLAGS_save="${LDFLAGS}"
1641 dnl Enable release-specific flags
1643 AC_ARG_ENABLE(release,
1644 [ --enable-release activate extra optimizations (default disabled)])
1645 test "${enable_release}" != "yes" && enable_release="no"
1651 [ --enable-sout Stream output modules (default enabled)])
1652 if test "${enable_sout}" != "no"
1654 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1655 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1656 VLC_ADD_PLUGINS([packetizer_copy])
1658 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1659 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1660 VLC_ADD_PLUGINS([stream_out_gather])
1661 # VLC_ADD_PLUGINS([stream_out_transrate])
1662 # VLC_ADD_PLUGINS([rtcp])
1663 VLC_ADD_PLUGINS([profile_parser])
1665 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1668 AC_ARG_ENABLE(switcher,
1669 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1671 dnl Check for libshout
1672 AC_ARG_ENABLE(shout,
1673 [ --enable-shout libshout output plugin (default disabled)])
1674 if test "${enable_shout}" = "yes"; then
1675 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1676 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1677 VLC_ADD_PLUGINS([access_output_shout])
1678 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1679 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1680 [AC_MSG_WARN(libshout library not found)])
1685 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1686 if test "${enable_lua}" != "no"
1688 PKG_CHECK_MODULES(LUA, lua5.1,
1691 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1692 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1696 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1699 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1700 [LUA_LIBS="-llua5.1"],
1701 AC_CHECK_LIB( lua51 , luaL_newstate,
1702 [LUA_LIBS="-llua51"],
1703 AC_CHECK_LIB( lua , luaL_newstate,
1706 AC_MSG_WARN([lua >= 5.1 not found!])
1712 if test "x${have_lua}" = "xyes" ; then
1713 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1714 VLC_ADD_PLUGINS([lua])
1715 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1716 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1723 AC_ARG_ENABLE(httpd,
1724 [ --enable-httpd HTTP daemon (default enabled)])
1725 if test "${enable_httpd}" != "no"
1727 VLC_ADD_PLUGINS([http])
1728 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1732 dnl VideoLAN manager
1735 [ --enable-vlm VideoLAN manager (default enabled)])
1736 if test "${enable_vlm}" != "no"
1738 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1742 dnl Growl notification plugin
1744 AC_ARG_ENABLE(growl,
1745 [ --enable-growl growl notification plugin (default enabled)])
1746 AS_IF([test "${enable_growl}" != "no"], [
1747 VLC_ADD_PLUGINS([growl])
1752 dnl Libnotify notification plugin
1755 AC_ARG_ENABLE(notify,
1756 [ --enable-notify libnotify notification plugin (default enabled)])
1757 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1758 PKG_CHECK_MODULES(NOTIFY, libnotify,
1760 VLC_ADD_PLUGINS([notify])
1761 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1762 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1764 AS_IF([test "${enable_notify}" = "yes"],[
1765 AC_MSG_WARN( libnotify not found) ])
1770 dnl Audioscrobbler plugin
1773 AC_ARG_ENABLE(audioscrobbler,
1774 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1775 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1776 VLC_ADD_PLUGINS([audioscrobbler])
1780 dnl Musicbrainz plugin
1782 AC_ARG_ENABLE(musicbrainz,
1783 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1784 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1785 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1786 [ VLC_ADD_PLUGINS([musicbrainz])
1787 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1788 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1789 [AC_MSG_WARN(MusicBrainz library not found)])
1796 AC_ARG_ENABLE(taglib,
1797 [ --disable-taglib Taglib support (default enabled) ])
1798 AS_IF([test "${enable_taglib}" != "no"],[
1799 PKG_CHECK_MODULES(TAGLIB, taglib,
1800 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1801 VLC_ADD_PLUGINS([taglib])
1802 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1803 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1804 [AC_MSG_WARN(TagLib library not found)])
1812 AC_ARG_WITH(,[Input plugins:])
1816 if test "${enable_livedotcom}"
1818 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1821 if test "${enable_livedotcom}" = "no"
1825 AC_ARG_ENABLE(live555,
1826 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1827 if test "${enable_live555}" != "no"; then
1828 AC_ARG_WITH(live555-tree,
1829 [ --with-live555-tree=PATH live.com tree for static linking])
1832 dnl test for --with-live555-tree
1834 if test "${with_livedotcom_tree}"
1836 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1837 with_live555_tree="${with_livedotcom_tree}"
1840 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1842 CPPFLAGS_save="${CPPFLAGS}"
1843 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1844 if test "${SYS}" = "solaris"; then
1845 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1847 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1848 AC_CHECK_HEADERS(liveMedia.hh, [
1849 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1850 AC_CHECK_LIB(liveMedia_pic, main, [
1851 # We have -lliveMedia_pic, build plugins
1852 VLC_ADD_PLUGINS([live555])
1853 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1855 AC_CHECK_LIB(liveMedia, main, [
1856 # We only have -lliveMedia, do builtins
1857 VLC_ADD_BUILTINS([live555])
1858 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1861 if test "${SYS}" = "mingw32"; then
1862 # add ws2_32 for closesocket, select, recv
1863 VLC_ADD_LIBS([live555],[-lws2_32])
1866 CPPFLAGS="${CPPFLAGS_save}"
1869 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1870 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1871 if test -z "${real_live555_tree}"; then
1872 dnl The given directory can't be found
1874 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1876 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1877 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1879 VLC_ADD_BUILTINS([live555])
1881 if test "${SYS}" = "mingw32"; then
1882 # add ws2_32 for closesocket, select, recv
1883 VLC_ADD_LIBS([live555],[-lws2_32])
1886 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1887 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1888 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1889 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1891 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1892 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1893 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1894 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1895 if test "${SYS}" = "solaris"; then
1896 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1899 dnl The given live555 wasn't built
1901 if test "${enable_live555}" = "yes"; then
1902 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1909 dnl special access module for dc1394 input
1911 AC_ARG_ENABLE(dc1394,
1912 [ --enable-dc1394 dc1394 access module (default disabled)])
1913 if test "${enable_dc1394}" = "yes"
1915 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1916 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1917 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1918 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1919 VLC_ADD_PLUGINS([dc1394])
1920 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1923 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1927 AC_MSG_ERROR([libdc1394 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])
1935 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1940 dnl dv module: digital video module check for libraw1394
1943 [ --enable-dv dv input module (default disabled)])
1944 if test "${enable_dv}" = "yes"
1946 AC_ARG_WITH(dv-raw1394,
1947 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1948 AC_ARG_WITH(dv-raw1394-tree,
1949 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1951 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1953 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1954 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1956 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1958 VLC_ADD_PLUGINS([access_dv])
1959 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1960 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1962 dnl No libraw1394 could be found, sorry
1964 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1967 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1968 [ VLC_ADD_PLUGINS([access_dv])
1969 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1971 if test -n "${enable_dv}"
1973 AC_MSG_ERROR([cannot find libraw1394 headers])
1978 dnl Check for static linking of libraw1394
1979 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1981 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1982 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1983 if test -z "${real_dv_raw1394_tree}"
1985 dnl The given directory can't be found
1987 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1989 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1991 dnl Use a custom libraw1394
1992 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1993 VLC_ADD_BUILTINS([access_dv])
1994 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1995 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1997 dnl The given libraw1394 wasn't built
1999 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2004 dnl Check for libavc1394
2007 AC_ARG_WITH(dv-avc1394,
2008 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2009 AC_ARG_WITH(dv-avc1394-tree,
2010 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2012 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2014 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2015 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2017 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2019 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2020 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2022 dnl No libavc1394 could be found, sorry
2024 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2027 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2028 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2030 if test -n "${enable_dv}"
2032 AC_MSG_ERROR([cannot find libavc1394 headers])
2037 dnl Check for static linking of libavc1394
2038 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2040 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2041 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2042 if test -z "${real_dv_avc1394_tree}"
2044 dnl The given directory can't be found
2046 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2048 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2050 dnl Use a custom libavc1394
2051 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2052 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2053 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2055 dnl The given libavc1394 wasn't built
2057 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2063 dnl dvdread module: check for libdvdread
2065 AC_ARG_ENABLE(dvdread,
2066 [ --enable-dvdread dvdread input module (default disabled)])
2067 if test "${enable_dvdread}" != "no"
2069 AC_ARG_WITH(dvdread,
2070 [ --with-dvdread=PATH libdvdread headers and libraries])
2071 AC_ARG_WITH(dvdread-tree,
2072 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2074 dnl Temporary hack (yeah, sure ;)
2075 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2076 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2079 if test -z "${with_dvdread}"
2081 if test -z "${with_dvdread_tree}"
2083 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2084 [ VLC_ADD_PLUGINS([dvdread])
2085 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2087 if test -n "${enable_dvdread}"
2089 AC_MSG_ERROR([cannot find libdvdread headers])
2093 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2094 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2095 if test -z "${real_dvdread_tree}"
2097 dnl The given directory can't be found
2099 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2101 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2103 dnl Use a custom libdvdread
2104 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2105 VLC_ADD_BUILTINS([dvdread])
2106 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2107 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2109 dnl The given libdvdread wasn't built
2111 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2115 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2116 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2118 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2120 VLC_ADD_PLUGINS([dvdread])
2121 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2122 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2124 dnl No libdvdread could be found, sorry
2126 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2132 dnl libdvdnav plugin
2134 AC_ARG_ENABLE(dvdnav,
2135 [ --enable-dvdnav dvdnav input module (default enabled)])
2136 if test "${enable_dvdnav}" != "no"
2138 dnl Same hack than dvdread
2139 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2140 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2143 DVDNAV_PATH="${PATH}"
2144 AC_ARG_WITH(dvdnav-config-path,
2145 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2146 [ if test "${with_dvdnav_config_path}" != "no"
2148 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2150 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2151 if test "${DVDNAV_CONFIG}" != "no"
2153 VLC_ADD_PLUGINS([dvdnav])
2154 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2155 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2160 dnl Windows DirectShow access module
2162 AC_ARG_ENABLE(dshow,
2163 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2164 if test "${enable_dshow}" != "no"
2166 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2169 AC_CHECK_HEADERS(dshow.h,
2170 [ VLC_ADD_PLUGINS([dshow])
2171 VLC_ADD_CXXFLAGS([dshow],[])
2172 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2178 dnl Windows DirectShow BDA access module
2181 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2182 if test "${enable_bda}" != "no"
2184 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2186 AC_CHECK_HEADERS(dshow.h,
2187 [ VLC_ADD_PLUGINS([bda])
2188 VLC_ADD_CXXFLAGS([bda],[])
2189 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2195 dnl OpenCV wrapper and example filters
2197 AC_ARG_ENABLE(opencv,
2198 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2199 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2201 AC_ARG_WITH(opencv-tree,
2202 [ --with-opencv-tree=PATH opencv tree for linking])
2203 if test -n "${with_opencv_tree}"
2205 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2207 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2208 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2209 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2212 VLC_ADD_PLUGINS([opencv_wrapper])
2213 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2214 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])
2216 VLC_ADD_PLUGINS([opencv_example])
2217 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2218 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])
2221 dnl No opencv could be found, sorry
2223 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2226 AC_MSG_WARN([--enable-opencv currently only works on windows])
2233 dnl libsmbclient plugin
2236 [ --enable-smb smb input module (default enabled)])
2237 if test "${enable_smb}" != "no"; then
2238 AC_CHECK_HEADERS(libsmbclient.h,
2239 [ VLC_ADD_PLUGINS([access_smb])
2240 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2241 [ if test -n "${enable_smb}"; then
2242 AC_MSG_ERROR([cannot find libsmbclient headers])
2244 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2245 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2246 [#include <libsmbclient.h>])
2250 dnl libdvbpsi ts demux/mux
2252 AC_ARG_ENABLE(dvbpsi,
2253 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2254 if test "${enable_dvbpsi}" != "no"
2257 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2259 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2260 case "${with_dvbpsi}" in
2262 if test -z "${with_dvbpsi_tree}"
2264 AC_CHECK_HEADERS(dvbpsi/dr.h,
2265 [ VLC_ADD_PLUGINS([ts])
2266 if test "${enable_sout}" != "no"; then
2267 VLC_ADD_PLUGINS([mux_ts])
2269 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2270 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2271 [#if defined( HAVE_STDINT_H )
2272 # include <stdint.h>
2273 #elif defined( HAVE_INTTYPES_H )
2274 # include <inttypes.h>
2276 #include <dvbpsi/dvbpsi.h>
2277 #include <dvbpsi/descriptor.h>
2278 #include <dvbpsi/pat.h>
2279 #include <dvbpsi/pmt.h>])
2281 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2282 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2283 if test -z "${real_dvbpsi_tree}"
2285 dnl The given directory can't be found
2287 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2289 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2291 dnl Use a custom libdvbpsi
2292 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2293 VLC_ADD_BUILTINS([ts])
2294 if test "${enable_sout}" != "no"; then
2295 VLC_ADD_BUILTINS([mux_ts])
2297 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2298 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2300 dnl The given libdvbpsi wasn't built
2302 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2307 dnl Compile without dvbpsi
2310 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2311 if test -z "${with_dvbpsi}"
2316 LDFLAGS_test="-L${with_dvbpsi}/lib"
2317 CPPFLAGS_test="-I${with_dvbpsi}/include"
2319 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2320 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2321 VLC_ADD_PLUGINS([ts])
2322 if test "${enable_sout}" != "no"; then
2323 VLC_ADD_PLUGINS([mux_ts])
2325 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2326 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2329 if test -n "${enable_dvbpsi}"
2331 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])
2334 CPPFLAGS="${CPPFLAGS_save}"
2337 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2338 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2339 ], [], [${LIBS_ts}])
2344 dnl Video4Linux plugin
2347 [ --enable-v4l Video4Linux input support (default disabled)])
2348 if test "${enable_v4l}" = "yes"
2351 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2352 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2354 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2357 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2358 AC_CHECK_HEADERS(linux/videodev.h, [
2359 VLC_ADD_PLUGINS([v4l])
2361 CPPFLAGS="${CPPFLAGS_save}"
2365 dnl Video4Linux2 plugin
2368 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2369 if test "${enable_v4l2}" = "yes"
2372 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2373 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2375 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2378 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2379 if test "${have_v4l2_alsa}" = "true"
2381 CFLAGS="${CFLAGS_save}"
2382 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2383 #define ALSA_PCM_NEW_SW_PARAMS_API
2384 #include <alsa/asoundlib.h>],
2385 [snd_pcm_hw_params_get_period_time(0,0,0);],
2386 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2387 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2388 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2391 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2392 AC_CHECK_HEADERS(linux/videodev2.h, [
2393 VLC_ADD_PLUGINS([v4l2])
2395 CPPFLAGS="${CPPFLAGS_save}"
2400 dnl special access module for Hauppauge PVR cards
2403 [ --enable-pvr PVR cards access module (default disabled)])
2404 if test "${enable_pvr}" = "yes"
2406 VLC_ADD_PLUGINS([pvr])
2407 AC_ARG_WITH(videodev2,
2408 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2409 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2411 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2415 AC_CACHE_CHECK([for new linux/videodev2.h],
2416 [new_linux_videodev2_h],
2418 #include <sys/types.h>
2419 # ifdef VIDEODEV2_H_FILE
2420 # include VIDEODEV2_H_FILE
2422 # include <linux/videodev2.h>
2425 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2426 new_linux_videodev2_h=yes,
2427 new_linux_videodev2_h=no)])
2428 if test "${new_linux_videodev2_h}" != "no"; then
2429 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2434 dnl gnomeVFS access module
2436 AC_ARG_ENABLE(gnomevfs,
2437 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2438 if test "${enable_gnomevfs}" = "yes"
2440 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2441 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2442 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2443 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2444 VLC_ADD_PLUGINS([access_gnomevfs]),
2445 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2448 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2449 AC_ARG_ENABLE(libcdio,
2450 [ --enable-libcdio CD input and control library support (default enabled)])
2455 if test "${enable_libcdio}" != "no"
2457 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2459 AC_DEFINE(HAVE_LIBCDIO, 1,
2460 [Define if you have libcdio 0.78.2 or greater installed]),
2461 [AC_MSG_WARN(CD Reading and information library not found)])
2463 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2464 [have_libvcdinfo=yes
2465 AC_DEFINE(HAVE_VCDINFO, 1,
2466 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2467 [AC_MSG_WARN(VCD information library not found)])
2471 dnl VCDX and CDDAX modules
2473 AC_ARG_ENABLE(cddax,
2474 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2476 AC_ARG_ENABLE(libcddb,
2477 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2479 if test "${enable_cddax}" = "yes"
2481 if test "$have_libcdio" = "yes"
2483 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2484 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2485 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2486 VLC_ADD_PLUGINS([cddax])
2487 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2488 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2489 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2491 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2495 if test "$enable_libcddb" != "no"; then
2496 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2498 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2499 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2500 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2502 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2509 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2511 if test "${enable_vcdx}" = "yes"
2513 if test "${have_libvcdinfo}" = "yes"
2515 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2516 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2518 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2522 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2523 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2524 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2525 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2528 if test "$have_libvcdinfo" = "yes"
2530 AC_DEFINE(HAVE_VCDX, 1,
2531 [Define for the VCD plugin using libcdio/libvcdinfo])
2532 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2533 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2534 VLC_ADD_PLUGINS([vcdx])
2536 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2542 dnl Built-in CD-DA and VCD module
2545 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2548 [ --enable-vcd built-in VCD (default enabled)])
2550 if test "${enable_vcd}" != "no"
2552 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2553 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2555 VLC_ADD_PLUGINS([vcd cdda])
2560 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2561 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2563 VLC_ADD_PLUGINS([vcd cdda])
2564 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2569 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2570 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2572 VLC_ADD_PLUGINS([vcd cdda])
2573 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2578 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2580 VLC_ADD_PLUGINS([vcd cdda])
2583 if test "${SYS}" = "darwin"
2585 VLC_ADD_PLUGINS([vcd cdda])
2586 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2587 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2590 if test "$enable_libcddb" != "no"; then
2591 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2593 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2594 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2595 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2597 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2603 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2606 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2608 if test "${enable_dvb}" = "yes"
2611 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2612 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2614 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2616 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2617 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2618 if test -z "${with_dvbpsi_tree}"
2620 VLC_ADD_PLUGINS([dvb])
2622 VLC_ADD_BUILTINS([dvb])
2624 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2625 CPPFLAGS="${CPPFLAGS_save}"
2629 dnl Screen capture module
2631 AC_ARG_ENABLE(screen,
2632 [ --enable-screen Screen capture support (default enabled)])
2633 if test "${enable_screen}" != "no"; then
2634 if test "${SYS}" = "darwin"; then
2635 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2636 VLC_ADD_PLUGINS([screen])
2637 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2639 elif test "${SYS}" = "mingw32"; then
2640 VLC_ADD_PLUGINS([screen])
2641 VLC_ADD_LIBS([screen],[-lgdi32])
2642 elif test "${SYS}" = "mingwce"; then
2643 CPPFLAGS="${CPPFLAGS_save}"
2644 elif test "${SYS}" = "beos"; then
2645 VLC_ADD_PLUGINS([screen])
2646 VLC_ADD_CXXFLAGS([screen],[])
2647 VLC_ADD_LIBS([screen],[-lbe])
2649 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2650 AC_CHECK_HEADERS(X11/Xlib.h, [
2651 VLC_ADD_PLUGINS([screen])
2652 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2653 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2655 CPPFLAGS="${CPPFLAGS_save}"
2660 dnl ipv6 plugin - not for QNX yet
2663 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2664 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2667 AS_IF([test "${have_ipv6}" = "yes"], [
2668 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2671 AC_CHECK_FUNCS(inet_ntop,[
2672 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2676 dnl ogg demux plugin
2679 [ --enable-ogg Ogg demux support (default enabled)])
2680 if test "${enable_ogg}" != "no"
2682 AC_ARG_WITH(ogg-tree,
2683 [ --with-ogg-tree=PATH ogg tree for static linking])
2684 if test -n "${with_ogg_tree}"
2686 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2687 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2688 if test -z "${real_ogg_tree}"
2690 dnl The given directory can't be found
2692 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2694 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2696 dnl Use a custom ogg
2697 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2698 VLC_ADD_PLUGINS([ogg])
2699 if test "${enable_sout}" != "no"; then
2700 VLC_ADD_PLUGINS([mux_ogg])
2702 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2703 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2705 dnl The given ogg wasn't built
2707 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2710 AC_CHECK_HEADERS(ogg/ogg.h, [
2711 AC_CHECK_LIB( ogg, oggpack_read, [
2712 VLC_ADD_PLUGINS([ogg])
2713 if test "${enable_sout}" != "no"; then
2714 VLC_ADD_PLUGINS([mux_ogg])
2716 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2722 dnl matroska demux plugin
2725 [ --enable-mkv Matroska demux support (default enabled)])
2726 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2728 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2729 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2731 [#include <ebml/EbmlVersion.h>
2732 #ifdef LIBEBML_VERSION
2733 #if LIBEBML_VERSION >= 0x000706
2737 [AC_MSG_RESULT([yes])
2738 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2739 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2741 [#include <matroska/KaxVersion.h>
2742 #ifdef LIBMATROSKA_VERSION
2743 #if LIBMATROSKA_VERSION >= 0x000705
2747 [AC_MSG_RESULT([yes])
2748 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2749 VLC_ADD_CXXFLAGS([mkv],[])
2750 if test "${SYS}" = "darwin"; then
2751 VLC_ADD_CXXFLAGS([mkv],[-O1])
2753 AC_CHECK_LIB(ebml_pic, main, [
2754 VLC_ADD_PLUGINS([mkv])
2755 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2757 AC_CHECK_LIB(ebml, main, [
2758 VLC_ADD_PLUGINS([mkv])
2759 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2763 [AC_MSG_RESULT([no])
2764 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.])
2768 [AC_MSG_RESULT([no])
2769 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.])
2776 dnl modplug demux plugin
2779 [ --enable-mod Mod demux support (default enabled)])
2780 if test "${enable_mod}" != "no"
2782 AC_ARG_WITH(mod-tree,
2783 [ --with-mod-tree=PATH mod tree for static linking])
2784 if test -n "${with_mod_tree}"
2786 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2787 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2788 if test -z "${real_mod_tree}"
2790 dnl The given directory can't be found
2792 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2794 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2796 dnl Use a custom mod
2797 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2798 VLC_ADD_PLUGINS([mod])
2799 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2800 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2802 dnl The given mod wasn't built
2804 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2807 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2808 VLC_ADD_PLUGINS([mod])
2809 VLC_ADD_CXXFLAGS([mod],[])
2810 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2815 dnl mpc demux plugin
2818 [ --enable-mpc Mpc demux support (default enabled)])
2819 if test "${enable_mpc}" != "no"
2821 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2822 VLC_ADD_PLUGINS([mpc])
2823 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2827 dnl game music emu demux plugin
2830 [ --enable-gme Game Music Emu demux support (default enabled)])
2831 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2834 AC_ARG_WITH(gme-tree,
2835 [ --with-gme-tree=PATH gme tree for static linking])
2836 if test -n "${with_gme_tree}"
2838 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2839 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2840 if test -z "${real_gme_tree}"
2842 dnl The given directory can't be found
2844 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2846 if test -f "${real_gme_tree}/gme/libgme.a"
2848 dnl Use a custom gme
2849 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2850 VLC_ADD_PLUGINS([gme])
2851 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2852 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2854 dnl The given gme wasn't built
2856 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2859 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2868 AC_ARG_WITH(,[Codec plugins:])
2874 [ --enable-mad libmad module (default enabled)])
2875 if test "${enable_mad}" != "no"
2878 [ --with-mad=PATH path to libmad],[],[])
2879 if test "${with_mad}" != "no" -a -n "${with_mad}"
2881 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2882 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2885 AC_ARG_WITH(mad-tree,
2886 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2887 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2889 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2890 if test -z "${real_mad_tree}"
2892 dnl The given directory can't be found
2894 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2896 dnl Use a custom libmad
2897 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2898 if test -f ${real_mad_tree}/mad.h
2901 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2902 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2903 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2904 AC_CHECK_LIB(mad, mad_bit_init, [
2905 VLC_ADD_BUILTINS([mpgatofixed32])
2906 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2907 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2909 LDFLAGS="${LDFLAGS_save}"
2912 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2915 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2916 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2917 AC_CHECK_HEADERS(mad.h, ,
2918 [ 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.]) ])
2919 AC_CHECK_LIB(mad, mad_bit_init, [
2920 VLC_ADD_PLUGINS([mpgatofixed32])
2921 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2922 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2923 CPPFLAGS="${CPPFLAGS_save}"
2924 LDFLAGS="${LDFLAGS_save}"
2929 dnl libid3tag support (FIXME!!! doesn't work with new input)
2931 AC_ARG_ENABLE( id3tag,
2932 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2933 AS_IF([test "${enable_id3tag}" != "no"], [
2934 AC_CHECK_HEADERS(id3tag.h, [
2935 AC_CHECK_HEADERS(zlib.h, [
2936 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2937 VLC_ADD_PLUGINS([id3tag])
2943 dnl ffmpeg decoder/demuxer plugin
2945 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2946 dnl 3- default place,
2948 AC_ARG_ENABLE(ffmpeg,
2949 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2950 if test "${enable_ffmpeg}" != "no"
2953 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2955 AC_ARG_WITH(ffmpeg-mp3lame,
2956 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2958 if test "$with_ffmpeg_mp3lame" = "yes"; then
2959 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2962 AC_ARG_WITH(ffmpeg-faac,
2963 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2965 if test "$with_ffmpeg_faac" = "yes"; then
2966 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2969 AC_ARG_WITH(ffmpeg-dts,
2970 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2972 if test "$with_ffmpeg_dts" = "yes"; then
2973 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2974 AC_CHECK_LIB(dts_pic, dts_free,
2975 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2976 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2977 LDFLAGS="${LDFLAGS_save}"
2980 AC_ARG_WITH(ffmpeg-vorbis,
2981 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2983 if test "$with_ffmpeg_vorbis" = "yes"; then
2984 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2987 AC_ARG_WITH(ffmpeg-theora,
2988 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2990 if test "$with_ffmpeg_theora" = "yes"; then
2991 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2994 AC_ARG_WITH(ffmpeg-ogg,
2995 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2997 if test "$with_ffmpeg_ogg" = "yes"; then
2998 VLC_ADD_LIBS([ffmpeg],[-logg])
3001 AC_ARG_WITH(ffmpeg-zlib,
3002 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3004 if test "$with_ffmpeg_zlib" = "yes"; then
3005 VLC_ADD_LIBS([ffmpeg],[-lz])
3008 AC_ARG_WITH(ffmpeg-amrnb,
3009 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3011 if test "$with_ffmpeg_amrnb" = "yes"; then
3012 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3015 AC_ARG_WITH(ffmpeg-amrwb,
3016 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3018 if test "$with_ffmpeg_amrwb" = "yes"; then
3019 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3022 AC_ARG_WITH(ffmpeg-x264,
3023 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3025 if test "$with_ffmpeg_x264" = "yes"; then
3026 VLC_ADD_LIBS([ffmpeg],[-lx264])
3029 AC_ARG_WITH(ffmpeg-a52,
3030 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3032 if test "$with_ffmpeg_a52" = "yes"; then
3033 VLC_ADD_LIBS([ffmpeg],[-la52])
3037 dnl test for --with-ffmpeg-tree
3039 AC_ARG_WITH(ffmpeg-tree,
3040 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3042 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3043 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3044 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3045 if test -z "${real_ffmpeg_tree}"; then
3046 dnl The given directory can't be found
3048 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3050 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3051 dnl The given libavcodec wasn't built
3053 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3055 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3056 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3057 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3058 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3059 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3060 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3062 dnl The given libavcodec wasn't built with --enable-pp
3064 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3067 dnl Use a custom libffmpeg
3068 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3070 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3071 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3072 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3073 export PKG_CONFIG_PATH=""
3074 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3076 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3077 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3078 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3080 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3081 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3083 unset PKG_CONFIG_PATH
3085 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3086 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3088 unset PKG_CONFIG_LIBDIR
3091 VLC_ADD_BUILTINS([ffmpeg])
3092 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3093 VLC_ADD_BUILTINS([stream_out_switcher])
3096 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3097 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3098 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3099 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3102 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3103 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3104 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
3105 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
3110 dnl Trying with pkg-config
3111 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3114 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3115 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3116 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3117 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3118 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3119 dnl newer ffmpeg have a separate libpostproc
3120 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3121 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3122 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3124 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3125 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3126 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3127 if test "${SYS}" = "darwin"; then
3128 VLC_ADD_BUILTINS([ffmpeg])
3130 VLC_ADD_PLUGINS([ffmpeg])
3132 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3133 if test "${SYS}" = "darwin"; then
3134 VLC_ADD_BUILTINS([stream_out_switcher])
3136 VLC_ADD_PLUGINS([stream_out_switcher])
3139 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3140 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3142 dnl even newer ffmpeg has a libswscale
3143 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3144 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3145 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3146 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3147 AC_CHECK_LIB(swscale, sws_getContext,
3148 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3154 dnl last chance: at the default place
3156 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3157 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3158 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3159 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3160 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3161 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3163 AC_CHECK_LIB(avutil, av_crc_init, [
3164 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3165 LDAVUTIL="-lavutil"])
3167 AC_CHECK_LIB(avcodec, avcodec_init, [
3168 VLC_ADD_BUILTINS([ffmpeg])
3169 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3170 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3171 VLC_ADD_BUILTINS([stream_out_switcher])
3173 [ 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])
3175 AC_CHECK_LIB(postproc, pp_postprocess, [
3176 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3177 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3180 AC_CHECK_LIB(avformat, av_open_input_stream, [
3181 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3182 LDFLAGS="${LDFLAGS_save}"
3183 CPPFLAGS="${CPPFLAGS_save}"
3185 AC_CHECK_LIB(swscale, sws_getContext, [
3186 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3187 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3188 LDFLAGS="${LDFLAGS_save}"
3189 CPPFLAGS="${CPPFLAGS_save}"
3195 dnl ffmpegaltivec plugin
3197 AC_ARG_ENABLE(ffmpegaltivec,
3198 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3199 if test "${enable_ffmpegaltivec}" = "yes"
3201 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3202 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3203 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3204 if test -z "${real_ffmpeg_tree}"; then
3205 dnl The given directory can't be found
3207 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3209 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3210 dnl The given libavcodecaltivec wasn't built
3212 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3214 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3215 dnl The given libavcodecaltivec wasn't built with --enable-pp
3217 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3219 dnl Use a custom libffmpeg
3220 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3221 VLC_ADD_BUILTINS([ffmpegaltivec])
3222 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3223 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3224 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3226 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3227 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3228 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3229 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3231 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3232 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3237 dnl faad decoder plugin
3240 [ --enable-faad faad codec (default disabled)])
3241 if test "${enable_faad}" = "yes"
3243 AC_ARG_WITH(faad-tree,
3244 [ --with-faad-tree=PATH faad tree for static linking])
3245 if test -n "${with_faad_tree}"
3247 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3248 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3249 if test -z "${real_faad_tree}"
3251 dnl The given directory can't be found
3253 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3255 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3257 dnl Use a custom faad
3258 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3259 VLC_ADD_BUILTINS([faad])
3260 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3261 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3263 dnl The given libfaad wasn't built
3265 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3268 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3269 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3270 AC_CHECK_HEADERS(faad.h, ,
3271 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3272 AC_CHECK_LIB(faad, faacDecOpen, [
3273 VLC_ADD_PLUGINS([faad])
3274 VLC_ADD_LIBS([faad],[-lfaad]) ],
3275 AC_CHECK_LIB(faad, NeAACDecOpen, [
3276 VLC_ADD_PLUGINS([faad])
3277 VLC_ADD_LIBS([faad],[-lfaad]) ],
3278 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3279 LDFLAGS="${LDFLAGS_save}"
3280 CPPFLAGS="${CPPFLAGS_save}"
3285 dnl twolame encoder plugin
3287 AC_ARG_ENABLE(twolame,
3288 [ --enable-twolame twolame codec (default disabled)])
3289 if test "${enable_twolame}" = "yes"
3291 AC_ARG_WITH(twolame-tree,
3292 [ --with-twolame-tree=PATH twolame tree for static linking])
3293 if test -n "${with_twolame_tree}"
3295 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3296 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3297 if test -z "${real_twolame_tree}"
3299 dnl The given directory can't be found
3301 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3303 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3305 dnl Use a custom twolame
3306 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3307 VLC_ADD_BUILTINS([twolame])
3308 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3309 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3311 dnl The given libtwolame wasn't built
3313 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3316 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3317 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3318 AC_CHECK_HEADERS(twolame.h, ,
3319 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3320 AC_CHECK_LIB(twolame, twolame_init, [
3321 VLC_ADD_PLUGINS([twolame])
3322 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3323 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3324 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3325 LDFLAGS="${LDFLAGS_save}"
3326 CPPFLAGS="${CPPFLAGS_save}"
3331 dnl QuickTime plugin
3333 AC_ARG_ENABLE(quicktime,
3334 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3335 if test "${enable_quicktime}" != "no" &&
3336 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3338 if test "${SYS}" = "mingw32"; then
3339 VLC_ADD_BUILTINS([quicktime])
3341 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3342 [ VLC_ADD_BUILTINS([quicktime])
3343 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3344 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3352 [ --enable-real Real audio module (default disabled)])
3353 if test "${enable_real}" = "yes"; then
3354 VLC_ADD_PLUGINS([realaudio])
3358 dnl Real RTSP plugin
3360 AC_ARG_ENABLE(realrtsp,
3361 [ --enable-realrtsp Real RTSP module (default disabled)])
3362 if test "${enable_realrtsp}" = "yes"; then
3363 VLC_ADD_PLUGINS([access_realrtsp])
3369 AC_CHECK_HEADERS(zlib.h, [
3370 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3373 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3374 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3380 AC_ARG_ENABLE(libtar,
3381 [ --enable-libtar support for skins2 (default enabled)])
3383 AS_IF([test "${enable_libtar}" != "no"],[
3384 AC_CHECK_HEADERS(libtar.h, [
3385 VLC_ADD_LIBS([skins2],[-ltar])
3390 dnl A52/AC3 decoder plugin
3393 [ --enable-a52 A/52 support with liba52 (default enabled)])
3394 if test "${enable_a52}" != "no"
3397 [ --with-a52=PATH a52 headers and libraries])
3398 AC_ARG_WITH(a52-tree,
3399 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3400 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3402 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3403 if test -z "${real_a52_tree}"
3405 dnl The given directory can't be found
3407 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3409 dnl Use a custom a52dec
3410 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3411 if test -f ${real_a52_tree}/include/a52.h
3414 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3415 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3416 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3417 AC_CHECK_LIB(a52, a52_free, [
3418 VLC_ADD_BUILTINS([a52tofloat32])
3419 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3420 VLC_ADD_LIBS([a52tofloat32],[-la52])
3422 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3424 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3426 AC_MSG_ERROR([the specified tree hasn't been compiled])
3429 LDFLAGS="${LDFLAGS_save}"
3432 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3435 if test -z "${with_a52}"
3440 LDFLAGS_test="-L${with_a52}/lib"
3441 CPPFLAGS_test="-I${with_a52}/include"
3443 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3444 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3445 AC_CHECK_HEADERS(a52dec/a52.h, [
3446 AC_CHECK_LIB(a52, a52_free, [
3447 VLC_ADD_PLUGINS([a52tofloat32])
3448 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3449 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3451 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.])
3454 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.])
3456 CPPFLAGS="${CPPFLAGS_save}"
3457 LDFLAGS="${LDFLAGS_save}"
3461 AC_ARG_WITH(a52-fixed,
3462 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3464 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3467 dnl DTS Coherent Acoustics decoder plugin
3469 AS_IF([test "x${enable_dts}" != "x"], [
3470 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3472 AS_IF([test "x${with_dts_tree}" != "x"], [
3473 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3477 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3478 AS_IF([test "${enable_dca}" != "no"], [
3479 AC_ARG_WITH(dca-tree,
3480 [ --with-dca-tree=PATH libdca tree for static linking],,
3481 [with_dca_tree="no"])
3482 AS_IF([test "${with_dca_tree}" != "no"], [
3483 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3484 AS_IF([test -z "${real_dca_tree}"], [
3485 dnl The given directory can't be found
3487 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3489 dnl Use a custom libdca
3490 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3491 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3493 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3494 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3495 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3497 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3501 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3504 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3505 VLC_ADD_PLUGINS([dtstofloat32])
3506 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3507 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3509 AS_IF([test "x${enable_dca}" != "x"], [
3510 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3520 [ --enable-flac libflac decoder/encoder support (default disabled)])
3521 if test "${enable_flac}" = "yes"
3523 AC_ARG_WITH(flac-tree,
3524 [ --with-flac-tree=PATH flac tree for static linking])
3525 if test -n "${with_flac_tree}"
3527 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3528 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3529 if test -z "${real_flac_tree}"
3531 dnl The given directory can't be found
3533 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3535 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3537 dnl Use a custom flac
3538 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3539 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3540 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3541 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3543 dnl The given flac wasn't built
3545 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3548 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3549 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3557 AC_ARG_ENABLE(libmpeg2,
3558 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3559 if test "${enable_libmpeg2}" != "no"
3561 AC_ARG_WITH(libmpeg2-tree,
3562 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3563 if test -n "${with_libmpeg2_tree}"
3565 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3566 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3567 if test -z "${real_libmpeg2_tree}"
3569 dnl The given directory can't be found
3571 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3573 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3575 dnl Use a custom libmpeg2
3576 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3577 VLC_ADD_BUILTINS([libmpeg2])
3578 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3579 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3580 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3582 dnl The given libmpeg2 wasn't built
3584 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3587 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3588 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3590 [#include <mpeg2dec/mpeg2.h>
3591 #ifdef MPEG2_RELEASE
3592 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3596 [AC_MSG_RESULT([yes])
3597 VLC_ADD_PLUGINS([libmpeg2])
3598 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3599 [AC_MSG_RESULT([no])
3600 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.])])],
3602 [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.])]
3610 AC_ARG_ENABLE(vorbis,
3611 [ --enable-vorbis Vorbis decoder support (default enabled)])
3612 if test "${enable_vorbis}" != "no"
3614 AC_ARG_WITH(vorbis-tree,
3615 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3616 if test -n "${with_vorbis_tree}"
3618 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3619 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3620 if test -z "${real_vorbis_tree}"
3622 dnl The given directory can't be found
3624 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3626 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3628 dnl Use a custom vorbis
3629 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3630 VLC_ADD_PLUGINS([vorbis])
3631 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3632 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3634 dnl The given vorbis wasn't built
3636 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3639 AC_CHECK_HEADERS(vorbis/codec.h, [
3640 VLC_ADD_PLUGINS([vorbis])
3641 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3643 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3644 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3651 AC_ARG_ENABLE(tremor,
3652 [ --enable-tremor Tremor decoder support (default disabled)])
3653 if test "${enable_tremor}" = "yes"
3655 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3656 VLC_ADD_PLUGINS([tremor])
3657 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3664 AC_ARG_ENABLE(speex,
3665 [ --enable-speex Speex decoder support (default enabled)])
3666 if test "${enable_speex}" != "no"
3668 AC_ARG_WITH(speex-tree,
3669 [ --with-speex-tree=PATH speex tree for static linking])
3670 if test -n "${with_speex_tree}"
3672 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3673 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3674 if test -z "${real_speex_tree}"
3676 dnl The given directory can't be found
3678 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3680 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3682 dnl Use a custom speex
3683 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3684 VLC_ADD_PLUGINS([speex])
3685 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3686 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3688 dnl The given speex wasn't built
3690 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3693 AC_CHECK_HEADERS(speex/speex.h, [
3694 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3695 AC_CHECK_LIB(speex, speex_decode_int, [
3696 VLC_ADD_PLUGINS([speex])
3697 VLC_ADD_LIBS([speex],[-lspeex]) ],
3698 [ AC_MSG_RESULT([no])
3699 AC_MSG_WARN([Your libspeex is too old, please get the development
3701 LDFLAGS="${LDFLAGS_save}"
3707 dnl tarkin decoder plugin
3709 AC_ARG_ENABLE(tarkin,
3710 [ --enable-tarkin experimental tarkin codec (default disabled)])
3711 if test "${enable_tarkin}" = "yes"
3713 AC_ARG_WITH(tarkin-tree,
3714 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3715 if test -n "${with_tarkin_tree}"
3717 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3718 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3719 if test -f "${real_tarkin_tree}/tarkin.o"
3721 VLC_ADD_BUILTINS([tarkin])
3722 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3723 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])
3726 dnl The given tarkin tree wasn't built
3728 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3729 make sure you compiled tarkin in ${with_tarkin_tree}])
3735 dnl theora decoder plugin
3737 AC_ARG_ENABLE(theora,
3738 [ --enable-theora experimental theora codec (default disabled)])
3739 if test "${enable_theora}" = "yes"
3741 AC_CHECK_HEADERS(theora/theora.h, [
3742 AC_CHECK_LIB(theora, theora_granule_time, [
3743 VLC_ADD_PLUGINS([theora])
3744 theora_libs="-ltheora -logg"
3745 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3746 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3747 You also need to check that you have a libogg posterior to the 1.0 release.])],
3753 dnl dirac decoder plugin
3755 AC_ARG_ENABLE(dirac,
3756 [ --enable-dirac experimental dirac codec (default disabled)])
3757 if test "${enable_dirac}" = "yes"; then
3758 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3759 VLC_ADD_PLUGINS([dirac])
3760 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3761 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3762 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3767 dnl PNG decoder module
3770 [ --enable-png PNG support (default enabled)])
3771 if test "${enable_png}" != "no"; then
3772 AC_CHECK_HEADERS(png.h, [
3773 LDFLAGS="${LDFLAGS_save} -lz"
3774 AC_CHECK_LIB(png, png_set_rows, [
3775 VLC_ADD_LIBS([png],[-lpng -lz])
3776 VLC_ADD_PLUGINS([png])
3777 VLC_ADD_PLUGINS([osdmenu osd_parser])
3778 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3780 LDFLAGS="${LDFLAGS_save}"
3785 dnl H264 encoder plugin (using libx264)
3788 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3789 if test "${enable_x264}" != "no"; then
3790 AC_ARG_WITH(x264-tree,
3791 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3792 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3794 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3795 if test -z "${real_x264_tree}"
3797 dnl The given directory can't be found
3799 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3801 dnl Use a custom libx264
3802 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3803 if test -f ${real_x264_tree}/x264.h
3806 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3807 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3808 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3809 AC_CHECK_LIB(x264, x264_encoder_open, [
3810 VLC_ADD_BUILTINS([x264])
3811 VLC_ADD_LIBS([x264],[-lx264])
3813 AC_MSG_ERROR([the specified tree hasn't been compiled])
3815 LDFLAGS="${LDFLAGS_save}"
3818 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3821 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3822 AC_CHECK_HEADERS(x264.h, [
3823 AC_CHECK_LIB(x264, x264_encoder_open, [
3824 VLC_ADD_PLUGINS([x264])
3825 VLC_ADD_LIBS([x264],[-lx264])
3827 if test "${enable_x264}" = "yes"; then
3828 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3832 LDFLAGS="${LDFLAGS_save}"
3837 dnl libfluidsynth (MIDI synthetizer) plugin
3839 AC_ARG_ENABLE(fluidsynth,
3840 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3841 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3842 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3843 VLC_ADD_PLUGINS(fluidsynth)
3844 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3845 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3847 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3848 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3854 dnl Teletext Modules
3855 dnl vbi decoder plugin (using libzbvi)
3860 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3862 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3864 AS_IF( [test "${enable_zvbi}" != "no"],[
3865 AS_IF( [test "${enable_telx}" = "yes"],[
3866 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3868 PKG_CHECK_MODULES(ZVBI,
3871 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3872 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3873 VLC_ADD_PLUGINS([zvbi])
3874 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3876 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3881 AS_IF( [test "${enable_telx}" = "yes"],[
3882 VLC_ADD_PLUGINS([telx])
3889 [ --enable-cmml CMML support (default enabled)])
3890 if test "${enable_cmml}" != "no"
3892 VLC_ADD_PLUGINS([cmml])
3900 AC_ARG_WITH(,[Video plugins:])
3903 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3904 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3905 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3906 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3907 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3909 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3910 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3915 #include <X11/Xlib.h>
3917 CPPFLAGS="${CPPFLAGS_save}"
3922 dnl (enabled by default except on win32)
3925 [ --enable-x11 X11 support (default enabled)])
3926 if test "${enable_x11}" != "no" &&
3927 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3928 test "${enable_x11}" = "yes"); then
3929 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3930 AC_CHECK_HEADERS(X11/Xlib.h, [
3931 VLC_ADD_PLUGINS([panoramix])
3932 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3933 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3934 AC_CHECK_LIB(Xext, XShmAttach, [
3935 VLC_ADD_PLUGINS([x11])
3936 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3937 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3940 CPPFLAGS="${CPPFLAGS_save}"
3945 dnl (enabled by default except on win32)
3947 AC_ARG_ENABLE(xvideo,
3948 [ --enable-xvideo XVideo support (default enabled)])
3949 if test "${enable_xvideo}" != "no" &&
3950 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3951 test "${enable_xvideo}" = "yes"); then
3952 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3953 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3954 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3955 AC_CHECK_LIB(Xv,XvPutImage,[
3956 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3957 # test for libXv_pic.
3958 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3959 VLC_ADD_PLUGINS([xvideo])
3960 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3961 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3963 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3964 VLC_ADD_PLUGINS([xvideo])
3965 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3966 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3968 VLC_ADD_BUILTINS([xvideo])
3969 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3970 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3974 CFLAGS="${CFLAGS_save}"
3976 CPPFLAGS="${CPPFLAGS_save}")
3981 dnl (enabled by default except on win32)
3984 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3985 if test "${enable_glx}" != "no" &&
3986 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3987 test "${enable_glx}" = "yes"); then
3988 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3989 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3990 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3991 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3995 VLC_ADD_PLUGINS([glx])
3996 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3997 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3998 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3999 CPPFLAGS="${CPPFLAGS_save}"
4004 dnl (enabled by default except on win32)
4007 [ --enable-xvmc XVMC support (default disabled)])
4008 if test "${enable_xvmc}" = "yes" &&
4009 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4010 test "${enable_xvmc}" = "yes"); then
4011 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4012 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4013 VLC_ADD_PLUGINS([xvmc])
4014 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4015 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4017 CPPFLAGS="${CPPFLAGS_save}"
4021 dnl Check for the Xinerama extension
4023 AC_ARG_ENABLE(xinerama,
4024 [ --enable-xinerama Xinerama support (default enabled)])
4025 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4026 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4027 test "${enable_xvideo}" = "yes"); then
4028 ac_cv_have_xinerama="no"
4029 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4030 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4031 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4032 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4033 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4034 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4035 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4036 ac_cv_have_xinerama="yes"
4038 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4039 VLC_ADD_LIBS([xvideo],[-lXinerama])
4040 VLC_ADD_LIBS([x11],[-lXinerama])
4041 VLC_ADD_LIBS([glx],[-lXinerama])
4042 ac_cv_have_xinerama="yes"
4046 if test "${ac_cv_have_xinerama}" = "yes"; then
4047 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4049 CFLAGS="${CFLAGS_save}"
4050 CPPFLAGS="${CPPFLAGS_save}"
4053 dnl Check for XF86VidMode extension
4055 ac_cv_have_xf86vidmode="no"
4056 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4057 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4058 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4059 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4060 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4061 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4062 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4063 ac_cv_have_xf86vidmode="yes"
4065 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4066 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4067 VLC_ADD_LIBS([x11],[-lXxf86vm])
4068 VLC_ADD_LIBS([glx],[-lXxf86vm])
4069 ac_cv_have_xf86vidmode="yes"
4073 [#ifdef HAVE_X11_XLIB_H
4074 # include <X11/Xlib.h>
4077 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4078 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4080 CFLAGS="${CFLAGS_save}"
4081 CPPFLAGS="${CPPFLAGS_save}"
4087 dnl (enabled by default except on beos)
4089 AC_ARG_ENABLE(opengl,
4090 [ --enable-opengl OpenGL support (default enabled)])
4091 if test "${enable_opengl}" != "no" &&
4092 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4093 if test "${SYS}" != "darwin"; then
4094 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4095 VLC_ADD_PLUGINS([opengl])
4096 if test "${SYS}" != "mingw32"; then
4097 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4099 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4103 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4104 VLC_ADD_PLUGINS([opengl])
4105 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4113 [ --enable-sdl SDL support (default enabled)])
4114 AC_ARG_ENABLE(sdl-image,
4115 [ --enable-sdl-image SDL image support (default enabled)])
4116 if test "${enable_sdl}" != "no"
4119 AC_ARG_WITH(sdl-config-path,
4120 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4121 [ if test "${with_sdl_config_path}" != "no"
4123 SDL_PATH="${with_sdl_config_path}:${PATH}"
4125 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4126 SDL_CONFIG="${SDL12_CONFIG}"
4127 SDL_HEADER="SDL12/SDL.h"
4128 SDL_IMAGE="SDL12/SDL_image.h"
4129 if test "${SDL_CONFIG}" = "no"
4131 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4132 SDL_CONFIG=${SDL11_CONFIG}
4133 SDL_HEADER="SDL11/SDL.h"
4134 SDL_IMAGE="SDL11/SDL_image.h"
4136 if test "${SDL_CONFIG}" = "no"
4138 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4139 SDL_HEADER="SDL/SDL.h"
4140 SDL_IMAGE="SDL/SDL_image.h"
4142 # check for cross-compiling
4144 AC_ARG_WITH(sdl-prefix,
4145 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4147 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4148 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4150 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4152 if test "${SDL_CONFIG}" != "no"
4154 # SDL on Darwin is heavily patched and can only run SDL_image
4155 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4156 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4158 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4159 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4160 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4161 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4162 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4163 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4164 As a last resort we also test for SDL.h presence),
4165 [ AC_MSG_ERROR([The development package for SDL is not installed.
4166 Please install it and try again. Alternatively you can also configure with
4169 AS_IF([ test "${enable_sdl_image}" != "no"],[
4170 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4171 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4172 VLC_ADD_PLUGINS([sdl_image])
4173 AC_CHECK_LIB(png, png_set_rows,
4174 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4175 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4176 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4177 AC_CHECK_LIB(tiff, TIFFClientOpen,
4178 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4179 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4180 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4181 As a last resort we also test for SDL_image.h presence),
4182 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4183 You should install it alongside your SDL package.])
4186 CPPFLAGS="${CPPFLAGS_save}"
4187 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4189 AC_MSG_ERROR([The development package for SDL is not installed.
4190 Please install it and try again. Alternatively you can also configure with
4194 elif test "${enable_sdl}" = "yes"
4196 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4197 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4205 AC_ARG_ENABLE(freetype,
4206 [ --enable-freetype freetype support (default enabled)])
4207 AC_ARG_ENABLE(fribidi,
4208 [ --enable-fribidi fribidi support (default enabled)])
4209 if test "${enable_freetype}" != "no"
4211 FREETYPE_PATH="${PATH}"
4212 AC_ARG_WITH(freetype-config-path,
4213 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4214 [ if test "${with_freetype_config_path}" != "no"
4216 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4218 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4220 if test "${FREETYPE_CONFIG}" != "no"
4222 VLC_ADD_PLUGINS([freetype])
4223 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4224 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4225 if test "${SYS}" = "mingw32"; then
4226 VLC_ADD_LIBS([freetype],[-lxml2])
4228 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4229 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4230 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4231 AC_CHECK_HEADERS(Carbon/Carbon.h,
4232 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4233 elif test "${enable_freetype}" = "yes"
4235 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4236 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4241 if test "${enable_fribidi}" != "no"
4243 FRIBIDI_PATH="${PATH}"
4244 AC_ARG_WITH(fribidi-config-path,
4245 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4246 [ if test "${with_fribidi_config_path}" != "no"
4248 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4250 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4252 if test "${FRIBIDI_CONFIG}" != "no"
4254 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4255 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4256 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4257 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4265 AC_ARG_ENABLE(libxml2,
4266 [ --enable-libxml2 libxml2 support (default enabled)])
4267 if test "${enable_libxml2}" != "no"
4270 AC_ARG_WITH(xml2-config-path,
4271 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4272 [ if test "${with_xml2_config_path}" != "no"; then
4273 XML2_PATH="${with_xml2_config_path}:${PATH}"
4275 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4276 if test "${XML2_CONFIG}" != "no"; then
4277 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4278 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4279 dnl depends on the xmlTextReader extension
4280 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4281 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4282 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4283 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4284 VLC_ADD_PLUGINS([xml]) ],[
4285 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4286 if test "${enable_xml2}" = "yes"; then
4287 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4290 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4291 if test "${enable_xml2}" = "yes"; then
4292 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4294 LDFLAGS="${LDFLAGS_save}"
4295 CPPFLAGS="${CPPFLAGS_save}"
4297 if test "${enable_xml2}" = "yes"; then
4298 AC_MSG_ERROR([Could not find libxml2])
4307 [ --enable-svg SVG support (default disabled)])
4308 if test "${enable_svg}" = "yes"
4310 PKG_CHECK_MODULES(SVG,
4311 librsvg-2.0 >= 2.9.0,
4313 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4314 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4315 VLC_ADD_PLUGINS([svg]) ],
4316 [AC_MSG_WARN(SVG library not found)])
4320 dnl Snapshot vout module (with cache)
4322 AC_ARG_ENABLE(snapshot,
4323 [ --enable-snapshot snapshot module (default disabled)])
4324 if test "${enable_snapshot}" = "yes"
4326 VLC_ADD_PLUGINS([snapshot])
4330 dnl Qt Embedded module
4331 dnl (disabled by default)
4334 [ --enable-qte QT Embedded support (default disabled)])
4335 if test "${enable_qte}" = "yes"
4338 [ --with-qte=PATH Qt Embedded headers and libraries])
4339 if test "${with_qte}" != "no" -a -n "${with_qte}"
4341 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4342 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])
4344 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4345 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4347 VLC_ADD_PLUGINS([qte])
4349 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4350 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4351 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4353 CPPFLAGS="${CPPFLAGS_save}"
4357 dnl Qt Video output module
4358 dnl (disabled by default)
4360 dnl AC_ARG_ENABLE(qt_video,
4361 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4362 dnl if test "${enable_qt_video}" = "yes"
4364 dnl VLC_ADD_PLUGINS([qt_video])
4365 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4366 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4367 dnl AC_CHECK_LIB(qt-mt,main,[
4368 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4370 dnl AC_CHECK_LIB(qt,main,[
4371 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4374 dnl NEED_QTE_MAIN=yes
4375 dnl LDFLAGS="${LDFLAGS_save}"
4376 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4380 dnl Roku HD1000 Video output module
4382 AC_ARG_ENABLE(hd1000v,
4383 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4384 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4385 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4386 test "${enable_hd1000v}" = "yes"); then
4388 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4390 can_build_roku="yes"
4394 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4396 if test "$can_build_roku" = "yes"
4398 VLC_ADD_PLUGINS([hd1000v])
4399 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4405 dnl Windows DirectX module
4408 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4410 VLC_ADD_PLUGINS([panoramix])
4413 AC_ARG_ENABLE(directx,
4414 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4415 if test "${enable_directx}" != "no"
4417 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4419 AC_ARG_WITH(directx,
4420 [ --with-directx=PATH Win32 DirectX headers])
4421 if test -z "${with_directx}"
4423 AC_CHECK_HEADERS(ddraw.h,
4424 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4425 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4427 AC_CHECK_HEADERS(GL/gl.h,
4428 [ VLC_ADD_PLUGINS([glwin32])
4429 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4431 AC_CHECK_HEADERS(d3d9.h,
4432 [ VLC_ADD_PLUGINS([direct3d])
4433 VLC_ADD_LIBS([direct3d],[-lgdi32])
4436 AC_MSG_CHECKING(for directX headers in ${with_directx})
4437 if test -f ${with_directx}/ddraw.h
4439 VLC_ADD_PLUGINS([vout_directx aout_directx])
4440 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4441 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4445 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4452 dnl Linux framebuffer module
4455 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4456 if test "${enable_fb}" != "no"
4458 AC_CHECK_HEADERS(linux/fb.h, [
4459 VLC_ADD_PLUGINS([fb])
4464 dnl Linux MGA module
4467 [ --enable-mga Linux kernel Matrox support (default disabled)],
4468 [ if test "${enable_mga}" = "yes"
4470 VLC_ADD_PLUGINS([mga])
4476 AC_ARG_ENABLE(svgalib,
4477 [ --enable-svgalib SVGAlib support (default disabled)])
4478 if test "${enable_svgalib}" = "yes"
4480 VLC_ADD_PLUGINS([svgalib])
4481 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4486 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4487 dnl TODO: support for static linking
4489 AC_ARG_ENABLE(directfb,
4490 [ --enable-directfb DirectFB support (default disabled)])
4491 AC_ARG_WITH(directfb,
4492 [ --with-directfb=PATH path to DirectFB headers and libraries])
4494 if test "${enable_directfb}" = "yes"; then
4495 have_directfb="false"
4496 CPPFLAGS_mydirectfb=
4498 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4499 dnl Trying the given location
4500 CPPFLAGS_save="${CPPFLAGS}"
4503 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4504 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4505 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4507 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4508 LIBS="${LIBS} ${LIBS_new}"
4510 dnl FIXME: too obscure
4511 AC_CHECK_HEADER([directfb.h], [
4512 AC_CHECK_LIB([direct],[direct_initialize], [
4513 AC_CHECK_LIB([fusion], [fusion_enter], [
4514 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4515 ], have_directfb="false")
4516 ], have_directfb="false")
4517 ], have_directfb="false")
4520 CPPFLAGS="${CPPFLAGS_save}"
4523 if test "${have_directfb}" = "true"; then
4524 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4525 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4528 dnl Look for directfb-config
4529 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4530 if test "${DIRECTFB_CONFIG}" != "no"; then
4531 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4532 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4533 have_directfb="true"
4535 dnl Trying with pkg-config
4536 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4537 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4538 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4539 have_directfb="true"
4540 ], [have_directfb="false"])
4543 if test "${have_directfb}" = "true"; then
4544 VLC_ADD_PLUGINS([directfb])
4545 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4546 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4548 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4558 [ --enable-ggi GGI support (default disabled)])
4559 if test "${enable_ggi}" = "yes"
4561 VLC_ADD_PLUGINS([ggi])
4562 VLC_ADD_LIBS([ggi],[-lggi])
4564 [ --with-ggi=PATH path to libggi],
4565 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4567 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4568 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4575 AC_ARG_ENABLE(glide,
4576 [ --enable-glide Glide (3dfx) support (default disabled)])
4577 if test "${enable_glide}" = "yes"
4579 CFLAGS_save="${CFLAGS}"
4581 [ --with-glide=PATH path to libglide],
4582 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4584 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4585 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4586 CFLAGS="$CFLAGS -I${with_glide}/include"
4588 CFLAGS="$CFLAGS -I/usr/include/glide"
4589 AC_CHECK_HEADER(glide.h,[
4590 VLC_ADD_PLUGINS([glide])
4591 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4592 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4594 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4596 CFLAGS="${CFLAGS_save}"
4603 [ --enable-aa aalib output (default disabled)])
4604 if test "${enable_aa}" = "yes"
4606 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4607 if test "${have_aa}" = "true"
4609 VLC_ADD_PLUGINS([aa])
4610 VLC_ADD_LIBS([aa],[-laa])
4618 [ --enable-caca libcaca output (default disabled)])
4619 if test "${enable_caca}" = "yes"
4622 AC_ARG_WITH(caca-config-path,
4623 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4624 [ if test "${with_caca_config_path}" != "no"
4626 CACA_PATH="${with_caca_config_path}:${PATH}"
4628 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4629 if test "${CACA_CONFIG}" != "no"
4631 VLC_ADD_PLUGINS([caca])
4632 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4633 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4634 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4639 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4645 dnl win32 GDI plugin
4647 AC_ARG_ENABLE(wingdi,
4648 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4649 if test "${enable_wingdi}" != "no"; then
4650 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4651 VLC_ADD_PLUGINS([wingdi])
4652 VLC_ADD_LIBS([wingdi],[-lgdi32])
4654 if test "${SYS}" = "mingwce"; then
4655 VLC_ADD_PLUGINS([wingdi wingapi])
4663 AC_ARG_WITH(,[Audio plugins:])
4666 dnl OSS /dev/dsp module (enabled by default except on win32)
4669 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4671 if test "${enable_oss}" != "no" &&
4672 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4673 test "${enable_oss}" = "yes")
4675 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4676 VLC_ADD_PLUGINS([oss])
4677 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4685 [ --enable-esd Esound library support (default disabled)],
4686 [if test "${enable_esd}" = "yes"
4688 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4689 if test "${ESD_CONFIG}" != "no"
4691 VLC_ADD_PLUGINS([esd])
4692 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4693 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4698 dnl Portaudio module
4700 AC_ARG_ENABLE(portaudio,
4701 [ --enable-portaudio Portaudio library support (default disabled)],
4702 [if test "${enable_portaudio}" = "yes"
4704 VLC_ADD_PLUGINS([portaudio])
4705 VLC_ADD_CXXFLAGS([portaudio],[])
4706 if test "${SYS}" = "mingw32"; then
4707 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4709 VLC_ADD_LIBS([portaudio],[-lportaudio])
4714 dnl aRts module -- broken (freeze wxWidgets)
4717 [ --enable-arts aRts sound server (default disabled)],
4718 [if test "${enable_arts}" = "yes"
4720 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4721 if test "${ARTS_CONFIG}" != "no"
4723 VLC_ADD_PLUGINS([arts])
4724 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4725 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4733 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4734 if test "${enable_alsa}" != "no"
4736 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4737 if test "${have_alsa}" = "true"
4739 CFLAGS="${CFLAGS_save}"
4740 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4741 #define ALSA_PCM_NEW_SW_PARAMS_API
4742 #include <alsa/asoundlib.h>],
4743 [snd_pcm_hw_params_get_period_time(0,0,0);],
4744 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4745 VLC_ADD_PLUGINS([alsa])
4746 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4748 if test "${enable_alsa}" = "yes"; then
4749 AC_MSG_ERROR([Could not find ALSA development headers])
4755 dnl win32 waveOut plugin
4757 AC_ARG_ENABLE(waveout,
4758 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4759 if test "${enable_waveout}" != "no"; then
4760 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4761 VLC_ADD_PLUGINS([waveout])
4762 VLC_ADD_LIBS([waveout],[-lwinmm])
4764 if test "${SYS}" = "mingwce"; then
4765 VLC_ADD_PLUGINS([waveout])
4770 dnl CoreAudio plugin
4772 AC_ARG_ENABLE(macosx-audio,
4773 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4774 if test "${enable_macosx-audio}" != "no" &&
4775 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4777 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4778 [ VLC_ADD_BUILTINS([auhal])
4779 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4780 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4784 dnl Roku HD1000 audio
4786 AC_ARG_ENABLE(hd1000a,
4787 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4788 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4789 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4790 test "${enable_hd1000a}" = "yes")
4793 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4794 VLC_ADD_PLUGINS([hd1000a])
4795 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4803 [ --enable-jack JACK audio I/O modules (default disabled)],,
4806 AS_IF([test "${enable_jack}" != "no"], [
4807 AC_CHECK_HEADERS(jack/jack.h, [
4808 VLC_ADD_PLUGINS([access_jack jack])
4809 VLC_ADD_LIBS([access_jack jack],[-ljack])
4810 ],[AC_MSG_ERROR([cannot find JACK headers])])
4814 dnl CyberLink for C++ UPnP stack
4816 AC_ARG_ENABLE(cyberlink,
4817 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4818 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4819 AC_ARG_WITH(cyberlink-tree,
4820 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4823 dnl test for --with-cyberlink-tree
4825 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4827 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4828 AS_IF([test -z "${real_cyberlink_tree}"], [
4829 dnl The given directory can't be found
4831 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4833 CPPFLAGS_save="${CPPFLAGS}"
4834 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4835 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4836 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4837 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4838 VLC_ADD_PLUGINS([upnp_cc])
4840 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4842 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4843 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4844 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4845 dnl The mere fact that we have to make such an ugly check sucks
4846 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4849 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4850 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4851 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4852 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4853 using namespace CyberLink;
4855 class testclass : public SearchResponseListener, public MediaPlayer
4857 virtual void deviceSearchResponseReceived( SSDPPacket *)
4864 addSearchResponseListener (this);
4868 ],[testclass l;])],[LIBS_cclink="$l"])
4871 dnl should not happen - otherwise this needs fixing - hence FAILURE
4872 AS_IF([test "${LIBS_cclink}" = "no"],
4873 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4874 AC_MSG_RESULT([${LIBS_cclink}])
4875 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4878 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4880 CPPFLAGS="${CPPFLAGS_save}"
4886 dnl UPnP Plugin (Intel SDK)
4889 [ --enable-upnp Intel UPnP SDK (default enabled)])
4891 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4892 AS_IF([test "x${enable_upnp}" != "xno"], [
4893 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4894 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4895 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4897 AS_IF([test "${has_upnp}" = "yes"], [
4898 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4904 AS_IF([test "${has_upnp}" = "yes"], [
4905 VLC_ADD_PLUGINS([upnp_intel])
4910 dnl Interface plugins
4913 AC_ARG_WITH(,[Interface plugins:])
4915 dnl special case for BeOS
4916 if test "${SYS}" = "beos"
4918 VLC_ADD_BUILTINS([beos])
4924 AC_ARG_ENABLE(skins2,
4925 [ --enable-skins2 Skins2 interface module (default disabled)])
4926 if test "${enable_skins2}" = "yes" ||
4927 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4928 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4930 dnl test for the required libraries
4931 skins2_missing_lib="no"
4934 if test "${FREETYPE_CONFIG}" != "no"; then
4935 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4936 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4938 skins2_missing_lib="yes"
4939 if test "${enable_skins2}" = "yes"; then
4940 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4944 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4945 VLC_ADD_PLUGINS([skins2])
4946 ALIASES="${ALIASES} svlc"
4947 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4948 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4949 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4951 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4952 VLC_ADD_PLUGINS([skins2])
4953 ALIASES="${ALIASES} svlc"
4954 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4955 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4956 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4958 else if test "${skins2_missing_lib}" = "no"; then
4959 VLC_ADD_PLUGINS([skins2])
4960 ALIASES="${ALIASES} svlc"
4961 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4962 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4963 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4971 dnl AC_ARG_ENABLE(gtk,
4972 dnl [ --enable-gtk Gtk+ support (default enabled)])
4973 dnl if test "${enable_gtk}" != "no"
4975 dnl GTK_PATH="${PATH}"
4976 dnl AC_ARG_WITH(gtk-config-path,
4977 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4978 dnl [ if test "${with_gtk_config_path}" != "no"
4980 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4982 dnl # look for gtk-config
4983 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4984 dnl GTK_CONFIG=${GTK12_CONFIG}
4985 dnl if test "${GTK_CONFIG}" = "no"
4987 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4989 dnl if test "${GTK_CONFIG}" != "no"
4991 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4993 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.])
4995 dnl if test "${SYS}" != "mingw32"; then
4996 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4997 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4999 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5000 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5002 dnl # now look for the gtk.h header
5003 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5004 dnl ac_cv_gtk_headers=yes
5005 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5006 dnl ac_cv_gtk_headers=no
5007 dnl echo "Cannot find gtk development headers."
5009 dnl if test "${ac_cv_gtk_headers}" = "yes"
5011 dnl VLC_ADD_PLUGINS([gtk])
5012 dnl if test "${SYS}" != "mingw32"; then
5013 dnl NEED_GTK_MAIN=yes
5015 dnl ALIASES="${ALIASES} gvlc"
5017 dnl CPPFLAGS="${CPPFLAGS_save}"
5022 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5024 dnl AC_ARG_ENABLE(gtk2,
5025 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5026 dnl if test "${enable_gtk2}" = "yes"
5028 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5029 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5030 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5031 dnl VLC_ADD_PLUGINS([gtk2])
5032 dnl if test "${SYS}" != "mingw32"; then
5033 dnl NEED_GTK2_MAIN=yes
5038 dnl PDA Gtk+2 module
5041 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5042 if test "${enable_pda}" = "yes"
5044 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5045 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5046 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5047 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5048 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5049 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5050 VLC_ADD_PLUGINS([pda])
5051 if test "${SYS}" != "mingw32"; then
5057 dnl dnl Gnome module
5059 dnl AC_ARG_ENABLE(gnome,
5060 dnl [ --enable-gnome Gnome interface support (default disabled)],
5061 dnl [if test "${enable_gnome}" = "yes"; then
5062 dnl # look for gnome-config
5063 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5064 dnl if test -x ${GNOME_CONFIG}
5066 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5067 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5069 dnl # now look for the gnome.h header
5070 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5071 dnl AC_CHECK_HEADERS(gnome.h, [
5072 dnl VLC_ADD_PLUGINS([gnome])
5073 dnl NEED_GTK_MAIN=yes
5074 dnl NEED_GNOME_MAIN=yes
5075 dnl ALIASES="${ALIASES} gnome-vlc"
5076 dnl dnl We need this because of some moronic gnomesupport.h flavours
5077 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5078 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5079 dnl AC_MSG_RESULT(yes)
5080 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5081 dnl Define if <gnome.h> defines strndup.)],[
5082 dnl AC_MSG_RESULT(no)])
5084 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5085 dnl developement tools or remove the --enable-gnome option])
5087 dnl CPPFLAGS="${CPPFLAGS_save}"
5091 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5093 dnl AC_ARG_ENABLE(gnome2,
5094 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5095 dnl if test "${enable_gnome2}" = "yes"
5097 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5098 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5099 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5100 dnl VLC_ADD_PLUGINS([gnome2])
5101 dnl if test "${SYS}" != "mingw32"; then
5102 dnl NEED_GNOME2_MAIN=yes
5107 dnl wxWidgets module
5109 AC_ARG_ENABLE(wxwidgets,
5110 [ --enable-wxwidgets wxWidgets support (default disabled)])
5112 if test "${enable_wxwidgets}" = "yes"
5114 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5115 WXWIDGETS_PATH="${PATH}"
5116 AC_ARG_WITH(wx-config-path,
5117 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5118 [ if test "${with_wx_config_path}" != "no"
5120 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5122 WXWIDGETS_NAME="wx-config"
5123 AC_ARG_WITH(wx-config,
5124 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5125 [ if test "${with_wx_config}" != "no"
5127 WXWIDGETS_NAME="${with_wx_config}"
5129 # look for wx-config
5130 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5131 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5133 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5135 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5139 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5140 # into a warning. However better would be to fix playlist.cpp
5141 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5142 [ac_cv_cxx_fpermissive],
5143 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5144 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5145 ac_cv_cxx_fpermissive=no)])
5146 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5147 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5149 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5150 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5151 # check if we must link against gtk2 libs
5152 # if __WXGTK20__ && __WXGTK__ are defined
5153 # for modules/gui/wxwidgets/video.cpp
5154 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5157 #error ok, we need to link against gtk2
5159 ])],[WXGTK=no],[WXGTK=yes])
5160 if test "$WXGTK" = "yes"; then
5161 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5163 if ${WX_CONFIG} --unicode
5165 # wxwidgets should provide the following flags but does not
5166 # the following is required to compile for win32
5167 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5169 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5171 if test "$have_libcdio" = "yes"
5173 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5174 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5176 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5179 if test "$have_libvcdinfo" = "yes"
5181 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5182 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5184 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5187 # now look for the wxprec.h header
5188 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5189 ac_cv_wx_headers=yes
5190 AC_CHECK_HEADERS(wx/wxprec.h, , [
5192 echo "Cannot find wxWidgets development headers."
5194 if test "${ac_cv_wx_headers}" = "yes"
5196 VLC_ADD_PLUGINS([wxwidgets])
5197 ALIASES="${ALIASES} wxvlc"
5199 CPPFLAGS="${CPPFLAGS_save}"
5202 dnl WxWidgets plugin will yield incorrect code without this
5203 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5211 [ --enable-qt4 QT 4 support (default enabled) ])
5212 AS_IF([test "${enable_qt4}" != "no" &&
5213 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5214 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5215 [ VLC_ADD_PLUGINS([qt4])
5216 ALIASES="${ALIASES} qvlc"
5218 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5219 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5220 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5221 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5222 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5224 AS_IF([test "${enable_qt4}" = "yes"],[
5225 AC_MSG_ERROR(QT4 library not found)
5227 AC_MSG_WARN(QT4 library not found)
5231 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5234 dnl WinCE GUI module
5236 if test "${SYS}" = "mingwce"; then
5237 VLC_ADD_BUILTINS([wince])
5238 VLC_ADD_CXXFLAGS([wince],[])
5239 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5241 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5242 elif test "${SYS}" = "mingw32"; then
5243 VLC_ADD_CXXFLAGS([wince],[])
5244 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5246 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5250 dnl Simple test for skins2 dependency
5252 if test "${enable_skins2}" != "no"
5254 if test "${WX_CONFIG}" = "no"
5256 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.])
5263 dnl AC_ARG_ENABLE(qt,
5264 dnl [ --enable-qt Qt interface support (default disabled)],
5265 dnl [if test "${enable_qt}" = "yes"; then
5266 dnl VLC_ADD_PLUGINS([qt])
5267 dnl ALIASES="${ALIASES} qvlc"
5268 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5269 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5270 dnl AC_CHECK_LIB(qt-mt,main,[
5271 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5273 dnl AC_CHECK_LIB(qt,main,[
5274 dnl VLC_ADD_LIBS([qt],[-lqt])
5277 dnl LDFLAGS="${LDFLAGS_save}"
5278 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5279 dnl if test -x ${QTDIR}/bin/moc
5281 dnl MOC=${QTDIR}/bin/moc
5290 dnl AC_ARG_ENABLE(kde,
5291 dnl [ --enable-kde KDE interface support (default disabled)],
5292 dnl [if test "${enable_kde}" = "yes"; then
5293 dnl VLC_ADD_PLUGINS([kde])
5294 dnl ALIASES="${ALIASES} kvlc"
5295 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5296 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5297 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5298 dnl AC_CHECK_LIB(kfile,main,[
5299 dnl VLC_ADD_LIBS([kde],[-lkfile])
5301 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5302 dnl AC_CHECK_LIB(kdeui,main,[
5303 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5305 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5306 dnl AC_CHECK_LIB(kio,main,[
5307 dnl VLC_ADD_LIBS([kde],[-lkio])
5309 dnl LDFLAGS="${LDFLAGS_save}"
5310 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5311 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5312 dnl if test -x ${QTDIR}/bin/moc
5314 dnl MOC=${QTDIR}/bin/moc
5321 dnl Opie QT embedded module
5324 [ --enable-opie Qt embedded interface support (default disabled)],
5325 [if test "${enable_opie}" = "yes"; then
5327 [ --with-qte=PATH Qt Embedded headers and libraries])
5328 if test "${with_qte}" != "no" -a -n "${with_qte}"
5330 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5331 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])
5333 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5334 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5336 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5337 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5338 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5340 CPPFLAGS="${CPPFLAGS_save}"
5342 VLC_ADD_PLUGINS([opie])
5344 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5345 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5346 if test "${with_qte}" != "no" -a -n "${with_qte}"
5348 MOC=${with_qte}/bin/moc
5350 MOC=${QTDIR}/bin/moc
5355 dnl MacOS X video output/gui modules
5357 AC_ARG_ENABLE(macosx,
5358 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5359 if test "x${enable_macosx}" = "xyes"
5361 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5362 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5363 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5364 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5365 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5366 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5367 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5368 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5369 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5370 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5371 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
5373 VLC_ADD_PLUGINS([access_eyetv])
5374 VLC_ADD_BUILTINS([macosx minimal_macosx])
5377 CFLAGS="$CFLAGS -x objective-c"
5378 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5386 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5387 if test "${enable_qnx}" != "no"
5389 AC_CHECK_HEADERS(Ph.h, [
5390 VLC_ADD_PLUGINS([qnx])
5391 VLC_ADD_LIBS([qnx],[-lasound -lph])
5398 AC_ARG_ENABLE(ncurses,
5399 [ --disable-ncurses ncurses interface support (default enabled)],
5400 [if test "${enable_ncurses}" != "no"; then
5401 AC_CHECK_HEADER(ncurses.h,
5402 [AC_CHECK_LIB(ncursesw, mvprintw,
5403 [VLC_ADD_PLUGINS([ncurses])
5404 VLC_ADD_LIBS([ncurses],[-lncursesw])
5405 ALIASES="${ALIASES} nvlc"
5406 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5408 [AC_CHECK_LIB( ncurses, mvprintw,
5409 [VLC_ADD_PLUGINS([ncurses])
5410 ALIASES="${ALIASES} nvlc"
5411 VLC_ADD_LIBS([ncurses],[-lncurses])],
5412 [AS_IF([test "x${enable_ncurses}" != "x"], [
5413 AC_MSG_ERROR([libncurses not found])])]
5424 [ --enable-xosd xosd interface support (default disabled)])
5425 if test "${enable_xosd}" = "yes"
5427 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5428 AC_CHECK_LIB(xosd,xosd_set_offset,
5429 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5430 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5431 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5432 AC_TRY_COMPILE([#include <xosd.h>],
5433 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5434 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5435 if test "${have_xosd}" = "true"
5437 VLC_ADD_PLUGINS([xosd])
5438 VLC_ADD_LIBS([xosd],[-lxosd])
5443 dnl Framebuffer (overlay) plugin
5445 AC_ARG_ENABLE(fbosd,
5446 [ --enable-fbosd fbosd interface support (default disabled)])
5447 if test "${enable_fbosd}" = "yes"
5449 AC_CHECK_HEADERS(linux/fb.h, [
5450 VLC_ADD_PLUGINS([fbosd])
5455 dnl Visualisation plugin
5457 AC_ARG_ENABLE(visual,
5458 [ --enable-visual visualisation plugin (default enabled)])
5459 if test "${enable_visual}" != "no"
5461 VLC_ADD_PLUGINS([visual])
5465 dnl OpenGL visualisation plugin
5467 AC_ARG_ENABLE(galaktos,
5468 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5469 if test "${enable_galaktos}" = "yes"
5471 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5472 VLC_ADD_PLUGINS([galaktos])
5473 if test "${SYS}" != "mingw32"; then
5474 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5476 VLC_ADD_LIBS([galaktos],[-lopengl32])
5482 dnl goom visualization plugin
5485 [ --enable-goom goom visualisation plugin (default disabled)])
5486 if test "${enable_goom}" = "yes"
5488 AC_ARG_WITH(goom-tree,
5489 [ --with-goom-tree=PATH goom tree for static linking (required)])
5492 dnl test for --with-goom-tree
5494 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5495 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5496 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5497 if test -z "${real_goom_tree}"; then
5498 dnl The given directory can't be found
5500 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5502 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5503 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5504 VLC_ADD_BUILTINS([goom])
5505 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5506 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5508 dnl The given libgoom2 wasn't built, try to look for the old goom
5510 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5511 if test -f "${real_goom_tree}/libgoom.a"; then
5512 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5513 VLC_ADD_BUILTINS([goom])
5514 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5515 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5517 dnl The given libgoom wasn't built
5519 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5523 AC_CHECK_HEADERS(goom/goom.h, [
5524 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5525 AC_CHECK_LIB(goom2, goom_init, [
5526 VLC_ADD_PLUGINS([goom])
5527 VLC_ADD_LIBS([goom],[-lgoom2])
5529 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5531 LDFLAGS="${LDFLAGS_save}"
5537 dnl Bonjour services discovery
5539 AC_ARG_ENABLE(bonjour,
5540 [ --enable-bonjour Bonjour services discovery (default enabled)])
5541 if test "${enable_bonjour}" != "no"
5543 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5544 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5545 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5546 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5547 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5548 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5549 VLC_ADD_PLUGINS([bonjour]) ],
5550 [AC_MSG_WARN(avahi-client library not found)])
5557 [ --enable-lirc lirc support (default disabled)])
5558 if test "${enable_lirc}" = "yes"
5560 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5561 if test "${have_lirc}" = "true"
5563 VLC_ADD_PLUGINS([lirc])
5564 VLC_ADD_LIBS([lirc],[-llirc_client])
5569 AC_ARG_WITH(,[Misc options:])
5574 AC_ARG_ENABLE(gnutls,
5575 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5577 AS_IF([test "${enable_gnutls}" != "no"], [
5578 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5580 AS_IF([test "${have_gnutls}" = "yes"], [
5581 VLC_ADD_PLUGINS([gnutls])
5582 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5583 AS_IF([test "${SYS}" = "mingw32"], [
5584 dnl pkg-config --libs gnutls omits these
5585 VLC_ADD_LIBS([gnutls], [-lz])
5586 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5588 AC_CHECK_LIB([gcrypt], [gcry_control], [
5589 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5590 ], [], [-lgpg-error])
5591 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5593 AS_IF([test "${enable_gnutls}" = "yes"], [
5594 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5602 AC_ARG_ENABLE(libgcrypt,
5603 [ --enable-libgcrypt libgcrypts support (default enabled)])
5604 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5606 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5607 dnl it and looks for libgcrypt headers in the wrong place.
5608 if test "${host_cpu}" = "${build_cpu}"
5610 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5612 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5615 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5618 dnl update checking system
5620 AC_ARG_ENABLE(update-check,
5621 [ --enable-update-check update checking system (default disabled)])
5622 if test "${enable_update_check}" = "yes"
5624 if test "${have_libgcrypt}" != "yes"
5626 AC_MSG_ERROR([libgcrypt is required for update checking system])
5628 VLC_ADD_LIBS([libvlc], [-lgcrypt])
5629 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5633 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5635 dnl We give the user the opportunity to specify
5636 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5639 [ --with-words=endianness set endianness (big or little)])
5640 case "${with_words}" in
5642 ac_cv_c_bigendian=yes
5645 ac_cv_c_bigendian=no
5648 dnl Try to guess endianness by matching patterns on a compiled
5649 dnl binary, by looking for an ASCII or EBCDIC string
5650 AC_CACHE_CHECK([whether the byte order is big-endian],
5651 [ac_cv_c_bigendian],
5652 [ac_cv_c_bigendian="unknown"
5653 [cat >conftest.c <<EOF
5654 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5655 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5656 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5657 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5658 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5659 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5660 int main(void) { _a(); _e(); return 0; }
5663 if test -f conftest.c
5665 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5666 && test -f conftest.o
5668 if test "`strings conftest.o | grep BIGenDianSyS`"
5670 ac_cv_c_bigendian="yes"
5672 if test "`strings conftest.o | grep LiTTleEnDian`"
5674 ac_cv_c_bigendian="no"
5679 if test "${ac_cv_c_bigendian}" = "unknown"
5681 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5685 dnl Now we know what to use for endianness, just put it in the header
5686 if test "${ac_cv_c_bigendian}" = "yes"
5688 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5692 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5695 AC_ARG_ENABLE(loader,
5696 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5697 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5698 AS_IF([test "${enable_loader}" = "yes"],
5699 [ VLC_ADD_PLUGINS([dmo])
5700 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5701 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5702 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5703 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5704 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5705 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5709 dnl Microsoft ActiveX support
5712 AC_ARG_ENABLE(activex,
5713 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5714 AC_ARG_WITH(wine-sdk-path,
5715 [ --with-wine-sdk-path=PATH path to wine sdk])
5716 if test "${enable_activex}" != "no"
5718 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5720 AC_CHECK_PROGS(MIDL, [midl], no)
5721 if test "${with_wine_sdk_path}" != ""
5723 WINE_SDK_PATH=${with_wine_sdk_path}
5724 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5729 AC_CHECK_HEADERS(ole2.h,
5730 [AC_CHECK_HEADERS(olectl.h,
5731 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5732 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5733 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5734 AC_CHECK_HEADERS(objsafe.h,
5735 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5743 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5745 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5747 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5752 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5753 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5754 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5755 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5756 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5762 AC_ARG_ENABLE(mozilla,
5763 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5764 AC_ARG_WITH(mozilla-sdk-path,
5765 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5767 if test "${enable_mozilla}" = "yes"
5769 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5770 need_xpcom_libs=false
5772 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5774 dnl New firefox-1.5 SDK api
5775 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5777 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5780 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5783 PKG_CHECK_MODULES([NSPR], [nspr],
5786 AC_MSG_ERROR([Please install the nspr development tools.])
5792 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5793 MOZILLA_REQUIRED_HEADERS=1
5794 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5795 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5796 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5801 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5802 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5804 MOZILLA_REQUIRED_HEADERS=
5806 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5807 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5808 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5809 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5810 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5812 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5814 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5815 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5816 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
5818 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5819 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5820 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5821 VLC_ADD_PLUGINS([mozilla])
5823 CPPFLAGS="${CPPFLAGS_save}"
5826 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5827 if test "${MOZILLA_CONFIG}" = "no"
5829 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5830 if test "${SEAMONKEY_CONFIG}" = "no"
5832 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5833 if test "${XULRUNNER_CONFIG}" = "no"
5835 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5838 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5841 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5846 if test ! -z "${MOZILLA_CONFIG}"
5848 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5849 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5850 AC_CHECK_LIB(Xt,XtStrings,
5852 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5853 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5856 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5858 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5859 LDFLAGS="${LDFLAGS_save}"
5863 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5864 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5865 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5866 if ${need_xpcom_libs}; then
5867 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5869 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5871 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5872 MOZILLA_REQUIRED_HEADERS=1
5873 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5874 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5875 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5880 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5882 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5884 MOZILLA_REQUIRED_HEADERS=
5885 CPPFLAGS="${CPPFLAGS_save}"
5886 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5888 dnl End of moz_sdk = ""
5890 dnl special case for mingw32
5891 if test "${SYS}" = "mingw32"
5893 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5894 dnl latest gecko sdk does not have an xpcom directory
5895 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5896 mozilla_sdk_xpcom="/xpcom"
5900 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5901 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5902 MOZILLA_REQUIRED_HEADERS=1
5903 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5904 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5905 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5910 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5912 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5914 MOZILLA_REQUIRED_HEADERS=
5916 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5917 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])
5918 if ${need_xpcom_libs}; then
5919 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])
5920 if test "${SYS}" = "mingw32"; then
5921 dnl latest gecko sdk does not have embedstring
5922 if test -d "${real_mozilla_sdk}/embedstring/bin"
5924 VLC_ADD_LIBS([mozilla],[-lembedstring])
5928 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5930 if test -n "${CYGPATH}"; then
5931 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5933 CPPFLAGS="${CPPFLAGS_save}"
5937 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5939 dnl Tests for Osso and Xsp
5940 if test "${enable_x11}" != "no" &&
5941 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5942 test "${enable_x11}" = "yes"); then
5943 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5944 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5945 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5946 VLC_ADD_LIBS([x11],[-losso])
5949 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5950 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5951 VLC_ADD_LIBS([x11],[-lXsp])
5956 dnl Mediacontrol Python bindings
5958 AC_ARG_ENABLE(python-bindings,
5959 [ --enable-python-bindings Enable Python bindings (default disabled)])
5960 dnl TODO: look for python dev headers
5961 AS_IF([test "${enable_python_bindings}" = "yes"],
5962 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5965 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5970 AC_ARG_ENABLE(java-bindings,
5971 [ --enable-java-bindings Enable Java bindings (default disabled)])
5972 if test "${enable_java_bindings}" = "yes"
5974 AS_IF([test "x${JAVA_HOME}" == "x"],
5975 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5978 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5979 if test "${JAVAC}" == "javac${EXEEXT}"
5981 JAVAC="javac${EXEEXT} -cp ./ "
5984 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5989 AC_ARG_ENABLE(testsuite,
5990 [ --enable-testsuite build test modules (default disabled)])
5991 if test "${enable_testsuite}" = "yes"
5993 TESTS="test1 test2 test3 test4"
5995 dnl we define those so that bootstrap sets the right linker
5996 VLC_ADD_CXXFLAGS([test2],[])
5997 VLC_ADD_OBJCFLAGS([test3],[])
5998 dnl this one is needed until automake knows what to do
5999 VLC_ADD_LIBS([test3],[-lobjc])
6001 VLC_ADD_PLUGINS([${TESTS}])
6005 dnl Microsoft Layer for Unicode for WIN9x/ME
6007 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6009 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6010 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6017 if test "${NEED_GTK_MAIN}" != "no"
6019 VLC_ADD_PLUGINS([gtk_main])
6020 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6021 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6024 if test "${NEED_GNOME_MAIN}" != "no"
6026 VLC_ADD_PLUGINS([gnome_main])
6027 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6028 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6031 if test "${NEED_GTK2_MAIN}" != "no"
6033 VLC_ADD_PLUGINS([gtk2_main])
6034 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6035 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6036 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6037 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6040 if test "${NEED_GNOME2_MAIN}" != "no"
6042 VLC_ADD_PLUGINS([gnome2_main])
6043 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6044 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6050 if test "${NEED_QTE_MAIN}" != "no"
6052 VLC_ADD_PLUGINS([qte_main])
6053 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6054 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6055 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6060 dnl Plugin and builtin checks
6064 dnl Automagically disable plugins if there is no system support for
6065 dnl dynamically loadable files (.so, .dll, .dylib).
6066 dnl don't forget vlc-win32 still can load .dll as plugins
6067 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6068 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6072 AS_IF([test "${enable_shared}" = "no"], [
6076 AS_IF([test "${plugin_support}" != "no"], [
6077 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6080 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6082 dnl Temporary(?) hack for plugins/builtins transition
6083 VLC_ADD_PLUGINS([${BUILTINS}])
6087 dnl Pic and shared libvlc stuff
6089 AS_IF([test "${SYS}" = "mingw32"], [
6090 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6091 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6095 dnl Stuff used by the program
6097 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6098 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6099 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6100 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6101 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6102 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6103 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6104 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6105 AC_SUBST(VERSION_MAJOR)
6106 AC_SUBST(VERSION_MINOR)
6107 AC_SUBST(VERSION_REVISION)
6108 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6109 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6110 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6111 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6114 dnl Handle substvars that use $(top_srcdir)
6116 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6117 AC_SUBST(VLC_CONFIG)
6118 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6126 dnl Create the vlc-config script
6128 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6131 dnl Configuration is finished
6141 AC_SUBST(MOZILLA_SDK_PATH)
6142 AC_SUBST(WINE_SDK_PATH)
6144 AC_SUBST(AM_CPPFLAGS)
6145 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6146 AC_SUBST(FILE_LIBVLC_DLL)
6147 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6149 dnl Create vlc-config.in
6150 VLC_OUTPUT_VLC_CONFIG_IN
6158 bindings/java/Makefile
6159 bindings/java/src/Makefile
6160 bindings/python/Makefile
6164 libs/loader/Makefile
6175 modules/access/Makefile
6176 modules/access/bda/Makefile
6177 modules/access/dshow/Makefile
6178 modules/access/dvb/Makefile
6179 modules/access/mms/Makefile
6180 modules/access/cdda/Makefile
6181 modules/access/rtsp/Makefile
6182 modules/access/v4l2/Makefile
6183 modules/access/vcd/Makefile
6184 modules/access/vcdx/Makefile
6185 modules/access/screen/Makefile
6186 modules/access_filter/Makefile
6187 modules/access_output/Makefile
6188 modules/audio_filter/Makefile
6189 modules/audio_filter/channel_mixer/Makefile
6190 modules/audio_filter/converter/Makefile
6191 modules/audio_filter/resampler/Makefile
6192 modules/audio_filter/spatializer/Makefile
6193 modules/audio_mixer/Makefile
6194 modules/audio_output/Makefile
6195 modules/codec/Makefile
6196 modules/codec/cmml/Makefile
6197 modules/codec/dmo/Makefile
6198 modules/codec/ffmpeg/Makefile
6199 modules/codec/subtitles/Makefile
6200 modules/codec/spudec/Makefile
6201 modules/codec/xvmc/Makefile
6202 modules/control/Makefile
6203 modules/control/http/Makefile
6204 modules/demux/Makefile
6205 modules/demux/asf/Makefile
6206 modules/demux/avi/Makefile
6207 modules/demux/mp4/Makefile
6208 modules/demux/mpeg/Makefile
6209 modules/demux/playlist/Makefile
6210 modules/gui/Makefile
6211 modules/gui/beos/Makefile
6212 modules/gui/pda/Makefile
6213 modules/gui/macosx/Makefile
6214 modules/gui/minimal_macosx/Makefile
6215 modules/gui/qnx/Makefile
6216 modules/gui/qt4/Makefile
6217 modules/gui/skins2/Makefile
6218 modules/gui/wxwidgets/Makefile
6219 modules/gui/wince/Makefile
6220 modules/meta_engine/Makefile
6221 modules/misc/Makefile
6222 modules/misc/dummy/Makefile
6223 modules/misc/lua/Makefile
6224 modules/misc/memcpy/Makefile
6225 modules/misc/notify/Makefile
6226 modules/misc/testsuite/Makefile
6227 modules/misc/playlist/Makefile
6228 modules/misc/osd/Makefile
6229 modules/misc/xml/Makefile
6230 modules/misc/probe/Makefile
6231 modules/mux/Makefile
6232 modules/mux/mpeg/Makefile
6233 modules/mux/rtp/Makefile
6234 modules/packetizer/Makefile
6235 modules/services_discovery/Makefile
6236 modules/stream_out/Makefile
6237 modules/stream_out/transrate/Makefile
6238 modules/video_chroma/Makefile
6239 modules/video_filter/Makefile
6240 modules/video_output/Makefile
6241 modules/video_output/msw/Makefile
6242 modules/video_output/qte/Makefile
6243 modules/video_output/x11/Makefile
6244 modules/visualization/Makefile
6245 modules/visualization/visual/Makefile
6246 modules/visualization/galaktos/Makefile
6249 dnl Generate makefiles
6252 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6253 # not provided with the source
6254 ${SHELL} ./config.status --file=vlc-config
6255 chmod 0755 vlc-config
6257 dnl echo "Enabled builtin modules :"
6258 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6260 dnl echo "Enabled plugin modules :"
6261 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6263 dnl Shortcut to nice compile message
6265 echo '#! /bin/sh' >compile
6267 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6268 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6273 --------------------
6274 vlc version : ${VERSION}
6276 architecture : ${ARCH}
6278 test "${enable_debug}" = "yes" && printf "debug "
6279 test "${enable_cprof}" = "yes" && printf "cprof "
6280 test "${enable_gprof}" = "yes" && printf "gprof "
6281 test "${enable_optimizations}" = "yes" && printf "optim "
6282 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6284 vlc aliases :${ALIASES}
6285 plugins/bindings :${PLUGINS_BINDINGS}
6287 You can check which modules have been enabled
6288 with \`./vlc-config --list plugin'.
6289 You can tune the compiler flags in vlc-config.
6290 To build vlc and its plugins, type \`./compile' or \`make'.
6292 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6294 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6296 echo " FFmpeg will be REALLY slow."
6297 echo " VLC WILL NOT PERFORM AS EXPECTED."