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 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
743 AC_CHECK_LIB(rt, clock_nanosleep, [
744 VLC_ADD_LIBS([libvlc],[-lrt])
745 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
748 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
752 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
753 AC_CHECK_LIB(rt,nanosleep,
754 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
755 [AC_CHECK_LIB(posix4,nanosleep,
756 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
759 if ${have_nanosleep}; then
760 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
763 dnl Check for misc headers
764 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
765 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
767 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
768 Define if <pthread.h> defines pthread_cond_t.)],[
771 AC_MSG_CHECKING(for pthread_once in pthread.h)
772 AC_EGREP_HEADER(pthread_once,pthread.h,[
774 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
775 Define if <pthread.h> defines pthread_once.)],[
777 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
779 AC_MSG_CHECKING(for strncasecmp in strings.h)
780 AC_EGREP_HEADER(strncasecmp,strings.h,[
782 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
783 Define if <strings.h> defines strncasecmp.)],[
786 dnl Check for headers
787 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)
788 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
789 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h netinet/udplite.h])
790 AC_CHECK_HEADERS([net/if.h], [], [],
792 #if HAVE_SYS_SOCKET_H
793 # include <sys/socket.h>
796 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
797 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
798 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
799 AC_CHECK_HEADERS(syslog.h)
800 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
804 AC_CHECK_TYPE(ssize_t, int)
805 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
809 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
810 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
812 dnl Mac OS X and other OSes don't have declaration for nanosleep
813 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
814 AC_MSG_CHECKING(for nanosleep in time.h)
815 AC_EGREP_HEADER(nanosleep,time.h,[
817 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
818 Define if <time.h> defines nanosleep.)
822 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
824 dnl Make sure we have timespecs
825 AC_MSG_CHECKING(for timespec in sys/time.h)
826 AC_EGREP_HEADER(timespec,sys/time.h,[
828 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
829 Define if <sys/time.h> defines struct timespec.)
834 dnl Check for threads library
835 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
836 AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
837 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
839 dnl Find where are the X headers and libraries
842 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.
844 PKG_PROG_PKG_CONFIG()
848 [ --enable-hal Linux HAL services discovery (default enabled)])
850 if test "${enable_hal}" != "no"
852 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
853 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
854 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
855 VLC_ADD_PLUGINS([hal probe_hal])
856 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
857 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
858 dnl No hal 0.5 Test for 0.2
859 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
860 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
861 VLC_ADD_PLUGINS([hal])
862 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
863 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
864 [AC_MSG_WARN(HAL library not found)])
871 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
874 if test "${enable_dbus}" != "no"
877 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
878 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
879 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
880 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
881 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
882 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
883 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
884 dnl Check for dbus control interface
885 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
886 if test "${enable_dbus_control}" != "no"
888 VLC_ADD_PLUGINS([dbus])
889 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
890 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
892 dnl Check for Telepathy
893 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
894 if test "${enable_telepathy}" != "no"; then
895 VLC_ADD_PLUGINS([telepathy])
896 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
897 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
899 dnl Power Management Inhibiter
900 VLC_ADD_PLUGINS([inhibit])
901 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
902 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
904 if ${PKG_CONFIG} --exists dbus-1
906 [AC_ARG_ENABLE(old-dbus,
907 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
909 if test "${enable_old_dbus}" != "yes"
912 echo "****** WARNING **** WARNING ***** WARNING *************"
913 echo "*** Your D-Bus version is < 1.0.0"
914 echo "*** You are using old and buggy software and so"
915 echo "*** D-Bus support has been disabled."
916 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
917 echo "*** Alternatively you can force the use of your old and"
918 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
919 echo "*******************************************************"
923 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
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],[$DBUS_LIBS])
928 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
930 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
931 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
932 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
933 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
934 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
936 [ PKG_CHECK_MODULES( DBUS, dbus-1,
937 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
938 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
939 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
940 [AC_MSG_WARN(DBUS library not found)])
951 dnl Build the gtk_main plugins?
957 dnl build the qte plugin ?
960 dnl Check for ntohl, etc.
961 AC_CACHE_CHECK([for ntohl in sys/param.h],
962 [ac_cv_c_ntohl_sys_param_h],
963 [CFLAGS="${CFLAGS_save} -Wall -Werror"
964 AC_TRY_COMPILE([#include <sys/param.h>],
965 [int meuh; ntohl(meuh);],
966 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
967 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
968 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
970 CFLAGS="${CFLAGS_save}"
972 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])
973 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
975 dnl This helps detect broken plugins with undefined symbols
976 dnl Better fail loudly at build-time than silenty at run-time.
977 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
978 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
979 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
982 dnl Check for various optimization flags
983 AC_CACHE_CHECK([if \$CC accepts -Os],
985 [CFLAGS="${CFLAGS_save} -Os"
986 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
987 if test "${ac_cv_c_os}" != "no"; then
988 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
990 AC_CACHE_CHECK([if \$CC accepts -O],
992 [CFLAGS="${CFLAGS_save} -O"
993 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
994 if test "${ac_cv_c_o}" != "no"; then
995 if test "${ac_cv_c_o3}" = "no"; then
996 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1001 AC_CACHE_CHECK([if \$CC accepts -O3],
1003 [CFLAGS="${CFLAGS_save} -O3"
1004 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1005 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1006 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1008 AC_CACHE_CHECK([if \$CC accepts -O2],
1010 [CFLAGS="${CFLAGS_save} -O2"
1011 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1012 if test "${ac_cv_c_o2}" != "no"; then
1013 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1015 AC_CACHE_CHECK([if \$CC accepts -O],
1017 [CFLAGS="${CFLAGS_save} -O"
1018 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1019 if test "${ac_cv_c_o}" != "no"; then
1020 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1025 AC_CACHE_CHECK([if \$CC accepts -O0],
1027 [CFLAGS="${CFLAGS_save} -O0"
1028 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1029 if test "${ac_cv_c_o0}" != "no"; then
1030 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1033 dnl Check for -ffast-math
1034 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1035 [ac_cv_c_fast_math],
1036 [CFLAGS="${CFLAGS_save} -ffast-math"
1037 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1038 if test "${ac_cv_c_fast_math}" != "no"; then
1039 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1042 dnl Check for -funroll-loops
1043 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1044 if test "${SYS}" != "beos"
1046 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1047 [ac_cv_c_unroll_loops],
1048 [CFLAGS="${CFLAGS_save} -funroll-loops"
1049 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1050 if test "${ac_cv_c_unroll_loops}" != "no"; then
1051 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1055 dnl Check for -fomit-frame-pointer
1056 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1057 [ac_cv_c_omit_frame_pointer],
1058 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1059 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1060 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1061 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1064 dnl Check for -fvisibility=hidden
1065 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1066 [ac_cv_c_visibility_hidden],
1067 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1068 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1069 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1070 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1073 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1075 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1076 dnl AC_LANG_PUSH(C++)
1077 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1078 dnl [ac_cv_c_visibility_inlines_hidden],
1079 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1080 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1081 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1082 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1084 dnl CXXFLAGS="${CXXFLAGS_save}"
1085 dnl AC_LANG_POP(C++)
1087 dnl Check for -mdynamic-no-pic
1088 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1089 dnl [ac_cv_c_dynamic_no_pic],
1090 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1091 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1092 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1093 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1094 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1097 dnl Check for Darwin plugin linking flags
1098 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1100 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1101 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1102 if test "${ac_cv_ld_darwin}" != "no"; then
1103 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1106 dnl Check for standard plugin linking flags
1107 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1108 dnl AS_IF([test "${SYS}" = "beos"], [
1109 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1111 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1112 dnl [ac_cv_ld_plugins],
1113 dnl [CFLAGS="${CFLAGS_save} -shared"
1114 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1115 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1116 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1120 dnl Check for variadic macros
1121 AC_CACHE_CHECK([for variadic cpp macros],
1122 [ac_cv_cpp_variadic_macros],
1123 [CFLAGS="${CFLAGS_save}"
1126 #define a(b,c...) printf(b,##c)],
1127 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1128 ac_cv_cpp_variadic_macros=yes,
1129 ac_cv_cpp_variadic_macros=no)])
1130 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1131 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1134 dnl Checks for __attribute__(aligned()) directive
1135 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1136 [ac_cv_c_attribute_aligned],
1137 [ac_cv_c_attribute_aligned=0
1138 CFLAGS="${CFLAGS_save} -Werror"
1139 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1141 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1142 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1144 CFLAGS="${CFLAGS_save}"])
1145 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1146 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1147 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1150 dnl Checks for __attribute__(format()) directive
1151 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1152 [ac_cv_c_attribute_format],
1153 [ac_cv_c_attribute_format=no
1154 CFLAGS="${CFLAGS_save} -Werror"
1156 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1157 [ac_cv_c_attribute_format=yes])
1158 CFLAGS="${CFLAGS_save}"])
1159 if test "${ac_cv_c_attribute_format}" != "no"; then
1160 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1163 dnl Check for __attribute__((packed))
1164 AC_CACHE_CHECK([for __attribute__((packed))],
1165 [ac_cv_c_attribute_packed],
1166 [ac_cv_c_attribute_packed=no
1167 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1168 [ac_cv_c_attribute_packed=yes])])
1169 if test "${ac_cv_c_attribute_packed}" != "no"; then
1170 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1173 dnl Check for __attribute__((visibility()))
1174 AC_CACHE_CHECK([for __attribute__((visibility()))],
1175 [ac_cv_c_attribute_visibility],
1176 [ac_cv_c_attribute_visibility=no
1177 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1178 [ac_cv_c_attribute_visibility=yes])])
1179 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1180 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1186 case "${host_cpu}" in
1196 dnl Enable profiling
1198 AC_ARG_ENABLE(gprof,
1199 [ --enable-gprof gprof profiling (default disabled)])
1200 AC_ARG_ENABLE(cprof,
1201 [ --enable-cprof cprof profiling (default disabled)])
1202 test "${enable_gprof}" != "yes" && enable_gprof="no"
1203 test "${enable_cprof}" != "yes" && enable_cprof="no"
1208 VLC_ADD_PLUGINS([dummy logger memcpy])
1209 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])
1210 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1211 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1212 VLC_ADD_PLUGINS([converter_fixed mono])
1213 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1214 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1215 VLC_ADD_PLUGINS([playlist export nsc xtag])
1216 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1217 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1218 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1219 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1220 VLC_ADD_PLUGINS([access_filter_bandwidth])
1221 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1222 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1223 VLC_ADD_PLUGINS([packetizer_vc1])
1225 ALIASES="${ALIASES} cvlc"
1228 dnl default modules that need g++
1231 VLC_ADD_PLUGINS([spatializer])
1234 if test "${SYS}" != "mingwce"; then
1235 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1236 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1237 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1238 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain])
1239 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1240 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1241 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1242 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1243 ALIASES="${ALIASES} rvlc"
1247 dnl Some plugins aren't useful on some platforms
1249 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1250 VLC_ADD_PLUGINS([screensaver motion])
1251 elif test "${SYS}" != "mingwce"; then
1252 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1253 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1255 VLC_ADD_PLUGINS([win32text])
1257 if test "${SYS}" = "darwin"; then
1258 VLC_ADD_PLUGINS([quartztext])
1259 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1263 dnl Accelerated modules
1265 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1266 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1267 MMXEXT_MODULES="memcpymmxext"
1268 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1269 THREEDNOW_MODULES="memcpy3dn"
1271 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1272 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1273 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1275 dnl Check for fully workin MMX intrinsics
1276 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1277 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1278 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1279 [ac_cv_c_mmx_intrinsics],
1280 [CFLAGS="${CFLAGS_save} -O -mmmx"
1281 AC_TRY_COMPILE([#include <mmintrin.h>
1285 a = b = c = (__m64)frobzor;
1286 a = _mm_slli_pi16(a, 3);
1287 a = _mm_adds_pi16(a, b);
1288 c = _mm_srli_pi16(c, 8);
1289 c = _mm_slli_pi16(c, 3);
1290 b = _mm_adds_pi16(b, c);
1291 a = _mm_unpacklo_pi8(a, b);
1292 frobzor = (uint64_t)a;],
1293 [ac_cv_c_mmx_intrinsics=yes],
1294 [ac_cv_c_mmx_intrinsics=no])])
1295 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1296 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1297 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1300 dnl Check for fully workin SSE2 intrinsics
1301 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1302 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1303 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1304 [ac_cv_c_sse2_intrinsics],
1305 [CFLAGS="${CFLAGS_save} -O -msse2"
1306 AC_TRY_COMPILE([#include <emmintrin.h>
1310 a = b = c = _mm_set1_epi64((__m64)frobzor);
1311 a = _mm_slli_epi16(a, 3);
1312 a = _mm_adds_epi16(a, b);
1313 c = _mm_srli_epi16(c, 8);
1314 c = _mm_slli_epi16(c, 3);
1315 b = _mm_adds_epi16(b, c);
1316 a = _mm_unpacklo_epi8(a, b);
1317 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1318 [ac_cv_c_sse2_intrinsics=yes],
1319 [ac_cv_c_sse2_intrinsics=no])])
1320 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1321 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1322 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1325 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1327 [CFLAGS="${CFLAGS_save}"
1328 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1329 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1330 if test "${ac_cv_mmx_inline}" != "no"; then
1331 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1332 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1335 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1336 [ac_cv_mmxext_inline],
1337 [CFLAGS="${CFLAGS_save}"
1338 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1339 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1340 if test "${ac_cv_mmxext_inline}" != "no"; then
1341 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1342 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1345 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1346 [ac_cv_3dnow_inline],
1347 [CFLAGS="${CFLAGS_save}"
1348 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1349 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1350 if test "${ac_cv_3dnow_inline}" != "no"; then
1351 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1352 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1355 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1357 [CFLAGS="${CFLAGS_save}"
1358 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1359 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1360 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1361 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1362 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1365 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1366 [ac_cv_sse2_inline],
1367 [CFLAGS="${CFLAGS_save}"
1368 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1369 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1370 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1371 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1372 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1375 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1376 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1377 [ac_cv_altivec_inline],
1378 [CFLAGS="${CFLAGS_save}"
1379 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1380 ac_cv_altivec_inline=yes,
1381 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1382 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1383 [ac_cv_altivec_inline="-Wa,-m7400"],
1384 ac_cv_altivec_inline=no)
1386 if test "${ac_cv_altivec_inline}" != "no"; then
1387 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1388 if test "${ac_cv_altivec_inline}" != "yes"; then
1389 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1390 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1391 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1392 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1393 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1395 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1398 dnl The AltiVec C extensions
1400 dnl There are several possible cases:
1401 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1402 dnl need <altivec.h>
1403 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1404 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1405 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1406 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1407 dnl - Others: test should fail
1408 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1410 [# OS X/PPC test (gcc 4.x)
1411 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1412 AC_TRY_COMPILE([vector unsigned char foo;],
1413 [vec_ld(0, (unsigned char *)0);],
1414 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1415 [# OS X/PPC test (gcc 3.x)
1416 CFLAGS="${CFLAGS_save} -faltivec"
1417 AC_TRY_COMPILE([vector unsigned char foo;],
1418 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1419 [ac_cv_c_altivec="-faltivec"],
1420 dnl Below this are the Linux tests
1421 [# Linux/PPC test (gcc 4.x)
1422 CFLAGS="${CFLAGS_save} -maltivec"
1423 AC_TRY_COMPILE([#include <altivec.h>],
1424 [vec_ld(0, (unsigned char *)0);],
1425 [ac_cv_c_altivec="-maltivec"],
1426 [# Linux/PPC test (gcc 3.3)
1427 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1428 AC_TRY_COMPILE([#include <altivec.h>],
1429 [vec_ld(0, (unsigned char *)0);],
1431 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1432 [# Linux/PPC test (gcc 3.3)
1433 CFLAGS="${CFLAGS_save} -fvec"
1434 AC_TRY_COMPILE([#include <altivec.h>],
1435 [vec_ld(0, (unsigned char *)0);],
1436 [ac_cv_c_altivec="-fvec"],
1437 [ac_cv_c_altivec=no])
1442 CFLAGS="${CFLAGS_save}"
1445 if test "${ac_cv_c_altivec}" != "no"; then
1446 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1449 AS_IF( test "${enable_altivec}" != "no",
1451 AC_CHECK_HEADERS(altivec.h)
1452 CPPFLAGS="${CPPFLAGS_save}"
1454 if test "${ac_cv_c_altivec}" != "no"; then
1455 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1456 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1457 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1458 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1459 if test "${ac_cv_altivec_inline}" = "no"; then
1460 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1464 CPPFLAGS="${CPPFLAGS_save}"
1467 AC_CACHE_CHECK([if linker needs -framework vecLib],
1469 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1470 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1471 LDFLAGS="${LDFLAGS_save}"
1473 if test "${ac_cv_ld_altivec}" != "no"; then
1474 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1476 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1479 AC_ARG_WITH(,[Optimization options:])
1482 dnl Special arch tuning
1485 [ --with-tuning=ARCH enable special tuning for an architecture
1486 (default Pentium 2 on IA-32 and G4 on PPC)])
1487 if test -n "${with_tuning}"; then
1488 if test "${with_tuning}" != "no"; then
1489 CFLAGS_TUNING="-mtune=${with_tuning}"
1492 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1493 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1494 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1495 CFLAGS_TUNING="-mtune=pentium2"
1496 elif test "${host_cpu}" = "x86_64"; then
1497 CFLAGS_TUNING="-mtune=athlon64"
1498 elif test "${host_cpu}" = "powerpc"; then
1499 CFLAGS_TUNING="-mtune=G4";
1503 dnl NOTE: this can't be cached cleanly
1504 AS_IF([test "${CFLAGS_TUNING}"],
1505 [CFLAGS_save="${CFLAGS}"
1506 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1508 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1509 AC_COMPILE_IFELSE([ ],
1511 [CFLAGS_TUNING=""; tuning="no"
1512 AS_IF([test "${with_tuning}"],
1513 [AC_MSG_ERROR([requested tuning not supported])])])
1515 AC_MSG_RESULT([$tuning])
1516 CFLAGS="${CFLAGS_save}"
1520 dnl x86 accelerations
1523 [ --disable-mmx disable MMX optimizations (default enabled on x86)],
1524 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1525 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1526 [ 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
1528 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1531 [ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1532 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1533 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1534 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1535 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1540 AC_ARG_ENABLE(optimize-memory,
1541 [ --enable-optimize-memory optimize memory usage over performance])
1542 if test "${enable_optimize_memory}" = "yes"; then
1543 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1547 dnl Enable/disable optimizations
1549 AC_ARG_ENABLE(optimizations,
1550 [ --disable-optimizations disable compiler optimizations (default enabled)])
1551 if test "${enable_optimizations}" != "no"; then
1552 if test "${enable_optimize_memory}" = "yes"; then
1553 enable_optimizations="size"
1555 enable_optimizations="speed"
1560 dnl AltiVec acceleration
1562 AC_ARG_ENABLE(altivec,
1563 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1564 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1565 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1566 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1567 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1572 AC_ARG_ENABLE(debug,
1573 [ --enable-debug debug mode (default disabled)])
1574 test "${enable_debug}" != "yes" && enable_debug="no"
1576 [Define to 1 if debug code should NOT be compiled])
1577 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1582 AC_ARG_ENABLE(coverage,
1583 [ --enable-coverage build for test coverage (default disabled)],,
1584 [enable_coverage="no"])
1585 AS_IF([test "${enable_coverage}" != "no"], [
1586 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1587 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1588 LDFLAGS="-lgcov ${LDFLAGS}"
1590 CFLAGS_save="${CFLAGS}"
1591 CXXFLAGS_save="${CXXFLAGS}"
1592 LDFLAGS_save="${LDFLAGS}"
1596 dnl Enable release-specific flags
1598 AC_ARG_ENABLE(release,
1599 [ --enable-release activate extra optimizations (default disabled)])
1600 test "${enable_release}" != "yes" && enable_release="no"
1606 [ --enable-sout Stream output modules (default enabled)])
1607 if test "${enable_sout}" != "no"
1609 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1610 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1611 VLC_ADD_PLUGINS([packetizer_copy])
1613 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1614 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1615 VLC_ADD_PLUGINS([stream_out_gather])
1616 # VLC_ADD_PLUGINS([stream_out_transrate])
1617 # VLC_ADD_PLUGINS([rtcp])
1618 VLC_ADD_PLUGINS([profile_parser])
1620 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1623 AC_ARG_ENABLE(switcher,
1624 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1626 dnl Check for libshout
1627 AC_ARG_ENABLE(shout,
1628 [ --enable-shout libshout output plugin (default disabled)])
1629 if test "${enable_shout}" = "yes"; then
1630 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1631 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1632 VLC_ADD_PLUGINS([access_output_shout])
1633 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1634 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1635 [AC_MSG_WARN(libshout library not found)])
1640 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1641 if test "${enable_lua}" != "no"
1643 PKG_CHECK_MODULES(LUA, lua5.1,
1646 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1647 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1651 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1654 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1655 [LUA_LIBS="-llua5.1"],
1656 AC_CHECK_LIB( lua51 , luaL_newstate,
1657 [LUA_LIBS="-llua51"],
1658 AC_CHECK_LIB( lua , luaL_newstate,
1661 AC_MSG_WARN([lua >= 5.1 not found!])
1667 if test "x${have_lua}" = "xyes" ; then
1668 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1669 VLC_ADD_PLUGINS([lua])
1670 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1671 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1678 AC_ARG_ENABLE(httpd,
1679 [ --enable-httpd HTTP daemon (default enabled)])
1680 if test "${enable_httpd}" != "no"
1682 VLC_ADD_PLUGINS([http])
1683 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1687 dnl VideoLAN manager
1690 [ --enable-vlm VideoLAN manager (default enabled)])
1691 if test "${enable_vlm}" != "no"
1693 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1697 dnl Growl notification plugin
1699 AC_ARG_ENABLE(growl,
1700 [ --enable-growl growl notification plugin (default enabled)])
1701 AS_IF([test "${enable_growl}" != "no"], [
1702 VLC_ADD_PLUGINS([growl])
1707 dnl Libnotify notification plugin
1710 AC_ARG_ENABLE(notify,
1711 [ --enable-notify libnotify notification plugin (default enabled)])
1712 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1713 PKG_CHECK_MODULES(NOTIFY, libnotify,
1715 VLC_ADD_PLUGINS([notify])
1716 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1717 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1719 AS_IF([test "${enable_notify}" = "yes"],[
1720 AC_MSG_WARN( libnotify not found) ])
1725 dnl Audioscrobbler plugin
1728 AC_ARG_ENABLE(audioscrobbler,
1729 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1730 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1731 VLC_ADD_PLUGINS([audioscrobbler])
1735 dnl Musicbrainz plugin
1737 AC_ARG_ENABLE(musicbrainz,
1738 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1739 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1740 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1741 [ VLC_ADD_PLUGINS([musicbrainz])
1742 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1743 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1744 [AC_MSG_WARN(MusicBrainz library not found)])
1751 AC_ARG_ENABLE(taglib,
1752 [ --disable-taglib Taglib support (default enabled) ])
1753 AS_IF([test "${enable_taglib}" != "no"],[
1754 PKG_CHECK_MODULES(TAGLIB, taglib,
1755 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1756 VLC_ADD_PLUGINS([taglib])
1757 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1758 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1759 [AC_MSG_WARN(TagLib library not found)])
1767 AC_ARG_WITH(,[Input plugins:])
1771 if test "${enable_livedotcom}"
1773 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1776 if test "${enable_livedotcom}" = "no"
1780 AC_ARG_ENABLE(live555,
1781 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1782 if test "${enable_live555}" != "no"; then
1783 AC_ARG_WITH(live555-tree,
1784 [ --with-live555-tree=PATH live.com tree for static linking])
1787 dnl test for --with-live555-tree
1789 if test "${with_livedotcom_tree}"
1791 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1792 with_live555_tree="${with_livedotcom_tree}"
1795 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1797 CPPFLAGS_save="${CPPFLAGS}"
1798 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1799 if test "${SYS}" = "solaris"; then
1800 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1802 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1803 AC_CHECK_HEADERS(liveMedia.hh, [
1804 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1805 AC_CHECK_LIB(liveMedia_pic, main, [
1806 # We have -lliveMedia_pic, build plugins
1807 VLC_ADD_PLUGINS([live555])
1808 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1810 AC_CHECK_LIB(liveMedia, main, [
1811 # We only have -lliveMedia, do builtins
1812 VLC_ADD_BUILTINS([live555])
1813 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1816 if test "${SYS}" = "mingw32"; then
1817 # add ws2_32 for closesocket, select, recv
1818 VLC_ADD_LIBS([live555],[-lws2_32])
1821 CPPFLAGS="${CPPFLAGS_save}"
1824 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1825 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1826 if test -z "${real_live555_tree}"; then
1827 dnl The given directory can't be found
1829 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1831 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1832 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1834 VLC_ADD_BUILTINS([live555])
1836 if test "${SYS}" = "mingw32"; then
1837 # add ws2_32 for closesocket, select, recv
1838 VLC_ADD_LIBS([live555],[-lws2_32])
1841 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1842 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1843 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1844 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1846 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1847 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1848 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1849 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1850 if test "${SYS}" = "solaris"; then
1851 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1854 dnl The given live555 wasn't built
1856 if test "${enable_live555}" = "yes"; then
1857 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1864 dnl special access module for dc1394 input
1866 AC_ARG_ENABLE(dc1394,
1867 [ --enable-dc1394 dc1394 access module (default disabled)])
1868 if test "${enable_dc1394}" = "yes"
1870 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1871 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1872 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1873 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1874 VLC_ADD_PLUGINS([dc1394])
1875 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1878 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1882 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1886 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1890 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1895 dnl dv module: digital video module check for libraw1394
1898 [ --enable-dv dv input module (default disabled)])
1899 if test "${enable_dv}" = "yes"
1901 AC_ARG_WITH(dv-raw1394,
1902 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1903 AC_ARG_WITH(dv-raw1394-tree,
1904 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1906 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1908 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1909 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1911 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1913 VLC_ADD_PLUGINS([access_dv])
1914 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1915 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1917 dnl No libraw1394 could be found, sorry
1919 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1922 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1923 [ VLC_ADD_PLUGINS([access_dv])
1924 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1926 if test -n "${enable_dv}"
1928 AC_MSG_ERROR([cannot find libraw1394 headers])
1933 dnl Check for static linking of libraw1394
1934 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1936 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1937 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1938 if test -z "${real_dv_raw1394_tree}"
1940 dnl The given directory can't be found
1942 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1944 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1946 dnl Use a custom libraw1394
1947 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1948 VLC_ADD_BUILTINS([access_dv])
1949 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1950 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1952 dnl The given libraw1394 wasn't built
1954 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1959 dnl Check for libavc1394
1962 AC_ARG_WITH(dv-avc1394,
1963 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1964 AC_ARG_WITH(dv-avc1394-tree,
1965 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1967 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1969 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1970 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1972 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1974 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1975 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1977 dnl No libavc1394 could be found, sorry
1979 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1982 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1983 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1985 if test -n "${enable_dv}"
1987 AC_MSG_ERROR([cannot find libavc1394 headers])
1992 dnl Check for static linking of libavc1394
1993 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1995 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1996 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1997 if test -z "${real_dv_avc1394_tree}"
1999 dnl The given directory can't be found
2001 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2003 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2005 dnl Use a custom libavc1394
2006 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2007 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2008 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2010 dnl The given libavc1394 wasn't built
2012 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2018 dnl dvdread module: check for libdvdread
2020 AC_ARG_ENABLE(dvdread,
2021 [ --enable-dvdread dvdread input module (default disabled)])
2022 if test "${enable_dvdread}" != "no"
2024 AC_ARG_WITH(dvdread,
2025 [ --with-dvdread=PATH libdvdread headers and libraries])
2026 AC_ARG_WITH(dvdread-tree,
2027 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2029 dnl Temporary hack (yeah, sure ;)
2030 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2031 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2034 if test -z "${with_dvdread}"
2036 if test -z "${with_dvdread_tree}"
2038 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2039 [ VLC_ADD_PLUGINS([dvdread])
2040 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2042 if test -n "${enable_dvdread}"
2044 AC_MSG_ERROR([cannot find libdvdread headers])
2048 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2049 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2050 if test -z "${real_dvdread_tree}"
2052 dnl The given directory can't be found
2054 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2056 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2058 dnl Use a custom libdvdread
2059 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2060 VLC_ADD_BUILTINS([dvdread])
2061 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2062 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2064 dnl The given libdvdread wasn't built
2066 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2070 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2071 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2073 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2075 VLC_ADD_PLUGINS([dvdread])
2076 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2077 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2079 dnl No libdvdread could be found, sorry
2081 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2087 dnl libdvdnav plugin
2089 AC_ARG_ENABLE(dvdnav,
2090 [ --enable-dvdnav dvdnav input module (default enabled)])
2091 if test "${enable_dvdnav}" != "no"
2093 dnl Same hack than dvdread
2094 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2095 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2098 DVDNAV_PATH="${PATH}"
2099 AC_ARG_WITH(dvdnav-config-path,
2100 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2101 [ if test "${with_dvdnav_config_path}" != "no"
2103 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2105 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2106 if test "${DVDNAV_CONFIG}" != "no"
2108 VLC_ADD_PLUGINS([dvdnav])
2109 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2110 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2115 dnl Windows DirectShow access module
2117 AC_ARG_ENABLE(dshow,
2118 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2119 if test "${enable_dshow}" != "no"
2121 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2124 AC_CHECK_HEADERS(dshow.h,
2125 [ VLC_ADD_PLUGINS([dshow])
2126 VLC_ADD_CXXFLAGS([dshow],[])
2127 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2133 dnl Windows DirectShow BDA access module
2136 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2137 if test "${enable_bda}" != "no"
2139 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2141 AC_CHECK_HEADERS(dshow.h,
2142 [ VLC_ADD_PLUGINS([bda])
2143 VLC_ADD_CXXFLAGS([bda],[])
2144 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2150 dnl OpenCV wrapper and example filters
2152 AC_ARG_ENABLE(opencv,
2153 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2154 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2156 AC_ARG_WITH(opencv-tree,
2157 [ --with-opencv-tree=PATH opencv tree for linking])
2158 if test -n "${with_opencv_tree}"
2160 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2162 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2163 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2164 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2167 VLC_ADD_PLUGINS([opencv_wrapper])
2168 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2169 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])
2171 VLC_ADD_PLUGINS([opencv_example])
2172 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2173 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])
2176 dnl No opencv could be found, sorry
2178 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2181 AC_MSG_WARN([--enable-opencv currently only works on windows])
2188 dnl libsmbclient plugin
2191 [ --enable-smb smb input module (default enabled)])
2192 if test "${enable_smb}" != "no"; then
2193 AC_CHECK_HEADERS(libsmbclient.h,
2194 [ VLC_ADD_PLUGINS([access_smb])
2195 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2196 [ if test -n "${enable_smb}"; then
2197 AC_MSG_ERROR([cannot find libsmbclient headers])
2199 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2200 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2201 [#include <libsmbclient.h>])
2205 dnl libdvbpsi ts demux/mux
2207 AC_ARG_ENABLE(dvbpsi,
2208 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2209 if test "${enable_dvbpsi}" != "no"
2212 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2214 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2215 case "${with_dvbpsi}" in
2217 if test -z "${with_dvbpsi_tree}"
2219 AC_CHECK_HEADERS(dvbpsi/dr.h,
2220 [ VLC_ADD_PLUGINS([ts])
2221 if test "${enable_sout}" != "no"; then
2222 VLC_ADD_PLUGINS([mux_ts])
2224 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2225 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2226 [#if defined( HAVE_STDINT_H )
2227 # include <stdint.h>
2228 #elif defined( HAVE_INTTYPES_H )
2229 # include <inttypes.h>
2231 #include <dvbpsi/dvbpsi.h>
2232 #include <dvbpsi/descriptor.h>
2233 #include <dvbpsi/pat.h>
2234 #include <dvbpsi/pmt.h>])
2236 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2237 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2238 if test -z "${real_dvbpsi_tree}"
2240 dnl The given directory can't be found
2242 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2244 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2246 dnl Use a custom libdvbpsi
2247 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2248 VLC_ADD_BUILTINS([ts])
2249 if test "${enable_sout}" != "no"; then
2250 VLC_ADD_BUILTINS([mux_ts])
2252 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2253 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2255 dnl The given libdvbpsi wasn't built
2257 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2262 dnl Compile without dvbpsi
2265 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2266 if test -z "${with_dvbpsi}"
2271 LDFLAGS_test="-L${with_dvbpsi}/lib"
2272 CPPFLAGS_test="-I${with_dvbpsi}/include"
2274 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2275 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2276 VLC_ADD_PLUGINS([ts])
2277 if test "${enable_sout}" != "no"; then
2278 VLC_ADD_PLUGINS([mux_ts])
2280 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2281 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2284 if test -n "${enable_dvbpsi}"
2286 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])
2289 CPPFLAGS="${CPPFLAGS_save}"
2292 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2293 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2294 ], [], [${LIBS_ts}])
2299 dnl Video4Linux plugin
2302 [ --enable-v4l Video4Linux input support (default disabled)])
2303 if test "${enable_v4l}" = "yes"
2306 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2307 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2309 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2312 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2313 AC_CHECK_HEADERS(linux/videodev.h, [
2314 VLC_ADD_PLUGINS([v4l])
2316 CPPFLAGS="${CPPFLAGS_save}"
2320 dnl Video4Linux2 plugin
2323 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2324 if test "${enable_v4l2}" = "yes"
2327 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2328 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2330 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2333 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2334 if test "${have_v4l2_alsa}" = "true"
2336 CFLAGS="${CFLAGS_save}"
2337 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2338 #define ALSA_PCM_NEW_SW_PARAMS_API
2339 #include <alsa/asoundlib.h>],
2340 [snd_pcm_hw_params_get_period_time(0,0,0);],
2341 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2342 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2343 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2346 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2347 AC_CHECK_HEADERS(linux/videodev2.h, [
2348 VLC_ADD_PLUGINS([v4l2])
2350 CPPFLAGS="${CPPFLAGS_save}"
2355 dnl special access module for Hauppauge PVR cards
2358 [ --enable-pvr PVR cards access module (default disabled)])
2359 if test "${enable_pvr}" = "yes"
2361 VLC_ADD_PLUGINS([pvr])
2362 AC_ARG_WITH(videodev2,
2363 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2364 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2366 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2370 AC_CACHE_CHECK([for new linux/videodev2.h],
2371 [new_linux_videodev2_h],
2373 #include <sys/types.h>
2374 # ifdef VIDEODEV2_H_FILE
2375 # include VIDEODEV2_H_FILE
2377 # include <linux/videodev2.h>
2380 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2381 new_linux_videodev2_h=yes,
2382 new_linux_videodev2_h=no)])
2383 if test "${new_linux_videodev2_h}" != "no"; then
2384 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2389 dnl gnomeVFS access module
2391 AC_ARG_ENABLE(gnomevfs,
2392 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2393 if test "${enable_gnomevfs}" = "yes"
2395 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2396 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2397 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2398 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2399 VLC_ADD_PLUGINS([access_gnomevfs]),
2400 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2403 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2404 AC_ARG_ENABLE(libcdio,
2405 [ --enable-libcdio CD input and control library support (default enabled)])
2410 if test "${enable_libcdio}" != "no"
2412 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2414 AC_DEFINE(HAVE_LIBCDIO, 1,
2415 [Define if you have libcdio 0.78.2 or greater installed]),
2416 [AC_MSG_WARN(CD Reading and information library not found)])
2418 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2419 [have_libvcdinfo=yes
2420 AC_DEFINE(HAVE_VCDINFO, 1,
2421 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2422 [AC_MSG_WARN(VCD information library not found)])
2426 dnl VCDX and CDDAX modules
2428 AC_ARG_ENABLE(cddax,
2429 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2431 AC_ARG_ENABLE(libcddb,
2432 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2434 if test "${enable_cddax}" = "yes"
2436 if test "$have_libcdio" = "yes"
2438 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2439 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2440 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2441 VLC_ADD_PLUGINS([cddax])
2442 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2443 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2444 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2446 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2450 if test "$enable_libcddb" != "no"; then
2451 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2453 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2454 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2455 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2457 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2464 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2466 if test "${enable_vcdx}" = "yes"
2468 if test "${have_libvcdinfo}" = "yes"
2470 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2471 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2473 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2477 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2478 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2479 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2480 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2483 if test "$have_libvcdinfo" = "yes"
2485 AC_DEFINE(HAVE_VCDX, 1,
2486 [Define for the VCD plugin using libcdio/libvcdinfo])
2487 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2488 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2489 VLC_ADD_PLUGINS([vcdx])
2491 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2497 dnl Built-in CD-DA and VCD module
2500 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2503 [ --enable-vcd built-in VCD (default enabled)])
2505 if test "${enable_vcd}" != "no"
2507 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2508 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2510 VLC_ADD_PLUGINS([vcd cdda])
2515 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2516 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2518 VLC_ADD_PLUGINS([vcd cdda])
2519 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2524 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2525 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2527 VLC_ADD_PLUGINS([vcd cdda])
2528 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2533 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2535 VLC_ADD_PLUGINS([vcd cdda])
2538 if test "${SYS}" = "darwin"
2540 VLC_ADD_PLUGINS([vcd cdda])
2541 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2542 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2545 if test "$enable_libcddb" != "no"; then
2546 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2548 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2549 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2550 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2552 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2558 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2561 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2563 if test "${enable_dvb}" = "yes"
2566 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2567 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2569 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2571 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2572 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2573 if test -z "${with_dvbpsi_tree}"
2575 VLC_ADD_PLUGINS([dvb])
2577 VLC_ADD_BUILTINS([dvb])
2579 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2580 CPPFLAGS="${CPPFLAGS_save}"
2584 dnl Screen capture module
2586 AC_ARG_ENABLE(screen,
2587 [ --enable-screen Screen capture support (default enabled)])
2588 if test "${enable_screen}" != "no"; then
2589 if test "${SYS}" = "darwin"; then
2590 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2591 VLC_ADD_PLUGINS([screen])
2592 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2594 elif test "${SYS}" = "mingw32"; then
2595 VLC_ADD_PLUGINS([screen])
2596 VLC_ADD_LIBS([screen],[-lgdi32])
2597 elif test "${SYS}" = "mingwce"; then
2598 CPPFLAGS="${CPPFLAGS_save}"
2599 elif test "${SYS}" = "beos"; then
2600 VLC_ADD_PLUGINS([screen])
2601 VLC_ADD_CXXFLAGS([screen],[])
2602 VLC_ADD_LIBS([screen],[-lbe])
2604 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2605 AC_CHECK_HEADERS(X11/Xlib.h, [
2606 VLC_ADD_PLUGINS([screen])
2607 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2608 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2610 CPPFLAGS="${CPPFLAGS_save}"
2615 dnl ipv6 plugin - not for QNX yet
2618 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2619 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2622 AS_IF([test "${have_ipv6}" = "yes"], [
2623 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2626 AC_CHECK_FUNCS(inet_ntop,[
2627 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2631 dnl ogg demux plugin
2634 [ --enable-ogg Ogg demux support (default enabled)])
2635 if test "${enable_ogg}" != "no"
2637 AC_ARG_WITH(ogg-tree,
2638 [ --with-ogg-tree=PATH ogg tree for static linking])
2639 if test -n "${with_ogg_tree}"
2641 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2642 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2643 if test -z "${real_ogg_tree}"
2645 dnl The given directory can't be found
2647 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2649 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2651 dnl Use a custom ogg
2652 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2653 VLC_ADD_PLUGINS([ogg])
2654 if test "${enable_sout}" != "no"; then
2655 VLC_ADD_PLUGINS([mux_ogg])
2657 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2658 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2660 dnl The given ogg wasn't built
2662 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2665 AC_CHECK_HEADERS(ogg/ogg.h, [
2666 AC_CHECK_LIB( ogg, oggpack_read, [
2667 VLC_ADD_PLUGINS([ogg])
2668 if test "${enable_sout}" != "no"; then
2669 VLC_ADD_PLUGINS([mux_ogg])
2671 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2677 dnl matroska demux plugin
2680 [ --enable-mkv Matroska demux support (default enabled)])
2681 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2683 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2684 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2686 [#include <ebml/EbmlVersion.h>
2687 #ifdef LIBEBML_VERSION
2688 #if LIBEBML_VERSION >= 0x000706
2692 [AC_MSG_RESULT([yes])
2693 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2694 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2696 [#include <matroska/KaxVersion.h>
2697 #ifdef LIBMATROSKA_VERSION
2698 #if LIBMATROSKA_VERSION >= 0x000705
2702 [AC_MSG_RESULT([yes])
2703 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2704 VLC_ADD_CXXFLAGS([mkv],[])
2705 if test "${SYS}" = "darwin"; then
2706 VLC_ADD_CXXFLAGS([mkv],[-O1])
2708 AC_CHECK_LIB(ebml_pic, main, [
2709 VLC_ADD_PLUGINS([mkv])
2710 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2712 AC_CHECK_LIB(ebml, main, [
2713 VLC_ADD_PLUGINS([mkv])
2714 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2718 [AC_MSG_RESULT([no])
2719 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.])
2723 [AC_MSG_RESULT([no])
2724 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.])
2731 dnl modplug demux plugin
2734 [ --enable-mod Mod demux support (default enabled)])
2735 if test "${enable_mod}" != "no"
2737 AC_ARG_WITH(mod-tree,
2738 [ --with-mod-tree=PATH mod tree for static linking])
2739 if test -n "${with_mod_tree}"
2741 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2742 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2743 if test -z "${real_mod_tree}"
2745 dnl The given directory can't be found
2747 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2749 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2751 dnl Use a custom mod
2752 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2753 VLC_ADD_PLUGINS([mod])
2754 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2755 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2757 dnl The given mod wasn't built
2759 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2762 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2763 VLC_ADD_PLUGINS([mod])
2764 VLC_ADD_CXXFLAGS([mod],[])
2765 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2770 dnl mpc demux plugin
2773 [ --enable-mpc Mpc demux support (default enabled)])
2774 if test "${enable_mpc}" != "no"
2776 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2777 VLC_ADD_PLUGINS([mpc])
2778 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2782 dnl game music emu demux plugin
2785 [ --enable-gme Game Music Emu demux support (default enabled)])
2786 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2789 AC_ARG_WITH(gme-tree,
2790 [ --with-gme-tree=PATH gme tree for static linking])
2791 if test -n "${with_gme_tree}"
2793 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2794 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2795 if test -z "${real_gme_tree}"
2797 dnl The given directory can't be found
2799 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2801 if test -f "${real_gme_tree}/gme/libgme.a"
2803 dnl Use a custom gme
2804 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2805 VLC_ADD_PLUGINS([gme])
2806 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2807 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2809 dnl The given gme wasn't built
2811 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2814 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2823 AC_ARG_WITH(,[Codec plugins:])
2829 [ --enable-mad libmad module (default enabled)])
2830 if test "${enable_mad}" != "no"
2833 [ --with-mad=PATH path to libmad],[],[])
2834 if test "${with_mad}" != "no" -a -n "${with_mad}"
2836 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2837 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2840 AC_ARG_WITH(mad-tree,
2841 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2842 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2844 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2845 if test -z "${real_mad_tree}"
2847 dnl The given directory can't be found
2849 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2851 dnl Use a custom libmad
2852 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2853 if test -f ${real_mad_tree}/mad.h
2856 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2857 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2858 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2859 AC_CHECK_LIB(mad, mad_bit_init, [
2860 VLC_ADD_BUILTINS([mpgatofixed32])
2861 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2862 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2864 LDFLAGS="${LDFLAGS_save}"
2867 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2870 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2871 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2872 AC_CHECK_HEADERS(mad.h, ,
2873 [ 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.]) ])
2874 AC_CHECK_LIB(mad, mad_bit_init, [
2875 VLC_ADD_PLUGINS([mpgatofixed32])
2876 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2877 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2878 CPPFLAGS="${CPPFLAGS_save}"
2879 LDFLAGS="${LDFLAGS_save}"
2884 dnl libid3tag support (FIXME!!! doesn't work with new input)
2886 AC_ARG_ENABLE( id3tag,
2887 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2888 AS_IF([test "${enable_id3tag}" != "no"], [
2889 AC_CHECK_HEADERS(id3tag.h, [
2890 AC_CHECK_HEADERS(zlib.h, [
2891 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2892 VLC_ADD_PLUGINS([id3tag])
2898 dnl ffmpeg decoder/demuxer plugin
2900 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2901 dnl 3- default place,
2903 AC_ARG_ENABLE(ffmpeg,
2904 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2905 if test "${enable_ffmpeg}" != "no"
2908 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2910 AC_ARG_WITH(ffmpeg-mp3lame,
2911 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2913 if test "$with_ffmpeg_mp3lame" = "yes"; then
2914 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2917 AC_ARG_WITH(ffmpeg-faac,
2918 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2920 if test "$with_ffmpeg_faac" = "yes"; then
2921 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2924 AC_ARG_WITH(ffmpeg-dts,
2925 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2927 if test "$with_ffmpeg_dts" = "yes"; then
2928 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2929 AC_CHECK_LIB(dts_pic, dts_free,
2930 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2931 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2932 LDFLAGS="${LDFLAGS_save}"
2935 AC_ARG_WITH(ffmpeg-vorbis,
2936 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2938 if test "$with_ffmpeg_vorbis" = "yes"; then
2939 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2942 AC_ARG_WITH(ffmpeg-theora,
2943 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2945 if test "$with_ffmpeg_theora" = "yes"; then
2946 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2949 AC_ARG_WITH(ffmpeg-ogg,
2950 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2952 if test "$with_ffmpeg_ogg" = "yes"; then
2953 VLC_ADD_LIBS([ffmpeg],[-logg])
2956 AC_ARG_WITH(ffmpeg-zlib,
2957 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2959 if test "$with_ffmpeg_zlib" = "yes"; then
2960 VLC_ADD_LIBS([ffmpeg],[-lz])
2963 AC_ARG_WITH(ffmpeg-amrnb,
2964 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2966 if test "$with_ffmpeg_amrnb" = "yes"; then
2967 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
2970 AC_ARG_WITH(ffmpeg-amrwb,
2971 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2973 if test "$with_ffmpeg_amrwb" = "yes"; then
2974 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
2977 AC_ARG_WITH(ffmpeg-x264,
2978 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
2980 if test "$with_ffmpeg_x264" = "yes"; then
2981 VLC_ADD_LIBS([ffmpeg],[-lx264])
2984 AC_ARG_WITH(ffmpeg-a52,
2985 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
2987 if test "$with_ffmpeg_a52" = "yes"; then
2988 VLC_ADD_LIBS([ffmpeg],[-la52])
2992 dnl test for --with-ffmpeg-tree
2994 AC_ARG_WITH(ffmpeg-tree,
2995 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2997 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2998 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2999 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3000 if test -z "${real_ffmpeg_tree}"; then
3001 dnl The given directory can't be found
3003 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3005 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3006 dnl The given libavcodec wasn't built
3008 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3010 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3011 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3012 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3013 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3014 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3015 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3017 dnl The given libavcodec wasn't built with --enable-pp
3019 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3022 dnl Use a custom libffmpeg
3023 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3025 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3026 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3027 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3028 export PKG_CONFIG_PATH=""
3029 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3031 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3032 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3033 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3035 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3036 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3038 unset PKG_CONFIG_PATH
3040 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3041 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3043 unset PKG_CONFIG_LIBDIR
3046 VLC_ADD_BUILTINS([ffmpeg])
3047 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3048 VLC_ADD_BUILTINS([stream_out_switcher])
3051 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3052 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3053 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3054 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3057 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3058 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3059 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
3060 VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
3065 dnl Trying with pkg-config
3066 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3069 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3070 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3071 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3072 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3073 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3074 dnl newer ffmpeg have a separate libpostproc
3075 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3076 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3077 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3079 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3080 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3081 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3082 if test "${SYS}" = "darwin"; then
3083 VLC_ADD_BUILTINS([ffmpeg])
3085 VLC_ADD_PLUGINS([ffmpeg])
3087 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3088 if test "${SYS}" = "darwin"; then
3089 VLC_ADD_BUILTINS([stream_out_switcher])
3091 VLC_ADD_PLUGINS([stream_out_switcher])
3094 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3095 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3097 dnl even newer ffmpeg has a libswscale
3098 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3099 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3100 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3101 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3102 AC_CHECK_LIB(swscale, sws_getContext,
3103 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3109 dnl last chance: at the default place
3111 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3112 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3113 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3114 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3115 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3116 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3118 AC_CHECK_LIB(avutil, av_crc_init, [
3119 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3120 LDAVUTIL="-lavutil"])
3122 AC_CHECK_LIB(avcodec, avcodec_init, [
3123 VLC_ADD_BUILTINS([ffmpeg])
3124 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3125 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3126 VLC_ADD_BUILTINS([stream_out_switcher])
3128 [ 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])
3130 AC_CHECK_LIB(postproc, pp_postprocess, [
3131 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3132 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3135 AC_CHECK_LIB(avformat, av_open_input_stream, [
3136 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3137 LDFLAGS="${LDFLAGS_save}"
3138 CPPFLAGS="${CPPFLAGS_save}"
3140 AC_CHECK_LIB(swscale, sws_getContext, [
3141 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3142 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3143 LDFLAGS="${LDFLAGS_save}"
3144 CPPFLAGS="${CPPFLAGS_save}"
3150 dnl ffmpegaltivec plugin
3152 AC_ARG_ENABLE(ffmpegaltivec,
3153 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3154 if test "${enable_ffmpegaltivec}" = "yes"
3156 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3157 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3158 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3159 if test -z "${real_ffmpeg_tree}"; then
3160 dnl The given directory can't be found
3162 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3164 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3165 dnl The given libavcodecaltivec wasn't built
3167 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3169 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3170 dnl The given libavcodecaltivec wasn't built with --enable-pp
3172 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3174 dnl Use a custom libffmpeg
3175 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3176 VLC_ADD_BUILTINS([ffmpegaltivec])
3177 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3178 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3179 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3181 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3182 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3183 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3184 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3186 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3187 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3192 dnl faad decoder plugin
3195 [ --enable-faad faad codec (default disabled)])
3196 if test "${enable_faad}" = "yes"
3198 AC_ARG_WITH(faad-tree,
3199 [ --with-faad-tree=PATH faad tree for static linking])
3200 if test -n "${with_faad_tree}"
3202 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3203 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3204 if test -z "${real_faad_tree}"
3206 dnl The given directory can't be found
3208 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3210 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3212 dnl Use a custom faad
3213 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3214 VLC_ADD_BUILTINS([faad])
3215 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3216 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3218 dnl The given libfaad wasn't built
3220 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3223 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3224 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3225 AC_CHECK_HEADERS(faad.h, ,
3226 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3227 AC_CHECK_LIB(faad, faacDecOpen, [
3228 VLC_ADD_PLUGINS([faad])
3229 VLC_ADD_LIBS([faad],[-lfaad]) ],
3230 AC_CHECK_LIB(faad, NeAACDecOpen, [
3231 VLC_ADD_PLUGINS([faad])
3232 VLC_ADD_LIBS([faad],[-lfaad]) ],
3233 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3234 LDFLAGS="${LDFLAGS_save}"
3235 CPPFLAGS="${CPPFLAGS_save}"
3240 dnl twolame encoder plugin
3242 AC_ARG_ENABLE(twolame,
3243 [ --enable-twolame twolame codec (default disabled)])
3244 if test "${enable_twolame}" = "yes"
3246 AC_ARG_WITH(twolame-tree,
3247 [ --with-twolame-tree=PATH twolame tree for static linking])
3248 if test -n "${with_twolame_tree}"
3250 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3251 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3252 if test -z "${real_twolame_tree}"
3254 dnl The given directory can't be found
3256 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3258 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3260 dnl Use a custom twolame
3261 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3262 VLC_ADD_BUILTINS([twolame])
3263 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3264 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3266 dnl The given libtwolame wasn't built
3268 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3271 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3272 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3273 AC_CHECK_HEADERS(twolame.h, ,
3274 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3275 AC_CHECK_LIB(twolame, twolame_init, [
3276 VLC_ADD_PLUGINS([twolame])
3277 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3278 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3279 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3280 LDFLAGS="${LDFLAGS_save}"
3281 CPPFLAGS="${CPPFLAGS_save}"
3286 dnl QuickTime plugin
3288 AC_ARG_ENABLE(quicktime,
3289 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3290 if test "${enable_quicktime}" != "no" &&
3291 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3293 if test "${SYS}" = "mingw32"; then
3294 VLC_ADD_BUILTINS([quicktime])
3296 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3297 [ VLC_ADD_BUILTINS([quicktime])
3298 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3299 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3307 [ --enable-real Real audio module (default disabled)])
3308 if test "${enable_real}" = "yes"; then
3309 VLC_ADD_PLUGINS([realaudio])
3313 dnl Real RTSP plugin
3315 AC_ARG_ENABLE(realrtsp,
3316 [ --enable-realrtsp Real RTSP module (default disabled)])
3317 if test "${enable_realrtsp}" = "yes"; then
3318 VLC_ADD_PLUGINS([access_realrtsp])
3324 AC_CHECK_HEADERS(zlib.h, [
3325 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3328 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3329 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3335 AC_ARG_ENABLE(libtar,
3336 [ --enable-libtar support for skins2 (default enabled)])
3338 AS_IF([test "${enable_libtar}" != "no"],[
3339 AC_CHECK_HEADERS(libtar.h, [
3340 VLC_ADD_LIBS([skins2],[-ltar])
3345 dnl A52/AC3 decoder plugin
3348 [ --enable-a52 A/52 support with liba52 (default enabled)])
3349 if test "${enable_a52}" != "no"
3352 [ --with-a52=PATH a52 headers and libraries])
3353 AC_ARG_WITH(a52-tree,
3354 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3355 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3357 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3358 if test -z "${real_a52_tree}"
3360 dnl The given directory can't be found
3362 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3364 dnl Use a custom a52dec
3365 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3366 if test -f ${real_a52_tree}/include/a52.h
3369 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3370 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3371 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3372 AC_CHECK_LIB(a52, a52_free, [
3373 VLC_ADD_BUILTINS([a52tofloat32])
3374 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3375 VLC_ADD_LIBS([a52tofloat32],[-la52])
3377 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3379 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3381 AC_MSG_ERROR([the specified tree hasn't been compiled])
3384 LDFLAGS="${LDFLAGS_save}"
3387 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3390 if test -z "${with_a52}"
3395 LDFLAGS_test="-L${with_a52}/lib"
3396 CPPFLAGS_test="-I${with_a52}/include"
3398 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3399 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3400 AC_CHECK_HEADERS(a52dec/a52.h, [
3401 AC_CHECK_LIB(a52, a52_free, [
3402 VLC_ADD_PLUGINS([a52tofloat32])
3403 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3404 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3406 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.])
3409 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.])
3411 CPPFLAGS="${CPPFLAGS_save}"
3412 LDFLAGS="${LDFLAGS_save}"
3416 AC_ARG_WITH(a52-fixed,
3417 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3419 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3422 dnl DTS Coherent Acoustics decoder plugin
3424 AS_IF([test "x${enable_dts}" != "x"], [
3425 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3427 AS_IF([test "x${with_dts_tree}" != "x"], [
3428 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3432 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3433 AS_IF([test "${enable_dca}" != "no"], [
3434 AC_ARG_WITH(dca-tree,
3435 [ --with-dca-tree=PATH libdca tree for static linking],,
3436 [with_dca_tree="no"])
3437 AS_IF([test "${with_dca_tree}" != "no"], [
3438 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3439 AS_IF([test -z "${real_dca_tree}"], [
3440 dnl The given directory can't be found
3442 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3444 dnl Use a custom libdca
3445 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3446 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3448 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3449 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3450 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3452 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3456 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3459 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3460 VLC_ADD_PLUGINS([dtstofloat32])
3461 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3462 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3464 AS_IF([test "x${enable_dca}" != "x"], [
3465 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3475 [ --enable-flac libflac decoder/encoder support (default disabled)])
3476 if test "${enable_flac}" = "yes"
3478 AC_ARG_WITH(flac-tree,
3479 [ --with-flac-tree=PATH flac tree for static linking])
3480 if test -n "${with_flac_tree}"
3482 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3483 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3484 if test -z "${real_flac_tree}"
3486 dnl The given directory can't be found
3488 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3490 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3492 dnl Use a custom flac
3493 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3494 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3495 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3496 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3498 dnl The given flac wasn't built
3500 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3503 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3504 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3512 AC_ARG_ENABLE(libmpeg2,
3513 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3514 if test "${enable_libmpeg2}" != "no"
3516 AC_ARG_WITH(libmpeg2-tree,
3517 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3518 if test -n "${with_libmpeg2_tree}"
3520 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3521 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3522 if test -z "${real_libmpeg2_tree}"
3524 dnl The given directory can't be found
3526 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3528 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3530 dnl Use a custom libmpeg2
3531 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3532 VLC_ADD_BUILTINS([libmpeg2])
3533 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3534 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3535 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3537 dnl The given libmpeg2 wasn't built
3539 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3542 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3543 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3545 [#include <mpeg2dec/mpeg2.h>
3546 #ifdef MPEG2_RELEASE
3547 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3551 [AC_MSG_RESULT([yes])
3552 VLC_ADD_PLUGINS([libmpeg2])
3553 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3554 [AC_MSG_RESULT([no])
3555 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.])])],
3557 [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.])]
3565 AC_ARG_ENABLE(vorbis,
3566 [ --enable-vorbis Vorbis decoder support (default enabled)])
3567 if test "${enable_vorbis}" != "no"
3569 AC_ARG_WITH(vorbis-tree,
3570 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3571 if test -n "${with_vorbis_tree}"
3573 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3574 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3575 if test -z "${real_vorbis_tree}"
3577 dnl The given directory can't be found
3579 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3581 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3583 dnl Use a custom vorbis
3584 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3585 VLC_ADD_PLUGINS([vorbis])
3586 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3587 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3589 dnl The given vorbis wasn't built
3591 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3594 AC_CHECK_HEADERS(vorbis/codec.h, [
3595 VLC_ADD_PLUGINS([vorbis])
3596 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3598 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3599 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3606 AC_ARG_ENABLE(tremor,
3607 [ --enable-tremor Tremor decoder support (default disabled)])
3608 if test "${enable_tremor}" = "yes"
3610 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3611 VLC_ADD_PLUGINS([tremor])
3612 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3619 AC_ARG_ENABLE(speex,
3620 [ --enable-speex Speex decoder support (default enabled)])
3621 if test "${enable_speex}" != "no"
3623 AC_ARG_WITH(speex-tree,
3624 [ --with-speex-tree=PATH speex tree for static linking])
3625 if test -n "${with_speex_tree}"
3627 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3628 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3629 if test -z "${real_speex_tree}"
3631 dnl The given directory can't be found
3633 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3635 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3637 dnl Use a custom speex
3638 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3639 VLC_ADD_PLUGINS([speex])
3640 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3641 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3643 dnl The given speex wasn't built
3645 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3648 AC_CHECK_HEADERS(speex/speex.h, [
3649 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3650 AC_CHECK_LIB(speex, speex_decode_int, [
3651 VLC_ADD_PLUGINS([speex])
3652 VLC_ADD_LIBS([speex],[-lspeex]) ],
3653 [ AC_MSG_RESULT([no])
3654 AC_MSG_WARN([Your libspeex is too old, please get the development
3656 LDFLAGS="${LDFLAGS_save}"
3662 dnl tarkin decoder plugin
3664 AC_ARG_ENABLE(tarkin,
3665 [ --enable-tarkin experimental tarkin codec (default disabled)])
3666 if test "${enable_tarkin}" = "yes"
3668 AC_ARG_WITH(tarkin-tree,
3669 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3670 if test -n "${with_tarkin_tree}"
3672 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3673 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3674 if test -f "${real_tarkin_tree}/tarkin.o"
3676 VLC_ADD_BUILTINS([tarkin])
3677 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3678 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])
3681 dnl The given tarkin tree wasn't built
3683 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3684 make sure you compiled tarkin in ${with_tarkin_tree}])
3690 dnl theora decoder plugin
3692 AC_ARG_ENABLE(theora,
3693 [ --enable-theora experimental theora codec (default disabled)])
3694 if test "${enable_theora}" = "yes"
3696 AC_CHECK_HEADERS(theora/theora.h, [
3697 AC_CHECK_LIB(theora, theora_granule_time, [
3698 VLC_ADD_PLUGINS([theora])
3699 theora_libs="-ltheora -logg"
3700 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3701 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3702 You also need to check that you have a libogg posterior to the 1.0 release.])],
3708 dnl dirac decoder plugin
3710 AC_ARG_ENABLE(dirac,
3711 [ --enable-dirac experimental dirac codec (default disabled)])
3712 if test "${enable_dirac}" = "yes"; then
3713 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3714 VLC_ADD_PLUGINS([dirac])
3715 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3716 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3717 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3722 dnl PNG decoder module
3725 [ --enable-png PNG support (default enabled)])
3726 if test "${enable_png}" != "no"; then
3727 AC_CHECK_HEADERS(png.h, [
3728 LDFLAGS="${LDFLAGS_save} -lz"
3729 AC_CHECK_LIB(png, png_set_rows, [
3730 VLC_ADD_LIBS([png],[-lpng -lz])
3731 VLC_ADD_PLUGINS([png])
3732 VLC_ADD_PLUGINS([osdmenu osd_parser])
3733 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3735 LDFLAGS="${LDFLAGS_save}"
3740 dnl H264 encoder plugin (using libx264)
3743 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3744 if test "${enable_x264}" != "no"; then
3745 AC_ARG_WITH(x264-tree,
3746 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3747 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3749 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3750 if test -z "${real_x264_tree}"
3752 dnl The given directory can't be found
3754 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3756 dnl Use a custom libx264
3757 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3758 if test -f ${real_x264_tree}/x264.h
3761 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3762 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3763 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3764 AC_CHECK_LIB(x264, x264_encoder_open, [
3765 VLC_ADD_BUILTINS([x264])
3766 VLC_ADD_LIBS([x264],[-lx264])
3768 AC_MSG_ERROR([the specified tree hasn't been compiled])
3770 LDFLAGS="${LDFLAGS_save}"
3773 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3776 LDFLAGS="${LDFLAGS_save} ${LIBS_x264} ${THREAD_LIB}"
3777 AC_CHECK_HEADERS(x264.h, [
3778 AC_CHECK_LIB(x264, x264_encoder_open, [
3779 VLC_ADD_PLUGINS([x264])
3780 VLC_ADD_LIBS([x264],[-lx264])
3782 if test "${enable_x264}" = "yes"; then
3783 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3787 LDFLAGS="${LDFLAGS_save}"
3792 dnl libfluidsynth (MIDI synthetizer) plugin
3794 AC_ARG_ENABLE(fluidsynth,
3795 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3796 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3797 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3798 VLC_ADD_PLUGINS(fluidsynth)
3799 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3800 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3802 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3803 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3809 dnl Teletext Modules
3810 dnl vbi decoder plugin (using libzbvi)
3815 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3817 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3819 AS_IF( [test "${enable_zvbi}" != "no"],[
3820 AS_IF( [test "${enable_telx}" = "yes"],[
3821 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3823 PKG_CHECK_MODULES(ZVBI,
3826 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3827 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3828 VLC_ADD_PLUGINS([zvbi])
3829 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3831 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3836 AS_IF( [test "${enable_telx}" = "yes"],[
3837 VLC_ADD_PLUGINS([telx])
3844 [ --enable-cmml CMML support (default enabled)])
3845 if test "${enable_cmml}" != "no"
3847 VLC_ADD_PLUGINS([cmml])
3855 AC_ARG_WITH(,[Video plugins:])
3858 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3859 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3860 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3861 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3862 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3864 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3865 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3870 #include <X11/Xlib.h>
3872 CPPFLAGS="${CPPFLAGS_save}"
3877 dnl (enabled by default except on win32)
3880 [ --enable-x11 X11 support (default enabled)])
3881 if test "${enable_x11}" != "no" &&
3882 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3883 test "${enable_x11}" = "yes"); then
3884 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3885 AC_CHECK_HEADERS(X11/Xlib.h, [
3886 VLC_ADD_PLUGINS([panoramix])
3887 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3888 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3889 AC_CHECK_LIB(Xext, XShmAttach, [
3890 VLC_ADD_PLUGINS([x11])
3891 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3892 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3895 CPPFLAGS="${CPPFLAGS_save}"
3900 dnl (enabled by default except on win32)
3902 AC_ARG_ENABLE(xvideo,
3903 [ --enable-xvideo XVideo support (default enabled)])
3904 if test "${enable_xvideo}" != "no" &&
3905 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3906 test "${enable_xvideo}" = "yes"); then
3907 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3908 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3909 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3910 AC_CHECK_LIB(Xv,XvPutImage,[
3911 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3912 # test for libXv_pic.
3913 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3914 VLC_ADD_PLUGINS([xvideo])
3915 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3916 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3918 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3919 VLC_ADD_PLUGINS([xvideo])
3920 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3921 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3923 VLC_ADD_BUILTINS([xvideo])
3924 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3925 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3929 CFLAGS="${CFLAGS_save}"
3931 CPPFLAGS="${CPPFLAGS_save}")
3936 dnl (enabled by default except on win32)
3939 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3940 if test "${enable_glx}" != "no" &&
3941 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3942 test "${enable_glx}" = "yes"); then
3943 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3944 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3945 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3946 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3950 VLC_ADD_PLUGINS([glx])
3951 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3952 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3953 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3954 CPPFLAGS="${CPPFLAGS_save}"
3959 dnl (enabled by default except on win32)
3962 [ --enable-xvmc XVMC support (default disabled)])
3963 if test "${enable_xvmc}" = "yes" &&
3964 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3965 test "${enable_xvmc}" = "yes"); then
3966 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3967 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3968 VLC_ADD_PLUGINS([xvmc])
3969 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3970 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3972 CPPFLAGS="${CPPFLAGS_save}"
3976 dnl Check for the Xinerama extension
3978 AC_ARG_ENABLE(xinerama,
3979 [ --enable-xinerama Xinerama support (default enabled)])
3980 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3981 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3982 test "${enable_xvideo}" = "yes"); then
3983 ac_cv_have_xinerama="no"
3984 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3985 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3986 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3987 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3988 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
3989 VLC_ADD_LIBS([x11],[-lXinerama_pic])
3990 VLC_ADD_LIBS([glx],[-lXinerama_pic])
3991 ac_cv_have_xinerama="yes"
3993 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3994 VLC_ADD_LIBS([xvideo],[-lXinerama])
3995 VLC_ADD_LIBS([x11],[-lXinerama])
3996 VLC_ADD_LIBS([glx],[-lXinerama])
3997 ac_cv_have_xinerama="yes"
4001 if test "${ac_cv_have_xinerama}" = "yes"; then
4002 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4004 CFLAGS="${CFLAGS_save}"
4005 CPPFLAGS="${CPPFLAGS_save}"
4008 dnl Check for XF86VidMode extension
4010 ac_cv_have_xf86vidmode="no"
4011 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4012 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4013 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4014 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4015 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4016 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4017 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4018 ac_cv_have_xf86vidmode="yes"
4020 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4021 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4022 VLC_ADD_LIBS([x11],[-lXxf86vm])
4023 VLC_ADD_LIBS([glx],[-lXxf86vm])
4024 ac_cv_have_xf86vidmode="yes"
4028 [#ifdef HAVE_X11_XLIB_H
4029 # include <X11/Xlib.h>
4032 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4033 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4035 CFLAGS="${CFLAGS_save}"
4036 CPPFLAGS="${CPPFLAGS_save}"
4042 dnl (enabled by default except on beos)
4044 AC_ARG_ENABLE(opengl,
4045 [ --enable-opengl OpenGL support (default enabled)])
4046 if test "${enable_opengl}" != "no" &&
4047 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4048 if test "${SYS}" != "darwin"; then
4049 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4050 VLC_ADD_PLUGINS([opengl])
4051 if test "${SYS}" != "mingw32"; then
4052 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4054 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4058 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4059 VLC_ADD_PLUGINS([opengl])
4060 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4068 [ --enable-sdl SDL support (default enabled)])
4069 AC_ARG_ENABLE(sdl-image,
4070 [ --enable-sdl-image SDL image support (default enabled)])
4071 if test "${enable_sdl}" != "no"
4074 AC_ARG_WITH(sdl-config-path,
4075 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4076 [ if test "${with_sdl_config_path}" != "no"
4078 SDL_PATH="${with_sdl_config_path}:${PATH}"
4080 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4081 SDL_CONFIG="${SDL12_CONFIG}"
4082 SDL_HEADER="SDL12/SDL.h"
4083 SDL_IMAGE="SDL12/SDL_image.h"
4084 if test "${SDL_CONFIG}" = "no"
4086 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4087 SDL_CONFIG=${SDL11_CONFIG}
4088 SDL_HEADER="SDL11/SDL.h"
4089 SDL_IMAGE="SDL11/SDL_image.h"
4091 if test "${SDL_CONFIG}" = "no"
4093 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4094 SDL_HEADER="SDL/SDL.h"
4095 SDL_IMAGE="SDL/SDL_image.h"
4097 # check for cross-compiling
4099 AC_ARG_WITH(sdl-prefix,
4100 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4102 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4103 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4105 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4107 if test "${SDL_CONFIG}" != "no"
4109 # SDL on Darwin is heavily patched and can only run SDL_image
4110 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4111 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4113 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4114 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4115 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4116 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4117 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4118 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4119 As a last resort we also test for SDL.h presence),
4120 [ AC_MSG_ERROR([The development package for SDL is not installed.
4121 Please install it and try again. Alternatively you can also configure with
4124 AS_IF([ test "${enable_sdl_image}" != "no"],[
4125 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4126 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4127 VLC_ADD_PLUGINS([sdl_image])
4128 AC_CHECK_LIB(png, png_set_rows,
4129 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4130 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4131 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4132 AC_CHECK_LIB(tiff, TIFFClientOpen,
4133 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4134 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4135 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4136 As a last resort we also test for SDL_image.h presence),
4137 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4138 You should install it alongside your SDL package.])
4141 CPPFLAGS="${CPPFLAGS_save}"
4142 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4144 AC_MSG_ERROR([The development package for SDL is not installed.
4145 Please install it and try again. Alternatively you can also configure with
4149 elif test "${enable_sdl}" = "yes"
4151 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4152 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4160 AC_ARG_ENABLE(freetype,
4161 [ --enable-freetype freetype support (default enabled)])
4162 AC_ARG_ENABLE(fribidi,
4163 [ --enable-fribidi fribidi support (default enabled)])
4164 if test "${enable_freetype}" != "no"
4166 FREETYPE_PATH="${PATH}"
4167 AC_ARG_WITH(freetype-config-path,
4168 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4169 [ if test "${with_freetype_config_path}" != "no"
4171 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4173 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4175 if test "${FREETYPE_CONFIG}" != "no"
4177 VLC_ADD_PLUGINS([freetype])
4178 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4179 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4180 if test "${SYS}" = "mingw32"; then
4181 VLC_ADD_LIBS([freetype],[-lxml2])
4183 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4184 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4185 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4186 AC_CHECK_HEADERS(Carbon/Carbon.h,
4187 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4188 elif test "${enable_freetype}" = "yes"
4190 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4191 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4196 if test "${enable_fribidi}" != "no"
4198 FRIBIDI_PATH="${PATH}"
4199 AC_ARG_WITH(fribidi-config-path,
4200 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4201 [ if test "${with_fribidi_config_path}" != "no"
4203 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4205 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4207 if test "${FRIBIDI_CONFIG}" != "no"
4209 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4210 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4211 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4212 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4220 AC_ARG_ENABLE(libxml2,
4221 [ --enable-libxml2 libxml2 support (default enabled)])
4222 if test "${enable_libxml2}" != "no"
4225 AC_ARG_WITH(xml2-config-path,
4226 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4227 [ if test "${with_xml2_config_path}" != "no"; then
4228 XML2_PATH="${with_xml2_config_path}:${PATH}"
4230 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4231 if test "${XML2_CONFIG}" != "no"; then
4232 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4233 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4234 dnl depends on the xmlTextReader extension
4235 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4236 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4237 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4238 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4239 VLC_ADD_PLUGINS([xml]) ],[
4240 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4241 if test "${enable_xml2}" = "yes"; then
4242 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4245 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4246 if test "${enable_xml2}" = "yes"; then
4247 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4249 LDFLAGS="${LDFLAGS_save}"
4250 CPPFLAGS="${CPPFLAGS_save}"
4252 if test "${enable_xml2}" = "yes"; then
4253 AC_MSG_ERROR([Could not find libxml2])
4262 [ --enable-svg SVG support (default disabled)])
4263 if test "${enable_svg}" = "yes"
4265 PKG_CHECK_MODULES(SVG,
4266 librsvg-2.0 >= 2.9.0,
4268 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4269 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4270 VLC_ADD_PLUGINS([svg]) ],
4271 [AC_MSG_WARN(SVG library not found)])
4275 dnl Snapshot vout module (with cache)
4277 AC_ARG_ENABLE(snapshot,
4278 [ --enable-snapshot snapshot module (default disabled)])
4279 if test "${enable_snapshot}" = "yes"
4281 VLC_ADD_PLUGINS([snapshot])
4285 dnl Qt Embedded module
4286 dnl (disabled by default)
4289 [ --enable-qte QT Embedded support (default disabled)])
4290 if test "${enable_qte}" = "yes"
4293 [ --with-qte=PATH Qt Embedded headers and libraries])
4294 if test "${with_qte}" != "no" -a -n "${with_qte}"
4296 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4297 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])
4299 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4300 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4302 VLC_ADD_PLUGINS([qte])
4304 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4305 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4306 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4308 CPPFLAGS="${CPPFLAGS_save}"
4312 dnl Qt Video output module
4313 dnl (disabled by default)
4315 dnl AC_ARG_ENABLE(qt_video,
4316 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4317 dnl if test "${enable_qt_video}" = "yes"
4319 dnl VLC_ADD_PLUGINS([qt_video])
4320 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4321 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4322 dnl AC_CHECK_LIB(qt-mt,main,[
4323 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4325 dnl AC_CHECK_LIB(qt,main,[
4326 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4329 dnl NEED_QTE_MAIN=yes
4330 dnl LDFLAGS="${LDFLAGS_save}"
4331 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4335 dnl Roku HD1000 Video output module
4337 AC_ARG_ENABLE(hd1000v,
4338 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4339 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4340 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4341 test "${enable_hd1000v}" = "yes"); then
4343 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4345 can_build_roku="yes"
4349 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4351 if test "$can_build_roku" = "yes"
4353 VLC_ADD_PLUGINS([hd1000v])
4354 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4360 dnl Windows DirectX module
4363 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4365 VLC_ADD_PLUGINS([panoramix])
4368 AC_ARG_ENABLE(directx,
4369 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4370 if test "${enable_directx}" != "no"
4372 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4374 AC_ARG_WITH(directx,
4375 [ --with-directx=PATH Win32 DirectX headers])
4376 if test -z "${with_directx}"
4378 AC_CHECK_HEADERS(ddraw.h,
4379 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4380 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4382 AC_CHECK_HEADERS(GL/gl.h,
4383 [ VLC_ADD_PLUGINS([glwin32])
4384 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4386 AC_CHECK_HEADERS(d3d9.h,
4387 [ VLC_ADD_PLUGINS([direct3d])
4388 VLC_ADD_LIBS([direct3d],[-lgdi32])
4391 AC_MSG_CHECKING(for directX headers in ${with_directx})
4392 if test -f ${with_directx}/ddraw.h
4394 VLC_ADD_PLUGINS([vout_directx aout_directx])
4395 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4396 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4400 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4407 dnl Linux framebuffer module
4410 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4411 if test "${enable_fb}" != "no"
4413 AC_CHECK_HEADERS(linux/fb.h, [
4414 VLC_ADD_PLUGINS([fb])
4419 dnl Linux MGA module
4422 [ --enable-mga Linux kernel Matrox support (default disabled)],
4423 [ if test "${enable_mga}" = "yes"
4425 VLC_ADD_PLUGINS([mga])
4431 AC_ARG_ENABLE(svgalib,
4432 [ --enable-svgalib SVGAlib support (default disabled)])
4433 if test "${enable_svgalib}" = "yes"
4435 VLC_ADD_PLUGINS([svgalib])
4436 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4441 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4442 dnl TODO: support for static linking
4444 AC_ARG_ENABLE(directfb,
4445 [ --enable-directfb DirectFB support (default disabled)])
4446 AC_ARG_WITH(directfb,
4447 [ --with-directfb=PATH path to DirectFB headers and libraries])
4449 if test "${enable_directfb}" = "yes"; then
4450 have_directfb="false"
4451 CPPFLAGS_mydirectfb=
4453 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4454 dnl Trying the given location
4455 CPPFLAGS_save="${CPPFLAGS}"
4458 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4459 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4460 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4462 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4463 LIBS="${LIBS} ${LIBS_new}"
4465 dnl FIXME: too obscure
4466 AC_CHECK_HEADER([directfb.h], [
4467 AC_CHECK_LIB([direct],[direct_initialize], [
4468 AC_CHECK_LIB([fusion], [fusion_enter], [
4469 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4470 ], have_directfb="false")
4471 ], have_directfb="false")
4472 ], have_directfb="false")
4475 CPPFLAGS="${CPPFLAGS_save}"
4478 if test "${have_directfb}" = "true"; then
4479 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4480 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4483 dnl Look for directfb-config
4484 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4485 if test "${DIRECTFB_CONFIG}" != "no"; then
4486 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4487 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4488 have_directfb="true"
4490 dnl Trying with pkg-config
4491 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4492 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4493 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4494 have_directfb="true"
4495 ], [have_directfb="false"])
4498 if test "${have_directfb}" = "true"; then
4499 VLC_ADD_PLUGINS([directfb])
4500 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4501 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4503 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4513 [ --enable-ggi GGI support (default disabled)])
4514 if test "${enable_ggi}" = "yes"
4516 VLC_ADD_PLUGINS([ggi])
4517 VLC_ADD_LIBS([ggi],[-lggi])
4519 [ --with-ggi=PATH path to libggi],
4520 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4522 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4523 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4530 AC_ARG_ENABLE(glide,
4531 [ --enable-glide Glide (3dfx) support (default disabled)])
4532 if test "${enable_glide}" = "yes"
4534 CFLAGS_save="${CFLAGS}"
4536 [ --with-glide=PATH path to libglide],
4537 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4539 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4540 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4541 CFLAGS="$CFLAGS -I${with_glide}/include"
4543 CFLAGS="$CFLAGS -I/usr/include/glide"
4544 AC_CHECK_HEADER(glide.h,[
4545 VLC_ADD_PLUGINS([glide])
4546 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4547 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4549 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4551 CFLAGS="${CFLAGS_save}"
4558 [ --enable-aa aalib output (default disabled)])
4559 if test "${enable_aa}" = "yes"
4561 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4562 if test "${have_aa}" = "true"
4564 VLC_ADD_PLUGINS([aa])
4565 VLC_ADD_LIBS([aa],[-laa])
4573 [ --enable-caca libcaca output (default disabled)])
4574 if test "${enable_caca}" = "yes"
4577 AC_ARG_WITH(caca-config-path,
4578 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4579 [ if test "${with_caca_config_path}" != "no"
4581 CACA_PATH="${with_caca_config_path}:${PATH}"
4583 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4584 if test "${CACA_CONFIG}" != "no"
4586 VLC_ADD_PLUGINS([caca])
4587 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4588 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4589 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4594 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4600 dnl win32 GDI plugin
4602 AC_ARG_ENABLE(wingdi,
4603 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4604 if test "${enable_wingdi}" != "no"; then
4605 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4606 VLC_ADD_PLUGINS([wingdi])
4607 VLC_ADD_LIBS([wingdi],[-lgdi32])
4609 if test "${SYS}" = "mingwce"; then
4610 VLC_ADD_PLUGINS([wingdi wingapi])
4618 AC_ARG_WITH(,[Audio plugins:])
4621 dnl OSS /dev/dsp module (enabled by default except on win32)
4624 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4626 if test "${enable_oss}" != "no" &&
4627 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4628 test "${enable_oss}" = "yes")
4630 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4631 VLC_ADD_PLUGINS([oss])
4632 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4640 [ --enable-esd Esound library support (default disabled)],
4641 [if test "${enable_esd}" = "yes"
4643 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4644 if test "${ESD_CONFIG}" != "no"
4646 VLC_ADD_PLUGINS([esd])
4647 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4648 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4653 dnl Portaudio module
4655 AC_ARG_ENABLE(portaudio,
4656 [ --enable-portaudio Portaudio library support (default disabled)],
4657 [if test "${enable_portaudio}" = "yes"
4659 VLC_ADD_PLUGINS([portaudio])
4660 VLC_ADD_CXXFLAGS([portaudio],[])
4661 if test "${SYS}" = "mingw32"; then
4662 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4664 VLC_ADD_LIBS([portaudio],[-lportaudio])
4669 dnl aRts module -- broken (freeze wxWidgets)
4672 [ --enable-arts aRts sound server (default disabled)],
4673 [if test "${enable_arts}" = "yes"
4675 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4676 if test "${ARTS_CONFIG}" != "no"
4678 VLC_ADD_PLUGINS([arts])
4679 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4680 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4688 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4689 if test "${enable_alsa}" != "no"
4691 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4692 if test "${have_alsa}" = "true"
4694 CFLAGS="${CFLAGS_save}"
4695 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4696 #define ALSA_PCM_NEW_SW_PARAMS_API
4697 #include <alsa/asoundlib.h>],
4698 [snd_pcm_hw_params_get_period_time(0,0,0);],
4699 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4700 VLC_ADD_PLUGINS([alsa])
4701 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4703 if test "${enable_alsa}" = "yes"; then
4704 AC_MSG_ERROR([Could not find ALSA development headers])
4710 dnl win32 waveOut plugin
4712 AC_ARG_ENABLE(waveout,
4713 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4714 if test "${enable_waveout}" != "no"; then
4715 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4716 VLC_ADD_PLUGINS([waveout])
4717 VLC_ADD_LIBS([waveout],[-lwinmm])
4719 if test "${SYS}" = "mingwce"; then
4720 VLC_ADD_PLUGINS([waveout])
4725 dnl CoreAudio plugin
4727 AC_ARG_ENABLE(macosx-audio,
4728 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4729 if test "${enable_macosx-audio}" != "no" &&
4730 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4732 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4733 [ VLC_ADD_BUILTINS([auhal])
4734 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4735 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4739 dnl Roku HD1000 audio
4741 AC_ARG_ENABLE(hd1000a,
4742 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4743 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4744 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4745 test "${enable_hd1000a}" = "yes")
4748 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4749 VLC_ADD_PLUGINS([hd1000a])
4750 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4758 [ --enable-jack JACK audio I/O modules (default disabled)],,
4761 AS_IF([test "${enable_jack}" != "no"], [
4762 AC_CHECK_HEADERS(jack/jack.h, [
4763 VLC_ADD_PLUGINS([access_jack jack])
4764 VLC_ADD_LIBS([access_jack jack],[-ljack])
4765 ],[AC_MSG_ERROR([cannot find JACK headers])])
4769 dnl CyberLink for C++ UPnP stack
4771 AC_ARG_ENABLE(cyberlink,
4772 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4773 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4774 AC_ARG_WITH(cyberlink-tree,
4775 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4778 dnl test for --with-cyberlink-tree
4780 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4782 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4783 AS_IF([test -z "${real_cyberlink_tree}"], [
4784 dnl The given directory can't be found
4786 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4788 CPPFLAGS_save="${CPPFLAGS}"
4789 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4790 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4791 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4792 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4793 VLC_ADD_PLUGINS([upnp_cc])
4795 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4797 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4798 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4799 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4800 dnl The mere fact that we have to make such an ugly check sucks
4801 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4804 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4805 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4806 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4807 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4808 using namespace CyberLink;
4810 class testclass : public SearchResponseListener, public MediaPlayer
4812 virtual void deviceSearchResponseReceived( SSDPPacket *)
4819 addSearchResponseListener (this);
4823 ],[testclass l;])],[LIBS_cclink="$l"])
4826 dnl should not happen - otherwise this needs fixing - hence FAILURE
4827 AS_IF([test "${LIBS_cclink}" = "no"],
4828 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4829 AC_MSG_RESULT([${LIBS_cclink}])
4830 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4833 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4835 CPPFLAGS="${CPPFLAGS_save}"
4841 dnl UPnP Plugin (Intel SDK)
4844 [ --enable-upnp Intel UPnP SDK (default enabled)])
4846 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4847 AS_IF([test "x${enable_upnp}" != "xno"], [
4848 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4849 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4850 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4852 AS_IF([test "${has_upnp}" = "yes"], [
4853 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4859 AS_IF([test "${has_upnp}" = "yes"], [
4860 VLC_ADD_PLUGINS([upnp_intel])
4865 dnl Interface plugins
4868 AC_ARG_WITH(,[Interface plugins:])
4870 dnl special case for BeOS
4871 if test "${SYS}" = "beos"
4873 VLC_ADD_BUILTINS([beos])
4879 AC_ARG_ENABLE(skins2,
4880 [ --enable-skins2 Skins2 interface module (default disabled)])
4881 if test "${enable_skins2}" = "yes" ||
4882 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4883 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4885 dnl test for the required libraries
4886 skins2_missing_lib="no"
4889 if test "${FREETYPE_CONFIG}" != "no"; then
4890 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4891 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4893 skins2_missing_lib="yes"
4894 if test "${enable_skins2}" = "yes"; then
4895 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4899 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4900 VLC_ADD_PLUGINS([skins2])
4901 ALIASES="${ALIASES} svlc"
4902 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4903 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4904 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4906 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4907 VLC_ADD_PLUGINS([skins2])
4908 ALIASES="${ALIASES} svlc"
4909 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4910 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4911 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4913 else if test "${skins2_missing_lib}" = "no"; then
4914 VLC_ADD_PLUGINS([skins2])
4915 ALIASES="${ALIASES} svlc"
4916 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4917 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4918 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4926 dnl AC_ARG_ENABLE(gtk,
4927 dnl [ --enable-gtk Gtk+ support (default enabled)])
4928 dnl if test "${enable_gtk}" != "no"
4930 dnl GTK_PATH="${PATH}"
4931 dnl AC_ARG_WITH(gtk-config-path,
4932 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4933 dnl [ if test "${with_gtk_config_path}" != "no"
4935 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4937 dnl # look for gtk-config
4938 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4939 dnl GTK_CONFIG=${GTK12_CONFIG}
4940 dnl if test "${GTK_CONFIG}" = "no"
4942 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4944 dnl if test "${GTK_CONFIG}" != "no"
4946 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4948 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.])
4950 dnl if test "${SYS}" != "mingw32"; then
4951 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4952 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4954 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4955 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4957 dnl # now look for the gtk.h header
4958 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4959 dnl ac_cv_gtk_headers=yes
4960 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4961 dnl ac_cv_gtk_headers=no
4962 dnl echo "Cannot find gtk development headers."
4964 dnl if test "${ac_cv_gtk_headers}" = "yes"
4966 dnl VLC_ADD_PLUGINS([gtk])
4967 dnl if test "${SYS}" != "mingw32"; then
4968 dnl NEED_GTK_MAIN=yes
4970 dnl ALIASES="${ALIASES} gvlc"
4972 dnl CPPFLAGS="${CPPFLAGS_save}"
4977 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4979 dnl AC_ARG_ENABLE(gtk2,
4980 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4981 dnl if test "${enable_gtk2}" = "yes"
4983 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4984 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4985 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4986 dnl VLC_ADD_PLUGINS([gtk2])
4987 dnl if test "${SYS}" != "mingw32"; then
4988 dnl NEED_GTK2_MAIN=yes
4993 dnl PDA Gtk+2 module
4996 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4997 if test "${enable_pda}" = "yes"
4999 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5000 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5001 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5002 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5003 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5004 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5005 VLC_ADD_PLUGINS([pda])
5006 if test "${SYS}" != "mingw32"; then
5012 dnl dnl Gnome module
5014 dnl AC_ARG_ENABLE(gnome,
5015 dnl [ --enable-gnome Gnome interface support (default disabled)],
5016 dnl [if test "${enable_gnome}" = "yes"; then
5017 dnl # look for gnome-config
5018 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5019 dnl if test -x ${GNOME_CONFIG}
5021 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5022 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5024 dnl # now look for the gnome.h header
5025 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5026 dnl AC_CHECK_HEADERS(gnome.h, [
5027 dnl VLC_ADD_PLUGINS([gnome])
5028 dnl NEED_GTK_MAIN=yes
5029 dnl NEED_GNOME_MAIN=yes
5030 dnl ALIASES="${ALIASES} gnome-vlc"
5031 dnl dnl We need this because of some moronic gnomesupport.h flavours
5032 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5033 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5034 dnl AC_MSG_RESULT(yes)
5035 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5036 dnl Define if <gnome.h> defines strndup.)],[
5037 dnl AC_MSG_RESULT(no)])
5039 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5040 dnl developement tools or remove the --enable-gnome option])
5042 dnl CPPFLAGS="${CPPFLAGS_save}"
5046 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5048 dnl AC_ARG_ENABLE(gnome2,
5049 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5050 dnl if test "${enable_gnome2}" = "yes"
5052 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5053 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5054 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5055 dnl VLC_ADD_PLUGINS([gnome2])
5056 dnl if test "${SYS}" != "mingw32"; then
5057 dnl NEED_GNOME2_MAIN=yes
5062 dnl wxWidgets module
5064 AC_ARG_ENABLE(wxwidgets,
5065 [ --enable-wxwidgets wxWidgets support (default disabled)])
5067 if test "${enable_wxwidgets}" = "yes"
5069 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5070 WXWIDGETS_PATH="${PATH}"
5071 AC_ARG_WITH(wx-config-path,
5072 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5073 [ if test "${with_wx_config_path}" != "no"
5075 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5077 WXWIDGETS_NAME="wx-config"
5078 AC_ARG_WITH(wx-config,
5079 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5080 [ if test "${with_wx_config}" != "no"
5082 WXWIDGETS_NAME="${with_wx_config}"
5084 # look for wx-config
5085 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5086 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5088 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5090 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5094 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5095 # into a warning. However better would be to fix playlist.cpp
5096 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5097 [ac_cv_cxx_fpermissive],
5098 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5099 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5100 ac_cv_cxx_fpermissive=no)])
5101 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5102 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5104 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5105 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5106 # check if we must link against gtk2 libs
5107 # if __WXGTK20__ && __WXGTK__ are defined
5108 # for modules/gui/wxwidgets/video.cpp
5109 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5112 #error ok, we need to link against gtk2
5114 ])],[WXGTK=no],[WXGTK=yes])
5115 if test "$WXGTK" = "yes"; then
5116 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5118 if ${WX_CONFIG} --unicode
5120 # wxwidgets should provide the following flags but does not
5121 # the following is required to compile for win32
5122 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5124 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5126 if test "$have_libcdio" = "yes"
5128 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5129 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5131 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5134 if test "$have_libvcdinfo" = "yes"
5136 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5137 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5139 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5142 # now look for the wxprec.h header
5143 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5144 ac_cv_wx_headers=yes
5145 AC_CHECK_HEADERS(wx/wxprec.h, , [
5147 echo "Cannot find wxWidgets development headers."
5149 if test "${ac_cv_wx_headers}" = "yes"
5151 VLC_ADD_PLUGINS([wxwidgets])
5152 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5153 ALIASES="${ALIASES} wxvlc"
5155 CPPFLAGS="${CPPFLAGS_save}"
5158 dnl WxWidgets plugin will yield incorrect code without this
5159 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5167 [ --enable-qt4 QT 4 support (default enabled) ])
5168 AS_IF([test "${enable_qt4}" != "no" &&
5169 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5170 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5171 [ VLC_ADD_PLUGINS([qt4])
5172 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5173 ALIASES="${ALIASES} qvlc"
5175 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5176 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5177 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5178 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5179 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5181 AS_IF([test "${enable_qt4}" = "yes"],[
5182 AC_MSG_ERROR(QT4 library not found)
5184 AC_MSG_WARN(QT4 library not found)
5188 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5191 dnl WinCE GUI module
5193 if test "${SYS}" = "mingwce"; then
5194 VLC_ADD_BUILTINS([wince])
5195 VLC_ADD_CXXFLAGS([wince],[])
5196 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5198 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5199 elif test "${SYS}" = "mingw32"; then
5200 VLC_ADD_CXXFLAGS([wince],[])
5201 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5203 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5207 dnl Simple test for skins2 dependency
5209 if test "${enable_skins2}" != "no"
5211 if test "${WX_CONFIG}" = "no"
5213 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.])
5220 dnl AC_ARG_ENABLE(qt,
5221 dnl [ --enable-qt Qt interface support (default disabled)],
5222 dnl [if test "${enable_qt}" = "yes"; then
5223 dnl VLC_ADD_PLUGINS([qt])
5224 dnl ALIASES="${ALIASES} qvlc"
5225 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5226 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5227 dnl AC_CHECK_LIB(qt-mt,main,[
5228 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5230 dnl AC_CHECK_LIB(qt,main,[
5231 dnl VLC_ADD_LIBS([qt],[-lqt])
5234 dnl LDFLAGS="${LDFLAGS_save}"
5235 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5236 dnl if test -x ${QTDIR}/bin/moc
5238 dnl MOC=${QTDIR}/bin/moc
5247 dnl AC_ARG_ENABLE(kde,
5248 dnl [ --enable-kde KDE interface support (default disabled)],
5249 dnl [if test "${enable_kde}" = "yes"; then
5250 dnl VLC_ADD_PLUGINS([kde])
5251 dnl ALIASES="${ALIASES} kvlc"
5252 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5253 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5254 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5255 dnl AC_CHECK_LIB(kfile,main,[
5256 dnl VLC_ADD_LIBS([kde],[-lkfile])
5258 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5259 dnl AC_CHECK_LIB(kdeui,main,[
5260 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5262 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5263 dnl AC_CHECK_LIB(kio,main,[
5264 dnl VLC_ADD_LIBS([kde],[-lkio])
5266 dnl LDFLAGS="${LDFLAGS_save}"
5267 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5268 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5269 dnl if test -x ${QTDIR}/bin/moc
5271 dnl MOC=${QTDIR}/bin/moc
5278 dnl Opie QT embedded module
5281 [ --enable-opie Qt embedded interface support (default disabled)],
5282 [if test "${enable_opie}" = "yes"; then
5284 [ --with-qte=PATH Qt Embedded headers and libraries])
5285 if test "${with_qte}" != "no" -a -n "${with_qte}"
5287 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5288 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])
5290 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5291 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5293 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5294 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5295 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5297 CPPFLAGS="${CPPFLAGS_save}"
5299 VLC_ADD_PLUGINS([opie])
5301 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5302 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5303 if test "${with_qte}" != "no" -a -n "${with_qte}"
5305 MOC=${with_qte}/bin/moc
5307 MOC=${QTDIR}/bin/moc
5312 dnl MacOS X video output/gui modules
5314 AC_ARG_ENABLE(macosx,
5315 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5316 if test "x${enable_macosx}" = "xyes"
5318 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5319 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5320 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5321 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5322 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5323 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5324 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5325 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5326 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5327 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5328 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
5330 VLC_ADD_PLUGINS([access_eyetv])
5331 VLC_ADD_BUILTINS([macosx minimal_macosx])
5334 CFLAGS="$CFLAGS -x objective-c"
5335 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5343 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5344 if test "${enable_qnx}" != "no"
5346 AC_CHECK_HEADERS(Ph.h, [
5347 VLC_ADD_PLUGINS([qnx])
5348 VLC_ADD_LIBS([qnx],[-lasound -lph])
5355 AC_ARG_ENABLE(ncurses,
5356 [ --disable-ncurses ncurses interface support (default enabled)],
5357 [if test "${enable_ncurses}" != "no"; then
5358 AC_CHECK_HEADER(ncurses.h,
5359 [AC_CHECK_LIB(ncursesw, mvprintw,
5360 [VLC_ADD_PLUGINS([ncurses])
5361 VLC_ADD_LIBS([ncurses],[-lncursesw])
5362 ALIASES="${ALIASES} nvlc"
5363 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5365 [AC_CHECK_LIB( ncurses, mvprintw,
5366 [VLC_ADD_PLUGINS([ncurses])
5367 ALIASES="${ALIASES} nvlc"
5368 VLC_ADD_LIBS([ncurses],[-lncurses])],
5369 [AS_IF([test "x${enable_ncurses}" != "x"], [
5370 AC_MSG_ERROR([libncurses not found])])]
5381 [ --enable-xosd xosd interface support (default disabled)])
5382 if test "${enable_xosd}" = "yes"
5384 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5385 AC_CHECK_LIB(xosd,xosd_set_offset,
5386 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5387 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5388 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5389 AC_TRY_COMPILE([#include <xosd.h>],
5390 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5391 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5392 if test "${have_xosd}" = "true"
5394 VLC_ADD_PLUGINS([xosd])
5395 VLC_ADD_LIBS([xosd],[-lxosd])
5400 dnl Framebuffer (overlay) plugin
5402 AC_ARG_ENABLE(fbosd,
5403 [ --enable-fbosd fbosd interface support (default disabled)])
5404 if test "${enable_fbosd}" = "yes"
5406 AC_CHECK_HEADERS(linux/fb.h, [
5407 VLC_ADD_PLUGINS([fbosd])
5412 dnl Visualisation plugin
5414 AC_ARG_ENABLE(visual,
5415 [ --enable-visual visualisation plugin (default enabled)])
5416 if test "${enable_visual}" != "no"
5418 VLC_ADD_PLUGINS([visual])
5422 dnl OpenGL visualisation plugin
5424 AC_ARG_ENABLE(galaktos,
5425 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5426 if test "${enable_galaktos}" = "yes"
5428 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5429 VLC_ADD_PLUGINS([galaktos])
5430 if test "${SYS}" != "mingw32"; then
5431 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5433 VLC_ADD_LIBS([galaktos],[-lopengl32])
5439 dnl goom visualization plugin
5442 [ --enable-goom goom visualisation plugin (default disabled)])
5443 if test "${enable_goom}" = "yes"
5445 AC_ARG_WITH(goom-tree,
5446 [ --with-goom-tree=PATH goom tree for static linking (required)])
5449 dnl test for --with-goom-tree
5451 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5452 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5453 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5454 if test -z "${real_goom_tree}"; then
5455 dnl The given directory can't be found
5457 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5459 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5460 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5461 VLC_ADD_BUILTINS([goom])
5462 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5463 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5465 dnl The given libgoom2 wasn't built, try to look for the old goom
5467 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5468 if test -f "${real_goom_tree}/libgoom.a"; then
5469 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5470 VLC_ADD_BUILTINS([goom])
5471 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5472 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5474 dnl The given libgoom wasn't built
5476 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5480 AC_CHECK_HEADERS(goom/goom.h, [
5481 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5482 AC_CHECK_LIB(goom2, goom_init, [
5483 VLC_ADD_PLUGINS([goom])
5484 VLC_ADD_LIBS([goom],[-lgoom2])
5486 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5488 LDFLAGS="${LDFLAGS_save}"
5494 dnl Bonjour services discovery
5496 AC_ARG_ENABLE(bonjour,
5497 [ --enable-bonjour Bonjour services discovery (default enabled)])
5498 if test "${enable_bonjour}" != "no"
5500 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5501 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5502 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5503 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5504 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5505 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5506 VLC_ADD_PLUGINS([bonjour]) ],
5507 [AC_MSG_WARN(avahi-client library not found)])
5514 [ --enable-lirc lirc support (default disabled)])
5515 if test "${enable_lirc}" = "yes"
5517 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5518 if test "${have_lirc}" = "true"
5520 VLC_ADD_PLUGINS([lirc])
5521 VLC_ADD_LIBS([lirc],[-llirc_client])
5526 AC_ARG_WITH(,[Misc options:])
5531 AC_ARG_ENABLE(gnutls,
5532 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5534 AS_IF([test "${enable_gnutls}" != "no"], [
5535 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5537 AS_IF([test "${have_gnutls}" = "yes"], [
5538 VLC_ADD_PLUGINS([gnutls])
5539 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5540 AS_IF([test "${SYS}" = "mingw32"], [
5541 dnl pkg-config --libs gnutls omits these
5542 VLC_ADD_LIBS([gnutls], [-lz])
5543 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5545 AC_CHECK_LIB([gcrypt], [gcry_control], [
5546 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5547 ], [], [-lgpg-error])
5548 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5550 AS_IF([test "${enable_gnutls}" = "yes"], [
5551 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5559 AC_ARG_ENABLE(libgcrypt,
5560 [ --enable-libgcrypt libgcrypts support (default enabled)])
5561 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
5563 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5564 dnl it and looks for libgcrypt headers in the wrong place.
5565 if test "${host_cpu}" = "${build_cpu}"
5567 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5569 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5572 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5575 dnl update checking system
5577 AC_ARG_ENABLE(update-check,
5578 [ --enable-update-check update checking system (default disabled)])
5579 if test "${enable_update_check}" = "yes"
5581 if test "${have_libgcrypt}" != "yes"
5583 AC_MSG_ERROR([libgcrypt is required for update checking system])
5585 VLC_ADD_LIBS([libvlc], [-lgcrypt])
5586 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5590 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5592 dnl We give the user the opportunity to specify
5593 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5596 [ --with-words=endianness set endianness (big or little)])
5597 case "${with_words}" in
5599 ac_cv_c_bigendian=yes
5602 ac_cv_c_bigendian=no
5605 dnl Try to guess endianness by matching patterns on a compiled
5606 dnl binary, by looking for an ASCII or EBCDIC string
5607 AC_CACHE_CHECK([whether the byte order is big-endian],
5608 [ac_cv_c_bigendian],
5609 [ac_cv_c_bigendian="unknown"
5610 [cat >conftest.c <<EOF
5611 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5612 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5613 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5614 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5615 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5616 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5617 int main(void) { _a(); _e(); return 0; }
5620 if test -f conftest.c
5622 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5623 && test -f conftest.o
5625 if test "`strings conftest.o | grep BIGenDianSyS`"
5627 ac_cv_c_bigendian="yes"
5629 if test "`strings conftest.o | grep LiTTleEnDian`"
5631 ac_cv_c_bigendian="no"
5636 if test "${ac_cv_c_bigendian}" = "unknown"
5638 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5642 dnl Now we know what to use for endianness, just put it in the header
5643 if test "${ac_cv_c_bigendian}" = "yes"
5645 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5649 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5652 AC_ARG_ENABLE(loader,
5653 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5654 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5655 AS_IF([test "${enable_loader}" = "yes"],
5656 [ VLC_ADD_PLUGINS([dmo])
5657 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5658 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5659 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5660 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5661 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5662 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5666 dnl Microsoft ActiveX support
5669 AC_ARG_ENABLE(activex,
5670 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5671 AC_ARG_WITH(wine-sdk-path,
5672 [ --with-wine-sdk-path=PATH path to wine sdk])
5673 if test "${enable_activex}" != "no"
5675 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5677 AC_CHECK_PROGS(MIDL, [midl], no)
5678 if test "${with_wine_sdk_path}" != ""
5680 WINE_SDK_PATH=${with_wine_sdk_path}
5681 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5686 AC_CHECK_HEADERS(ole2.h,
5687 [AC_CHECK_HEADERS(olectl.h,
5688 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5689 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5690 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5691 AC_CHECK_HEADERS(objsafe.h,
5692 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5700 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5702 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5704 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5709 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5710 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5711 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5712 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5713 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5719 AC_ARG_ENABLE(mozilla,
5720 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5721 AC_ARG_WITH(mozilla-sdk-path,
5722 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5724 if test "${enable_mozilla}" = "yes"
5726 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5727 need_xpcom_libs=false
5729 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5731 dnl New firefox-1.5 SDK api
5732 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5734 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5737 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5740 PKG_CHECK_MODULES([NSPR], [nspr],
5743 AC_MSG_ERROR([Please install the nspr development tools.])
5749 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5750 MOZILLA_REQUIRED_HEADERS=1
5751 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5752 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5753 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5758 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5759 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5761 MOZILLA_REQUIRED_HEADERS=
5763 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5764 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5765 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5766 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5767 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5769 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5771 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5772 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5773 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
5775 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5776 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5777 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5778 VLC_ADD_PLUGINS([mozilla])
5780 CPPFLAGS="${CPPFLAGS_save}"
5783 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5784 if test "${MOZILLA_CONFIG}" = "no"
5786 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5787 if test "${SEAMONKEY_CONFIG}" = "no"
5789 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5790 if test "${XULRUNNER_CONFIG}" = "no"
5792 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5795 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5798 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5803 if test ! -z "${MOZILLA_CONFIG}"
5805 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5806 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5807 AC_CHECK_LIB(Xt,XtStrings,
5809 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5810 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5813 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5815 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5816 LDFLAGS="${LDFLAGS_save}"
5820 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5821 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5822 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5823 if ${need_xpcom_libs}; then
5824 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5826 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5828 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5829 MOZILLA_REQUIRED_HEADERS=1
5830 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5831 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5832 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5837 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5839 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5841 MOZILLA_REQUIRED_HEADERS=
5842 CPPFLAGS="${CPPFLAGS_save}"
5843 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5845 dnl End of moz_sdk = ""
5847 dnl special case for mingw32
5848 if test "${SYS}" = "mingw32"
5850 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5851 dnl latest gecko sdk does not have an xpcom directory
5852 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5853 mozilla_sdk_xpcom="/xpcom"
5857 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5858 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5859 MOZILLA_REQUIRED_HEADERS=1
5860 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5861 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5862 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5867 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5869 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5871 MOZILLA_REQUIRED_HEADERS=
5873 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5874 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])
5875 if ${need_xpcom_libs}; then
5876 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])
5877 if test "${SYS}" = "mingw32"; then
5878 dnl latest gecko sdk does not have embedstring
5879 if test -d "${real_mozilla_sdk}/embedstring/bin"
5881 VLC_ADD_LIBS([mozilla],[-lembedstring])
5885 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5887 if test -n "${CYGPATH}"; then
5888 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5890 CPPFLAGS="${CPPFLAGS_save}"
5894 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5896 dnl Tests for Osso and Xsp
5897 if test "${enable_x11}" != "no" &&
5898 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5899 test "${enable_x11}" = "yes"); then
5900 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5901 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5902 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5903 VLC_ADD_LIBS([x11],[-losso])
5906 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5907 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5908 VLC_ADD_LIBS([x11],[-lXsp])
5913 dnl Mediacontrol Python bindings
5915 AC_ARG_ENABLE(python-bindings,
5916 [ --enable-python-bindings Enable Python bindings (default disabled)])
5917 dnl TODO: look for python dev headers
5918 AS_IF([test "${enable_python_bindings}" = "yes"],
5919 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5922 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5927 AC_ARG_ENABLE(java-bindings,
5928 [ --enable-java-bindings Enable Java bindings (default disabled)])
5929 if test "${enable_java_bindings}" = "yes"
5931 AS_IF([test "x${JAVA_HOME}" == "x"],
5932 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5935 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5936 if test "${JAVAC}" == "javac${EXEEXT}"
5938 JAVAC="javac${EXEEXT} -cp ./ "
5941 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5946 AC_ARG_ENABLE(testsuite,
5947 [ --enable-testsuite build test modules (default disabled)])
5948 if test "${enable_testsuite}" = "yes"
5950 TESTS="test1 test2 test3 test4"
5952 dnl we define those so that bootstrap sets the right linker
5953 VLC_ADD_CXXFLAGS([test2],[])
5954 VLC_ADD_OBJCFLAGS([test3],[])
5955 dnl this one is needed until automake knows what to do
5956 VLC_ADD_LIBS([test3],[-lobjc])
5958 VLC_ADD_PLUGINS([${TESTS}])
5962 dnl Microsoft Layer for Unicode for WIN9x/ME
5964 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5966 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5967 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5974 if test "${NEED_GTK_MAIN}" != "no"
5976 VLC_ADD_PLUGINS([gtk_main])
5977 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5978 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5981 if test "${NEED_GNOME_MAIN}" != "no"
5983 VLC_ADD_PLUGINS([gnome_main])
5984 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5985 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5988 if test "${NEED_GTK2_MAIN}" != "no"
5990 VLC_ADD_PLUGINS([gtk2_main])
5991 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5992 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5993 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5994 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5997 if test "${NEED_GNOME2_MAIN}" != "no"
5999 VLC_ADD_PLUGINS([gnome2_main])
6000 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6001 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6007 if test "${NEED_QTE_MAIN}" != "no"
6009 VLC_ADD_PLUGINS([qte_main])
6010 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6011 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6012 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6017 dnl Plugin and builtin checks
6021 dnl Automagically disable plugins if there is no system support for
6022 dnl dynamically loadable files (.so, .dll, .dylib).
6023 dnl don't forget vlc-win32 still can load .dll as plugins
6024 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6025 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6029 AS_IF([test "${enable_shared}" = "no"], [
6033 AS_IF([test "${plugin_support}" != "no"], [
6034 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6037 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6039 dnl Temporary(?) hack for plugins/builtins transition
6040 VLC_ADD_PLUGINS([${BUILTINS}])
6044 dnl Pic and shared libvlc stuff
6046 AS_IF([test "${SYS}" = "mingw32"], [
6047 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6048 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6052 dnl Stuff used by the program
6054 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6055 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6056 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6057 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6058 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6059 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6060 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6061 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6062 AC_SUBST(VERSION_MAJOR)
6063 AC_SUBST(VERSION_MINOR)
6064 AC_SUBST(VERSION_REVISION)
6065 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6066 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6067 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6068 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6071 dnl Handle substvars that use $(top_srcdir)
6073 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6074 AC_SUBST(VLC_CONFIG)
6075 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6083 dnl Create the vlc-config script
6085 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6088 dnl Configuration is finished
6098 AC_SUBST(MOZILLA_SDK_PATH)
6099 AC_SUBST(WINE_SDK_PATH)
6101 AC_SUBST(AM_CPPFLAGS)
6102 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6103 AC_SUBST(FILE_LIBVLC_DLL)
6104 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6106 dnl Create vlc-config.in
6107 VLC_OUTPUT_VLC_CONFIG_IN
6115 bindings/java/Makefile
6116 bindings/java/src/Makefile
6117 bindings/python/Makefile
6121 libs/loader/Makefile
6132 modules/access/Makefile
6133 modules/access/bda/Makefile
6134 modules/access/dshow/Makefile
6135 modules/access/dvb/Makefile
6136 modules/access/mms/Makefile
6137 modules/access/cdda/Makefile
6138 modules/access/rtsp/Makefile
6139 modules/access/v4l2/Makefile
6140 modules/access/vcd/Makefile
6141 modules/access/vcdx/Makefile
6142 modules/access/screen/Makefile
6143 modules/access_filter/Makefile
6144 modules/access_output/Makefile
6145 modules/audio_filter/Makefile
6146 modules/audio_filter/channel_mixer/Makefile
6147 modules/audio_filter/converter/Makefile
6148 modules/audio_filter/resampler/Makefile
6149 modules/audio_filter/spatializer/Makefile
6150 modules/audio_mixer/Makefile
6151 modules/audio_output/Makefile
6152 modules/codec/Makefile
6153 modules/codec/cmml/Makefile
6154 modules/codec/dmo/Makefile
6155 modules/codec/ffmpeg/Makefile
6156 modules/codec/subtitles/Makefile
6157 modules/codec/spudec/Makefile
6158 modules/codec/xvmc/Makefile
6159 modules/control/Makefile
6160 modules/control/http/Makefile
6161 modules/demux/Makefile
6162 modules/demux/asf/Makefile
6163 modules/demux/avi/Makefile
6164 modules/demux/mp4/Makefile
6165 modules/demux/mpeg/Makefile
6166 modules/demux/playlist/Makefile
6167 modules/gui/Makefile
6168 modules/gui/beos/Makefile
6169 modules/gui/pda/Makefile
6170 modules/gui/macosx/Makefile
6171 modules/gui/minimal_macosx/Makefile
6172 modules/gui/qnx/Makefile
6173 modules/gui/qt4/Makefile
6174 modules/gui/skins2/Makefile
6175 modules/gui/wxwidgets/Makefile
6176 modules/gui/wince/Makefile
6177 modules/meta_engine/Makefile
6178 modules/misc/Makefile
6179 modules/misc/dummy/Makefile
6180 modules/misc/lua/Makefile
6181 modules/misc/memcpy/Makefile
6182 modules/misc/notify/Makefile
6183 modules/misc/testsuite/Makefile
6184 modules/misc/playlist/Makefile
6185 modules/misc/osd/Makefile
6186 modules/misc/xml/Makefile
6187 modules/misc/probe/Makefile
6188 modules/mux/Makefile
6189 modules/mux/mpeg/Makefile
6190 modules/mux/rtp/Makefile
6191 modules/packetizer/Makefile
6192 modules/services_discovery/Makefile
6193 modules/stream_out/Makefile
6194 modules/stream_out/transrate/Makefile
6195 modules/video_chroma/Makefile
6196 modules/video_filter/Makefile
6197 modules/video_output/Makefile
6198 modules/video_output/msw/Makefile
6199 modules/video_output/qte/Makefile
6200 modules/video_output/x11/Makefile
6201 modules/visualization/Makefile
6202 modules/visualization/visual/Makefile
6203 modules/visualization/galaktos/Makefile
6206 dnl Generate makefiles
6209 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6210 # not provided with the source
6211 ${SHELL} ./config.status --file=vlc-config
6212 chmod 0755 vlc-config
6214 dnl echo "Enabled builtin modules :"
6215 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6217 dnl echo "Enabled plugin modules :"
6218 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6220 dnl Shortcut to nice compile message
6222 echo '#! /bin/sh' >compile
6224 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6225 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6230 --------------------
6231 vlc version : ${VERSION}
6233 architecture : ${ARCH}
6235 test "${enable_debug}" = "yes" && printf "debug "
6236 test "${enable_cprof}" = "yes" && printf "cprof "
6237 test "${enable_gprof}" = "yes" && printf "gprof "
6238 test "${enable_optimizations}" = "yes" && printf "optim "
6239 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6241 vlc aliases :${ALIASES}
6242 plugins/bindings :${PLUGINS_BINDINGS}
6244 You can check which modules have been enabled
6245 with \`./vlc-config --list plugin'.
6246 You can tune the compiler flags in vlc-config.
6247 To build vlc and its plugins, type \`./compile' or \`make'.
6249 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6251 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6253 echo " FFmpeg will be REALLY slow."
6254 echo " VLC WILL NOT PERFORM AS EXPECTED."