1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
11 COPYRIGHT_YEARS="1996-2008"
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
19 AM_INIT_AUTOMAKE(tar-ustar)
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_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
176 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
177 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
178 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
179 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
180 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
181 AC_ARG_ENABLE(macosx-defaults,
182 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
183 if test "x${enable_macosx_defaults}" != "xno"
186 echo "Building with Mac OS X defaults:"
187 with_macosx_version_min="10.4"
188 echo " Assuming --with-macosx-version-min=10.4"
190 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
191 ac_default_prefix="${build_dir}/vlc_install_dir"
193 echo " Assuming --enable-macosx"
195 echo " Assuming --enable-faad"
197 echo " Assuming --enable-flac"
199 echo " Assuming --enable-theora"
201 echo " Assuming --enable-shout"
203 echo " Assuming --enable-cddax"
205 echo " Assuming --enable-vcdx"
207 echo " Assuming --enable-caca"
209 echo " Assuming --enable-goom"
211 echo " Assuming --enable-ncurses"
213 echo " Assuming --enable-twolame"
214 enable_realrtsp="yes"
215 echo " Assuming --enable-realrtsp"
218 echo " Assuming --disable-skins2"
220 echo " Assuming --disable-x11"
222 echo " Assuming --disable-glx"
224 echo " Assuming --disable-xvideo"
227 echo " Compiling with default SDK"
229 if test ".`uname -p`" = ".i386"; then
230 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
231 dnl without hacking it a lot, we disable mmx and sse.
232 dnl (that bug is about ld being unable to handle
234 save_cflags="$CFLAGS"
235 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
237 [int a;], [asm("movq _a,%mm0\n");],
238 ac_ld_does_not_support_text_reloc=no,
239 ac_ld_does_not_support_text_reloc=yes)
240 CFLAGS="$save_cflags"
242 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
244 echo " Assuming --disable-mmx (due to a bug in ld)"
246 echo " Assuming --disable-sse (due to a bug in ld)"
250 dnl Check for Mac OS X SDK settings
252 AC_ARG_WITH(macosx-sdk,
253 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
254 if test "${with_macosx_sdk}" != "" ; then
255 CC="${CC} -isysroot ${with_macosx_sdk}"
256 CXX="${CXX} -isysroot ${with_macosx_sdk}"
257 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
258 LD="${LD} -syslibroot ${with_macosx_sdk}"
260 AC_ARG_WITH(macosx-version-min,
261 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
262 if test "${with_macosx_version_min}" != "" ; then
263 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
264 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
265 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
266 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
267 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
268 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
269 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
270 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
271 export MACOSX_DEPLOYMENT_TARGET
274 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
275 AC_CHECK_TOOL(WINDRES, windres, :)
278 *wince* | *mingwce* | *mingw32ce* | *pe*)
285 dnl Check if we are using the mno-cygwin mode in which case we are
286 dnl actually dealing with a mingw32 compiler.
291 SYS=mingw32, SYS=cygwin)
295 if test "${SYS}" = "mingw32"; then
296 # add ws2_32 for closesocket, select, recv
297 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
298 VLC_ADD_LDFLAGS([vlc],[-mwindows])
299 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
300 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
301 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32])
303 if test "${SYS}" = "mingwce"; then
304 # add ws2 for closesocket, select, recv
305 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
306 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
307 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp],[-lws2])
308 VLC_ADD_LIBS([libvlc],[-lmmtimer])
313 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
317 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
318 # Perhaps it is useful other places as well?
319 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
326 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
327 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
328 VLC_ADD_CXXFLAGS([beos],[])
329 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
330 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
331 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
332 VLC_ADD_LIBS([access_file],[-lpoll])
333 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
335 if test -f /boot/beos/system/lib/libbind.so; then
336 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket])
338 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet])
341 dnl Ugly check for Zeta
342 if test -f /boot/beos/system/lib/libzeta.so; then
343 VLC_ADD_LIBS([beos],[-lzeta])
350 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
351 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
352 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
353 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
356 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
357 dnl for program foo on win32
359 case "${build_os}" in
361 ac_executable_extensions=".exe"
369 dnl It's very bad, but our former custom system was worst
373 dnl override platform specific check for dependent libraries
374 dnl otherwise libtool linking of shared libraries will
375 dnl fail on anything other than pass_all.
376 AC_CACHE_VAL(lt_cv_deplibs_check_method,
377 [lt_cv_deplibs_check_method=pass_all])
380 AC_DISABLE_FAST_INSTALL
383 m4_undefine([AC_PROG_F77])
384 m4_defun([AC_PROG_F77],[])
387 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
388 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
390 lt_cv_deplibs_check_method=pass_all
396 AM_GNU_GETTEXT_VERSION([0.17])
397 AM_GNU_GETTEXT([external])
398 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
404 AS_IF([test "$am_cv_func_iconv" != "yes"],
405 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
406 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
407 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
409 dnl Check for the need to include the mingwex lib for mingw32
410 if test "${SYS}" = "mingw32"
412 AC_CHECK_LIB(mingwex,opendir,
413 AC_CHECK_LIB(mingw32,opendir,,
414 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
418 dnl Check for fnative-struct or mms-bitfields support for mingw32
419 if test "${SYS}" = "mingw32"
421 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
422 [ac_cv_c_mms_bitfields],
423 [CFLAGS="${CFLAGS_save} -mms-bitfields"
424 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
425 if test "${ac_cv_c_mms_bitfields}" != "no"; then
426 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
427 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
429 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
430 [ac_cv_c_fnative_struct],
431 [CFLAGS="${CFLAGS_save} -fnative-struct"
432 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
433 if test "${ac_cv_c_fnative_struct}" != "no"; then
434 CFLAGS_save="${CFLAGS_save} -fnative-struct";
435 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
439 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
442 dnl Check for fvtable-thunks support for mingw32
443 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
446 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
447 [ac_cv_cxx_fvtable_thunks],
448 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
449 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
450 ac_cv_cxx_fvtable_thunks=no)])
451 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
452 CXXFLAGS_mingw32_special="-fvtable-thunks"
455 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
459 dnl Plugin compilation stuff
466 dnl The -DSYS_FOO flag
467 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
469 dnl Check for system libs needed
472 dnl Check for usual libc functions
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 strdup strndup strnlen atof lldiv posix_fadvise posix_madvise])
474 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
475 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
476 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
479 AH_BOTTOM([#include <vlc_fixups.h>])
481 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGINS([access_mmap])])
483 AS_IF([test "${SYS}" = "linux"], [
487 dnl Check for setlocal and langinfo
488 AC_CHECK_FUNCS(setlocale)
489 AC_CHECK_HEADERS(langinfo.h)
490 AC_CHECK_FUNCS(nl_langinfo)
492 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
493 [AC_TRY_LINK([#include <langinfo.h>],
494 [char* cs = nl_langinfo(CODESET);],
495 ac_cv_langinfo_codeset=yes,
496 ac_cv_langinfo_codeset=no)
498 if test ${ac_cv_langinfo_codeset} = yes; then
499 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
500 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
503 AC_CHECK_FUNCS(connect,,[
504 AC_CHECK_LIB(socket,connect,[
505 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
506 LIBS_socket="-lsocket"
510 AC_CHECK_FUNCS(send,,[
511 AC_CHECK_LIB(socket,send,[
512 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp stream_out_standard growl_udp],[-lsocket])
516 AC_CHECK_FUNCS(gethostbyname,,[
517 AC_CHECK_LIB(nsl,gethostbyname,[
518 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
520 AC_CHECK_LIB(bind,gethostbyname,[
521 VLC_ADD_LIBS([access_mms],[-lbind])
526 AC_CHECK_HEADERS(zlib.h, [
527 VLC_ADD_LIBS([access_http],[-lz])
530 dnl Check for socklen_t
531 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
532 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
533 ac_cv_type_socklen_t,
534 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
535 [#include <sys/types.h>
537 # include <winsock2.h>
538 # include <ws2tcpip.h>
540 # include <sys/socket.h>
541 #endif]], [[socklen_t len; len = 0;]])],
542 ac_cv_type_socklen_t=yes,
543 ac_cv_type_socklen_t=no)])
544 AS_IF([test "$ac_cv_type_socklen_t" = no],
545 [AC_DEFINE(socklen_t, int)])
547 dnl Check for struct sockaddr_storage
548 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
549 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
550 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
552 [#include <sys/types.h>
553 #if defined( UNDER_CE )
554 # include <winsock.h>
555 #elif defined( WIN32 )
556 # include <winsock2.h>
558 # include <sys/socket.h>
559 #endif], [struct sockaddr_storage addr;],
560 ac_cv_struct_sockaddr_storage=yes,
561 ac_cv_struct_sockaddr_storage=no)])
562 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
563 AC_DEFINE(sockaddr_storage, sockaddr)
564 AC_DEFINE(ss_family, sa_family)
567 dnl getaddrinfo, getnameinfo and gai_strerror check
568 dnl -lnsl and -lsocket are needed on Solaris;
569 dnl we purposedly make the test fail on Windows
571 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
572 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
574 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
577 AC_CHECK_FUNCS([getnameinfo gai_strerror])
580 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
581 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
582 [#include <sys/types.h>
583 #if defined( WIN32 ) || defined( UNDER_CE )
584 # if defined(UNDER_CE) && defined(sockaddr_storage)
585 # undef sockaddr_storage
587 # include <winsock2.h>
588 # include <ws2tcpip.h>
593 dnl Check for va_copy
594 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
596 [#include <stdarg.h>],
597 [va_list ap1, ap2; va_copy(ap1,ap2);],
598 [ac_cv_c_va_copy="yes"],
599 [ac_cv_c_va_copy="no"]))
600 if test "${ac_cv_c_va_copy}" = "yes"; then
601 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
603 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
605 [#include <stdarg.h>],
606 [va_list ap1, ap2; __va_copy(ap1,ap2);],
607 [ac_cv_c___va_copy="yes"],
608 [ac_cv_c___va_copy="no"]))
609 if test "${ac_cv_c___va_copy}" = "yes"; then
610 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
613 AC_CHECK_FUNCS(inet_aton,,[
614 AC_CHECK_LIB(resolv,inet_aton,[
615 VLC_ADD_LIBS([libvlc],[-lresolv])
619 dnl Check for getopt (always use builtin one on win32)
620 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
624 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
625 [ # FreeBSD has a gnugetopt library for this:
626 AC_CHECK_LIB([gnugetopt],[getopt_long],
627 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
628 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
631 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
633 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
636 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
639 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])
641 AC_CHECK_LIB(m,sqrt,[
642 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
644 AC_CHECK_LIB(m,ceil,[
645 VLC_ADD_LIBS([mosaic],[-lm])
648 VLC_ADD_LIBS([gaussianblur],[-lm])
650 AC_CHECK_LIB(mx,sqrtf,[
651 VLC_ADD_LIBS([x264],[-lmx])
653 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
655 dnl Check for dynamic plugins
656 ac_cv_have_plugins=no
659 AC_CHECK_HEADERS(mach-o/dyld.h,
660 [AC_CHECK_FUNCS(NSLinkModule,
661 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
662 ac_cv_have_plugins=yes])])
665 if test "${ac_cv_have_plugins}" = "no"; then
666 AC_CHECK_HEADERS(dl.h)
667 ac_cv_my_have_shl_load=no
668 AC_CHECK_FUNC(shl_load,
669 [ac_cv_my_have_shl_load=yes,
670 AC_CHECK_LIB(dld, shl_load,
671 [ac_cv_my_have_shl_load=yes
672 VLC_ADD_LIBS([libvlc],[-ldld])])])
673 if test "${ac_cv_my_have_shl_load}" = "yes"; then
674 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
675 ac_cv_have_plugins=yes
680 if test "${ac_cv_have_plugins}" = "no"; then
681 AC_CHECK_LIB(dld, dld_link,
682 [VLC_ADD_LIBS([libvlc],[-ldld])
683 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
684 ac_cv_have_plugins=yes])
688 if test "${ac_cv_have_plugins}" = "no"; then
689 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
690 AC_CHECK_LIB(kernel32, main,
691 [VLC_ADD_LIBS([libvlc],[-lkernel32])
692 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
693 ac_cv_have_plugins=yes])
698 if test "${ac_cv_have_plugins}" = "no"; then
699 if test "${SYS}" = "mingwce"; then
700 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
701 ac_cv_have_plugins=yes
706 if test "${ac_cv_have_plugins}" = "no"; then
707 AC_CHECK_HEADERS(image.h)
708 AC_CHECK_FUNCS(load_add_on,
709 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
710 ac_cv_have_plugins=yes])
713 # Only test for dlopen() if the others didn't work
714 if test "${ac_cv_have_plugins}" = "no"; then
715 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
716 ac_cv_my_have_dlopen=no
717 AC_CHECK_FUNC(dlopen,
718 ac_cv_my_have_dlopen=yes,
719 AC_CHECK_LIB(dl, dlopen,
720 ac_cv_my_have_dlopen=yes
721 VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
722 AC_CHECK_LIB(svld, dlopen,
723 ac_cv_my_have_dlopen=yes
724 VLC_ADD_LIBS([libvlc],[-lsvld]))))
725 if test "${ac_cv_my_have_dlopen}" = "yes"; then
726 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
727 ac_cv_have_plugins=yes
731 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
732 dnl Check for pthreads - borrowed from XMMS
734 if test "${THREAD_LIB}" = "error"; then
735 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
737 if test "${THREAD_LIB}" = "error"; then
738 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
740 if test "${THREAD_LIB}" = "error"; then
741 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
743 if test "${THREAD_LIB}" = "error"; then
744 AC_CHECK_FUNCS(pthread_mutex_lock)
748 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
750 AC_CHECK_LIB(rt, clock_nanosleep, [
751 VLC_ADD_LIBS([libvlc],[-lrt])
752 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
755 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
759 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
760 AC_CHECK_LIB(rt,nanosleep,
761 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
762 [AC_CHECK_LIB(posix4,nanosleep,
763 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
766 if ${have_nanosleep}; then
767 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
769 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
771 dnl Check for misc headers
772 AC_MSG_CHECKING(for strncasecmp in strings.h)
773 AC_EGREP_HEADER(strncasecmp,strings.h,[
775 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
776 Define if <strings.h> defines strncasecmp.)],[
779 dnl Check for headers
780 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)
781 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
782 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h])
783 AC_CHECK_HEADERS([net/if.h], [], [],
785 #include <sys/socket.h>
787 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
788 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
789 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
790 AC_CHECK_HEADERS(syslog.h)
791 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
795 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
796 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
797 AC_CHECK_TYPE(ssize_t,, [
798 AC_DEFINE(ssize_t, int)
801 dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
802 if test "${SYS}" != "darwin"; then
803 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
808 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
809 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
811 dnl Mac OS X and other OSes don't have declaration for nanosleep
812 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
813 AC_MSG_CHECKING(for nanosleep in time.h)
814 AC_EGREP_HEADER(nanosleep,time.h,[
816 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
817 Define if <time.h> defines nanosleep.)
821 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
823 dnl Make sure we have timespecs
824 AC_MSG_CHECKING(for timespec in sys/time.h)
825 AC_EGREP_HEADER(timespec,sys/time.h,[
827 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
828 Define if <sys/time.h> defines struct timespec.)
833 dnl Check for threads library
834 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
835 AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
836 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
838 dnl Find where are the X headers and libraries
841 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.
843 PKG_PROG_PKG_CONFIG()
847 [ --enable-hal Linux HAL services discovery (default enabled)])
849 if test "${enable_hal}" != "no"
851 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
852 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
853 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
854 VLC_ADD_PLUGINS([hal probe_hal])
855 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
856 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
857 dnl No hal 0.5 Test for 0.2
858 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
859 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
860 VLC_ADD_PLUGINS([hal])
861 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
862 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
863 [AC_MSG_WARN(HAL library not found)])
870 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
873 if test "${enable_dbus}" != "no"
876 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
877 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
878 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
879 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
880 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
881 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
882 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
883 dnl Check for dbus control interface
884 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
885 if test "${enable_dbus_control}" != "no"
887 VLC_ADD_PLUGINS([dbus])
888 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
889 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
891 dnl Check for Telepathy
892 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
893 if test "${enable_telepathy}" != "no"; then
894 VLC_ADD_PLUGINS([telepathy])
895 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
896 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
898 dnl Power Management Inhibiter
899 VLC_ADD_PLUGINS([inhibit])
900 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
901 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
903 if ${PKG_CONFIG} --exists dbus-1
905 [AC_ARG_ENABLE(old-dbus,
906 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
908 if test "${enable_old_dbus}" != "yes"
911 echo "****** WARNING **** WARNING ***** WARNING *************"
912 echo "*** Your D-Bus version is < 1.0.0"
913 echo "*** You are using old and buggy software and so"
914 echo "*** D-Bus support has been disabled."
915 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
916 echo "*** Alternatively you can force the use of your old and"
917 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
918 echo "*******************************************************"
922 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
923 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
924 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
925 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
926 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
927 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
929 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
930 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
931 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
932 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
933 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
935 [ PKG_CHECK_MODULES( DBUS, dbus-1,
936 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
937 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
938 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
939 [AC_MSG_WARN(DBUS library not found)])
950 dnl Build the gtk_main plugins?
956 dnl build the qte plugin ?
959 dnl Check for ntohl, etc.
960 AC_CACHE_CHECK([for ntohl in sys/param.h],
961 [ac_cv_c_ntohl_sys_param_h],
962 [CFLAGS="${CFLAGS_save} -Wall -Werror"
963 AC_TRY_COMPILE([#include <sys/param.h>],
964 [int meuh; ntohl(meuh);],
965 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
966 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
967 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
969 CFLAGS="${CFLAGS_save}"
971 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
972 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
974 dnl This helps detect broken plugins with undefined symbols
975 dnl Better fail loudly at build-time than silenty at run-time.
976 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
977 if test `uname -s` != FreeBSD; then
978 RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
979 VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
983 dnl Check for various optimization flags
984 AC_CACHE_CHECK([if \$CC accepts -Os],
986 [CFLAGS="${CFLAGS_save} -Os"
987 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
988 if test "${ac_cv_c_os}" != "no"; then
989 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
991 AC_CACHE_CHECK([if \$CC accepts -O],
993 [CFLAGS="${CFLAGS_save} -O"
994 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
995 if test "${ac_cv_c_o}" != "no"; then
996 if test "${ac_cv_c_o3}" = "no"; then
997 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1002 AC_CACHE_CHECK([if \$CC accepts -O3],
1004 [CFLAGS="${CFLAGS_save} -O3"
1005 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1006 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1007 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1009 AC_CACHE_CHECK([if \$CC accepts -O2],
1011 [CFLAGS="${CFLAGS_save} -O2"
1012 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1013 if test "${ac_cv_c_o2}" != "no"; then
1014 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1016 AC_CACHE_CHECK([if \$CC accepts -O],
1018 [CFLAGS="${CFLAGS_save} -O"
1019 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1020 if test "${ac_cv_c_o}" != "no"; then
1021 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1026 AC_CACHE_CHECK([if \$CC accepts -O0],
1028 [CFLAGS="${CFLAGS_save} -O0"
1029 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1030 if test "${ac_cv_c_o0}" != "no"; then
1031 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1034 dnl Check for -ffast-math
1035 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1036 [ac_cv_c_fast_math],
1037 [CFLAGS="${CFLAGS_save} -ffast-math"
1038 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1039 if test "${ac_cv_c_fast_math}" != "no"; then
1040 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1043 dnl Check for -funroll-loops
1044 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1045 if test "${SYS}" != "beos"
1047 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1048 [ac_cv_c_unroll_loops],
1049 [CFLAGS="${CFLAGS_save} -funroll-loops"
1050 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1051 if test "${ac_cv_c_unroll_loops}" != "no"; then
1052 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1056 dnl Check for -fomit-frame-pointer
1057 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1058 [ac_cv_c_omit_frame_pointer],
1059 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1060 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1061 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1062 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1065 dnl Check for -fvisibility=hidden
1066 dnl Don't test on mingw32, because it is going to work with just a warning
1067 dnl even if it doesn't support it
1068 if test "${SYS}" != "mingw32"
1070 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1071 [ac_cv_c_visibility_hidden],
1072 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1073 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1074 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1075 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1079 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1081 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1082 dnl AC_LANG_PUSH(C++)
1083 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1084 dnl [ac_cv_c_visibility_inlines_hidden],
1085 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1086 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1087 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1088 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1090 dnl CXXFLAGS="${CXXFLAGS_save}"
1091 dnl AC_LANG_POP(C++)
1093 dnl Check for -mdynamic-no-pic
1094 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1095 dnl [ac_cv_c_dynamic_no_pic],
1096 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1097 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1098 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1099 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1100 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1103 dnl Check for Darwin plugin linking flags
1104 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1106 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1107 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1108 if test "${ac_cv_ld_darwin}" != "no"; then
1109 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1112 dnl Check for standard plugin linking flags
1113 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1114 dnl AS_IF([test "${SYS}" = "beos"], [
1115 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1117 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1118 dnl [ac_cv_ld_plugins],
1119 dnl [CFLAGS="${CFLAGS_save} -shared"
1120 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1121 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1122 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1126 dnl Checks for __attribute__(aligned()) directive
1127 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1128 [ac_cv_c_attribute_aligned],
1129 [ac_cv_c_attribute_aligned=0
1130 CFLAGS="${CFLAGS_save} -Werror"
1131 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1133 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1134 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1136 CFLAGS="${CFLAGS_save}"])
1137 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1138 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1139 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1142 dnl Checks for __attribute__(format()) directive
1143 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1144 [ac_cv_c_attribute_format],
1145 [ac_cv_c_attribute_format=no
1146 CFLAGS="${CFLAGS_save} -Werror"
1148 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1149 [ac_cv_c_attribute_format=yes])
1150 CFLAGS="${CFLAGS_save}"])
1151 if test "${ac_cv_c_attribute_format}" != "no"; then
1152 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1155 dnl Check for __attribute__((packed))
1156 AC_CACHE_CHECK([for __attribute__((packed))],
1157 [ac_cv_c_attribute_packed],
1158 [ac_cv_c_attribute_packed=no
1159 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1160 [ac_cv_c_attribute_packed=yes])])
1161 if test "${ac_cv_c_attribute_packed}" != "no"; then
1162 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1165 dnl Check for __attribute__((visibility()))
1166 AC_CACHE_CHECK([for __attribute__((visibility()))],
1167 [ac_cv_c_attribute_visibility],
1168 [ac_cv_c_attribute_visibility=no
1169 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1170 [ac_cv_c_attribute_visibility=yes])])
1171 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1172 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1178 case "${host_cpu}" in
1188 dnl Enable profiling
1190 AC_ARG_ENABLE(gprof,
1191 [ --enable-gprof gprof profiling (default disabled)])
1192 AC_ARG_ENABLE(cprof,
1193 [ --enable-cprof cprof profiling (default disabled)])
1194 test "${enable_gprof}" != "yes" && enable_gprof="no"
1195 test "${enable_cprof}" != "yes" && enable_cprof="no"
1200 VLC_ADD_PLUGINS([dummy logger memcpy])
1201 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])
1202 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1203 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd blendbench])
1204 VLC_ADD_PLUGINS([converter_fixed mono])
1205 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1206 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1207 VLC_ADD_PLUGINS([playlist export nsc xtag])
1208 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image vmem logo magnify puzzle colorthres])
1209 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1210 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1211 VLC_ADD_PLUGINS([access_http access_mms access_ftp access_rtmp])
1212 VLC_ADD_PLUGINS([access_filter_bandwidth])
1213 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1214 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1215 VLC_ADD_PLUGINS([packetizer_vc1])
1217 ALIASES="${ALIASES} cvlc"
1220 dnl default modules that need g++
1223 VLC_ADD_PLUGINS([spatializer])
1226 if test "${SYS}" != "mingwce"; then
1227 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1228 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1229 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1230 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain])
1231 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1232 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1233 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1234 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1235 ALIASES="${ALIASES} rvlc"
1239 dnl Some plugins aren't useful on some platforms
1241 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1242 VLC_ADD_PLUGINS([screensaver motion])
1243 VLC_ADD_PLUGINS([dynamicoverlay])
1244 elif test "${SYS}" != "mingwce"; then
1245 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1246 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1248 VLC_ADD_PLUGINS([win32text])
1250 if test "${SYS}" = "darwin"; then
1251 VLC_ADD_PLUGINS([quartztext])
1252 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1256 dnl Accelerated modules
1258 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1259 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1260 MMXEXT_MODULES="memcpymmxext"
1261 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1262 THREEDNOW_MODULES="memcpy3dn"
1264 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1265 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1266 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1268 dnl Check for fully workin MMX intrinsics
1269 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1270 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1271 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1272 [ac_cv_c_mmx_intrinsics],
1273 [CFLAGS="${CFLAGS_save} -O -mmmx"
1274 AC_TRY_COMPILE([#include <mmintrin.h>
1278 a = b = c = (__m64)frobzor;
1279 a = _mm_slli_pi16(a, 3);
1280 a = _mm_adds_pi16(a, b);
1281 c = _mm_srli_pi16(c, 8);
1282 c = _mm_slli_pi16(c, 3);
1283 b = _mm_adds_pi16(b, c);
1284 a = _mm_unpacklo_pi8(a, b);
1285 frobzor = (uint64_t)a;],
1286 [ac_cv_c_mmx_intrinsics=yes],
1287 [ac_cv_c_mmx_intrinsics=no])])
1288 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1289 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1290 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1293 dnl Check for fully workin SSE2 intrinsics
1294 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1295 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1296 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1297 [ac_cv_c_sse2_intrinsics],
1298 [CFLAGS="${CFLAGS_save} -O -msse2"
1299 AC_TRY_COMPILE([#include <emmintrin.h>
1303 a = b = c = _mm_set1_epi64((__m64)frobzor);
1304 a = _mm_slli_epi16(a, 3);
1305 a = _mm_adds_epi16(a, b);
1306 c = _mm_srli_epi16(c, 8);
1307 c = _mm_slli_epi16(c, 3);
1308 b = _mm_adds_epi16(b, c);
1309 a = _mm_unpacklo_epi8(a, b);
1310 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1311 [ac_cv_c_sse2_intrinsics=yes],
1312 [ac_cv_c_sse2_intrinsics=no])])
1313 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1314 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1315 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1318 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1320 [CFLAGS="${CFLAGS_save}"
1321 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1322 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1323 if test "${ac_cv_mmx_inline}" != "no"; then
1324 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1325 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1328 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1329 [ac_cv_mmxext_inline],
1330 [CFLAGS="${CFLAGS_save}"
1331 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1332 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1333 if test "${ac_cv_mmxext_inline}" != "no"; then
1334 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1335 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1338 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1339 [ac_cv_3dnow_inline],
1340 [CFLAGS="${CFLAGS_save}"
1341 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1342 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1343 if test "${ac_cv_3dnow_inline}" != "no"; then
1344 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1345 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1348 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1350 [CFLAGS="${CFLAGS_save}"
1351 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1352 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1353 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1354 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1355 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1358 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1359 [ac_cv_sse2_inline],
1360 [CFLAGS="${CFLAGS_save}"
1361 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1362 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1363 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1364 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1365 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1368 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1369 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1370 [ac_cv_altivec_inline],
1371 [CFLAGS="${CFLAGS_save}"
1372 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1373 ac_cv_altivec_inline=yes,
1374 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1375 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1376 [ac_cv_altivec_inline="-Wa,-m7400"],
1377 ac_cv_altivec_inline=no)
1379 if test "${ac_cv_altivec_inline}" != "no"; then
1380 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1381 if test "${ac_cv_altivec_inline}" != "yes"; then
1382 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1383 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1384 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1385 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1386 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1388 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1391 dnl The AltiVec C extensions
1393 dnl There are several possible cases:
1394 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1395 dnl need <altivec.h>
1396 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1397 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1398 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1399 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1400 dnl - Others: test should fail
1401 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1403 [# OS X/PPC test (gcc 4.x)
1404 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1405 AC_TRY_COMPILE([vector unsigned char foo;],
1406 [vec_ld(0, (unsigned char *)0);],
1407 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1408 [# OS X/PPC test (gcc 3.x)
1409 CFLAGS="${CFLAGS_save} -faltivec"
1410 AC_TRY_COMPILE([vector unsigned char foo;],
1411 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1412 [ac_cv_c_altivec="-faltivec"],
1413 dnl Below this are the Linux tests
1414 [# Linux/PPC test (gcc 4.x)
1415 CFLAGS="${CFLAGS_save} -maltivec"
1416 AC_TRY_COMPILE([#include <altivec.h>],
1417 [vec_ld(0, (unsigned char *)0);],
1418 [ac_cv_c_altivec="-maltivec"],
1419 [# Linux/PPC test (gcc 3.3)
1420 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1421 AC_TRY_COMPILE([#include <altivec.h>],
1422 [vec_ld(0, (unsigned char *)0);],
1424 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1425 [# Linux/PPC test (gcc 3.3)
1426 CFLAGS="${CFLAGS_save} -fvec"
1427 AC_TRY_COMPILE([#include <altivec.h>],
1428 [vec_ld(0, (unsigned char *)0);],
1429 [ac_cv_c_altivec="-fvec"],
1430 [ac_cv_c_altivec=no])
1435 CFLAGS="${CFLAGS_save}"
1438 if test "${ac_cv_c_altivec}" != "no"; then
1439 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1442 AS_IF( test "${enable_altivec}" != "no",
1444 AC_CHECK_HEADERS(altivec.h)
1445 CPPFLAGS="${CPPFLAGS_save}"
1447 if test "${ac_cv_c_altivec}" != "no"; then
1448 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1449 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1450 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1451 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1452 if test "${ac_cv_altivec_inline}" = "no"; then
1453 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1457 CPPFLAGS="${CPPFLAGS_save}"
1460 AC_CACHE_CHECK([if linker needs -framework vecLib],
1462 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1463 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1464 LDFLAGS="${LDFLAGS_save}"
1466 if test "${ac_cv_ld_altivec}" != "no"; then
1467 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1469 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1472 AC_ARG_WITH(,[Optimization options:])
1475 dnl Special arch tuning
1478 [ --with-tuning=ARCH enable special tuning for an architecture
1479 (default Pentium 2 on IA-32 and G4 on PPC)])
1480 if test -n "${with_tuning}"; then
1481 if test "${with_tuning}" != "no"; then
1482 CFLAGS_TUNING="-mtune=${with_tuning}"
1485 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1486 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1487 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1488 CFLAGS_TUNING="-mtune=pentium2"
1489 elif test "${host_cpu}" = "x86_64"; then
1490 CFLAGS_TUNING="-mtune=athlon64"
1491 elif test "${host_cpu}" = "powerpc"; then
1492 CFLAGS_TUNING="-mtune=G4";
1496 dnl NOTE: this can't be cached cleanly
1497 AS_IF([test "${CFLAGS_TUNING}"],
1498 [CFLAGS_save="${CFLAGS}"
1499 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1501 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1502 AC_COMPILE_IFELSE([ ],
1504 [CFLAGS_TUNING=""; tuning="no"
1505 AS_IF([test "${with_tuning}"],
1506 [AC_MSG_ERROR([requested tuning not supported])])])
1508 AC_MSG_RESULT([$tuning])
1509 CFLAGS="${CFLAGS_save}"
1513 dnl x86 accelerations
1516 [ --disable-mmx disable MMX optimizations (default enabled on x86)],
1517 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1518 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1519 [ 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
1521 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1524 [ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1525 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1526 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1527 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1528 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1533 AC_ARG_ENABLE(optimize-memory,
1534 [ --enable-optimize-memory optimize memory usage over performance])
1535 if test "${enable_optimize_memory}" = "yes"; then
1536 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1540 dnl Enable/disable optimizations
1542 AC_ARG_ENABLE(optimizations,
1543 [ --disable-optimizations disable compiler optimizations (default enabled)])
1544 if test "${enable_optimizations}" != "no"; then
1545 if test "${enable_optimize_memory}" = "yes"; then
1546 enable_optimizations="size"
1548 enable_optimizations="speed"
1553 dnl AltiVec acceleration
1555 AC_ARG_ENABLE(altivec,
1556 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1557 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1558 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1559 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1560 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1565 AC_ARG_ENABLE(debug,
1566 [ --enable-debug debug mode (default disabled)])
1567 test "${enable_debug}" != "yes" && enable_debug="no"
1569 [Define to 1 if debug code should NOT be compiled])
1570 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1575 AC_ARG_ENABLE(coverage,
1576 [ --enable-coverage build for test coverage (default disabled)],,
1577 [enable_coverage="no"])
1578 AS_IF([test "${enable_coverage}" != "no"], [
1579 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1580 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1581 LDFLAGS="-lgcov ${LDFLAGS}"
1583 CFLAGS_save="${CFLAGS}"
1584 CXXFLAGS_save="${CXXFLAGS}"
1585 LDFLAGS_save="${LDFLAGS}"
1589 dnl Enable release-specific flags
1591 AC_ARG_ENABLE(release,
1592 [ --enable-release activate extra optimizations (default disabled)])
1593 test "${enable_release}" != "yes" && enable_release="no"
1599 [ --enable-sout Stream output modules (default enabled)])
1600 if test "${enable_sout}" != "no"
1602 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1603 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1604 VLC_ADD_PLUGINS([packetizer_copy])
1606 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1607 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1608 VLC_ADD_PLUGINS([stream_out_gather])
1609 # VLC_ADD_PLUGINS([stream_out_transrate])
1610 # VLC_ADD_PLUGINS([rtcp])
1611 VLC_ADD_PLUGINS([profile_parser])
1613 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1616 AC_ARG_ENABLE(switcher,
1617 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1619 dnl Check for libshout
1620 AC_ARG_ENABLE(shout,
1621 [ --enable-shout libshout output plugin (default disabled)])
1622 if test "${enable_shout}" = "yes"; then
1623 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1624 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1625 VLC_ADD_PLUGINS([access_output_shout])
1626 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1627 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1628 [AC_MSG_WARN(libshout library not found)])
1633 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1634 if test "${enable_lua}" != "no"
1636 PKG_CHECK_MODULES(LUA, lua5.1,
1639 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1640 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1644 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1647 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1648 [LUA_LIBS="-llua5.1"],
1649 AC_CHECK_LIB( lua51 , luaL_newstate,
1650 [LUA_LIBS="-llua51"],
1651 AC_CHECK_LIB( lua , luaL_newstate,
1654 AC_MSG_WARN([lua >= 5.1 not found!])
1660 if test "x${have_lua}" = "xyes" ; then
1661 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1662 VLC_ADD_PLUGINS([lua])
1663 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1664 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1667 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1672 AC_ARG_ENABLE(httpd,
1673 [ --enable-httpd HTTP daemon (default enabled)])
1674 if test "${enable_httpd}" != "no"
1676 VLC_ADD_PLUGINS([http])
1677 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1679 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1682 dnl VideoLAN manager
1685 [ --enable-vlm VideoLAN manager (default enabled)])
1686 if test "${enable_vlm}" != "no"
1688 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1692 dnl Growl notification plugin
1694 AC_ARG_ENABLE(growl,
1695 [ --enable-growl growl notification plugin (default enabled)])
1696 AS_IF([test "${enable_growl}" != "no"], [
1697 VLC_ADD_PLUGINS([growl_udp])
1698 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1699 VLC_ADD_PLUGINS([growl])
1700 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1706 dnl Libnotify notification plugin
1709 AC_ARG_ENABLE(notify,
1710 [ --enable-notify libnotify notification plugin (default enabled)])
1711 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1712 PKG_CHECK_MODULES(NOTIFY, libnotify,
1714 VLC_ADD_PLUGINS([notify])
1715 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1716 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1718 AS_IF([test "${enable_notify}" = "yes"],[
1719 AC_MSG_WARN( libnotify not found) ])
1724 dnl Audioscrobbler plugin
1727 AC_ARG_ENABLE(audioscrobbler,
1728 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1729 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1730 VLC_ADD_PLUGINS([audioscrobbler])
1734 dnl Musicbrainz plugin
1736 AC_ARG_ENABLE(musicbrainz,
1737 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1738 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1739 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1740 [ VLC_ADD_PLUGINS([musicbrainz])
1741 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1742 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1743 [AC_MSG_WARN(MusicBrainz library not found)])
1750 AC_ARG_ENABLE(taglib,
1751 [ --disable-taglib Taglib support (default enabled) ])
1752 AS_IF([test "${enable_taglib}" != "no"],[
1753 PKG_CHECK_MODULES(TAGLIB, taglib,
1754 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1755 VLC_ADD_PLUGINS([taglib])
1756 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1757 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1758 [AC_MSG_WARN(TagLib library not found)])
1766 AC_ARG_WITH(,[Input plugins:])
1770 if test "${enable_livedotcom}"
1772 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1775 if test "${enable_livedotcom}" = "no"
1779 AC_ARG_ENABLE(live555,
1780 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1781 if test "${enable_live555}" != "no"; then
1782 AC_ARG_WITH(live555-tree,
1783 [ --with-live555-tree=PATH live.com tree for static linking])
1786 dnl test for --with-live555-tree
1788 if test "${with_livedotcom_tree}"
1790 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1791 with_live555_tree="${with_livedotcom_tree}"
1794 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1796 CPPFLAGS_save="${CPPFLAGS}"
1797 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1798 if test "${SYS}" = "solaris"; then
1799 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1801 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1802 AC_CHECK_HEADERS(liveMedia.hh, [
1803 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1804 AC_CHECK_LIB(liveMedia_pic, main, [
1805 # We have -lliveMedia_pic, build plugins
1806 VLC_ADD_PLUGINS([live555])
1807 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1809 AC_CHECK_LIB(liveMedia, main, [
1810 # We only have -lliveMedia, do builtins
1811 VLC_ADD_BUILTINS([live555])
1812 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1815 if test "${SYS}" = "mingw32"; then
1816 # add ws2_32 for closesocket, select, recv
1817 VLC_ADD_LIBS([live555],[-lws2_32])
1820 CPPFLAGS="${CPPFLAGS_save}"
1823 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1824 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1825 if test -z "${real_live555_tree}"; then
1826 dnl The given directory can't be found
1828 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1830 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1831 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1833 VLC_ADD_BUILTINS([live555])
1835 if test "${SYS}" = "mingw32"; then
1836 # add ws2_32 for closesocket, select, recv
1837 VLC_ADD_LIBS([live555],[-lws2_32])
1840 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1841 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1842 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1843 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1845 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1846 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1847 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1848 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1849 if test "${SYS}" = "solaris"; then
1850 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1853 dnl The given live555 wasn't built
1855 if test "${enable_live555}" = "yes"; then
1856 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1863 dnl special access module for dc1394 input
1865 AC_ARG_ENABLE(dc1394,
1866 [ --enable-dc1394 dc1394 access module (default disabled)])
1867 if test "${enable_dc1394}" = "yes"
1869 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1870 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1871 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1872 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1873 VLC_ADD_PLUGINS([dc1394])
1874 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1877 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1881 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1885 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1889 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1894 dnl dv module: digital video module check for libraw1394
1897 [ --enable-dv dv input module (default disabled)])
1898 if test "${enable_dv}" = "yes"
1900 AC_ARG_WITH(dv-raw1394,
1901 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1902 AC_ARG_WITH(dv-raw1394-tree,
1903 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1905 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1907 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1908 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1910 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1912 VLC_ADD_PLUGINS([access_dv])
1913 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1914 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1916 dnl No libraw1394 could be found, sorry
1918 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1921 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1922 [ VLC_ADD_PLUGINS([access_dv])
1923 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1925 if test -n "${enable_dv}"
1927 AC_MSG_ERROR([cannot find libraw1394 headers])
1932 dnl Check for static linking of libraw1394
1933 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1935 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1936 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1937 if test -z "${real_dv_raw1394_tree}"
1939 dnl The given directory can't be found
1941 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1943 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1945 dnl Use a custom libraw1394
1946 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1947 VLC_ADD_BUILTINS([access_dv])
1948 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1949 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1951 dnl The given libraw1394 wasn't built
1953 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1958 dnl Check for libavc1394
1961 AC_ARG_WITH(dv-avc1394,
1962 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1963 AC_ARG_WITH(dv-avc1394-tree,
1964 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1966 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1968 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1969 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1971 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1973 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1974 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1976 dnl No libavc1394 could be found, sorry
1978 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1981 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1982 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1984 if test -n "${enable_dv}"
1986 AC_MSG_ERROR([cannot find libavc1394 headers])
1991 dnl Check for static linking of libavc1394
1992 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1994 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1995 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1996 if test -z "${real_dv_avc1394_tree}"
1998 dnl The given directory can't be found
2000 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2002 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2004 dnl Use a custom libavc1394
2005 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2006 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2007 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2009 dnl The given libavc1394 wasn't built
2011 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2017 dnl dvdread module: check for libdvdread
2019 AC_ARG_ENABLE(dvdread,
2020 [ --enable-dvdread dvdread input module (default disabled)])
2021 if test "${enable_dvdread}" != "no"
2023 AC_ARG_WITH(dvdread,
2024 [ --with-dvdread=PATH libdvdread headers and libraries])
2025 AC_ARG_WITH(dvdread-tree,
2026 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2028 dnl Temporary hack (yeah, sure ;)
2029 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2030 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2033 if test -z "${with_dvdread}"
2035 if test -z "${with_dvdread_tree}"
2037 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2038 [ VLC_ADD_PLUGINS([dvdread])
2039 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2041 if test -n "${enable_dvdread}"
2043 AC_MSG_ERROR([cannot find libdvdread headers])
2047 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2048 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2049 if test -z "${real_dvdread_tree}"
2051 dnl The given directory can't be found
2053 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2055 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2057 dnl Use a custom libdvdread
2058 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2059 VLC_ADD_BUILTINS([dvdread])
2060 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2061 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2063 dnl The given libdvdread wasn't built
2065 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2069 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2070 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2072 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2074 VLC_ADD_PLUGINS([dvdread])
2075 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2076 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2078 dnl No libdvdread could be found, sorry
2080 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2086 dnl libdvdnav plugin
2088 AC_ARG_ENABLE(dvdnav,
2089 [ --enable-dvdnav dvdnav input module (default enabled)])
2090 if test "${enable_dvdnav}" != "no"
2092 dnl Same hack than dvdread
2093 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2094 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2097 DVDNAV_PATH="${PATH}"
2098 AC_ARG_WITH(dvdnav-config-path,
2099 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2100 [ if test "${with_dvdnav_config_path}" != "no"
2102 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2104 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2105 if test "${DVDNAV_CONFIG}" != "no"
2107 VLC_ADD_PLUGINS([dvdnav])
2108 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2109 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2114 dnl Windows DirectShow access module
2116 AC_ARG_ENABLE(dshow,
2117 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2118 if test "${enable_dshow}" != "no"
2120 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2123 AC_CHECK_HEADERS(dshow.h,
2124 [ VLC_ADD_PLUGINS([dshow])
2125 VLC_ADD_CXXFLAGS([dshow],[])
2126 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2132 dnl Windows DirectShow BDA access module
2135 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2136 if test "${enable_bda}" != "no"
2138 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2140 AC_CHECK_HEADERS(dshow.h,
2141 [ VLC_ADD_PLUGINS([bda])
2142 VLC_ADD_CXXFLAGS([bda],[])
2143 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2149 dnl OpenCV wrapper and example filters
2151 AC_ARG_ENABLE(opencv,
2152 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2153 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2155 AC_ARG_WITH(opencv-tree,
2156 [ --with-opencv-tree=PATH opencv tree for linking])
2157 if test -n "${with_opencv_tree}"
2159 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2161 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2162 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2163 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2166 VLC_ADD_PLUGINS([opencv_wrapper])
2167 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2168 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])
2170 VLC_ADD_PLUGINS([opencv_example])
2171 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2172 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])
2175 dnl No opencv could be found, sorry
2177 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2180 AC_MSG_WARN([--enable-opencv currently only works on windows])
2187 dnl libsmbclient plugin
2190 [ --enable-smb smb input module (default enabled)])
2191 if test "${enable_smb}" != "no"; then
2192 AC_CHECK_HEADERS(libsmbclient.h,
2193 [ VLC_ADD_PLUGINS([access_smb])
2194 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2195 [ if test -n "${enable_smb}"; then
2196 AC_MSG_ERROR([cannot find libsmbclient headers])
2198 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2199 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2200 [#include <libsmbclient.h>])
2204 dnl libdvbpsi ts demux/mux
2206 AC_ARG_ENABLE(dvbpsi,
2207 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2208 if test "${enable_dvbpsi}" != "no"
2211 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2213 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2214 case "${with_dvbpsi}" in
2216 if test -z "${with_dvbpsi_tree}"
2218 AC_CHECK_HEADERS(dvbpsi/dr.h,
2219 [ VLC_ADD_PLUGINS([ts])
2220 if test "${enable_sout}" != "no"; then
2221 VLC_ADD_PLUGINS([mux_ts])
2223 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2224 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2225 [#if defined( HAVE_STDINT_H )
2226 # include <stdint.h>
2227 #elif defined( HAVE_INTTYPES_H )
2228 # include <inttypes.h>
2230 #include <dvbpsi/dvbpsi.h>
2231 #include <dvbpsi/descriptor.h>
2232 #include <dvbpsi/pat.h>
2233 #include <dvbpsi/pmt.h>])
2235 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2236 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2237 if test -z "${real_dvbpsi_tree}"
2239 dnl The given directory can't be found
2241 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2243 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2245 dnl Use a custom libdvbpsi
2246 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2247 VLC_ADD_BUILTINS([ts])
2248 if test "${enable_sout}" != "no"; then
2249 VLC_ADD_BUILTINS([mux_ts])
2251 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2252 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2254 dnl The given libdvbpsi wasn't built
2256 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2261 dnl Compile without dvbpsi
2264 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2265 if test -z "${with_dvbpsi}"
2270 LDFLAGS_test="-L${with_dvbpsi}/lib"
2271 CPPFLAGS_test="-I${with_dvbpsi}/include"
2273 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2274 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2275 VLC_ADD_PLUGINS([ts])
2276 if test "${enable_sout}" != "no"; then
2277 VLC_ADD_PLUGINS([mux_ts])
2279 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2280 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2283 if test -n "${enable_dvbpsi}"
2285 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])
2288 CPPFLAGS="${CPPFLAGS_save}"
2291 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2292 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2293 ], [], [${LIBS_ts}])
2298 dnl Video4Linux plugin
2301 [ --enable-v4l Video4Linux input support (default disabled)])
2302 if test "${enable_v4l}" = "yes"
2305 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2306 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2308 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2311 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2312 AC_CHECK_HEADERS(linux/videodev.h, [
2313 VLC_ADD_PLUGINS([v4l])
2315 CPPFLAGS="${CPPFLAGS_save}"
2319 dnl Video4Linux2 plugin
2322 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2323 if test "${enable_v4l2}" = "yes"
2326 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2327 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2329 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2332 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2333 if test "${have_v4l2_alsa}" = "true"
2335 CFLAGS="${CFLAGS_save}"
2336 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2337 #define ALSA_PCM_NEW_SW_PARAMS_API
2338 #include <alsa/asoundlib.h>],
2339 [snd_pcm_hw_params_get_period_time(0,0,0);],
2340 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2341 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2342 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2345 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2346 AC_CHECK_HEADERS(linux/videodev2.h, [
2347 VLC_ADD_PLUGINS([v4l2])
2349 CPPFLAGS="${CPPFLAGS_save}"
2354 dnl special access module for Hauppauge PVR cards
2357 [ --enable-pvr PVR cards access module (default disabled)])
2358 if test "${enable_pvr}" = "yes"
2360 VLC_ADD_PLUGINS([pvr])
2361 AC_ARG_WITH(videodev2,
2362 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2363 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2365 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2369 AC_CACHE_CHECK([for new linux/videodev2.h],
2370 [new_linux_videodev2_h],
2372 #include <sys/types.h>
2373 # ifdef VIDEODEV2_H_FILE
2374 # include VIDEODEV2_H_FILE
2376 # include <linux/videodev2.h>
2379 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2380 new_linux_videodev2_h=yes,
2381 new_linux_videodev2_h=no)])
2382 if test "${new_linux_videodev2_h}" != "no"; then
2383 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2388 dnl gnomeVFS access module
2390 AC_ARG_ENABLE(gnomevfs,
2391 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2392 if test "${enable_gnomevfs}" = "yes"
2394 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2395 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2396 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2397 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2398 VLC_ADD_PLUGINS([access_gnomevfs]),
2399 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2402 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2403 AC_ARG_ENABLE(libcdio,
2404 [ --enable-libcdio CD input and control library support (default enabled)])
2409 if test "${enable_libcdio}" != "no"
2411 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2413 AC_DEFINE(HAVE_LIBCDIO, 1,
2414 [Define if you have libcdio 0.78.2 or greater installed]),
2415 [AC_MSG_WARN(CD Reading and information library not found)])
2417 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2418 [have_libvcdinfo=yes
2419 AC_DEFINE(HAVE_VCDINFO, 1,
2420 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2421 [AC_MSG_WARN(VCD information library not found)])
2425 dnl VCDX and CDDAX modules
2427 AC_ARG_ENABLE(cddax,
2428 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2430 AC_ARG_ENABLE(libcddb,
2431 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2433 if test "${enable_cddax}" = "yes"
2435 if test "$have_libcdio" = "yes"
2437 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2438 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2439 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2440 VLC_ADD_PLUGINS([cddax])
2441 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2442 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2443 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2445 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2449 if test "$enable_libcddb" != "no"; then
2450 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2452 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2453 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2454 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2456 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2463 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2465 if test "${enable_vcdx}" = "yes"
2467 if test "${have_libvcdinfo}" = "yes"
2469 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2470 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2472 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2476 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2477 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2478 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2479 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2482 if test "$have_libvcdinfo" = "yes"
2484 AC_DEFINE(HAVE_VCDX, 1,
2485 [Define for the VCD plugin using libcdio/libvcdinfo])
2486 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2487 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2488 VLC_ADD_PLUGINS([vcdx])
2490 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2496 dnl Built-in CD-DA and VCD module
2499 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2502 [ --enable-vcd built-in VCD (default enabled)])
2504 if test "${enable_vcd}" != "no"
2506 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2507 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2509 VLC_ADD_PLUGINS([vcd cdda])
2514 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2515 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2517 VLC_ADD_PLUGINS([vcd cdda])
2518 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2523 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2524 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2526 VLC_ADD_PLUGINS([vcd cdda])
2527 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2532 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2534 VLC_ADD_PLUGINS([vcd cdda])
2537 if test "${SYS}" = "darwin"
2539 VLC_ADD_PLUGINS([vcd cdda])
2540 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2541 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2544 if test "$enable_libcddb" != "no"; then
2545 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2547 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2548 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2549 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2551 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2557 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2560 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2562 if test "${enable_dvb}" = "yes"
2565 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2566 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2568 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2570 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2571 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2572 if test -z "${with_dvbpsi_tree}"
2574 VLC_ADD_PLUGINS([dvb])
2576 VLC_ADD_BUILTINS([dvb])
2578 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2579 CPPFLAGS="${CPPFLAGS_save}"
2583 dnl Screen capture module
2585 AC_ARG_ENABLE(screen,
2586 [ --enable-screen Screen capture support (default enabled)])
2587 if test "${enable_screen}" != "no"; then
2588 if test "${SYS}" = "darwin"; then
2589 AC_CHECK_HEADERS(OpenGL/gl.h, [
2590 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2591 VLC_ADD_PLUGINS([screen])
2592 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2595 elif test "${SYS}" = "mingw32"; then
2596 VLC_ADD_PLUGINS([screen])
2597 VLC_ADD_LIBS([screen],[-lgdi32])
2598 elif test "${SYS}" = "mingwce"; then
2599 CPPFLAGS="${CPPFLAGS_save}"
2600 elif test "${SYS}" = "beos"; then
2601 VLC_ADD_PLUGINS([screen])
2602 VLC_ADD_CXXFLAGS([screen],[])
2603 VLC_ADD_LIBS([screen],[-lbe])
2605 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2606 AC_CHECK_HEADERS(X11/Xlib.h, [
2607 VLC_ADD_PLUGINS([screen])
2608 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2609 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2611 CPPFLAGS="${CPPFLAGS_save}"
2616 dnl ipv6 plugin - not for QNX yet
2619 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2620 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2623 AS_IF([test "${have_ipv6}" = "yes"], [
2624 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2627 AC_CHECK_FUNCS(inet_ntop,[
2628 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2632 dnl ogg demux plugin
2635 [ --enable-ogg Ogg demux support (default enabled)])
2636 if test "${enable_ogg}" != "no"
2638 AC_ARG_WITH(ogg-tree,
2639 [ --with-ogg-tree=PATH ogg tree for static linking])
2640 if test -n "${with_ogg_tree}"
2642 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2643 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2644 if test -z "${real_ogg_tree}"
2646 dnl The given directory can't be found
2648 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2650 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2652 dnl Use a custom ogg
2653 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2654 VLC_ADD_PLUGINS([ogg])
2655 if test "${enable_sout}" != "no"; then
2656 VLC_ADD_PLUGINS([mux_ogg])
2658 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2659 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2661 dnl The given ogg wasn't built
2663 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2666 AC_CHECK_HEADERS(ogg/ogg.h, [
2667 AC_CHECK_LIB( ogg, oggpack_read, [
2668 VLC_ADD_PLUGINS([ogg])
2669 if test "${enable_sout}" != "no"; then
2670 VLC_ADD_PLUGINS([mux_ogg])
2672 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2678 dnl matroska demux plugin
2681 [ --enable-mkv Matroska demux support (default enabled)])
2682 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2684 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2685 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2687 [#include <ebml/EbmlVersion.h>
2688 #ifdef LIBEBML_VERSION
2689 #if LIBEBML_VERSION >= 0x000706
2693 [AC_MSG_RESULT([yes])
2694 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2695 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2697 [#include <matroska/KaxVersion.h>
2698 #ifdef LIBMATROSKA_VERSION
2699 #if LIBMATROSKA_VERSION >= 0x000705
2703 [AC_MSG_RESULT([yes])
2704 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2705 VLC_ADD_CXXFLAGS([mkv],[])
2706 if test "${SYS}" = "darwin"; then
2707 VLC_ADD_CXXFLAGS([mkv],[-O1])
2709 AC_CHECK_LIB(ebml_pic, main, [
2710 VLC_ADD_PLUGINS([mkv])
2711 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2713 AC_CHECK_LIB(ebml, main, [
2714 VLC_ADD_PLUGINS([mkv])
2715 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2719 [AC_MSG_RESULT([no])
2720 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.])
2724 [AC_MSG_RESULT([no])
2725 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.])
2732 dnl modplug demux plugin
2735 [ --enable-mod Mod demux support (default enabled)])
2736 if test "${enable_mod}" != "no"
2738 AC_ARG_WITH(mod-tree,
2739 [ --with-mod-tree=PATH mod tree for static linking])
2740 if test -n "${with_mod_tree}"
2742 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2743 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2744 if test -z "${real_mod_tree}"
2746 dnl The given directory can't be found
2748 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2750 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2752 dnl Use a custom mod
2753 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2754 VLC_ADD_PLUGINS([mod])
2755 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2756 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2758 dnl The given mod wasn't built
2760 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2763 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2764 VLC_ADD_PLUGINS([mod])
2765 VLC_ADD_CXXFLAGS([mod],[])
2766 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2771 dnl mpc demux plugin
2774 [ --enable-mpc Mpc demux support (default enabled)])
2775 if test "${enable_mpc}" != "no"
2777 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2778 VLC_ADD_PLUGINS([mpc])
2779 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2783 dnl game music emu demux plugin
2786 [ --enable-gme Game Music Emu demux support (default enabled)])
2787 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2790 AC_ARG_WITH(gme-tree,
2791 [ --with-gme-tree=PATH gme tree for static linking])
2792 if test -n "${with_gme_tree}"
2794 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2795 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2796 if test -z "${real_gme_tree}"
2798 dnl The given directory can't be found
2800 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2802 if test -f "${real_gme_tree}/gme/libgme.a"
2804 dnl Use a custom gme
2805 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2806 VLC_ADD_PLUGINS([gme])
2807 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2808 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2810 dnl The given gme wasn't built
2812 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2815 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2824 AC_ARG_WITH(,[Codec plugins:])
2830 [ --enable-mad libmad module (default enabled)])
2831 if test "${enable_mad}" != "no"
2834 [ --with-mad=PATH path to libmad],[],[])
2835 if test "${with_mad}" != "no" -a -n "${with_mad}"
2837 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2838 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2841 AC_ARG_WITH(mad-tree,
2842 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2843 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2845 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2846 if test -z "${real_mad_tree}"
2848 dnl The given directory can't be found
2850 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2852 dnl Use a custom libmad
2853 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2854 if test -f ${real_mad_tree}/mad.h
2857 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2858 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2859 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2860 AC_CHECK_LIB(mad, mad_bit_init, [
2861 VLC_ADD_BUILTINS([mpgatofixed32])
2862 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2863 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2865 LDFLAGS="${LDFLAGS_save}"
2868 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2871 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2872 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2873 AC_CHECK_HEADERS(mad.h, ,
2874 [ 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.]) ])
2875 AC_CHECK_LIB(mad, mad_bit_init, [
2876 VLC_ADD_PLUGINS([mpgatofixed32])
2877 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2878 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2879 CPPFLAGS="${CPPFLAGS_save}"
2880 LDFLAGS="${LDFLAGS_save}"
2885 dnl libid3tag support (FIXME!!! doesn't work with new input)
2887 AC_ARG_ENABLE( id3tag,
2888 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2889 AS_IF([test "${enable_id3tag}" != "no"], [
2890 AC_CHECK_HEADERS(id3tag.h, [
2891 AC_CHECK_HEADERS(zlib.h, [
2892 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2893 VLC_ADD_PLUGINS([id3tag])
2899 dnl ffmpeg decoder/demuxer plugin
2901 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2902 dnl 3- default place,
2904 AC_ARG_ENABLE(ffmpeg,
2905 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2906 if test "${enable_ffmpeg}" != "no"
2909 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2911 AC_ARG_WITH(ffmpeg-mp3lame,
2912 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2914 if test "$with_ffmpeg_mp3lame" = "yes"; then
2915 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2918 AC_ARG_WITH(ffmpeg-faac,
2919 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2921 if test "$with_ffmpeg_faac" = "yes"; then
2922 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2925 AC_ARG_WITH(ffmpeg-dts,
2926 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2928 if test "$with_ffmpeg_dts" = "yes"; then
2929 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2930 AC_CHECK_LIB(dts_pic, dts_free,
2931 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2932 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2933 LDFLAGS="${LDFLAGS_save}"
2936 AC_ARG_WITH(ffmpeg-vorbis,
2937 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2939 if test "$with_ffmpeg_vorbis" = "yes"; then
2940 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2943 AC_ARG_WITH(ffmpeg-theora,
2944 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2946 if test "$with_ffmpeg_theora" = "yes"; then
2947 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2950 AC_ARG_WITH(ffmpeg-ogg,
2951 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2953 if test "$with_ffmpeg_ogg" = "yes"; then
2954 VLC_ADD_LIBS([ffmpeg],[-logg])
2957 AC_ARG_WITH(ffmpeg-zlib,
2958 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2960 if test "$with_ffmpeg_zlib" = "yes"; then
2961 VLC_ADD_LIBS([ffmpeg],[-lz])
2964 AC_ARG_WITH(ffmpeg-amrnb,
2965 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2967 if test "$with_ffmpeg_amrnb" = "yes"; then
2968 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
2971 AC_ARG_WITH(ffmpeg-amrwb,
2972 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2974 if test "$with_ffmpeg_amrwb" = "yes"; then
2975 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
2978 AC_ARG_WITH(ffmpeg-x264,
2979 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
2981 if test "$with_ffmpeg_x264" = "yes"; then
2982 VLC_ADD_LIBS([ffmpeg],[-lx264])
2985 AC_ARG_WITH(ffmpeg-a52,
2986 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
2988 if test "$with_ffmpeg_a52" = "yes"; then
2989 VLC_ADD_LIBS([ffmpeg],[-la52])
2993 dnl test for --with-ffmpeg-tree
2995 AC_ARG_WITH(ffmpeg-tree,
2996 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2998 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2999 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3000 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3001 if test -z "${real_ffmpeg_tree}"; then
3002 dnl The given directory can't be found
3004 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3006 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3007 dnl The given libavcodec wasn't built
3009 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3011 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3012 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3013 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3014 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3015 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3016 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3018 dnl The given libavcodec wasn't built with --enable-postproc
3020 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3023 dnl Use a custom libffmpeg
3024 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3026 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3027 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3028 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3029 export PKG_CONFIG_PATH=""
3030 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3033 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3034 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3035 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3036 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3038 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3039 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3040 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3041 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3042 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3044 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3045 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3047 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3048 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3049 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3050 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3053 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3054 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3056 unset PKG_CONFIG_PATH
3058 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3059 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3061 unset PKG_CONFIG_LIBDIR
3064 VLC_ADD_BUILTINS([ffmpeg])
3065 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3066 VLC_ADD_BUILTINS([stream_out_switcher])
3073 dnl Trying with pkg-config
3074 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3077 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3078 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3079 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3080 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3081 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3082 dnl newer ffmpeg have a separate libpostproc
3083 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3084 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3085 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3087 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3088 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3089 AC_CHECK_HEADERS(postproc/postprocess.h)
3090 if test "${SYS}" = "darwin"; then
3091 VLC_ADD_BUILTINS([ffmpeg])
3093 VLC_ADD_PLUGINS([ffmpeg])
3095 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3096 if test "${SYS}" = "darwin"; then
3097 VLC_ADD_BUILTINS([stream_out_switcher])
3099 VLC_ADD_PLUGINS([stream_out_switcher])
3102 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3103 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3105 dnl even newer ffmpeg has a libswscale
3106 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3107 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3108 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3109 AC_CHECK_LIB(swscale, sws_getContext,
3110 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
3116 dnl last chance: at the default place
3118 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3119 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3120 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3121 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3122 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3123 AC_CHECK_HEADERS(postproc/postprocess.h)
3125 AC_CHECK_LIB(avutil, av_crc_init, [
3126 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3127 LDAVUTIL="-lavutil"])
3129 AC_CHECK_LIB(avcodec, avcodec_init, [
3130 VLC_ADD_BUILTINS([ffmpeg])
3131 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3132 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3133 VLC_ADD_BUILTINS([stream_out_switcher])
3135 [ 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])
3137 AC_CHECK_LIB(postproc, pp_postprocess, [
3138 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3139 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3142 AC_CHECK_LIB(avformat, av_open_input_stream, [
3143 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3144 LDFLAGS="${LDFLAGS_save}"
3145 CPPFLAGS="${CPPFLAGS_save}"
3147 AC_CHECK_LIB(swscale, sws_getContext, [
3148 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3149 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3150 LDFLAGS="${LDFLAGS_save}"
3151 CPPFLAGS="${CPPFLAGS_save}"
3157 dnl ffmpegaltivec plugin
3159 AC_ARG_ENABLE(ffmpegaltivec,
3160 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3161 if test "${enable_ffmpegaltivec}" = "yes"
3163 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3164 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3165 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3166 if test -z "${real_ffmpeg_tree}"; then
3167 dnl The given directory can't be found
3169 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3171 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3172 dnl The given libavcodecaltivec wasn't built
3174 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3176 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3177 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3179 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3181 dnl Use a custom libffmpeg
3182 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3183 VLC_ADD_BUILTINS([ffmpegaltivec])
3184 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3185 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3186 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3188 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3189 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3190 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3191 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3193 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3194 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3199 dnl faad decoder plugin
3202 [ --enable-faad faad codec (default disabled)])
3203 if test "${enable_faad}" = "yes"
3205 AC_ARG_WITH(faad-tree,
3206 [ --with-faad-tree=PATH faad tree for static linking])
3207 if test -n "${with_faad_tree}"
3209 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3210 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3211 if test -z "${real_faad_tree}"
3213 dnl The given directory can't be found
3215 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3217 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3219 dnl Use a custom faad
3220 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3221 VLC_ADD_BUILTINS([faad])
3222 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3223 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3225 dnl The given libfaad wasn't built
3227 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3230 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3231 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3232 AC_CHECK_HEADERS(faad.h, ,
3233 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3234 AC_CHECK_LIB(faad, faacDecOpen, [
3235 VLC_ADD_PLUGINS([faad])
3236 VLC_ADD_LIBS([faad],[-lfaad]) ],
3237 AC_CHECK_LIB(faad, NeAACDecOpen, [
3238 VLC_ADD_PLUGINS([faad])
3239 VLC_ADD_LIBS([faad],[-lfaad]) ],
3240 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3241 LDFLAGS="${LDFLAGS_save}"
3242 CPPFLAGS="${CPPFLAGS_save}"
3247 dnl twolame encoder plugin
3249 AC_ARG_ENABLE(twolame,
3250 [ --enable-twolame twolame codec (default disabled)])
3251 if test "${enable_twolame}" = "yes"
3253 AC_ARG_WITH(twolame-tree,
3254 [ --with-twolame-tree=PATH twolame tree for static linking])
3255 if test -n "${with_twolame_tree}"
3257 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3258 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3259 if test -z "${real_twolame_tree}"
3261 dnl The given directory can't be found
3263 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3265 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3267 dnl Use a custom twolame
3268 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3269 VLC_ADD_BUILTINS([twolame])
3270 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3271 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3273 dnl The given libtwolame wasn't built
3275 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3278 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3279 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3280 AC_CHECK_HEADERS(twolame.h, ,
3281 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3282 AC_CHECK_LIB(twolame, twolame_init, [
3283 VLC_ADD_PLUGINS([twolame])
3284 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3285 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3286 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3287 LDFLAGS="${LDFLAGS_save}"
3288 CPPFLAGS="${CPPFLAGS_save}"
3293 dnl QuickTime plugin
3295 AC_ARG_ENABLE(quicktime,
3296 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3297 if test "${enable_quicktime}" != "no" &&
3298 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3300 if test "${SYS}" = "mingw32"; then
3301 VLC_ADD_BUILTINS([quicktime])
3303 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3304 [ VLC_ADD_BUILTINS([quicktime])
3305 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3306 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3314 [ --enable-real Real audio module (default disabled)])
3315 if test "${enable_real}" = "yes"; then
3316 VLC_ADD_PLUGINS([realaudio])
3320 dnl Real RTSP plugin
3322 AC_ARG_ENABLE(realrtsp,
3323 [ --enable-realrtsp Real RTSP module (default disabled)])
3324 if test "${enable_realrtsp}" = "yes"; then
3325 VLC_ADD_PLUGINS([access_realrtsp])
3331 AC_CHECK_HEADERS(zlib.h, [
3332 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3335 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3336 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3342 AC_ARG_ENABLE(libtar,
3343 [ --enable-libtar support for skins2 (default enabled)])
3345 AS_IF([test "${enable_libtar}" != "no"],[
3346 AC_CHECK_HEADERS(libtar.h, [
3347 VLC_ADD_LIBS([skins2],[-ltar])
3352 dnl A52/AC3 decoder plugin
3355 [ --enable-a52 A/52 support with liba52 (default enabled)])
3356 if test "${enable_a52}" != "no"
3359 [ --with-a52=PATH a52 headers and libraries])
3360 AC_ARG_WITH(a52-tree,
3361 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3362 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3364 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3365 if test -z "${real_a52_tree}"
3367 dnl The given directory can't be found
3369 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3371 dnl Use a custom a52dec
3372 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3373 if test -f ${real_a52_tree}/include/a52.h
3376 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3377 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3378 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3379 AC_CHECK_LIB(a52, a52_free, [
3380 VLC_ADD_BUILTINS([a52tofloat32])
3381 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3382 VLC_ADD_LIBS([a52tofloat32],[-la52])
3384 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3386 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3388 AC_MSG_ERROR([the specified tree hasn't been compiled])
3391 LDFLAGS="${LDFLAGS_save}"
3394 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3397 if test -z "${with_a52}"
3402 LDFLAGS_test="-L${with_a52}/lib"
3403 CPPFLAGS_test="-I${with_a52}/include"
3405 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3406 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3407 AC_CHECK_HEADERS(a52dec/a52.h, [
3408 AC_CHECK_LIB(a52, a52_free, [
3409 VLC_ADD_PLUGINS([a52tofloat32])
3410 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3411 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3413 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.])
3416 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.])
3418 CPPFLAGS="${CPPFLAGS_save}"
3419 LDFLAGS="${LDFLAGS_save}"
3423 AC_ARG_WITH(a52-fixed,
3424 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3426 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3429 dnl DTS Coherent Acoustics decoder plugin
3431 AS_IF([test "x${enable_dts}" != "x"], [
3432 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3434 AS_IF([test "x${with_dts_tree}" != "x"], [
3435 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3439 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3440 AS_IF([test "${enable_dca}" != "no"], [
3441 AC_ARG_WITH(dca-tree,
3442 [ --with-dca-tree=PATH libdca tree for static linking],,
3443 [with_dca_tree="no"])
3444 AS_IF([test "${with_dca_tree}" != "no"], [
3445 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3446 AS_IF([test -z "${real_dca_tree}"], [
3447 dnl The given directory can't be found
3449 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3451 dnl Use a custom libdca
3452 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3453 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3455 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3456 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3457 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3459 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3463 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3466 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3467 VLC_ADD_PLUGINS([dtstofloat32])
3468 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3469 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3471 AS_IF([test "x${enable_dca}" != "x"], [
3472 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3482 [ --enable-flac libflac decoder/encoder support (default disabled)])
3483 if test "${enable_flac}" = "yes"
3485 AC_ARG_WITH(flac-tree,
3486 [ --with-flac-tree=PATH flac tree for static linking])
3487 if test -n "${with_flac_tree}"
3489 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3490 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3491 if test -z "${real_flac_tree}"
3493 dnl The given directory can't be found
3495 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3497 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3499 dnl Use a custom flac
3500 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3501 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3502 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3503 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3505 dnl The given flac wasn't built
3507 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3510 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3511 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3519 AC_ARG_ENABLE(libmpeg2,
3520 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3521 if test "${enable_libmpeg2}" != "no"
3523 AC_ARG_WITH(libmpeg2-tree,
3524 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3525 if test -n "${with_libmpeg2_tree}"
3527 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3528 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3529 if test -z "${real_libmpeg2_tree}"
3531 dnl The given directory can't be found
3533 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3535 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3537 dnl Use a custom libmpeg2
3538 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3539 VLC_ADD_BUILTINS([libmpeg2])
3540 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3541 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3542 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3544 dnl The given libmpeg2 wasn't built
3546 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3549 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3550 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3552 [#include <mpeg2dec/mpeg2.h>
3553 #ifdef MPEG2_RELEASE
3554 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3558 [AC_MSG_RESULT([yes])
3559 VLC_ADD_PLUGINS([libmpeg2])
3560 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3561 [AC_MSG_RESULT([no])
3562 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.])])],
3564 [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.])]
3572 AC_ARG_ENABLE(vorbis,
3573 [ --enable-vorbis Vorbis decoder support (default enabled)])
3574 if test "${enable_vorbis}" != "no"
3576 AC_ARG_WITH(vorbis-tree,
3577 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3578 if test -n "${with_vorbis_tree}"
3580 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3581 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3582 if test -z "${real_vorbis_tree}"
3584 dnl The given directory can't be found
3586 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3588 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3590 dnl Use a custom vorbis
3591 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3592 VLC_ADD_PLUGINS([vorbis])
3593 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3594 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3596 dnl The given vorbis wasn't built
3598 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3601 AC_CHECK_HEADERS(vorbis/codec.h, [
3602 VLC_ADD_PLUGINS([vorbis])
3603 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3605 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3606 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3613 AC_ARG_ENABLE(tremor,
3614 [ --enable-tremor Tremor decoder support (default disabled)])
3615 if test "${enable_tremor}" = "yes"
3617 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3618 VLC_ADD_PLUGINS([tremor])
3619 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3626 AC_ARG_ENABLE(speex,
3627 [ --enable-speex Speex decoder support (default enabled)])
3628 if test "${enable_speex}" != "no"
3630 AC_ARG_WITH(speex-tree,
3631 [ --with-speex-tree=PATH speex tree for static linking])
3632 if test -n "${with_speex_tree}"
3634 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3635 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3636 if test -z "${real_speex_tree}"
3638 dnl The given directory can't be found
3640 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3642 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3644 dnl Use a custom speex
3645 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3646 VLC_ADD_PLUGINS([speex])
3647 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3648 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3650 dnl The given speex wasn't built
3652 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3655 AC_CHECK_HEADERS(speex/speex.h, [
3656 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3657 AC_CHECK_LIB(speex, speex_decode_int, [
3658 VLC_ADD_PLUGINS([speex])
3659 VLC_ADD_LIBS([speex],[-lspeex]) ],
3660 [ AC_MSG_RESULT([no])
3661 AC_MSG_WARN([Your libspeex is too old, please get the development
3663 LDFLAGS="${LDFLAGS_save}"
3669 dnl tarkin decoder plugin
3671 AC_ARG_ENABLE(tarkin,
3672 [ --enable-tarkin experimental tarkin codec (default disabled)])
3673 if test "${enable_tarkin}" = "yes"
3675 AC_ARG_WITH(tarkin-tree,
3676 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3677 if test -n "${with_tarkin_tree}"
3679 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3680 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3681 if test -f "${real_tarkin_tree}/tarkin.o"
3683 VLC_ADD_BUILTINS([tarkin])
3684 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3685 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])
3688 dnl The given tarkin tree wasn't built
3690 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3691 make sure you compiled tarkin in ${with_tarkin_tree}])
3697 dnl theora decoder plugin
3699 AC_ARG_ENABLE(theora,
3700 [ --enable-theora experimental theora codec (default disabled)])
3701 if test "${enable_theora}" = "yes"
3703 AC_CHECK_HEADERS(theora/theora.h, [
3704 AC_CHECK_LIB(theora, theora_granule_time, [
3705 VLC_ADD_PLUGINS([theora])
3706 theora_libs="-ltheora -logg"
3707 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3708 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3709 You also need to check that you have a libogg posterior to the 1.0 release.])],
3715 dnl dirac decoder plugin
3717 AC_ARG_ENABLE(dirac,
3718 [ --enable-dirac experimental dirac codec (default disabled)])
3719 if test "${enable_dirac}" = "yes"; then
3720 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3721 VLC_ADD_PLUGINS([dirac])
3722 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3723 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3724 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3729 dnl PNG decoder module
3732 [ --enable-png PNG support (default enabled)])
3733 if test "${enable_png}" != "no"; then
3734 AC_CHECK_HEADERS(png.h, [
3735 LDFLAGS="${LDFLAGS_save} -lz"
3736 AC_CHECK_LIB(png, png_set_rows, [
3737 VLC_ADD_LIBS([png],[-lpng -lz])
3738 VLC_ADD_PLUGINS([png])
3739 VLC_ADD_PLUGINS([osdmenu osd_parser])
3740 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3742 LDFLAGS="${LDFLAGS_save}"
3745 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3748 dnl H264 encoder plugin (using libx264)
3751 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3752 if test "${enable_x264}" != "no"; then
3753 AC_ARG_WITH(x264-tree,
3754 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3755 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3757 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3758 if test -z "${real_x264_tree}"
3760 dnl The given directory can't be found
3762 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3764 dnl Use a custom libx264
3765 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3766 if test -f ${real_x264_tree}/x264.h
3769 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3770 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3771 PKG_CHECK_MODULES(X264,x264, [
3772 VLC_ADD_PLUGINS([x264])
3773 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3774 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3776 AC_MSG_ERROR([the specified tree hasn't been compiled])
3778 LDFLAGS="${LDFLAGS_save}"
3781 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3784 PKG_CHECK_MODULES(X264,x264, [
3785 VLC_ADD_PLUGINS([x264])
3786 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3787 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3789 if test "${enable_x264}" = "yes"; then
3790 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3793 LDFLAGS="${LDFLAGS_save}"
3798 dnl libfluidsynth (MIDI synthetizer) plugin
3800 AC_ARG_ENABLE(fluidsynth,
3801 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3802 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3803 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3804 VLC_ADD_PLUGINS(fluidsynth)
3805 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3806 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3808 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3809 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3815 dnl Teletext Modules
3816 dnl vbi decoder plugin (using libzbvi)
3821 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3823 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3825 AS_IF( [test "${enable_zvbi}" != "no"],[
3826 AS_IF( [test "${enable_telx}" = "yes"],[
3827 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3829 PKG_CHECK_MODULES(ZVBI,
3832 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3833 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3834 VLC_ADD_PLUGINS([zvbi])
3835 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3837 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3842 AS_IF( [test "${enable_telx}" = "yes"],[
3843 VLC_ADD_PLUGINS([telx])
3847 dnl asa/csri subtitle rendering module
3850 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3851 AS_IF( [test "${enable_csri}" = "yes"], [
3852 PKG_CHECK_MODULES(CSRI,
3855 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3856 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3857 VLC_ADD_PLUGINS([csri])
3859 AC_MSG_WARN([CSRI helper library not found])
3866 AC_ARG_ENABLE(asademux,
3867 [ --enable-asademux asa subtitle demuxing (default disabled)])
3868 AS_IF( [test "${enable_asademux}" = "yes"], [
3869 PKG_CHECK_MODULES(PCRE,
3872 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3873 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3874 VLC_ADD_PLUGINS([asademux])
3876 AC_MSG_WARN([PCRE library not found (required for asademux)])
3884 [ --enable-cmml CMML support (default enabled)])
3885 if test "${enable_cmml}" != "no"
3887 VLC_ADD_PLUGINS([cmml])
3895 AC_ARG_WITH(,[Video plugins:])
3898 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3899 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3900 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3901 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3902 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3904 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3905 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3910 #include <X11/Xlib.h>
3912 CPPFLAGS="${CPPFLAGS_save}"
3917 dnl (enabled by default except on win32)
3920 [ --enable-x11 X11 support (default enabled)])
3921 if test "${enable_x11}" != "no" &&
3922 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3923 test "${enable_x11}" = "yes"); then
3924 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3925 AC_CHECK_HEADERS(X11/Xlib.h, [
3926 VLC_ADD_PLUGINS([panoramix])
3927 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3928 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3929 AC_CHECK_LIB(Xext, XShmAttach, [
3930 VLC_ADD_PLUGINS([x11])
3931 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3932 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3935 CPPFLAGS="${CPPFLAGS_save}"
3940 dnl (enabled by default except on win32)
3942 AC_ARG_ENABLE(xvideo,
3943 [ --enable-xvideo XVideo support (default enabled)])
3944 if test "${enable_xvideo}" != "no" &&
3945 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3946 test "${enable_xvideo}" = "yes"); then
3947 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3948 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3949 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3950 AC_CHECK_LIB(Xv,XvPutImage,[
3951 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3952 # test for libXv_pic.
3953 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3954 VLC_ADD_PLUGINS([xvideo])
3955 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3956 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3958 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3959 VLC_ADD_PLUGINS([xvideo])
3960 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3961 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3963 VLC_ADD_BUILTINS([xvideo])
3964 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3965 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3969 CFLAGS="${CFLAGS_save}"
3971 CPPFLAGS="${CPPFLAGS_save}")
3976 dnl (enabled by default except on win32)
3979 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3980 if test "${enable_glx}" != "no" &&
3981 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3982 test "${enable_glx}" = "yes"); then
3983 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3984 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3985 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3986 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3990 VLC_ADD_PLUGINS([glx])
3991 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3992 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3993 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3994 CPPFLAGS="${CPPFLAGS_save}"
3999 dnl (disabled by default except on win32)
4002 [ --enable-xvmc XVMC support (default disabled)])
4003 if test "${enable_xvmc}" = "yes" &&
4004 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4005 test "${enable_xvmc}" = "yes"); then
4006 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4007 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4008 VLC_ADD_PLUGINS([xvmc])
4009 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4010 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4012 CPPFLAGS="${CPPFLAGS_save}"
4016 dnl Check for the Xinerama extension
4018 AC_ARG_ENABLE(xinerama,
4019 [ --enable-xinerama Xinerama support (default enabled)])
4020 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4021 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4022 test "${enable_xvideo}" = "yes"); then
4023 ac_cv_have_xinerama="no"
4024 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4025 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4026 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4027 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4028 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4029 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4030 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4031 ac_cv_have_xinerama="yes"
4033 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4034 VLC_ADD_LIBS([xvideo],[-lXinerama])
4035 VLC_ADD_LIBS([x11],[-lXinerama])
4036 VLC_ADD_LIBS([glx],[-lXinerama])
4037 ac_cv_have_xinerama="yes"
4041 if test "${ac_cv_have_xinerama}" = "yes"; then
4042 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4044 CFLAGS="${CFLAGS_save}"
4045 CPPFLAGS="${CPPFLAGS_save}"
4048 dnl Check for XF86VidMode extension
4050 ac_cv_have_xf86vidmode="no"
4051 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4052 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4053 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4054 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4055 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4056 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4057 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4058 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4059 ac_cv_have_xf86vidmode="yes"
4061 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4062 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4063 VLC_ADD_LIBS([x11],[-lXxf86vm])
4064 VLC_ADD_LIBS([glx],[-lXxf86vm])
4065 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4066 ac_cv_have_xf86vidmode="yes"
4070 [#ifdef HAVE_X11_XLIB_H
4071 # include <X11/Xlib.h>
4074 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4075 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4077 CFLAGS="${CFLAGS_save}"
4078 CPPFLAGS="${CPPFLAGS_save}"
4084 dnl (enabled by default except on beos)
4086 AC_ARG_ENABLE(opengl,
4087 [ --enable-opengl OpenGL support (default enabled)])
4088 if test "${enable_opengl}" != "no" &&
4089 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4090 if test "${SYS}" != "darwin"; then
4091 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4092 VLC_ADD_PLUGINS([opengl])
4093 if test "${SYS}" != "mingw32"; then
4094 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4096 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4100 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4101 VLC_ADD_PLUGINS([opengl])
4102 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4110 [ --enable-sdl SDL support (default enabled)])
4111 AC_ARG_ENABLE(sdl-image,
4112 [ --enable-sdl-image SDL image support (default enabled)])
4113 if test "${enable_sdl}" != "no"
4116 AC_ARG_WITH(sdl-config-path,
4117 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4118 [ if test "${with_sdl_config_path}" != "no"
4120 SDL_PATH="${with_sdl_config_path}:${PATH}"
4122 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4123 SDL_CONFIG="${SDL12_CONFIG}"
4124 SDL_HEADER="SDL12/SDL.h"
4125 SDL_IMAGE="SDL12/SDL_image.h"
4126 if test "${SDL_CONFIG}" = "no"
4128 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4129 SDL_CONFIG=${SDL11_CONFIG}
4130 SDL_HEADER="SDL11/SDL.h"
4131 SDL_IMAGE="SDL11/SDL_image.h"
4133 if test "${SDL_CONFIG}" = "no"
4135 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4136 SDL_HEADER="SDL/SDL.h"
4137 SDL_IMAGE="SDL/SDL_image.h"
4139 # check for cross-compiling
4141 AC_ARG_WITH(sdl-prefix,
4142 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4144 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4145 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4147 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4149 if test "${SDL_CONFIG}" != "no"
4151 # SDL on Darwin is heavily patched and can only run SDL_image
4152 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4153 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4155 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4156 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4157 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4158 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4159 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4160 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4161 As a last resort we also test for SDL.h presence),
4162 [ AC_MSG_ERROR([The development package for SDL is not installed.
4163 Please install it and try again. Alternatively you can also configure with
4166 AS_IF([ test "${enable_sdl_image}" != "no"],[
4167 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4168 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4169 VLC_ADD_PLUGINS([sdl_image])
4170 AC_CHECK_LIB(png, png_set_rows,
4171 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4172 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4173 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4174 AC_CHECK_LIB(tiff, TIFFClientOpen,
4175 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4176 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4177 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4178 As a last resort we also test for SDL_image.h presence),
4179 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4180 You should install it alongside your SDL package.])
4183 CPPFLAGS="${CPPFLAGS_save}"
4184 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4186 AC_MSG_ERROR([The development package for SDL is not installed.
4187 Please install it and try again. Alternatively you can also configure with
4191 elif test "${enable_sdl}" = "yes"
4193 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4194 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4202 AC_ARG_ENABLE(freetype,
4203 [ --enable-freetype freetype support (default enabled)])
4204 AC_ARG_ENABLE(fribidi,
4205 [ --enable-fribidi fribidi support (default enabled)])
4206 if test "${enable_freetype}" != "no"
4208 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4209 VLC_ADD_PLUGINS([freetype])
4211 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4212 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4213 if test "${SYS}" = "mingw32"; then
4214 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4216 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4217 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4218 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4219 AC_CHECK_HEADERS(Carbon/Carbon.h,
4220 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4223 AS_IF([ test "${enable_freetype}" = "yes"],[
4224 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4225 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4231 if test "${enable_fribidi}" != "no"
4233 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4234 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4235 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4243 AC_ARG_ENABLE(libxml2,
4244 [ --enable-libxml2 libxml2 support (default enabled)])
4245 if test "${enable_libxml2}" != "no"
4248 AC_ARG_WITH(xml2-config-path,
4249 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4250 [ if test "${with_xml2_config_path}" != "no"; then
4251 XML2_PATH="${with_xml2_config_path}:${PATH}"
4253 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4254 if test "${XML2_CONFIG}" != "no"; then
4255 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4256 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4257 dnl depends on the xmlTextReader extension
4258 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4259 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4260 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4261 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4262 VLC_ADD_PLUGINS([xml]) ],[
4263 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4264 if test "${enable_xml2}" = "yes"; then
4265 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4268 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4269 if test "${enable_xml2}" = "yes"; then
4270 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4272 LDFLAGS="${LDFLAGS_save}"
4273 CPPFLAGS="${CPPFLAGS_save}"
4275 if test "${enable_xml2}" = "yes"; then
4276 AC_MSG_ERROR([Could not find libxml2])
4285 [ --enable-svg SVG support (default disabled)])
4286 if test "${enable_svg}" = "yes"
4288 PKG_CHECK_MODULES(SVG,
4289 librsvg-2.0 >= 2.9.0,
4291 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4292 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4293 VLC_ADD_PLUGINS([svg]) ],
4294 [AC_MSG_WARN(SVG library not found)])
4298 dnl Snapshot vout module (with cache)
4300 AC_ARG_ENABLE(snapshot,
4301 [ --enable-snapshot snapshot module (default disabled)])
4302 if test "${enable_snapshot}" = "yes"
4304 VLC_ADD_PLUGINS([snapshot])
4308 dnl Qt Embedded module
4309 dnl (disabled by default)
4312 [ --enable-qte QT Embedded support (default disabled)])
4313 if test "${enable_qte}" = "yes"
4316 [ --with-qte=PATH Qt Embedded headers and libraries])
4317 if test "${with_qte}" != "no" -a -n "${with_qte}"
4319 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4320 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])
4322 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4323 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4325 VLC_ADD_PLUGINS([qte])
4327 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4328 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4329 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4331 CPPFLAGS="${CPPFLAGS_save}"
4335 dnl Qt Video output module
4336 dnl (disabled by default)
4338 dnl AC_ARG_ENABLE(qt_video,
4339 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4340 dnl if test "${enable_qt_video}" = "yes"
4342 dnl VLC_ADD_PLUGINS([qt_video])
4343 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4344 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4345 dnl AC_CHECK_LIB(qt-mt,main,[
4346 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4348 dnl AC_CHECK_LIB(qt,main,[
4349 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4352 dnl NEED_QTE_MAIN=yes
4353 dnl LDFLAGS="${LDFLAGS_save}"
4354 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4358 dnl Roku HD1000 Video output module
4360 AC_ARG_ENABLE(hd1000v,
4361 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4362 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4363 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4364 test "${enable_hd1000v}" = "yes"); then
4366 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4368 can_build_roku="yes"
4372 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4374 if test "$can_build_roku" = "yes"
4376 VLC_ADD_PLUGINS([hd1000v])
4377 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4383 dnl Windows DirectX module
4386 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4388 VLC_ADD_PLUGINS([panoramix])
4391 AC_ARG_ENABLE(directx,
4392 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4393 if test "${enable_directx}" != "no"
4395 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4397 AC_ARG_WITH(directx,
4398 [ --with-directx=PATH Win32 DirectX headers])
4399 if test -z "${with_directx}"
4401 AC_CHECK_HEADERS(ddraw.h,
4402 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4403 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4405 AC_CHECK_HEADERS(GL/gl.h,
4406 [ VLC_ADD_PLUGINS([glwin32])
4407 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4409 AC_CHECK_HEADERS(d3d9.h,
4410 [ VLC_ADD_PLUGINS([direct3d])
4411 VLC_ADD_LIBS([direct3d],[-lgdi32])
4414 AC_MSG_CHECKING(for directX headers in ${with_directx})
4415 if test -f ${with_directx}/ddraw.h
4417 VLC_ADD_PLUGINS([vout_directx aout_directx])
4418 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4419 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4423 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4430 dnl Linux framebuffer module
4433 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4434 if test "${enable_fb}" != "no"
4436 AC_CHECK_HEADERS(linux/fb.h, [
4437 VLC_ADD_PLUGINS([fb])
4442 dnl Linux MGA module
4445 [ --enable-mga Linux kernel Matrox support (default disabled)],
4446 [ if test "${enable_mga}" = "yes"
4448 VLC_ADD_PLUGINS([mga])
4454 AC_ARG_ENABLE(svgalib,
4455 [ --enable-svgalib SVGAlib support (default disabled)])
4456 if test "${enable_svgalib}" = "yes"
4458 VLC_ADD_PLUGINS([svgalib])
4459 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4464 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4465 dnl TODO: support for static linking
4467 AC_ARG_ENABLE(directfb,
4468 [ --enable-directfb DirectFB support (default disabled)])
4469 AC_ARG_WITH(directfb,
4470 [ --with-directfb=PATH path to DirectFB headers and libraries])
4472 if test "${enable_directfb}" = "yes"; then
4473 have_directfb="false"
4474 CPPFLAGS_mydirectfb=
4476 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4477 dnl Trying the given location
4478 CPPFLAGS_save="${CPPFLAGS}"
4481 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4482 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4483 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4485 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4486 LIBS="${LIBS} ${LIBS_new}"
4488 dnl FIXME: too obscure
4489 AC_CHECK_HEADER([directfb.h], [
4490 AC_CHECK_LIB([direct],[direct_initialize], [
4491 AC_CHECK_LIB([fusion], [fusion_enter], [
4492 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4493 ], have_directfb="false")
4494 ], have_directfb="false")
4495 ], have_directfb="false")
4498 CPPFLAGS="${CPPFLAGS_save}"
4501 if test "${have_directfb}" = "true"; then
4502 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4503 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4506 dnl Look for directfb-config
4507 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4508 if test "${DIRECTFB_CONFIG}" != "no"; then
4509 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4510 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4511 have_directfb="true"
4513 dnl Trying with pkg-config
4514 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4515 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4516 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4517 have_directfb="true"
4518 ], [have_directfb="false"])
4521 if test "${have_directfb}" = "true"; then
4522 VLC_ADD_PLUGINS([directfb])
4523 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4524 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4526 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4536 [ --enable-ggi GGI support (default disabled)])
4537 if test "${enable_ggi}" = "yes"
4539 VLC_ADD_PLUGINS([ggi])
4540 VLC_ADD_LIBS([ggi],[-lggi])
4542 [ --with-ggi=PATH path to libggi],
4543 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4545 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4546 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4553 AC_ARG_ENABLE(glide,
4554 [ --enable-glide Glide (3dfx) support (default disabled)])
4555 if test "${enable_glide}" = "yes"
4557 CFLAGS_save="${CFLAGS}"
4559 [ --with-glide=PATH path to libglide],
4560 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4562 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4563 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4564 CFLAGS="$CFLAGS -I${with_glide}/include"
4566 CFLAGS="$CFLAGS -I/usr/include/glide"
4567 AC_CHECK_HEADER(glide.h,[
4568 VLC_ADD_PLUGINS([glide])
4569 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4570 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4572 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4574 CFLAGS="${CFLAGS_save}"
4581 [ --enable-aa aalib output (default disabled)])
4582 if test "${enable_aa}" = "yes"
4584 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4585 if test "${have_aa}" = "true"
4587 VLC_ADD_PLUGINS([aa])
4588 VLC_ADD_LIBS([aa],[-laa])
4596 [ --enable-caca libcaca output (default disabled)])
4597 if test "${enable_caca}" = "yes"
4600 AC_ARG_WITH(caca-config-path,
4601 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4602 [ if test "${with_caca_config_path}" != "no"
4604 CACA_PATH="${with_caca_config_path}:${PATH}"
4606 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4607 if test "${CACA_CONFIG}" != "no"
4609 VLC_ADD_PLUGINS([caca])
4610 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4611 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4612 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4617 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4623 dnl win32 GDI plugin
4625 AC_ARG_ENABLE(wingdi,
4626 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4627 if test "${enable_wingdi}" != "no"; then
4628 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4629 VLC_ADD_PLUGINS([wingdi])
4630 VLC_ADD_LIBS([wingdi],[-lgdi32])
4632 if test "${SYS}" = "mingwce"; then
4633 VLC_ADD_PLUGINS([wingdi wingapi])
4641 AC_ARG_WITH(,[Audio plugins:])
4644 dnl OSS /dev/dsp module (enabled by default except on win32)
4647 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4649 if test "${enable_oss}" != "no" &&
4650 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4651 test "${enable_oss}" = "yes")
4653 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4654 VLC_ADD_PLUGINS([oss])
4655 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4663 [ --enable-esd Esound library support (default disabled)],
4664 [if test "${enable_esd}" = "yes"
4666 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4667 if test "${ESD_CONFIG}" != "no"
4669 VLC_ADD_PLUGINS([esd])
4670 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4671 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4676 dnl Pulseaudio module
4678 AC_ARG_ENABLE(pulse,
4679 [ --enable-pulse Pulseaudio support (default enabled)])
4680 if test "${enable_pulse}" != "no"
4682 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4683 [ VLC_ADD_PLUGINS([pulse])
4684 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4685 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4686 [AC_MSG_WARN(pulsaudio library not found)])
4690 dnl Portaudio module
4692 AC_ARG_ENABLE(portaudio,
4693 [ --enable-portaudio Portaudio library support (default disabled)],
4694 [if test "${enable_portaudio}" = "yes"
4696 VLC_ADD_PLUGINS([portaudio])
4697 VLC_ADD_CXXFLAGS([portaudio],[])
4698 if test "${SYS}" = "mingw32"; then
4699 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4701 VLC_ADD_LIBS([portaudio],[-lportaudio])
4706 dnl aRts module -- broken (freeze wxWidgets)
4709 [ --enable-arts aRts sound server (default disabled)],
4710 [if test "${enable_arts}" = "yes"
4712 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4713 if test "${ARTS_CONFIG}" != "no"
4715 VLC_ADD_PLUGINS([arts])
4716 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4717 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4725 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4726 if test "${enable_alsa}" != "no"
4728 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4729 if test "${have_alsa}" = "true"
4731 CFLAGS="${CFLAGS_save}"
4732 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4733 #define ALSA_PCM_NEW_SW_PARAMS_API
4734 #include <alsa/asoundlib.h>],
4735 [snd_pcm_hw_params_get_period_time(0,0,0);],
4736 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4737 VLC_ADD_PLUGINS([alsa])
4738 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4740 if test "${enable_alsa}" = "yes"; then
4741 AC_MSG_ERROR([Could not find ALSA development headers])
4747 dnl win32 waveOut plugin
4749 AC_ARG_ENABLE(waveout,
4750 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4751 if test "${enable_waveout}" != "no"; then
4752 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4753 VLC_ADD_PLUGINS([waveout])
4754 VLC_ADD_LIBS([waveout],[-lwinmm])
4756 if test "${SYS}" = "mingwce"; then
4757 VLC_ADD_PLUGINS([waveout])
4762 dnl CoreAudio plugin
4764 AC_ARG_ENABLE(macosx-audio,
4765 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4766 if test "${enable_macosx-audio}" != "no" &&
4767 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4769 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4770 [ VLC_ADD_BUILTINS([auhal])
4771 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4772 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4776 dnl Roku HD1000 audio
4778 AC_ARG_ENABLE(hd1000a,
4779 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4780 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4781 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4782 test "${enable_hd1000a}" = "yes")
4785 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4786 VLC_ADD_PLUGINS([hd1000a])
4787 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4795 [ --enable-jack JACK audio I/O modules (default disabled)],,
4798 AS_IF([test "${enable_jack}" != "no"], [
4799 AC_CHECK_HEADERS(jack/jack.h, [
4800 VLC_ADD_PLUGINS([access_jack jack])
4801 VLC_ADD_LIBS([access_jack jack],[-ljack])
4802 ],[AC_MSG_ERROR([cannot find JACK headers])])
4806 dnl CyberLink for C++ UPnP stack
4808 AC_ARG_ENABLE(cyberlink,
4809 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4810 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4811 AC_ARG_WITH(cyberlink-tree,
4812 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4815 dnl test for --with-cyberlink-tree
4817 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4819 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4820 AS_IF([test -z "${real_cyberlink_tree}"], [
4821 dnl The given directory can't be found
4823 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4825 CPPFLAGS_save="${CPPFLAGS}"
4826 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4827 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4828 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4829 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4830 VLC_ADD_PLUGINS([upnp_cc])
4832 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4834 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4835 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4836 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4837 dnl The mere fact that we have to make such an ugly check sucks
4838 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4841 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4842 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4843 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4844 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4845 using namespace CyberLink;
4847 class testclass : public SearchResponseListener, public MediaPlayer
4849 virtual void deviceSearchResponseReceived( SSDPPacket *)
4856 addSearchResponseListener (this);
4860 ],[testclass l;])],[LIBS_cclink="$l"])
4863 dnl should not happen - otherwise this needs fixing - hence FAILURE
4864 AS_IF([test "${LIBS_cclink}" = "no"],
4865 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4866 AC_MSG_RESULT([${LIBS_cclink}])
4867 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4870 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4872 CPPFLAGS="${CPPFLAGS_save}"
4878 dnl UPnP Plugin (Intel SDK)
4881 [ --enable-upnp Intel UPnP SDK (default enabled)])
4883 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4884 AS_IF([test "x${enable_upnp}" != "xno"], [
4885 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4886 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4887 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4889 AS_IF([test "${has_upnp}" = "yes"], [
4890 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4896 AS_IF([test "${has_upnp}" = "yes"], [
4897 VLC_ADD_PLUGINS([upnp_intel])
4902 dnl Interface plugins
4905 AC_ARG_WITH(,[Interface plugins:])
4907 dnl special case for BeOS
4908 if test "${SYS}" = "beos"
4910 VLC_ADD_BUILTINS([beos])
4916 AC_ARG_ENABLE(skins2,
4917 [ --enable-skins2 Skins2 interface module (default disabled)])
4918 if test "${enable_skins2}" = "yes" ||
4919 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4920 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4922 dnl test for the required libraries
4923 skins2_missing_lib="no"
4926 if test "${have_freetype}" != "yes"; then
4927 skins2_missing_lib="yes"
4928 if test "${enable_skins2}" = "yes"; then
4929 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4933 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4934 VLC_ADD_PLUGINS([skins2])
4935 ALIASES="${ALIASES} svlc"
4936 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4937 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4938 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4940 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4941 VLC_ADD_PLUGINS([skins2])
4942 ALIASES="${ALIASES} svlc"
4943 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4944 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4945 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4947 else if test "${skins2_missing_lib}" = "no"; then
4948 VLC_ADD_PLUGINS([skins2])
4949 ALIASES="${ALIASES} svlc"
4950 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4951 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4952 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4955 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
4960 dnl AC_ARG_ENABLE(gtk,
4961 dnl [ --enable-gtk Gtk+ support (default enabled)])
4962 dnl if test "${enable_gtk}" != "no"
4964 dnl GTK_PATH="${PATH}"
4965 dnl AC_ARG_WITH(gtk-config-path,
4966 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4967 dnl [ if test "${with_gtk_config_path}" != "no"
4969 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4971 dnl # look for gtk-config
4972 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4973 dnl GTK_CONFIG=${GTK12_CONFIG}
4974 dnl if test "${GTK_CONFIG}" = "no"
4976 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4978 dnl if test "${GTK_CONFIG}" != "no"
4980 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4982 dnl AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
4984 dnl if test "${SYS}" != "mingw32"; then
4985 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4986 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4988 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4989 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4991 dnl # now look for the gtk.h header
4992 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4993 dnl ac_cv_gtk_headers=yes
4994 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4995 dnl ac_cv_gtk_headers=no
4996 dnl echo "Cannot find gtk development headers."
4998 dnl if test "${ac_cv_gtk_headers}" = "yes"
5000 dnl VLC_ADD_PLUGINS([gtk])
5001 dnl if test "${SYS}" != "mingw32"; then
5002 dnl NEED_GTK_MAIN=yes
5004 dnl ALIASES="${ALIASES} gvlc"
5006 dnl CPPFLAGS="${CPPFLAGS_save}"
5011 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5013 dnl AC_ARG_ENABLE(gtk2,
5014 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5015 dnl if test "${enable_gtk2}" = "yes"
5017 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5018 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5019 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5020 dnl VLC_ADD_PLUGINS([gtk2])
5021 dnl if test "${SYS}" != "mingw32"; then
5022 dnl NEED_GTK2_MAIN=yes
5027 dnl PDA Gtk+2 module
5030 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5031 if test "${enable_pda}" = "yes"
5033 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5034 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5035 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5036 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5037 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5038 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5039 VLC_ADD_PLUGINS([pda])
5040 if test "${SYS}" != "mingw32"; then
5044 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5047 dnl dnl Gnome module
5049 dnl AC_ARG_ENABLE(gnome,
5050 dnl [ --enable-gnome Gnome interface support (default disabled)],
5051 dnl [if test "${enable_gnome}" = "yes"; then
5052 dnl # look for gnome-config
5053 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5054 dnl if test -x ${GNOME_CONFIG}
5056 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5057 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5059 dnl # now look for the gnome.h header
5060 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5061 dnl AC_CHECK_HEADERS(gnome.h, [
5062 dnl VLC_ADD_PLUGINS([gnome])
5063 dnl NEED_GTK_MAIN=yes
5064 dnl NEED_GNOME_MAIN=yes
5065 dnl ALIASES="${ALIASES} gnome-vlc"
5066 dnl dnl We need this because of some moronic gnomesupport.h flavours
5067 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5068 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5069 dnl AC_MSG_RESULT(yes)
5070 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5071 dnl Define if <gnome.h> defines strndup.)],[
5072 dnl AC_MSG_RESULT(no)])
5074 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5075 dnl developement tools or remove the --enable-gnome option])
5077 dnl CPPFLAGS="${CPPFLAGS_save}"
5081 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5083 dnl AC_ARG_ENABLE(gnome2,
5084 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5085 dnl if test "${enable_gnome2}" = "yes"
5087 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5088 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5089 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5090 dnl VLC_ADD_PLUGINS([gnome2])
5091 dnl if test "${SYS}" != "mingw32"; then
5092 dnl NEED_GNOME2_MAIN=yes
5097 dnl wxWidgets module
5099 AC_ARG_ENABLE(wxwidgets,
5100 [ --enable-wxwidgets wxWidgets support (default disabled)])
5102 if test "${enable_wxwidgets}" = "yes"
5104 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5105 WXWIDGETS_PATH="${PATH}"
5106 AC_ARG_WITH(wx-config-path,
5107 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5108 [ if test "${with_wx_config_path}" != "no"
5110 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5112 WXWIDGETS_NAME="wx-config"
5113 AC_ARG_WITH(wx-config,
5114 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5115 [ if test "${with_wx_config}" != "no"
5117 WXWIDGETS_NAME="${with_wx_config}"
5119 # look for wx-config
5120 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5121 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5123 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5125 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5129 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5130 # into a warning. However better would be to fix playlist.cpp
5131 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5132 [ac_cv_cxx_fpermissive],
5133 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5134 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5135 ac_cv_cxx_fpermissive=no)])
5136 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5137 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5139 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5140 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5141 # check if we must link against gtk2 libs
5142 # if __WXGTK20__ && __WXGTK__ are defined
5143 # for modules/gui/wxwidgets/video.cpp
5144 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5147 #error ok, we need to link against gtk2
5149 ])],[WXGTK=no],[WXGTK=yes])
5150 if test "$WXGTK" = "yes"; then
5151 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5153 if ${WX_CONFIG} --unicode
5155 # wxwidgets should provide the following flags but does not
5156 # the following is required to compile for win32
5157 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5159 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5161 if test "$have_libcdio" = "yes"
5163 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5164 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5166 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5169 if test "$have_libvcdinfo" = "yes"
5171 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5172 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5174 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5177 # now look for the wxprec.h header
5178 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5179 ac_cv_wx_headers=yes
5180 AC_CHECK_HEADERS(wx/wxprec.h, , [
5182 echo "Cannot find wxWidgets development headers."
5184 if test "${ac_cv_wx_headers}" = "yes"
5186 VLC_ADD_PLUGINS([wxwidgets])
5187 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5188 ALIASES="${ALIASES} wxvlc"
5190 CPPFLAGS="${CPPFLAGS_save}"
5193 dnl WxWidgets plugin will yield incorrect code without this
5194 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5202 [ --enable-qt4 QT 4 support (default enabled) ])
5203 AS_IF([test "${enable_qt4}" != "no" &&
5204 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5205 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5206 [ VLC_ADD_PLUGINS([qt4])
5207 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5208 ALIASES="${ALIASES} qvlc"
5210 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5211 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5213 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5215 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5216 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5217 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5218 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5220 AS_IF([test "${enable_qt4}" = "yes"],[
5221 AC_MSG_ERROR(QT4 library not found)
5223 AC_MSG_WARN(QT4 library not found)
5227 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5230 dnl WinCE GUI module
5232 AC_ARG_ENABLE(wince,
5233 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5234 if test "${enable_wince}" != "no"; then
5235 if test "${SYS}" = "mingwce"; then
5236 VLC_ADD_BUILTINS([wince])
5237 VLC_ADD_CXXFLAGS([wince],[])
5238 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5240 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5241 elif test "${SYS}" = "mingw32"; then
5242 VLC_ADD_CXXFLAGS([wince],[])
5243 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5245 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5250 dnl Simple test for skins2 dependency
5252 if test "${enable_skins2}" != "no"
5254 if test "${WX_CONFIG}" = "no"
5256 AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
5263 dnl AC_ARG_ENABLE(qt,
5264 dnl [ --enable-qt Qt interface support (default disabled)],
5265 dnl [if test "${enable_qt}" = "yes"; then
5266 dnl VLC_ADD_PLUGINS([qt])
5267 dnl ALIASES="${ALIASES} qvlc"
5268 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5269 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5270 dnl AC_CHECK_LIB(qt-mt,main,[
5271 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5273 dnl AC_CHECK_LIB(qt,main,[
5274 dnl VLC_ADD_LIBS([qt],[-lqt])
5277 dnl LDFLAGS="${LDFLAGS_save}"
5278 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5279 dnl if test -x ${QTDIR}/bin/moc
5281 dnl MOC=${QTDIR}/bin/moc
5290 dnl AC_ARG_ENABLE(kde,
5291 dnl [ --enable-kde KDE interface support (default disabled)],
5292 dnl [if test "${enable_kde}" = "yes"; then
5293 dnl VLC_ADD_PLUGINS([kde])
5294 dnl ALIASES="${ALIASES} kvlc"
5295 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5296 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5297 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5298 dnl AC_CHECK_LIB(kfile,main,[
5299 dnl VLC_ADD_LIBS([kde],[-lkfile])
5301 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5302 dnl AC_CHECK_LIB(kdeui,main,[
5303 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5305 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5306 dnl AC_CHECK_LIB(kio,main,[
5307 dnl VLC_ADD_LIBS([kde],[-lkio])
5309 dnl LDFLAGS="${LDFLAGS_save}"
5310 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5311 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5312 dnl if test -x ${QTDIR}/bin/moc
5314 dnl MOC=${QTDIR}/bin/moc
5321 dnl Opie QT embedded module
5324 [ --enable-opie Qt embedded interface support (default disabled)],
5325 [if test "${enable_opie}" = "yes"; then
5327 [ --with-qte=PATH Qt Embedded headers and libraries])
5328 if test "${with_qte}" != "no" -a -n "${with_qte}"
5330 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5331 VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
5333 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5334 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5336 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5337 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5338 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5340 CPPFLAGS="${CPPFLAGS_save}"
5342 VLC_ADD_PLUGINS([opie])
5344 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5345 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5346 if test "${with_qte}" != "no" -a -n "${with_qte}"
5348 MOC=${with_qte}/bin/moc
5350 MOC=${QTDIR}/bin/moc
5355 dnl MacOS X video output/gui modules
5357 AC_ARG_ENABLE(macosx,
5358 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5359 if test "x${enable_macosx}" = "xyes"
5361 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5362 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5363 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5364 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5365 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5366 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5367 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5368 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5369 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5370 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5371 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5373 # VLC_ADD_PLUGINS([access_eyetv])
5374 VLC_ADD_BUILTINS([macosx minimal_macosx])
5377 CFLAGS="$CFLAGS -x objective-c"
5378 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5386 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5387 if test "${enable_qnx}" != "no"
5389 AC_CHECK_HEADERS(Ph.h, [
5390 VLC_ADD_PLUGINS([qnx])
5391 VLC_ADD_LIBS([qnx],[-lasound -lph])
5398 AC_ARG_ENABLE(ncurses,
5399 [ --disable-ncurses ncurses interface support (default enabled)],
5400 [if test "${enable_ncurses}" != "no"; then
5401 AC_CHECK_HEADER(ncurses.h,
5402 [AC_CHECK_LIB(ncursesw, mvprintw,
5403 [VLC_ADD_PLUGINS([ncurses])
5404 VLC_ADD_LIBS([ncurses],[-lncursesw])
5405 ALIASES="${ALIASES} nvlc"
5406 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5407 AC_CHECK_LIB(ncursesw, tgetent, [],
5408 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5409 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5410 [AS_IF([test "x${enable_ncurses}" != "x"],
5411 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5417 [AC_CHECK_LIB( ncurses, mvprintw,
5418 [VLC_ADD_PLUGINS([ncurses])
5419 ALIASES="${ALIASES} nvlc"
5420 VLC_ADD_LIBS([ncurses],[-lncurses])
5421 AC_CHECK_LIB(ncurses, tgetent, [],
5422 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5423 [AS_IF([test "x${enable_ncurses}" != "x"],
5424 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5427 [AS_IF([test "x${enable_ncurses}" != "x"], [
5428 AC_MSG_ERROR([libncurses not found])])]
5439 [ --enable-xosd xosd interface support (default disabled)])
5440 if test "${enable_xosd}" = "yes"
5442 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5443 AC_CHECK_LIB(xosd,xosd_set_offset,
5444 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5445 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5446 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5447 AC_TRY_COMPILE([#include <xosd.h>],
5448 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5449 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5450 if test "${have_xosd}" = "true"
5452 VLC_ADD_PLUGINS([xosd])
5453 VLC_ADD_LIBS([xosd],[-lxosd])
5458 dnl Framebuffer (overlay) plugin
5460 AC_ARG_ENABLE(fbosd,
5461 [ --enable-fbosd fbosd interface support (default disabled)])
5462 if test "${enable_fbosd}" = "yes"
5464 AC_CHECK_HEADERS(linux/fb.h, [
5465 VLC_ADD_PLUGINS([fbosd])
5470 dnl Visualisation plugin
5472 AC_ARG_ENABLE(visual,
5473 [ --enable-visual visualisation plugin (default enabled)])
5474 if test "${enable_visual}" != "no"
5476 VLC_ADD_PLUGINS([visual])
5480 dnl OpenGL visualisation plugin
5482 AC_ARG_ENABLE(galaktos,
5483 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5484 if test "${enable_galaktos}" = "yes"
5486 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5487 VLC_ADD_PLUGINS([galaktos])
5488 if test "${SYS}" != "mingw32"; then
5489 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5491 VLC_ADD_LIBS([galaktos],[-lopengl32])
5497 dnl goom visualization plugin
5500 [ --enable-goom goom visualisation plugin (default disabled)])
5501 if test "${enable_goom}" = "yes"
5503 AC_ARG_WITH(goom-tree,
5504 [ --with-goom-tree=PATH goom tree for static linking (required)])
5507 dnl test for --with-goom-tree
5509 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5510 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5511 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5512 if test -z "${real_goom_tree}"; then
5513 dnl The given directory can't be found
5515 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5517 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5518 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5519 VLC_ADD_BUILTINS([goom])
5520 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5521 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5523 dnl The given libgoom2 wasn't built, try to look for the old goom
5525 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5526 if test -f "${real_goom_tree}/libgoom.a"; then
5527 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5528 VLC_ADD_BUILTINS([goom])
5529 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5530 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5532 dnl The given libgoom wasn't built
5534 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5538 AC_CHECK_HEADERS(goom/goom.h, [
5539 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5540 AC_CHECK_LIB(goom2, goom_init, [
5541 VLC_ADD_PLUGINS([goom])
5542 VLC_ADD_LIBS([goom],[-lgoom2])
5544 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5546 LDFLAGS="${LDFLAGS_save}"
5552 dnl AtmoLight (homebrew AmbiLight)
5554 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5556 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5557 if test "${enable_atmo}" != "no"; then
5559 VLC_ADD_PLUGINS([atmo])
5565 dnl Bonjour services discovery
5567 AC_ARG_ENABLE(bonjour,
5568 [ --enable-bonjour Bonjour services discovery (default enabled)])
5569 if test "${enable_bonjour}" != "no"
5571 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5572 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5573 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5574 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5575 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5576 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5577 VLC_ADD_PLUGINS([bonjour]) ],
5578 [AC_MSG_WARN(avahi-client library not found)])
5585 [ --enable-lirc lirc support (default disabled)])
5586 if test "${enable_lirc}" = "yes"
5588 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5589 if test "${have_lirc}" = "true"
5591 VLC_ADD_PLUGINS([lirc])
5592 VLC_ADD_LIBS([lirc],[-llirc_client])
5597 AC_ARG_WITH(,[Misc options:])
5602 AC_ARG_ENABLE(libgcrypt,
5603 [ --enable-libgcrypt libgcrypts support (default enabled)])
5605 GCRYPT_PATH="${PATH}"
5606 AC_ARG_WITH(libgcrypt-config-path,
5607 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5608 [ if test "${with_libgcrypt_config_path}" != "no"
5610 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5613 if test "${enable_libgcrypt}" != "no"
5615 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5616 dnl it and looks for libgcrypt headers in the wrong place.
5617 if test "${host_cpu}" = "${build_cpu}"
5619 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5621 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5624 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5625 AS_IF([test "${have_libgcrypt}" = "yes"],[
5626 # look for libgcrypt-config
5627 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5628 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5629 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5635 AC_ARG_ENABLE(gnutls,
5636 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5638 AS_IF([test "${enable_gnutls}" != "no"], [
5639 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5640 VLC_ADD_PLUGINS([gnutls])
5641 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5642 AS_IF([test "${SYS}" = "mingw32"], [
5643 dnl pkg-config --libs gnutls omits these
5644 VLC_ADD_LIBS([gnutls], [-lz])
5645 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5647 AS_IF([test "${have_libgcrypt}" = "yes"],[
5648 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5649 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5651 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5653 AS_IF([test "${enable_gnutls}" = "yes"], [
5654 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5660 dnl update checking system
5662 AC_ARG_ENABLE(update-check,
5663 [ --enable-update-check update checking system (default disabled)])
5664 if test "${enable_update_check}" = "yes"
5666 if test "${have_libgcrypt}" != "yes"
5668 AC_MSG_ERROR([libgcrypt is required for update checking system])
5670 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5671 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5672 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5676 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5678 dnl We give the user the opportunity to specify
5679 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5682 [ --with-words=endianness set endianness (big or little)])
5683 case "${with_words}" in
5685 ac_cv_c_bigendian=yes
5688 ac_cv_c_bigendian=no
5691 dnl Try to guess endianness by matching patterns on a compiled
5692 dnl binary, by looking for an ASCII or EBCDIC string
5693 AC_CACHE_CHECK([whether the byte order is big-endian],
5694 [ac_cv_c_bigendian],
5695 [ac_cv_c_bigendian="unknown"
5696 [cat >conftest.c <<EOF
5697 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5698 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5699 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5700 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5701 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5702 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5703 int main(void) { _a(); _e(); return 0; }
5706 if test -f conftest.c
5708 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5709 && test -f conftest.o
5711 if test "`strings conftest.o | grep BIGenDianSyS`"
5713 ac_cv_c_bigendian="yes"
5715 if test "`strings conftest.o | grep LiTTleEnDian`"
5717 ac_cv_c_bigendian="no"
5722 if test "${ac_cv_c_bigendian}" = "unknown"
5724 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5728 dnl Now we know what to use for endianness, just put it in the header
5729 if test "${ac_cv_c_bigendian}" = "yes"
5731 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5735 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5738 AC_ARG_ENABLE(loader,
5739 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5740 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5741 AS_IF([test "${enable_loader}" = "yes"],
5742 [ VLC_ADD_PLUGINS([dmo])
5743 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5744 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5745 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5746 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5747 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5748 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5751 AC_ARG_WITH(,[Components:])
5757 [ --enable-vlc build the VLC media player (default enabled)])
5758 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5761 dnl Microsoft ActiveX support
5764 AC_ARG_ENABLE(activex,
5765 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5766 AC_ARG_WITH(wine-sdk-path,
5767 [ --with-wine-sdk-path=PATH path to wine sdk])
5768 if test "${enable_activex}" != "no"
5770 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5772 AC_CHECK_PROGS(MIDL, [midl], no)
5773 if test "${with_wine_sdk_path}" != ""
5775 WINE_SDK_PATH=${with_wine_sdk_path}
5776 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5781 AC_CHECK_HEADERS(ole2.h,
5782 [AC_CHECK_HEADERS(olectl.h,
5783 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5784 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5785 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5786 AC_CHECK_HEADERS(objsafe.h,
5787 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5795 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5797 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5799 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5804 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5805 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5806 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5807 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5808 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5814 AC_ARG_ENABLE(mozilla,
5815 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5816 AC_ARG_WITH(mozilla-sdk-path,
5817 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5819 if test "${enable_mozilla}" = "yes"
5821 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5822 need_xpcom_libs=false
5824 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5826 dnl New firefox-1.5 SDK api
5827 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5829 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5832 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5835 PKG_CHECK_MODULES([NSPR], [nspr],
5838 AC_MSG_ERROR([Please install the nspr development tools.])
5844 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5845 MOZILLA_REQUIRED_HEADERS=1
5846 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5847 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5848 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5853 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5854 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5856 MOZILLA_REQUIRED_HEADERS=
5858 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5859 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5860 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5861 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5862 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5864 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5866 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5867 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5868 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
5870 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5871 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5872 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5873 VLC_ADD_PLUGINS([mozilla])
5875 CPPFLAGS="${CPPFLAGS_save}"
5878 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5879 if test "${MOZILLA_CONFIG}" = "no"
5881 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5882 if test "${SEAMONKEY_CONFIG}" = "no"
5884 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5885 if test "${XULRUNNER_CONFIG}" = "no"
5887 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5890 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5893 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5898 if test ! -z "${MOZILLA_CONFIG}"
5900 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5901 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5902 AC_CHECK_LIB(Xt,XtStrings,
5904 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5905 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5908 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5910 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5911 LDFLAGS="${LDFLAGS_save}"
5915 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5916 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5917 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5918 if ${need_xpcom_libs}; then
5919 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5921 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5923 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5924 MOZILLA_REQUIRED_HEADERS=1
5925 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5926 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5927 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5932 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5934 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5936 MOZILLA_REQUIRED_HEADERS=
5937 CPPFLAGS="${CPPFLAGS_save}"
5938 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5940 dnl End of moz_sdk = ""
5942 dnl special case for mingw32
5943 if test "${SYS}" = "mingw32"
5945 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5946 dnl latest gecko sdk does not have an xpcom directory
5947 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5948 mozilla_sdk_xpcom="/xpcom"
5952 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5953 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5954 MOZILLA_REQUIRED_HEADERS=1
5955 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5956 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5957 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5962 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5964 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5966 MOZILLA_REQUIRED_HEADERS=
5968 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5969 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])
5970 if ${need_xpcom_libs}; then
5971 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])
5972 if test "${SYS}" = "mingw32"; then
5973 dnl latest gecko sdk does not have embedstring
5974 if test -d "${real_mozilla_sdk}/embedstring/bin"
5976 VLC_ADD_LIBS([mozilla],[-lembedstring])
5980 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5982 if test -n "${CYGPATH}"; then
5983 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5985 CPPFLAGS="${CPPFLAGS_save}"
5989 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5991 dnl Tests for Osso and Xsp
5992 if test "${enable_x11}" != "no" &&
5993 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5994 test "${enable_x11}" = "yes"); then
5995 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5996 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5997 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5998 VLC_ADD_LIBS([x11],[-losso])
6001 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6002 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
6003 VLC_ADD_LIBS([x11],[-lXsp])
6008 dnl Mediacontrol Python bindings
6010 AC_ARG_ENABLE(python-bindings,
6011 [ --enable-python-bindings Enable Python bindings (default disabled)])
6013 if test "${enable_python_bindings}" = "yes"; then
6014 AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
6015 CFLAGS="${CFLAGS_save} `${PYTHON_CONFIG} --cflags`"
6016 AC_CHECK_HEADER([Python.h],
6017 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python",
6018 AC_MSG_ERROR([You have to install python-dev to build the bindings]),
6021 CFLAGS="${CFLAGS_save}"
6023 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
6028 AC_ARG_ENABLE(java-bindings,
6029 [ --enable-java-bindings Enable Java bindings (default disabled)])
6030 if test "${enable_java_bindings}" = "yes"
6033 echo "****** WARNING **** WARNING ***** WARNING *************"
6034 echo "*** To compile the java bindings go to the "
6035 echo "*** bindings/java folder and run mvn install. "
6036 echo "*** You need maven2 installed. "
6037 echo "*** This configuration will continue, so you will be "
6038 echo "*** able to compile VideoLAN as usual. "
6039 echo "*******************************************************"
6046 AC_ARG_ENABLE(testsuite,
6047 [ --enable-testsuite build test modules (default disabled)])
6048 if test "${enable_testsuite}" = "yes"
6050 TESTS="test1 test2 test3 test4"
6052 dnl we define those so that bootstrap sets the right linker
6053 VLC_ADD_CXXFLAGS([test2],[])
6054 VLC_ADD_OBJCFLAGS([test3],[])
6055 dnl this one is needed until automake knows what to do
6056 VLC_ADD_LIBS([test3],[-lobjc])
6058 VLC_ADD_PLUGINS([${TESTS}])
6062 dnl Microsoft Layer for Unicode for WIN9x/ME
6064 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6066 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6067 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6074 if test "${NEED_GTK_MAIN}" != "no"
6076 VLC_ADD_PLUGINS([gtk_main])
6077 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6078 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6081 if test "${NEED_GNOME_MAIN}" != "no"
6083 VLC_ADD_PLUGINS([gnome_main])
6084 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6085 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6088 if test "${NEED_GTK2_MAIN}" != "no"
6090 VLC_ADD_PLUGINS([gtk2_main])
6091 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6092 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6093 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6094 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6097 if test "${NEED_GNOME2_MAIN}" != "no"
6099 VLC_ADD_PLUGINS([gnome2_main])
6100 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6101 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6107 if test "${NEED_QTE_MAIN}" != "no"
6109 VLC_ADD_PLUGINS([qte_main])
6110 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6111 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6112 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6117 dnl Plugin and builtin checks
6121 dnl Automagically disable plugins if there is no system support for
6122 dnl dynamically loadable files (.so, .dll, .dylib).
6123 dnl don't forget vlc-win32 still can load .dll as plugins
6124 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6125 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6129 AS_IF([test "${enable_shared}" = "no"], [
6133 AS_IF([test "${plugin_support}" != "no"], [
6134 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6136 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6138 dnl Temporary(?) hack for plugins/builtins transition
6139 VLC_ADD_PLUGINS([${BUILTINS}])
6143 dnl Pic and shared libvlc stuff
6145 AS_IF([test "${SYS}" = "mingw32"], [
6146 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6147 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6151 dnl Stuff used by the program
6153 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6154 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6155 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6156 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6157 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6158 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6159 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6160 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6161 AC_SUBST(VERSION_MAJOR)
6162 AC_SUBST(VERSION_MINOR)
6163 AC_SUBST(VERSION_REVISION)
6164 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6165 if test "${build_os}" = "cygwin"
6167 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6169 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6171 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6172 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6175 dnl Handle substvars that use $(top_srcdir)
6177 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6178 AC_SUBST(VLC_CONFIG)
6179 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6187 dnl Create the vlc-config script
6189 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6192 dnl Configuration is finished
6202 AC_SUBST(MOZILLA_SDK_PATH)
6203 AC_SUBST(WINE_SDK_PATH)
6205 AC_SUBST(AM_CPPFLAGS)
6206 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6207 AC_SUBST(FILE_LIBVLC_DLL)
6208 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6210 dnl Create vlc-config.in
6211 VLC_OUTPUT_VLC_CONFIG_IN
6214 extras/package/win32/vlc.win32.nsi
6216 projects/activex/Makefile
6217 projects/activex/axvlc.inf
6219 bindings/python/Makefile
6221 extras/package/ipkg/Makefile
6222 libs/loader/Makefile
6225 projects/mozilla/Makefile
6234 modules/access/Makefile
6235 modules/access/bda/Makefile
6236 modules/access/dshow/Makefile
6237 modules/access/dvb/Makefile
6238 modules/access/mms/Makefile
6239 modules/access/cdda/Makefile
6240 modules/access/rtsp/Makefile
6241 modules/access/rtmp/Makefile
6242 modules/access/v4l2/Makefile
6243 modules/access/vcd/Makefile
6244 modules/access/vcdx/Makefile
6245 modules/access/screen/Makefile
6246 modules/access_filter/Makefile
6247 modules/access_output/Makefile
6248 modules/audio_filter/Makefile
6249 modules/audio_filter/channel_mixer/Makefile
6250 modules/audio_filter/converter/Makefile
6251 modules/audio_filter/resampler/Makefile
6252 modules/audio_filter/spatializer/Makefile
6253 modules/audio_mixer/Makefile
6254 modules/audio_output/Makefile
6255 modules/codec/Makefile
6256 modules/codec/cmml/Makefile
6257 modules/codec/dmo/Makefile
6258 modules/codec/ffmpeg/Makefile
6259 modules/codec/subtitles/Makefile
6260 modules/codec/spudec/Makefile
6261 modules/codec/xvmc/Makefile
6262 modules/control/Makefile
6263 modules/control/http/Makefile
6264 modules/demux/Makefile
6265 modules/demux/asf/Makefile
6266 modules/demux/avi/Makefile
6267 modules/demux/mp4/Makefile
6268 modules/demux/mpeg/Makefile
6269 modules/demux/playlist/Makefile
6270 modules/gui/Makefile
6271 modules/gui/beos/Makefile
6272 modules/gui/pda/Makefile
6273 modules/gui/macosx/Makefile
6274 modules/gui/minimal_macosx/Makefile
6275 modules/gui/qnx/Makefile
6276 modules/gui/qt4/Makefile
6277 modules/gui/skins2/Makefile
6278 modules/gui/wxwidgets/Makefile
6279 modules/gui/wince/Makefile
6280 modules/meta_engine/Makefile
6281 modules/misc/Makefile
6282 modules/misc/dummy/Makefile
6283 modules/misc/lua/Makefile
6284 modules/misc/memcpy/Makefile
6285 modules/misc/notify/Makefile
6286 modules/misc/testsuite/Makefile
6287 modules/misc/playlist/Makefile
6288 modules/misc/osd/Makefile
6289 modules/misc/xml/Makefile
6290 modules/misc/probe/Makefile
6291 modules/mux/Makefile
6292 modules/mux/mpeg/Makefile
6293 modules/mux/rtp/Makefile
6294 modules/packetizer/Makefile
6295 modules/services_discovery/Makefile
6296 modules/stream_out/Makefile
6297 modules/stream_out/transrate/Makefile
6298 modules/video_chroma/Makefile
6299 modules/video_filter/Makefile
6300 modules/video_filter/atmo/Makefile
6301 modules/video_filter/dynamicoverlay/Makefile
6302 modules/video_output/Makefile
6303 modules/video_output/msw/Makefile
6304 modules/video_output/qte/Makefile
6305 modules/video_output/x11/Makefile
6306 modules/visualization/Makefile
6307 modules/visualization/visual/Makefile
6308 modules/visualization/galaktos/Makefile
6311 dnl Generate makefiles
6314 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6315 # not provided with the source
6316 ${SHELL} ./config.status --file=vlc-config
6317 chmod 0755 vlc-config
6319 dnl echo "Enabled builtin modules :"
6320 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6322 dnl echo "Enabled plugin modules :"
6323 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6325 dnl Shortcut to nice compile message
6327 echo '#! /bin/sh' >compile
6328 echo rm -f .error\$\$ >>compile
6329 echo ERROR=0 >>compile
6330 echo export PATH=$PATH LANG=C >>compile
6331 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6332 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6333 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6334 echo rm -f .error\$\$ >>compile
6335 echo exit \$ERROR >>compile
6339 libvlc configuration
6340 --------------------
6341 version : ${VERSION}
6343 architecture : ${ARCH}
6345 test "${enable_debug}" = "yes" && printf "debug "
6346 test "${enable_cprof}" = "yes" && printf "cprof "
6347 test "${enable_gprof}" = "yes" && printf "gprof "
6348 test "${enable_optimizations}" = "yes" && printf "optim "
6349 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6351 if test "${enable_vlc}" != "no"; then
6352 echo "vlc aliases :${ALIASES}"
6354 echo "build vlc executable : no"
6356 echo "plugins/bindings :${PLUGINS_BINDINGS}
6358 You can check which modules have been enabled
6359 with \`./vlc-config --list plugin'.
6360 You can tune the compiler flags in vlc-config.
6361 To build vlc and its plugins, type \`./compile' or \`make'.
6363 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6365 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6367 echo " FFmpeg will be REALLY slow."
6368 echo " VLC WILL NOT PERFORM AS EXPECTED."