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"
226 if test ".`uname -p`" = ".i386"; then
227 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
228 dnl without hacking it a lot, we disable mmx and sse.
229 dnl (that bug is about ld being unable to handle
231 save_cflags="$CFLAGS"
232 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
234 [int a;], [asm("movq _a,%mm0\n");],
235 ac_ld_does_not_support_text_reloc=no,
236 ac_ld_does_not_support_text_reloc=yes)
237 CFLAGS="$save_cflags"
239 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
241 echo " Assuming --disable-mmx (due to a bug in ld)"
243 echo " Assuming --disable-sse (due to a bug in ld)"
247 dnl Check for Mac OS X SDK settings
249 AC_ARG_WITH(macosx-sdk,
250 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
251 if test "${with_macosx_sdk}" != "" ; then
252 CC="${CC} -isysroot ${with_macosx_sdk}"
253 CXX="${CXX} -isysroot ${with_macosx_sdk}"
254 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
255 LD="${LD} -syslibroot ${with_macosx_sdk}"
257 AC_ARG_WITH(macosx-version-min,
258 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
259 if test "${with_macosx_version_min}" != "" ; then
260 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
261 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
262 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
263 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
264 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
265 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
266 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
267 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
268 export MACOSX_DEPLOYMENT_TARGET
271 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
272 AC_CHECK_TOOL(WINDRES, windres, :)
275 *wince* | *mingwce* | *mingw32ce* | *pe*)
282 dnl Check if we are using the mno-cygwin mode in which case we are
283 dnl actually dealing with a mingw32 compiler.
288 SYS=mingw32, SYS=cygwin)
292 if test "${SYS}" = "mingw32"; then
293 # add ws2_32 for closesocket, select, recv
294 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
295 VLC_ADD_LDFLAGS([vlc],[-mwindows])
296 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
297 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
298 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])
300 if test "${SYS}" = "mingwce"; then
301 # add ws2 for closesocket, select, recv
302 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
303 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
304 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])
305 VLC_ADD_LIBS([libvlc],[-lmmtimer])
310 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
314 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
315 # Perhaps it is useful other places as well?
316 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
323 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
324 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
325 VLC_ADD_CXXFLAGS([beos],[])
326 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
327 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
328 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
329 VLC_ADD_LIBS([access_file],[-lpoll])
330 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
332 if test -f /boot/beos/system/lib/libbind.so; then
333 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket])
335 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet])
338 dnl Ugly check for Zeta
339 if test -f /boot/beos/system/lib/libzeta.so; then
340 VLC_ADD_LIBS([beos],[-lzeta])
347 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
348 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
349 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
350 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
353 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
354 dnl for program foo on win32
356 case "${build_os}" in
358 ac_executable_extensions=".exe"
366 dnl It's very bad, but our former custom system was worst
370 dnl override platform specific check for dependent libraries
371 dnl otherwise libtool linking of shared libraries will
372 dnl fail on anything other than pass_all.
373 AC_CACHE_VAL(lt_cv_deplibs_check_method,
374 [lt_cv_deplibs_check_method=pass_all])
377 AC_DISABLE_FAST_INSTALL
380 m4_undefine([AC_PROG_F77])
381 m4_defun([AC_PROG_F77],[])
384 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
385 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
387 lt_cv_deplibs_check_method=pass_all
393 AM_GNU_GETTEXT_VERSION([0.17])
394 AM_GNU_GETTEXT([external])
395 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
401 AS_IF([test "$am_cv_func_iconv" != "yes"],
402 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
403 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
404 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
406 dnl Check for the need to include the mingwex lib for mingw32
407 if test "${SYS}" = "mingw32"
409 AC_CHECK_LIB(mingwex,opendir,
410 AC_CHECK_LIB(mingw32,opendir,,
411 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
415 dnl Check for fnative-struct or mms-bitfields support for mingw32
416 if test "${SYS}" = "mingw32"
418 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
419 [ac_cv_c_mms_bitfields],
420 [CFLAGS="${CFLAGS_save} -mms-bitfields"
421 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
422 if test "${ac_cv_c_mms_bitfields}" != "no"; then
423 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
424 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
426 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
427 [ac_cv_c_fnative_struct],
428 [CFLAGS="${CFLAGS_save} -fnative-struct"
429 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
430 if test "${ac_cv_c_fnative_struct}" != "no"; then
431 CFLAGS_save="${CFLAGS_save} -fnative-struct";
432 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
436 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
439 dnl Check for fvtable-thunks support for mingw32
440 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
443 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
444 [ac_cv_cxx_fvtable_thunks],
445 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
446 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
447 ac_cv_cxx_fvtable_thunks=no)])
448 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
449 CXXFLAGS_mingw32_special="-fvtable-thunks"
452 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
456 dnl Plugin compilation stuff
460 dnl The -DSYS_FOO flag
461 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
463 dnl Check for system libs needed
466 dnl Check for usual libc functions
467 AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid_r 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])
468 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
469 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
470 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
473 AH_BOTTOM([#include <vlc_fixups.h>])
475 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
477 dnl Check for setlocal and langinfo
478 AC_CHECK_FUNCS(setlocale)
479 AC_CHECK_HEADERS(langinfo.h)
480 AC_CHECK_FUNCS(nl_langinfo)
482 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
483 [AC_TRY_LINK([#include <langinfo.h>],
484 [char* cs = nl_langinfo(CODESET);],
485 ac_cv_langinfo_codeset=yes,
486 ac_cv_langinfo_codeset=no)
488 if test ${ac_cv_langinfo_codeset} = yes; then
489 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
490 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
493 AC_CHECK_FUNCS(connect,,[
494 AC_CHECK_LIB(socket,connect,[
495 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
496 LIBS_socket="-lsocket"
500 AC_CHECK_FUNCS(send,,[
501 AC_CHECK_LIB(socket,send,[
502 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])
506 AC_CHECK_FUNCS(gethostbyname,,[
507 AC_CHECK_LIB(nsl,gethostbyname,[
508 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
510 AC_CHECK_LIB(bind,gethostbyname,[
511 VLC_ADD_LIBS([access_mms],[-lbind])
516 AC_CHECK_HEADERS(zlib.h, [
517 VLC_ADD_LIBS([access_http],[-lz])
520 dnl Check for socklen_t
521 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
522 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
523 ac_cv_type_socklen_t,
524 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
525 [#include <sys/types.h>
527 # include <winsock2.h>
528 # include <ws2tcpip.h>
530 # include <sys/socket.h>
531 #endif]], [[socklen_t len; len = 0;]])],
532 ac_cv_type_socklen_t=yes,
533 ac_cv_type_socklen_t=no)])
534 AS_IF([test "$ac_cv_type_socklen_t" = no],
535 [AC_DEFINE(socklen_t, int)])
537 dnl Check for struct sockaddr_storage
538 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
539 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
540 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
542 [#include <sys/types.h>
543 #if defined( UNDER_CE )
544 # include <winsock.h>
545 #elif defined( WIN32 )
546 # include <winsock2.h>
548 # include <sys/socket.h>
549 #endif], [struct sockaddr_storage addr;],
550 ac_cv_struct_sockaddr_storage=yes,
551 ac_cv_struct_sockaddr_storage=no)])
552 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
553 AC_DEFINE(sockaddr_storage, sockaddr)
554 AC_DEFINE(ss_family, sa_family)
557 dnl getaddrinfo, getnameinfo and gai_strerror check
558 dnl -lnsl and -lsocket are needed on Solaris;
559 dnl we purposedly make the test fail on Windows
561 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
562 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
564 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
567 AC_CHECK_FUNCS([getnameinfo gai_strerror])
570 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
571 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
572 [#include <sys/types.h>
573 #if defined( WIN32 ) || defined( UNDER_CE )
574 # if defined(UNDER_CE) && defined(sockaddr_storage)
575 # undef sockaddr_storage
577 # include <winsock2.h>
578 # include <ws2tcpip.h>
583 dnl Check for va_copy
584 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
586 [#include <stdarg.h>],
587 [va_list ap1, ap2; va_copy(ap1,ap2);],
588 [ac_cv_c_va_copy="yes"],
589 [ac_cv_c_va_copy="no"]))
590 if test "${ac_cv_c_va_copy}" = "yes"; then
591 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
593 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
595 [#include <stdarg.h>],
596 [va_list ap1, ap2; __va_copy(ap1,ap2);],
597 [ac_cv_c___va_copy="yes"],
598 [ac_cv_c___va_copy="no"]))
599 if test "${ac_cv_c___va_copy}" = "yes"; then
600 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
603 AC_CHECK_FUNCS(inet_aton,,[
604 AC_CHECK_LIB(resolv,inet_aton,[
605 VLC_ADD_LIBS([libvlc],[-lresolv])
609 dnl Check for getopt (always use builtin one on win32)
610 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
614 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
615 [ # FreeBSD has a gnugetopt library for this:
616 AC_CHECK_LIB([gnugetopt],[getopt_long],
617 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
618 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
621 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
623 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
626 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
629 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])
631 AC_CHECK_LIB(m,sqrt,[
632 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
634 AC_CHECK_LIB(m,ceil,[
635 VLC_ADD_LIBS([mosaic],[-lm])
638 VLC_ADD_LIBS([gaussianblur],[-lm])
640 AC_CHECK_LIB(m,round,[
641 VLC_ADD_LIBS([dbus],[-lm])
643 AC_CHECK_LIB(mx,sqrtf,[
644 VLC_ADD_LIBS([x264],[-lmx])
646 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
648 dnl Check for dynamic plugins
649 ac_cv_have_plugins=no
652 AC_CHECK_HEADERS(mach-o/dyld.h,
653 [AC_CHECK_FUNCS(NSLinkModule,
654 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
655 ac_cv_have_plugins=yes])])
658 if test "${ac_cv_have_plugins}" = "no"; then
659 AC_CHECK_HEADERS(dl.h)
660 ac_cv_my_have_shl_load=no
661 AC_CHECK_FUNC(shl_load,
662 [ac_cv_my_have_shl_load=yes,
663 AC_CHECK_LIB(dld, shl_load,
664 [ac_cv_my_have_shl_load=yes
665 VLC_ADD_LIBS([libvlc],[-ldld])])])
666 if test "${ac_cv_my_have_shl_load}" = "yes"; then
667 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
668 ac_cv_have_plugins=yes
673 if test "${ac_cv_have_plugins}" = "no"; then
674 AC_CHECK_LIB(dld, dld_link,
675 [VLC_ADD_LIBS([libvlc],[-ldld])
676 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
677 ac_cv_have_plugins=yes])
681 if test "${ac_cv_have_plugins}" = "no"; then
682 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
683 AC_CHECK_LIB(kernel32, main,
684 [VLC_ADD_LIBS([libvlc],[-lkernel32])
685 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
686 ac_cv_have_plugins=yes])
691 if test "${ac_cv_have_plugins}" = "no"; then
692 if test "${SYS}" = "mingwce"; then
693 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
694 ac_cv_have_plugins=yes
699 if test "${ac_cv_have_plugins}" = "no"; then
700 AC_CHECK_HEADERS(image.h)
701 AC_CHECK_FUNCS(load_add_on,
702 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
703 ac_cv_have_plugins=yes])
706 # Only test for dlopen() if the others didn't work
707 if test "${ac_cv_have_plugins}" = "no"; then
708 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
709 ac_cv_my_have_dlopen=no
710 AC_CHECK_FUNC(dlopen,
711 ac_cv_my_have_dlopen=yes,
712 AC_CHECK_LIB(dl, dlopen,
713 ac_cv_my_have_dlopen=yes
714 VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
715 AC_CHECK_LIB(svld, dlopen,
716 ac_cv_my_have_dlopen=yes
717 VLC_ADD_LIBS([libvlc],[-lsvld]))))
718 if test "${ac_cv_my_have_dlopen}" = "yes"; then
719 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
720 ac_cv_have_plugins=yes
724 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
725 dnl Check for pthreads - borrowed from XMMS
727 if test "${THREAD_LIB}" = "error"; then
728 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
730 if test "${THREAD_LIB}" = "error"; then
731 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
733 if test "${THREAD_LIB}" = "error"; then
734 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
736 if test "${THREAD_LIB}" = "error"; then
737 AC_CHECK_FUNCS(pthread_mutex_lock)
741 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
743 AC_CHECK_LIB(rt, clock_nanosleep, [
744 VLC_ADD_LIBS([libvlc],[-lrt])
745 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
748 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
752 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
753 AC_CHECK_LIB(rt,nanosleep,
754 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
755 [AC_CHECK_LIB(posix4,nanosleep,
756 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
759 if ${have_nanosleep}; then
760 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
762 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
764 dnl Check for misc headers
765 AC_MSG_CHECKING(for strncasecmp in strings.h)
766 AC_EGREP_HEADER(strncasecmp,strings.h,[
768 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
769 Define if <strings.h> defines strncasecmp.)],[
772 dnl Check for headers
773 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)
774 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
775 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h])
776 AC_CHECK_HEADERS([net/if.h], [], [],
778 #include <sys/socket.h>
780 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
781 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
782 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
783 AC_CHECK_HEADERS(syslog.h)
784 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
788 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
789 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
790 AC_CHECK_TYPE(ssize_t,, [
791 AC_DEFINE(ssize_t, int)
794 dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
795 if test "${SYS}" != "darwin"; then
796 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
801 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
802 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
804 dnl Mac OS X and other OSes don't have declaration for nanosleep
805 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
806 AC_MSG_CHECKING(for nanosleep in time.h)
807 AC_EGREP_HEADER(nanosleep,time.h,[
809 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
810 Define if <time.h> defines nanosleep.)
814 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
816 dnl Make sure we have timespecs
817 AC_MSG_CHECKING(for timespec in sys/time.h)
818 AC_EGREP_HEADER(timespec,sys/time.h,[
820 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
821 Define if <sys/time.h> defines struct timespec.)
826 dnl Check for threads library
827 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
828 AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
829 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
831 dnl Find where are the X headers and libraries
834 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.
836 PKG_PROG_PKG_CONFIG()
840 [ --enable-hal Linux HAL services discovery (default enabled)])
842 if test "${enable_hal}" != "no"
844 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
845 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
846 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
847 VLC_ADD_PLUGIN([hal])
848 VLC_ADD_PLUGIN([probe_hal])
849 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
850 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
851 dnl No hal 0.5 Test for 0.2
852 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
853 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
854 VLC_ADD_PLUGIN([hal])
855 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
856 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
857 [AC_MSG_WARN(HAL library not found)])
864 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
867 if test "${enable_dbus}" != "no"
870 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
871 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
872 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
873 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
874 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
875 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
876 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
877 dnl Check for dbus control interface
878 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
879 if test "${enable_dbus_control}" != "no"
881 VLC_ADD_PLUGIN([dbus])
882 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
883 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
885 dnl Check for Telepathy
886 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
887 if test "${enable_telepathy}" != "no"; then
888 VLC_ADD_PLUGIN([telepathy])
889 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
890 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
892 dnl Power Management Inhibiter
893 VLC_ADD_PLUGIN([inhibit])
894 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
895 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
897 if ${PKG_CONFIG} --exists dbus-1
899 [AC_ARG_ENABLE(old-dbus,
900 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
902 if test "${enable_old_dbus}" != "yes"
905 echo "****** WARNING **** WARNING ***** WARNING *************"
906 echo "*** Your D-Bus version is < 1.0.0"
907 echo "*** You are using old and buggy software and so"
908 echo "*** D-Bus support has been disabled."
909 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
910 echo "*** Alternatively you can force the use of your old and"
911 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
912 echo "*******************************************************"
916 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
917 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
918 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
919 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
920 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
921 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
923 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
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,
930 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
931 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
932 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
933 [AC_MSG_WARN(DBUS library not found)])
944 dnl Build the gtk_main plugins?
950 dnl build the qte plugin ?
953 dnl Check for ntohl, etc.
954 AC_CACHE_CHECK([for ntohl in sys/param.h],
955 [ac_cv_c_ntohl_sys_param_h],
956 [CFLAGS="${CFLAGS_save} -Wall -Werror"
957 AC_TRY_COMPILE([#include <sys/param.h>],
958 [int meuh; ntohl(meuh);],
959 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
960 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
961 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
963 CFLAGS="${CFLAGS_save}"
965 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
966 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
968 dnl Check for various optimization flags
969 AC_CACHE_CHECK([if \$CC accepts -Os],
971 [CFLAGS="${CFLAGS_save} -Os"
972 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
973 if test "${ac_cv_c_os}" != "no"; then
974 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
976 AC_CACHE_CHECK([if \$CC accepts -O],
978 [CFLAGS="${CFLAGS_save} -O"
979 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
980 if test "${ac_cv_c_o}" != "no"; then
981 if test "${ac_cv_c_o3}" = "no"; then
982 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
987 AC_CACHE_CHECK([if \$CC accepts -O3],
989 [CFLAGS="${CFLAGS_save} -O3"
990 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
991 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
992 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
994 AC_CACHE_CHECK([if \$CC accepts -O2],
996 [CFLAGS="${CFLAGS_save} -O2"
997 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
998 if test "${ac_cv_c_o2}" != "no"; then
999 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1001 AC_CACHE_CHECK([if \$CC accepts -O],
1003 [CFLAGS="${CFLAGS_save} -O"
1004 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1005 if test "${ac_cv_c_o}" != "no"; then
1006 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1011 AC_CACHE_CHECK([if \$CC accepts -O0],
1013 [CFLAGS="${CFLAGS_save} -O0"
1014 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1015 if test "${ac_cv_c_o0}" != "no"; then
1016 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1019 dnl Check for -ffast-math
1020 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1021 [ac_cv_c_fast_math],
1022 [CFLAGS="${CFLAGS_save} -ffast-math"
1023 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1024 if test "${ac_cv_c_fast_math}" != "no"; then
1025 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1028 dnl Check for -funroll-loops
1029 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1030 if test "${SYS}" != "beos"
1032 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1033 [ac_cv_c_unroll_loops],
1034 [CFLAGS="${CFLAGS_save} -funroll-loops"
1035 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1036 if test "${ac_cv_c_unroll_loops}" != "no"; then
1037 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1041 dnl Check for -fomit-frame-pointer
1042 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1043 [ac_cv_c_omit_frame_pointer],
1044 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1045 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1046 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1047 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1050 dnl Check for -fvisibility=hidden
1051 dnl Don't test on mingw32, because it is going to work with just a warning
1052 dnl even if it doesn't support it
1053 if test "${SYS}" != "mingw32"
1055 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1056 [ac_cv_c_visibility_hidden],
1057 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1058 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1059 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1060 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1064 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1066 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1067 dnl AC_LANG_PUSH(C++)
1068 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1069 dnl [ac_cv_c_visibility_inlines_hidden],
1070 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1071 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1072 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1073 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1075 dnl CXXFLAGS="${CXXFLAGS_save}"
1076 dnl AC_LANG_POP(C++)
1078 dnl Check for -mdynamic-no-pic
1079 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1080 dnl [ac_cv_c_dynamic_no_pic],
1081 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1082 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1083 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1084 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1085 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1088 dnl Check for Darwin plugin linking flags
1089 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1091 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1092 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1093 if test "${ac_cv_ld_darwin}" != "no"; then
1094 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1097 dnl Check for standard plugin linking flags
1098 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1099 dnl AS_IF([test "${SYS}" = "beos"], [
1100 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1102 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1103 dnl [ac_cv_ld_plugins],
1104 dnl [CFLAGS="${CFLAGS_save} -shared"
1105 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1106 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1107 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1111 dnl Checks for __attribute__(aligned()) directive
1112 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1113 [ac_cv_c_attribute_aligned],
1114 [ac_cv_c_attribute_aligned=0
1115 CFLAGS="${CFLAGS_save} -Werror"
1116 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1118 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1119 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1121 CFLAGS="${CFLAGS_save}"])
1122 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1123 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1124 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1127 dnl Checks for __attribute__(format()) directive
1128 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1129 [ac_cv_c_attribute_format],
1130 [ac_cv_c_attribute_format=no
1131 CFLAGS="${CFLAGS_save} -Werror"
1133 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1134 [ac_cv_c_attribute_format=yes])
1135 CFLAGS="${CFLAGS_save}"])
1136 if test "${ac_cv_c_attribute_format}" != "no"; then
1137 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1140 dnl Check for __attribute__((packed))
1141 AC_CACHE_CHECK([for __attribute__((packed))],
1142 [ac_cv_c_attribute_packed],
1143 [ac_cv_c_attribute_packed=no
1144 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1145 [ac_cv_c_attribute_packed=yes])])
1146 if test "${ac_cv_c_attribute_packed}" != "no"; then
1147 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1150 dnl Check for __attribute__((visibility()))
1151 AC_CACHE_CHECK([for __attribute__((visibility()))],
1152 [ac_cv_c_attribute_visibility],
1153 [ac_cv_c_attribute_visibility=no
1154 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1155 [ac_cv_c_attribute_visibility=yes])])
1156 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1157 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1163 case "${host_cpu}" in
1173 dnl Enable profiling
1175 AC_ARG_ENABLE(gprof,
1176 [ --enable-gprof gprof profiling (default disabled)])
1177 AC_ARG_ENABLE(cprof,
1178 [ --enable-cprof cprof profiling (default disabled)])
1179 test "${enable_gprof}" != "yes" && enable_gprof="no"
1180 test "${enable_cprof}" != "yes" && enable_cprof="no"
1185 VLC_ADD_PLUGIN([dummy])
1186 VLC_ADD_PLUGIN([logger])
1187 VLC_ADD_PLUGIN([memcpy])
1189 VLC_ADD_PLUGIN([mpgv])
1190 VLC_ADD_PLUGIN([mpga])
1191 VLC_ADD_PLUGIN([m4v])
1192 VLC_ADD_PLUGIN([m4a])
1193 VLC_ADD_PLUGIN([h264])
1194 VLC_ADD_PLUGIN([vc1])
1195 VLC_ADD_PLUGIN([demux_cdg])
1196 VLC_ADD_PLUGIN([cdg])
1197 VLC_ADD_PLUGIN([ps])
1198 VLC_ADD_PLUGIN([pva])
1199 VLC_ADD_PLUGIN([avi])
1200 VLC_ADD_PLUGIN([asf])
1201 VLC_ADD_PLUGIN([mp4])
1202 VLC_ADD_PLUGIN([rawdv])
1203 VLC_ADD_PLUGIN([rawvid])
1204 VLC_ADD_PLUGIN([nsv])
1205 VLC_ADD_PLUGIN([real])
1206 VLC_ADD_PLUGIN([aiff])
1207 VLC_ADD_PLUGIN([mjpeg])
1208 VLC_ADD_PLUGIN([wav])
1209 VLC_ADD_PLUGIN([voc])
1210 VLC_ADD_PLUGIN([smf])
1211 VLC_ADD_PLUGIN([demuxdump])
1212 VLC_ADD_PLUGIN([flacsys])
1213 VLC_ADD_PLUGIN([tta])
1214 VLC_ADD_PLUGIN([subtitle])
1215 VLC_ADD_PLUGIN([vobsub])
1216 VLC_ADD_PLUGIN([a52sys])
1217 VLC_ADD_PLUGIN([dtssys])
1218 VLC_ADD_PLUGIN([au])
1219 VLC_ADD_PLUGIN([ty])
1220 VLC_ADD_PLUGIN([xa])
1221 VLC_ADD_PLUGIN([nuv])
1223 VLC_ADD_PLUGIN([cvdsub])
1224 VLC_ADD_PLUGIN([svcdsub])
1225 VLC_ADD_PLUGIN([spudec])
1226 VLC_ADD_PLUGIN([subsdec])
1227 VLC_ADD_PLUGIN([subsusf])
1228 VLC_ADD_PLUGIN([t140])
1229 VLC_ADD_PLUGIN([dvbsub])
1230 VLC_ADD_PLUGIN([cc])
1232 VLC_ADD_PLUGIN([cinepak])
1234 VLC_ADD_PLUGIN([araw])
1235 VLC_ADD_PLUGIN([adpcm])
1236 VLC_ADD_PLUGIN([mpeg_audio])
1237 VLC_ADD_PLUGIN([lpcm])
1238 VLC_ADD_PLUGIN([a52])
1239 VLC_ADD_PLUGIN([dts])
1240 VLC_ADD_PLUGIN([flac])
1242 VLC_ADD_PLUGIN([deinterlace])
1243 VLC_ADD_PLUGIN([invert])
1244 VLC_ADD_PLUGIN([adjust])
1245 VLC_ADD_PLUGIN([transform])
1246 VLC_ADD_PLUGIN([wave])
1247 VLC_ADD_PLUGIN([ripple])
1248 VLC_ADD_PLUGIN([psychedelic])
1249 VLC_ADD_PLUGIN([gradient])
1250 VLC_ADD_PLUGIN([motionblur])
1251 VLC_ADD_PLUGIN([rv32])
1252 VLC_ADD_PLUGIN([rotate])
1253 VLC_ADD_PLUGIN([noise])
1254 VLC_ADD_PLUGIN([grain])
1255 VLC_ADD_PLUGIN([extract])
1256 VLC_ADD_PLUGIN([sharpen])
1257 VLC_ADD_PLUGIN([seamcarving])
1258 VLC_ADD_PLUGIN([croppadd])
1259 VLC_ADD_PLUGIN([blendbench])
1260 VLC_ADD_PLUGIN([blend])
1261 VLC_ADD_PLUGIN([scale])
1262 VLC_ADD_PLUGIN([image])
1263 VLC_ADD_PLUGIN([vmem])
1264 VLC_ADD_PLUGIN([logo])
1265 VLC_ADD_PLUGIN([magnify])
1266 VLC_ADD_PLUGIN([puzzle])
1267 VLC_ADD_PLUGIN([colorthres])
1269 VLC_ADD_PLUGIN([playlist])
1270 VLC_ADD_PLUGIN([export])
1271 VLC_ADD_PLUGIN([nsc])
1272 VLC_ADD_PLUGIN([xtag])
1273 dnl Channel mixing audio filters:
1274 VLC_ADD_PLUGIN([converter_fixed])
1275 VLC_ADD_PLUGIN([mono])
1276 VLC_ADD_PLUGIN([trivial_channel_mixer])
1277 dnl Resampling audio filters:
1278 VLC_ADD_PLUGIN([trivial_resampler])
1279 VLC_ADD_PLUGIN([ugly_resampler])
1281 VLC_ADD_PLUGIN([trivial_mixer])
1283 VLC_ADD_PLUGIN([i420_rgb])
1284 VLC_ADD_PLUGIN([grey_yuv])
1286 VLC_ADD_PLUGIN([rawvideo])
1288 VLC_ADD_PLUGIN([access_filter_timeshift])
1289 VLC_ADD_PLUGIN([access_filter_record])
1290 VLC_ADD_PLUGIN([access_filter_dump])
1291 VLC_ADD_PLUGIN([access_filter_bandwidth])
1293 ALIASES="${ALIASES} cvlc"
1296 dnl default modules that need g++
1299 VLC_ADD_PLUGIN([spatializer])
1302 if test "${SYS}" != "mingwce"; then
1303 VLC_ADD_PLUGIN([gestures])
1304 VLC_ADD_PLUGIN([rc])
1305 VLC_ADD_PLUGIN([telnet])
1306 VLC_ADD_PLUGIN([hotkeys])
1307 VLC_ADD_PLUGIN([showintf])
1308 VLC_ADD_PLUGIN([marq])
1309 VLC_ADD_PLUGIN([podcast])
1310 VLC_ADD_PLUGIN([shout])
1311 VLC_ADD_PLUGIN([sap])
1312 VLC_ADD_PLUGIN([fake])
1313 VLC_ADD_PLUGIN([folder])
1314 VLC_ADD_PLUGIN([rss])
1315 VLC_ADD_PLUGIN([mosaic])
1316 VLC_ADD_PLUGIN([wall])
1317 VLC_ADD_PLUGIN([motiondetect])
1318 VLC_ADD_PLUGIN([clone])
1319 VLC_ADD_PLUGIN([crop])
1320 VLC_ADD_PLUGIN([erase])
1321 VLC_ADD_PLUGIN([bluescreen])
1322 VLC_ADD_PLUGIN([alphamask])
1323 VLC_ADD_PLUGIN([gaussianblur])
1324 VLC_ADD_PLUGIN([i420_yuy2])
1325 VLC_ADD_PLUGIN([i422_yuy2])
1326 VLC_ADD_PLUGIN([i420_ymga])
1327 VLC_ADD_PLUGIN([i422_i420])
1328 VLC_ADD_PLUGIN([yuy2_i422])
1329 VLC_ADD_PLUGIN([yuy2_i420])
1330 VLC_ADD_PLUGIN([chroma_chain])
1331 VLC_ADD_PLUGIN([aout_file])
1332 VLC_ADD_PLUGIN([linear_resampler])
1333 VLC_ADD_PLUGIN([bandlimited_resampler])
1334 VLC_ADD_PLUGIN([float32_mixer])
1335 VLC_ADD_PLUGIN([spdif_mixer])
1336 VLC_ADD_PLUGIN([simple_channel_mixer])
1337 VLC_ADD_PLUGIN([dolby_surround_decoder])
1338 VLC_ADD_PLUGIN([headphone_channel_mixer])
1339 VLC_ADD_PLUGIN([normvol])
1340 VLC_ADD_PLUGIN([equalizer])
1341 VLC_ADD_PLUGIN([param_eq])
1342 VLC_ADD_PLUGIN([converter_float])
1343 VLC_ADD_PLUGIN([a52tospdif])
1344 VLC_ADD_PLUGIN([dtstospdif])
1345 VLC_ADD_PLUGIN([audio_format])
1346 ALIASES="${ALIASES} rvlc"
1350 dnl Some plugins aren't useful on some platforms
1352 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1353 VLC_ADD_PLUGIN([screensaver])
1354 VLC_ADD_PLUGIN([motion])
1355 VLC_ADD_PLUGIN([dynamicoverlay])
1356 elif test "${SYS}" != "mingwce"; then
1357 VLC_ADD_PLUGIN([ntservice])
1358 VLC_ADD_PLUGIN([access_smb])
1359 VLC_ADD_PLUGIN([dmo])
1360 VLC_ADD_PLUGIN([msn])
1361 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1363 VLC_ADD_PLUGIN([win32text])
1365 if test "${SYS}" = "darwin"; then
1366 VLC_ADD_PLUGIN([quartztext])
1367 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1371 dnl Accelerated modules
1374 AC_ARG_WITH(,[Optimization options:])
1376 dnl Check for fully working MMX intrinsics
1377 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1378 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1380 [ --disable-mmx disable MMX optimizations (default auto)],,[
1381 case "${host_cpu}" in
1390 AS_IF([test "${enable_mmx}" != "no"], [
1393 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1394 [ac_cv_c_mmx_intrinsics],
1395 [CFLAGS="${CFLAGS_save} -O -mmmx"
1396 AC_TRY_COMPILE([#include <mmintrin.h>
1400 a = b = c = (__m64)frobzor;
1401 a = _mm_slli_pi16(a, 3);
1402 a = _mm_adds_pi16(a, b);
1403 c = _mm_srli_pi16(c, 8);
1404 c = _mm_slli_pi16(c, 3);
1405 b = _mm_adds_pi16(b, c);
1406 a = _mm_unpacklo_pi8(a, b);
1407 frobzor = (uint64_t)a;],
1408 [ac_cv_c_mmx_intrinsics=yes],
1409 [ac_cv_c_mmx_intrinsics=no])])
1410 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1411 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1412 [Define to 1 if MMX intrinsics are available.])
1413 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1416 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1418 [CFLAGS="${CFLAGS_save}"
1419 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1420 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1421 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1422 AC_DEFINE(CAN_COMPILE_MMX, 1,
1423 [Define to 1 inline MMX assembly is available.])
1424 VLC_ADD_PLUGIN([memcpymmx])
1425 VLC_ADD_PLUGIN([i420_rgb_mmx])
1426 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1427 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1428 VLC_ADD_PLUGIN([i420_ymga_mmx])
1431 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1432 [ac_cv_mmxext_inline],
1433 [CFLAGS="${CFLAGS_save}"
1434 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1435 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1436 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1437 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1438 [Define to 1 if MMX EXT inline assembly is available.])
1439 VLC_ADD_PLUGIN([memcpymmxext])
1443 dnl Check for fully workin SSE2 intrinsics
1444 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1445 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1447 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)],, [
1448 case "${host_cpu}" in
1457 AS_IF([test "${enable_sse}" != "no"], [
1458 ARCH="${ARCH} sse sse2"
1460 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1461 [ac_cv_c_sse2_intrinsics],
1462 [CFLAGS="${CFLAGS_save} -O -msse2"
1463 AC_TRY_COMPILE([#include <emmintrin.h>
1467 a = b = c = _mm_set1_epi64((__m64)frobzor);
1468 a = _mm_slli_epi16(a, 3);
1469 a = _mm_adds_epi16(a, b);
1470 c = _mm_srli_epi16(c, 8);
1471 c = _mm_slli_epi16(c, 3);
1472 b = _mm_adds_epi16(b, c);
1473 a = _mm_unpacklo_epi8(a, b);
1474 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1475 [ac_cv_c_sse2_intrinsics=yes],
1476 [ac_cv_c_sse2_intrinsics=no])])
1477 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1478 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1479 [Define to 1 if SSE2 intrinsics are available.])
1480 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1483 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1485 [CFLAGS="${CFLAGS_save}"
1486 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1487 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1488 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1489 AC_DEFINE(CAN_COMPILE_SSE, 1,
1490 [Define to 1 if SSE inline assembly is available.])
1493 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1494 [ac_cv_sse2_inline],
1495 [CFLAGS="${CFLAGS_save}"
1496 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1497 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1498 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1499 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1500 [Define to 1 if SSE2 inline assembly is available.])
1501 VLC_ADD_PLUGIN([i420_rgb_sse2])
1502 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1503 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1507 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1508 [ac_cv_3dnow_inline],
1509 [CFLAGS="${CFLAGS_save}"
1510 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1511 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1512 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1513 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1514 [Define to 1 if 3D Now! inline assembly is available.])
1515 VLC_ADD_PLUGIN([memcpy3dn])
1518 AC_ARG_ENABLE(altivec,
1519 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1520 AS_IF([test "${host_cpu}" = "powerpc"],
1521 [enable_altivec=yes], [enable_altivec=no])
1523 AS_IF([test "${enable_altivec}" = "yes"], [
1524 ARCH="${ARCH} altivec";
1525 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1526 [ac_cv_altivec_inline],
1527 [CFLAGS="${CFLAGS_save}"
1528 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1529 ac_cv_altivec_inline="yes",
1530 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1531 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1532 [ac_cv_altivec_inline="-Wa,-m7400"],
1533 ac_cv_altivec_inline=no)
1535 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1536 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1537 [Define to 1 if AltiVec inline assembly is available.])
1538 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1539 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1540 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1541 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1542 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1543 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1545 VLC_ADD_PLUGIN([memcpyaltivec])
1546 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1549 dnl The AltiVec C extensions
1551 dnl There are several possible cases:
1552 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1553 dnl need <altivec.h>
1554 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1555 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1556 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1557 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1558 dnl - Others: test should fail
1559 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1561 [# OS X/PPC test (gcc 4.x)
1562 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1563 AC_TRY_COMPILE([vector unsigned char foo;],
1564 [vec_ld(0, (unsigned char *)0);],
1565 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1566 [# OS X/PPC test (gcc 3.x)
1567 CFLAGS="${CFLAGS_save} -faltivec"
1568 AC_TRY_COMPILE([vector unsigned char foo;],
1569 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1570 [ac_cv_c_altivec="-faltivec"],
1571 dnl Below this are the Linux tests
1572 [# Linux/PPC test (gcc 4.x)
1573 CFLAGS="${CFLAGS_save} -maltivec"
1574 AC_TRY_COMPILE([#include <altivec.h>],
1575 [vec_ld(0, (unsigned char *)0);],
1576 [ac_cv_c_altivec="-maltivec"],
1577 [# Linux/PPC test (gcc 3.3)
1578 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1579 AC_TRY_COMPILE([#include <altivec.h>],
1580 [vec_ld(0, (unsigned char *)0);],
1582 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1583 [# Linux/PPC test (gcc 3.3)
1584 CFLAGS="${CFLAGS_save} -fvec"
1585 AC_TRY_COMPILE([#include <altivec.h>],
1586 [vec_ld(0, (unsigned char *)0);],
1587 [ac_cv_c_altivec="-fvec"],
1588 [ac_cv_c_altivec=no])
1593 CFLAGS="${CFLAGS_save}"
1595 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1596 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1599 AC_CHECK_HEADERS(altivec.h)
1600 CPPFLAGS="${CPPFLAGS_save}"
1602 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1603 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1604 [Define to 1 if C AltiVec extensions are available.])
1605 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1606 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1607 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1608 VLC_ADD_PLUGIN([memcpyaltivec])
1609 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1612 AC_CACHE_CHECK([if linker needs -framework vecLib],
1614 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1615 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1616 LDFLAGS="${LDFLAGS_save}"
1618 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1619 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1624 dnl Special arch tuning
1627 [ --with-tuning=ARCH enable special tuning for an architecture
1628 (default Pentium 2 on IA-32 and G4 on PPC)])
1629 if test -n "${with_tuning}"; then
1630 if test "${with_tuning}" != "no"; then
1631 CFLAGS_TUNING="-mtune=${with_tuning}"
1634 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1635 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1636 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1637 CFLAGS_TUNING="-mtune=pentium2"
1638 elif test "${host_cpu}" = "x86_64"; then
1639 CFLAGS_TUNING="-mtune=athlon64"
1640 elif test "${host_cpu}" = "powerpc"; then
1641 CFLAGS_TUNING="-mtune=G4";
1645 dnl NOTE: this can't be cached cleanly
1646 AS_IF([test "${CFLAGS_TUNING}"],
1647 [CFLAGS_save="${CFLAGS}"
1648 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1650 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1651 AC_COMPILE_IFELSE([ ],
1653 [CFLAGS_TUNING=""; tuning="no"
1654 AS_IF([test "${with_tuning}"],
1655 [AC_MSG_ERROR([requested tuning not supported])])])
1657 AC_MSG_RESULT([$tuning])
1658 CFLAGS="${CFLAGS_save}"
1664 AC_ARG_ENABLE(optimize-memory,
1665 [ --enable-optimize-memory optimize memory usage over performance])
1666 if test "${enable_optimize_memory}" = "yes"; then
1667 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1671 dnl Enable/disable optimizations
1673 AC_ARG_ENABLE(optimizations,
1674 [ --disable-optimizations disable compiler optimizations (default enabled)])
1675 if test "${enable_optimizations}" != "no"; then
1676 if test "${enable_optimize_memory}" = "yes"; then
1677 enable_optimizations="size"
1679 enable_optimizations="speed"
1686 AC_ARG_ENABLE(debug,
1687 [ --enable-debug debug mode (default disabled)])
1688 test "${enable_debug}" != "yes" && enable_debug="no"
1690 [Define to 1 if debug code should NOT be compiled])
1691 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1696 AC_ARG_ENABLE(coverage,
1697 [ --enable-coverage build for test coverage (default disabled)],,
1698 [enable_coverage="no"])
1699 AS_IF([test "${enable_coverage}" != "no"], [
1700 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1701 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1702 LDFLAGS="-lgcov ${LDFLAGS}"
1704 CFLAGS_save="${CFLAGS}"
1705 CXXFLAGS_save="${CXXFLAGS}"
1706 LDFLAGS_save="${LDFLAGS}"
1710 dnl Enable release-specific flags
1712 AC_ARG_ENABLE(release,
1713 [ --enable-release activate extra optimizations (default disabled)])
1714 test "${enable_release}" != "yes" && enable_release="no"
1720 [ --enable-sout Stream output modules (default enabled)])
1721 AS_IF([test "${enable_sout}" != "no"], [
1722 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1724 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1726 AC_ARG_ENABLE(switcher,
1727 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1729 dnl Check for libshout
1730 AC_ARG_ENABLE(shout,
1731 [ --enable-shout libshout output plugin (default disabled)])
1732 if test "${enable_shout}" = "yes"; then
1733 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1734 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1735 VLC_ADD_PLUGIN([access_output_shout])
1736 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1737 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1738 [AC_MSG_WARN(libshout library not found)])
1743 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1744 if test "${enable_lua}" != "no"
1746 PKG_CHECK_MODULES(LUA, lua5.1,
1749 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1750 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1754 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1757 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1758 [LUA_LIBS="-llua5.1"],
1759 AC_CHECK_LIB( lua51 , luaL_newstate,
1760 [LUA_LIBS="-llua51"],
1761 AC_CHECK_LIB( lua , luaL_newstate,
1764 AC_MSG_WARN([lua >= 5.1 not found!])
1770 if test "x${have_lua}" = "xyes" ; then
1771 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1772 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1773 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1776 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1781 AC_ARG_ENABLE(httpd,
1782 [ --enable-httpd HTTP daemon (default enabled)])
1783 if test "${enable_httpd}" != "no"
1785 VLC_ADD_PLUGIN([http])
1786 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1788 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1791 dnl VideoLAN manager
1794 [ --enable-vlm VideoLAN manager (default enabled)])
1795 if test "${enable_vlm}" != "no"
1797 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1801 dnl Growl notification plugin
1803 AC_ARG_ENABLE(growl,
1804 [ --enable-growl growl notification plugin (default enabled)])
1805 AS_IF([test "${enable_growl}" != "no"], [
1806 VLC_ADD_PLUGIN([growl_udp])
1807 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1808 VLC_ADD_PLUGIN([growl])
1809 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1815 dnl Libnotify notification plugin
1818 AC_ARG_ENABLE(notify,
1819 [ --enable-notify libnotify notification plugin (default enabled)])
1820 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1821 PKG_CHECK_MODULES(NOTIFY, libnotify,
1823 VLC_ADD_PLUGIN([notify])
1824 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1825 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1827 AS_IF([test "${enable_notify}" = "yes"],[
1828 AC_MSG_WARN( libnotify not found) ])
1833 dnl Audioscrobbler plugin
1836 AC_ARG_ENABLE(audioscrobbler,
1837 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1838 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1839 VLC_ADD_PLUGIN([audioscrobbler])
1843 dnl Musicbrainz plugin
1845 AC_ARG_ENABLE(musicbrainz,
1846 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1847 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1848 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1849 [ VLC_ADD_PLUGIN([musicbrainz])
1850 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1851 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1852 [AC_MSG_WARN(MusicBrainz library not found)])
1859 AC_ARG_ENABLE(taglib,
1860 [ --disable-taglib Taglib support (default enabled) ])
1861 AS_IF([test "${enable_taglib}" != "no"],[
1862 PKG_CHECK_MODULES(TAGLIB, taglib,
1863 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1864 VLC_ADD_PLUGIN([taglib])
1865 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1866 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1867 [AC_MSG_WARN(TagLib library not found)])
1875 AC_ARG_WITH(,[Input plugins:])
1879 if test "${enable_livedotcom}"
1881 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1884 if test "${enable_livedotcom}" = "no"
1888 AC_ARG_ENABLE(live555,
1889 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1890 if test "${enable_live555}" != "no"; then
1891 AC_ARG_WITH(live555-tree,
1892 [ --with-live555-tree=PATH live.com tree for static linking])
1895 dnl test for --with-live555-tree
1897 if test "${with_livedotcom_tree}"
1899 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1900 with_live555_tree="${with_livedotcom_tree}"
1903 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1905 CPPFLAGS_save="${CPPFLAGS}"
1906 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1907 if test "${SYS}" = "solaris"; then
1908 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1910 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1911 AC_CHECK_HEADERS(liveMedia.hh, [
1912 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1913 AC_CHECK_LIB(liveMedia_pic, main, [
1914 # We have -lliveMedia_pic, build plugins
1915 VLC_ADD_PLUGIN([live555])
1916 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1918 AC_CHECK_LIB(liveMedia, main, [
1919 # We only have -lliveMedia, do builtins
1920 VLC_ADD_PLUGIN([live555])
1921 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1924 if test "${SYS}" = "mingw32"; then
1925 # add ws2_32 for closesocket, select, recv
1926 VLC_ADD_LIBS([live555],[-lws2_32])
1929 CPPFLAGS="${CPPFLAGS_save}"
1932 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1933 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1934 if test -z "${real_live555_tree}"; then
1935 dnl The given directory can't be found
1937 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1939 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1940 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1942 VLC_ADD_PLUGIN([live555])
1944 if test "${SYS}" = "mingw32"; then
1945 # add ws2_32 for closesocket, select, recv
1946 VLC_ADD_LIBS([live555],[-lws2_32])
1949 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1950 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1951 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1952 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1954 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1955 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1956 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1957 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1958 if test "${SYS}" = "solaris"; then
1959 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1962 dnl The given live555 wasn't built
1964 if test "${enable_live555}" = "yes"; then
1965 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1972 dnl special access module for dc1394 input
1974 AC_ARG_ENABLE(dc1394,
1975 [ --enable-dc1394 dc1394 access module (default disabled)])
1976 if test "${enable_dc1394}" = "yes"
1978 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1979 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1980 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1981 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1982 VLC_ADD_PLUGIN([dc1394])
1983 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1986 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1990 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1994 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1998 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2003 dnl dv module: digital video module check for libraw1394
2006 [ --enable-dv dv input module (default disabled)])
2007 if test "${enable_dv}" = "yes"
2009 AC_ARG_WITH(dv-raw1394,
2010 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
2011 AC_ARG_WITH(dv-raw1394-tree,
2012 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
2014 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
2016 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
2017 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
2019 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
2021 VLC_ADD_PLUGIN([access_dv])
2022 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
2023 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
2025 dnl No libraw1394 could be found, sorry
2027 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
2030 AC_CHECK_HEADERS(libraw1394/raw1394.h,
2031 [ VLC_ADD_PLUGIN([access_dv])
2032 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2034 if test -n "${enable_dv}"
2036 AC_MSG_ERROR([cannot find libraw1394 headers])
2041 dnl Check for static linking of libraw1394
2042 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2044 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2045 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2046 if test -z "${real_dv_raw1394_tree}"
2048 dnl The given directory can't be found
2050 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2052 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2054 dnl Use a custom libraw1394
2055 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2056 VLC_ADD_BUILTINS([access_dv])
2057 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2058 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2060 dnl The given libraw1394 wasn't built
2062 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2067 dnl Check for libavc1394
2070 AC_ARG_WITH(dv-avc1394,
2071 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2072 AC_ARG_WITH(dv-avc1394-tree,
2073 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2075 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2077 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2078 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2080 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2082 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2083 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2085 dnl No libavc1394 could be found, sorry
2087 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2090 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2091 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2093 if test -n "${enable_dv}"
2095 AC_MSG_ERROR([cannot find libavc1394 headers])
2100 dnl Check for static linking of libavc1394
2101 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2103 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2104 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2105 if test -z "${real_dv_avc1394_tree}"
2107 dnl The given directory can't be found
2109 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2111 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2113 dnl Use a custom libavc1394
2114 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2115 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2116 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2118 dnl The given libavc1394 wasn't built
2120 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2126 dnl dvdread module: check for libdvdread
2128 AC_ARG_ENABLE(dvdread,
2129 [ --enable-dvdread dvdread input module (default disabled)])
2130 if test "${enable_dvdread}" != "no"
2132 AC_ARG_WITH(dvdread,
2133 [ --with-dvdread=PATH libdvdread headers and libraries])
2134 AC_ARG_WITH(dvdread-tree,
2135 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2137 dnl Temporary hack (yeah, sure ;)
2138 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2139 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2142 if test -z "${with_dvdread}"
2144 if test -z "${with_dvdread_tree}"
2146 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2147 [ VLC_ADD_PLUGIN([dvdread])
2148 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2150 if test -n "${enable_dvdread}"
2152 AC_MSG_ERROR([cannot find libdvdread headers])
2156 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2157 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2158 if test -z "${real_dvdread_tree}"
2160 dnl The given directory can't be found
2162 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2164 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2166 dnl Use a custom libdvdread
2167 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2168 VLC_ADD_BUILTINS([dvdread])
2169 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2170 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2172 dnl The given libdvdread wasn't built
2174 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2178 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2179 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2181 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2183 VLC_ADD_PLUGIN([dvdread])
2184 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2185 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2187 dnl No libdvdread could be found, sorry
2189 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2195 dnl libdvdnav plugin
2197 AC_ARG_ENABLE(dvdnav,
2198 [ --enable-dvdnav dvdnav input module (default enabled)])
2199 if test "${enable_dvdnav}" != "no"
2201 dnl Same hack than dvdread
2202 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2203 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2206 DVDNAV_PATH="${PATH}"
2207 AC_ARG_WITH(dvdnav-config-path,
2208 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2209 [ if test "${with_dvdnav_config_path}" != "no"
2211 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2213 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2214 if test "${DVDNAV_CONFIG}" != "no"
2216 VLC_ADD_PLUGIN([dvdnav])
2217 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2218 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2223 dnl Windows DirectShow access module
2225 AC_ARG_ENABLE(dshow,
2226 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2227 if test "${enable_dshow}" != "no"
2229 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2232 AC_CHECK_HEADERS(dshow.h,
2233 [ VLC_ADD_PLUGIN([dshow])
2234 VLC_ADD_CXXFLAGS([dshow],[])
2235 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2241 dnl Windows DirectShow BDA access module
2244 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2245 if test "${enable_bda}" != "no"
2247 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2249 AC_CHECK_HEADERS(dshow.h,
2250 [ VLC_ADD_PLUGIN([bda])
2251 VLC_ADD_CXXFLAGS([bda],[])
2252 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2258 dnl OpenCV wrapper and example filters
2260 AC_ARG_ENABLE(opencv,
2261 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2262 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2264 AC_ARG_WITH(opencv-tree,
2265 [ --with-opencv-tree=PATH opencv tree for linking])
2266 if test -n "${with_opencv_tree}"
2268 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2270 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2271 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2272 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2275 VLC_ADD_PLUGIN([opencv_wrapper])
2276 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2277 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])
2279 VLC_ADD_PLUGIN([opencv_example])
2280 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2281 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])
2284 dnl No opencv could be found, sorry
2286 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2289 AC_MSG_WARN([--enable-opencv currently only works on windows])
2296 dnl libsmbclient plugin
2299 [ --enable-smb smb input module (default enabled)])
2300 if test "${enable_smb}" != "no"; then
2301 AC_CHECK_HEADERS(libsmbclient.h,
2302 [ VLC_ADD_PLUGIN([access_smb])
2303 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2304 [ if test -n "${enable_smb}"; then
2305 AC_MSG_ERROR([cannot find libsmbclient headers])
2307 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2308 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2309 [#include <libsmbclient.h>])
2313 dnl libdvbpsi ts demux/mux
2315 AC_ARG_ENABLE(dvbpsi,
2316 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2317 if test "${enable_dvbpsi}" != "no"
2320 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2322 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2323 case "${with_dvbpsi}" in
2325 if test -z "${with_dvbpsi_tree}"
2327 AC_CHECK_HEADERS(dvbpsi/dr.h,
2328 [ VLC_ADD_PLUGIN([ts])
2329 if test "${enable_sout}" != "no"; then
2330 VLC_ADD_PLUGIN([mux_ts])
2332 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2333 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2334 [#if defined( HAVE_STDINT_H )
2335 # include <stdint.h>
2336 #elif defined( HAVE_INTTYPES_H )
2337 # include <inttypes.h>
2339 #include <dvbpsi/dvbpsi.h>
2340 #include <dvbpsi/descriptor.h>
2341 #include <dvbpsi/pat.h>
2342 #include <dvbpsi/pmt.h>])
2344 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2345 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2346 if test -z "${real_dvbpsi_tree}"
2348 dnl The given directory can't be found
2350 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2352 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2354 dnl Use a custom libdvbpsi
2355 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2356 VLC_ADD_BUILTINS([ts])
2357 if test "${enable_sout}" != "no"; then
2358 VLC_ADD_BUILTINS([mux_ts])
2360 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2361 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2363 dnl The given libdvbpsi wasn't built
2365 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2370 dnl Compile without dvbpsi
2373 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2374 if test -z "${with_dvbpsi}"
2379 LDFLAGS_test="-L${with_dvbpsi}/lib"
2380 CPPFLAGS_test="-I${with_dvbpsi}/include"
2382 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2383 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2384 VLC_ADD_PLUGIN([ts])
2385 if test "${enable_sout}" != "no"; then
2386 VLC_ADD_PLUGIN([mux_ts])
2388 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2389 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2392 if test -n "${enable_dvbpsi}"
2394 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])
2397 CPPFLAGS="${CPPFLAGS_save}"
2400 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2401 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2402 ], [], [${LIBS_ts}])
2407 dnl Video4Linux plugin
2410 [ --enable-v4l Video4Linux input support (default disabled)])
2411 if test "${enable_v4l}" = "yes"
2414 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2415 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2417 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2420 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2421 AC_CHECK_HEADERS(linux/videodev.h, [
2422 VLC_ADD_PLUGIN([v4l])
2424 CPPFLAGS="${CPPFLAGS_save}"
2428 dnl Video4Linux2 plugin
2431 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2432 if test "${enable_v4l2}" = "yes"
2435 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2436 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2438 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2441 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2442 if test "${have_v4l2_alsa}" = "true"
2444 CFLAGS="${CFLAGS_save}"
2445 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2446 #define ALSA_PCM_NEW_SW_PARAMS_API
2447 #include <alsa/asoundlib.h>],
2448 [snd_pcm_hw_params_get_period_time(0,0,0);],
2449 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2450 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2451 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2454 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2455 AC_CHECK_HEADERS(linux/videodev2.h, [
2456 VLC_ADD_PLUGIN([v4l2])
2458 CPPFLAGS="${CPPFLAGS_save}"
2463 dnl special access module for Hauppauge PVR cards
2466 [ --enable-pvr PVR cards access module (default disabled)])
2467 if test "${enable_pvr}" = "yes"
2469 VLC_ADD_PLUGIN([pvr])
2470 AC_ARG_WITH(videodev2,
2471 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2472 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2474 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2478 AC_CACHE_CHECK([for new linux/videodev2.h],
2479 [new_linux_videodev2_h],
2481 #include <sys/types.h>
2482 # ifdef VIDEODEV2_H_FILE
2483 # include VIDEODEV2_H_FILE
2485 # include <linux/videodev2.h>
2488 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2489 new_linux_videodev2_h=yes,
2490 new_linux_videodev2_h=no)])
2491 if test "${new_linux_videodev2_h}" != "no"; then
2492 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2497 dnl gnomeVFS access module
2499 AC_ARG_ENABLE(gnomevfs,
2500 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2501 if test "${enable_gnomevfs}" = "yes"
2503 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2504 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2505 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2506 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2507 VLC_ADD_PLUGIN([access_gnomevfs]),
2508 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2511 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2512 AC_ARG_ENABLE(libcdio,
2513 [ --enable-libcdio CD input and control library support (default enabled)])
2518 if test "${enable_libcdio}" != "no"
2520 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2522 AC_DEFINE(HAVE_LIBCDIO, 1,
2523 [Define if you have libcdio 0.78.2 or greater installed]),
2524 [AC_MSG_WARN(CD Reading and information library not found)])
2526 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2527 [have_libvcdinfo=yes
2528 AC_DEFINE(HAVE_VCDINFO, 1,
2529 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2530 [AC_MSG_WARN(VCD information library not found)])
2534 dnl VCDX and CDDAX modules
2536 AC_ARG_ENABLE(cddax,
2537 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2539 AC_ARG_ENABLE(libcddb,
2540 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2542 if test "${enable_cddax}" = "yes"
2544 if test "$have_libcdio" = "yes"
2546 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2547 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2548 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2549 VLC_ADD_PLUGIN([cddax])
2550 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2551 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2552 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2554 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2558 if test "$enable_libcddb" != "no"; then
2559 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2561 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2562 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2563 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2565 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2572 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2574 if test "${enable_vcdx}" = "yes"
2576 if test "${have_libvcdinfo}" = "yes"
2578 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2579 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2581 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2585 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2586 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2587 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2588 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2591 if test "$have_libvcdinfo" = "yes"
2593 AC_DEFINE(HAVE_VCDX, 1,
2594 [Define for the VCD plugin using libcdio/libvcdinfo])
2595 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2596 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2597 VLC_ADD_PLUGIN([vcdx])
2599 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2605 dnl Built-in CD-DA and VCD module
2608 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2611 [ --enable-vcd built-in VCD (default enabled)])
2613 if test "${enable_vcd}" != "no"
2615 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2616 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2618 VLC_ADD_PLUGIN([vcd])
2619 VLC_ADD_PLUGIN([cdda])
2624 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2625 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2627 VLC_ADD_PLUGIN([vcd])
2628 VLC_ADD_PLUGIN([cdda])
2629 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2634 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2635 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2637 VLC_ADD_PLUGIN([vcd])
2638 VLC_ADD_PLUGIN([cdda])
2639 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2644 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2646 VLC_ADD_PLUGIN([vcd])
2647 VLC_ADD_PLUGIN([cdda])
2650 if test "${SYS}" = "darwin"
2652 VLC_ADD_PLUGIN([vcd])
2653 VLC_ADD_PLUGIN([cdda])
2654 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2655 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2658 if test "$enable_libcddb" != "no"; then
2659 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2661 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2662 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2663 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2665 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2671 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2674 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2676 if test "${enable_dvb}" = "yes"
2679 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2680 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2682 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2684 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2685 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2686 if test -z "${with_dvbpsi_tree}"
2688 VLC_ADD_PLUGIN([dvb])
2690 VLC_ADD_BUILTINS([dvb])
2692 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2693 CPPFLAGS="${CPPFLAGS_save}"
2697 dnl Screen capture module
2699 AC_ARG_ENABLE(screen,
2700 [ --enable-screen Screen capture support (default enabled)])
2701 if test "${enable_screen}" != "no"; then
2702 if test "${SYS}" = "darwin"; then
2703 AC_CHECK_HEADERS(OpenGL/gl.h, [
2704 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2705 VLC_ADD_PLUGIN([screen])
2706 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2709 elif test "${SYS}" = "mingw32"; then
2710 VLC_ADD_PLUGIN([screen])
2711 VLC_ADD_LIBS([screen],[-lgdi32])
2712 elif test "${SYS}" = "mingwce"; then
2713 CPPFLAGS="${CPPFLAGS_save}"
2714 elif test "${SYS}" = "beos"; then
2715 VLC_ADD_PLUGIN([screen])
2716 VLC_ADD_CXXFLAGS([screen],[])
2717 VLC_ADD_LIBS([screen],[-lbe])
2719 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2720 AC_CHECK_HEADERS(X11/Xlib.h, [
2721 VLC_ADD_PLUGIN([screen])
2722 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2723 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2725 CPPFLAGS="${CPPFLAGS_save}"
2730 dnl ipv6 plugin - not for QNX yet
2733 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2734 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2737 AS_IF([test "${have_ipv6}" = "yes"], [
2738 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2741 AC_CHECK_FUNCS(inet_ntop,[
2742 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2746 dnl ogg demux plugin
2749 [ --enable-ogg Ogg demux support (default enabled)])
2750 if test "${enable_ogg}" != "no"
2752 AC_ARG_WITH(ogg-tree,
2753 [ --with-ogg-tree=PATH ogg tree for static linking])
2754 if test -n "${with_ogg_tree}"
2756 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2757 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2758 if test -z "${real_ogg_tree}"
2760 dnl The given directory can't be found
2762 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2764 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2766 dnl Use a custom ogg
2767 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2768 VLC_ADD_PLUGIN([ogg])
2769 if test "${enable_sout}" != "no"; then
2770 VLC_ADD_PLUGIN([mux_ogg])
2772 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2773 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2775 dnl The given ogg wasn't built
2777 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2780 AC_CHECK_HEADERS(ogg/ogg.h, [
2781 AC_CHECK_LIB( ogg, oggpack_read, [
2782 VLC_ADD_PLUGIN([ogg])
2783 if test "${enable_sout}" != "no"; then
2784 VLC_ADD_PLUGIN([mux_ogg])
2786 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2792 dnl matroska demux plugin
2795 [ --enable-mkv Matroska demux support (default enabled)])
2796 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2798 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2799 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2801 [#include <ebml/EbmlVersion.h>
2802 #ifdef LIBEBML_VERSION
2803 #if LIBEBML_VERSION >= 0x000706
2807 [AC_MSG_RESULT([yes])
2808 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2809 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2811 [#include <matroska/KaxVersion.h>
2812 #ifdef LIBMATROSKA_VERSION
2813 #if LIBMATROSKA_VERSION >= 0x000705
2817 [AC_MSG_RESULT([yes])
2818 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2819 VLC_ADD_CXXFLAGS([mkv],[])
2820 if test "${SYS}" = "darwin"; then
2821 VLC_ADD_CXXFLAGS([mkv],[-O1])
2823 AC_CHECK_LIB(ebml_pic, main, [
2824 VLC_ADD_PLUGIN([mkv])
2825 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2827 AC_CHECK_LIB(ebml, main, [
2828 VLC_ADD_PLUGIN([mkv])
2829 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2833 [AC_MSG_RESULT([no])
2834 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.])
2838 [AC_MSG_RESULT([no])
2839 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.])
2846 dnl modplug demux plugin
2849 [ --enable-mod Mod demux support (default enabled)])
2850 if test "${enable_mod}" != "no"
2852 AC_ARG_WITH(mod-tree,
2853 [ --with-mod-tree=PATH mod tree for static linking])
2854 if test -n "${with_mod_tree}"
2856 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2857 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2858 if test -z "${real_mod_tree}"
2860 dnl The given directory can't be found
2862 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2864 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2866 dnl Use a custom mod
2867 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2868 VLC_ADD_PLUGIN([mod])
2869 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2870 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2872 dnl The given mod wasn't built
2874 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2877 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2878 VLC_ADD_PLUGIN([mod])
2879 VLC_ADD_CXXFLAGS([mod],[])
2880 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2885 dnl mpc demux plugin
2888 [ --enable-mpc Mpc demux support (default enabled)])
2889 if test "${enable_mpc}" != "no"
2891 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2892 VLC_ADD_PLUGIN([mpc])
2893 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2897 dnl game music emu demux plugin
2900 [ --enable-gme Game Music Emu demux support (default enabled)])
2901 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2904 AC_ARG_WITH(gme-tree,
2905 [ --with-gme-tree=PATH gme tree for static linking])
2906 if test -n "${with_gme_tree}"
2908 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2909 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2910 if test -z "${real_gme_tree}"
2912 dnl The given directory can't be found
2914 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2916 if test -f "${real_gme_tree}/gme/libgme.a"
2918 dnl Use a custom gme
2919 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2920 VLC_ADD_PLUGIN([gme])
2921 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2922 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2924 dnl The given gme wasn't built
2926 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2929 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2938 AC_ARG_WITH(,[Codec plugins:])
2944 [ --enable-mad libmad module (default enabled)])
2945 if test "${enable_mad}" != "no"
2948 [ --with-mad=PATH path to libmad],[],[])
2949 if test "${with_mad}" != "no" -a -n "${with_mad}"
2951 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2952 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2955 AC_ARG_WITH(mad-tree,
2956 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2957 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2959 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2960 if test -z "${real_mad_tree}"
2962 dnl The given directory can't be found
2964 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2966 dnl Use a custom libmad
2967 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2968 if test -f ${real_mad_tree}/mad.h
2971 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2972 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2973 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2974 AC_CHECK_LIB(mad, mad_bit_init, [
2975 VLC_ADD_BUILTINS([mpgatofixed32])
2976 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2977 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2979 LDFLAGS="${LDFLAGS_save}"
2982 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2985 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2986 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2987 AC_CHECK_HEADERS(mad.h, ,
2988 [ 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.]) ])
2989 AC_CHECK_LIB(mad, mad_bit_init, [
2990 VLC_ADD_PLUGIN([mpgatofixed32])
2991 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2992 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2993 CPPFLAGS="${CPPFLAGS_save}"
2994 LDFLAGS="${LDFLAGS_save}"
2999 dnl libid3tag support (FIXME!!! doesn't work with new input)
3001 AC_ARG_ENABLE( id3tag,
3002 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
3003 AS_IF([test "${enable_id3tag}" != "no"], [
3004 AC_CHECK_HEADERS(id3tag.h, [
3005 AC_CHECK_HEADERS(zlib.h, [
3006 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
3007 VLC_ADD_PLUGIN([id3tag])
3013 dnl ffmpeg decoder/demuxer plugin
3015 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
3016 dnl 3- default place,
3018 AC_ARG_ENABLE(ffmpeg,
3019 [ --enable-ffmpeg ffmpeg codec (default enabled)])
3020 if test "${enable_ffmpeg}" != "no"
3023 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
3025 AC_ARG_WITH(ffmpeg-mp3lame,
3026 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
3028 if test "$with_ffmpeg_mp3lame" = "yes"; then
3029 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
3032 AC_ARG_WITH(ffmpeg-faac,
3033 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
3035 if test "$with_ffmpeg_faac" = "yes"; then
3036 VLC_ADD_LIBS([ffmpeg],[-lfaac])
3039 AC_ARG_WITH(ffmpeg-dts,
3040 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
3042 if test "$with_ffmpeg_dts" = "yes"; then
3043 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3044 AC_CHECK_LIB(dts_pic, dts_free,
3045 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
3046 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
3047 LDFLAGS="${LDFLAGS_save}"
3050 AC_ARG_WITH(ffmpeg-vorbis,
3051 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
3053 if test "$with_ffmpeg_vorbis" = "yes"; then
3054 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
3057 AC_ARG_WITH(ffmpeg-theora,
3058 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
3060 if test "$with_ffmpeg_theora" = "yes"; then
3061 VLC_ADD_LIBS([ffmpeg],[-ltheora])
3064 AC_ARG_WITH(ffmpeg-ogg,
3065 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
3067 if test "$with_ffmpeg_ogg" = "yes"; then
3068 VLC_ADD_LIBS([ffmpeg],[-logg])
3071 AC_ARG_WITH(ffmpeg-zlib,
3072 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3074 if test "$with_ffmpeg_zlib" = "yes"; then
3075 VLC_ADD_LIBS([ffmpeg],[-lz])
3078 AC_ARG_WITH(ffmpeg-amrnb,
3079 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3081 if test "$with_ffmpeg_amrnb" = "yes"; then
3082 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3085 AC_ARG_WITH(ffmpeg-amrwb,
3086 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3088 if test "$with_ffmpeg_amrwb" = "yes"; then
3089 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3092 AC_ARG_WITH(ffmpeg-x264,
3093 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3095 if test "$with_ffmpeg_x264" = "yes"; then
3096 VLC_ADD_LIBS([ffmpeg],[-lx264])
3099 AC_ARG_WITH(ffmpeg-a52,
3100 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3102 if test "$with_ffmpeg_a52" = "yes"; then
3103 VLC_ADD_LIBS([ffmpeg],[-la52])
3107 dnl test for --with-ffmpeg-tree
3109 AC_ARG_WITH(ffmpeg-tree,
3110 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3112 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3113 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3114 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3115 if test -z "${real_ffmpeg_tree}"; then
3116 dnl The given directory can't be found
3118 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3120 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3121 dnl The given libavcodec wasn't built
3123 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3125 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3126 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3127 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3128 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3129 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3130 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3132 dnl The given libavcodec wasn't built with --enable-postproc
3134 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3137 dnl Use a custom libffmpeg
3138 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3140 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3141 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3142 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3143 export PKG_CONFIG_PATH=""
3144 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3147 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3148 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3149 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3150 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3152 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3153 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3154 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3155 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3156 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3158 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3159 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3161 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3162 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3163 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3164 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3167 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3168 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3170 unset PKG_CONFIG_PATH
3172 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3173 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3175 unset PKG_CONFIG_LIBDIR
3178 VLC_ADD_BUILTINS([ffmpeg])
3179 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3180 VLC_ADD_BUILTINS([stream_out_switcher])
3187 dnl Trying with pkg-config
3188 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3191 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3192 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3193 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3194 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3195 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3196 dnl newer ffmpeg have a separate libpostproc
3197 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3198 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3199 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3201 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3202 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3203 AC_CHECK_HEADERS(postproc/postprocess.h)
3204 VLC_ADD_PLUGIN([ffmpeg])
3205 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3206 VLC_ADD_PLUGIN([stream_out_switcher])
3208 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3209 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3211 dnl even newer ffmpeg has a libswscale
3212 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3213 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3214 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3215 AC_CHECK_LIB(swscale, sws_getContext,
3216 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
3222 dnl last chance: at the default place
3224 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3225 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3226 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3227 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3228 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3229 AC_CHECK_HEADERS(postproc/postprocess.h)
3231 AC_CHECK_LIB(avutil, av_crc_init, [
3232 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3233 LDAVUTIL="-lavutil"])
3235 AC_CHECK_LIB(avcodec, avcodec_init, [
3236 VLC_ADD_BUILTINS([ffmpeg])
3237 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3238 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3239 VLC_ADD_BUILTINS([stream_out_switcher])
3241 [ 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])
3243 AC_CHECK_LIB(postproc, pp_postprocess, [
3244 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3245 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3248 AC_CHECK_LIB(avformat, av_open_input_stream, [
3249 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3250 LDFLAGS="${LDFLAGS_save}"
3251 CPPFLAGS="${CPPFLAGS_save}"
3253 AC_CHECK_LIB(swscale, sws_getContext, [
3254 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3255 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3256 LDFLAGS="${LDFLAGS_save}"
3257 CPPFLAGS="${CPPFLAGS_save}"
3263 dnl ffmpegaltivec plugin
3265 AC_ARG_ENABLE(ffmpegaltivec,
3266 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3267 if test "${enable_ffmpegaltivec}" = "yes"
3269 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3270 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3271 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3272 if test -z "${real_ffmpeg_tree}"; then
3273 dnl The given directory can't be found
3275 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3277 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3278 dnl The given libavcodecaltivec wasn't built
3280 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3282 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3283 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3285 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3287 dnl Use a custom libffmpeg
3288 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3289 VLC_ADD_BUILTINS([ffmpegaltivec])
3290 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3291 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3292 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3294 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3295 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3296 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3297 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3299 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3300 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3305 dnl faad decoder plugin
3308 [ --enable-faad faad codec (default disabled)])
3309 if test "${enable_faad}" = "yes"
3311 AC_ARG_WITH(faad-tree,
3312 [ --with-faad-tree=PATH faad tree for static linking])
3313 if test -n "${with_faad_tree}"
3315 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3316 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3317 if test -z "${real_faad_tree}"
3319 dnl The given directory can't be found
3321 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3323 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3325 dnl Use a custom faad
3326 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3327 VLC_ADD_BUILTINS([faad])
3328 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3329 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3331 dnl The given libfaad wasn't built
3333 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3336 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3337 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3338 AC_CHECK_HEADERS(faad.h, ,
3339 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3340 AC_CHECK_LIB(faad, faacDecOpen, [
3341 VLC_ADD_PLUGIN([faad])
3342 VLC_ADD_LIBS([faad],[-lfaad]) ],
3343 AC_CHECK_LIB(faad, NeAACDecOpen, [
3344 VLC_ADD_PLUGIN([faad])
3345 VLC_ADD_LIBS([faad],[-lfaad]) ],
3346 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3347 LDFLAGS="${LDFLAGS_save}"
3348 CPPFLAGS="${CPPFLAGS_save}"
3353 dnl twolame encoder plugin
3355 AC_ARG_ENABLE(twolame,
3356 [ --enable-twolame twolame codec (default disabled)])
3357 if test "${enable_twolame}" = "yes"
3359 AC_ARG_WITH(twolame-tree,
3360 [ --with-twolame-tree=PATH twolame tree for static linking])
3361 if test -n "${with_twolame_tree}"
3363 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3364 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3365 if test -z "${real_twolame_tree}"
3367 dnl The given directory can't be found
3369 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3371 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3373 dnl Use a custom twolame
3374 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3375 VLC_ADD_BUILTINS([twolame])
3376 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3377 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3379 dnl The given libtwolame wasn't built
3381 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3384 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3385 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3386 AC_CHECK_HEADERS(twolame.h, ,
3387 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3388 AC_CHECK_LIB(twolame, twolame_init, [
3389 VLC_ADD_PLUGIN([twolame])
3390 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3391 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3392 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3393 LDFLAGS="${LDFLAGS_save}"
3394 CPPFLAGS="${CPPFLAGS_save}"
3399 dnl QuickTime plugin
3401 AC_ARG_ENABLE(quicktime,
3402 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3403 if test "${enable_quicktime}" != "no" &&
3404 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3406 if test "${SYS}" = "mingw32"; then
3407 VLC_ADD_BUILTINS([quicktime])
3409 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3410 [ VLC_ADD_PLUGIN([quicktime])
3411 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3412 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3420 [ --enable-real Real audio module (default disabled)])
3421 if test "${enable_real}" = "yes"; then
3422 VLC_ADD_PLUGIN([realaudio])
3426 dnl Real RTSP plugin
3428 AC_ARG_ENABLE(realrtsp,
3429 [ --enable-realrtsp Real RTSP module (default disabled)])
3430 if test "${enable_realrtsp}" = "yes"; then
3431 VLC_ADD_PLUGIN([access_realrtsp])
3437 AC_CHECK_HEADERS(zlib.h, [
3438 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3441 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3442 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3448 AC_ARG_ENABLE(libtar,
3449 [ --enable-libtar support for skins2 (default enabled)])
3451 AS_IF([test "${enable_libtar}" != "no"],[
3452 AC_CHECK_HEADERS(libtar.h, [
3453 VLC_ADD_LIBS([skins2],[-ltar])
3458 dnl A52/AC3 decoder plugin
3461 [ --enable-a52 A/52 support with liba52 (default enabled)])
3462 if test "${enable_a52}" != "no"
3465 [ --with-a52=PATH a52 headers and libraries])
3466 AC_ARG_WITH(a52-tree,
3467 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3468 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3470 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3471 if test -z "${real_a52_tree}"
3473 dnl The given directory can't be found
3475 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3477 dnl Use a custom a52dec
3478 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3479 if test -f ${real_a52_tree}/include/a52.h
3482 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3483 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3484 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3485 AC_CHECK_LIB(a52, a52_free, [
3486 VLC_ADD_BUILTINS([a52tofloat32])
3487 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3488 VLC_ADD_LIBS([a52tofloat32],[-la52])
3490 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3492 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3494 AC_MSG_ERROR([the specified tree hasn't been compiled])
3497 LDFLAGS="${LDFLAGS_save}"
3500 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3503 if test -z "${with_a52}"
3508 LDFLAGS_test="-L${with_a52}/lib"
3509 CPPFLAGS_test="-I${with_a52}/include"
3511 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3512 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3513 AC_CHECK_HEADERS(a52dec/a52.h, [
3514 AC_CHECK_LIB(a52, a52_free, [
3515 VLC_ADD_PLUGIN([a52tofloat32])
3516 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3517 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3519 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.])
3522 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.])
3524 CPPFLAGS="${CPPFLAGS_save}"
3525 LDFLAGS="${LDFLAGS_save}"
3529 AC_ARG_WITH(a52-fixed,
3530 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3532 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3535 dnl DTS Coherent Acoustics decoder plugin
3537 AS_IF([test "x${enable_dts}" != "x"], [
3538 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3540 AS_IF([test "x${with_dts_tree}" != "x"], [
3541 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3545 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3546 AS_IF([test "${enable_dca}" != "no"], [
3547 AC_ARG_WITH(dca-tree,
3548 [ --with-dca-tree=PATH libdca tree for static linking],,
3549 [with_dca_tree="no"])
3550 AS_IF([test "${with_dca_tree}" != "no"], [
3551 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3552 AS_IF([test -z "${real_dca_tree}"], [
3553 dnl The given directory can't be found
3555 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3557 dnl Use a custom libdca
3558 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3559 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3561 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3562 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3563 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3565 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3569 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3572 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3573 VLC_ADD_PLUGIN([dtstofloat32])
3574 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3575 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3577 AS_IF([test "x${enable_dca}" != "x"], [
3578 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3588 [ --enable-flac libflac decoder/encoder support (default disabled)])
3589 if test "${enable_flac}" = "yes"
3591 AC_ARG_WITH(flac-tree,
3592 [ --with-flac-tree=PATH flac tree for static linking])
3593 if test -n "${with_flac_tree}"
3595 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3596 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3597 if test -z "${real_flac_tree}"
3599 dnl The given directory can't be found
3601 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3603 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3605 dnl Use a custom flac
3606 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3607 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3608 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3609 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3611 dnl The given flac wasn't built
3613 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3616 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3617 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3625 AC_ARG_ENABLE(libmpeg2,
3626 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3627 if test "${enable_libmpeg2}" != "no"
3629 AC_ARG_WITH(libmpeg2-tree,
3630 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3631 if test -n "${with_libmpeg2_tree}"
3633 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3634 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3635 if test -z "${real_libmpeg2_tree}"
3637 dnl The given directory can't be found
3639 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3641 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3643 dnl Use a custom libmpeg2
3644 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3645 VLC_ADD_BUILTINS([libmpeg2])
3646 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3647 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3648 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3650 dnl The given libmpeg2 wasn't built
3652 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3655 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3656 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3658 [#include <mpeg2dec/mpeg2.h>
3659 #ifdef MPEG2_RELEASE
3660 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3664 [AC_MSG_RESULT([yes])
3665 VLC_ADD_PLUGIN([libmpeg2])
3666 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3667 [AC_MSG_RESULT([no])
3668 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.])])],
3670 [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.])]
3678 AC_ARG_ENABLE(vorbis,
3679 [ --enable-vorbis Vorbis decoder support (default enabled)])
3680 if test "${enable_vorbis}" != "no"
3682 AC_ARG_WITH(vorbis-tree,
3683 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3684 if test -n "${with_vorbis_tree}"
3686 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3687 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3688 if test -z "${real_vorbis_tree}"
3690 dnl The given directory can't be found
3692 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3694 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3696 dnl Use a custom vorbis
3697 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3698 VLC_ADD_PLUGIN([vorbis])
3699 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3700 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3702 dnl The given vorbis wasn't built
3704 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3707 AC_CHECK_HEADERS(vorbis/codec.h, [
3708 VLC_ADD_PLUGIN([vorbis])
3709 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3711 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3712 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3719 AC_ARG_ENABLE(tremor,
3720 [ --enable-tremor Tremor decoder support (default disabled)])
3721 if test "${enable_tremor}" = "yes"
3723 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3724 VLC_ADD_PLUGIN([tremor])
3725 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3732 AC_ARG_ENABLE(speex,
3733 [ --enable-speex Speex decoder support (default enabled)])
3734 if test "${enable_speex}" != "no"
3736 AC_ARG_WITH(speex-tree,
3737 [ --with-speex-tree=PATH speex tree for static linking])
3738 if test -n "${with_speex_tree}"
3740 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3741 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3742 if test -z "${real_speex_tree}"
3744 dnl The given directory can't be found
3746 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3748 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3750 dnl Use a custom speex
3751 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3752 VLC_ADD_PLUGIN([speex])
3753 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3754 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3756 dnl The given speex wasn't built
3758 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3761 AC_CHECK_HEADERS(speex/speex.h, [
3762 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3763 AC_CHECK_LIB(speex, speex_decode_int, [
3764 VLC_ADD_PLUGIN([speex])
3765 VLC_ADD_LIBS([speex],[-lspeex]) ],
3766 [ AC_MSG_RESULT([no])
3767 AC_MSG_WARN([Your libspeex is too old, please get the development
3769 LDFLAGS="${LDFLAGS_save}"
3775 dnl tarkin decoder plugin
3777 AC_ARG_ENABLE(tarkin,
3778 [ --enable-tarkin experimental tarkin codec (default disabled)])
3779 if test "${enable_tarkin}" = "yes"
3781 AC_ARG_WITH(tarkin-tree,
3782 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3783 if test -n "${with_tarkin_tree}"
3785 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3786 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3787 if test -f "${real_tarkin_tree}/tarkin.o"
3789 VLC_ADD_BUILTINS([tarkin])
3790 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3791 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])
3794 dnl The given tarkin tree wasn't built
3796 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3797 make sure you compiled tarkin in ${with_tarkin_tree}])
3803 dnl theora decoder plugin
3805 AC_ARG_ENABLE(theora,
3806 [ --enable-theora experimental theora codec (default disabled)])
3807 if test "${enable_theora}" = "yes"
3809 AC_CHECK_HEADERS(theora/theora.h, [
3810 AC_CHECK_LIB(theora, theora_granule_time, [
3811 VLC_ADD_PLUGIN([theora])
3812 theora_libs="-ltheora -logg"
3813 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3814 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3815 You also need to check that you have a libogg posterior to the 1.0 release.])],
3821 dnl dirac decoder plugin
3823 AC_ARG_ENABLE(dirac,
3824 [ --enable-dirac experimental dirac codec (default disabled)])
3825 if test "${enable_dirac}" = "yes"; then
3826 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3827 VLC_ADD_PLUGIN([dirac])
3828 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3829 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3830 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3835 dnl PNG decoder module
3838 [ --enable-png PNG support (default enabled)])
3839 if test "${enable_png}" != "no"; then
3840 AC_CHECK_HEADERS(png.h, [
3841 LDFLAGS="${LDFLAGS_save} -lz"
3842 AC_CHECK_LIB(png, png_set_rows, [
3843 VLC_ADD_LIBS([png],[-lpng -lz])
3844 VLC_ADD_PLUGIN([png])
3845 VLC_ADD_PLUGIN([osdmenu])
3846 VLC_ADD_PLUGIN([osd_parser])
3847 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3849 LDFLAGS="${LDFLAGS_save}"
3852 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3855 dnl H264 encoder plugin (using libx264)
3858 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3859 if test "${enable_x264}" != "no"; then
3860 AC_ARG_WITH(x264-tree,
3861 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3862 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3864 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3865 if test -z "${real_x264_tree}"
3867 dnl The given directory can't be found
3869 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3871 dnl Use a custom libx264
3872 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3873 if test -f ${real_x264_tree}/x264.h
3876 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3877 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3878 PKG_CHECK_MODULES(X264,x264, [
3879 VLC_ADD_PLUGIN([x264])
3880 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3881 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3883 AC_MSG_ERROR([the specified tree hasn't been compiled])
3885 LDFLAGS="${LDFLAGS_save}"
3888 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3891 PKG_CHECK_MODULES(X264,x264, [
3892 VLC_ADD_PLUGIN([x264])
3893 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3894 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3896 if test "${enable_x264}" = "yes"; then
3897 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3900 LDFLAGS="${LDFLAGS_save}"
3905 dnl libfluidsynth (MIDI synthetizer) plugin
3907 AC_ARG_ENABLE(fluidsynth,
3908 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3909 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3910 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3911 VLC_ADD_PLUGIN(fluidsynth)
3912 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3913 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3915 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3916 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3922 dnl Teletext Modules
3923 dnl vbi decoder plugin (using libzbvi)
3928 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3930 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3932 AS_IF( [test "${enable_zvbi}" != "no"],[
3933 AS_IF( [test "${enable_telx}" = "yes"],[
3934 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3936 PKG_CHECK_MODULES(ZVBI,
3939 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3940 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3941 VLC_ADD_PLUGIN([zvbi])
3942 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3944 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3949 AS_IF( [test "${enable_telx}" = "yes"],[
3950 VLC_ADD_PLUGIN([telx])
3954 dnl asa/csri subtitle rendering module
3957 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3958 AS_IF( [test "${enable_csri}" = "yes"], [
3959 PKG_CHECK_MODULES(CSRI,
3962 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3963 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3964 VLC_ADD_PLUGIN([csri])
3966 AC_MSG_WARN([CSRI helper library not found])
3973 AC_ARG_ENABLE(asademux,
3974 [ --enable-asademux asa subtitle demuxing (default disabled)])
3975 AS_IF( [test "${enable_asademux}" = "yes"], [
3976 PKG_CHECK_MODULES(PCRE,
3979 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3980 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3981 VLC_ADD_PLUGIN([asademux])
3983 AC_MSG_WARN([PCRE library not found (required for asademux)])
3991 [ --enable-cmml CMML support (default enabled)])
3992 if test "${enable_cmml}" != "no"
3994 VLC_ADD_PLUGIN([cmml])
3998 dnl kate decoder plugin
4001 [ --enable-kate kate codec (default enabled)])
4002 AS_IF([test "${enable_kate}" != "no"], [
4003 PKG_CHECK_MODULES(KATE,[kate >= 0.1.1], [
4004 VLC_ADD_PLUGIN([kate])
4005 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
4006 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
4007 AC_CHECK_HEADERS(kate/kate.h, [
4008 AC_CHECK_LIB(kate, kate_decode_init, [
4009 VLC_ADD_PLUGIN([kate])
4010 kate_libs="-lkate -logg"
4011 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
4012 AS_IF([test "x${enable_kate}" != "x"], [
4013 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
4014 You also need to check that you have a libogg posterior to the 1.0 release.])
4018 AS_IF([test "x${enable_kate}" != "x"], [
4019 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
4020 You also need to check that you have a libogg posterior to the 1.0 release.])
4031 AC_ARG_WITH(,[Video plugins:])
4034 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
4035 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4036 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4037 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4038 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4040 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4041 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4046 #include <X11/Xlib.h>
4048 CPPFLAGS="${CPPFLAGS_save}"
4053 dnl (enabled by default except on win32)
4056 [ --enable-x11 X11 support (default enabled)])
4057 if test "${enable_x11}" != "no" &&
4058 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4059 test "${enable_x11}" = "yes"); then
4060 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4061 AC_CHECK_HEADERS(X11/Xlib.h, [
4062 VLC_ADD_PLUGIN([panoramix])
4063 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4064 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4065 AC_CHECK_LIB(Xext, XShmAttach, [
4066 VLC_ADD_PLUGIN([x11])
4067 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4068 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4071 CPPFLAGS="${CPPFLAGS_save}"
4076 dnl (enabled by default except on win32)
4078 AC_ARG_ENABLE(xvideo,
4079 [ --enable-xvideo XVideo support (default enabled)])
4080 if test "${enable_xvideo}" != "no" &&
4081 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4082 test "${enable_xvideo}" = "yes"); then
4083 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4084 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4085 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4086 AC_CHECK_LIB(Xv,XvPutImage,[
4087 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
4088 # test for libXv_pic.
4089 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
4090 VLC_ADD_PLUGIN([xvideo])
4091 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4092 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4094 AC_CHECK_LIB(Xv_pic,XvPutImage,[
4095 VLC_ADD_PLUGIN([xvideo])
4096 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4097 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
4099 VLC_ADD_BUILTINS([xvideo])
4100 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4101 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4105 CFLAGS="${CFLAGS_save}"
4107 CPPFLAGS="${CPPFLAGS_save}")
4112 dnl (enabled by default except on win32)
4115 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4116 if test "${enable_glx}" != "no" &&
4117 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4118 test "${enable_glx}" = "yes"); then
4119 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4120 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4121 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4122 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4126 VLC_ADD_PLUGIN([glx])
4127 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4128 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4129 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4130 CPPFLAGS="${CPPFLAGS_save}"
4135 dnl (disabled by default except on win32)
4138 [ --enable-xvmc XVMC support (default disabled)])
4139 if test "${enable_xvmc}" = "yes" &&
4140 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4141 test "${enable_xvmc}" = "yes"); then
4142 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4143 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4144 VLC_ADD_PLUGIN([xvmc])
4145 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4146 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4148 CPPFLAGS="${CPPFLAGS_save}"
4152 dnl Check for the Xinerama extension
4154 AC_ARG_ENABLE(xinerama,
4155 [ --enable-xinerama Xinerama support (default enabled)])
4156 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4157 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4158 test "${enable_xvideo}" = "yes"); then
4159 ac_cv_have_xinerama="no"
4160 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4161 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4162 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4163 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4164 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4165 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4166 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4167 ac_cv_have_xinerama="yes"
4169 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4170 VLC_ADD_LIBS([xvideo],[-lXinerama])
4171 VLC_ADD_LIBS([x11],[-lXinerama])
4172 VLC_ADD_LIBS([glx],[-lXinerama])
4173 ac_cv_have_xinerama="yes"
4177 if test "${ac_cv_have_xinerama}" = "yes"; then
4178 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4180 CFLAGS="${CFLAGS_save}"
4181 CPPFLAGS="${CPPFLAGS_save}"
4184 dnl Check for XF86VidMode extension
4186 ac_cv_have_xf86vidmode="no"
4187 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4188 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4189 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4190 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4191 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4192 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4193 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4194 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4195 ac_cv_have_xf86vidmode="yes"
4197 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4198 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4199 VLC_ADD_LIBS([x11],[-lXxf86vm])
4200 VLC_ADD_LIBS([glx],[-lXxf86vm])
4201 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4202 ac_cv_have_xf86vidmode="yes"
4206 [#ifdef HAVE_X11_XLIB_H
4207 # include <X11/Xlib.h>
4210 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4211 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4213 CFLAGS="${CFLAGS_save}"
4214 CPPFLAGS="${CPPFLAGS_save}"
4220 dnl (enabled by default except on beos)
4222 AC_ARG_ENABLE(opengl,
4223 [ --enable-opengl OpenGL support (default enabled)])
4224 if test "${enable_opengl}" != "no" &&
4225 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4226 if test "${SYS}" != "darwin"; then
4227 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4228 VLC_ADD_PLUGIN([opengl])
4229 if test "${SYS}" != "mingw32"; then
4230 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4232 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4236 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4237 VLC_ADD_PLUGIN([opengl])
4238 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4246 [ --enable-sdl SDL support (default enabled)])
4247 AC_ARG_ENABLE(sdl-image,
4248 [ --enable-sdl-image SDL image support (default enabled)])
4249 if test "${enable_sdl}" != "no"
4252 AC_ARG_WITH(sdl-config-path,
4253 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4254 [ if test "${with_sdl_config_path}" != "no"
4256 SDL_PATH="${with_sdl_config_path}:${PATH}"
4258 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4259 SDL_CONFIG="${SDL12_CONFIG}"
4260 SDL_HEADER="SDL12/SDL.h"
4261 SDL_IMAGE="SDL12/SDL_image.h"
4262 if test "${SDL_CONFIG}" = "no"
4264 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4265 SDL_CONFIG=${SDL11_CONFIG}
4266 SDL_HEADER="SDL11/SDL.h"
4267 SDL_IMAGE="SDL11/SDL_image.h"
4269 if test "${SDL_CONFIG}" = "no"
4271 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4272 SDL_HEADER="SDL/SDL.h"
4273 SDL_IMAGE="SDL/SDL_image.h"
4275 # check for cross-compiling
4277 AC_ARG_WITH(sdl-prefix,
4278 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4280 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4281 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4283 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4285 if test "${SDL_CONFIG}" != "no"
4287 # SDL on Darwin is heavily patched and can only run SDL_image
4288 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4289 VLC_ADD_PLUGIN([vout_sdl])
4290 VLC_ADD_PLUGIN([aout_sdl])
4292 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4293 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4294 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4295 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4296 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4297 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4298 As a last resort we also test for SDL.h presence),
4299 [ AC_MSG_ERROR([The development package for SDL is not installed.
4300 Please install it and try again. Alternatively you can also configure with
4303 AS_IF([ test "${enable_sdl_image}" != "no"],[
4304 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4305 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4306 VLC_ADD_PLUGIN([sdl_image])
4307 AC_CHECK_LIB(png, png_set_rows,
4308 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4309 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4310 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4311 AC_CHECK_LIB(tiff, TIFFClientOpen,
4312 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4313 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4314 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4315 As a last resort we also test for SDL_image.h presence),
4316 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4317 You should install it alongside your SDL package.])
4320 CPPFLAGS="${CPPFLAGS_save}"
4321 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4323 AC_MSG_ERROR([The development package for SDL is not installed.
4324 Please install it and try again. Alternatively you can also configure with
4328 elif test "${enable_sdl}" = "yes"
4330 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4331 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4339 AC_ARG_ENABLE(freetype,
4340 [ --enable-freetype freetype support (default enabled)])
4341 AC_ARG_ENABLE(fribidi,
4342 [ --enable-fribidi fribidi support (default enabled)])
4343 if test "${enable_freetype}" != "no"
4345 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4346 VLC_ADD_PLUGIN([freetype])
4348 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4349 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4350 if test "${SYS}" = "mingw32"; then
4351 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4353 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4354 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4355 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4356 AC_CHECK_HEADERS(Carbon/Carbon.h,
4357 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4360 AS_IF([ test "${enable_freetype}" = "yes"],[
4361 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4362 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4368 if test "${enable_fribidi}" != "no"
4370 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4371 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4372 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4380 AC_ARG_ENABLE(libxml2,
4381 [ --enable-libxml2 libxml2 support (default enabled)])
4382 if test "${enable_libxml2}" != "no"
4385 AC_ARG_WITH(xml2-config-path,
4386 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4387 [ if test "${with_xml2_config_path}" != "no"; then
4388 XML2_PATH="${with_xml2_config_path}:${PATH}"
4390 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4391 if test "${XML2_CONFIG}" != "no"; then
4392 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4393 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4394 dnl depends on the xmlTextReader extension
4395 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4396 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4397 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4398 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4399 VLC_ADD_PLUGIN([xml]) ],[
4400 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4401 if test "${enable_xml2}" = "yes"; then
4402 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4405 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4406 if test "${enable_xml2}" = "yes"; then
4407 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4409 LDFLAGS="${LDFLAGS_save}"
4410 CPPFLAGS="${CPPFLAGS_save}"
4412 if test "${enable_xml2}" = "yes"; then
4413 AC_MSG_ERROR([Could not find libxml2])
4422 [ --enable-svg SVG support (default disabled)])
4423 if test "${enable_svg}" = "yes"
4425 PKG_CHECK_MODULES(SVG,
4426 librsvg-2.0 >= 2.9.0,
4428 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4429 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4430 VLC_ADD_PLUGIN([svg]) ],
4431 [AC_MSG_WARN(SVG library not found)])
4435 dnl Snapshot vout module (with cache)
4437 AC_ARG_ENABLE(snapshot,
4438 [ --enable-snapshot snapshot module (default disabled)])
4439 if test "${enable_snapshot}" = "yes"
4441 VLC_ADD_PLUGIN([snapshot])
4445 dnl Qt Embedded module
4446 dnl (disabled by default)
4449 [ --enable-qte QT Embedded support (default disabled)])
4450 if test "${enable_qte}" = "yes"
4453 [ --with-qte=PATH Qt Embedded headers and libraries])
4454 if test "${with_qte}" != "no" -a -n "${with_qte}"
4456 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4457 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])
4459 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4460 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4462 VLC_ADD_PLUGIN([qte])
4464 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4465 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4466 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4468 CPPFLAGS="${CPPFLAGS_save}"
4472 dnl Qt Video output module
4473 dnl (disabled by default)
4475 dnl AC_ARG_ENABLE(qt_video,
4476 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4477 dnl if test "${enable_qt_video}" = "yes"
4479 dnl VLC_ADD_PLUGIN([qt_video])
4480 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4481 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4482 dnl AC_CHECK_LIB(qt-mt,main,[
4483 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4485 dnl AC_CHECK_LIB(qt,main,[
4486 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4489 dnl NEED_QTE_MAIN=yes
4490 dnl LDFLAGS="${LDFLAGS_save}"
4491 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4495 dnl Roku HD1000 Video output module
4497 AC_ARG_ENABLE(hd1000v,
4498 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4499 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4500 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4501 test "${enable_hd1000v}" = "yes"); then
4503 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4505 can_build_roku="yes"
4509 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4511 if test "$can_build_roku" = "yes"
4513 VLC_ADD_PLUGIN([hd1000v])
4514 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4520 dnl Windows DirectX module
4523 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4525 VLC_ADD_PLUGIN([panoramix])
4528 AC_ARG_ENABLE(directx,
4529 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4530 if test "${enable_directx}" != "no"
4532 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4534 AC_ARG_WITH(directx,
4535 [ --with-directx=PATH Win32 DirectX headers])
4536 if test -z "${with_directx}"
4538 AC_CHECK_HEADERS(ddraw.h,
4539 [ VLC_ADD_PLUGIN([vout_directx])
4540 VLC_ADD_PLUGIN([aout_directx])
4541 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4543 AC_CHECK_HEADERS(GL/gl.h,
4544 [ VLC_ADD_PLUGIN([glwin32])
4545 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4547 AC_CHECK_HEADERS(d3d9.h,
4548 [ VLC_ADD_PLUGIN([direct3d])
4549 VLC_ADD_LIBS([direct3d],[-lgdi32])
4552 AC_MSG_CHECKING(for directX headers in ${with_directx})
4553 if test -f ${with_directx}/ddraw.h
4555 VLC_ADD_PLUGIN([vout_directx])
4556 VLC_ADD_PLUGIN([aout_directx])
4557 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4558 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4562 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4569 dnl Linux framebuffer module
4572 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4573 if test "${enable_fb}" != "no"
4575 AC_CHECK_HEADERS(linux/fb.h, [
4576 VLC_ADD_PLUGIN([fb])
4581 dnl Linux MGA module
4584 [ --enable-mga Linux kernel Matrox support (default disabled)],
4585 [ if test "${enable_mga}" = "yes"
4587 VLC_ADD_PLUGIN([mga])
4593 AC_ARG_ENABLE(svgalib,
4594 [ --enable-svgalib SVGAlib support (default disabled)])
4595 if test "${enable_svgalib}" = "yes"
4597 VLC_ADD_PLUGIN([svgalib])
4598 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4603 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4604 dnl TODO: support for static linking
4606 AC_ARG_ENABLE(directfb,
4607 [ --enable-directfb DirectFB support (default disabled)])
4608 AC_ARG_WITH(directfb,
4609 [ --with-directfb=PATH path to DirectFB headers and libraries])
4611 if test "${enable_directfb}" = "yes"; then
4612 have_directfb="false"
4613 CPPFLAGS_mydirectfb=
4615 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4616 dnl Trying the given location
4617 CPPFLAGS_save="${CPPFLAGS}"
4620 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4621 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4622 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4624 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4625 LIBS="${LIBS} ${LIBS_new}"
4627 dnl FIXME: too obscure
4628 AC_CHECK_HEADER([directfb.h], [
4629 AC_CHECK_LIB([direct],[direct_initialize], [
4630 AC_CHECK_LIB([fusion], [fusion_enter], [
4631 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4632 ], have_directfb="false")
4633 ], have_directfb="false")
4634 ], have_directfb="false")
4637 CPPFLAGS="${CPPFLAGS_save}"
4640 if test "${have_directfb}" = "true"; then
4641 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4642 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4645 dnl Look for directfb-config
4646 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4647 if test "${DIRECTFB_CONFIG}" != "no"; then
4648 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4649 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4650 have_directfb="true"
4652 dnl Trying with pkg-config
4653 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4654 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4655 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4656 have_directfb="true"
4657 ], [have_directfb="false"])
4660 if test "${have_directfb}" = "true"; then
4661 VLC_ADD_PLUGIN([directfb])
4662 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4663 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4665 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4675 [ --enable-ggi GGI support (default disabled)])
4676 if test "${enable_ggi}" = "yes"
4678 VLC_ADD_PLUGIN([ggi])
4679 VLC_ADD_LIBS([ggi],[-lggi])
4681 [ --with-ggi=PATH path to libggi],
4682 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4684 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4685 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4692 AC_ARG_ENABLE(glide,
4693 [ --enable-glide Glide (3dfx) support (default disabled)])
4694 if test "${enable_glide}" = "yes"
4696 CFLAGS_save="${CFLAGS}"
4698 [ --with-glide=PATH path to libglide],
4699 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4701 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4702 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4703 CFLAGS="$CFLAGS -I${with_glide}/include"
4705 CFLAGS="$CFLAGS -I/usr/include/glide"
4706 AC_CHECK_HEADER(glide.h,[
4707 VLC_ADD_PLUGIN([glide])
4708 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4709 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4711 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4713 CFLAGS="${CFLAGS_save}"
4720 [ --enable-aa aalib output (default disabled)])
4721 if test "${enable_aa}" = "yes"
4723 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4724 if test "${have_aa}" = "true"
4726 VLC_ADD_PLUGIN([aa])
4727 VLC_ADD_LIBS([aa],[-laa])
4735 [ --enable-caca libcaca output (default disabled)])
4736 if test "${enable_caca}" = "yes"
4739 AC_ARG_WITH(caca-config-path,
4740 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4741 [ if test "${with_caca_config_path}" != "no"
4743 CACA_PATH="${with_caca_config_path}:${PATH}"
4745 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4746 if test "${CACA_CONFIG}" != "no"
4748 VLC_ADD_PLUGIN([caca])
4749 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4750 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4751 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4756 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4762 dnl win32 GDI plugin
4764 AC_ARG_ENABLE(wingdi,
4765 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4766 if test "${enable_wingdi}" != "no"; then
4767 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4768 VLC_ADD_PLUGIN([wingdi])
4769 VLC_ADD_LIBS([wingdi],[-lgdi32])
4771 if test "${SYS}" = "mingwce"; then
4772 VLC_ADD_PLUGIN([wingdi])
4773 VLC_ADD_PLUGIN([wingapi])
4781 AC_ARG_WITH(,[Audio plugins:])
4784 dnl OSS /dev/dsp module (enabled by default except on win32)
4787 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4789 if test "${enable_oss}" != "no" &&
4790 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4791 test "${enable_oss}" = "yes")
4793 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4794 VLC_ADD_PLUGIN([oss])
4795 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4803 [ --enable-esd Esound library support (default disabled)],
4804 [if test "${enable_esd}" = "yes"
4806 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4807 if test "${ESD_CONFIG}" != "no"
4809 VLC_ADD_PLUGIN([esd])
4810 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4811 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4816 dnl Pulseaudio module
4818 AC_ARG_ENABLE(pulse,
4819 [ --enable-pulse Pulseaudio support (default enabled)])
4820 if test "${enable_pulse}" != "no"
4822 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4823 [ VLC_ADD_PLUGIN([pulse])
4824 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4825 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4826 [AC_MSG_WARN(pulsaudio library not found)])
4830 dnl Portaudio module
4832 AC_ARG_ENABLE(portaudio,
4833 [ --enable-portaudio Portaudio library support (default disabled)],
4834 [if test "${enable_portaudio}" = "yes"
4836 VLC_ADD_PLUGIN([portaudio])
4837 VLC_ADD_CXXFLAGS([portaudio],[])
4838 if test "${SYS}" = "mingw32"; then
4839 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4841 VLC_ADD_LIBS([portaudio],[-lportaudio])
4846 dnl aRts module -- broken (freeze wxWidgets)
4849 [ --enable-arts aRts sound server (default disabled)],
4850 [if test "${enable_arts}" = "yes"
4852 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4853 if test "${ARTS_CONFIG}" != "no"
4855 VLC_ADD_PLUGIN([arts])
4856 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4857 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4865 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4866 if test "${enable_alsa}" != "no"
4868 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4869 if test "${have_alsa}" = "true"
4871 CFLAGS="${CFLAGS_save}"
4872 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4873 #define ALSA_PCM_NEW_SW_PARAMS_API
4874 #include <alsa/asoundlib.h>],
4875 [snd_pcm_hw_params_get_period_time(0,0,0);],
4876 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4877 VLC_ADD_PLUGIN([alsa])
4878 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4880 if test "${enable_alsa}" = "yes"; then
4881 AC_MSG_ERROR([Could not find ALSA development headers])
4887 dnl win32 waveOut plugin
4889 AC_ARG_ENABLE(waveout,
4890 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4891 if test "${enable_waveout}" != "no"; then
4892 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4893 VLC_ADD_PLUGIN([waveout])
4894 VLC_ADD_LIBS([waveout],[-lwinmm])
4896 if test "${SYS}" = "mingwce"; then
4897 VLC_ADD_PLUGIN([waveout])
4902 dnl CoreAudio plugin
4904 AC_ARG_ENABLE(macosx-audio,
4905 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4906 if test "${enable_macosx-audio}" != "no" &&
4907 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4909 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4910 [ VLC_ADD_PLUGIN([auhal])
4911 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4912 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4916 dnl Roku HD1000 audio
4918 AC_ARG_ENABLE(hd1000a,
4919 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4920 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4921 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4922 test "${enable_hd1000a}" = "yes")
4925 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4926 VLC_ADD_PLUGIN([hd1000a])
4927 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4935 [ --enable-jack JACK audio I/O modules (default disabled)],,
4938 AS_IF([test "${enable_jack}" != "no"], [
4939 AC_CHECK_HEADERS(jack/jack.h, [
4940 VLC_ADD_PLUGIN([access_jack])
4941 VLC_ADD_PLUGIN([jack])
4942 VLC_ADD_LIBS([access_jack jack],[-ljack])
4943 ],[AC_MSG_ERROR([cannot find JACK headers])])
4947 dnl CyberLink for C++ UPnP stack
4949 AC_ARG_ENABLE(cyberlink,
4950 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4951 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4952 AC_ARG_WITH(cyberlink-tree,
4953 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4956 dnl test for --with-cyberlink-tree
4958 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4960 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4961 AS_IF([test -z "${real_cyberlink_tree}"], [
4962 dnl The given directory can't be found
4964 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4966 CPPFLAGS_save="${CPPFLAGS}"
4967 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4968 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4969 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4970 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4971 VLC_ADD_PLUGIN([upnp_cc])
4973 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4975 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4976 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4977 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4978 dnl The mere fact that we have to make such an ugly check sucks
4979 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4982 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4983 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4984 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4985 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4986 using namespace CyberLink;
4988 class testclass : public SearchResponseListener, public MediaPlayer
4990 virtual void deviceSearchResponseReceived( SSDPPacket *)
4997 addSearchResponseListener (this);
5001 ],[testclass l;])],[LIBS_cclink="$l"])
5004 dnl should not happen - otherwise this needs fixing - hence FAILURE
5005 AS_IF([test "${LIBS_cclink}" = "no"],
5006 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
5007 AC_MSG_RESULT([${LIBS_cclink}])
5008 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
5011 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
5013 CPPFLAGS="${CPPFLAGS_save}"
5019 dnl UPnP Plugin (Intel SDK)
5022 [ --enable-upnp Intel UPnP SDK (default enabled)])
5024 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
5025 AS_IF([test "x${enable_upnp}" != "xno"], [
5026 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
5027 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
5028 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
5030 AS_IF([test "${has_upnp}" = "yes"], [
5031 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
5037 AS_IF([test "${has_upnp}" = "yes"], [
5038 VLC_ADD_PLUGIN([upnp_intel])
5043 dnl Interface plugins
5046 AC_ARG_WITH(,[Interface plugins:])
5048 dnl special case for BeOS
5049 if test "${SYS}" = "beos"
5051 VLC_ADD_BUILTINS([beos])
5057 AC_ARG_ENABLE(skins2,
5058 [ --enable-skins2 Skins2 interface module (default disabled)])
5059 if test "${enable_skins2}" = "yes" ||
5060 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
5061 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
5063 dnl test for the required libraries
5064 skins2_missing_lib="no"
5067 if test "${have_freetype}" != "yes"; then
5068 skins2_missing_lib="yes"
5069 if test "${enable_skins2}" = "yes"; then
5070 AC_MSG_ERROR([Could not find freetype (required for skins2)])
5074 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
5075 VLC_ADD_PLUGIN([skins2])
5076 ALIASES="${ALIASES} svlc"
5077 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
5078 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5079 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
5081 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
5082 VLC_ADD_PLUGIN([skins2])
5083 ALIASES="${ALIASES} svlc"
5084 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
5085 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5086 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
5088 else if test "${skins2_missing_lib}" = "no"; then
5089 VLC_ADD_PLUGIN([skins2])
5090 ALIASES="${ALIASES} svlc"
5091 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
5092 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5093 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
5096 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
5101 dnl AC_ARG_ENABLE(gtk,
5102 dnl [ --enable-gtk Gtk+ support (default enabled)])
5103 dnl if test "${enable_gtk}" != "no"
5105 dnl GTK_PATH="${PATH}"
5106 dnl AC_ARG_WITH(gtk-config-path,
5107 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
5108 dnl [ if test "${with_gtk_config_path}" != "no"
5110 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
5112 dnl # look for gtk-config
5113 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
5114 dnl GTK_CONFIG=${GTK12_CONFIG}
5115 dnl if test "${GTK_CONFIG}" = "no"
5117 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
5119 dnl if test "${GTK_CONFIG}" != "no"
5121 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
5123 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.])
5125 dnl if test "${SYS}" != "mingw32"; then
5126 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
5127 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
5129 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5130 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5132 dnl # now look for the gtk.h header
5133 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5134 dnl ac_cv_gtk_headers=yes
5135 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5136 dnl ac_cv_gtk_headers=no
5137 dnl echo "Cannot find gtk development headers."
5139 dnl if test "${ac_cv_gtk_headers}" = "yes"
5141 dnl VLC_ADD_PLUGIN([gtk])
5142 dnl if test "${SYS}" != "mingw32"; then
5143 dnl NEED_GTK_MAIN=yes
5145 dnl ALIASES="${ALIASES} gvlc"
5147 dnl CPPFLAGS="${CPPFLAGS_save}"
5152 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5154 dnl AC_ARG_ENABLE(gtk2,
5155 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5156 dnl if test "${enable_gtk2}" = "yes"
5158 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5159 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5160 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5161 dnl VLC_ADD_PLUGIN([gtk2])
5162 dnl if test "${SYS}" != "mingw32"; then
5163 dnl NEED_GTK2_MAIN=yes
5168 dnl PDA Gtk+2 module
5171 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5172 if test "${enable_pda}" = "yes"
5174 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5175 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5176 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5177 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5178 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5179 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5180 VLC_ADD_PLUGIN([pda])
5181 if test "${SYS}" != "mingw32"; then
5185 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5188 dnl dnl Gnome module
5190 dnl AC_ARG_ENABLE(gnome,
5191 dnl [ --enable-gnome Gnome interface support (default disabled)],
5192 dnl [if test "${enable_gnome}" = "yes"; then
5193 dnl # look for gnome-config
5194 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5195 dnl if test -x ${GNOME_CONFIG}
5197 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5198 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5200 dnl # now look for the gnome.h header
5201 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5202 dnl AC_CHECK_HEADERS(gnome.h, [
5203 dnl VLC_ADD_PLUGIN([gnome])
5204 dnl NEED_GTK_MAIN=yes
5205 dnl NEED_GNOME_MAIN=yes
5206 dnl ALIASES="${ALIASES} gnome-vlc"
5207 dnl dnl We need this because of some moronic gnomesupport.h flavours
5208 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5209 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5210 dnl AC_MSG_RESULT(yes)
5211 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5212 dnl Define if <gnome.h> defines strndup.)],[
5213 dnl AC_MSG_RESULT(no)])
5215 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5216 dnl developement tools or remove the --enable-gnome option])
5218 dnl CPPFLAGS="${CPPFLAGS_save}"
5222 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5224 dnl AC_ARG_ENABLE(gnome2,
5225 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5226 dnl if test "${enable_gnome2}" = "yes"
5228 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5229 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5230 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5231 dnl VLC_ADD_PLUGIN([gnome2])
5232 dnl if test "${SYS}" != "mingw32"; then
5233 dnl NEED_GNOME2_MAIN=yes
5238 dnl wxWidgets module
5240 AC_ARG_ENABLE(wxwidgets,
5241 [ --enable-wxwidgets wxWidgets support (default disabled)])
5243 if test "${enable_wxwidgets}" = "yes"
5245 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5246 WXWIDGETS_PATH="${PATH}"
5247 AC_ARG_WITH(wx-config-path,
5248 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5249 [ if test "${with_wx_config_path}" != "no"
5251 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5253 WXWIDGETS_NAME="wx-config"
5254 AC_ARG_WITH(wx-config,
5255 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5256 [ if test "${with_wx_config}" != "no"
5258 WXWIDGETS_NAME="${with_wx_config}"
5260 # look for wx-config
5261 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5262 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5264 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5266 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5270 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5271 # into a warning. However better would be to fix playlist.cpp
5272 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5273 [ac_cv_cxx_fpermissive],
5274 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5275 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5276 ac_cv_cxx_fpermissive=no)])
5277 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5278 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5280 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5281 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5282 # check if we must link against gtk2 libs
5283 # if __WXGTK20__ && __WXGTK__ are defined
5284 # for modules/gui/wxwidgets/video.cpp
5285 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5288 #error ok, we need to link against gtk2
5290 ])],[WXGTK=no],[WXGTK=yes])
5291 if test "$WXGTK" = "yes"; then
5292 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5294 if ${WX_CONFIG} --unicode
5296 # wxwidgets should provide the following flags but does not
5297 # the following is required to compile for win32
5298 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5300 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5302 if test "$have_libcdio" = "yes"
5304 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5305 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5307 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5310 if test "$have_libvcdinfo" = "yes"
5312 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5313 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5315 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5318 # now look for the wxprec.h header
5319 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5320 ac_cv_wx_headers=yes
5321 AC_CHECK_HEADERS(wx/wxprec.h, , [
5323 echo "Cannot find wxWidgets development headers."
5325 if test "${ac_cv_wx_headers}" = "yes"
5327 VLC_ADD_PLUGIN([wxwidgets])
5328 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5329 ALIASES="${ALIASES} wxvlc"
5331 CPPFLAGS="${CPPFLAGS_save}"
5334 dnl WxWidgets plugin will yield incorrect code without this
5335 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5343 [ --enable-qt4 QT 4 support (default enabled) ])
5344 AS_IF([test "${enable_qt4}" != "no" &&
5345 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5346 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5347 [ VLC_ADD_PLUGIN([qt4])
5348 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5349 ALIASES="${ALIASES} qvlc"
5351 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5352 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5354 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5356 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5357 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5358 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5359 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5361 AS_IF([test "${enable_qt4}" = "yes"],[
5362 AC_MSG_ERROR(QT4 library not found)
5364 AC_MSG_WARN(QT4 library not found)
5368 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5371 dnl WinCE GUI module
5373 AC_ARG_ENABLE(wince,
5374 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5375 if test "${enable_wince}" != "no"; then
5376 if test "${SYS}" = "mingwce"; then
5377 VLC_ADD_BUILTINS([wince])
5378 VLC_ADD_CXXFLAGS([wince],[])
5379 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5381 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5382 elif test "${SYS}" = "mingw32"; then
5383 VLC_ADD_CXXFLAGS([wince],[])
5384 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5386 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5391 dnl Simple test for skins2 dependency
5393 if test "${enable_skins2}" != "no"
5395 if test "${WX_CONFIG}" = "no"
5397 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.])
5404 dnl AC_ARG_ENABLE(qt,
5405 dnl [ --enable-qt Qt interface support (default disabled)],
5406 dnl [if test "${enable_qt}" = "yes"; then
5407 dnl VLC_ADD_PLUGIN([qt])
5408 dnl ALIASES="${ALIASES} qvlc"
5409 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5410 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5411 dnl AC_CHECK_LIB(qt-mt,main,[
5412 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5414 dnl AC_CHECK_LIB(qt,main,[
5415 dnl VLC_ADD_LIBS([qt],[-lqt])
5418 dnl LDFLAGS="${LDFLAGS_save}"
5419 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5420 dnl if test -x ${QTDIR}/bin/moc
5422 dnl MOC=${QTDIR}/bin/moc
5431 dnl AC_ARG_ENABLE(kde,
5432 dnl [ --enable-kde KDE interface support (default disabled)],
5433 dnl [if test "${enable_kde}" = "yes"; then
5434 dnl VLC_ADD_PLUGIN([kde])
5435 dnl ALIASES="${ALIASES} kvlc"
5436 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5437 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5438 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5439 dnl AC_CHECK_LIB(kfile,main,[
5440 dnl VLC_ADD_LIBS([kde],[-lkfile])
5442 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5443 dnl AC_CHECK_LIB(kdeui,main,[
5444 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5446 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5447 dnl AC_CHECK_LIB(kio,main,[
5448 dnl VLC_ADD_LIBS([kde],[-lkio])
5450 dnl LDFLAGS="${LDFLAGS_save}"
5451 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5452 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5453 dnl if test -x ${QTDIR}/bin/moc
5455 dnl MOC=${QTDIR}/bin/moc
5462 dnl Opie QT embedded module
5465 [ --enable-opie Qt embedded interface support (default disabled)],
5466 [if test "${enable_opie}" = "yes"; then
5468 [ --with-qte=PATH Qt Embedded headers and libraries])
5469 if test "${with_qte}" != "no" -a -n "${with_qte}"
5471 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5472 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])
5474 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5475 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5477 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5478 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5479 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5481 CPPFLAGS="${CPPFLAGS_save}"
5483 VLC_ADD_PLUGIN([opie])
5485 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5486 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5487 if test "${with_qte}" != "no" -a -n "${with_qte}"
5489 MOC=${with_qte}/bin/moc
5491 MOC=${QTDIR}/bin/moc
5496 dnl MacOS X video output/gui modules
5498 AC_ARG_ENABLE(macosx,
5499 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5500 if test "x${enable_macosx}" = "xyes"
5502 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5503 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5504 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5505 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5506 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5507 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5508 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5509 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5510 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5511 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5512 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5514 # VLC_ADD_PLUGIN([access_eyetv])
5515 VLC_ADD_PLUGIN([macosx])
5516 VLC_ADD_PLUGIN([minimal_macosx])
5519 CFLAGS="$CFLAGS -x objective-c"
5520 AC_CHECK_HEADER(QuartzCore/CALayer.h,
5521 [VLC_ADD_PLUGIN([opengllayer])
5522 VLC_ADD_OBJCFLAGS([opengllayer], [-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5])])
5530 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5531 if test "${enable_qnx}" != "no"
5533 AC_CHECK_HEADERS(Ph.h, [
5534 VLC_ADD_PLUGIN([qnx])
5535 VLC_ADD_LIBS([qnx],[-lasound -lph])
5542 AC_ARG_ENABLE(ncurses,
5543 [ --disable-ncurses ncurses interface support (default enabled)],
5544 [if test "${enable_ncurses}" != "no"; then
5545 AC_CHECK_HEADER(ncurses.h,
5546 [AC_CHECK_LIB(ncursesw, mvprintw,
5547 [VLC_ADD_PLUGIN([ncurses])
5548 VLC_ADD_LIBS([ncurses],[-lncursesw])
5549 ALIASES="${ALIASES} nvlc"
5550 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5551 AC_CHECK_LIB(ncursesw, tgetent, [],
5552 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5553 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5554 [AS_IF([test "x${enable_ncurses}" != "x"],
5555 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5561 [AC_CHECK_LIB( ncurses, mvprintw,
5562 [VLC_ADD_PLUGIN([ncurses])
5563 ALIASES="${ALIASES} nvlc"
5564 VLC_ADD_LIBS([ncurses],[-lncurses])
5565 AC_CHECK_LIB(ncurses, tgetent, [],
5566 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5567 [AS_IF([test "x${enable_ncurses}" != "x"],
5568 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5571 [AS_IF([test "x${enable_ncurses}" != "x"], [
5572 AC_MSG_ERROR([libncurses not found])])]
5583 [ --enable-xosd xosd interface support (default disabled)])
5584 if test "${enable_xosd}" = "yes"
5586 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5587 AC_CHECK_LIB(xosd,xosd_set_offset,
5588 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5589 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5590 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5591 AC_TRY_COMPILE([#include <xosd.h>],
5592 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5593 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5594 if test "${have_xosd}" = "true"
5596 VLC_ADD_PLUGIN([xosd])
5597 VLC_ADD_LIBS([xosd],[-lxosd])
5602 dnl Framebuffer (overlay) plugin
5604 AC_ARG_ENABLE(fbosd,
5605 [ --enable-fbosd fbosd interface support (default disabled)])
5606 if test "${enable_fbosd}" = "yes"
5608 AC_CHECK_HEADERS(linux/fb.h, [
5609 VLC_ADD_PLUGIN([fbosd])
5614 dnl Visualisation plugin
5616 AC_ARG_ENABLE(visual,
5617 [ --enable-visual visualisation plugin (default enabled)])
5618 if test "${enable_visual}" != "no"
5620 VLC_ADD_PLUGIN([visual])
5624 dnl OpenGL visualisation plugin
5626 AC_ARG_ENABLE(galaktos,
5627 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5628 if test "${enable_galaktos}" = "yes"
5630 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5631 VLC_ADD_PLUGIN([galaktos])
5632 if test "${SYS}" != "mingw32"; then
5633 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5635 VLC_ADD_LIBS([galaktos],[-lopengl32])
5641 dnl goom visualization plugin
5644 [ --enable-goom goom visualisation plugin (default disabled)])
5645 if test "${enable_goom}" = "yes"
5647 AC_ARG_WITH(goom-tree,
5648 [ --with-goom-tree=PATH goom tree for static linking (required)])
5651 dnl test for --with-goom-tree
5653 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5654 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5655 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5656 if test -z "${real_goom_tree}"; then
5657 dnl The given directory can't be found
5659 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5661 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5662 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5663 VLC_ADD_PLUGIN([goom])
5664 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5665 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5667 dnl The given libgoom2 wasn't built, try to look for the old goom
5669 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5670 if test -f "${real_goom_tree}/libgoom.a"; then
5671 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5672 VLC_ADD_PLUGIN([goom])
5673 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5674 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5676 dnl The given libgoom wasn't built
5678 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5682 AC_CHECK_HEADERS(goom/goom.h, [
5683 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5684 AC_CHECK_LIB(goom2, goom_init, [
5685 VLC_ADD_PLUGIN([goom])
5686 VLC_ADD_LIBS([goom],[-lgoom2])
5688 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5690 LDFLAGS="${LDFLAGS_save}"
5696 dnl AtmoLight (homebrew AmbiLight)
5698 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5700 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5701 if test "${enable_atmo}" != "no"; then
5703 VLC_ADD_PLUGIN([atmo])
5709 dnl Bonjour services discovery
5711 AC_ARG_ENABLE(bonjour,
5712 [ --enable-bonjour Bonjour services discovery (default enabled)])
5713 if test "${enable_bonjour}" != "no"
5715 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5716 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5717 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5718 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5719 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5720 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5721 VLC_ADD_PLUGIN([bonjour]) ],
5722 [AC_MSG_WARN(avahi-client library not found)])
5729 [ --enable-lirc lirc support (default disabled)])
5730 if test "${enable_lirc}" = "yes"
5732 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5733 if test "${have_lirc}" = "true"
5735 VLC_ADD_PLUGIN([lirc])
5736 VLC_ADD_LIBS([lirc],[-llirc_client])
5741 AC_ARG_WITH(,[Misc options:])
5746 AC_ARG_ENABLE(libgcrypt,
5747 [ --enable-libgcrypt libgcrypts support (default enabled)])
5749 GCRYPT_PATH="${PATH}"
5750 AC_ARG_WITH(libgcrypt-config-path,
5751 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5752 [ if test "${with_libgcrypt_config_path}" != "no"
5754 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5757 if test "${enable_libgcrypt}" != "no"
5759 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5760 dnl it and looks for libgcrypt headers in the wrong place.
5761 if test "${host_cpu}" = "${build_cpu}"
5763 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5765 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5768 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5769 AS_IF([test "${have_libgcrypt}" = "yes"],[
5770 # look for libgcrypt-config
5771 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5772 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5773 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5779 AC_ARG_ENABLE(gnutls,
5780 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5782 AS_IF([test "${enable_gnutls}" != "no"], [
5783 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5784 VLC_ADD_PLUGIN([gnutls])
5785 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5786 AS_IF([test "${SYS}" = "mingw32"], [
5787 dnl pkg-config --libs gnutls omits these
5788 VLC_ADD_LIBS([gnutls], [-lz])
5789 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5791 AS_IF([test "${have_libgcrypt}" = "yes"],[
5792 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5793 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5795 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5797 AS_IF([test "${enable_gnutls}" = "yes"], [
5798 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5804 dnl update checking system
5806 AC_ARG_ENABLE(update-check,
5807 [ --enable-update-check update checking system (default disabled)])
5808 if test "${enable_update_check}" = "yes"
5810 if test "${have_libgcrypt}" != "yes"
5812 AC_MSG_ERROR([libgcrypt is required for update checking system])
5814 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5815 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5816 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5820 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5822 dnl We give the user the opportunity to specify
5823 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5826 [ --with-words=endianness set endianness (big or little)])
5827 case "${with_words}" in
5829 ac_cv_c_bigendian=yes
5832 ac_cv_c_bigendian=no
5835 dnl Try to guess endianness by matching patterns on a compiled
5836 dnl binary, by looking for an ASCII or EBCDIC string
5837 AC_CACHE_CHECK([whether the byte order is big-endian],
5838 [ac_cv_c_bigendian],
5839 [ac_cv_c_bigendian="unknown"
5840 [cat >conftest.c <<EOF
5841 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5842 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5843 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5844 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5845 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5846 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5847 int main(void) { _a(); _e(); return 0; }
5850 if test -f conftest.c
5852 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5853 && test -f conftest.o
5855 if test "`strings conftest.o | grep BIGenDianSyS`"
5857 ac_cv_c_bigendian="yes"
5859 if test "`strings conftest.o | grep LiTTleEnDian`"
5861 ac_cv_c_bigendian="no"
5866 if test "${ac_cv_c_bigendian}" = "unknown"
5868 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5872 dnl Now we know what to use for endianness, just put it in the header
5873 if test "${ac_cv_c_bigendian}" = "yes"
5875 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5879 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5882 AC_ARG_ENABLE(loader,
5883 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5884 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5885 AS_IF([test "${enable_loader}" = "yes"],
5886 [ VLC_ADD_PLUGIN([dmo])
5887 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5888 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5889 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5890 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5891 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5892 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5895 AC_ARG_WITH(,[Components:])
5901 [ --enable-vlc build the VLC media player (default enabled)])
5902 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5905 dnl Microsoft ActiveX support
5908 AC_ARG_ENABLE(activex,
5909 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5910 AC_ARG_WITH(wine-sdk-path,
5911 [ --with-wine-sdk-path=PATH path to wine sdk])
5912 if test "${enable_activex}" != "no"
5914 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5916 AC_CHECK_PROGS(MIDL, [midl], no)
5917 if test "${with_wine_sdk_path}" != ""
5919 WINE_SDK_PATH=${with_wine_sdk_path}
5920 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5925 AC_CHECK_HEADERS(ole2.h,
5926 [AC_CHECK_HEADERS(olectl.h,
5927 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5928 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5929 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5930 AC_CHECK_HEADERS(objsafe.h,
5931 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5939 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5941 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5943 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5948 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5949 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5950 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5951 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5952 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5958 AC_ARG_ENABLE(mozilla,
5959 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5960 AC_ARG_WITH(mozilla-sdk-path,
5961 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5963 if test "${enable_mozilla}" = "yes"
5965 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5966 need_xpcom_libs=false
5968 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5970 dnl New firefox-1.5 SDK api
5971 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5973 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5976 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5979 PKG_CHECK_MODULES([NSPR], [nspr],
5982 AC_MSG_ERROR([Please install the nspr development tools.])
5988 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5989 MOZILLA_REQUIRED_HEADERS=1
5990 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5991 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5992 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5997 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5998 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
6000 MOZILLA_REQUIRED_HEADERS=
6002 firefox_include=`pkg-config --variable=includedir firefox-plugin`
6003 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
6004 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
6005 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
6006 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
6008 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
6010 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
6011 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6012 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
6014 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
6015 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
6016 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
6017 VLC_ADD_PLUGIN([mozilla])
6019 CPPFLAGS="${CPPFLAGS_save}"
6022 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
6023 if test "${MOZILLA_CONFIG}" = "no"
6025 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
6026 if test "${SEAMONKEY_CONFIG}" = "no"
6028 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
6029 if test "${XULRUNNER_CONFIG}" = "no"
6031 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
6034 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
6037 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
6042 if test ! -z "${MOZILLA_CONFIG}"
6044 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
6045 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
6046 AC_CHECK_LIB(Xt,XtStrings,
6048 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
6049 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
6052 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
6054 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6055 LDFLAGS="${LDFLAGS_save}"
6059 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6060 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
6061 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
6062 if ${need_xpcom_libs}; then
6063 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
6065 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
6067 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
6068 MOZILLA_REQUIRED_HEADERS=1
6069 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6070 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6071 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6076 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6078 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6080 MOZILLA_REQUIRED_HEADERS=
6081 CPPFLAGS="${CPPFLAGS_save}"
6082 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
6084 dnl End of moz_sdk = ""
6086 dnl special case for mingw32
6087 if test "${SYS}" = "mingw32"
6089 AC_CHECK_TOOL(CYGPATH, cygpath, "")
6090 dnl latest gecko sdk does not have an xpcom directory
6091 if test -d "${with_mozilla_sdk_path}/xpcom"; then
6092 mozilla_sdk_xpcom="/xpcom"
6096 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
6097 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
6098 MOZILLA_REQUIRED_HEADERS=1
6099 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6100 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6101 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6106 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6108 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6110 MOZILLA_REQUIRED_HEADERS=
6112 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6113 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])
6114 if ${need_xpcom_libs}; then
6115 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])
6116 if test "${SYS}" = "mingw32"; then
6117 dnl latest gecko sdk does not have embedstring
6118 if test -d "${real_mozilla_sdk}/embedstring/bin"
6120 VLC_ADD_LIBS([mozilla],[-lembedstring])
6124 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
6126 if test -n "${CYGPATH}"; then
6127 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
6129 CPPFLAGS="${CPPFLAGS_save}"
6133 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
6135 dnl Tests for Osso and Xsp
6136 if test "${enable_x11}" != "no" &&
6137 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
6138 test "${enable_x11}" = "yes"); then
6139 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
6140 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
6141 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
6142 VLC_ADD_LIBS([x11],[-losso])
6145 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6146 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
6147 VLC_ADD_LIBS([x11],[-lXsp])
6152 dnl Mediacontrol Python bindings
6154 AC_ARG_ENABLE(python-bindings,
6155 [ --enable-python-bindings Enable Python bindings (default disabled)])
6157 if test "${enable_python_bindings}" = "yes"; then
6158 AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
6159 CFLAGS="${CFLAGS_save} `${PYTHON_CONFIG} --cflags`"
6160 AC_CHECK_HEADER([Python.h],
6161 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python",
6162 AC_MSG_ERROR([You have to install python-dev to build the bindings]),
6165 CFLAGS="${CFLAGS_save}"
6167 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
6172 AC_ARG_ENABLE(java-bindings,
6173 [ --enable-java-bindings Enable Java bindings (default disabled)])
6174 if test "${enable_java_bindings}" = "yes"
6177 echo "****** WARNING **** WARNING ***** WARNING *************"
6178 echo "*** To compile the java bindings go to the "
6179 echo "*** bindings/java folder and run mvn install. "
6180 echo "*** You need maven2 installed. "
6181 echo "*** This configuration will continue, so you will be "
6182 echo "*** able to compile VideoLAN as usual. "
6183 echo "*******************************************************"
6190 AC_ARG_ENABLE(testsuite,
6191 [ --enable-testsuite build test modules (default disabled)])
6192 if test "${enable_testsuite}" = "yes"
6194 TESTS="test1 test2 test3 test4"
6196 dnl we define those so that bootstrap sets the right linker
6197 VLC_ADD_CXXFLAGS([test2],[])
6198 VLC_ADD_OBJCFLAGS([test3],[])
6199 dnl this one is needed until automake knows what to do
6200 VLC_ADD_LIBS([test3],[-lobjc])
6202 VLC_ADD_PLUGIN([test1])
6203 VLC_ADD_PLUGIN([test2])
6204 VLC_ADD_PLUGIN([test3])
6205 VLC_ADD_PLUGIN([test4])
6209 dnl Microsoft Layer for Unicode for WIN9x/ME
6211 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6213 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6214 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6221 if test "${NEED_GTK_MAIN}" != "no"
6223 VLC_ADD_PLUGIN([gtk_main])
6224 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6225 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6228 if test "${NEED_GNOME_MAIN}" != "no"
6230 VLC_ADD_PLUGIN([gnome_main])
6231 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6232 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6235 if test "${NEED_GTK2_MAIN}" != "no"
6237 VLC_ADD_PLUGIN([gtk2_main])
6238 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6239 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6240 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6241 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6244 if test "${NEED_GNOME2_MAIN}" != "no"
6246 VLC_ADD_PLUGIN([gnome2_main])
6247 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6248 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6254 if test "${NEED_QTE_MAIN}" != "no"
6256 VLC_ADD_PLUGIN([qte_main])
6257 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6258 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6259 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6264 dnl Plugin and builtin checks
6268 dnl Automagically disable plugins if there is no system support for
6269 dnl dynamically loadable files (.so, .dll, .dylib).
6270 dnl don't forget vlc-win32 still can load .dll as plugins
6271 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6272 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6276 AS_IF([test "${enable_shared}" = "no"], [
6280 AS_IF([test "${plugin_support}" != "no"], [
6281 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6283 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6285 dnl Temporary(?) hack for plugins/builtins transition
6286 dnl VLC_ADD_PLUGIN([${BUILTINS}])
6290 dnl Pic and shared libvlc stuff
6292 AS_IF([test "${SYS}" = "mingw32"], [
6293 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6294 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6298 dnl Stuff used by the program
6300 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6301 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6302 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6303 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6304 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6305 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6306 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6307 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6308 AC_SUBST(VERSION_MAJOR)
6309 AC_SUBST(VERSION_MINOR)
6310 AC_SUBST(VERSION_REVISION)
6311 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6312 if test "${build_os}" = "cygwin"
6314 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6316 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6318 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6319 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6322 dnl Handle substvars that use $(top_srcdir)
6324 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6325 AC_SUBST(VLC_CONFIG)
6326 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6334 dnl Create the vlc-config script
6336 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6339 dnl Configuration is finished
6349 AC_SUBST(MOZILLA_SDK_PATH)
6350 AC_SUBST(WINE_SDK_PATH)
6352 AC_SUBST(AM_CPPFLAGS)
6353 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6354 AC_SUBST(FILE_LIBVLC_DLL)
6355 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6357 dnl Create vlc-config.in
6358 VLC_OUTPUT_VLC_CONFIG_IN
6361 extras/package/win32/vlc.win32.nsi
6363 projects/activex/Makefile
6364 projects/activex/axvlc.inf
6365 bindings/python/Makefile
6367 extras/package/ipkg/Makefile
6368 libs/loader/Makefile
6371 projects/mozilla/Makefile
6380 modules/access/Makefile
6381 modules/access/bda/Makefile
6382 modules/access/dshow/Makefile
6383 modules/access/dvb/Makefile
6384 modules/access/mms/Makefile
6385 modules/access/cdda/Makefile
6386 modules/access/rtsp/Makefile
6387 modules/access/rtmp/Makefile
6388 modules/access/v4l2/Makefile
6389 modules/access/vcd/Makefile
6390 modules/access/vcdx/Makefile
6391 modules/access/screen/Makefile
6392 modules/access_filter/Makefile
6393 modules/access_output/Makefile
6394 modules/audio_filter/Makefile
6395 modules/audio_filter/channel_mixer/Makefile
6396 modules/audio_filter/converter/Makefile
6397 modules/audio_filter/resampler/Makefile
6398 modules/audio_filter/spatializer/Makefile
6399 modules/audio_mixer/Makefile
6400 modules/audio_output/Makefile
6401 modules/codec/Makefile
6402 modules/codec/cmml/Makefile
6403 modules/codec/dmo/Makefile
6404 modules/codec/ffmpeg/Makefile
6405 modules/codec/subtitles/Makefile
6406 modules/codec/spudec/Makefile
6407 modules/codec/xvmc/Makefile
6408 modules/control/Makefile
6409 modules/control/http/Makefile
6410 modules/demux/Makefile
6411 modules/demux/asf/Makefile
6412 modules/demux/avi/Makefile
6413 modules/demux/mp4/Makefile
6414 modules/demux/mpeg/Makefile
6415 modules/demux/playlist/Makefile
6416 modules/gui/Makefile
6417 modules/gui/beos/Makefile
6418 modules/gui/pda/Makefile
6419 modules/gui/macosx/Makefile
6420 modules/gui/minimal_macosx/Makefile
6421 modules/gui/qnx/Makefile
6422 modules/gui/qt4/Makefile
6423 modules/gui/skins2/Makefile
6424 modules/gui/wxwidgets/Makefile
6425 modules/gui/wince/Makefile
6426 modules/meta_engine/Makefile
6427 modules/misc/Makefile
6428 modules/misc/dummy/Makefile
6429 modules/misc/lua/Makefile
6430 modules/misc/memcpy/Makefile
6431 modules/misc/notify/Makefile
6432 modules/misc/testsuite/Makefile
6433 modules/misc/playlist/Makefile
6434 modules/misc/osd/Makefile
6435 modules/misc/xml/Makefile
6436 modules/misc/probe/Makefile
6437 modules/mux/Makefile
6438 modules/mux/mpeg/Makefile
6439 modules/mux/rtp/Makefile
6440 modules/packetizer/Makefile
6441 modules/services_discovery/Makefile
6442 modules/stream_out/Makefile
6443 modules/stream_out/transrate/Makefile
6444 modules/video_chroma/Makefile
6445 modules/video_filter/Makefile
6446 modules/video_filter/atmo/Makefile
6447 modules/video_filter/dynamicoverlay/Makefile
6448 modules/video_output/Makefile
6449 modules/video_output/msw/Makefile
6450 modules/video_output/qte/Makefile
6451 modules/video_output/x11/Makefile
6452 modules/visualization/Makefile
6453 modules/visualization/visual/Makefile
6454 modules/visualization/galaktos/Makefile
6457 dnl Generate makefiles
6460 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6461 # not provided with the source
6462 ${SHELL} ./config.status --file=vlc-config
6463 chmod 0755 vlc-config
6465 dnl echo "Enabled builtin modules :"
6466 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6468 dnl echo "Enabled plugin modules :"
6469 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6471 dnl Shortcut to nice compile message
6473 echo '#! /bin/sh' >compile
6474 echo rm -f .error\$\$ >>compile
6475 echo ERROR=0 >>compile
6476 echo export PATH=$PATH LANG=C >>compile
6477 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6478 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6479 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6480 echo rm -f .error\$\$ >>compile
6481 echo exit \$ERROR >>compile
6485 libvlc configuration
6486 --------------------
6487 version : ${VERSION}
6489 architecture : ${ARCH}
6491 test "${enable_debug}" = "yes" && printf "debug "
6492 test "${enable_cprof}" = "yes" && printf "cprof "
6493 test "${enable_gprof}" = "yes" && printf "gprof "
6494 test "${enable_optimizations}" = "yes" && printf "optim "
6495 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6497 if test "${enable_vlc}" != "no"; then
6498 echo "vlc aliases :${ALIASES}"
6500 echo "build vlc executable : no"
6502 echo "plugins/bindings :${PLUGINS_BINDINGS}
6504 You can check which modules have been enabled
6505 with \`./vlc-config --list plugin'.
6506 You can tune the compiler flags in vlc-config.
6507 To build vlc and its plugins, type \`./compile' or \`make'.
6509 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6511 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6513 echo " FFmpeg will be REALLY slow."
6514 echo " VLC WILL NOT PERFORM AS EXPECTED."