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`])
4638 dnl win32 GDI plugin
4640 AC_ARG_ENABLE(wingdi,
4641 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4642 if test "${enable_wingdi}" != "no"; then
4643 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4644 VLC_ADD_PLUGINS([wingdi])
4645 VLC_ADD_LIBS([wingdi],[-lgdi32])
4647 if test "${SYS}" = "mingwce"; then
4648 VLC_ADD_PLUGINS([wingdi wingapi])
4656 AC_ARG_WITH(,[Audio plugins:])
4659 dnl OSS /dev/dsp module (enabled by default except on win32)
4662 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4664 if test "${enable_oss}" != "no" &&
4665 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4666 test "${enable_oss}" = "yes")
4668 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4669 VLC_ADD_PLUGINS([oss])
4670 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4678 [ --enable-esd Esound library support (default disabled)],
4679 [if test "${enable_esd}" = "yes"
4681 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4682 if test "${ESD_CONFIG}" != "no"
4684 VLC_ADD_PLUGINS([esd])
4685 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4686 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4691 dnl Portaudio module
4693 AC_ARG_ENABLE(portaudio,
4694 [ --enable-portaudio Portaudio library support (default disabled)],
4695 [if test "${enable_portaudio}" = "yes"
4697 VLC_ADD_PLUGINS([portaudio])
4698 VLC_ADD_CXXFLAGS([portaudio],[])
4699 if test "${SYS}" = "mingw32"; then
4700 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4702 VLC_ADD_LIBS([portaudio],[-lportaudio])
4707 dnl aRts module -- broken (freeze wxWidgets)
4710 [ --enable-arts aRts sound server (default disabled)],
4711 [if test "${enable_arts}" = "yes"
4713 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4714 if test "${ARTS_CONFIG}" != "no"
4716 VLC_ADD_PLUGINS([arts])
4717 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4718 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4726 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4727 if test "${enable_alsa}" != "no"
4729 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4730 if test "${have_alsa}" = "true"
4732 CFLAGS="${CFLAGS_save}"
4733 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4734 #define ALSA_PCM_NEW_SW_PARAMS_API
4735 #include <alsa/asoundlib.h>],
4736 [snd_pcm_hw_params_get_period_time(0,0,0);],
4737 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4738 VLC_ADD_PLUGINS([alsa])
4739 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4741 if test "${enable_alsa}" = "yes"; then
4742 AC_MSG_ERROR([Could not find ALSA development headers])
4748 dnl win32 waveOut plugin
4750 AC_ARG_ENABLE(waveout,
4751 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4752 if test "${enable_waveout}" != "no"; then
4753 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4754 VLC_ADD_PLUGINS([waveout])
4755 VLC_ADD_LIBS([waveout],[-lwinmm])
4757 if test "${SYS}" = "mingwce"; then
4758 VLC_ADD_PLUGINS([waveout])
4763 dnl CoreAudio plugin
4765 AC_ARG_ENABLE(macosx-audio,
4766 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4767 if test "${enable_macosx-audio}" != "no" &&
4768 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4770 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4771 [ VLC_ADD_BUILTINS([auhal])
4772 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4773 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4777 dnl Roku HD1000 audio
4779 AC_ARG_ENABLE(hd1000a,
4780 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4781 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4782 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4783 test "${enable_hd1000a}" = "yes")
4786 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4787 VLC_ADD_PLUGINS([hd1000a])
4788 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4796 [ --enable-jack JACK audio I/O modules (default disabled)],,
4799 AS_IF([test "${enable_jack}" != "no"], [
4800 AC_CHECK_HEADERS(jack/jack.h, [
4801 VLC_ADD_PLUGINS([access_jack jack])
4802 VLC_ADD_LIBS([access_jack jack],[-ljack])
4803 ],[AC_MSG_ERROR([cannot find JACK headers])])
4807 dnl CyberLink for C++ UPnP stack
4809 AC_ARG_ENABLE(cyberlink,
4810 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4811 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4812 AC_ARG_WITH(cyberlink-tree,
4813 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4816 dnl test for --with-cyberlink-tree
4818 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4820 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4821 AS_IF([test -z "${real_cyberlink_tree}"], [
4822 dnl The given directory can't be found
4824 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4826 CPPFLAGS_save="${CPPFLAGS}"
4827 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4828 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4829 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4830 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4831 VLC_ADD_PLUGINS([upnp_cc])
4833 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4835 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4836 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4837 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4838 dnl The mere fact that we have to make such an ugly check sucks
4839 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4842 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4843 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4844 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4845 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4846 using namespace CyberLink;
4848 class testclass : public SearchResponseListener, public MediaPlayer
4850 virtual void deviceSearchResponseReceived( SSDPPacket *)
4857 addSearchResponseListener (this);
4861 ],[testclass l;])],[LIBS_cclink="$l"])
4864 dnl should not happen - otherwise this needs fixing - hence FAILURE
4865 AS_IF([test "${LIBS_cclink}" = "no"],
4866 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4867 AC_MSG_RESULT([${LIBS_cclink}])
4868 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4871 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4873 CPPFLAGS="${CPPFLAGS_save}"
4879 dnl UPnP Plugin (Intel SDK)
4882 [ --enable-upnp Intel UPnP SDK (default enabled)])
4884 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4885 AS_IF([test "x${enable_upnp}" != "xno"], [
4886 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4887 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4888 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4890 AS_IF([test "${has_upnp}" = "yes"], [
4891 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4897 AS_IF([test "${has_upnp}" = "yes"], [
4898 VLC_ADD_PLUGINS([upnp_intel])
4903 dnl Interface plugins
4906 AC_ARG_WITH(,[Interface plugins:])
4908 dnl special case for BeOS
4909 if test "${SYS}" = "beos"
4911 VLC_ADD_BUILTINS([beos])
4917 AC_ARG_ENABLE(skins2,
4918 [ --enable-skins2 Skins2 interface module (default disabled)])
4919 if test "${enable_skins2}" = "yes" ||
4920 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4921 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4923 dnl test for the required libraries
4924 skins2_missing_lib="no"
4927 if test "${FREETYPE_CONFIG}" != "no"; then
4928 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4929 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4931 skins2_missing_lib="yes"
4932 if test "${enable_skins2}" = "yes"; then
4933 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4937 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4938 VLC_ADD_PLUGINS([skins2])
4939 ALIASES="${ALIASES} svlc"
4940 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4941 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4942 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4944 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4945 VLC_ADD_PLUGINS([skins2])
4946 ALIASES="${ALIASES} svlc"
4947 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4948 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4949 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4951 else if test "${skins2_missing_lib}" = "no"; then
4952 VLC_ADD_PLUGINS([skins2])
4953 ALIASES="${ALIASES} svlc"
4954 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4955 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4956 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4964 dnl AC_ARG_ENABLE(gtk,
4965 dnl [ --enable-gtk Gtk+ support (default enabled)])
4966 dnl if test "${enable_gtk}" != "no"
4968 dnl GTK_PATH="${PATH}"
4969 dnl AC_ARG_WITH(gtk-config-path,
4970 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4971 dnl [ if test "${with_gtk_config_path}" != "no"
4973 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4975 dnl # look for gtk-config
4976 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4977 dnl GTK_CONFIG=${GTK12_CONFIG}
4978 dnl if test "${GTK_CONFIG}" = "no"
4980 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4982 dnl if test "${GTK_CONFIG}" != "no"
4984 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4986 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.])
4988 dnl if test "${SYS}" != "mingw32"; then
4989 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4990 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4992 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4993 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4995 dnl # now look for the gtk.h header
4996 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4997 dnl ac_cv_gtk_headers=yes
4998 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4999 dnl ac_cv_gtk_headers=no
5000 dnl echo "Cannot find gtk development headers."
5002 dnl if test "${ac_cv_gtk_headers}" = "yes"
5004 dnl VLC_ADD_PLUGINS([gtk])
5005 dnl if test "${SYS}" != "mingw32"; then
5006 dnl NEED_GTK_MAIN=yes
5008 dnl ALIASES="${ALIASES} gvlc"
5010 dnl CPPFLAGS="${CPPFLAGS_save}"
5015 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5017 dnl AC_ARG_ENABLE(gtk2,
5018 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5019 dnl if test "${enable_gtk2}" = "yes"
5021 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5022 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5023 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5024 dnl VLC_ADD_PLUGINS([gtk2])
5025 dnl if test "${SYS}" != "mingw32"; then
5026 dnl NEED_GTK2_MAIN=yes
5031 dnl PDA Gtk+2 module
5034 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5035 if test "${enable_pda}" = "yes"
5037 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5038 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5039 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5040 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5041 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5042 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5043 VLC_ADD_PLUGINS([pda])
5044 if test "${SYS}" != "mingw32"; then
5050 dnl dnl Gnome module
5052 dnl AC_ARG_ENABLE(gnome,
5053 dnl [ --enable-gnome Gnome interface support (default disabled)],
5054 dnl [if test "${enable_gnome}" = "yes"; then
5055 dnl # look for gnome-config
5056 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5057 dnl if test -x ${GNOME_CONFIG}
5059 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5060 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5062 dnl # now look for the gnome.h header
5063 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5064 dnl AC_CHECK_HEADERS(gnome.h, [
5065 dnl VLC_ADD_PLUGINS([gnome])
5066 dnl NEED_GTK_MAIN=yes
5067 dnl NEED_GNOME_MAIN=yes
5068 dnl ALIASES="${ALIASES} gnome-vlc"
5069 dnl dnl We need this because of some moronic gnomesupport.h flavours
5070 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5071 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5072 dnl AC_MSG_RESULT(yes)
5073 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5074 dnl Define if <gnome.h> defines strndup.)],[
5075 dnl AC_MSG_RESULT(no)])
5077 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5078 dnl developement tools or remove the --enable-gnome option])
5080 dnl CPPFLAGS="${CPPFLAGS_save}"
5084 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5086 dnl AC_ARG_ENABLE(gnome2,
5087 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5088 dnl if test "${enable_gnome2}" = "yes"
5090 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5091 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5092 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5093 dnl VLC_ADD_PLUGINS([gnome2])
5094 dnl if test "${SYS}" != "mingw32"; then
5095 dnl NEED_GNOME2_MAIN=yes
5100 dnl wxWidgets module
5102 AC_ARG_ENABLE(wxwidgets,
5103 [ --enable-wxwidgets wxWidgets support (default disabled)])
5105 if test "${enable_wxwidgets}" = "yes"
5107 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5108 WXWIDGETS_PATH="${PATH}"
5109 AC_ARG_WITH(wx-config-path,
5110 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5111 [ if test "${with_wx_config_path}" != "no"
5113 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5115 WXWIDGETS_NAME="wx-config"
5116 AC_ARG_WITH(wx-config,
5117 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5118 [ if test "${with_wx_config}" != "no"
5120 WXWIDGETS_NAME="${with_wx_config}"
5122 # look for wx-config
5123 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5124 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5126 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5128 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5132 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5133 # into a warning. However better would be to fix playlist.cpp
5134 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5135 [ac_cv_cxx_fpermissive],
5136 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5137 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5138 ac_cv_cxx_fpermissive=no)])
5139 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5140 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5142 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5143 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5144 # check if we must link against gtk2 libs
5145 # if __WXGTK20__ && __WXGTK__ are defined
5146 # for modules/gui/wxwidgets/video.cpp
5147 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5150 #error ok, we need to link against gtk2
5152 ])],[WXGTK=no],[WXGTK=yes])
5153 if test "$WXGTK" = "yes"; then
5154 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5156 if ${WX_CONFIG} --unicode
5158 # wxwidgets should provide the following flags but does not
5159 # the following is required to compile for win32
5160 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5162 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5164 if test "$have_libcdio" = "yes"
5166 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5167 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5169 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5172 if test "$have_libvcdinfo" = "yes"
5174 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5175 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5177 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5180 # now look for the wxprec.h header
5181 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5182 ac_cv_wx_headers=yes
5183 AC_CHECK_HEADERS(wx/wxprec.h, , [
5185 echo "Cannot find wxWidgets development headers."
5187 if test "${ac_cv_wx_headers}" = "yes"
5189 VLC_ADD_PLUGINS([wxwidgets])
5190 ALIASES="${ALIASES} wxvlc"
5192 CPPFLAGS="${CPPFLAGS_save}"
5195 dnl WxWidgets plugin will yield incorrect code without this
5196 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5204 [ --enable-qt4 QT 4 support (default enabled) ])
5205 AS_IF([test "${enable_qt4}" != "no" &&
5206 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5207 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5208 [ VLC_ADD_PLUGINS([qt4])
5209 ALIASES="${ALIASES} qvlc"
5211 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5212 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5213 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5214 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5215 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5217 AS_IF([test "${enable_qt4}" = "yes"],[
5218 AC_MSG_ERROR(QT4 library not found)
5220 AC_MSG_WARN(QT4 library not found)
5224 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5227 dnl WinCE GUI module
5229 if test "${SYS}" = "mingwce"; then
5230 VLC_ADD_BUILTINS([wince])
5231 VLC_ADD_CXXFLAGS([wince],[])
5232 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5234 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5235 elif test "${SYS}" = "mingw32"; then
5236 VLC_ADD_CXXFLAGS([wince],[])
5237 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5239 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5243 dnl Simple test for skins2 dependency
5245 if test "${enable_skins2}" != "no"
5247 if test "${WX_CONFIG}" = "no"
5249 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.])
5256 dnl AC_ARG_ENABLE(qt,
5257 dnl [ --enable-qt Qt interface support (default disabled)],
5258 dnl [if test "${enable_qt}" = "yes"; then
5259 dnl VLC_ADD_PLUGINS([qt])
5260 dnl ALIASES="${ALIASES} qvlc"
5261 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5262 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5263 dnl AC_CHECK_LIB(qt-mt,main,[
5264 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5266 dnl AC_CHECK_LIB(qt,main,[
5267 dnl VLC_ADD_LIBS([qt],[-lqt])
5270 dnl LDFLAGS="${LDFLAGS_save}"
5271 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5272 dnl if test -x ${QTDIR}/bin/moc
5274 dnl MOC=${QTDIR}/bin/moc
5283 dnl AC_ARG_ENABLE(kde,
5284 dnl [ --enable-kde KDE interface support (default disabled)],
5285 dnl [if test "${enable_kde}" = "yes"; then
5286 dnl VLC_ADD_PLUGINS([kde])
5287 dnl ALIASES="${ALIASES} kvlc"
5288 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5289 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5290 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5291 dnl AC_CHECK_LIB(kfile,main,[
5292 dnl VLC_ADD_LIBS([kde],[-lkfile])
5294 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5295 dnl AC_CHECK_LIB(kdeui,main,[
5296 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5298 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5299 dnl AC_CHECK_LIB(kio,main,[
5300 dnl VLC_ADD_LIBS([kde],[-lkio])
5302 dnl LDFLAGS="${LDFLAGS_save}"
5303 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5304 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5305 dnl if test -x ${QTDIR}/bin/moc
5307 dnl MOC=${QTDIR}/bin/moc
5314 dnl Opie QT embedded module
5317 [ --enable-opie Qt embedded interface support (default disabled)],
5318 [if test "${enable_opie}" = "yes"; then
5320 [ --with-qte=PATH Qt Embedded headers and libraries])
5321 if test "${with_qte}" != "no" -a -n "${with_qte}"
5323 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5324 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])
5326 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5327 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5329 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5330 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5331 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5333 CPPFLAGS="${CPPFLAGS_save}"
5335 VLC_ADD_PLUGINS([opie])
5337 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5338 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5339 if test "${with_qte}" != "no" -a -n "${with_qte}"
5341 MOC=${with_qte}/bin/moc
5343 MOC=${QTDIR}/bin/moc
5348 dnl MacOS X video output/gui modules
5350 AC_ARG_ENABLE(macosx,
5351 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5352 if test "x${enable_macosx}" = "xyes"
5354 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5355 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5356 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5357 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5358 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5359 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5360 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5361 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5362 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5363 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5364 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
5366 VLC_ADD_PLUGINS([access_eyetv])
5367 VLC_ADD_BUILTINS([macosx minimal_macosx])
5370 CFLAGS="$CFLAGS -x objective-c"
5371 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5379 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5380 if test "${enable_qnx}" != "no"
5382 AC_CHECK_HEADERS(Ph.h, [
5383 VLC_ADD_PLUGINS([qnx])
5384 VLC_ADD_LIBS([qnx],[-lasound -lph])
5391 AC_ARG_ENABLE(ncurses,
5392 [ --disable-ncurses ncurses interface support (default enabled)],
5393 [if test "${enable_ncurses}" != "no"; then
5394 AC_CHECK_HEADER(ncurses.h,
5395 [AC_CHECK_LIB(ncursesw, mvprintw,
5396 [VLC_ADD_PLUGINS([ncurses])
5397 VLC_ADD_LIBS([ncurses],[-lncursesw])
5398 ALIASES="${ALIASES} nvlc"
5399 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5401 [AC_CHECK_LIB( ncurses, mvprintw,
5402 [VLC_ADD_PLUGINS([ncurses])
5403 ALIASES="${ALIASES} nvlc"
5404 VLC_ADD_LIBS([ncurses],[-lncurses])],
5405 [AS_IF([test "x${enable_ncurses}" != "x"], [
5406 AC_MSG_ERROR([libncurses not found])])]
5417 [ --enable-xosd xosd interface support (default disabled)])
5418 if test "${enable_xosd}" = "yes"
5420 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5421 AC_CHECK_LIB(xosd,xosd_set_offset,
5422 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5423 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5424 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5425 AC_TRY_COMPILE([#include <xosd.h>],
5426 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5427 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5428 if test "${have_xosd}" = "true"
5430 VLC_ADD_PLUGINS([xosd])
5431 VLC_ADD_LIBS([xosd],[-lxosd])
5436 dnl Framebuffer (overlay) plugin
5438 AC_ARG_ENABLE(fbosd,
5439 [ --enable-fbosd fbosd interface support (default disabled)])
5440 if test "${enable_fbosd}" = "yes"
5442 AC_CHECK_HEADERS(linux/fb.h, [
5443 VLC_ADD_PLUGINS([fbosd])
5448 dnl Visualisation plugin
5450 AC_ARG_ENABLE(visual,
5451 [ --enable-visual visualisation plugin (default enabled)])
5452 if test "${enable_visual}" != "no"
5454 VLC_ADD_PLUGINS([visual])
5458 dnl OpenGL visualisation plugin
5460 AC_ARG_ENABLE(galaktos,
5461 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5462 if test "${enable_galaktos}" = "yes"
5464 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5465 VLC_ADD_PLUGINS([galaktos])
5466 if test "${SYS}" != "mingw32"; then
5467 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5469 VLC_ADD_LIBS([galaktos],[-lopengl32])
5475 dnl goom visualization plugin
5478 [ --enable-goom goom visualisation plugin (default disabled)])
5479 if test "${enable_goom}" = "yes"
5481 AC_ARG_WITH(goom-tree,
5482 [ --with-goom-tree=PATH goom tree for static linking (required)])
5485 dnl test for --with-goom-tree
5487 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5488 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5489 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5490 if test -z "${real_goom_tree}"; then
5491 dnl The given directory can't be found
5493 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5495 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5496 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5497 VLC_ADD_BUILTINS([goom])
5498 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5499 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5501 dnl The given libgoom2 wasn't built, try to look for the old goom
5503 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5504 if test -f "${real_goom_tree}/libgoom.a"; then
5505 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5506 VLC_ADD_BUILTINS([goom])
5507 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5508 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5510 dnl The given libgoom wasn't built
5512 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5516 AC_CHECK_HEADERS(goom/goom.h, [
5517 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5518 AC_CHECK_LIB(goom2, goom_init, [
5519 VLC_ADD_PLUGINS([goom])
5520 VLC_ADD_LIBS([goom],[-lgoom2])
5522 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5524 LDFLAGS="${LDFLAGS_save}"
5530 dnl Bonjour services discovery
5532 AC_ARG_ENABLE(bonjour,
5533 [ --enable-bonjour Bonjour services discovery (default enabled)])
5534 if test "${enable_bonjour}" != "no"
5536 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5537 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5538 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5539 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5540 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5541 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5542 VLC_ADD_PLUGINS([bonjour]) ],
5543 [AC_MSG_WARN(avahi-client library not found)])
5550 [ --enable-lirc lirc support (default disabled)])
5551 if test "${enable_lirc}" = "yes"
5553 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5554 if test "${have_lirc}" = "true"
5556 VLC_ADD_PLUGINS([lirc])
5557 VLC_ADD_LIBS([lirc],[-llirc_client])
5562 AC_ARG_WITH(,[Misc options:])
5567 AC_ARG_ENABLE(gnutls,
5568 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5570 AS_IF([test "${enable_gnutls}" != "no"], [
5571 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5573 AS_IF([test "${have_gnutls}" = "yes"], [
5574 VLC_ADD_PLUGINS([gnutls])
5575 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5576 AS_IF([test "${SYS}" = "mingw32"], [
5577 dnl pkg-config --libs gnutls omits these
5578 VLC_ADD_LIBS([gnutls], [-lz])
5579 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5581 AC_CHECK_LIB([gcrypt], [gcry_control], [
5582 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5583 ], [], [-lgpg-error])
5584 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5586 AS_IF([test "${enable_gnutls}" = "yes"], [
5587 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5595 AC_ARG_ENABLE(libgcrypt,
5596 [ --enable-libgcrypt libgcrypts support (default enabled)])
5597 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5599 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5600 dnl it and looks for libgcrypt headers in the wrong place.
5601 if test "${host_cpu}" = "${build_cpu}"
5603 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5605 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5608 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5611 dnl update checking system
5613 AC_ARG_ENABLE(update-check,
5614 [ --enable-update-check update checking system (default disabled)])
5615 if test "${enable_update_check}" = "yes"
5617 if test "${have_libgcrypt}" != "yes"
5619 AC_MSG_ERROR([libgcrypt is required for update checking system])
5621 VLC_ADD_LIBS([libvlc], [-lgcrypt])
5622 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5626 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5628 dnl We give the user the opportunity to specify
5629 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5632 [ --with-words=endianness set endianness (big or little)])
5633 case "${with_words}" in
5635 ac_cv_c_bigendian=yes
5638 ac_cv_c_bigendian=no
5641 dnl Try to guess endianness by matching patterns on a compiled
5642 dnl binary, by looking for an ASCII or EBCDIC string
5643 AC_CACHE_CHECK([whether the byte order is big-endian],
5644 [ac_cv_c_bigendian],
5645 [ac_cv_c_bigendian="unknown"
5646 [cat >conftest.c <<EOF
5647 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5648 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5649 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5650 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5651 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5652 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5653 int main(void) { _a(); _e(); return 0; }
5656 if test -f conftest.c
5658 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5659 && test -f conftest.o
5661 if test "`strings conftest.o | grep BIGenDianSyS`"
5663 ac_cv_c_bigendian="yes"
5665 if test "`strings conftest.o | grep LiTTleEnDian`"
5667 ac_cv_c_bigendian="no"
5672 if test "${ac_cv_c_bigendian}" = "unknown"
5674 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5678 dnl Now we know what to use for endianness, just put it in the header
5679 if test "${ac_cv_c_bigendian}" = "yes"
5681 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5685 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5688 AC_ARG_ENABLE(loader,
5689 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5690 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5691 AS_IF([test "${enable_loader}" = "yes"],
5692 [ VLC_ADD_PLUGINS([dmo])
5693 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5694 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5695 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5696 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5697 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5698 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5702 dnl Microsoft ActiveX support
5705 AC_ARG_ENABLE(activex,
5706 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5707 AC_ARG_WITH(wine-sdk-path,
5708 [ --with-wine-sdk-path=PATH path to wine sdk])
5709 if test "${enable_activex}" != "no"
5711 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5713 AC_CHECK_PROGS(MIDL, [midl], no)
5714 if test "${with_wine_sdk_path}" != ""
5716 WINE_SDK_PATH=${with_wine_sdk_path}
5717 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5722 AC_CHECK_HEADERS(ole2.h,
5723 [AC_CHECK_HEADERS(olectl.h,
5724 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5725 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5726 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5727 AC_CHECK_HEADERS(objsafe.h,
5728 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5736 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5738 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5740 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5745 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5746 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5747 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5748 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5749 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5755 AC_ARG_ENABLE(mozilla,
5756 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5757 AC_ARG_WITH(mozilla-sdk-path,
5758 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5760 if test "${enable_mozilla}" = "yes"
5762 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5763 need_xpcom_libs=false
5765 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5767 dnl New firefox-1.5 SDK api
5768 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5770 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5773 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5776 PKG_CHECK_MODULES([NSPR], [nspr],
5779 AC_MSG_ERROR([Please install the nspr development tools.])
5785 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5786 MOZILLA_REQUIRED_HEADERS=1
5787 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5788 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5789 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5794 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5795 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5797 MOZILLA_REQUIRED_HEADERS=
5799 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5800 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5801 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5802 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5803 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5805 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5807 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5808 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5809 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
5811 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5812 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5813 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5814 VLC_ADD_PLUGINS([mozilla])
5816 CPPFLAGS="${CPPFLAGS_save}"
5819 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5820 if test "${MOZILLA_CONFIG}" = "no"
5822 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5823 if test "${SEAMONKEY_CONFIG}" = "no"
5825 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5826 if test "${XULRUNNER_CONFIG}" = "no"
5828 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5831 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5834 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5839 if test ! -z "${MOZILLA_CONFIG}"
5841 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5842 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5843 AC_CHECK_LIB(Xt,XtStrings,
5845 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5846 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5849 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5851 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5852 LDFLAGS="${LDFLAGS_save}"
5856 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5857 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5858 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5859 if ${need_xpcom_libs}; then
5860 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5862 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5864 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5865 MOZILLA_REQUIRED_HEADERS=1
5866 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5867 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5868 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5873 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5875 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5877 MOZILLA_REQUIRED_HEADERS=
5878 CPPFLAGS="${CPPFLAGS_save}"
5879 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5881 dnl End of moz_sdk = ""
5883 dnl special case for mingw32
5884 if test "${SYS}" = "mingw32"
5886 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5887 dnl latest gecko sdk does not have an xpcom directory
5888 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5889 mozilla_sdk_xpcom="/xpcom"
5893 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5894 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5895 MOZILLA_REQUIRED_HEADERS=1
5896 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5897 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5898 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5903 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5905 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5907 MOZILLA_REQUIRED_HEADERS=
5909 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5910 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])
5911 if ${need_xpcom_libs}; then
5912 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])
5913 if test "${SYS}" = "mingw32"; then
5914 dnl latest gecko sdk does not have embedstring
5915 if test -d "${real_mozilla_sdk}/embedstring/bin"
5917 VLC_ADD_LIBS([mozilla],[-lembedstring])
5921 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5923 if test -n "${CYGPATH}"; then
5924 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5926 CPPFLAGS="${CPPFLAGS_save}"
5930 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5932 dnl Tests for Osso and Xsp
5933 if test "${enable_x11}" != "no" &&
5934 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5935 test "${enable_x11}" = "yes"); then
5936 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5937 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5938 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5939 VLC_ADD_LIBS([x11],[-losso])
5942 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5943 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5944 VLC_ADD_LIBS([x11],[-lXsp])
5949 dnl Mediacontrol Python bindings
5951 AC_ARG_ENABLE(python-bindings,
5952 [ --enable-python-bindings Enable Python bindings (default disabled)])
5953 dnl TODO: look for python dev headers
5954 AS_IF([test "${enable_python_bindings}" = "yes"],
5955 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5958 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5963 AC_ARG_ENABLE(java-bindings,
5964 [ --enable-java-bindings Enable Java bindings (default disabled)])
5965 if test "${enable_java_bindings}" = "yes"
5967 AS_IF([test "x${JAVA_HOME}" == "x"],
5968 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5971 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5972 if test "${JAVAC}" == "javac${EXEEXT}"
5974 JAVAC="javac${EXEEXT} -cp ./ "
5977 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5982 AC_ARG_ENABLE(testsuite,
5983 [ --enable-testsuite build test modules (default disabled)])
5984 if test "${enable_testsuite}" = "yes"
5986 TESTS="test1 test2 test3 test4"
5988 dnl we define those so that bootstrap sets the right linker
5989 VLC_ADD_CXXFLAGS([test2],[])
5990 VLC_ADD_OBJCFLAGS([test3],[])
5991 dnl this one is needed until automake knows what to do
5992 VLC_ADD_LIBS([test3],[-lobjc])
5994 VLC_ADD_PLUGINS([${TESTS}])
5998 dnl Microsoft Layer for Unicode for WIN9x/ME
6000 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6002 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6003 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6010 if test "${NEED_GTK_MAIN}" != "no"
6012 VLC_ADD_PLUGINS([gtk_main])
6013 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6014 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6017 if test "${NEED_GNOME_MAIN}" != "no"
6019 VLC_ADD_PLUGINS([gnome_main])
6020 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6021 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6024 if test "${NEED_GTK2_MAIN}" != "no"
6026 VLC_ADD_PLUGINS([gtk2_main])
6027 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6028 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6029 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6030 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6033 if test "${NEED_GNOME2_MAIN}" != "no"
6035 VLC_ADD_PLUGINS([gnome2_main])
6036 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6037 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6043 if test "${NEED_QTE_MAIN}" != "no"
6045 VLC_ADD_PLUGINS([qte_main])
6046 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6047 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6048 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6053 dnl Plugin and builtin checks
6057 dnl Automagically disable plugins if there is no system support for
6058 dnl dynamically loadable files (.so, .dll, .dylib).
6059 dnl don't forget vlc-win32 still can load .dll as plugins
6060 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6061 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6065 AS_IF([test "${enable_shared}" = "no"], [
6069 AS_IF([test "${plugin_support}" != "no"], [
6070 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6073 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6075 dnl Temporary(?) hack for plugins/builtins transition
6076 VLC_ADD_PLUGINS([${BUILTINS}])
6080 dnl Pic and shared libvlc stuff
6082 AS_IF([test "${SYS}" = "mingw32"], [
6083 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6084 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6088 dnl Stuff used by the program
6090 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6091 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6092 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6093 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6094 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6095 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6096 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6097 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6098 AC_SUBST(VERSION_MAJOR)
6099 AC_SUBST(VERSION_MINOR)
6100 AC_SUBST(VERSION_REVISION)
6101 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6102 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6103 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6104 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6107 dnl Handle substvars that use $(top_srcdir)
6109 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6110 AC_SUBST(VLC_CONFIG)
6111 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6119 dnl Create the vlc-config script
6121 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6124 dnl Configuration is finished
6134 AC_SUBST(MOZILLA_SDK_PATH)
6135 AC_SUBST(WINE_SDK_PATH)
6137 AC_SUBST(AM_CPPFLAGS)
6138 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6139 AC_SUBST(FILE_LIBVLC_DLL)
6140 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6142 dnl Create vlc-config.in
6143 VLC_OUTPUT_VLC_CONFIG_IN
6151 bindings/java/Makefile
6152 bindings/java/src/Makefile
6153 bindings/python/Makefile
6157 libs/loader/Makefile
6168 modules/access/Makefile
6169 modules/access/bda/Makefile
6170 modules/access/dshow/Makefile
6171 modules/access/dvb/Makefile
6172 modules/access/mms/Makefile
6173 modules/access/cdda/Makefile
6174 modules/access/rtsp/Makefile
6175 modules/access/v4l2/Makefile
6176 modules/access/vcd/Makefile
6177 modules/access/vcdx/Makefile
6178 modules/access/screen/Makefile
6179 modules/access_filter/Makefile
6180 modules/access_output/Makefile
6181 modules/audio_filter/Makefile
6182 modules/audio_filter/channel_mixer/Makefile
6183 modules/audio_filter/converter/Makefile
6184 modules/audio_filter/resampler/Makefile
6185 modules/audio_filter/spatializer/Makefile
6186 modules/audio_mixer/Makefile
6187 modules/audio_output/Makefile
6188 modules/codec/Makefile
6189 modules/codec/cmml/Makefile
6190 modules/codec/dmo/Makefile
6191 modules/codec/ffmpeg/Makefile
6192 modules/codec/subtitles/Makefile
6193 modules/codec/spudec/Makefile
6194 modules/codec/xvmc/Makefile
6195 modules/control/Makefile
6196 modules/control/http/Makefile
6197 modules/demux/Makefile
6198 modules/demux/asf/Makefile
6199 modules/demux/avi/Makefile
6200 modules/demux/mp4/Makefile
6201 modules/demux/mpeg/Makefile
6202 modules/demux/playlist/Makefile
6203 modules/gui/Makefile
6204 modules/gui/beos/Makefile
6205 modules/gui/pda/Makefile
6206 modules/gui/macosx/Makefile
6207 modules/gui/minimal_macosx/Makefile
6208 modules/gui/qnx/Makefile
6209 modules/gui/qt4/Makefile
6210 modules/gui/skins2/Makefile
6211 modules/gui/wxwidgets/Makefile
6212 modules/gui/wince/Makefile
6213 modules/meta_engine/Makefile
6214 modules/misc/Makefile
6215 modules/misc/dummy/Makefile
6216 modules/misc/lua/Makefile
6217 modules/misc/memcpy/Makefile
6218 modules/misc/notify/Makefile
6219 modules/misc/testsuite/Makefile
6220 modules/misc/playlist/Makefile
6221 modules/misc/osd/Makefile
6222 modules/misc/xml/Makefile
6223 modules/misc/probe/Makefile
6224 modules/mux/Makefile
6225 modules/mux/mpeg/Makefile
6226 modules/mux/rtp/Makefile
6227 modules/packetizer/Makefile
6228 modules/services_discovery/Makefile
6229 modules/stream_out/Makefile
6230 modules/stream_out/transrate/Makefile
6231 modules/video_chroma/Makefile
6232 modules/video_filter/Makefile
6233 modules/video_output/Makefile
6234 modules/video_output/msw/Makefile
6235 modules/video_output/qte/Makefile
6236 modules/video_output/x11/Makefile
6237 modules/visualization/Makefile
6238 modules/visualization/visual/Makefile
6239 modules/visualization/galaktos/Makefile
6242 dnl Generate makefiles
6245 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6246 # not provided with the source
6247 ${SHELL} ./config.status --file=vlc-config
6248 chmod 0755 vlc-config
6250 dnl echo "Enabled builtin modules :"
6251 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6253 dnl echo "Enabled plugin modules :"
6254 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6256 dnl Shortcut to nice compile message
6258 echo '#! /bin/sh' >compile
6260 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6261 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6266 --------------------
6267 vlc version : ${VERSION}
6269 architecture : ${ARCH}
6271 test "${enable_debug}" = "yes" && printf "debug "
6272 test "${enable_cprof}" = "yes" && printf "cprof "
6273 test "${enable_gprof}" = "yes" && printf "gprof "
6274 test "${enable_optimizations}" = "yes" && printf "optim "
6275 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6277 vlc aliases :${ALIASES}
6278 plugins/bindings :${PLUGINS_BINDINGS}
6280 You can check which modules have been enabled
6281 with \`./vlc-config --list plugin'.
6282 You can tune the compiler flags in vlc-config.
6283 To build vlc and its plugins, type \`./compile' or \`make'.
6285 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6287 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6289 echo " FFmpeg will be REALLY slow."
6290 echo " VLC WILL NOT PERFORM AS EXPECTED."