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 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_PLUGINS([access_mmap])])
477 AS_IF([test "${SYS}" = "linux"], [
481 dnl Check for setlocal and langinfo
482 AC_CHECK_FUNCS(setlocale)
483 AC_CHECK_HEADERS(langinfo.h)
484 AC_CHECK_FUNCS(nl_langinfo)
486 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
487 [AC_TRY_LINK([#include <langinfo.h>],
488 [char* cs = nl_langinfo(CODESET);],
489 ac_cv_langinfo_codeset=yes,
490 ac_cv_langinfo_codeset=no)
492 if test ${ac_cv_langinfo_codeset} = yes; then
493 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
494 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
497 AC_CHECK_FUNCS(connect,,[
498 AC_CHECK_LIB(socket,connect,[
499 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
500 LIBS_socket="-lsocket"
504 AC_CHECK_FUNCS(send,,[
505 AC_CHECK_LIB(socket,send,[
506 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])
510 AC_CHECK_FUNCS(gethostbyname,,[
511 AC_CHECK_LIB(nsl,gethostbyname,[
512 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
514 AC_CHECK_LIB(bind,gethostbyname,[
515 VLC_ADD_LIBS([access_mms],[-lbind])
520 AC_CHECK_HEADERS(zlib.h, [
521 VLC_ADD_LIBS([access_http],[-lz])
524 dnl Check for socklen_t
525 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
526 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
527 ac_cv_type_socklen_t,
528 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
529 [#include <sys/types.h>
531 # include <winsock2.h>
532 # include <ws2tcpip.h>
534 # include <sys/socket.h>
535 #endif]], [[socklen_t len; len = 0;]])],
536 ac_cv_type_socklen_t=yes,
537 ac_cv_type_socklen_t=no)])
538 AS_IF([test "$ac_cv_type_socklen_t" = no],
539 [AC_DEFINE(socklen_t, int)])
541 dnl Check for struct sockaddr_storage
542 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
543 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
544 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
546 [#include <sys/types.h>
547 #if defined( UNDER_CE )
548 # include <winsock.h>
549 #elif defined( WIN32 )
550 # include <winsock2.h>
552 # include <sys/socket.h>
553 #endif], [struct sockaddr_storage addr;],
554 ac_cv_struct_sockaddr_storage=yes,
555 ac_cv_struct_sockaddr_storage=no)])
556 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
557 AC_DEFINE(sockaddr_storage, sockaddr)
558 AC_DEFINE(ss_family, sa_family)
561 dnl getaddrinfo, getnameinfo and gai_strerror check
562 dnl -lnsl and -lsocket are needed on Solaris;
563 dnl we purposedly make the test fail on Windows
565 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
566 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
568 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
571 AC_CHECK_FUNCS([getnameinfo gai_strerror])
574 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
575 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
576 [#include <sys/types.h>
577 #if defined( WIN32 ) || defined( UNDER_CE )
578 # if defined(UNDER_CE) && defined(sockaddr_storage)
579 # undef sockaddr_storage
581 # include <winsock2.h>
582 # include <ws2tcpip.h>
587 dnl Check for va_copy
588 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
590 [#include <stdarg.h>],
591 [va_list ap1, ap2; va_copy(ap1,ap2);],
592 [ac_cv_c_va_copy="yes"],
593 [ac_cv_c_va_copy="no"]))
594 if test "${ac_cv_c_va_copy}" = "yes"; then
595 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
597 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
599 [#include <stdarg.h>],
600 [va_list ap1, ap2; __va_copy(ap1,ap2);],
601 [ac_cv_c___va_copy="yes"],
602 [ac_cv_c___va_copy="no"]))
603 if test "${ac_cv_c___va_copy}" = "yes"; then
604 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
607 AC_CHECK_FUNCS(inet_aton,,[
608 AC_CHECK_LIB(resolv,inet_aton,[
609 VLC_ADD_LIBS([libvlc],[-lresolv])
613 dnl Check for getopt (always use builtin one on win32)
614 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
618 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
619 [ # FreeBSD has a gnugetopt library for this:
620 AC_CHECK_LIB([gnugetopt],[getopt_long],
621 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
622 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
625 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
627 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
630 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
633 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])
635 AC_CHECK_LIB(m,sqrt,[
636 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
638 AC_CHECK_LIB(m,ceil,[
639 VLC_ADD_LIBS([mosaic],[-lm])
642 VLC_ADD_LIBS([gaussianblur],[-lm])
644 AC_CHECK_LIB(mx,sqrtf,[
645 VLC_ADD_LIBS([x264],[-lmx])
647 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
649 dnl Check for dynamic plugins
650 ac_cv_have_plugins=no
653 AC_CHECK_HEADERS(mach-o/dyld.h,
654 [AC_CHECK_FUNCS(NSLinkModule,
655 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
656 ac_cv_have_plugins=yes])])
659 if test "${ac_cv_have_plugins}" = "no"; then
660 AC_CHECK_HEADERS(dl.h)
661 ac_cv_my_have_shl_load=no
662 AC_CHECK_FUNC(shl_load,
663 [ac_cv_my_have_shl_load=yes,
664 AC_CHECK_LIB(dld, shl_load,
665 [ac_cv_my_have_shl_load=yes
666 VLC_ADD_LIBS([libvlc],[-ldld])])])
667 if test "${ac_cv_my_have_shl_load}" = "yes"; then
668 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
669 ac_cv_have_plugins=yes
674 if test "${ac_cv_have_plugins}" = "no"; then
675 AC_CHECK_LIB(dld, dld_link,
676 [VLC_ADD_LIBS([libvlc],[-ldld])
677 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
678 ac_cv_have_plugins=yes])
682 if test "${ac_cv_have_plugins}" = "no"; then
683 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
684 AC_CHECK_LIB(kernel32, main,
685 [VLC_ADD_LIBS([libvlc],[-lkernel32])
686 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
687 ac_cv_have_plugins=yes])
692 if test "${ac_cv_have_plugins}" = "no"; then
693 if test "${SYS}" = "mingwce"; then
694 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
695 ac_cv_have_plugins=yes
700 if test "${ac_cv_have_plugins}" = "no"; then
701 AC_CHECK_HEADERS(image.h)
702 AC_CHECK_FUNCS(load_add_on,
703 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
704 ac_cv_have_plugins=yes])
707 # Only test for dlopen() if the others didn't work
708 if test "${ac_cv_have_plugins}" = "no"; then
709 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
710 ac_cv_my_have_dlopen=no
711 AC_CHECK_FUNC(dlopen,
712 ac_cv_my_have_dlopen=yes,
713 AC_CHECK_LIB(dl, dlopen,
714 ac_cv_my_have_dlopen=yes
715 VLC_ADD_LIBS([libvlc realaudio],[-ldl]),
716 AC_CHECK_LIB(svld, dlopen,
717 ac_cv_my_have_dlopen=yes
718 VLC_ADD_LIBS([libvlc],[-lsvld]))))
719 if test "${ac_cv_my_have_dlopen}" = "yes"; then
720 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
721 ac_cv_have_plugins=yes
725 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
726 dnl Check for pthreads - borrowed from XMMS
728 if test "${THREAD_LIB}" = "error"; then
729 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
731 if test "${THREAD_LIB}" = "error"; then
732 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
734 if test "${THREAD_LIB}" = "error"; then
735 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
737 if test "${THREAD_LIB}" = "error"; then
738 AC_CHECK_FUNCS(pthread_mutex_lock)
742 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
744 AC_CHECK_LIB(rt, clock_nanosleep, [
745 VLC_ADD_LIBS([libvlc],[-lrt])
746 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
749 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
753 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
754 AC_CHECK_LIB(rt,nanosleep,
755 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
756 [AC_CHECK_LIB(posix4,nanosleep,
757 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
760 if ${have_nanosleep}; then
761 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
763 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
765 dnl Check for misc headers
766 AC_MSG_CHECKING(for strncasecmp in strings.h)
767 AC_EGREP_HEADER(strncasecmp,strings.h,[
769 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
770 Define if <strings.h> defines strncasecmp.)],[
773 dnl Check for headers
774 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)
775 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
776 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h])
777 AC_CHECK_HEADERS([net/if.h], [], [],
779 #include <sys/socket.h>
781 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
782 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
783 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
784 AC_CHECK_HEADERS(syslog.h)
785 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
789 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
790 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
791 AC_CHECK_TYPE(ssize_t,, [
792 AC_DEFINE(ssize_t, int)
795 dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job.
796 if test "${SYS}" != "darwin"; then
797 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
802 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
803 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
805 dnl Mac OS X and other OSes don't have declaration for nanosleep
806 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
807 AC_MSG_CHECKING(for nanosleep in time.h)
808 AC_EGREP_HEADER(nanosleep,time.h,[
810 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
811 Define if <time.h> defines nanosleep.)
815 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
817 dnl Make sure we have timespecs
818 AC_MSG_CHECKING(for timespec in sys/time.h)
819 AC_EGREP_HEADER(timespec,sys/time.h,[
821 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
822 Define if <sys/time.h> defines struct timespec.)
827 dnl Check for threads library
828 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
829 AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h)
830 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
832 dnl Find where are the X headers and libraries
835 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.
837 PKG_PROG_PKG_CONFIG()
841 [ --enable-hal Linux HAL services discovery (default enabled)])
843 if test "${enable_hal}" != "no"
845 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
846 [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API])
847 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
848 VLC_ADD_PLUGINS([hal])
849 VLC_ADD_PLUGINS([probe_hal])
850 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
851 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
852 dnl No hal 0.5 Test for 0.2
853 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
854 [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library])
855 VLC_ADD_PLUGINS([hal])
856 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
857 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
858 [AC_MSG_WARN(HAL library not found)])
865 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
868 if test "${enable_dbus}" != "no"
871 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
872 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
873 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
874 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
875 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
876 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
877 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
878 dnl Check for dbus control interface
879 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
880 if test "${enable_dbus_control}" != "no"
882 VLC_ADD_PLUGINS([dbus])
883 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
884 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
886 dnl Check for Telepathy
887 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
888 if test "${enable_telepathy}" != "no"; then
889 VLC_ADD_PLUGINS([telepathy])
890 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
891 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
893 dnl Power Management Inhibiter
894 VLC_ADD_PLUGINS([inhibit])
895 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
896 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
898 if ${PKG_CONFIG} --exists dbus-1
900 [AC_ARG_ENABLE(old-dbus,
901 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
903 if test "${enable_old_dbus}" != "yes"
906 echo "****** WARNING **** WARNING ***** WARNING *************"
907 echo "*** Your D-Bus version is < 1.0.0"
908 echo "*** You are using old and buggy software and so"
909 echo "*** D-Bus support has been disabled."
910 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
911 echo "*** Alternatively you can force the use of your old and"
912 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
913 echo "*******************************************************"
917 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
918 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
919 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
920 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
921 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
922 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
924 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
925 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
926 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
927 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
928 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
930 [ PKG_CHECK_MODULES( DBUS, dbus-1,
931 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
932 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
933 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
934 [AC_MSG_WARN(DBUS library not found)])
945 dnl Build the gtk_main plugins?
951 dnl build the qte plugin ?
954 dnl Check for ntohl, etc.
955 AC_CACHE_CHECK([for ntohl in sys/param.h],
956 [ac_cv_c_ntohl_sys_param_h],
957 [CFLAGS="${CFLAGS_save} -Wall -Werror"
958 AC_TRY_COMPILE([#include <sys/param.h>],
959 [int meuh; ntohl(meuh);],
960 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
961 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
962 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
964 CFLAGS="${CFLAGS_save}"
966 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
967 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
969 dnl Check for various optimization flags
970 AC_CACHE_CHECK([if \$CC accepts -Os],
972 [CFLAGS="${CFLAGS_save} -Os"
973 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
974 if test "${ac_cv_c_os}" != "no"; then
975 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
977 AC_CACHE_CHECK([if \$CC accepts -O],
979 [CFLAGS="${CFLAGS_save} -O"
980 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
981 if test "${ac_cv_c_o}" != "no"; then
982 if test "${ac_cv_c_o3}" = "no"; then
983 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
988 AC_CACHE_CHECK([if \$CC accepts -O3],
990 [CFLAGS="${CFLAGS_save} -O3"
991 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
992 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
993 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
995 AC_CACHE_CHECK([if \$CC accepts -O2],
997 [CFLAGS="${CFLAGS_save} -O2"
998 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
999 if test "${ac_cv_c_o2}" != "no"; then
1000 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1002 AC_CACHE_CHECK([if \$CC accepts -O],
1004 [CFLAGS="${CFLAGS_save} -O"
1005 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1006 if test "${ac_cv_c_o}" != "no"; then
1007 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1012 AC_CACHE_CHECK([if \$CC accepts -O0],
1014 [CFLAGS="${CFLAGS_save} -O0"
1015 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1016 if test "${ac_cv_c_o0}" != "no"; then
1017 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1020 dnl Check for -ffast-math
1021 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1022 [ac_cv_c_fast_math],
1023 [CFLAGS="${CFLAGS_save} -ffast-math"
1024 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1025 if test "${ac_cv_c_fast_math}" != "no"; then
1026 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1029 dnl Check for -funroll-loops
1030 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1031 if test "${SYS}" != "beos"
1033 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1034 [ac_cv_c_unroll_loops],
1035 [CFLAGS="${CFLAGS_save} -funroll-loops"
1036 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1037 if test "${ac_cv_c_unroll_loops}" != "no"; then
1038 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1042 dnl Check for -fomit-frame-pointer
1043 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1044 [ac_cv_c_omit_frame_pointer],
1045 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1046 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1047 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1048 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1051 dnl Check for -fvisibility=hidden
1052 dnl Don't test on mingw32, because it is going to work with just a warning
1053 dnl even if it doesn't support it
1054 if test "${SYS}" != "mingw32"
1056 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1057 [ac_cv_c_visibility_hidden],
1058 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1059 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1060 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1061 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1065 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1067 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1068 dnl AC_LANG_PUSH(C++)
1069 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1070 dnl [ac_cv_c_visibility_inlines_hidden],
1071 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1072 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1073 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1074 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1076 dnl CXXFLAGS="${CXXFLAGS_save}"
1077 dnl AC_LANG_POP(C++)
1079 dnl Check for -mdynamic-no-pic
1080 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1081 dnl [ac_cv_c_dynamic_no_pic],
1082 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1083 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1084 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1085 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1086 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1089 dnl Check for Darwin plugin linking flags
1090 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1092 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1093 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1094 if test "${ac_cv_ld_darwin}" != "no"; then
1095 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1098 dnl Check for standard plugin linking flags
1099 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1100 dnl AS_IF([test "${SYS}" = "beos"], [
1101 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1103 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1104 dnl [ac_cv_ld_plugins],
1105 dnl [CFLAGS="${CFLAGS_save} -shared"
1106 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1107 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1108 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1112 dnl Checks for __attribute__(aligned()) directive
1113 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1114 [ac_cv_c_attribute_aligned],
1115 [ac_cv_c_attribute_aligned=0
1116 CFLAGS="${CFLAGS_save} -Werror"
1117 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1119 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1120 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1122 CFLAGS="${CFLAGS_save}"])
1123 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1124 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1125 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1128 dnl Checks for __attribute__(format()) directive
1129 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1130 [ac_cv_c_attribute_format],
1131 [ac_cv_c_attribute_format=no
1132 CFLAGS="${CFLAGS_save} -Werror"
1134 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1135 [ac_cv_c_attribute_format=yes])
1136 CFLAGS="${CFLAGS_save}"])
1137 if test "${ac_cv_c_attribute_format}" != "no"; then
1138 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1141 dnl Check for __attribute__((packed))
1142 AC_CACHE_CHECK([for __attribute__((packed))],
1143 [ac_cv_c_attribute_packed],
1144 [ac_cv_c_attribute_packed=no
1145 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1146 [ac_cv_c_attribute_packed=yes])])
1147 if test "${ac_cv_c_attribute_packed}" != "no"; then
1148 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1151 dnl Check for __attribute__((visibility()))
1152 AC_CACHE_CHECK([for __attribute__((visibility()))],
1153 [ac_cv_c_attribute_visibility],
1154 [ac_cv_c_attribute_visibility=no
1155 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1156 [ac_cv_c_attribute_visibility=yes])])
1157 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1158 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1164 case "${host_cpu}" in
1174 dnl Enable profiling
1176 AC_ARG_ENABLE(gprof,
1177 [ --enable-gprof gprof profiling (default disabled)])
1178 AC_ARG_ENABLE(cprof,
1179 [ --enable-cprof cprof profiling (default disabled)])
1180 test "${enable_gprof}" != "yes" && enable_gprof="no"
1181 test "${enable_cprof}" != "yes" && enable_cprof="no"
1186 VLC_ADD_PLUGINS([dummy])
1187 VLC_ADD_PLUGINS([logger])
1188 VLC_ADD_PLUGINS([memcpy])
1190 VLC_ADD_PLUGINS([mpgv])
1191 VLC_ADD_PLUGINS([mpga])
1192 VLC_ADD_PLUGINS([m4v])
1193 VLC_ADD_PLUGINS([m4a])
1194 VLC_ADD_PLUGINS([h264])
1195 VLC_ADD_PLUGINS([vc1])
1196 VLC_ADD_PLUGINS([demux_cdg])
1197 VLC_ADD_PLUGINS([cdg])
1198 VLC_ADD_PLUGINS([ps])
1199 VLC_ADD_PLUGINS([pva])
1200 VLC_ADD_PLUGINS([avi])
1201 VLC_ADD_PLUGINS([asf])
1202 VLC_ADD_PLUGINS([mp4])
1203 VLC_ADD_PLUGINS([rawdv])
1204 VLC_ADD_PLUGINS([rawvid])
1205 VLC_ADD_PLUGINS([nsv])
1206 VLC_ADD_PLUGINS([real])
1207 VLC_ADD_PLUGINS([aiff])
1208 VLC_ADD_PLUGINS([mjpeg])
1209 VLC_ADD_PLUGINS([wav])
1210 VLC_ADD_PLUGINS([voc])
1211 VLC_ADD_PLUGINS([smf])
1212 VLC_ADD_PLUGINS([demuxdump])
1213 VLC_ADD_PLUGINS([flacsys])
1214 VLC_ADD_PLUGINS([tta])
1215 VLC_ADD_PLUGINS([subtitle])
1216 VLC_ADD_PLUGINS([vobsub])
1217 VLC_ADD_PLUGINS([a52sys])
1218 VLC_ADD_PLUGINS([dtssys])
1219 VLC_ADD_PLUGINS([au])
1220 VLC_ADD_PLUGINS([ty])
1221 VLC_ADD_PLUGINS([xa])
1222 VLC_ADD_PLUGINS([nuv])
1224 VLC_ADD_PLUGINS([cvdsub])
1225 VLC_ADD_PLUGINS([svcdsub])
1226 VLC_ADD_PLUGINS([spudec])
1227 VLC_ADD_PLUGINS([subsdec])
1228 VLC_ADD_PLUGINS([subsusf])
1229 VLC_ADD_PLUGINS([t140])
1230 VLC_ADD_PLUGINS([dvbsub])
1231 VLC_ADD_PLUGINS([cc])
1233 VLC_ADD_PLUGINS([cinepak])
1235 VLC_ADD_PLUGINS([araw])
1236 VLC_ADD_PLUGINS([adpcm])
1237 VLC_ADD_PLUGINS([mpeg_audio])
1238 VLC_ADD_PLUGINS([lpcm])
1239 VLC_ADD_PLUGINS([a52])
1240 VLC_ADD_PLUGINS([dts])
1241 VLC_ADD_PLUGINS([flac])
1243 VLC_ADD_PLUGINS([deinterlace])
1244 VLC_ADD_PLUGINS([invert])
1245 VLC_ADD_PLUGINS([adjust])
1246 VLC_ADD_PLUGINS([transform])
1247 VLC_ADD_PLUGINS([wave])
1248 VLC_ADD_PLUGINS([ripple])
1249 VLC_ADD_PLUGINS([psychedelic])
1250 VLC_ADD_PLUGINS([gradient])
1251 VLC_ADD_PLUGINS([motionblur])
1252 VLC_ADD_PLUGINS([rv32])
1253 VLC_ADD_PLUGINS([rotate])
1254 VLC_ADD_PLUGINS([noise])
1255 VLC_ADD_PLUGINS([grain])
1256 VLC_ADD_PLUGINS([extract])
1257 VLC_ADD_PLUGINS([sharpen])
1258 VLC_ADD_PLUGINS([seamcarving])
1259 VLC_ADD_PLUGINS([croppadd])
1260 VLC_ADD_PLUGINS([blendbench])
1261 VLC_ADD_PLUGINS([blend])
1262 VLC_ADD_PLUGINS([scale])
1263 VLC_ADD_PLUGINS([image])
1264 VLC_ADD_PLUGINS([vmem])
1265 VLC_ADD_PLUGINS([logo])
1266 VLC_ADD_PLUGINS([magnify])
1267 VLC_ADD_PLUGINS([puzzle])
1268 VLC_ADD_PLUGINS([colorthres])
1270 VLC_ADD_PLUGINS([playlist])
1271 VLC_ADD_PLUGINS([export])
1272 VLC_ADD_PLUGINS([nsc])
1273 VLC_ADD_PLUGINS([xtag])
1274 dnl Channel mixing audio filters:
1275 VLC_ADD_PLUGINS([converter_fixed])
1276 VLC_ADD_PLUGINS([mono])
1277 VLC_ADD_PLUGINS([trivial_channel_mixer])
1278 dnl Resampling audio filters:
1279 VLC_ADD_PLUGINS([trivial_resampler])
1280 VLC_ADD_PLUGINS([ugly_resampler])
1282 VLC_ADD_PLUGINS([trivial_mixer])
1284 VLC_ADD_PLUGINS([i420_rgb])
1285 VLC_ADD_PLUGINS([grey_yuv])
1287 VLC_ADD_PLUGINS([rawvideo])
1289 VLC_ADD_PLUGINS([access_directory])
1290 VLC_ADD_PLUGINS([access_file])
1291 VLC_ADD_PLUGINS([access_udp])
1292 VLC_ADD_PLUGINS([access_tcp])
1293 VLC_ADD_PLUGINS([access_http])
1294 VLC_ADD_PLUGINS([access_mms])
1295 VLC_ADD_PLUGINS([access_ftp])
1296 VLC_ADD_PLUGINS([access_rtmp])
1297 VLC_ADD_PLUGINS([access_fake])
1299 VLC_ADD_PLUGINS([access_filter_timeshift])
1300 VLC_ADD_PLUGINS([access_filter_record])
1301 VLC_ADD_PLUGINS([access_filter_dump])
1302 VLC_ADD_PLUGINS([access_filter_bandwidth])
1304 VLC_ADD_PLUGINS([packetizer_mpegvideo])
1305 VLC_ADD_PLUGINS([packetizer_h264])
1306 VLC_ADD_PLUGINS([packetizer_mpeg4video])
1307 VLC_ADD_PLUGINS([packetizer_mpeg4audio])
1308 VLC_ADD_PLUGINS([packetizer_vc1])
1310 ALIASES="${ALIASES} cvlc"
1313 dnl default modules that need g++
1316 VLC_ADD_PLUGINS([spatializer])
1319 if test "${SYS}" != "mingwce"; then
1320 VLC_ADD_PLUGINS([gestures])
1321 VLC_ADD_PLUGINS([rc])
1322 VLC_ADD_PLUGINS([telnet])
1323 VLC_ADD_PLUGINS([hotkeys])
1324 VLC_ADD_PLUGINS([showintf])
1325 VLC_ADD_PLUGINS([marq])
1326 VLC_ADD_PLUGINS([podcast])
1327 VLC_ADD_PLUGINS([shout])
1328 VLC_ADD_PLUGINS([sap])
1329 VLC_ADD_PLUGINS([fake])
1330 VLC_ADD_PLUGINS([folder])
1331 VLC_ADD_PLUGINS([rss])
1332 VLC_ADD_PLUGINS([mosaic])
1333 VLC_ADD_PLUGINS([wall])
1334 VLC_ADD_PLUGINS([motiondetect])
1335 VLC_ADD_PLUGINS([clone])
1336 VLC_ADD_PLUGINS([crop])
1337 VLC_ADD_PLUGINS([erase])
1338 VLC_ADD_PLUGINS([bluescreen])
1339 VLC_ADD_PLUGINS([alphamask])
1340 VLC_ADD_PLUGINS([gaussianblur])
1341 VLC_ADD_PLUGINS([i420_yuy2])
1342 VLC_ADD_PLUGINS([i422_yuy2])
1343 VLC_ADD_PLUGINS([i420_ymga])
1344 VLC_ADD_PLUGINS([i422_i420])
1345 VLC_ADD_PLUGINS([yuy2_i422])
1346 VLC_ADD_PLUGINS([yuy2_i420])
1347 VLC_ADD_PLUGINS([chroma_chain])
1348 VLC_ADD_PLUGINS([aout_file])
1349 VLC_ADD_PLUGINS([linear_resampler])
1350 VLC_ADD_PLUGINS([bandlimited_resampler])
1351 VLC_ADD_PLUGINS([float32_mixer])
1352 VLC_ADD_PLUGINS([spdif_mixer])
1353 VLC_ADD_PLUGINS([simple_channel_mixer])
1354 VLC_ADD_PLUGINS([dolby_surround_decoder])
1355 VLC_ADD_PLUGINS([headphone_channel_mixer])
1356 VLC_ADD_PLUGINS([normvol])
1357 VLC_ADD_PLUGINS([equalizer])
1358 VLC_ADD_PLUGINS([param_eq])
1359 VLC_ADD_PLUGINS([converter_float])
1360 VLC_ADD_PLUGINS([a52tospdif])
1361 VLC_ADD_PLUGINS([dtstospdif])
1362 VLC_ADD_PLUGINS([audio_format])
1363 ALIASES="${ALIASES} rvlc"
1367 dnl Some plugins aren't useful on some platforms
1369 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1370 VLC_ADD_PLUGINS([screensaver])
1371 VLC_ADD_PLUGINS([motion])
1372 VLC_ADD_PLUGINS([dynamicoverlay])
1373 elif test "${SYS}" != "mingwce"; then
1374 VLC_ADD_PLUGINS([ntservice])
1375 VLC_ADD_PLUGINS([access_smb])
1376 VLC_ADD_PLUGINS([dmo])
1377 VLC_ADD_PLUGINS([msn])
1378 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1380 VLC_ADD_PLUGINS([win32text])
1382 if test "${SYS}" = "darwin"; then
1383 VLC_ADD_PLUGINS([quartztext])
1384 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1388 dnl Accelerated modules
1391 AC_ARG_WITH(,[Optimization options:])
1393 dnl Check for fully working MMX intrinsics
1394 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1395 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1397 [ --disable-mmx disable MMX optimizations (default auto)],,[
1398 case "${host_cpu}" in
1407 AS_IF([test "${enable_mmx}" != "no"], [
1410 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1411 [ac_cv_c_mmx_intrinsics],
1412 [CFLAGS="${CFLAGS_save} -O -mmmx"
1413 AC_TRY_COMPILE([#include <mmintrin.h>
1417 a = b = c = (__m64)frobzor;
1418 a = _mm_slli_pi16(a, 3);
1419 a = _mm_adds_pi16(a, b);
1420 c = _mm_srli_pi16(c, 8);
1421 c = _mm_slli_pi16(c, 3);
1422 b = _mm_adds_pi16(b, c);
1423 a = _mm_unpacklo_pi8(a, b);
1424 frobzor = (uint64_t)a;],
1425 [ac_cv_c_mmx_intrinsics=yes],
1426 [ac_cv_c_mmx_intrinsics=no])])
1427 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1428 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1429 [Define to 1 if MMX intrinsics are available.])
1430 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1433 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1435 [CFLAGS="${CFLAGS_save}"
1436 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1437 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1438 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1439 AC_DEFINE(CAN_COMPILE_MMX, 1,
1440 [Define to 1 inline MMX assembly is available.])
1441 VLC_ADD_PLUGINS([memcpymmx])
1442 VLC_ADD_PLUGINS([i420_rgb_mmx])
1443 VLC_ADD_PLUGINS([i420_yuy2_mmx])
1444 VLC_ADD_PLUGINS([i422_yuy2_mmx])
1445 VLC_ADD_PLUGINS([i420_ymga_mmx])
1448 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1449 [ac_cv_mmxext_inline],
1450 [CFLAGS="${CFLAGS_save}"
1451 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1452 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1453 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1454 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1455 [Define to 1 if MMX EXT inline assembly is available.])
1456 VLC_ADD_PLUGINS([memcpymmxext])
1460 dnl Check for fully workin SSE2 intrinsics
1461 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1462 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1464 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)],, [
1465 case "${host_cpu}" in
1474 AS_IF([test "${enable_sse}" != "no"], [
1475 ARCH="${ARCH} sse sse2"
1477 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1478 [ac_cv_c_sse2_intrinsics],
1479 [CFLAGS="${CFLAGS_save} -O -msse2"
1480 AC_TRY_COMPILE([#include <emmintrin.h>
1484 a = b = c = _mm_set1_epi64((__m64)frobzor);
1485 a = _mm_slli_epi16(a, 3);
1486 a = _mm_adds_epi16(a, b);
1487 c = _mm_srli_epi16(c, 8);
1488 c = _mm_slli_epi16(c, 3);
1489 b = _mm_adds_epi16(b, c);
1490 a = _mm_unpacklo_epi8(a, b);
1491 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1492 [ac_cv_c_sse2_intrinsics=yes],
1493 [ac_cv_c_sse2_intrinsics=no])])
1494 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1495 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1496 [Define to 1 if SSE2 intrinsics are available.])
1497 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1500 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1502 [CFLAGS="${CFLAGS_save}"
1503 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1504 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1505 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1506 AC_DEFINE(CAN_COMPILE_SSE, 1,
1507 [Define to 1 if SSE inline assembly is available.])
1510 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1511 [ac_cv_sse2_inline],
1512 [CFLAGS="${CFLAGS_save}"
1513 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1514 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1515 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1516 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1517 [Define to 1 if SSE2 inline assembly is available.])
1518 VLC_ADD_PLUGINS([i420_rgb_sse2])
1519 VLC_ADD_PLUGINS([i420_yuy2_sse2])
1520 VLC_ADD_PLUGINS([i422_yuy2_sse2])
1524 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1525 [ac_cv_3dnow_inline],
1526 [CFLAGS="${CFLAGS_save}"
1527 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1528 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1529 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1530 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1531 [Define to 1 if 3D Now! inline assembly is available.])
1532 VLC_ADD_PLUGINS([memcpy3dn])
1535 AC_ARG_ENABLE(altivec,
1536 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1537 AS_IF([test "${host_cpu}" = "powerpc"],
1538 [enable_altivec=yes], [enable_altivec=no])
1540 AS_IF([test "${enable_altivec}" = "yes"], [
1541 ARCH="${ARCH} altivec";
1542 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1543 [ac_cv_altivec_inline],
1544 [CFLAGS="${CFLAGS_save}"
1545 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1546 ac_cv_altivec_inline="yes",
1547 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1548 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1549 [ac_cv_altivec_inline="-Wa,-m7400"],
1550 ac_cv_altivec_inline=no)
1552 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1553 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1554 [Define to 1 if AltiVec inline assembly is available.])
1555 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1556 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1557 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1558 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1559 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1560 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1562 VLC_ADD_PLUGINS([memcpyaltivec])
1563 VLC_ADD_PLUGINS([i420_yuy2_altivec])
1566 dnl The AltiVec C extensions
1568 dnl There are several possible cases:
1569 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1570 dnl need <altivec.h>
1571 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1572 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1573 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1574 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1575 dnl - Others: test should fail
1576 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1578 [# OS X/PPC test (gcc 4.x)
1579 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1580 AC_TRY_COMPILE([vector unsigned char foo;],
1581 [vec_ld(0, (unsigned char *)0);],
1582 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1583 [# OS X/PPC test (gcc 3.x)
1584 CFLAGS="${CFLAGS_save} -faltivec"
1585 AC_TRY_COMPILE([vector unsigned char foo;],
1586 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1587 [ac_cv_c_altivec="-faltivec"],
1588 dnl Below this are the Linux tests
1589 [# Linux/PPC test (gcc 4.x)
1590 CFLAGS="${CFLAGS_save} -maltivec"
1591 AC_TRY_COMPILE([#include <altivec.h>],
1592 [vec_ld(0, (unsigned char *)0);],
1593 [ac_cv_c_altivec="-maltivec"],
1594 [# Linux/PPC test (gcc 3.3)
1595 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1596 AC_TRY_COMPILE([#include <altivec.h>],
1597 [vec_ld(0, (unsigned char *)0);],
1599 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1600 [# Linux/PPC test (gcc 3.3)
1601 CFLAGS="${CFLAGS_save} -fvec"
1602 AC_TRY_COMPILE([#include <altivec.h>],
1603 [vec_ld(0, (unsigned char *)0);],
1604 [ac_cv_c_altivec="-fvec"],
1605 [ac_cv_c_altivec=no])
1610 CFLAGS="${CFLAGS_save}"
1612 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1613 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1616 AC_CHECK_HEADERS(altivec.h)
1617 CPPFLAGS="${CPPFLAGS_save}"
1619 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1620 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1621 [Define to 1 if C AltiVec extensions are available.])
1622 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1623 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1624 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1625 VLC_ADD_PLUGINS([memcpyaltivec])
1626 VLC_ADD_PLUGINS([i420_yuy2_altivec])
1629 AC_CACHE_CHECK([if linker needs -framework vecLib],
1631 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1632 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1633 LDFLAGS="${LDFLAGS_save}"
1635 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1636 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1641 dnl Special arch tuning
1644 [ --with-tuning=ARCH enable special tuning for an architecture
1645 (default Pentium 2 on IA-32 and G4 on PPC)])
1646 if test -n "${with_tuning}"; then
1647 if test "${with_tuning}" != "no"; then
1648 CFLAGS_TUNING="-mtune=${with_tuning}"
1651 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1652 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1653 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1654 CFLAGS_TUNING="-mtune=pentium2"
1655 elif test "${host_cpu}" = "x86_64"; then
1656 CFLAGS_TUNING="-mtune=athlon64"
1657 elif test "${host_cpu}" = "powerpc"; then
1658 CFLAGS_TUNING="-mtune=G4";
1662 dnl NOTE: this can't be cached cleanly
1663 AS_IF([test "${CFLAGS_TUNING}"],
1664 [CFLAGS_save="${CFLAGS}"
1665 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1667 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1668 AC_COMPILE_IFELSE([ ],
1670 [CFLAGS_TUNING=""; tuning="no"
1671 AS_IF([test "${with_tuning}"],
1672 [AC_MSG_ERROR([requested tuning not supported])])])
1674 AC_MSG_RESULT([$tuning])
1675 CFLAGS="${CFLAGS_save}"
1681 AC_ARG_ENABLE(optimize-memory,
1682 [ --enable-optimize-memory optimize memory usage over performance])
1683 if test "${enable_optimize_memory}" = "yes"; then
1684 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1688 dnl Enable/disable optimizations
1690 AC_ARG_ENABLE(optimizations,
1691 [ --disable-optimizations disable compiler optimizations (default enabled)])
1692 if test "${enable_optimizations}" != "no"; then
1693 if test "${enable_optimize_memory}" = "yes"; then
1694 enable_optimizations="size"
1696 enable_optimizations="speed"
1703 AC_ARG_ENABLE(debug,
1704 [ --enable-debug debug mode (default disabled)])
1705 test "${enable_debug}" != "yes" && enable_debug="no"
1707 [Define to 1 if debug code should NOT be compiled])
1708 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1713 AC_ARG_ENABLE(coverage,
1714 [ --enable-coverage build for test coverage (default disabled)],,
1715 [enable_coverage="no"])
1716 AS_IF([test "${enable_coverage}" != "no"], [
1717 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1718 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1719 LDFLAGS="-lgcov ${LDFLAGS}"
1721 CFLAGS_save="${CFLAGS}"
1722 CXXFLAGS_save="${CXXFLAGS}"
1723 LDFLAGS_save="${LDFLAGS}"
1727 dnl Enable release-specific flags
1729 AC_ARG_ENABLE(release,
1730 [ --enable-release activate extra optimizations (default disabled)])
1731 test "${enable_release}" != "yes" && enable_release="no"
1737 [ --enable-sout Stream output modules (default enabled)])
1738 if test "${enable_sout}" != "no"
1741 VLC_ADD_PLUGINS([access_output_dummy])
1742 VLC_ADD_PLUGINS([access_output_udp])
1743 VLC_ADD_PLUGINS([access_output_file])
1744 VLC_ADD_PLUGINS([access_output_http])
1746 VLC_ADD_PLUGINS([mux_ps])
1747 VLC_ADD_PLUGINS([mux_avi])
1748 VLC_ADD_PLUGINS([mux_mp4])
1749 VLC_ADD_PLUGINS([mux_asf])
1750 VLC_ADD_PLUGINS([mux_dummy])
1751 VLC_ADD_PLUGINS([mux_wav])
1752 VLC_ADD_PLUGINS([mux_mpjpeg])
1753 dnl Packetizers (FIXME: why are the others outside --enable-sout??):
1754 VLC_ADD_PLUGINS([packetizer_copy])
1756 VLC_ADD_PLUGINS([stream_out_dummy])
1757 VLC_ADD_PLUGINS([stream_out_standard])
1758 VLC_ADD_PLUGINS([stream_out_es])
1759 VLC_ADD_PLUGINS([stream_out_rtp])
1760 VLC_ADD_PLUGINS([stream_out_description])
1761 VLC_ADD_PLUGINS([stream_out_duplicate])
1762 VLC_ADD_PLUGINS([stream_out_display])
1763 VLC_ADD_PLUGINS([stream_out_transcode])
1764 VLC_ADD_PLUGINS([stream_out_bridge])
1765 VLC_ADD_PLUGINS([stream_out_mosaic_bridge])
1766 VLC_ADD_PLUGINS([stream_out_autodel])
1767 VLC_ADD_PLUGINS([stream_out_gather])
1768 # VLC_ADD_PLUGINS([stream_out_transrate])
1770 VLC_ADD_PLUGINS([vod_rtsp])
1771 VLC_ADD_PLUGINS([profile_parser])
1773 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1776 AC_ARG_ENABLE(switcher,
1777 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1779 dnl Check for libshout
1780 AC_ARG_ENABLE(shout,
1781 [ --enable-shout libshout output plugin (default disabled)])
1782 if test "${enable_shout}" = "yes"; then
1783 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1784 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1785 VLC_ADD_PLUGINS([access_output_shout])
1786 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1787 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1788 [AC_MSG_WARN(libshout library not found)])
1793 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1794 if test "${enable_lua}" != "no"
1796 PKG_CHECK_MODULES(LUA, lua5.1,
1799 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1800 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1804 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1807 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1808 [LUA_LIBS="-llua5.1"],
1809 AC_CHECK_LIB( lua51 , luaL_newstate,
1810 [LUA_LIBS="-llua51"],
1811 AC_CHECK_LIB( lua , luaL_newstate,
1814 AC_MSG_WARN([lua >= 5.1 not found!])
1820 if test "x${have_lua}" = "xyes" ; then
1821 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1822 VLC_ADD_PLUGINS([lua])
1823 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1824 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1827 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1832 AC_ARG_ENABLE(httpd,
1833 [ --enable-httpd HTTP daemon (default enabled)])
1834 if test "${enable_httpd}" != "no"
1836 VLC_ADD_PLUGINS([http])
1837 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1839 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1842 dnl VideoLAN manager
1845 [ --enable-vlm VideoLAN manager (default enabled)])
1846 if test "${enable_vlm}" != "no"
1848 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1852 dnl Growl notification plugin
1854 AC_ARG_ENABLE(growl,
1855 [ --enable-growl growl notification plugin (default enabled)])
1856 AS_IF([test "${enable_growl}" != "no"], [
1857 VLC_ADD_PLUGINS([growl_udp])
1858 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1859 VLC_ADD_PLUGINS([growl])
1860 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1866 dnl Libnotify notification plugin
1869 AC_ARG_ENABLE(notify,
1870 [ --enable-notify libnotify notification plugin (default enabled)])
1871 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1872 PKG_CHECK_MODULES(NOTIFY, libnotify,
1874 VLC_ADD_PLUGINS([notify])
1875 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1876 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1878 AS_IF([test "${enable_notify}" = "yes"],[
1879 AC_MSG_WARN( libnotify not found) ])
1884 dnl Audioscrobbler plugin
1887 AC_ARG_ENABLE(audioscrobbler,
1888 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1889 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1890 VLC_ADD_PLUGINS([audioscrobbler])
1894 dnl Musicbrainz plugin
1896 AC_ARG_ENABLE(musicbrainz,
1897 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1898 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1899 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1900 [ VLC_ADD_PLUGINS([musicbrainz])
1901 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1902 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1903 [AC_MSG_WARN(MusicBrainz library not found)])
1910 AC_ARG_ENABLE(taglib,
1911 [ --disable-taglib Taglib support (default enabled) ])
1912 AS_IF([test "${enable_taglib}" != "no"],[
1913 PKG_CHECK_MODULES(TAGLIB, taglib,
1914 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1915 VLC_ADD_PLUGINS([taglib])
1916 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1917 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1918 [AC_MSG_WARN(TagLib library not found)])
1926 AC_ARG_WITH(,[Input plugins:])
1930 if test "${enable_livedotcom}"
1932 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1935 if test "${enable_livedotcom}" = "no"
1939 AC_ARG_ENABLE(live555,
1940 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1941 if test "${enable_live555}" != "no"; then
1942 AC_ARG_WITH(live555-tree,
1943 [ --with-live555-tree=PATH live.com tree for static linking])
1946 dnl test for --with-live555-tree
1948 if test "${with_livedotcom_tree}"
1950 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1951 with_live555_tree="${with_livedotcom_tree}"
1954 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1956 CPPFLAGS_save="${CPPFLAGS}"
1957 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1958 if test "${SYS}" = "solaris"; then
1959 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1961 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1962 AC_CHECK_HEADERS(liveMedia.hh, [
1963 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1964 AC_CHECK_LIB(liveMedia_pic, main, [
1965 # We have -lliveMedia_pic, build plugins
1966 VLC_ADD_PLUGINS([live555])
1967 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1969 AC_CHECK_LIB(liveMedia, main, [
1970 # We only have -lliveMedia, do builtins
1971 VLC_ADD_BUILTINS([live555])
1972 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1975 if test "${SYS}" = "mingw32"; then
1976 # add ws2_32 for closesocket, select, recv
1977 VLC_ADD_LIBS([live555],[-lws2_32])
1980 CPPFLAGS="${CPPFLAGS_save}"
1983 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1984 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1985 if test -z "${real_live555_tree}"; then
1986 dnl The given directory can't be found
1988 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1990 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1991 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1993 VLC_ADD_BUILTINS([live555])
1995 if test "${SYS}" = "mingw32"; then
1996 # add ws2_32 for closesocket, select, recv
1997 VLC_ADD_LIBS([live555],[-lws2_32])
2000 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
2001 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
2002 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
2003 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
2005 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
2006 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
2007 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
2008 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
2009 if test "${SYS}" = "solaris"; then
2010 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
2013 dnl The given live555 wasn't built
2015 if test "${enable_live555}" = "yes"; then
2016 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2023 dnl special access module for dc1394 input
2025 AC_ARG_ENABLE(dc1394,
2026 [ --enable-dc1394 dc1394 access module (default disabled)])
2027 if test "${enable_dc1394}" = "yes"
2029 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
2030 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
2031 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
2032 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
2033 VLC_ADD_PLUGINS([dc1394])
2034 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
2037 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2041 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2045 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2049 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
2054 dnl dv module: digital video module check for libraw1394
2057 [ --enable-dv dv input module (default disabled)])
2058 if test "${enable_dv}" = "yes"
2060 AC_ARG_WITH(dv-raw1394,
2061 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
2062 AC_ARG_WITH(dv-raw1394-tree,
2063 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
2065 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
2067 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
2068 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
2070 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
2072 VLC_ADD_PLUGINS([access_dv])
2073 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
2074 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
2076 dnl No libraw1394 could be found, sorry
2078 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
2081 AC_CHECK_HEADERS(libraw1394/raw1394.h,
2082 [ VLC_ADD_PLUGINS([access_dv])
2083 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
2085 if test -n "${enable_dv}"
2087 AC_MSG_ERROR([cannot find libraw1394 headers])
2092 dnl Check for static linking of libraw1394
2093 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
2095 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
2096 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
2097 if test -z "${real_dv_raw1394_tree}"
2099 dnl The given directory can't be found
2101 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
2103 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
2105 dnl Use a custom libraw1394
2106 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
2107 VLC_ADD_BUILTINS([access_dv])
2108 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
2109 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
2111 dnl The given libraw1394 wasn't built
2113 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
2118 dnl Check for libavc1394
2121 AC_ARG_WITH(dv-avc1394,
2122 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
2123 AC_ARG_WITH(dv-avc1394-tree,
2124 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
2126 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
2128 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
2129 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
2131 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
2133 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
2134 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2136 dnl No libavc1394 could be found, sorry
2138 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2141 AC_CHECK_HEADERS(libavc1394/avc1394.h,
2142 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2144 if test -n "${enable_dv}"
2146 AC_MSG_ERROR([cannot find libavc1394 headers])
2151 dnl Check for static linking of libavc1394
2152 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2154 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2155 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2156 if test -z "${real_dv_avc1394_tree}"
2158 dnl The given directory can't be found
2160 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2162 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2164 dnl Use a custom libavc1394
2165 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2166 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2167 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2169 dnl The given libavc1394 wasn't built
2171 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2177 dnl dvdread module: check for libdvdread
2179 AC_ARG_ENABLE(dvdread,
2180 [ --enable-dvdread dvdread input module (default disabled)])
2181 if test "${enable_dvdread}" != "no"
2183 AC_ARG_WITH(dvdread,
2184 [ --with-dvdread=PATH libdvdread headers and libraries])
2185 AC_ARG_WITH(dvdread-tree,
2186 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2188 dnl Temporary hack (yeah, sure ;)
2189 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2190 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2193 if test -z "${with_dvdread}"
2195 if test -z "${with_dvdread_tree}"
2197 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2198 [ VLC_ADD_PLUGINS([dvdread])
2199 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2201 if test -n "${enable_dvdread}"
2203 AC_MSG_ERROR([cannot find libdvdread headers])
2207 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2208 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2209 if test -z "${real_dvdread_tree}"
2211 dnl The given directory can't be found
2213 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2215 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2217 dnl Use a custom libdvdread
2218 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2219 VLC_ADD_BUILTINS([dvdread])
2220 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2221 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2223 dnl The given libdvdread wasn't built
2225 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2229 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2230 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2232 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2234 VLC_ADD_PLUGINS([dvdread])
2235 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2236 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2238 dnl No libdvdread could be found, sorry
2240 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2246 dnl libdvdnav plugin
2248 AC_ARG_ENABLE(dvdnav,
2249 [ --enable-dvdnav dvdnav input module (default enabled)])
2250 if test "${enable_dvdnav}" != "no"
2252 dnl Same hack than dvdread
2253 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2254 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2257 DVDNAV_PATH="${PATH}"
2258 AC_ARG_WITH(dvdnav-config-path,
2259 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2260 [ if test "${with_dvdnav_config_path}" != "no"
2262 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2264 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2265 if test "${DVDNAV_CONFIG}" != "no"
2267 VLC_ADD_PLUGINS([dvdnav])
2268 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2269 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2274 dnl Windows DirectShow access module
2276 AC_ARG_ENABLE(dshow,
2277 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2278 if test "${enable_dshow}" != "no"
2280 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2283 AC_CHECK_HEADERS(dshow.h,
2284 [ VLC_ADD_PLUGINS([dshow])
2285 VLC_ADD_CXXFLAGS([dshow],[])
2286 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2292 dnl Windows DirectShow BDA access module
2295 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2296 if test "${enable_bda}" != "no"
2298 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2300 AC_CHECK_HEADERS(dshow.h,
2301 [ VLC_ADD_PLUGINS([bda])
2302 VLC_ADD_CXXFLAGS([bda],[])
2303 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2309 dnl OpenCV wrapper and example filters
2311 AC_ARG_ENABLE(opencv,
2312 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2313 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2315 AC_ARG_WITH(opencv-tree,
2316 [ --with-opencv-tree=PATH opencv tree for linking])
2317 if test -n "${with_opencv_tree}"
2319 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2321 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2322 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2323 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2326 VLC_ADD_PLUGINS([opencv_wrapper])
2327 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2328 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])
2330 VLC_ADD_PLUGINS([opencv_example])
2331 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2332 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])
2335 dnl No opencv could be found, sorry
2337 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2340 AC_MSG_WARN([--enable-opencv currently only works on windows])
2347 dnl libsmbclient plugin
2350 [ --enable-smb smb input module (default enabled)])
2351 if test "${enable_smb}" != "no"; then
2352 AC_CHECK_HEADERS(libsmbclient.h,
2353 [ VLC_ADD_PLUGINS([access_smb])
2354 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2355 [ if test -n "${enable_smb}"; then
2356 AC_MSG_ERROR([cannot find libsmbclient headers])
2358 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2359 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),,
2360 [#include <libsmbclient.h>])
2364 dnl libdvbpsi ts demux/mux
2366 AC_ARG_ENABLE(dvbpsi,
2367 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2368 if test "${enable_dvbpsi}" != "no"
2371 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2373 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2374 case "${with_dvbpsi}" in
2376 if test -z "${with_dvbpsi_tree}"
2378 AC_CHECK_HEADERS(dvbpsi/dr.h,
2379 [ VLC_ADD_PLUGINS([ts])
2380 if test "${enable_sout}" != "no"; then
2381 VLC_ADD_PLUGINS([mux_ts])
2383 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2384 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2385 [#if defined( HAVE_STDINT_H )
2386 # include <stdint.h>
2387 #elif defined( HAVE_INTTYPES_H )
2388 # include <inttypes.h>
2390 #include <dvbpsi/dvbpsi.h>
2391 #include <dvbpsi/descriptor.h>
2392 #include <dvbpsi/pat.h>
2393 #include <dvbpsi/pmt.h>])
2395 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2396 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2397 if test -z "${real_dvbpsi_tree}"
2399 dnl The given directory can't be found
2401 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2403 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2405 dnl Use a custom libdvbpsi
2406 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2407 VLC_ADD_BUILTINS([ts])
2408 if test "${enable_sout}" != "no"; then
2409 VLC_ADD_BUILTINS([mux_ts])
2411 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2412 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2414 dnl The given libdvbpsi wasn't built
2416 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2421 dnl Compile without dvbpsi
2424 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2425 if test -z "${with_dvbpsi}"
2430 LDFLAGS_test="-L${with_dvbpsi}/lib"
2431 CPPFLAGS_test="-I${with_dvbpsi}/include"
2433 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2434 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2435 VLC_ADD_PLUGINS([ts])
2436 if test "${enable_sout}" != "no"; then
2437 VLC_ADD_PLUGINS([mux_ts])
2439 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2440 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2443 if test -n "${enable_dvbpsi}"
2445 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])
2448 CPPFLAGS="${CPPFLAGS_save}"
2451 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2452 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2453 ], [], [${LIBS_ts}])
2458 dnl Video4Linux plugin
2461 [ --enable-v4l Video4Linux input support (default disabled)])
2462 if test "${enable_v4l}" = "yes"
2465 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2466 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2468 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2471 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2472 AC_CHECK_HEADERS(linux/videodev.h, [
2473 VLC_ADD_PLUGINS([v4l])
2475 CPPFLAGS="${CPPFLAGS_save}"
2479 dnl Video4Linux2 plugin
2482 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2483 if test "${enable_v4l2}" = "yes"
2486 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2487 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2489 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2492 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
2493 if test "${have_v4l2_alsa}" = "true"
2495 CFLAGS="${CFLAGS_save}"
2496 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
2497 #define ALSA_PCM_NEW_SW_PARAMS_API
2498 #include <alsa/asoundlib.h>],
2499 [snd_pcm_hw_params_get_period_time(0,0,0);],
2500 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2501 VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
2502 AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
2505 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2506 AC_CHECK_HEADERS(linux/videodev2.h, [
2507 VLC_ADD_PLUGINS([v4l2])
2509 CPPFLAGS="${CPPFLAGS_save}"
2514 dnl special access module for Hauppauge PVR cards
2517 [ --enable-pvr PVR cards access module (default disabled)])
2518 if test "${enable_pvr}" = "yes"
2520 VLC_ADD_PLUGINS([pvr])
2521 AC_ARG_WITH(videodev2,
2522 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2523 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2525 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2529 AC_CACHE_CHECK([for new linux/videodev2.h],
2530 [new_linux_videodev2_h],
2532 #include <sys/types.h>
2533 # ifdef VIDEODEV2_H_FILE
2534 # include VIDEODEV2_H_FILE
2536 # include <linux/videodev2.h>
2539 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2540 new_linux_videodev2_h=yes,
2541 new_linux_videodev2_h=no)])
2542 if test "${new_linux_videodev2_h}" != "no"; then
2543 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2548 dnl gnomeVFS access module
2550 AC_ARG_ENABLE(gnomevfs,
2551 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2552 if test "${enable_gnomevfs}" = "yes"
2554 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2555 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2556 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2557 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2558 VLC_ADD_PLUGINS([access_gnomevfs]),
2559 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2562 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2563 AC_ARG_ENABLE(libcdio,
2564 [ --enable-libcdio CD input and control library support (default enabled)])
2569 if test "${enable_libcdio}" != "no"
2571 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2573 AC_DEFINE(HAVE_LIBCDIO, 1,
2574 [Define if you have libcdio 0.78.2 or greater installed]),
2575 [AC_MSG_WARN(CD Reading and information library not found)])
2577 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2578 [have_libvcdinfo=yes
2579 AC_DEFINE(HAVE_VCDINFO, 1,
2580 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2581 [AC_MSG_WARN(VCD information library not found)])
2585 dnl VCDX and CDDAX modules
2587 AC_ARG_ENABLE(cddax,
2588 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2590 AC_ARG_ENABLE(libcddb,
2591 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2593 if test "${enable_cddax}" = "yes"
2595 if test "$have_libcdio" = "yes"
2597 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2598 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2599 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2600 VLC_ADD_PLUGINS([cddax])
2601 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2602 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2603 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2605 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2609 if test "$enable_libcddb" != "no"; then
2610 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2612 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2613 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2614 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2616 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2623 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2625 if test "${enable_vcdx}" = "yes"
2627 if test "${have_libvcdinfo}" = "yes"
2629 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2630 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2632 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2636 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2637 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2638 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2639 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2642 if test "$have_libvcdinfo" = "yes"
2644 AC_DEFINE(HAVE_VCDX, 1,
2645 [Define for the VCD plugin using libcdio/libvcdinfo])
2646 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2647 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2648 VLC_ADD_PLUGINS([vcdx])
2650 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2656 dnl Built-in CD-DA and VCD module
2659 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2662 [ --enable-vcd built-in VCD (default enabled)])
2664 if test "${enable_vcd}" != "no"
2666 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2667 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2669 VLC_ADD_PLUGINS([vcd])
2670 VLC_ADD_PLUGINS([cdda])
2675 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2676 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2678 VLC_ADD_PLUGINS([vcd])
2679 VLC_ADD_PLUGINS([cdda])
2680 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2685 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2686 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2688 VLC_ADD_PLUGINS([vcd])
2689 VLC_ADD_PLUGINS([cdda])
2690 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2695 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2697 VLC_ADD_PLUGINS([vcd])
2698 VLC_ADD_PLUGINS([cdda])
2701 if test "${SYS}" = "darwin"
2703 VLC_ADD_PLUGINS([vcd])
2704 VLC_ADD_PLUGINS([cdda])
2705 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2706 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2709 if test "$enable_libcddb" != "no"; then
2710 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2712 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2713 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2714 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2716 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2722 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2725 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2727 if test "${enable_dvb}" = "yes"
2730 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2731 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2733 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2735 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2736 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2737 if test -z "${with_dvbpsi_tree}"
2739 VLC_ADD_PLUGINS([dvb])
2741 VLC_ADD_BUILTINS([dvb])
2743 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2744 CPPFLAGS="${CPPFLAGS_save}"
2748 dnl Screen capture module
2750 AC_ARG_ENABLE(screen,
2751 [ --enable-screen Screen capture support (default enabled)])
2752 if test "${enable_screen}" != "no"; then
2753 if test "${SYS}" = "darwin"; then
2754 AC_CHECK_HEADERS(OpenGL/gl.h, [
2755 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2756 VLC_ADD_PLUGINS([screen])
2757 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2760 elif test "${SYS}" = "mingw32"; then
2761 VLC_ADD_PLUGINS([screen])
2762 VLC_ADD_LIBS([screen],[-lgdi32])
2763 elif test "${SYS}" = "mingwce"; then
2764 CPPFLAGS="${CPPFLAGS_save}"
2765 elif test "${SYS}" = "beos"; then
2766 VLC_ADD_PLUGINS([screen])
2767 VLC_ADD_CXXFLAGS([screen],[])
2768 VLC_ADD_LIBS([screen],[-lbe])
2770 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2771 AC_CHECK_HEADERS(X11/Xlib.h, [
2772 VLC_ADD_PLUGINS([screen])
2773 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2774 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2776 CPPFLAGS="${CPPFLAGS_save}"
2781 dnl ipv6 plugin - not for QNX yet
2784 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2785 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2788 AS_IF([test "${have_ipv6}" = "yes"], [
2789 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2792 AC_CHECK_FUNCS(inet_ntop,[
2793 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2797 dnl ogg demux plugin
2800 [ --enable-ogg Ogg demux support (default enabled)])
2801 if test "${enable_ogg}" != "no"
2803 AC_ARG_WITH(ogg-tree,
2804 [ --with-ogg-tree=PATH ogg tree for static linking])
2805 if test -n "${with_ogg_tree}"
2807 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2808 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2809 if test -z "${real_ogg_tree}"
2811 dnl The given directory can't be found
2813 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2815 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2817 dnl Use a custom ogg
2818 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2819 VLC_ADD_PLUGINS([ogg])
2820 if test "${enable_sout}" != "no"; then
2821 VLC_ADD_PLUGINS([mux_ogg])
2823 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2824 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2826 dnl The given ogg wasn't built
2828 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2831 AC_CHECK_HEADERS(ogg/ogg.h, [
2832 AC_CHECK_LIB( ogg, oggpack_read, [
2833 VLC_ADD_PLUGINS([ogg])
2834 if test "${enable_sout}" != "no"; then
2835 VLC_ADD_PLUGINS([mux_ogg])
2837 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2843 dnl matroska demux plugin
2846 [ --enable-mkv Matroska demux support (default enabled)])
2847 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2849 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2850 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2852 [#include <ebml/EbmlVersion.h>
2853 #ifdef LIBEBML_VERSION
2854 #if LIBEBML_VERSION >= 0x000706
2858 [AC_MSG_RESULT([yes])
2859 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2860 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2862 [#include <matroska/KaxVersion.h>
2863 #ifdef LIBMATROSKA_VERSION
2864 #if LIBMATROSKA_VERSION >= 0x000705
2868 [AC_MSG_RESULT([yes])
2869 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2870 VLC_ADD_CXXFLAGS([mkv],[])
2871 if test "${SYS}" = "darwin"; then
2872 VLC_ADD_CXXFLAGS([mkv],[-O1])
2874 AC_CHECK_LIB(ebml_pic, main, [
2875 VLC_ADD_PLUGINS([mkv])
2876 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2878 AC_CHECK_LIB(ebml, main, [
2879 VLC_ADD_PLUGINS([mkv])
2880 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2884 [AC_MSG_RESULT([no])
2885 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.])
2889 [AC_MSG_RESULT([no])
2890 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.])
2897 dnl modplug demux plugin
2900 [ --enable-mod Mod demux support (default enabled)])
2901 if test "${enable_mod}" != "no"
2903 AC_ARG_WITH(mod-tree,
2904 [ --with-mod-tree=PATH mod tree for static linking])
2905 if test -n "${with_mod_tree}"
2907 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2908 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2909 if test -z "${real_mod_tree}"
2911 dnl The given directory can't be found
2913 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2915 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2917 dnl Use a custom mod
2918 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2919 VLC_ADD_PLUGINS([mod])
2920 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2921 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2923 dnl The given mod wasn't built
2925 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2928 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2929 VLC_ADD_PLUGINS([mod])
2930 VLC_ADD_CXXFLAGS([mod],[])
2931 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2936 dnl mpc demux plugin
2939 [ --enable-mpc Mpc demux support (default enabled)])
2940 if test "${enable_mpc}" != "no"
2942 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2943 VLC_ADD_PLUGINS([mpc])
2944 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2948 dnl game music emu demux plugin
2951 [ --enable-gme Game Music Emu demux support (default enabled)])
2952 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2955 AC_ARG_WITH(gme-tree,
2956 [ --with-gme-tree=PATH gme tree for static linking])
2957 if test -n "${with_gme_tree}"
2959 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2960 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2961 if test -z "${real_gme_tree}"
2963 dnl The given directory can't be found
2965 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2967 if test -f "${real_gme_tree}/gme/libgme.a"
2969 dnl Use a custom gme
2970 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2971 VLC_ADD_PLUGINS([gme])
2972 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2973 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2975 dnl The given gme wasn't built
2977 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2980 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2989 AC_ARG_WITH(,[Codec plugins:])
2995 [ --enable-mad libmad module (default enabled)])
2996 if test "${enable_mad}" != "no"
2999 [ --with-mad=PATH path to libmad],[],[])
3000 if test "${with_mad}" != "no" -a -n "${with_mad}"
3002 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
3003 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
3006 AC_ARG_WITH(mad-tree,
3007 [ --with-mad-tree=PATH mad tree for static linking],[],[])
3008 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
3010 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
3011 if test -z "${real_mad_tree}"
3013 dnl The given directory can't be found
3015 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
3017 dnl Use a custom libmad
3018 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
3019 if test -f ${real_mad_tree}/mad.h
3022 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
3023 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
3024 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
3025 AC_CHECK_LIB(mad, mad_bit_init, [
3026 VLC_ADD_BUILTINS([mpgatofixed32])
3027 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
3028 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
3030 LDFLAGS="${LDFLAGS_save}"
3033 AC_MSG_ERROR([the specified tree doesn't have mad.h])
3036 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
3037 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
3038 AC_CHECK_HEADERS(mad.h, ,
3039 [ 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.]) ])
3040 AC_CHECK_LIB(mad, mad_bit_init, [
3041 VLC_ADD_PLUGINS([mpgatofixed32])
3042 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
3043 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
3044 CPPFLAGS="${CPPFLAGS_save}"
3045 LDFLAGS="${LDFLAGS_save}"
3050 dnl libid3tag support (FIXME!!! doesn't work with new input)
3052 AC_ARG_ENABLE( id3tag,
3053 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
3054 AS_IF([test "${enable_id3tag}" != "no"], [
3055 AC_CHECK_HEADERS(id3tag.h, [
3056 AC_CHECK_HEADERS(zlib.h, [
3057 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
3058 VLC_ADD_PLUGINS([id3tag])
3064 dnl ffmpeg decoder/demuxer plugin
3066 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
3067 dnl 3- default place,
3069 AC_ARG_ENABLE(ffmpeg,
3070 [ --enable-ffmpeg ffmpeg codec (default enabled)])
3071 if test "${enable_ffmpeg}" != "no"
3074 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
3076 AC_ARG_WITH(ffmpeg-mp3lame,
3077 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
3079 if test "$with_ffmpeg_mp3lame" = "yes"; then
3080 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
3083 AC_ARG_WITH(ffmpeg-faac,
3084 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
3086 if test "$with_ffmpeg_faac" = "yes"; then
3087 VLC_ADD_LIBS([ffmpeg],[-lfaac])
3090 AC_ARG_WITH(ffmpeg-dts,
3091 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
3093 if test "$with_ffmpeg_dts" = "yes"; then
3094 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3095 AC_CHECK_LIB(dts_pic, dts_free,
3096 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
3097 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
3098 LDFLAGS="${LDFLAGS_save}"
3101 AC_ARG_WITH(ffmpeg-vorbis,
3102 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
3104 if test "$with_ffmpeg_vorbis" = "yes"; then
3105 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
3108 AC_ARG_WITH(ffmpeg-theora,
3109 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
3111 if test "$with_ffmpeg_theora" = "yes"; then
3112 VLC_ADD_LIBS([ffmpeg],[-ltheora])
3115 AC_ARG_WITH(ffmpeg-ogg,
3116 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
3118 if test "$with_ffmpeg_ogg" = "yes"; then
3119 VLC_ADD_LIBS([ffmpeg],[-logg])
3122 AC_ARG_WITH(ffmpeg-zlib,
3123 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
3125 if test "$with_ffmpeg_zlib" = "yes"; then
3126 VLC_ADD_LIBS([ffmpeg],[-lz])
3129 AC_ARG_WITH(ffmpeg-amrnb,
3130 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
3132 if test "$with_ffmpeg_amrnb" = "yes"; then
3133 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
3136 AC_ARG_WITH(ffmpeg-amrwb,
3137 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
3139 if test "$with_ffmpeg_amrwb" = "yes"; then
3140 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
3143 AC_ARG_WITH(ffmpeg-x264,
3144 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
3146 if test "$with_ffmpeg_x264" = "yes"; then
3147 VLC_ADD_LIBS([ffmpeg],[-lx264])
3150 AC_ARG_WITH(ffmpeg-a52,
3151 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
3153 if test "$with_ffmpeg_a52" = "yes"; then
3154 VLC_ADD_LIBS([ffmpeg],[-la52])
3158 dnl test for --with-ffmpeg-tree
3160 AC_ARG_WITH(ffmpeg-tree,
3161 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3163 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3164 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3165 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3166 if test -z "${real_ffmpeg_tree}"; then
3167 dnl The given directory can't be found
3169 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3171 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3172 dnl The given libavcodec wasn't built
3174 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3176 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3177 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3178 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
3179 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
3180 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3181 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3183 dnl The given libavcodec wasn't built with --enable-postproc
3185 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc])
3188 dnl Use a custom libffmpeg
3189 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3191 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3192 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3193 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3194 export PKG_CONFIG_PATH=""
3195 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3198 PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [
3199 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3200 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3201 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3203 AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[
3204 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3205 PKG_CHECK_MODULES( [SWSCALE],[libswscale], [
3206 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3207 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])])
3209 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3210 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}"
3212 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3213 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3214 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3215 AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])
3218 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3219 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3221 unset PKG_CONFIG_PATH
3223 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3224 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3226 unset PKG_CONFIG_LIBDIR
3229 VLC_ADD_BUILTINS([ffmpeg])
3230 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3231 VLC_ADD_BUILTINS([stream_out_switcher])
3238 dnl Trying with pkg-config
3239 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3242 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3243 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3244 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3245 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3246 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3247 dnl newer ffmpeg have a separate libpostproc
3248 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3249 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3250 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3252 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3253 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3254 AC_CHECK_HEADERS(postproc/postprocess.h)
3255 if test "${SYS}" = "darwin"; then
3256 VLC_ADD_BUILTINS([ffmpeg])
3258 VLC_ADD_PLUGINS([ffmpeg])
3260 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3261 if test "${SYS}" = "darwin"; then
3262 VLC_ADD_BUILTINS([stream_out_switcher])
3264 VLC_ADD_PLUGINS([stream_out_switcher])
3267 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3268 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3270 dnl even newer ffmpeg has a libswscale
3271 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3272 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3273 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3274 AC_CHECK_LIB(swscale, sws_getContext,
3275 [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm])
3281 dnl last chance: at the default place
3283 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3284 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3285 AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
3286 AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
3287 AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
3288 AC_CHECK_HEADERS(postproc/postprocess.h)
3290 AC_CHECK_LIB(avutil, av_crc_init, [
3291 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3292 LDAVUTIL="-lavutil"])
3294 AC_CHECK_LIB(avcodec, avcodec_init, [
3295 VLC_ADD_BUILTINS([ffmpeg])
3296 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3297 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3298 VLC_ADD_BUILTINS([stream_out_switcher])
3300 [ 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])
3302 AC_CHECK_LIB(postproc, pp_postprocess, [
3303 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3304 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]),
3307 AC_CHECK_LIB(avformat, av_open_input_stream, [
3308 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3309 LDFLAGS="${LDFLAGS_save}"
3310 CPPFLAGS="${CPPFLAGS_save}"
3312 AC_CHECK_LIB(swscale, sws_getContext, [
3313 AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h)
3314 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3315 LDFLAGS="${LDFLAGS_save}"
3316 CPPFLAGS="${CPPFLAGS_save}"
3322 dnl ffmpegaltivec plugin
3324 AC_ARG_ENABLE(ffmpegaltivec,
3325 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3326 if test "${enable_ffmpegaltivec}" = "yes"
3328 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3329 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3330 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3331 if test -z "${real_ffmpeg_tree}"; then
3332 dnl The given directory can't be found
3334 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3336 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3337 dnl The given libavcodecaltivec wasn't built
3339 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3341 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3342 dnl The given libavcodecaltivec wasn't built with --enable-postproc
3344 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc])
3346 dnl Use a custom libffmpeg
3347 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3348 VLC_ADD_BUILTINS([ffmpegaltivec])
3349 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3350 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3351 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3353 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3354 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3355 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3356 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3358 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3359 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3364 dnl faad decoder plugin
3367 [ --enable-faad faad codec (default disabled)])
3368 if test "${enable_faad}" = "yes"
3370 AC_ARG_WITH(faad-tree,
3371 [ --with-faad-tree=PATH faad tree for static linking])
3372 if test -n "${with_faad_tree}"
3374 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3375 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3376 if test -z "${real_faad_tree}"
3378 dnl The given directory can't be found
3380 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3382 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3384 dnl Use a custom faad
3385 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3386 VLC_ADD_BUILTINS([faad])
3387 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3388 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3390 dnl The given libfaad wasn't built
3392 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3395 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3396 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3397 AC_CHECK_HEADERS(faad.h, ,
3398 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3399 AC_CHECK_LIB(faad, faacDecOpen, [
3400 VLC_ADD_PLUGINS([faad])
3401 VLC_ADD_LIBS([faad],[-lfaad]) ],
3402 AC_CHECK_LIB(faad, NeAACDecOpen, [
3403 VLC_ADD_PLUGINS([faad])
3404 VLC_ADD_LIBS([faad],[-lfaad]) ],
3405 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3406 LDFLAGS="${LDFLAGS_save}"
3407 CPPFLAGS="${CPPFLAGS_save}"
3412 dnl twolame encoder plugin
3414 AC_ARG_ENABLE(twolame,
3415 [ --enable-twolame twolame codec (default disabled)])
3416 if test "${enable_twolame}" = "yes"
3418 AC_ARG_WITH(twolame-tree,
3419 [ --with-twolame-tree=PATH twolame tree for static linking])
3420 if test -n "${with_twolame_tree}"
3422 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3423 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3424 if test -z "${real_twolame_tree}"
3426 dnl The given directory can't be found
3428 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3430 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3432 dnl Use a custom twolame
3433 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3434 VLC_ADD_BUILTINS([twolame])
3435 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3436 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3438 dnl The given libtwolame wasn't built
3440 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3443 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3444 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3445 AC_CHECK_HEADERS(twolame.h, ,
3446 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3447 AC_CHECK_LIB(twolame, twolame_init, [
3448 VLC_ADD_PLUGINS([twolame])
3449 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3450 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3451 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3452 LDFLAGS="${LDFLAGS_save}"
3453 CPPFLAGS="${CPPFLAGS_save}"
3458 dnl QuickTime plugin
3460 AC_ARG_ENABLE(quicktime,
3461 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3462 if test "${enable_quicktime}" != "no" &&
3463 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3465 if test "${SYS}" = "mingw32"; then
3466 VLC_ADD_BUILTINS([quicktime])
3468 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3469 [ VLC_ADD_BUILTINS([quicktime])
3470 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3471 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3479 [ --enable-real Real audio module (default disabled)])
3480 if test "${enable_real}" = "yes"; then
3481 VLC_ADD_PLUGINS([realaudio])
3485 dnl Real RTSP plugin
3487 AC_ARG_ENABLE(realrtsp,
3488 [ --enable-realrtsp Real RTSP module (default disabled)])
3489 if test "${enable_realrtsp}" = "yes"; then
3490 VLC_ADD_PLUGINS([access_realrtsp])
3496 AC_CHECK_HEADERS(zlib.h, [
3497 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3500 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3501 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3507 AC_ARG_ENABLE(libtar,
3508 [ --enable-libtar support for skins2 (default enabled)])
3510 AS_IF([test "${enable_libtar}" != "no"],[
3511 AC_CHECK_HEADERS(libtar.h, [
3512 VLC_ADD_LIBS([skins2],[-ltar])
3517 dnl A52/AC3 decoder plugin
3520 [ --enable-a52 A/52 support with liba52 (default enabled)])
3521 if test "${enable_a52}" != "no"
3524 [ --with-a52=PATH a52 headers and libraries])
3525 AC_ARG_WITH(a52-tree,
3526 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3527 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3529 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3530 if test -z "${real_a52_tree}"
3532 dnl The given directory can't be found
3534 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3536 dnl Use a custom a52dec
3537 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3538 if test -f ${real_a52_tree}/include/a52.h
3541 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3542 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3543 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3544 AC_CHECK_LIB(a52, a52_free, [
3545 VLC_ADD_BUILTINS([a52tofloat32])
3546 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3547 VLC_ADD_LIBS([a52tofloat32],[-la52])
3549 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3551 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3553 AC_MSG_ERROR([the specified tree hasn't been compiled])
3556 LDFLAGS="${LDFLAGS_save}"
3559 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3562 if test -z "${with_a52}"
3567 LDFLAGS_test="-L${with_a52}/lib"
3568 CPPFLAGS_test="-I${with_a52}/include"
3570 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3571 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3572 AC_CHECK_HEADERS(a52dec/a52.h, [
3573 AC_CHECK_LIB(a52, a52_free, [
3574 VLC_ADD_PLUGINS([a52tofloat32])
3575 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3576 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3578 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.])
3581 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.])
3583 CPPFLAGS="${CPPFLAGS_save}"
3584 LDFLAGS="${LDFLAGS_save}"
3588 AC_ARG_WITH(a52-fixed,
3589 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3591 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3594 dnl DTS Coherent Acoustics decoder plugin
3596 AS_IF([test "x${enable_dts}" != "x"], [
3597 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3599 AS_IF([test "x${with_dts_tree}" != "x"], [
3600 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3604 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3605 AS_IF([test "${enable_dca}" != "no"], [
3606 AC_ARG_WITH(dca-tree,
3607 [ --with-dca-tree=PATH libdca tree for static linking],,
3608 [with_dca_tree="no"])
3609 AS_IF([test "${with_dca_tree}" != "no"], [
3610 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3611 AS_IF([test -z "${real_dca_tree}"], [
3612 dnl The given directory can't be found
3614 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3616 dnl Use a custom libdca
3617 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3618 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3620 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3621 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3622 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3624 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3628 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3631 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3632 VLC_ADD_PLUGINS([dtstofloat32])
3633 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3634 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3636 AS_IF([test "x${enable_dca}" != "x"], [
3637 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3647 [ --enable-flac libflac decoder/encoder support (default disabled)])
3648 if test "${enable_flac}" = "yes"
3650 AC_ARG_WITH(flac-tree,
3651 [ --with-flac-tree=PATH flac tree for static linking])
3652 if test -n "${with_flac_tree}"
3654 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3655 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3656 if test -z "${real_flac_tree}"
3658 dnl The given directory can't be found
3660 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3662 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3664 dnl Use a custom flac
3665 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3666 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3667 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3668 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3670 dnl The given flac wasn't built
3672 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3675 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3676 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3684 AC_ARG_ENABLE(libmpeg2,
3685 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3686 if test "${enable_libmpeg2}" != "no"
3688 AC_ARG_WITH(libmpeg2-tree,
3689 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3690 if test -n "${with_libmpeg2_tree}"
3692 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3693 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3694 if test -z "${real_libmpeg2_tree}"
3696 dnl The given directory can't be found
3698 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3700 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3702 dnl Use a custom libmpeg2
3703 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3704 VLC_ADD_BUILTINS([libmpeg2])
3705 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3706 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3707 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3709 dnl The given libmpeg2 wasn't built
3711 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3714 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3715 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3717 [#include <mpeg2dec/mpeg2.h>
3718 #ifdef MPEG2_RELEASE
3719 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3723 [AC_MSG_RESULT([yes])
3724 VLC_ADD_PLUGINS([libmpeg2])
3725 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3726 [AC_MSG_RESULT([no])
3727 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.])])],
3729 [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.])]
3737 AC_ARG_ENABLE(vorbis,
3738 [ --enable-vorbis Vorbis decoder support (default enabled)])
3739 if test "${enable_vorbis}" != "no"
3741 AC_ARG_WITH(vorbis-tree,
3742 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3743 if test -n "${with_vorbis_tree}"
3745 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3746 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3747 if test -z "${real_vorbis_tree}"
3749 dnl The given directory can't be found
3751 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3753 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3755 dnl Use a custom vorbis
3756 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3757 VLC_ADD_PLUGINS([vorbis])
3758 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3759 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3761 dnl The given vorbis wasn't built
3763 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3766 AC_CHECK_HEADERS(vorbis/codec.h, [
3767 VLC_ADD_PLUGINS([vorbis])
3768 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3770 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3771 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3778 AC_ARG_ENABLE(tremor,
3779 [ --enable-tremor Tremor decoder support (default disabled)])
3780 if test "${enable_tremor}" = "yes"
3782 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3783 VLC_ADD_PLUGINS([tremor])
3784 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3791 AC_ARG_ENABLE(speex,
3792 [ --enable-speex Speex decoder support (default enabled)])
3793 if test "${enable_speex}" != "no"
3795 AC_ARG_WITH(speex-tree,
3796 [ --with-speex-tree=PATH speex tree for static linking])
3797 if test -n "${with_speex_tree}"
3799 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3800 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3801 if test -z "${real_speex_tree}"
3803 dnl The given directory can't be found
3805 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3807 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3809 dnl Use a custom speex
3810 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3811 VLC_ADD_PLUGINS([speex])
3812 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3813 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3815 dnl The given speex wasn't built
3817 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3820 AC_CHECK_HEADERS(speex/speex.h, [
3821 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3822 AC_CHECK_LIB(speex, speex_decode_int, [
3823 VLC_ADD_PLUGINS([speex])
3824 VLC_ADD_LIBS([speex],[-lspeex]) ],
3825 [ AC_MSG_RESULT([no])
3826 AC_MSG_WARN([Your libspeex is too old, please get the development
3828 LDFLAGS="${LDFLAGS_save}"
3834 dnl tarkin decoder plugin
3836 AC_ARG_ENABLE(tarkin,
3837 [ --enable-tarkin experimental tarkin codec (default disabled)])
3838 if test "${enable_tarkin}" = "yes"
3840 AC_ARG_WITH(tarkin-tree,
3841 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3842 if test -n "${with_tarkin_tree}"
3844 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3845 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3846 if test -f "${real_tarkin_tree}/tarkin.o"
3848 VLC_ADD_BUILTINS([tarkin])
3849 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3850 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])
3853 dnl The given tarkin tree wasn't built
3855 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3856 make sure you compiled tarkin in ${with_tarkin_tree}])
3862 dnl theora decoder plugin
3864 AC_ARG_ENABLE(theora,
3865 [ --enable-theora experimental theora codec (default disabled)])
3866 if test "${enable_theora}" = "yes"
3868 AC_CHECK_HEADERS(theora/theora.h, [
3869 AC_CHECK_LIB(theora, theora_granule_time, [
3870 VLC_ADD_PLUGINS([theora])
3871 theora_libs="-ltheora -logg"
3872 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3873 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3874 You also need to check that you have a libogg posterior to the 1.0 release.])],
3880 dnl dirac decoder plugin
3882 AC_ARG_ENABLE(dirac,
3883 [ --enable-dirac experimental dirac codec (default disabled)])
3884 if test "${enable_dirac}" = "yes"; then
3885 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [
3886 VLC_ADD_PLUGINS([dirac])
3887 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3888 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3889 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3894 dnl PNG decoder module
3897 [ --enable-png PNG support (default enabled)])
3898 if test "${enable_png}" != "no"; then
3899 AC_CHECK_HEADERS(png.h, [
3900 LDFLAGS="${LDFLAGS_save} -lz"
3901 AC_CHECK_LIB(png, png_set_rows, [
3902 VLC_ADD_LIBS([png],[-lpng -lz])
3903 VLC_ADD_PLUGINS([png])
3904 VLC_ADD_PLUGINS([osdmenu])
3905 VLC_ADD_PLUGINS([osd_parser])
3906 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3908 LDFLAGS="${LDFLAGS_save}"
3911 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3914 dnl H264 encoder plugin (using libx264)
3917 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3918 if test "${enable_x264}" != "no"; then
3919 AC_ARG_WITH(x264-tree,
3920 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3921 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3923 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3924 if test -z "${real_x264_tree}"
3926 dnl The given directory can't be found
3928 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3930 dnl Use a custom libx264
3931 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3932 if test -f ${real_x264_tree}/x264.h
3935 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3936 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3937 PKG_CHECK_MODULES(X264,x264, [
3938 VLC_ADD_PLUGINS([x264])
3939 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3940 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3942 AC_MSG_ERROR([the specified tree hasn't been compiled])
3944 LDFLAGS="${LDFLAGS_save}"
3947 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3950 PKG_CHECK_MODULES(X264,x264, [
3951 VLC_ADD_PLUGINS([x264])
3952 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3953 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3955 if test "${enable_x264}" = "yes"; then
3956 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3959 LDFLAGS="${LDFLAGS_save}"
3964 dnl libfluidsynth (MIDI synthetizer) plugin
3966 AC_ARG_ENABLE(fluidsynth,
3967 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3968 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3969 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3970 VLC_ADD_PLUGINS(fluidsynth)
3971 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3972 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3974 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3975 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3981 dnl Teletext Modules
3982 dnl vbi decoder plugin (using libzbvi)
3987 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3989 [ --enable-telx Teletext decoding module (conflicting with zvbi) (default disabled)])
3991 AS_IF( [test "${enable_zvbi}" != "no"],[
3992 AS_IF( [test "${enable_telx}" = "yes"],[
3993 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3995 PKG_CHECK_MODULES(ZVBI,
3998 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3999 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
4000 VLC_ADD_PLUGINS([zvbi])
4001 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
4003 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
4008 AS_IF( [test "${enable_telx}" = "yes"],[
4009 VLC_ADD_PLUGINS([telx])
4013 dnl asa/csri subtitle rendering module
4016 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
4017 AS_IF( [test "${enable_csri}" = "yes"], [
4018 PKG_CHECK_MODULES(CSRI,
4021 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
4022 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
4023 VLC_ADD_PLUGINS([csri])
4025 AC_MSG_WARN([CSRI helper library not found])
4032 AC_ARG_ENABLE(asademux,
4033 [ --enable-asademux asa subtitle demuxing (default disabled)])
4034 AS_IF( [test "${enable_asademux}" = "yes"], [
4035 PKG_CHECK_MODULES(PCRE,
4038 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
4039 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
4040 VLC_ADD_PLUGINS([asademux])
4042 AC_MSG_WARN([PCRE library not found (required for asademux)])
4050 [ --enable-cmml CMML support (default enabled)])
4051 if test "${enable_cmml}" != "no"
4053 VLC_ADD_PLUGINS([cmml])
4061 AC_ARG_WITH(,[Video plugins:])
4064 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
4065 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4066 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
4067 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
4068 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
4070 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
4071 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
4076 #include <X11/Xlib.h>
4078 CPPFLAGS="${CPPFLAGS_save}"
4083 dnl (enabled by default except on win32)
4086 [ --enable-x11 X11 support (default enabled)])
4087 if test "${enable_x11}" != "no" &&
4088 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4089 test "${enable_x11}" = "yes"); then
4090 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4091 AC_CHECK_HEADERS(X11/Xlib.h, [
4092 VLC_ADD_PLUGINS([panoramix])
4093 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
4094 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
4095 AC_CHECK_LIB(Xext, XShmAttach, [
4096 VLC_ADD_PLUGINS([x11])
4097 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
4098 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
4101 CPPFLAGS="${CPPFLAGS_save}"
4106 dnl (enabled by default except on win32)
4108 AC_ARG_ENABLE(xvideo,
4109 [ --enable-xvideo XVideo support (default enabled)])
4110 if test "${enable_xvideo}" != "no" &&
4111 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4112 test "${enable_xvideo}" = "yes"); then
4113 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4114 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
4115 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4116 AC_CHECK_LIB(Xv,XvPutImage,[
4117 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
4118 # test for libXv_pic.
4119 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
4120 VLC_ADD_PLUGINS([xvideo])
4121 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4122 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4124 AC_CHECK_LIB(Xv_pic,XvPutImage,[
4125 VLC_ADD_PLUGINS([xvideo])
4126 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4127 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
4129 VLC_ADD_BUILTINS([xvideo])
4130 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
4131 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
4135 CFLAGS="${CFLAGS_save}"
4137 CPPFLAGS="${CPPFLAGS_save}")
4142 dnl (enabled by default except on win32)
4145 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
4146 if test "${enable_glx}" != "no" &&
4147 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4148 test "${enable_glx}" = "yes"); then
4149 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4150 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
4151 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
4152 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
4156 VLC_ADD_PLUGINS([glx])
4157 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
4158 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
4159 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
4160 CPPFLAGS="${CPPFLAGS_save}"
4165 dnl (disabled by default except on win32)
4168 [ --enable-xvmc XVMC support (default disabled)])
4169 if test "${enable_xvmc}" = "yes" &&
4170 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4171 test "${enable_xvmc}" = "yes"); then
4172 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
4173 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
4174 VLC_ADD_PLUGINS([xvmc])
4175 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama])
4176 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
4178 CPPFLAGS="${CPPFLAGS_save}"
4182 dnl Check for the Xinerama extension
4184 AC_ARG_ENABLE(xinerama,
4185 [ --enable-xinerama Xinerama support (default enabled)])
4186 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
4187 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4188 test "${enable_xvideo}" = "yes"); then
4189 ac_cv_have_xinerama="no"
4190 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4191 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4192 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4193 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4194 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4195 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4196 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4197 ac_cv_have_xinerama="yes"
4199 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4200 VLC_ADD_LIBS([xvideo],[-lXinerama])
4201 VLC_ADD_LIBS([x11],[-lXinerama])
4202 VLC_ADD_LIBS([glx],[-lXinerama])
4203 ac_cv_have_xinerama="yes"
4207 if test "${ac_cv_have_xinerama}" = "yes"; then
4208 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4210 CFLAGS="${CFLAGS_save}"
4211 CPPFLAGS="${CPPFLAGS_save}"
4214 dnl Check for XF86VidMode extension
4216 ac_cv_have_xf86vidmode="no"
4217 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4218 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4219 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4220 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4221 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4222 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4223 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4224 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4225 ac_cv_have_xf86vidmode="yes"
4227 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4228 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4229 VLC_ADD_LIBS([x11],[-lXxf86vm])
4230 VLC_ADD_LIBS([glx],[-lXxf86vm])
4231 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4232 ac_cv_have_xf86vidmode="yes"
4236 [#ifdef HAVE_X11_XLIB_H
4237 # include <X11/Xlib.h>
4240 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4241 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4243 CFLAGS="${CFLAGS_save}"
4244 CPPFLAGS="${CPPFLAGS_save}"
4250 dnl (enabled by default except on beos)
4252 AC_ARG_ENABLE(opengl,
4253 [ --enable-opengl OpenGL support (default enabled)])
4254 if test "${enable_opengl}" != "no" &&
4255 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4256 if test "${SYS}" != "darwin"; then
4257 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4258 VLC_ADD_PLUGINS([opengl])
4259 if test "${SYS}" != "mingw32"; then
4260 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4262 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4266 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4267 VLC_ADD_PLUGINS([opengl])
4268 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4276 [ --enable-sdl SDL support (default enabled)])
4277 AC_ARG_ENABLE(sdl-image,
4278 [ --enable-sdl-image SDL image support (default enabled)])
4279 if test "${enable_sdl}" != "no"
4282 AC_ARG_WITH(sdl-config-path,
4283 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4284 [ if test "${with_sdl_config_path}" != "no"
4286 SDL_PATH="${with_sdl_config_path}:${PATH}"
4288 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4289 SDL_CONFIG="${SDL12_CONFIG}"
4290 SDL_HEADER="SDL12/SDL.h"
4291 SDL_IMAGE="SDL12/SDL_image.h"
4292 if test "${SDL_CONFIG}" = "no"
4294 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4295 SDL_CONFIG=${SDL11_CONFIG}
4296 SDL_HEADER="SDL11/SDL.h"
4297 SDL_IMAGE="SDL11/SDL_image.h"
4299 if test "${SDL_CONFIG}" = "no"
4301 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4302 SDL_HEADER="SDL/SDL.h"
4303 SDL_IMAGE="SDL/SDL_image.h"
4305 # check for cross-compiling
4307 AC_ARG_WITH(sdl-prefix,
4308 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4310 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4311 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4313 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4315 if test "${SDL_CONFIG}" != "no"
4317 # SDL on Darwin is heavily patched and can only run SDL_image
4318 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4319 VLC_ADD_PLUGINS([vout_sdl])
4320 VLC_ADD_PLUGINS([aout_sdl])
4322 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4323 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4324 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4325 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4326 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4327 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4328 As a last resort we also test for SDL.h presence),
4329 [ AC_MSG_ERROR([The development package for SDL is not installed.
4330 Please install it and try again. Alternatively you can also configure with
4333 AS_IF([ test "${enable_sdl_image}" != "no"],[
4334 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4335 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4336 VLC_ADD_PLUGINS([sdl_image])
4337 AC_CHECK_LIB(png, png_set_rows,
4338 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4339 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4340 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4341 AC_CHECK_LIB(tiff, TIFFClientOpen,
4342 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4343 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4344 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4345 As a last resort we also test for SDL_image.h presence),
4346 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4347 You should install it alongside your SDL package.])
4350 CPPFLAGS="${CPPFLAGS_save}"
4351 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4353 AC_MSG_ERROR([The development package for SDL is not installed.
4354 Please install it and try again. Alternatively you can also configure with
4358 elif test "${enable_sdl}" = "yes"
4360 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4361 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4369 AC_ARG_ENABLE(freetype,
4370 [ --enable-freetype freetype support (default enabled)])
4371 AC_ARG_ENABLE(fribidi,
4372 [ --enable-fribidi fribidi support (default enabled)])
4373 if test "${enable_freetype}" != "no"
4375 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4376 VLC_ADD_PLUGINS([freetype])
4378 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4379 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4380 if test "${SYS}" = "mingw32"; then
4381 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4383 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4384 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4385 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4386 AC_CHECK_HEADERS(Carbon/Carbon.h,
4387 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4390 AS_IF([ test "${enable_freetype}" = "yes"],[
4391 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4392 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4398 if test "${enable_fribidi}" != "no"
4400 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4401 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4402 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4410 AC_ARG_ENABLE(libxml2,
4411 [ --enable-libxml2 libxml2 support (default enabled)])
4412 if test "${enable_libxml2}" != "no"
4415 AC_ARG_WITH(xml2-config-path,
4416 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4417 [ if test "${with_xml2_config_path}" != "no"; then
4418 XML2_PATH="${with_xml2_config_path}:${PATH}"
4420 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4421 if test "${XML2_CONFIG}" != "no"; then
4422 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4423 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4424 dnl depends on the xmlTextReader extension
4425 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4426 LDFLAGS="${LDFLAGS_save} ${LIBS_xml}"
4427 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4428 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4429 VLC_ADD_PLUGINS([xml]) ],[
4430 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4431 if test "${enable_xml2}" = "yes"; then
4432 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4435 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4436 if test "${enable_xml2}" = "yes"; then
4437 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4439 LDFLAGS="${LDFLAGS_save}"
4440 CPPFLAGS="${CPPFLAGS_save}"
4442 if test "${enable_xml2}" = "yes"; then
4443 AC_MSG_ERROR([Could not find libxml2])
4452 [ --enable-svg SVG support (default disabled)])
4453 if test "${enable_svg}" = "yes"
4455 PKG_CHECK_MODULES(SVG,
4456 librsvg-2.0 >= 2.9.0,
4458 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4459 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4460 VLC_ADD_PLUGINS([svg]) ],
4461 [AC_MSG_WARN(SVG library not found)])
4465 dnl Snapshot vout module (with cache)
4467 AC_ARG_ENABLE(snapshot,
4468 [ --enable-snapshot snapshot module (default disabled)])
4469 if test "${enable_snapshot}" = "yes"
4471 VLC_ADD_PLUGINS([snapshot])
4475 dnl Qt Embedded module
4476 dnl (disabled by default)
4479 [ --enable-qte QT Embedded support (default disabled)])
4480 if test "${enable_qte}" = "yes"
4483 [ --with-qte=PATH Qt Embedded headers and libraries])
4484 if test "${with_qte}" != "no" -a -n "${with_qte}"
4486 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4487 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])
4489 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4490 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4492 VLC_ADD_PLUGINS([qte])
4494 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4495 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4496 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4498 CPPFLAGS="${CPPFLAGS_save}"
4502 dnl Qt Video output module
4503 dnl (disabled by default)
4505 dnl AC_ARG_ENABLE(qt_video,
4506 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4507 dnl if test "${enable_qt_video}" = "yes"
4509 dnl VLC_ADD_PLUGINS([qt_video])
4510 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4511 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4512 dnl AC_CHECK_LIB(qt-mt,main,[
4513 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4515 dnl AC_CHECK_LIB(qt,main,[
4516 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4519 dnl NEED_QTE_MAIN=yes
4520 dnl LDFLAGS="${LDFLAGS_save}"
4521 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4525 dnl Roku HD1000 Video output module
4527 AC_ARG_ENABLE(hd1000v,
4528 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4529 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4530 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4531 test "${enable_hd1000v}" = "yes"); then
4533 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4535 can_build_roku="yes"
4539 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4541 if test "$can_build_roku" = "yes"
4543 VLC_ADD_PLUGINS([hd1000v])
4544 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4550 dnl Windows DirectX module
4553 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4555 VLC_ADD_PLUGINS([panoramix])
4558 AC_ARG_ENABLE(directx,
4559 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4560 if test "${enable_directx}" != "no"
4562 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4564 AC_ARG_WITH(directx,
4565 [ --with-directx=PATH Win32 DirectX headers])
4566 if test -z "${with_directx}"
4568 AC_CHECK_HEADERS(ddraw.h,
4569 [ VLC_ADD_PLUGINS([vout_directx])
4570 VLC_ADD_PLUGINS([aout_directx])
4571 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4573 AC_CHECK_HEADERS(GL/gl.h,
4574 [ VLC_ADD_PLUGINS([glwin32])
4575 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4577 AC_CHECK_HEADERS(d3d9.h,
4578 [ VLC_ADD_PLUGINS([direct3d])
4579 VLC_ADD_LIBS([direct3d],[-lgdi32])
4582 AC_MSG_CHECKING(for directX headers in ${with_directx})
4583 if test -f ${with_directx}/ddraw.h
4585 VLC_ADD_PLUGINS([vout_directx])
4586 VLC_ADD_PLUGINS([aout_directx])
4587 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4588 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4592 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4599 dnl Linux framebuffer module
4602 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4603 if test "${enable_fb}" != "no"
4605 AC_CHECK_HEADERS(linux/fb.h, [
4606 VLC_ADD_PLUGINS([fb])
4611 dnl Linux MGA module
4614 [ --enable-mga Linux kernel Matrox support (default disabled)],
4615 [ if test "${enable_mga}" = "yes"
4617 VLC_ADD_PLUGINS([mga])
4623 AC_ARG_ENABLE(svgalib,
4624 [ --enable-svgalib SVGAlib support (default disabled)])
4625 if test "${enable_svgalib}" = "yes"
4627 VLC_ADD_PLUGINS([svgalib])
4628 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4633 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4634 dnl TODO: support for static linking
4636 AC_ARG_ENABLE(directfb,
4637 [ --enable-directfb DirectFB support (default disabled)])
4638 AC_ARG_WITH(directfb,
4639 [ --with-directfb=PATH path to DirectFB headers and libraries])
4641 if test "${enable_directfb}" = "yes"; then
4642 have_directfb="false"
4643 CPPFLAGS_mydirectfb=
4645 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4646 dnl Trying the given location
4647 CPPFLAGS_save="${CPPFLAGS}"
4650 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4651 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4652 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4654 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4655 LIBS="${LIBS} ${LIBS_new}"
4657 dnl FIXME: too obscure
4658 AC_CHECK_HEADER([directfb.h], [
4659 AC_CHECK_LIB([direct],[direct_initialize], [
4660 AC_CHECK_LIB([fusion], [fusion_enter], [
4661 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4662 ], have_directfb="false")
4663 ], have_directfb="false")
4664 ], have_directfb="false")
4667 CPPFLAGS="${CPPFLAGS_save}"
4670 if test "${have_directfb}" = "true"; then
4671 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4672 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4675 dnl Look for directfb-config
4676 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4677 if test "${DIRECTFB_CONFIG}" != "no"; then
4678 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4679 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4680 have_directfb="true"
4682 dnl Trying with pkg-config
4683 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4684 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4685 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4686 have_directfb="true"
4687 ], [have_directfb="false"])
4690 if test "${have_directfb}" = "true"; then
4691 VLC_ADD_PLUGINS([directfb])
4692 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4693 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4695 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4705 [ --enable-ggi GGI support (default disabled)])
4706 if test "${enable_ggi}" = "yes"
4708 VLC_ADD_PLUGINS([ggi])
4709 VLC_ADD_LIBS([ggi],[-lggi])
4711 [ --with-ggi=PATH path to libggi],
4712 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4714 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4715 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4722 AC_ARG_ENABLE(glide,
4723 [ --enable-glide Glide (3dfx) support (default disabled)])
4724 if test "${enable_glide}" = "yes"
4726 CFLAGS_save="${CFLAGS}"
4728 [ --with-glide=PATH path to libglide],
4729 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4731 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4732 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4733 CFLAGS="$CFLAGS -I${with_glide}/include"
4735 CFLAGS="$CFLAGS -I/usr/include/glide"
4736 AC_CHECK_HEADER(glide.h,[
4737 VLC_ADD_PLUGINS([glide])
4738 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4739 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4741 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4743 CFLAGS="${CFLAGS_save}"
4750 [ --enable-aa aalib output (default disabled)])
4751 if test "${enable_aa}" = "yes"
4753 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4754 if test "${have_aa}" = "true"
4756 VLC_ADD_PLUGINS([aa])
4757 VLC_ADD_LIBS([aa],[-laa])
4765 [ --enable-caca libcaca output (default disabled)])
4766 if test "${enable_caca}" = "yes"
4769 AC_ARG_WITH(caca-config-path,
4770 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4771 [ if test "${with_caca_config_path}" != "no"
4773 CACA_PATH="${with_caca_config_path}:${PATH}"
4775 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4776 if test "${CACA_CONFIG}" != "no"
4778 VLC_ADD_PLUGINS([caca])
4779 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4780 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4781 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4786 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4792 dnl win32 GDI plugin
4794 AC_ARG_ENABLE(wingdi,
4795 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4796 if test "${enable_wingdi}" != "no"; then
4797 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4798 VLC_ADD_PLUGINS([wingdi])
4799 VLC_ADD_LIBS([wingdi],[-lgdi32])
4801 if test "${SYS}" = "mingwce"; then
4802 VLC_ADD_PLUGINS([wingdi])
4803 VLC_ADD_PLUGINS([wingapi])
4811 AC_ARG_WITH(,[Audio plugins:])
4814 dnl OSS /dev/dsp module (enabled by default except on win32)
4817 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4819 if test "${enable_oss}" != "no" &&
4820 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4821 test "${enable_oss}" = "yes")
4823 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4824 VLC_ADD_PLUGINS([oss])
4825 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4833 [ --enable-esd Esound library support (default disabled)],
4834 [if test "${enable_esd}" = "yes"
4836 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4837 if test "${ESD_CONFIG}" != "no"
4839 VLC_ADD_PLUGINS([esd])
4840 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4841 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4846 dnl Pulseaudio module
4848 AC_ARG_ENABLE(pulse,
4849 [ --enable-pulse Pulseaudio support (default enabled)])
4850 if test "${enable_pulse}" != "no"
4852 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
4853 [ VLC_ADD_PLUGINS([pulse])
4854 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4855 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4856 [AC_MSG_WARN(pulsaudio library not found)])
4860 dnl Portaudio module
4862 AC_ARG_ENABLE(portaudio,
4863 [ --enable-portaudio Portaudio library support (default disabled)],
4864 [if test "${enable_portaudio}" = "yes"
4866 VLC_ADD_PLUGINS([portaudio])
4867 VLC_ADD_CXXFLAGS([portaudio],[])
4868 if test "${SYS}" = "mingw32"; then
4869 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4871 VLC_ADD_LIBS([portaudio],[-lportaudio])
4876 dnl aRts module -- broken (freeze wxWidgets)
4879 [ --enable-arts aRts sound server (default disabled)],
4880 [if test "${enable_arts}" = "yes"
4882 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4883 if test "${ARTS_CONFIG}" != "no"
4885 VLC_ADD_PLUGINS([arts])
4886 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4887 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4895 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4896 if test "${enable_alsa}" != "no"
4898 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4899 if test "${have_alsa}" = "true"
4901 CFLAGS="${CFLAGS_save}"
4902 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4903 #define ALSA_PCM_NEW_SW_PARAMS_API
4904 #include <alsa/asoundlib.h>],
4905 [snd_pcm_hw_params_get_period_time(0,0,0);],
4906 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4907 VLC_ADD_PLUGINS([alsa])
4908 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4910 if test "${enable_alsa}" = "yes"; then
4911 AC_MSG_ERROR([Could not find ALSA development headers])
4917 dnl win32 waveOut plugin
4919 AC_ARG_ENABLE(waveout,
4920 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4921 if test "${enable_waveout}" != "no"; then
4922 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4923 VLC_ADD_PLUGINS([waveout])
4924 VLC_ADD_LIBS([waveout],[-lwinmm])
4926 if test "${SYS}" = "mingwce"; then
4927 VLC_ADD_PLUGINS([waveout])
4932 dnl CoreAudio plugin
4934 AC_ARG_ENABLE(macosx-audio,
4935 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4936 if test "${enable_macosx-audio}" != "no" &&
4937 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4939 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4940 [ VLC_ADD_BUILTINS([auhal])
4941 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4942 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4946 dnl Roku HD1000 audio
4948 AC_ARG_ENABLE(hd1000a,
4949 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4950 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4951 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4952 test "${enable_hd1000a}" = "yes")
4955 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4956 VLC_ADD_PLUGINS([hd1000a])
4957 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4965 [ --enable-jack JACK audio I/O modules (default disabled)],,
4968 AS_IF([test "${enable_jack}" != "no"], [
4969 AC_CHECK_HEADERS(jack/jack.h, [
4970 VLC_ADD_PLUGINS([access_jack])
4971 VLC_ADD_PLUGINS([jack])
4972 VLC_ADD_LIBS([access_jack jack],[-ljack])
4973 ],[AC_MSG_ERROR([cannot find JACK headers])])
4977 dnl CyberLink for C++ UPnP stack
4979 AC_ARG_ENABLE(cyberlink,
4980 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4981 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4982 AC_ARG_WITH(cyberlink-tree,
4983 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4986 dnl test for --with-cyberlink-tree
4988 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4990 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4991 AS_IF([test -z "${real_cyberlink_tree}"], [
4992 dnl The given directory can't be found
4994 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4996 CPPFLAGS_save="${CPPFLAGS}"
4997 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4998 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4999 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
5000 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
5001 VLC_ADD_PLUGINS([upnp_cc])
5003 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
5005 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
5006 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
5007 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
5008 dnl The mere fact that we have to make such an ugly check sucks
5009 AC_MSG_CHECKING(for XML parser to link CyberLink with)
5012 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
5013 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
5014 AC_LINK_IFELSE([AC_LANG_PROGRAM([
5015 #include <cybergarage/upnp/media/player/MediaPlayer.h>
5016 using namespace CyberLink;
5018 class testclass : public SearchResponseListener, public MediaPlayer
5020 virtual void deviceSearchResponseReceived( SSDPPacket *)
5027 addSearchResponseListener (this);
5031 ],[testclass l;])],[LIBS_cclink="$l"])
5034 dnl should not happen - otherwise this needs fixing - hence FAILURE
5035 AS_IF([test "${LIBS_cclink}" = "no"],
5036 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
5037 AC_MSG_RESULT([${LIBS_cclink}])
5038 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
5041 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
5043 CPPFLAGS="${CPPFLAGS_save}"
5049 dnl UPnP Plugin (Intel SDK)
5052 [ --enable-upnp Intel UPnP SDK (default enabled)])
5054 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
5055 AS_IF([test "x${enable_upnp}" != "xno"], [
5056 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
5057 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
5058 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
5060 AS_IF([test "${has_upnp}" = "yes"], [
5061 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
5067 AS_IF([test "${has_upnp}" = "yes"], [
5068 VLC_ADD_PLUGINS([upnp_intel])
5073 dnl Interface plugins
5076 AC_ARG_WITH(,[Interface plugins:])
5078 dnl special case for BeOS
5079 if test "${SYS}" = "beos"
5081 VLC_ADD_BUILTINS([beos])
5087 AC_ARG_ENABLE(skins2,
5088 [ --enable-skins2 Skins2 interface module (default disabled)])
5089 if test "${enable_skins2}" = "yes" ||
5090 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
5091 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
5093 dnl test for the required libraries
5094 skins2_missing_lib="no"
5097 if test "${have_freetype}" != "yes"; then
5098 skins2_missing_lib="yes"
5099 if test "${enable_skins2}" = "yes"; then
5100 AC_MSG_ERROR([Could not find freetype (required for skins2)])
5104 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
5105 VLC_ADD_PLUGINS([skins2])
5106 ALIASES="${ALIASES} svlc"
5107 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
5108 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5109 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
5111 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
5112 VLC_ADD_PLUGINS([skins2])
5113 ALIASES="${ALIASES} svlc"
5114 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
5115 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5116 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
5118 else if test "${skins2_missing_lib}" = "no"; then
5119 VLC_ADD_PLUGINS([skins2])
5120 ALIASES="${ALIASES} svlc"
5121 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
5122 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
5123 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
5126 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
5131 dnl AC_ARG_ENABLE(gtk,
5132 dnl [ --enable-gtk Gtk+ support (default enabled)])
5133 dnl if test "${enable_gtk}" != "no"
5135 dnl GTK_PATH="${PATH}"
5136 dnl AC_ARG_WITH(gtk-config-path,
5137 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
5138 dnl [ if test "${with_gtk_config_path}" != "no"
5140 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
5142 dnl # look for gtk-config
5143 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
5144 dnl GTK_CONFIG=${GTK12_CONFIG}
5145 dnl if test "${GTK_CONFIG}" = "no"
5147 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
5149 dnl if test "${GTK_CONFIG}" != "no"
5151 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
5153 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.])
5155 dnl if test "${SYS}" != "mingw32"; then
5156 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
5157 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
5159 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
5160 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
5162 dnl # now look for the gtk.h header
5163 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
5164 dnl ac_cv_gtk_headers=yes
5165 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
5166 dnl ac_cv_gtk_headers=no
5167 dnl echo "Cannot find gtk development headers."
5169 dnl if test "${ac_cv_gtk_headers}" = "yes"
5171 dnl VLC_ADD_PLUGINS([gtk])
5172 dnl if test "${SYS}" != "mingw32"; then
5173 dnl NEED_GTK_MAIN=yes
5175 dnl ALIASES="${ALIASES} gvlc"
5177 dnl CPPFLAGS="${CPPFLAGS_save}"
5182 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
5184 dnl AC_ARG_ENABLE(gtk2,
5185 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
5186 dnl if test "${enable_gtk2}" = "yes"
5188 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5189 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5190 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5191 dnl VLC_ADD_PLUGINS([gtk2])
5192 dnl if test "${SYS}" != "mingw32"; then
5193 dnl NEED_GTK2_MAIN=yes
5198 dnl PDA Gtk+2 module
5201 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
5202 if test "${enable_pda}" = "yes"
5204 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
5205 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
5206 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
5207 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
5208 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5209 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5210 VLC_ADD_PLUGINS([pda])
5211 if test "${SYS}" != "mingw32"; then
5215 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
5218 dnl dnl Gnome module
5220 dnl AC_ARG_ENABLE(gnome,
5221 dnl [ --enable-gnome Gnome interface support (default disabled)],
5222 dnl [if test "${enable_gnome}" = "yes"; then
5223 dnl # look for gnome-config
5224 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5225 dnl if test -x ${GNOME_CONFIG}
5227 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5228 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5230 dnl # now look for the gnome.h header
5231 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5232 dnl AC_CHECK_HEADERS(gnome.h, [
5233 dnl VLC_ADD_PLUGINS([gnome])
5234 dnl NEED_GTK_MAIN=yes
5235 dnl NEED_GNOME_MAIN=yes
5236 dnl ALIASES="${ALIASES} gnome-vlc"
5237 dnl dnl We need this because of some moronic gnomesupport.h flavours
5238 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5239 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5240 dnl AC_MSG_RESULT(yes)
5241 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5242 dnl Define if <gnome.h> defines strndup.)],[
5243 dnl AC_MSG_RESULT(no)])
5245 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5246 dnl developement tools or remove the --enable-gnome option])
5248 dnl CPPFLAGS="${CPPFLAGS_save}"
5252 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5254 dnl AC_ARG_ENABLE(gnome2,
5255 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5256 dnl if test "${enable_gnome2}" = "yes"
5258 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5259 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5260 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5261 dnl VLC_ADD_PLUGINS([gnome2])
5262 dnl if test "${SYS}" != "mingw32"; then
5263 dnl NEED_GNOME2_MAIN=yes
5268 dnl wxWidgets module
5270 AC_ARG_ENABLE(wxwidgets,
5271 [ --enable-wxwidgets wxWidgets support (default disabled)])
5273 if test "${enable_wxwidgets}" = "yes"
5275 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5276 WXWIDGETS_PATH="${PATH}"
5277 AC_ARG_WITH(wx-config-path,
5278 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5279 [ if test "${with_wx_config_path}" != "no"
5281 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5283 WXWIDGETS_NAME="wx-config"
5284 AC_ARG_WITH(wx-config,
5285 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5286 [ if test "${with_wx_config}" != "no"
5288 WXWIDGETS_NAME="${with_wx_config}"
5290 # look for wx-config
5291 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5292 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5294 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5296 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5300 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5301 # into a warning. However better would be to fix playlist.cpp
5302 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5303 [ac_cv_cxx_fpermissive],
5304 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5305 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5306 ac_cv_cxx_fpermissive=no)])
5307 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5308 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5310 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5311 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5312 # check if we must link against gtk2 libs
5313 # if __WXGTK20__ && __WXGTK__ are defined
5314 # for modules/gui/wxwidgets/video.cpp
5315 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5318 #error ok, we need to link against gtk2
5320 ])],[WXGTK=no],[WXGTK=yes])
5321 if test "$WXGTK" = "yes"; then
5322 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5324 if ${WX_CONFIG} --unicode
5326 # wxwidgets should provide the following flags but does not
5327 # the following is required to compile for win32
5328 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5330 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5332 if test "$have_libcdio" = "yes"
5334 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5335 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5337 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5340 if test "$have_libvcdinfo" = "yes"
5342 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5343 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5345 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5348 # now look for the wxprec.h header
5349 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5350 ac_cv_wx_headers=yes
5351 AC_CHECK_HEADERS(wx/wxprec.h, , [
5353 echo "Cannot find wxWidgets development headers."
5355 if test "${ac_cv_wx_headers}" = "yes"
5357 VLC_ADD_PLUGINS([wxwidgets])
5358 AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.])
5359 ALIASES="${ALIASES} wxvlc"
5361 CPPFLAGS="${CPPFLAGS_save}"
5364 dnl WxWidgets plugin will yield incorrect code without this
5365 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5373 [ --enable-qt4 QT 4 support (default enabled) ])
5374 AS_IF([test "${enable_qt4}" != "no" &&
5375 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5376 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5377 [ VLC_ADD_PLUGINS([qt4])
5378 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
5379 ALIASES="${ALIASES} qvlc"
5381 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then
5382 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
5384 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5386 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5387 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5388 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5389 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5391 AS_IF([test "${enable_qt4}" = "yes"],[
5392 AC_MSG_ERROR(QT4 library not found)
5394 AC_MSG_WARN(QT4 library not found)
5398 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5401 dnl WinCE GUI module
5403 AC_ARG_ENABLE(wince,
5404 [ --enable-wince Windows CE interface (default enabled with MinGW)])
5405 if test "${enable_wince}" != "no"; then
5406 if test "${SYS}" = "mingwce"; then
5407 VLC_ADD_BUILTINS([wince])
5408 VLC_ADD_CXXFLAGS([wince],[])
5409 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5411 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5412 elif test "${SYS}" = "mingw32"; then
5413 VLC_ADD_CXXFLAGS([wince],[])
5414 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5416 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5421 dnl Simple test for skins2 dependency
5423 if test "${enable_skins2}" != "no"
5425 if test "${WX_CONFIG}" = "no"
5427 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.])
5434 dnl AC_ARG_ENABLE(qt,
5435 dnl [ --enable-qt Qt interface support (default disabled)],
5436 dnl [if test "${enable_qt}" = "yes"; then
5437 dnl VLC_ADD_PLUGINS([qt])
5438 dnl ALIASES="${ALIASES} qvlc"
5439 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5440 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5441 dnl AC_CHECK_LIB(qt-mt,main,[
5442 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5444 dnl AC_CHECK_LIB(qt,main,[
5445 dnl VLC_ADD_LIBS([qt],[-lqt])
5448 dnl LDFLAGS="${LDFLAGS_save}"
5449 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5450 dnl if test -x ${QTDIR}/bin/moc
5452 dnl MOC=${QTDIR}/bin/moc
5461 dnl AC_ARG_ENABLE(kde,
5462 dnl [ --enable-kde KDE interface support (default disabled)],
5463 dnl [if test "${enable_kde}" = "yes"; then
5464 dnl VLC_ADD_PLUGINS([kde])
5465 dnl ALIASES="${ALIASES} kvlc"
5466 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5467 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5468 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5469 dnl AC_CHECK_LIB(kfile,main,[
5470 dnl VLC_ADD_LIBS([kde],[-lkfile])
5472 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5473 dnl AC_CHECK_LIB(kdeui,main,[
5474 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5476 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5477 dnl AC_CHECK_LIB(kio,main,[
5478 dnl VLC_ADD_LIBS([kde],[-lkio])
5480 dnl LDFLAGS="${LDFLAGS_save}"
5481 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5482 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5483 dnl if test -x ${QTDIR}/bin/moc
5485 dnl MOC=${QTDIR}/bin/moc
5492 dnl Opie QT embedded module
5495 [ --enable-opie Qt embedded interface support (default disabled)],
5496 [if test "${enable_opie}" = "yes"; then
5498 [ --with-qte=PATH Qt Embedded headers and libraries])
5499 if test "${with_qte}" != "no" -a -n "${with_qte}"
5501 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5502 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])
5504 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5505 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5507 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5508 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5509 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5511 CPPFLAGS="${CPPFLAGS_save}"
5513 VLC_ADD_PLUGINS([opie])
5515 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5516 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5517 if test "${with_qte}" != "no" -a -n "${with_qte}"
5519 MOC=${with_qte}/bin/moc
5521 MOC=${QTDIR}/bin/moc
5526 dnl MacOS X video output/gui modules
5528 AC_ARG_ENABLE(macosx,
5529 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5530 if test "x${enable_macosx}" = "xyes"
5532 # VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5533 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
5534 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5535 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5536 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5537 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5538 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime])
5539 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit])
5540 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5541 VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore])
5542 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5544 # VLC_ADD_PLUGINS([access_eyetv])
5545 VLC_ADD_BUILTINS([macosx minimal_macosx])
5548 CFLAGS="$CFLAGS -x objective-c"
5549 AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
5557 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5558 if test "${enable_qnx}" != "no"
5560 AC_CHECK_HEADERS(Ph.h, [
5561 VLC_ADD_PLUGINS([qnx])
5562 VLC_ADD_LIBS([qnx],[-lasound -lph])
5569 AC_ARG_ENABLE(ncurses,
5570 [ --disable-ncurses ncurses interface support (default enabled)],
5571 [if test "${enable_ncurses}" != "no"; then
5572 AC_CHECK_HEADER(ncurses.h,
5573 [AC_CHECK_LIB(ncursesw, mvprintw,
5574 [VLC_ADD_PLUGINS([ncurses])
5575 VLC_ADD_LIBS([ncurses],[-lncursesw])
5576 ALIASES="${ALIASES} nvlc"
5577 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5578 AC_CHECK_LIB(ncursesw, tgetent, [],
5579 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5580 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5581 [AS_IF([test "x${enable_ncurses}" != "x"],
5582 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5588 [AC_CHECK_LIB( ncurses, mvprintw,
5589 [VLC_ADD_PLUGINS([ncurses])
5590 ALIASES="${ALIASES} nvlc"
5591 VLC_ADD_LIBS([ncurses],[-lncurses])
5592 AC_CHECK_LIB(ncurses, tgetent, [],
5593 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5594 [AS_IF([test "x${enable_ncurses}" != "x"],
5595 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5598 [AS_IF([test "x${enable_ncurses}" != "x"], [
5599 AC_MSG_ERROR([libncurses not found])])]
5610 [ --enable-xosd xosd interface support (default disabled)])
5611 if test "${enable_xosd}" = "yes"
5613 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5614 AC_CHECK_LIB(xosd,xosd_set_offset,
5615 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5616 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5617 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5618 AC_TRY_COMPILE([#include <xosd.h>],
5619 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5620 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5621 if test "${have_xosd}" = "true"
5623 VLC_ADD_PLUGINS([xosd])
5624 VLC_ADD_LIBS([xosd],[-lxosd])
5629 dnl Framebuffer (overlay) plugin
5631 AC_ARG_ENABLE(fbosd,
5632 [ --enable-fbosd fbosd interface support (default disabled)])
5633 if test "${enable_fbosd}" = "yes"
5635 AC_CHECK_HEADERS(linux/fb.h, [
5636 VLC_ADD_PLUGINS([fbosd])
5641 dnl Visualisation plugin
5643 AC_ARG_ENABLE(visual,
5644 [ --enable-visual visualisation plugin (default enabled)])
5645 if test "${enable_visual}" != "no"
5647 VLC_ADD_PLUGINS([visual])
5651 dnl OpenGL visualisation plugin
5653 AC_ARG_ENABLE(galaktos,
5654 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5655 if test "${enable_galaktos}" = "yes"
5657 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5658 VLC_ADD_PLUGINS([galaktos])
5659 if test "${SYS}" != "mingw32"; then
5660 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5662 VLC_ADD_LIBS([galaktos],[-lopengl32])
5668 dnl goom visualization plugin
5671 [ --enable-goom goom visualisation plugin (default disabled)])
5672 if test "${enable_goom}" = "yes"
5674 AC_ARG_WITH(goom-tree,
5675 [ --with-goom-tree=PATH goom tree for static linking (required)])
5678 dnl test for --with-goom-tree
5680 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5681 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5682 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5683 if test -z "${real_goom_tree}"; then
5684 dnl The given directory can't be found
5686 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5688 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5689 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5690 VLC_ADD_BUILTINS([goom])
5691 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5692 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5694 dnl The given libgoom2 wasn't built, try to look for the old goom
5696 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5697 if test -f "${real_goom_tree}/libgoom.a"; then
5698 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5699 VLC_ADD_BUILTINS([goom])
5700 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5701 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5703 dnl The given libgoom wasn't built
5705 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5709 AC_CHECK_HEADERS(goom/goom.h, [
5710 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5711 AC_CHECK_LIB(goom2, goom_init, [
5712 VLC_ADD_PLUGINS([goom])
5713 VLC_ADD_LIBS([goom],[-lgoom2])
5715 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5717 LDFLAGS="${LDFLAGS_save}"
5723 dnl AtmoLight (homebrew AmbiLight)
5725 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5727 [ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)])
5728 if test "${enable_atmo}" != "no"; then
5730 VLC_ADD_PLUGINS([atmo])
5736 dnl Bonjour services discovery
5738 AC_ARG_ENABLE(bonjour,
5739 [ --enable-bonjour Bonjour services discovery (default enabled)])
5740 if test "${enable_bonjour}" != "no"
5742 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5743 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5744 [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],)
5745 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library])
5746 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5747 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5748 VLC_ADD_PLUGINS([bonjour]) ],
5749 [AC_MSG_WARN(avahi-client library not found)])
5756 [ --enable-lirc lirc support (default disabled)])
5757 if test "${enable_lirc}" = "yes"
5759 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5760 if test "${have_lirc}" = "true"
5762 VLC_ADD_PLUGINS([lirc])
5763 VLC_ADD_LIBS([lirc],[-llirc_client])
5768 AC_ARG_WITH(,[Misc options:])
5773 AC_ARG_ENABLE(libgcrypt,
5774 [ --enable-libgcrypt libgcrypts support (default enabled)])
5776 GCRYPT_PATH="${PATH}"
5777 AC_ARG_WITH(libgcrypt-config-path,
5778 [ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)],
5779 [ if test "${with_libgcrypt_config_path}" != "no"
5781 GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}"
5784 if test "${enable_libgcrypt}" != "no"
5786 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5787 dnl it and looks for libgcrypt headers in the wrong place.
5788 if test "${host_cpu}" = "${build_cpu}"
5790 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5792 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5795 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5796 AS_IF([test "${have_libgcrypt}" = "yes"],[
5797 # look for libgcrypt-config
5798 AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH})
5799 GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags`
5800 GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs`
5806 AC_ARG_ENABLE(gnutls,
5807 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5809 AS_IF([test "${enable_gnutls}" != "no"], [
5810 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [
5811 VLC_ADD_PLUGINS([gnutls])
5812 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5813 AS_IF([test "${SYS}" = "mingw32"], [
5814 dnl pkg-config --libs gnutls omits these
5815 VLC_ADD_LIBS([gnutls], [-lz])
5816 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5818 AS_IF([test "${have_libgcrypt}" = "yes"],[
5819 VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS})
5820 VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS})
5822 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5824 AS_IF([test "${enable_gnutls}" = "yes"], [
5825 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5831 dnl update checking system
5833 AC_ARG_ENABLE(update-check,
5834 [ --enable-update-check update checking system (default disabled)])
5835 if test "${enable_update_check}" = "yes"
5837 if test "${have_libgcrypt}" != "yes"
5839 AC_MSG_ERROR([libgcrypt is required for update checking system])
5841 VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS})
5842 VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS})
5843 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5847 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5849 dnl We give the user the opportunity to specify
5850 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5853 [ --with-words=endianness set endianness (big or little)])
5854 case "${with_words}" in
5856 ac_cv_c_bigendian=yes
5859 ac_cv_c_bigendian=no
5862 dnl Try to guess endianness by matching patterns on a compiled
5863 dnl binary, by looking for an ASCII or EBCDIC string
5864 AC_CACHE_CHECK([whether the byte order is big-endian],
5865 [ac_cv_c_bigendian],
5866 [ac_cv_c_bigendian="unknown"
5867 [cat >conftest.c <<EOF
5868 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5869 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5870 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5871 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5872 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5873 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5874 int main(void) { _a(); _e(); return 0; }
5877 if test -f conftest.c
5879 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5880 && test -f conftest.o
5882 if test "`strings conftest.o | grep BIGenDianSyS`"
5884 ac_cv_c_bigendian="yes"
5886 if test "`strings conftest.o | grep LiTTleEnDian`"
5888 ac_cv_c_bigendian="no"
5893 if test "${ac_cv_c_bigendian}" = "unknown"
5895 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5899 dnl Now we know what to use for endianness, just put it in the header
5900 if test "${ac_cv_c_bigendian}" = "yes"
5902 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5906 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5909 AC_ARG_ENABLE(loader,
5910 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5911 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5912 AS_IF([test "${enable_loader}" = "yes"],
5913 [ VLC_ADD_PLUGINS([dmo])
5914 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5915 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5916 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5917 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5918 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5919 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
5922 AC_ARG_WITH(,[Components:])
5928 [ --enable-vlc build the VLC media player (default enabled)])
5929 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5932 dnl Microsoft ActiveX support
5935 AC_ARG_ENABLE(activex,
5936 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5937 AC_ARG_WITH(wine-sdk-path,
5938 [ --with-wine-sdk-path=PATH path to wine sdk])
5939 if test "${enable_activex}" != "no"
5941 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5943 AC_CHECK_PROGS(MIDL, [midl], no)
5944 if test "${with_wine_sdk_path}" != ""
5946 WINE_SDK_PATH=${with_wine_sdk_path}
5947 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5952 AC_CHECK_HEADERS(ole2.h,
5953 [AC_CHECK_HEADERS(olectl.h,
5954 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5955 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5956 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5957 AC_CHECK_HEADERS(objsafe.h,
5958 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5966 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5968 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5970 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5975 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5976 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5977 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5978 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5979 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5985 AC_ARG_ENABLE(mozilla,
5986 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5987 AC_ARG_WITH(mozilla-sdk-path,
5988 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5990 if test "${enable_mozilla}" = "yes"
5992 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5993 need_xpcom_libs=false
5995 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5997 dnl New firefox-1.5 SDK api
5998 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
6000 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
6003 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
6006 PKG_CHECK_MODULES([NSPR], [nspr],
6009 AC_MSG_ERROR([Please install the nspr development tools.])
6015 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
6016 MOZILLA_REQUIRED_HEADERS=1
6017 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6018 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6019 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6024 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
6025 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
6027 MOZILLA_REQUIRED_HEADERS=
6029 firefox_include=`pkg-config --variable=includedir firefox-plugin`
6030 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
6031 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
6032 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
6033 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
6035 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
6037 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
6038 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6039 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm])
6041 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
6042 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
6043 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
6044 VLC_ADD_PLUGINS([mozilla])
6046 CPPFLAGS="${CPPFLAGS_save}"
6049 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
6050 if test "${MOZILLA_CONFIG}" = "no"
6052 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
6053 if test "${SEAMONKEY_CONFIG}" = "no"
6055 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
6056 if test "${XULRUNNER_CONFIG}" = "no"
6058 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
6061 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
6064 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
6069 if test ! -z "${MOZILLA_CONFIG}"
6071 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
6072 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
6073 AC_CHECK_LIB(Xt,XtStrings,
6075 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
6076 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
6079 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
6081 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
6082 LDFLAGS="${LDFLAGS_save}"
6086 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6087 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
6088 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
6089 if ${need_xpcom_libs}; then
6090 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
6092 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
6094 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
6095 MOZILLA_REQUIRED_HEADERS=1
6096 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6097 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6098 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6103 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6105 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6107 MOZILLA_REQUIRED_HEADERS=
6108 CPPFLAGS="${CPPFLAGS_save}"
6109 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
6111 dnl End of moz_sdk = ""
6113 dnl special case for mingw32
6114 if test "${SYS}" = "mingw32"
6116 AC_CHECK_TOOL(CYGPATH, cygpath, "")
6117 dnl latest gecko sdk does not have an xpcom directory
6118 if test -d "${with_mozilla_sdk_path}/xpcom"; then
6119 mozilla_sdk_xpcom="/xpcom"
6123 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
6124 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
6125 MOZILLA_REQUIRED_HEADERS=1
6126 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
6127 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
6128 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
6133 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
6135 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
6137 MOZILLA_REQUIRED_HEADERS=
6139 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
6140 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])
6141 if ${need_xpcom_libs}; then
6142 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])
6143 if test "${SYS}" = "mingw32"; then
6144 dnl latest gecko sdk does not have embedstring
6145 if test -d "${real_mozilla_sdk}/embedstring/bin"
6147 VLC_ADD_LIBS([mozilla],[-lembedstring])
6151 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
6153 if test -n "${CYGPATH}"; then
6154 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
6156 CPPFLAGS="${CPPFLAGS_save}"
6160 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
6162 dnl Tests for Osso and Xsp
6163 if test "${enable_x11}" != "no" &&
6164 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
6165 test "${enable_x11}" = "yes"); then
6166 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
6167 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
6168 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
6169 VLC_ADD_LIBS([x11],[-losso])
6172 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
6173 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
6174 VLC_ADD_LIBS([x11],[-lXsp])
6179 dnl Mediacontrol Python bindings
6181 AC_ARG_ENABLE(python-bindings,
6182 [ --enable-python-bindings Enable Python bindings (default disabled)])
6184 if test "${enable_python_bindings}" = "yes"; then
6185 AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
6186 CFLAGS="${CFLAGS_save} `${PYTHON_CONFIG} --cflags`"
6187 AC_CHECK_HEADER([Python.h],
6188 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python",
6189 AC_MSG_ERROR([You have to install python-dev to build the bindings]),
6192 CFLAGS="${CFLAGS_save}"
6194 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
6199 AC_ARG_ENABLE(java-bindings,
6200 [ --enable-java-bindings Enable Java bindings (default disabled)])
6201 if test "${enable_java_bindings}" = "yes"
6204 echo "****** WARNING **** WARNING ***** WARNING *************"
6205 echo "*** To compile the java bindings go to the "
6206 echo "*** bindings/java folder and run mvn install. "
6207 echo "*** You need maven2 installed. "
6208 echo "*** This configuration will continue, so you will be "
6209 echo "*** able to compile VideoLAN as usual. "
6210 echo "*******************************************************"
6217 AC_ARG_ENABLE(testsuite,
6218 [ --enable-testsuite build test modules (default disabled)])
6219 if test "${enable_testsuite}" = "yes"
6221 TESTS="test1 test2 test3 test4"
6223 dnl we define those so that bootstrap sets the right linker
6224 VLC_ADD_CXXFLAGS([test2],[])
6225 VLC_ADD_OBJCFLAGS([test3],[])
6226 dnl this one is needed until automake knows what to do
6227 VLC_ADD_LIBS([test3],[-lobjc])
6229 VLC_ADD_PLUGINS([${TESTS}])
6233 dnl Microsoft Layer for Unicode for WIN9x/ME
6235 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
6237 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
6238 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
6245 if test "${NEED_GTK_MAIN}" != "no"
6247 VLC_ADD_PLUGINS([gtk_main])
6248 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
6249 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
6252 if test "${NEED_GNOME_MAIN}" != "no"
6254 VLC_ADD_PLUGINS([gnome_main])
6255 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
6256 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
6259 if test "${NEED_GTK2_MAIN}" != "no"
6261 VLC_ADD_PLUGINS([gtk2_main])
6262 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
6263 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
6264 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
6265 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
6268 if test "${NEED_GNOME2_MAIN}" != "no"
6270 VLC_ADD_PLUGINS([gnome2_main])
6271 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
6272 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
6278 if test "${NEED_QTE_MAIN}" != "no"
6280 VLC_ADD_PLUGINS([qte_main])
6281 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
6282 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
6283 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
6288 dnl Plugin and builtin checks
6292 dnl Automagically disable plugins if there is no system support for
6293 dnl dynamically loadable files (.so, .dll, .dylib).
6294 dnl don't forget vlc-win32 still can load .dll as plugins
6295 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
6296 AC_MSG_WARN([*** No plugin support! Building statically! ***])
6300 AS_IF([test "${enable_shared}" = "no"], [
6304 AS_IF([test "${plugin_support}" != "no"], [
6305 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
6307 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6309 dnl Temporary(?) hack for plugins/builtins transition
6310 VLC_ADD_PLUGINS([${BUILTINS}])
6314 dnl Pic and shared libvlc stuff
6316 AS_IF([test "${SYS}" = "mingw32"], [
6317 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6318 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6322 dnl Stuff used by the program
6324 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6325 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
6326 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
6327 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6328 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6329 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6330 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6331 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6332 AC_SUBST(VERSION_MAJOR)
6333 AC_SUBST(VERSION_MINOR)
6334 AC_SUBST(VERSION_REVISION)
6335 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6336 if test "${build_os}" = "cygwin"
6338 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6340 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
6342 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6343 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6346 dnl Handle substvars that use $(top_srcdir)
6348 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6349 AC_SUBST(VLC_CONFIG)
6350 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include"
6358 dnl Create the vlc-config script
6360 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6363 dnl Configuration is finished
6373 AC_SUBST(MOZILLA_SDK_PATH)
6374 AC_SUBST(WINE_SDK_PATH)
6376 AC_SUBST(AM_CPPFLAGS)
6377 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6378 AC_SUBST(FILE_LIBVLC_DLL)
6379 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6381 dnl Create vlc-config.in
6382 VLC_OUTPUT_VLC_CONFIG_IN
6385 extras/package/win32/vlc.win32.nsi
6387 projects/activex/Makefile
6388 projects/activex/axvlc.inf
6390 bindings/python/Makefile
6392 extras/package/ipkg/Makefile
6393 libs/loader/Makefile
6396 projects/mozilla/Makefile
6405 modules/access/Makefile
6406 modules/access/bda/Makefile
6407 modules/access/dshow/Makefile
6408 modules/access/dvb/Makefile
6409 modules/access/mms/Makefile
6410 modules/access/cdda/Makefile
6411 modules/access/rtsp/Makefile
6412 modules/access/rtmp/Makefile
6413 modules/access/v4l2/Makefile
6414 modules/access/vcd/Makefile
6415 modules/access/vcdx/Makefile
6416 modules/access/screen/Makefile
6417 modules/access_filter/Makefile
6418 modules/access_output/Makefile
6419 modules/audio_filter/Makefile
6420 modules/audio_filter/channel_mixer/Makefile
6421 modules/audio_filter/converter/Makefile
6422 modules/audio_filter/resampler/Makefile
6423 modules/audio_filter/spatializer/Makefile
6424 modules/audio_mixer/Makefile
6425 modules/audio_output/Makefile
6426 modules/codec/Makefile
6427 modules/codec/cmml/Makefile
6428 modules/codec/dmo/Makefile
6429 modules/codec/ffmpeg/Makefile
6430 modules/codec/subtitles/Makefile
6431 modules/codec/spudec/Makefile
6432 modules/codec/xvmc/Makefile
6433 modules/control/Makefile
6434 modules/control/http/Makefile
6435 modules/demux/Makefile
6436 modules/demux/asf/Makefile
6437 modules/demux/avi/Makefile
6438 modules/demux/mp4/Makefile
6439 modules/demux/mpeg/Makefile
6440 modules/demux/playlist/Makefile
6441 modules/gui/Makefile
6442 modules/gui/beos/Makefile
6443 modules/gui/pda/Makefile
6444 modules/gui/macosx/Makefile
6445 modules/gui/minimal_macosx/Makefile
6446 modules/gui/qnx/Makefile
6447 modules/gui/qt4/Makefile
6448 modules/gui/skins2/Makefile
6449 modules/gui/wxwidgets/Makefile
6450 modules/gui/wince/Makefile
6451 modules/meta_engine/Makefile
6452 modules/misc/Makefile
6453 modules/misc/dummy/Makefile
6454 modules/misc/lua/Makefile
6455 modules/misc/memcpy/Makefile
6456 modules/misc/notify/Makefile
6457 modules/misc/testsuite/Makefile
6458 modules/misc/playlist/Makefile
6459 modules/misc/osd/Makefile
6460 modules/misc/xml/Makefile
6461 modules/misc/probe/Makefile
6462 modules/mux/Makefile
6463 modules/mux/mpeg/Makefile
6464 modules/mux/rtp/Makefile
6465 modules/packetizer/Makefile
6466 modules/services_discovery/Makefile
6467 modules/stream_out/Makefile
6468 modules/stream_out/transrate/Makefile
6469 modules/video_chroma/Makefile
6470 modules/video_filter/Makefile
6471 modules/video_filter/atmo/Makefile
6472 modules/video_filter/dynamicoverlay/Makefile
6473 modules/video_output/Makefile
6474 modules/video_output/msw/Makefile
6475 modules/video_output/qte/Makefile
6476 modules/video_output/x11/Makefile
6477 modules/visualization/Makefile
6478 modules/visualization/visual/Makefile
6479 modules/visualization/galaktos/Makefile
6482 dnl Generate makefiles
6485 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6486 # not provided with the source
6487 ${SHELL} ./config.status --file=vlc-config
6488 chmod 0755 vlc-config
6490 dnl echo "Enabled builtin modules :"
6491 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6493 dnl echo "Enabled plugin modules :"
6494 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6496 dnl Shortcut to nice compile message
6498 echo '#! /bin/sh' >compile
6499 echo rm -f .error\$\$ >>compile
6500 echo ERROR=0 >>compile
6501 echo export PATH=$PATH LANG=C >>compile
6502 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
6503 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
6504 echo test -f .error\$\$ \&\& ERROR=1 >>compile
6505 echo rm -f .error\$\$ >>compile
6506 echo exit \$ERROR >>compile
6510 libvlc configuration
6511 --------------------
6512 version : ${VERSION}
6514 architecture : ${ARCH}
6516 test "${enable_debug}" = "yes" && printf "debug "
6517 test "${enable_cprof}" = "yes" && printf "cprof "
6518 test "${enable_gprof}" = "yes" && printf "gprof "
6519 test "${enable_optimizations}" = "yes" && printf "optim "
6520 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6522 if test "${enable_vlc}" != "no"; then
6523 echo "vlc aliases :${ALIASES}"
6525 echo "build vlc executable : no"
6527 echo "plugins/bindings :${PLUGINS_BINDINGS}
6529 You can check which modules have been enabled
6530 with \`./vlc-config --list plugin'.
6531 You can tune the compiler flags in vlc-config.
6532 To build vlc and its plugins, type \`./compile' or \`make'.
6534 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6536 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6538 echo " FFmpeg will be REALLY slow."
6539 echo " VLC WILL NOT PERFORM AS EXPECTED."