1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
12 AC_PREREQ(2.59) dnl this really should be 2.59c
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
18 AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
19 AM_CONFIG_HEADER(config.h)
21 dnl Too many people are not aware of maintainer mode:
22 dnl If you want to use it, you definitely know what you are doing, so
23 dnl you can specify "--disable-maintainer-mode". But if you want the default
24 dnl automake behavior, you've likely never heard of maintainer mode, so we
25 dnl can't expect you to enable it manually.
27 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
28 [enable_maintainer_mode="yes"])
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
46 _AM_DEPENDENCIES([OBJC])
52 dnl Find the right ranlib, even when cross-compiling
53 AC_CHECK_TOOL(RANLIB, ranlib, :)
54 AC_CHECK_TOOL(STRIP, strip, :)
55 AC_CHECK_TOOL(AR, ar, :)
56 AC_CHECK_TOOL(LD, ld, :)
57 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
59 dnl Check for compiler properties
65 dnl Check for the contrib directory
68 [ --without-contrib do not use the libraries in extras/contrib],[],[])
69 if test "${with_contrib}" != "no"; then
70 AC_MSG_CHECKING([for libs in extras/contrib])
72 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
73 topdir="`pwd`/$topdir"
75 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
76 if test "${with_contrib}" = "yes"; then
78 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
81 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
84 if test -d ${topdir}/extras/contrib/lib; then
86 export PATH=${topdir}/extras/contrib/bin:$PATH
87 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
96 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
98 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
100 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
101 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
103 dnl kludge because only the debian package provides a ffmpeg-config
104 if test -z $with_ffmpeg_config_path; then
105 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
107 if test -z $with_live555_tree; then
108 with_live555_tree=${topdir}/extras/contrib/src/live
110 if test -z $with_goom_tree; then
111 with_goom_tree=${topdir}/extras/contrib/src/goom
113 if test -z $with_mozilla_sdk_path; then
114 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
116 if test -z $with_cyberlink_tree; then
117 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
119 if test -z $with_libmpeg2_tree; then
120 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
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_LDFLAGS([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}"
170 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
171 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
172 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
173 VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load])
174 VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
175 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
176 VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
180 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
181 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
182 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
183 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
184 VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
185 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
186 VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup])
188 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
189 AC_CHECK_TOOL(WINDRES, windres, :)
197 dnl Check if we are using the mno-cygwin mode in which case we are
198 dnl actually dealing with a mingw32 compiler.
203 SYS=mingw32, SYS=cygwin)
205 *wince* | *mingwce* | *pe*)
210 if test "${SYS}" = "mingw32"; then
211 # add ws2_32 for closesocket, select, recv
212 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
213 VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
214 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
215 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync growl flac ts audioscrobbler],[-lws2_32])
217 if test "${SYS}" = "mingwce"; then
218 # add ws2 for closesocket, select, recv
219 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
220 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
221 VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
222 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
227 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
231 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
232 # Perhaps it is useful other places as well?
233 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
240 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
241 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
242 VLC_ADD_CXXFLAGS([beos],[])
243 VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe])
244 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
245 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
246 VLC_ADD_LDFLAGS([access_file],[-lpoll])
247 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
249 if test -f /boot/beos/system/lib/libbind.so; then
250 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
252 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
255 dnl Ugly check for Zeta
256 if test -f /boot/beos/system/lib/libzeta.so; then
257 VLC_ADD_LDFLAGS([beos],[-lzeta])
264 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
265 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
266 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
267 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
271 dnl It's very bad, but our former custom system was worst
276 dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
277 m4_undefine([AC_PROG_F77])
278 m4_defun([AC_PROG_F77],[])
281 AC_ARG_ENABLE(libtool,
282 [ --enable-libtool use libtool (default enabled)])
283 AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
287 dnl Check for Mac OS X SDK settings
289 AC_ARG_WITH(macosx-sdk,
290 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
291 if test "${with_macosx_sdk}" != "no" ; then
292 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
293 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
294 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
295 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
296 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"; LDFLAGS="${LDFLAGS_save}"
297 export MACOSX_DEPLOYMENT_TARGET=10.4
298 MACOSX_DEPLOYMENT_TARGET="10.4"
299 elif test "${host_cpu}" = "powerpc"; then
300 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CFLAGS="${CFLAGS_save}"
301 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CXXFLAGS="${CXXFLAGS_save}"
302 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; OBJCFLAGS="${OBJCFLAGS_save}"
303 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
304 export MACOSX_DEPLOYMENT_TARGET=10.3
305 MACOSX_DEPLOYMENT_TARGET="10.3"
312 ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
313 AM_GNU_GETTEXT_VERSION(0.11.5)
315 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
316 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
317 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
318 AS_IF([test "${enable_libtool}" != "no"], [
319 INCLUDED_LIBINTL="${LTLIBINTL}"
321 INCLUDED_LIBINTL="${LIBINTL}"
324 AS_IF([test "${enable_libtool}" != "no"], [
325 VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
327 VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}])
330 AC_SUBST(INCLUDED_LIBINTL)
331 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
336 if test "${SYS}" != "mingwce"; then
337 AS_IF([test "$am_cv_func_iconv" != "yes"],
338 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
340 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
341 AS_IF([test "${enable_libtool}" != "no"], [
342 VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}])
344 VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}])
347 dnl Check for the need to include the mingwex lib for mingw32
348 if test "${SYS}" = "mingw32"
350 AC_CHECK_LIB(mingwex,opendir,
351 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]),
352 [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])])
356 dnl Check for fnative-struct or mms-bitfields support for mingw32
357 if test "${SYS}" = "mingw32"
359 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
360 [ac_cv_c_mms_bitfields],
361 [CFLAGS="${CFLAGS_save} -mms-bitfields"
362 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
363 if test "${ac_cv_c_mms_bitfields}" != "no"; then
364 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
365 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
367 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
368 [ac_cv_c_fnative_struct],
369 [CFLAGS="${CFLAGS_save} -fnative-struct"
370 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
371 if test "${ac_cv_c_fnative_struct}" != "no"; then
372 CFLAGS_save="${CFLAGS_save} -fnative-struct";
373 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
377 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
380 dnl Check for fvtable-thunks support for mingw32
381 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
384 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
385 [ac_cv_cxx_fvtable_thunks],
386 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
387 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
388 ac_cv_cxx_fvtable_thunks=no)])
389 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
390 CXXFLAGS_mingw32_special="-fvtable-thunks"
393 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
397 dnl Plugin compilation stuff
404 AS_IF([test "${enable_libtool}" = "no"], [
407 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
408 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
409 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
414 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
415 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
416 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
417 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
422 dnl The -DSYS_FOO flag
423 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
425 dnl Check for system libs needed
428 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)
430 dnl Check for usual libc functions
431 AC_CHECK_FUNCS(strdup strndup atof)
432 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
433 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
434 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
436 dnl Check for setlocal and langinfo
437 AC_CHECK_FUNCS(setlocale)
438 AC_CHECK_HEADERS(langinfo.h)
439 AC_CHECK_FUNCS(nl_langinfo)
441 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
442 [AC_TRY_LINK([#include <langinfo.h>],
443 [char* cs = nl_langinfo(CODESET);],
444 ac_cv_langinfo_codeset=yes,
445 ac_cv_langinfo_codeset=no)
447 if test ${ac_cv_langinfo_codeset} = yes; then
448 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
449 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
452 AC_CHECK_FUNCS(connect,,[
453 AC_CHECK_LIB(socket,connect,[
454 VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket)
455 LIBS_socket="-lsocket"
459 AC_CHECK_FUNCS(send,,[
460 AC_CHECK_LIB(socket,send,[
461 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
465 AC_CHECK_FUNCS(gethostbyname,,[
466 AC_CHECK_LIB(nsl,gethostbyname,[
467 VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl])
469 AC_CHECK_LIB(bind,gethostbyname,[
470 VLC_ADD_LDFLAGS([access_mms],[-lbind])
475 dnl Check for socklen_t
476 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
478 [#include <sys/types.h>
479 #include <sys/socket.h>],
480 [socklen_t len = 42; return len;],
481 ac_cv_type_socklen_t=yes,
482 ac_cv_type_socklen_t=no)])
483 if test "${ac_cv_type_socklen_t}" != "no"; then
484 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
487 dnl Check for struct sockaddr_storage
488 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
489 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
490 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
492 [#include <sys/types.h>
493 #if defined( UNDER_CE )
494 # include <winsock.h>
495 #elif defined( WIN32 )
496 # include <winsock2.h>
498 # include <sys/socket.h>
499 #endif], [struct sockaddr_storage addr;],
500 ac_cv_struct_sockaddr_storage=yes,
501 ac_cv_struct_sockaddr_storage=no)])
502 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
503 AC_DEFINE(sockaddr_storage, sockaddr)
504 AC_DEFINE(ss_family, sa_family)
507 dnl getaddrinfo, getnameinfo and gai_strerror check
508 dnl -lnsl and -lsocket are needed on Solaris;
509 dnl we purposedly make the test fail on Windows
511 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
512 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
514 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
517 AC_CHECK_FUNCS([getnameinfo gai_strerror])
520 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
521 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
522 [#include <sys/types.h>
523 #if defined( WIN32 ) || defined( UNDER_CE )
524 # if defined(UNDER_CE) && defined(sockaddr_storage)
525 # undef sockaddr_storage
527 # include <winsock2.h>
528 # include <ws2tcpip.h>
533 dnl Check for va_copy
534 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
536 [#include <stdarg.h>],
537 [va_list ap1, ap2; va_copy(ap1,ap2);],
538 [ac_cv_c_va_copy="yes"],
539 [ac_cv_c_va_copy="no"]))
540 if test "${ac_cv_c_va_copy}" = "yes"; then
541 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
543 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
545 [#include <stdarg.h>],
546 [va_list ap1, ap2; __va_copy(ap1,ap2);],
547 [ac_cv_c___va_copy="yes"],
548 [ac_cv_c___va_copy="no"]))
549 if test "${ac_cv_c___va_copy}" = "yes"; then
550 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
553 AC_CHECK_FUNCS(inet_aton,,[
554 AC_CHECK_LIB(resolv,inet_aton,[
555 VLC_ADD_LDFLAGS([libvlc],[-lresolv])
559 dnl Check for getopt (always use builtin one on win32)
560 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
564 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
565 [ # FreeBSD has a gnugetopt library for this:
566 AC_CHECK_LIB([gnugetopt],[getopt_long],
567 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
568 VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])],
571 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
573 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
576 VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm])
579 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
581 AC_CHECK_LIB(m,sqrt,[
582 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
584 AC_CHECK_LIB(m,ceil,[
585 VLC_ADD_LDFLAGS([mosaic],[-lm])
587 AC_CHECK_LIB(mx,sqrtf,[
588 VLC_ADD_LDFLAGS([x264],[-lmx])
590 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
592 dnl Check for dynamic plugins
593 ac_cv_have_plugins=no
596 AC_CHECK_HEADERS(mach-o/dyld.h,
597 [AC_CHECK_FUNCS(NSLinkModule,
598 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
599 ac_cv_have_plugins=yes])])
602 if test "${ac_cv_have_plugins}" = "no"; then
603 AC_CHECK_HEADERS(dl.h)
604 ac_cv_my_have_shl_load=no
605 AC_CHECK_FUNC(shl_load,
606 [ac_cv_my_have_shl_load=yes,
607 AC_CHECK_LIB(dld, shl_load,
608 [ac_cv_my_have_shl_load=yes
609 VLC_ADD_LDFLAGS([libvlc],[-ldld])])])
610 if test "${ac_cv_my_have_shl_load}" = "yes"; then
611 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
612 ac_cv_have_plugins=yes
617 if test "${ac_cv_have_plugins}" = "no"; then
618 AC_CHECK_LIB(dld, dld_link,
619 [VLC_ADD_LDFLAGS([libvlc],[-ldld])
620 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
621 ac_cv_have_plugins=yes])
625 if test "${ac_cv_have_plugins}" = "no"; then
626 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
627 AC_CHECK_LIB(kernel32, main,
628 [VLC_ADD_LDFLAGS([libvlc],[-lkernel32])
629 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
630 ac_cv_have_plugins=yes])
635 if test "${ac_cv_have_plugins}" = "no"; then
636 if test "${SYS}" = "mingwce"; then
637 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
638 ac_cv_have_plugins=yes
643 if test "${ac_cv_have_plugins}" = "no"; then
644 AC_CHECK_HEADERS(image.h)
645 AC_CHECK_FUNCS(load_add_on,
646 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
647 ac_cv_have_plugins=yes])
650 # Only test for dlopen() if the others didn't work
651 if test "${ac_cv_have_plugins}" = "no"; then
652 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
653 ac_cv_my_have_dlopen=no
654 AC_CHECK_FUNC(dlopen,
655 ac_cv_my_have_dlopen=yes,
656 AC_CHECK_LIB(dl, dlopen,
657 ac_cv_my_have_dlopen=yes
658 VLC_ADD_LDFLAGS([libvlc],[-ldl]),
659 AC_CHECK_LIB(svld, dlopen,
660 ac_cv_my_have_dlopen=yes
661 VLC_ADD_LDFLAGS([libvlc],[-lsvld]))))
662 if test "${ac_cv_my_have_dlopen}" = "yes"; then
663 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
664 ac_cv_have_plugins=yes
668 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
669 dnl Check for pthreads - borrowed from XMMS
671 if test "${THREAD_LIB}" = "error"; then
672 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
674 if test "${THREAD_LIB}" = "error"; then
675 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
677 if test "${THREAD_LIB}" = "error"; then
678 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
680 if test "${THREAD_LIB}" = "error"; then
681 AC_CHECK_FUNCS(pthread_mutex_lock)
685 dnl Check for cthreads under GNU/Hurd for instance
686 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
689 dnl GNU portable threads
692 [ --enable-pth GNU Pth support (default disabled)],
693 [ if test "${enable_pth}" = "yes"; then
694 AC_CHECK_LIB(pth,pth_init)
695 AC_MSG_CHECKING(for pth_init in pth.h)
696 AC_EGREP_HEADER(pth_init,pth.h,[
698 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
699 Define if <pth.h> defines pth_init)
711 [ --enable-st State Threads (default disabled)],
712 [ if test "${enable_st}" = "yes"; then
713 AC_CHECK_LIB(st,st_init)
714 AC_MSG_CHECKING(for st_init in st.h)
715 AC_EGREP_HEADER(st_init,st.h,[
717 AC_DEFINE(ST_INIT_IN_ST_H, 1,
718 Define if <st.h> defines st_init)
726 VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}])
728 dnl Don't link with rt when using GNU-pth
729 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
730 AC_CHECK_LIB(rt, clock_nanosleep, [
731 VLC_ADD_LDFLAGS([libvlc],[-lrt])
732 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
735 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])])
739 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
740 AC_CHECK_LIB(rt,nanosleep,
741 [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:],
742 [AC_CHECK_LIB(posix4,nanosleep,
743 [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])]
746 if ${have_nanosleep}; then
747 AC_DEFINE(HAVE_NANOSLEEP, 1,
748 Define if nanosleep is available.)
752 dnl Check for misc headers
753 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
754 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
756 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
757 Define if <pthread.h> defines pthread_cond_t.)],[
760 AC_MSG_CHECKING(for pthread_once in pthread.h)
761 AC_EGREP_HEADER(pthread_once,pthread.h,[
763 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
764 Define if <pthread.h> defines pthread_once.)],[
766 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
768 AC_MSG_CHECKING(for strncasecmp in strings.h)
769 AC_EGREP_HEADER(strncasecmp,strings.h,[
771 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
772 Define if <strings.h> defines strncasecmp.)],[
775 dnl Check for headers
776 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)
777 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
778 AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
779 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
780 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
781 AC_CHECK_HEADERS(linux/version.h)
782 AC_CHECK_HEADERS(syslog.h)
783 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
787 AC_CHECK_TYPE(ssize_t, int)
788 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
792 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
793 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
795 dnl Mac OS X and other OSes don't have declaration for nanosleep
796 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
797 AC_MSG_CHECKING(for nanosleep in time.h)
798 AC_EGREP_HEADER(nanosleep,time.h,[
800 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
801 Define if <time.h> defines nanosleep.)
805 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
807 dnl Make sure we have timespecs
808 AC_MSG_CHECKING(for timespec in sys/time.h)
809 AC_EGREP_HEADER(timespec,sys/time.h,[
811 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
812 Define if <sys/time.h> defines struct timespec.)
817 dnl Check for threads library
818 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
819 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
820 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
822 dnl Find where are the X headers and libraries
825 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.
827 PKG_PROG_PKG_CONFIG()
831 [ --enable-hal Linux HAL services discovery (default enabled)])
833 if test "${enable_hal}" != "no"
835 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
836 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
837 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
838 VLC_ADD_PLUGINS([hal probe_hal])
839 VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS])
840 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
841 dnl No hal 0.5 Test for 0.2
842 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
843 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
844 VLC_ADD_PLUGINS([hal])
845 VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS])
846 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
847 [AC_MSG_WARN(HAL library not found)])
854 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
857 if test "${enable_dbus}" != "no"
860 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
861 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
862 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
863 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
864 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
865 VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
866 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
867 dnl Check for dbus control interface
868 AC_ARG_ENABLE(dbus-control, [ --enable-dbus-control D-BUS control interface (default disabled)])
869 if test "${enable_dbus_control}" = "yes"
871 VLC_ADD_PLUGINS([dbus])
872 VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
873 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
876 if ${PKG_CONFIG} --exists dbus-1
878 [AC_ARG_ENABLE(old-dbus,
879 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
881 if test "${enable_old_dbus}" != "yes"
884 echo "****** WARNING **** WARNING ***** WARNING *************"
885 echo "*** Your D-Bus version is < 1.0.0"
886 echo "*** You are using old and buggy software and so"
887 echo "*** D-Bus support has been disabled."
888 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
889 echo "*** Alternatively you can force the use of your old and"
890 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
891 echo "*******************************************************"
895 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
896 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
897 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
898 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
899 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
900 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
902 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
903 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
904 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
905 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
906 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
908 [ PKG_CHECK_MODULES( DBUS, dbus-1,
909 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
910 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
911 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
912 [AC_MSG_WARN(DBUS library not found)])
923 dnl Build the gtk_main plugins?
929 dnl build the qte plugin ?
932 dnl Check for ntohl, etc.
933 AC_CACHE_CHECK([for ntohl in sys/param.h],
934 [ac_cv_c_ntohl_sys_param_h],
935 [CFLAGS="${CFLAGS_save} -Wall -Werror"
936 AC_TRY_COMPILE([#include <sys/param.h>],
937 [int meuh; ntohl(meuh);],
938 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
939 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
940 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
942 CFLAGS="${CFLAGS_save}"
944 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes volatile-register-var])
945 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
947 dnl This helps detect broken plugins with undefined symbols
948 dnl Better fail loudly at build-time than silenty at run-time.
949 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
950 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
951 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
954 dnl Check for various optimization flags
955 AC_CACHE_CHECK([if \$CC accepts -Os],
957 [CFLAGS="${CFLAGS_save} -Os"
958 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
959 if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
960 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
963 AC_CACHE_CHECK([if \$CC accepts -O3],
965 [CFLAGS="${CFLAGS_save} -O3"
966 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
967 if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
968 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
971 AC_CACHE_CHECK([if \$CC accepts -O2],
973 [CFLAGS="${CFLAGS_save} -O2"
974 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
975 if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
976 if test "${ac_cv_c_o3}" = "no"; then
977 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
979 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
981 AC_CACHE_CHECK([if \$CC accepts -O],
983 [CFLAGS="${CFLAGS_save} -O"
984 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
985 if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
986 if test "${ac_cv_c_o3}" = "no"; then
987 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
989 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
993 dnl Check for -ffast-math
994 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
996 [CFLAGS="${CFLAGS_save} -ffast-math"
997 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
998 if test "${ac_cv_c_fast_math}" != "no"; then
999 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
1002 dnl Check for -funroll-loops
1003 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1004 if test "${SYS}" != "beos"
1006 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1007 [ac_cv_c_unroll_loops],
1008 [CFLAGS="${CFLAGS_save} -funroll-loops"
1009 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1010 if test "${ac_cv_c_unroll_loops}" != "no"; then
1011 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
1015 dnl Check for -fomit-frame-pointer
1016 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1017 [ac_cv_c_omit_frame_pointer],
1018 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1019 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1020 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1021 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1022 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
1023 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
1026 dnl Check for -fvisibility=hidden
1027 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1028 [ac_cv_c_visibility_hidden],
1029 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1030 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1031 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1032 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1035 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1036 dnl AC_LANG_PUSH(C++)
1037 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1038 dnl [ac_cv_c_visibility_inlines_hidden],
1039 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1040 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1041 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1042 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1044 dnl CXXFLAGS="${CXXFLAGS_save}"
1045 dnl AC_LANG_POP(C++)
1047 dnl Check for -mdynamic-no-pic
1048 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1049 [ac_cv_c_dynamic_no_pic],
1050 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1051 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1052 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1053 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1054 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1057 dnl Check for Darwin plugin linking flags
1058 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1060 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1061 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1062 if test "${ac_cv_ld_darwin}" != "no"; then
1063 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1066 dnl Check for standard plugin linking flags
1067 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1068 AS_IF([test "${enable_libtool}" = "no"], [
1069 AS_IF([test "${SYS}" = "beos"], [
1070 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1072 AC_CACHE_CHECK([if \$CC accepts -shared],
1074 [CFLAGS="${CFLAGS_save} -shared"
1075 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1076 AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1077 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1082 dnl Check for variadic macros
1083 AC_CACHE_CHECK([for variadic cpp macros],
1084 [ac_cv_cpp_variadic_macros],
1085 [CFLAGS="${CFLAGS_save}"
1088 #define a(b,c...) printf(b,##c)],
1089 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1090 ac_cv_cpp_variadic_macros=yes,
1091 ac_cv_cpp_variadic_macros=no)])
1092 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1093 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1096 dnl Checks for __attribute__(aligned()) directive
1097 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1098 [ac_cv_c_attribute_aligned],
1099 [ac_cv_c_attribute_aligned=0
1100 CFLAGS="${CFLAGS_save} -Werror"
1101 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1103 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1104 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1106 CFLAGS="${CFLAGS_save}"])
1107 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1108 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1109 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1112 dnl Checks for __attribute__(format()) directive
1113 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1114 [ac_cv_c_attribute_format],
1115 [ac_cv_c_attribute_format=no
1116 CFLAGS="${CFLAGS_save} -Werror"
1118 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1119 [ac_cv_c_attribute_format=yes])
1120 CFLAGS="${CFLAGS_save}"])
1121 if test "${ac_cv_c_attribute_format}" != "no"; then
1122 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1125 dnl Check for __attribute__((packed))
1126 AC_CACHE_CHECK([for __attribute__((packed))],
1127 [ac_cv_c_attribute_packed],
1128 [ac_cv_c_attribute_packed=no
1129 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1130 [ac_cv_c_attribute_packed=yes])])
1131 if test "${ac_cv_c_attribute_packed}" != "no"; then
1132 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1135 dnl Check for __attribute__((visibility()))
1136 AC_CACHE_CHECK([for __attribute__((visibility()))],
1137 [ac_cv_c_attribute_visibility],
1138 [ac_cv_c_attribute_visibility=no
1139 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1140 [ac_cv_c_attribute_visibility=yes])])
1141 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1142 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1148 case "${host_cpu}" in
1158 dnl Enable profiling
1160 AC_ARG_ENABLE(gprof,
1161 [ --enable-gprof gprof profiling (default disabled)])
1162 AC_ARG_ENABLE(cprof,
1163 [ --enable-cprof cprof profiling (default disabled)])
1164 test "${enable_gprof}" != "yes" && enable_gprof="no"
1165 test "${enable_cprof}" != "yes" && enable_cprof="no"
1170 VLC_ADD_PLUGINS([dummy logger memcpy])
1171 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
1172 VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
1173 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen])
1174 VLC_ADD_PLUGINS([converter_fixed mono])
1175 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1176 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1177 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
1178 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
1179 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1180 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1181 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1182 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1183 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1184 VLC_ADD_PLUGINS([packetizer_vc1])
1187 if test "${SYS}" != "mingwce"; then
1188 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1189 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
1190 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask])
1191 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1192 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1193 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1194 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1195 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1199 dnl Switch to enable a version of VLC where most modules will be builtin
1201 AC_ARG_ENABLE(mostly-builtin,
1202 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1203 if test "${enable_mostly_builtin}" = "yes"; then
1204 VLC_ADD_BUILTINS([${PLUGINS}])
1209 dnl Some plugins aren't useful on some platforms
1211 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1212 VLC_ADD_PLUGINS([screensaver motion])
1213 elif test "${SYS}" != "mingwce"; then
1214 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1215 VLC_ADD_LDFLAGS([dmo],[-lole32])
1217 VLC_ADD_PLUGINS([win32text])
1221 dnl Accelerated modules
1223 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1224 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1225 MMXEXT_MODULES="memcpymmxext"
1226 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1227 THREEDNOW_MODULES="memcpy3dn"
1229 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1230 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1232 if test "${enable_gprof}" != "yes"
1234 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1237 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1239 [CFLAGS="${CFLAGS_save}"
1240 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1241 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1242 if test "${ac_cv_mmx_inline}" != "no"; then
1243 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1244 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1247 dnl Check for fully workin MMX intrinsics
1248 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1249 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1250 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1251 [ac_cv_c_mmx_intrinsics],
1252 [CFLAGS="${CFLAGS_save} -O -mmmx"
1253 AC_TRY_COMPILE([#include <mmintrin.h>
1257 a = b = c = (__m64)frobzor;
1258 a = _mm_slli_pi16(a, 3);
1259 a = _mm_adds_pi16(a, b);
1260 c = _mm_srli_pi16(c, 8);
1261 c = _mm_slli_pi16(c, 3);
1262 b = _mm_adds_pi16(b, c);
1263 a = _mm_unpacklo_pi8(a, b);
1264 frobzor = (uint64_t)a;],
1265 [ac_cv_c_mmx_intrinsics=yes],
1266 [ac_cv_c_mmx_intrinsics=no])])
1267 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1268 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1269 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1272 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1273 [ac_cv_mmxext_inline],
1274 [CFLAGS="${CFLAGS_save}"
1275 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1276 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1277 if test "${ac_cv_mmxext_inline}" != "no"; then
1278 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1279 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1282 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1283 [ac_cv_3dnow_inline],
1284 [CFLAGS="${CFLAGS_save}"
1285 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1286 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1287 if test "${ac_cv_3dnow_inline}" != "no"; then
1288 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1289 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1292 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1294 [CFLAGS="${CFLAGS_save}"
1295 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1296 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1297 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1298 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1299 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1302 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1303 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1304 [ac_cv_altivec_inline],
1305 [CFLAGS="${CFLAGS_save}"
1306 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1307 ac_cv_altivec_inline=yes,
1308 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1309 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1310 [ac_cv_altivec_inline="-Wa,-m7400"],
1311 ac_cv_altivec_inline=no)
1313 if test "${ac_cv_altivec_inline}" != "no"; then
1314 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1315 if test "${ac_cv_altivec_inline}" != "yes"; then
1316 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1317 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1318 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1319 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1320 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1322 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1325 dnl The AltiVec C extensions
1327 dnl There are several possible cases:
1328 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1329 dnl need <altivec.h>
1330 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1331 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1332 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1333 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1334 dnl - Others: test should fail
1335 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1337 [# OS X/PPC test (gcc 4.x)
1338 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1339 AC_TRY_COMPILE([vector unsigned char foo;],
1340 [vec_ld(0, (unsigned char *)0);],
1341 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1342 [# OS X/PPC test (gcc 3.x)
1343 CFLAGS="${CFLAGS_save} -faltivec"
1344 AC_TRY_COMPILE([vector unsigned char foo;],
1345 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1346 [ac_cv_c_altivec="-faltivec"],
1347 dnl Below this are the Linux tests
1348 [# Linux/PPC test (gcc 4.x)
1349 CFLAGS="${CFLAGS_save} -maltivec"
1350 AC_TRY_COMPILE([#include <altivec.h>],
1351 [vec_ld(0, (unsigned char *)0);],
1352 [ac_cv_c_altivec="-maltivec"],
1353 [# Linux/PPC test (gcc 3.3)
1354 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1355 AC_TRY_COMPILE([#include <altivec.h>],
1356 [vec_ld(0, (unsigned char *)0);],
1358 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1359 [# Linux/PPC test (gcc 3.3)
1360 CFLAGS="${CFLAGS_save} -fvec"
1361 AC_TRY_COMPILE([#include <altivec.h>],
1362 [vec_ld(0, (unsigned char *)0);],
1363 [ac_cv_c_altivec="-fvec"],
1364 [ac_cv_c_altivec=no])
1369 CFLAGS="${CFLAGS_save}"
1372 if test "${ac_cv_c_altivec}" != "no"; then
1373 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1376 AS_IF( test "${enable_altivec}" != "no",
1378 AC_CHECK_HEADERS(altivec.h)
1379 CPPFLAGS="${CPPFLAGS_save}"
1381 if test "${ac_cv_c_altivec}" != "no"; then
1382 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1383 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1384 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1385 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1386 if test "${ac_cv_altivec_inline}" = "no"; then
1387 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1391 CPPFLAGS="${CPPFLAGS_save}"
1394 AC_CACHE_CHECK([if linker needs -framework vecLib],
1396 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1397 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1398 LDFLAGS="${LDFLAGS_save}"
1400 if test "${ac_cv_ld_altivec}" != "no"; then
1401 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1403 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1406 AC_ARG_WITH(,[Optimization options:])
1409 dnl Special arch tuning
1412 [ --with-tuning=ARCH enable special tuning for an architecture
1413 (default Pentium 2 on IA-32 and G4 on PPC)])
1414 if test -n "${with_tuning}"; then
1415 if test "${with_tuning}" != "no"; then
1416 CFLAGS_TUNING="-mtune=${with_tuning}"
1419 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1420 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1421 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1422 CFLAGS_TUNING="-mtune=pentium2"
1423 elif test "${host_cpu}" = "x86_64"; then
1424 CFLAGS_TUNING="-mtune=athlon64"
1425 elif test "${host_cpu}" = "powerpc"; then
1426 CFLAGS_TUNING="-mtune=G4";
1430 dnl NOTE: this can't be cached cleanly
1431 AS_IF([test "${CFLAGS_TUNING}"],
1432 [CFLAGS_save="${CFLAGS}"
1433 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1435 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1436 AC_COMPILE_IFELSE([ ],
1438 [CFLAGS_TUNING=""; tuning="no"
1439 AS_IF([test "${with_tuning}"],
1440 [AC_MSG_ERROR([requested tuning not supported])])])
1442 AC_MSG_RESULT([$tuning])
1443 CFLAGS="${CFLAGS_save}"
1447 dnl x86 accelerations
1449 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}"="i486" -o "${host_cpu}" = "x86_64"
1452 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1458 AC_ARG_ENABLE(optimize-memory,
1459 [ --enable-optimize-memory optimize memory usage over performance])
1460 if test "${enable_optimize_memory}" = "yes"; then
1461 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1465 dnl Enable/disable optimizations
1467 AC_ARG_ENABLE(optimizations,
1468 [ --disable-optimizations disable compiler optimizations (default enabled)])
1469 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1472 dnl AltiVec acceleration
1474 AC_ARG_ENABLE(altivec,
1475 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1476 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1477 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1478 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1479 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1484 AC_ARG_ENABLE(debug,
1485 [ --enable-debug debug mode (default disabled)])
1486 test "${enable_debug}" != "yes" && enable_debug="no"
1488 [Define to 1 if debug code should NOT be compiled])
1489 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1492 dnl Enable release-specific flags
1494 AC_ARG_ENABLE(release,
1495 [ --enable-release activate extra optimizations (default disabled)])
1496 test "${enable_release}" != "yes" && enable_release="no"
1502 [ --enable-sout Stream output modules (default enabled)])
1503 if test "${enable_sout}" != "no"
1505 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1506 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1507 VLC_ADD_PLUGINS([packetizer_copy])
1509 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1510 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1511 VLC_ADD_PLUGINS([stream_out_gather])
1512 # VLC_ADD_PLUGINS([stream_out_transrate])
1513 # VLC_ADD_PLUGINS([rtcp])
1514 VLC_ADD_PLUGINS([profile_parser])
1516 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1519 AC_ARG_ENABLE(switcher,
1520 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1522 dnl Check for libshout
1523 AC_ARG_ENABLE(shout,
1524 [ --enable-shout libshout output plugin (default disabled)])
1525 if test "${enable_shout}" = "yes"; then
1526 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1527 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1528 VLC_ADD_PLUGINS([access_output_shout])
1529 VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1530 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1531 [AC_MSG_WARN(libshout library not found)])
1537 AC_ARG_ENABLE(httpd,
1538 [ --enable-httpd HTTP daemon (default enabled)])
1539 if test "${enable_httpd}" != "no"
1541 VLC_ADD_PLUGINS([http])
1542 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1546 dnl VideoLAN manager
1549 [ --enable-vlm VideoLAN manager (default enabled)])
1550 if test "${enable_vlm}" != "no"
1552 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1556 dnl Growl notification plugin
1558 AC_ARG_ENABLE(growl,
1559 [ --enable-growl growl notification plugin (default enabled)])
1560 AS_IF([test "${enable_growl}" != "no"], [
1561 VLC_ADD_PLUGINS([growl])
1566 dnl Libnotify notification plugin
1569 AC_ARG_ENABLE(notify,
1570 [ --enable-notify libnotify notification plugin (default enabled)])
1571 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1572 PKG_CHECK_MODULES(NOTIFY, libnotify,
1574 VLC_ADD_PLUGINS([notify])
1575 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1576 VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1578 AS_IF([test "${enable_notify}" = "yes"],[
1579 AC_MSG_WARN( libnotify not found) ])
1584 dnl Audioscrobbler plugin
1587 AC_ARG_ENABLE(audioscrobbler,
1588 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1589 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1590 VLC_ADD_PLUGINS([audioscrobbler])
1594 dnl Musicbrainz plugin
1596 AC_ARG_ENABLE(musicbrainz,
1597 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1598 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1599 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1600 [ VLC_ADD_PLUGINS([musicbrainz])
1601 VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS])
1602 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1603 [AC_MSG_WARN(MusicBrainz library not found)])
1610 AC_ARG_ENABLE(taglib,
1611 [ --enable-taglib Taglib support (default disabled) ])
1612 AS_IF([test "${enable_taglib}" = "yes"],[
1613 PKG_CHECK_MODULES(TAGLIB, taglib,
1614 [ VLC_ADD_PLUGINS([taglib])
1615 VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS])
1616 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1617 [AC_MSG_WARN(TagLib library not found)])
1625 AC_ARG_WITH(,[Input plugins:])
1629 if test "${enable_livedotcom}"
1631 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1634 if test "${enable_livedotcom}" = "no"
1638 AC_ARG_ENABLE(live555,
1639 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1640 if test "${enable_live555}" != "no"; then
1641 AC_ARG_WITH(live555-tree,
1642 [ --with-live555-tree=PATH live.com tree for static linking])
1645 dnl test for --with-live555-tree
1647 if test "${with_livedotcom_tree}"
1649 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1650 with_live555_tree="${with_livedotcom_tree}"
1653 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1655 CPPFLAGS_save="${CPPFLAGS}"
1656 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1657 if test "${SYS}" = "solaris"; then
1658 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1660 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1661 AC_CHECK_HEADERS(liveMedia.hh, [
1662 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1663 AC_CHECK_LIB(liveMedia_pic, main, [
1664 # We have -lliveMedia_pic, build plugins
1665 VLC_ADD_PLUGINS([live555])
1666 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1668 AC_CHECK_LIB(liveMedia, main, [
1669 # We only have -lliveMedia, do builtins
1670 VLC_ADD_BUILTINS([live555])
1671 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1674 if test "${SYS}" = "mingw32"; then
1675 # add ws2_32 for closesocket, select, recv
1676 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1679 CPPFLAGS="${CPPFLAGS_save}"
1682 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1683 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1684 if test -z "${real_live555_tree}"; then
1685 dnl The given directory can't be found
1687 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1689 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1690 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1692 VLC_ADD_BUILTINS([live555])
1694 if test "${SYS}" = "mingw32"; then
1695 # add ws2_32 for closesocket, select, recv
1696 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1699 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1700 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1701 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1702 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1704 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1705 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1706 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1707 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1708 if test "${SYS}" = "solaris"; then
1709 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1712 dnl The given live555 wasn't built
1714 if test "${enable_live555}" = "yes"; then
1715 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1722 dnl special access module for dc1394 input
1724 AC_ARG_ENABLE(dc1394,
1725 [ --enable-dc1394 dc1394 access module (default disabled)])
1726 if test "${enable_dc1394}" = "yes"
1728 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1729 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1730 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1731 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1732 VLC_ADD_PLUGINS([dc1394])
1733 VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394])
1736 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1740 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1744 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1748 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1753 dnl dv module: digital video module check for libraw1394
1756 [ --enable-dv dv input module (default disabled)])
1757 if test "${enable_dv}" = "yes"
1759 AC_ARG_WITH(dv-raw1394,
1760 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1761 AC_ARG_WITH(dv-raw1394-tree,
1762 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1764 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1766 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1767 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1769 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1771 VLC_ADD_PLUGINS([access_dv])
1772 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1773 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1775 dnl No libraw1394 could be found, sorry
1777 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1780 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1781 [ VLC_ADD_PLUGINS([access_dv])
1782 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1784 if test -n "${enable_dv}"
1786 AC_MSG_ERROR([cannot find libraw1394 headers])
1791 dnl Check for static linking of libraw1394
1792 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1794 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1795 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1796 if test -z "${real_dv_raw1394_tree}"
1798 dnl The given directory can't be found
1800 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1802 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1804 dnl Use a custom libraw1394
1805 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1806 VLC_ADD_BUILTINS([access_dv])
1807 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1808 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1810 dnl The given libraw1394 wasn't built
1812 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1817 dnl Check for libavc1394
1820 AC_ARG_WITH(dv-avc1394,
1821 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1822 AC_ARG_WITH(dv-avc1394-tree,
1823 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1825 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1827 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1828 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1830 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1832 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1833 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1835 dnl No libavc1394 could be found, sorry
1837 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1840 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1841 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1843 if test -n "${enable_dv}"
1845 AC_MSG_ERROR([cannot find libavc1394 headers])
1850 dnl Check for static linking of libavc1394
1851 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1853 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1854 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1855 if test -z "${real_dv_avc1394_tree}"
1857 dnl The given directory can't be found
1859 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1861 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1863 dnl Use a custom libavc1394
1864 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1865 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1866 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1868 dnl The given libavc1394 wasn't built
1870 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1876 dnl dvdread module: check for libdvdread
1878 AC_ARG_ENABLE(dvdread,
1879 [ --enable-dvdread dvdread input module (default disabled)])
1880 if test "${enable_dvdread}" != "no"
1882 AC_ARG_WITH(dvdread,
1883 [ --with-dvdread=PATH libdvdread headers and libraries])
1884 AC_ARG_WITH(dvdread-tree,
1885 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1887 dnl Temporary hack (yeah, sure ;)
1888 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1889 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1892 if test -z "${with_dvdread}"
1894 if test -z "${with_dvdread_tree}"
1896 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1897 [ VLC_ADD_PLUGINS([dvdread])
1898 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1900 if test -n "${enable_dvdread}"
1902 AC_MSG_ERROR([cannot find libdvdread headers])
1906 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1907 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1908 if test -z "${real_dvdread_tree}"
1910 dnl The given directory can't be found
1912 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1914 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1916 dnl Use a custom libdvdread
1917 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1918 VLC_ADD_BUILTINS([dvdread])
1919 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1920 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1922 dnl The given libdvdread wasn't built
1924 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1928 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1929 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1931 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1933 VLC_ADD_PLUGINS([dvdread])
1934 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1935 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1937 dnl No libdvdread could be found, sorry
1939 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1945 dnl libdvdnav plugin
1947 AC_ARG_ENABLE(dvdnav,
1948 [ --enable-dvdnav dvdnav input module (default enabled)])
1949 if test "${enable_dvdnav}" != "no"
1951 dnl Same hack than dvdread
1952 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1953 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1956 DVDNAV_PATH="${PATH}"
1957 AC_ARG_WITH(dvdnav-config-path,
1958 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1959 [ if test "${with_dvdnav_config_path}" != "no"
1961 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1963 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1964 if test "${DVDNAV_CONFIG}" != "no"
1966 VLC_ADD_PLUGINS([dvdnav])
1967 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1968 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1973 dnl Windows DirectShow access module
1975 AC_ARG_ENABLE(dshow,
1976 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1977 if test "${enable_dshow}" != "no"
1979 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1982 AC_CHECK_HEADERS(dshow.h,
1983 [ VLC_ADD_PLUGINS([dshow])
1984 VLC_ADD_CXXFLAGS([dshow],[])
1985 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1992 dnl OpenCV wrapper and example filters
1994 AC_ARG_ENABLE(opencv,
1995 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
1996 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
1998 AC_ARG_WITH(opencv-tree,
1999 [ --with-opencv-tree=PATH opencv tree for linking])
2000 if test -n "${with_opencv_tree}"
2002 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2004 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2005 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2006 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2009 VLC_ADD_PLUGINS([opencv_wrapper])
2010 VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2011 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])
2013 VLC_ADD_PLUGINS([opencv_example])
2014 VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2015 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])
2018 dnl No opencv could be found, sorry
2020 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2023 AC_MSG_WARN([--enable-opencv currently only works on windows])
2030 dnl libsmbclient plugin
2033 [ --enable-smb smb input module (default enabled)])
2034 if test "${enable_smb}" != "no"; then
2035 AC_CHECK_HEADERS(libsmbclient.h,
2036 [ VLC_ADD_PLUGINS([access_smb])
2037 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
2038 [ if test -n "${enable_smb}"; then
2039 AC_MSG_ERROR([cannot find libsmbclient headers])
2041 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2042 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2043 [#include <libsmbclient.h>])
2047 dnl libdvbpsi ts demux/mux
2049 AC_ARG_ENABLE(dvbpsi,
2050 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2051 if test "${enable_dvbpsi}" != "no"
2054 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2056 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2057 case "${with_dvbpsi}" in
2059 if test -z "${with_dvbpsi_tree}"
2061 AC_CHECK_HEADERS(dvbpsi/dr.h,
2062 [ VLC_ADD_PLUGINS([ts])
2063 if test "${enable_sout}" != "no"; then
2064 VLC_ADD_PLUGINS([mux_ts])
2066 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
2067 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2068 [#if defined( HAVE_STDINT_H )
2069 # include <stdint.h>
2070 #elif defined( HAVE_INTTYPES_H )
2071 # include <inttypes.h>
2073 #include <dvbpsi/dvbpsi.h>
2074 #include <dvbpsi/descriptor.h>
2075 #include <dvbpsi/pat.h>
2076 #include <dvbpsi/pmt.h>])
2078 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2079 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2080 if test -z "${real_dvbpsi_tree}"
2082 dnl The given directory can't be found
2084 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2086 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2088 dnl Use a custom libdvbpsi
2089 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2090 VLC_ADD_BUILTINS([ts])
2091 if test "${enable_sout}" != "no"; then
2092 VLC_ADD_BUILTINS([mux_ts])
2094 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2095 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2097 dnl The given libdvbpsi wasn't built
2099 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2104 dnl Compile without dvbpsi
2107 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2108 if test -z "${with_dvbpsi}"
2113 LDFLAGS_test="-L${with_dvbpsi}/lib"
2114 CPPFLAGS_test="-I${with_dvbpsi}/include"
2116 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2117 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2118 VLC_ADD_PLUGINS([ts])
2119 if test "${enable_sout}" != "no"; then
2120 VLC_ADD_PLUGINS([mux_ts])
2122 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2123 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2126 if test -n "${enable_dvbpsi}"
2128 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])
2131 CPPFLAGS="${CPPFLAGS_save}"
2134 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2135 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2136 ], [], [${LDFLAGS_ts}])
2141 dnl Video4Linux plugin
2144 [ --enable-v4l Video4Linux input support (default disabled)])
2145 if test "${enable_v4l}" = "yes"
2148 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2149 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2151 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2154 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2155 AC_CHECK_HEADERS(linux/videodev.h, [
2156 VLC_ADD_PLUGINS([v4l])
2158 CPPFLAGS="${CPPFLAGS_save}"
2162 dnl Video4Linux plugin
2165 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2166 if test "${enable_v4l2}" = "yes"
2169 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2170 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2172 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2175 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2176 AC_CHECK_HEADERS(linux/videodev2.h, [
2177 VLC_ADD_PLUGINS([v4l2])
2179 CPPFLAGS="${CPPFLAGS_save}"
2184 dnl special access module for Hauppauge PVR cards
2187 [ --enable-pvr PVR cards access module (default disabled)])
2188 if test "${enable_pvr}" = "yes"
2190 VLC_ADD_PLUGINS([pvr])
2191 AC_ARG_WITH(videodev2,
2192 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2193 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2195 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2197 AC_DEFINE(VIDEODEV2_H_FILE, <linux/videodev2.h>, [Location of videodev2.h])
2201 AC_CACHE_CHECK([for new linux/videodev2.h],
2202 [new_linux_videodev2_h],
2203 [AC_TRY_COMPILE([#include <sys/types.h>
2204 #include VIDEODEV2_H_FILE],
2205 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2206 new_linux_videodev2_h=yes,
2207 new_linux_videodev2_h=no)])
2208 if test "${new_linux_videodev2_h}" != "no"; then
2209 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2214 dnl gnomeVFS access module
2216 AC_ARG_ENABLE(gnomevfs,
2217 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2218 if test "${enable_gnomevfs}" = "yes"
2220 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2221 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2222 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2223 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2224 VLC_ADD_PLUGINS([access_gnomevfs]),
2225 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2228 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2229 AC_ARG_ENABLE(libcdio,
2230 [ --enable-libcdio CD input and control library support (default enabled)])
2235 if test "${enable_libcdio}" != "no"
2237 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2239 AC_DEFINE(HAVE_LIBCDIO, [],
2240 [Define if you have libcdio 0.78.2 or greater installed]),
2241 [AC_MSG_WARN(CD Reading and information library not found)])
2243 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2244 [have_libvcdinfo=yes
2245 AC_DEFINE(HAVE_VCDINFO, [],
2246 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2247 [AC_MSG_WARN(VCD information library not found)])
2251 dnl VCDX and CDDAX modules
2253 AC_ARG_ENABLE(cddax,
2254 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2256 AC_ARG_ENABLE(libcddb,
2257 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2259 if test "${enable_cddax}" = "yes"
2261 if test "$have_libcdio" = "yes"
2263 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2264 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2265 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2266 VLC_ADD_PLUGINS([cddax])
2267 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2268 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2269 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2271 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2275 if test "$enable_libcddb" != "no"; then
2276 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2278 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2279 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2280 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2282 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2289 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2291 if test "${enable_vcdx}" = "yes"
2293 if test "${have_libvcdinfo}" = "yes"
2295 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2296 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2298 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2302 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2303 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2304 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2305 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2308 if test "$have_libvcdinfo" = "yes"
2310 AC_DEFINE(HAVE_VCDX, [],
2311 [Define for the VCD plugin using libcdio/libvcdinfo])
2312 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2313 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2314 VLC_ADD_PLUGINS([vcdx])
2316 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2322 dnl Built-in CD-DA and VCD module
2325 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2328 [ --enable-vcd built-in VCD (default enabled)])
2330 if test "${enable_vcd}" != "no"
2332 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2333 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2335 VLC_ADD_PLUGINS([vcd cdda])
2340 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2341 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2343 VLC_ADD_PLUGINS([vcd cdda])
2344 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2349 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2350 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2352 VLC_ADD_PLUGINS([vcd cdda])
2353 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2358 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2360 VLC_ADD_PLUGINS([vcd cdda])
2363 if test "${SYS}" = "darwin"
2365 VLC_ADD_PLUGINS([vcd cdda])
2366 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2367 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2370 if test "$enable_libcddb" != "no"; then
2371 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2373 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2374 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2375 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2377 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2383 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2386 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2388 if test "${enable_dvb}" = "yes"
2391 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2392 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2394 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2396 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2397 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2398 if test -z "${with_dvbpsi_tree}"
2400 VLC_ADD_PLUGINS([dvb])
2402 VLC_ADD_BUILTINS([dvb])
2404 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2405 CPPFLAGS="${CPPFLAGS_save}"
2409 dnl Screen capture module
2411 AC_ARG_ENABLE(screen,
2412 [ --enable-screen Screen capture support (default enabled)])
2413 if test "${enable_screen}" != "no"; then
2414 if test "${SYS}" = "darwin"; then
2415 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2416 VLC_ADD_PLUGINS([screen])
2417 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2419 elif test "${SYS}" = "mingw32"; then
2420 VLC_ADD_PLUGINS([screen])
2421 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2422 elif test "${SYS}" = "mingwce"; then
2423 CPPFLAGS="${CPPFLAGS_save}"
2424 elif test "${SYS}" = "beos"; then
2425 VLC_ADD_PLUGINS([screen])
2426 VLC_ADD_CXXFLAGS([screen],[])
2427 VLC_ADD_LDFLAGS([screen],[-lbe])
2429 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2430 AC_CHECK_HEADERS(X11/Xlib.h, [
2431 VLC_ADD_PLUGINS([screen])
2432 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2433 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2435 CPPFLAGS="${CPPFLAGS_save}"
2440 dnl ipv6 plugin - not for QNX yet
2443 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2444 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2447 AS_IF([test "${have_ipv6}" = "yes"], [
2448 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2451 AC_CHECK_FUNCS(inet_ntop,[
2452 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2456 dnl ogg demux plugin
2459 [ --enable-ogg Ogg demux support (default enabled)])
2460 if test "${enable_ogg}" != "no"
2462 AC_ARG_WITH(ogg-tree,
2463 [ --with-ogg-tree=PATH ogg tree for static linking])
2464 if test -n "${with_ogg_tree}"
2466 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2467 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2468 if test -z "${real_ogg_tree}"
2470 dnl The given directory can't be found
2472 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2474 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2476 dnl Use a custom ogg
2477 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2478 VLC_ADD_PLUGINS([ogg])
2479 if test "${enable_sout}" != "no"; then
2480 VLC_ADD_PLUGINS([mux_ogg])
2482 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2483 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2485 dnl The given ogg wasn't built
2487 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2490 AC_CHECK_HEADERS(ogg/ogg.h, [
2491 AC_CHECK_LIB( ogg, oggpack_read, [
2492 VLC_ADD_PLUGINS([ogg])
2493 if test "${enable_sout}" != "no"; then
2494 VLC_ADD_PLUGINS([mux_ogg])
2496 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2502 dnl matroska demux plugin
2505 [ --enable-mkv Matroska demux support (default enabled)])
2506 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2508 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2509 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2511 [#include <ebml/EbmlVersion.h>
2512 #ifdef LIBEBML_VERSION
2513 #if LIBEBML_VERSION >= 0x000706
2517 [AC_MSG_RESULT([yes])
2518 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2519 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2521 [#include <matroska/KaxVersion.h>
2522 #ifdef LIBMATROSKA_VERSION
2523 #if LIBMATROSKA_VERSION >= 0x000705
2527 [AC_MSG_RESULT([yes])
2528 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2529 VLC_ADD_CXXFLAGS([mkv],[])
2530 if test "${SYS}" = "darwin"; then
2531 VLC_ADD_CXXFLAGS([mkv],[-O1])
2533 AC_CHECK_LIB(ebml_pic, main, [
2534 VLC_ADD_PLUGINS([mkv])
2535 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic])
2537 AC_CHECK_LIB(ebml, main, [
2538 VLC_ADD_PLUGINS([mkv])
2539 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2543 [AC_MSG_RESULT([no])
2544 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.])
2548 [AC_MSG_RESULT([no])
2549 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.])
2556 dnl modplug demux plugin
2559 [ --enable-mod Mod demux support (default enabled)])
2560 if test "${enable_mod}" != "no"
2562 AC_ARG_WITH(mod-tree,
2563 [ --with-mod-tree=PATH mod tree for static linking])
2564 if test -n "${with_mod_tree}"
2566 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2567 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2568 if test -z "${real_mod_tree}"
2570 dnl The given directory can't be found
2572 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2574 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2576 dnl Use a custom mod
2577 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2578 VLC_ADD_PLUGINS([mod])
2579 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2580 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2582 dnl The given mod wasn't built
2584 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2587 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2588 VLC_ADD_PLUGINS([mod])
2589 VLC_ADD_CXXFLAGS([mod],[])
2590 VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
2595 dnl mpc demux plugin
2598 [ --enable-mpc Mpc demux support (default enabled)])
2599 if test "${enable_mpc}" != "no"
2601 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2602 VLC_ADD_PLUGINS([mpc])
2603 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2607 dnl game music emu demux plugin
2610 [ --enable-gme Game Music Emu demux support (default enabled)])
2611 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2614 AC_ARG_WITH(gme-tree,
2615 [ --with-gme-tree=PATH gme tree for static linking])
2616 if test -n "${with_gme_tree}"
2618 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2619 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2620 if test -z "${real_gme_tree}"
2622 dnl The given directory can't be found
2624 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2626 if test -f "${real_gme_tree}/gme/libgme.a"
2628 dnl Use a custom gme
2629 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2630 VLC_ADD_PLUGINS([gme])
2631 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2632 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2634 dnl The given gme wasn't built
2636 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2639 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2648 AC_ARG_WITH(,[Codec plugins:])
2654 [ --enable-mad libmad module (default enabled)])
2655 if test "${enable_mad}" != "no"
2658 [ --with-mad=PATH path to libmad],[],[])
2659 if test "${with_mad}" != "no" -a -n "${with_mad}"
2661 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2662 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2665 AC_ARG_WITH(mad-tree,
2666 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2667 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2669 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2670 if test -z "${real_mad_tree}"
2672 dnl The given directory can't be found
2674 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2676 dnl Use a custom libmad
2677 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2678 if test -f ${real_mad_tree}/mad.h
2681 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2682 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2683 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2684 AC_CHECK_LIB(mad, mad_bit_init, [
2685 VLC_ADD_BUILTINS([mpgatofixed32])
2686 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2687 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2689 LDFLAGS="${LDFLAGS_save}"
2692 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2695 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2696 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2697 AC_CHECK_HEADERS(mad.h, ,
2698 [ 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.]) ])
2699 AC_CHECK_LIB(mad, mad_bit_init, [
2700 VLC_ADD_PLUGINS([mpgatofixed32])
2701 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2702 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2703 CPPFLAGS="${CPPFLAGS_save}"
2704 LDFLAGS="${LDFLAGS_save}"
2709 dnl libid3tag support (FIXME!!! doesn't work with new input)
2711 AC_CHECK_HEADERS(id3tag.h, [
2712 AC_CHECK_HEADERS(zlib.h, [
2713 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2714 VLC_ADD_PLUGINS([id3tag])]) ])
2717 dnl ffmpeg decoder/demuxer plugin
2719 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2720 dnl 4- default place,
2722 AC_ARG_ENABLE(ffmpeg,
2723 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2724 if test "${enable_ffmpeg}" != "no"
2727 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2729 AC_ARG_WITH(ffmpeg-mp3lame,
2730 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2732 if test "$with_ffmpeg_mp3lame" = "yes"; then
2733 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2736 AC_ARG_WITH(ffmpeg-faac,
2737 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2739 if test "$with_ffmpeg_faac" = "yes"; then
2740 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2743 AC_ARG_WITH(ffmpeg-dts,
2744 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2746 if test "$with_ffmpeg_dts" = "yes"; then
2747 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2748 AC_CHECK_LIB(dts_pic, dts_free,
2749 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2750 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2751 LDFLAGS="${LDFLAGS_save}"
2754 AC_ARG_WITH(ffmpeg-vorbis,
2755 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2757 if test "$with_ffmpeg_vorbis" = "yes"; then
2758 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2761 AC_ARG_WITH(ffmpeg-theora,
2762 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2764 if test "$with_ffmpeg_theora" = "yes"; then
2765 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2768 AC_ARG_WITH(ffmpeg-ogg,
2769 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2771 if test "$with_ffmpeg_ogg" = "yes"; then
2772 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2775 AC_ARG_WITH(ffmpeg-zlib,
2776 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2778 if test "$with_ffmpeg_zlib" = "yes"; then
2779 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2783 dnl test for --with-ffmpeg-tree
2785 AC_ARG_WITH(ffmpeg-tree,
2786 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2788 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2789 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2790 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2791 if test -z "${real_ffmpeg_tree}"; then
2792 dnl The given directory can't be found
2794 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2796 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2797 dnl The given libavcodec wasn't built
2799 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2801 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2802 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2803 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2804 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2805 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2806 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2808 dnl The given libavcodec wasn't built with --enable-pp
2810 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2813 dnl Use a custom libffmpeg
2814 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2816 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2817 if test "${with_ffmpeg_zlib}" != "yes"; then
2818 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2821 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2822 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2823 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2826 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2827 if test "${with_ffmpeg_faac}" != "yes"; then
2828 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2831 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2832 if test "${with_ffmpeg_dts}" != "yes"; then
2833 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2834 AC_CHECK_LIB(dts_pic, dts_free,
2835 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2836 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2837 LDFLAGS="${LDFLAGS_save}"
2840 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2841 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2843 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2844 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2846 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2847 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2850 VLC_ADD_BUILTINS([ffmpeg])
2851 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
2852 VLC_ADD_BUILTINS([stream_out_switcher])
2855 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2856 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2857 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2860 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2861 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2863 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2864 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2865 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2866 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2869 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
2870 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
2871 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
2872 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
2876 dnl Look for a ffmpeg-config (we are on debian )
2878 FFMPEG_PATH="${PATH}"
2879 AC_ARG_WITH(ffmpeg-config-path,
2880 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2881 [ if test "${with_ffmpeg_config_path}" != "no"
2883 FFMPEG_PATH="${with_ffmpeg_config_path}"
2885 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2886 if test "${FFMPEG_CONFIG}" != "no"
2888 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2889 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2890 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2891 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2892 VLC_ADD_PLUGINS([ffmpeg])
2893 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2894 VLC_ADD_PLUGINS([stream_out_switcher])
2896 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2897 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2901 dnl Trying with pkg-config
2902 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2905 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
2906 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
2907 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2908 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2909 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2910 dnl newer ffmpeg have a separate libpostproc
2911 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2912 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
2913 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2915 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2916 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2917 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2918 if test "${SYS}" = "darwin"; then
2919 VLC_ADD_BUILTINS([ffmpeg])
2921 VLC_ADD_PLUGINS([ffmpeg])
2923 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2924 if test "${SYS}" = "darwin"; then
2925 VLC_ADD_BUILTINS([stream_out_switcher])
2927 VLC_ADD_PLUGINS([stream_out_switcher])
2930 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2931 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
2932 dnl even newer ffmpeg has a libswscale
2933 PKG_CHECK_MODULES(SWSCALE, libswscale,[
2934 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
2935 VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}])
2936 AC_CHECK_HEADERS(ffmpeg/swscale.h)
2942 dnl last chance: at the default place
2944 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2945 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2946 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2947 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2948 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2949 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2951 AC_CHECK_LIB(avutil, av_crc_init, [
2952 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2953 LDAVUTIL="-lavutil"])
2955 AC_CHECK_LIB(avcodec, avcodec_init, [
2956 VLC_ADD_BUILTINS([ffmpeg])
2957 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2958 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2959 VLC_ADD_BUILTINS([stream_out_switcher])
2961 [ 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])
2964 AC_CHECK_LIB(postproc, pp_postprocess, [
2965 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
2966 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
2969 AC_CHECK_LIB(avformat, av_open_input_stream, [
2970 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2971 LDFLAGS="${LDFLAGS_save}"
2972 CPPFLAGS="${CPPFLAGS_save}"
2974 AC_CHECK_LIB(swscale, sws_getContext, [
2975 AC_CHECK_HEADERS(ffmpeg/swscale.h)
2976 VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
2977 LDFLAGS="${LDFLAGS_save}"
2978 CPPFLAGS="${CPPFLAGS_save}"
2985 dnl ffmpegaltivec plugin
2987 AC_ARG_ENABLE(ffmpegaltivec,
2988 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2989 if test "${enable_ffmpegaltivec}" = "yes"
2991 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2992 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2993 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2994 if test -z "${real_ffmpeg_tree}"; then
2995 dnl The given directory can't be found
2997 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2999 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3000 dnl The given libavcodecaltivec wasn't built
3002 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3004 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3005 dnl The given libavcodecaltivec wasn't built with --enable-pp
3007 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3009 dnl Use a custom libffmpeg
3010 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3011 VLC_ADD_BUILTINS([ffmpegaltivec])
3012 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3013 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3014 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3016 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3017 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3018 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3019 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3021 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3022 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3027 dnl faad decoder plugin
3030 [ --enable-faad faad codec (default disabled)])
3031 if test "${enable_faad}" = "yes"
3033 AC_ARG_WITH(faad-tree,
3034 [ --with-faad-tree=PATH faad tree for static linking])
3035 if test -n "${with_faad_tree}"
3037 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3038 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3039 if test -z "${real_faad_tree}"
3041 dnl The given directory can't be found
3043 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3045 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3047 dnl Use a custom faad
3048 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3049 VLC_ADD_BUILTINS([faad])
3050 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3051 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3053 dnl The given libfaad wasn't built
3055 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3058 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3059 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3060 AC_CHECK_HEADERS(faad.h, ,
3061 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3062 AC_CHECK_LIB(faad, faacDecOpen, [
3063 VLC_ADD_PLUGINS([faad])
3064 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3065 AC_CHECK_LIB(faad, NeAACDecOpen, [
3066 VLC_ADD_PLUGINS([faad])
3067 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3068 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3069 LDFLAGS="${LDFLAGS_save}"
3070 CPPFLAGS="${CPPFLAGS_save}"
3075 dnl twolame encoder plugin
3077 AC_ARG_ENABLE(twolame,
3078 [ --enable-twolame twolame codec (default disabled)])
3079 if test "${enable_twolame}" = "yes"
3081 AC_ARG_WITH(twolame-tree,
3082 [ --with-twolame-tree=PATH twolame tree for static linking])
3083 if test -n "${with_twolame_tree}"
3085 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3086 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3087 if test -z "${real_twolame_tree}"
3089 dnl The given directory can't be found
3091 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3093 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3095 dnl Use a custom twolame
3096 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3097 VLC_ADD_BUILTINS([twolame])
3098 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3099 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3101 dnl The given libtwolame wasn't built
3103 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3106 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3107 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3108 AC_CHECK_HEADERS(twolame.h, ,
3109 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3110 AC_CHECK_LIB(twolame, twolame_init, [
3111 VLC_ADD_PLUGINS([twolame])
3112 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3113 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
3114 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3115 LDFLAGS="${LDFLAGS_save}"
3116 CPPFLAGS="${CPPFLAGS_save}"
3121 dnl QuickTime plugin
3123 AC_ARG_ENABLE(quicktime,
3124 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3125 if test "${enable_quicktime}" != "no" &&
3126 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3128 if test "${SYS}" = "mingw32"; then
3129 VLC_ADD_BUILTINS([quicktime])
3131 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3132 [ VLC_ADD_BUILTINS([quicktime])
3133 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
3134 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3142 [ --enable-real Real audio module (default disabled)])
3143 if test "${enable_real}" = "yes"; then
3144 VLC_ADD_PLUGINS([realaudio])
3148 dnl Real RTSP plugin
3150 AC_ARG_ENABLE(realrtsp,
3151 [ --enable-realrtsp Real RTSP module (default disabled)])
3152 if test "${enable_realrtsp}" = "yes"; then
3153 VLC_ADD_PLUGINS([access_realrtsp])
3159 AC_CHECK_HEADERS(zlib.h, [
3160 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
3163 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3164 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
3170 AC_ARG_ENABLE(libtar,
3171 [ --enable libtar support for skins2 (default enabled)])
3173 AS_IF([test "${enable_libtar}" != "no"],[
3174 AC_CHECK_HEADERS(libtar.h, [
3175 VLC_ADD_LDFLAGS([skins2],[-ltar])
3181 dnl A52/AC3 decoder plugin
3184 [ --enable-a52 A/52 support with liba52 (default enabled)])
3185 if test "${enable_a52}" != "no"
3188 [ --with-a52=PATH a52 headers and libraries])
3189 AC_ARG_WITH(a52-tree,
3190 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3191 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3193 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3194 if test -z "${real_a52_tree}"
3196 dnl The given directory can't be found
3198 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3200 dnl Use a custom a52dec
3201 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3202 if test -f ${real_a52_tree}/include/a52.h
3205 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3206 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3207 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
3208 AC_CHECK_LIB(a52, a52_free, [
3209 VLC_ADD_BUILTINS([a52tofloat32])
3210 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3211 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3213 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3215 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3217 AC_MSG_ERROR([the specified tree hasn't been compiled])
3220 LDFLAGS="${LDFLAGS_save}"
3223 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3226 if test -z "${with_a52}"
3231 LDFLAGS_test="-L${with_a52}/lib"
3232 CPPFLAGS_test="-I${with_a52}/include"
3234 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3235 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3236 AC_CHECK_HEADERS(a52dec/a52.h, [
3237 AC_CHECK_LIB(a52, a52_free, [
3238 VLC_ADD_PLUGINS([a52tofloat32])
3239 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3240 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3242 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.])
3245 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.])
3247 CPPFLAGS="${CPPFLAGS_save}"
3248 LDFLAGS="${LDFLAGS_save}"
3252 AC_ARG_WITH(a52-fixed,
3253 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3255 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3258 dnl DTS Coherent Acoustics decoder plugin
3260 AS_IF([test "x${enable_dts}" != "x"], [
3261 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3263 AS_IF([test "x${with_dts_tree}" != "x"], [
3264 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3268 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3269 AS_IF([test "${enable_dca}" != "no"], [
3270 AC_ARG_WITH(dca-tree,
3271 [ --with-dca-tree=PATH libdca tree for static linking],,
3272 [with_dca_tree="no"])
3273 AS_IF([test "${with_dca_tree}" != "no"], [
3274 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3275 AS_IF([test -z "${real_dca_tree}"], [
3276 dnl The given directory can't be found
3278 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3280 dnl Use a custom libdca
3281 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3282 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3284 VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3285 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3286 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3288 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3292 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3295 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3296 VLC_ADD_PLUGINS([dtstofloat32])
3297 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3298 VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}])
3300 AS_IF([test "x${enable_dca}" != "x"], [
3301 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3311 [ --enable-flac libflac decoder/encoder support (default disabled)])
3312 if test "${enable_flac}" = "yes"
3314 AC_ARG_WITH(flac-tree,
3315 [ --with-flac-tree=PATH flac tree for static linking])
3316 if test -n "${with_flac_tree}"
3318 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3319 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3320 if test -z "${real_flac_tree}"
3322 dnl The given directory can't be found
3324 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3326 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3328 dnl Use a custom flac
3329 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3330 VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3331 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3332 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3334 dnl The given flac wasn't built
3336 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3339 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3340 VLC_ADD_LDFLAGS([flac],[-lFLAC])
3348 AC_ARG_ENABLE(libmpeg2,
3349 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3350 if test "${enable_libmpeg2}" != "no"
3352 AC_ARG_WITH(libmpeg2-tree,
3353 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3354 if test -n "${with_libmpeg2_tree}"
3356 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3357 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3358 if test -z "${real_libmpeg2_tree}"
3360 dnl The given directory can't be found
3362 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3364 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3366 dnl Use a custom libmpeg2
3367 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3368 VLC_ADD_BUILTINS([libmpeg2])
3369 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3370 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3371 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3373 dnl The given libmpeg2 wasn't built
3375 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3378 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3379 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3381 [#include <mpeg2dec/mpeg2.h>
3382 #ifdef MPEG2_RELEASE
3383 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3387 [AC_MSG_RESULT([yes])
3388 VLC_ADD_PLUGINS([libmpeg2])
3389 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3390 [AC_MSG_RESULT([no])
3391 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.])])],
3393 [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.])]
3401 AC_ARG_ENABLE(vorbis,
3402 [ --enable-vorbis Vorbis decoder support (default enabled)])
3403 if test "${enable_vorbis}" != "no"
3405 AC_ARG_WITH(vorbis-tree,
3406 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3407 if test -n "${with_vorbis_tree}"
3409 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3410 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3411 if test -z "${real_vorbis_tree}"
3413 dnl The given directory can't be found
3415 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3417 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3419 dnl Use a custom vorbis
3420 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3421 VLC_ADD_PLUGINS([vorbis])
3422 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3423 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3425 dnl The given vorbis wasn't built
3427 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3430 AC_CHECK_HEADERS(vorbis/codec.h, [
3431 VLC_ADD_PLUGINS([vorbis])
3432 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
3434 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3435 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
3442 AC_ARG_ENABLE(tremor,
3443 [ --enable-tremor Tremor decoder support (default disabled)])
3444 if test "${enable_tremor}" = "yes"
3446 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3447 VLC_ADD_PLUGINS([tremor])
3448 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3455 AC_ARG_ENABLE(speex,
3456 [ --enable-speex Speex decoder support (default enabled)])
3457 if test "${enable_speex}" != "no"
3459 AC_ARG_WITH(speex-tree,
3460 [ --with-speex-tree=PATH speex tree for static linking])
3461 if test -n "${with_speex_tree}"
3463 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3464 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3465 if test -z "${real_speex_tree}"
3467 dnl The given directory can't be found
3469 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3471 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3473 dnl Use a custom speex
3474 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3475 VLC_ADD_PLUGINS([speex])
3476 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3477 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3479 dnl The given speex wasn't built
3481 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3484 AC_CHECK_HEADERS(speex/speex.h, [
3485 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3486 AC_CHECK_LIB(speex, speex_decode_int, [
3487 VLC_ADD_PLUGINS([speex])
3488 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3489 [ AC_MSG_RESULT([no])
3490 AC_MSG_WARN([Your libspeex is too old, please get the development
3492 LDFLAGS="${LDFLAGS_save}"
3498 dnl tarkin decoder plugin
3500 AC_ARG_ENABLE(tarkin,
3501 [ --enable-tarkin experimental tarkin codec (default disabled)])
3502 if test "${enable_tarkin}" = "yes"
3504 AC_ARG_WITH(tarkin-tree,
3505 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3506 if test -n "${with_tarkin_tree}"
3508 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3509 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3510 if test -f "${real_tarkin_tree}/tarkin.o"
3512 VLC_ADD_BUILTINS([tarkin])
3513 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3514 VLC_ADD_LDFLAGS([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])
3517 dnl The given tarkin tree wasn't built
3519 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3520 make sure you compiled tarkin in ${with_tarkin_tree}])
3526 dnl theora decoder plugin
3528 AC_ARG_ENABLE(theora,
3529 [ --enable-theora experimental theora codec (default disabled)])
3530 if test "${enable_theora}" = "yes"
3532 AC_CHECK_HEADERS(theora/theora.h, [
3533 AC_CHECK_LIB(theora, theora_granule_time, [
3534 VLC_ADD_PLUGINS([theora])
3535 theora_libs="-ltheora -logg"
3536 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3537 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3538 You also need to check that you have a libogg posterior to the 1.0 release.])],
3544 dnl dirac decoder plugin
3546 AC_ARG_ENABLE(dirac,
3547 [ --enable-dirac experimental dirac codec (default disabled)])
3548 if test "${enable_dirac}" = "yes"; then
3549 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [
3550 VLC_ADD_PLUGINS([dirac])
3551 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3552 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3553 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3558 dnl PNG decoder module
3561 [ --enable-png PNG support (default enabled)])
3562 if test "${enable_png}" != "no"; then
3563 AC_CHECK_HEADERS(png.h, [
3564 LDFLAGS="${LDFLAGS_save} -lz"
3565 AC_CHECK_LIB(png, png_set_rows, [
3566 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3567 VLC_ADD_PLUGINS([png])
3568 VLC_ADD_PLUGINS([osdmenu])
3569 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3571 LDFLAGS="${LDFLAGS_save}"
3576 dnl H264 encoder plugin (using libx264)
3579 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3580 if test "${enable_x264}" != "no"; then
3581 AC_ARG_WITH(x264-tree,
3582 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3583 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3585 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3586 if test -z "${real_x264_tree}"
3588 dnl The given directory can't be found
3590 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3592 dnl Use a custom libx264
3593 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3594 if test -f ${real_x264_tree}/x264.h
3597 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3598 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3599 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3600 AC_CHECK_LIB(x264, x264_encoder_open, [
3601 VLC_ADD_BUILTINS([x264])
3602 VLC_ADD_LDFLAGS([x264],[-lx264])
3604 AC_MSG_ERROR([the specified tree hasn't been compiled])
3606 LDFLAGS="${LDFLAGS_save}"
3609 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3612 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3613 AC_CHECK_HEADERS(x264.h, [
3614 AC_CHECK_LIB(x264, x264_encoder_open, [
3615 VLC_ADD_PLUGINS([x264])
3616 VLC_ADD_LDFLAGS([x264],[-lx264])
3618 if test "${enable_x264}" = "yes"; then
3619 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3623 LDFLAGS="${LDFLAGS_save}"
3631 [ --enable-cmml CMML support (default enabled)])
3632 if test "${enable_cmml}" != "no"
3634 VLC_ADD_PLUGINS([cmml])
3642 AC_ARG_WITH(,[Video plugins:])
3645 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3646 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3647 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3648 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3649 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3651 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3652 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3657 #include <X11/Xlib.h>
3659 CPPFLAGS="${CPPFLAGS_save}"
3664 dnl (enabled by default except on win32)
3667 [ --enable-x11 X11 support (default enabled)])
3668 if test "${enable_x11}" != "no" &&
3669 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3670 test "${enable_x11}" = "yes"); then
3671 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3672 AC_CHECK_HEADERS(X11/Xlib.h, [
3673 VLC_ADD_PLUGINS([panoramix])
3674 VLC_ADD_LDFLAGS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3675 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3676 AC_CHECK_LIB(Xext, XShmAttach, [
3677 VLC_ADD_PLUGINS([x11])
3678 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3679 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3682 CPPFLAGS="${CPPFLAGS_save}"
3687 dnl (enabled by default except on win32)
3689 AC_ARG_ENABLE(xvideo,
3690 [ --enable-xvideo XVideo support (default enabled)])
3691 if test "${enable_xvideo}" != "no" &&
3692 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3693 test "${enable_xvideo}" = "yes"); then
3694 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3695 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3696 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3697 AC_CHECK_LIB(Xv,XvPutImage,[
3698 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3699 # test for libXv_pic.
3700 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3701 VLC_ADD_PLUGINS([xvideo])
3702 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3703 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3705 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3706 VLC_ADD_PLUGINS([xvideo])
3707 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3708 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3710 VLC_ADD_BUILTINS([xvideo])
3711 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3712 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3716 CFLAGS="${CFLAGS_save}"
3718 CPPFLAGS="${CPPFLAGS_save}")
3723 dnl (enabled by default except on win32)
3726 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3727 if test "${enable_glx}" != "no" &&
3728 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3729 test "${enable_glx}" = "yes"); then
3730 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3731 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3732 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3733 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3737 VLC_ADD_PLUGINS([glx])
3738 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3739 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3740 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3741 CPPFLAGS="${CPPFLAGS_save}"
3746 dnl (enabled by default except on win32)
3749 [ --enable-xvmc XVMC support (default disabled)])
3750 if test "${enable_xvmc}" = "yes" &&
3751 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3752 test "${enable_xvmc}" = "yes"); then
3753 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3754 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3755 VLC_ADD_PLUGINS([xvmc])
3756 VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3757 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3759 CPPFLAGS="${CPPFLAGS_save}"
3763 dnl Check for the Xinerama extension
3765 AC_ARG_ENABLE(xinerama,
3766 [ --enable-xinerama Xinerama support (default enabled)])
3767 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3768 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3769 test "${enable_xvideo}" = "yes"); then
3770 ac_cv_have_xinerama="no"
3771 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3772 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3773 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3774 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3775 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3776 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3777 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3778 ac_cv_have_xinerama="yes"
3780 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3781 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3782 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3783 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3784 ac_cv_have_xinerama="yes"
3788 if test "${ac_cv_have_xinerama}" = "yes"; then
3789 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3791 CFLAGS="${CFLAGS_save}"
3792 CPPFLAGS="${CPPFLAGS_save}"
3795 dnl Check for XF86VidMode extension
3797 ac_cv_have_xf86vidmode="no"
3798 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3799 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3800 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3801 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3802 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3803 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3804 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3805 ac_cv_have_xf86vidmode="yes"
3807 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3808 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3809 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3810 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3811 ac_cv_have_xf86vidmode="yes"
3815 [#ifdef HAVE_X11_XLIB_H
3816 # include <X11/Xlib.h>
3819 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3820 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3822 CFLAGS="${CFLAGS_save}"
3823 CPPFLAGS="${CPPFLAGS_save}"
3829 dnl (enabled by default except on beos)
3831 AC_ARG_ENABLE(opengl,
3832 [ --enable-opengl OpenGL support (default enabled)])
3833 if test "${enable_opengl}" != "no" &&
3834 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3835 if test "${SYS}" != "darwin"; then
3836 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3837 VLC_ADD_PLUGINS([opengl])
3838 if test "${SYS}" != "mingw32"; then
3839 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3841 VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
3845 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3846 VLC_ADD_PLUGINS([opengl])
3847 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3855 [ --enable-sdl SDL support (default enabled)])
3856 AC_ARG_ENABLE(sdl-image,
3857 [ --enable-sdl-image SDL image support (default enabled)])
3858 if test "${enable_sdl}" != "no"
3861 AC_ARG_WITH(sdl-config-path,
3862 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3863 [ if test "${with_sdl_config_path}" != "no"
3865 SDL_PATH="${with_sdl_config_path}:${PATH}"
3867 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3868 SDL_CONFIG="${SDL12_CONFIG}"
3869 SDL_HEADER="SDL12/SDL.h"
3870 SDL_IMAGE="SDL12/SDL_image.h"
3871 if test "${SDL_CONFIG}" = "no"
3873 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3874 SDL_CONFIG=${SDL11_CONFIG}
3875 SDL_HEADER="SDL11/SDL.h"
3876 SDL_IMAGE="SDL11/SDL_image.h"
3878 if test "${SDL_CONFIG}" = "no"
3880 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3881 SDL_HEADER="SDL/SDL.h"
3882 SDL_IMAGE="SDL/SDL_image.h"
3884 # check for cross-compiling
3886 AC_ARG_WITH(sdl-prefix,
3887 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3889 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3890 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3892 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3894 if test "${SDL_CONFIG}" != "no"
3896 # SDL on Darwin is heavily patched and can only run SDL_image
3897 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3898 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3900 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3901 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3902 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3903 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3904 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3905 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3906 As a last resort we also test for SDL.h presence),
3907 [ AC_MSG_ERROR([The development package for SDL is not installed.
3908 Please install it and try again. Alternatively you can also configure with
3911 AS_IF([ test "${enable_sdl_image}" != "no"],[
3912 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3913 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3914 VLC_ADD_PLUGINS([sdl_image])
3915 AC_CHECK_LIB(png, png_set_rows,
3916 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3917 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3918 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3919 AC_CHECK_LIB(tiff, TIFFClientOpen,
3920 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3921 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3922 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3923 As a last resort we also test for SDL_image.h presence),
3924 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3925 You should install it alongside your SDL package.])
3928 CPPFLAGS="${CPPFLAGS_save}"
3929 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3931 AC_MSG_ERROR([The development package for SDL is not installed.
3932 Please install it and try again. Alternatively you can also configure with
3936 elif test "${enable_sdl}" = "yes"
3938 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3939 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3947 AC_ARG_ENABLE(freetype,
3948 [ --enable-freetype freetype support (default enabled)])
3949 AC_ARG_ENABLE(fribidi,
3950 [ --enable-fribidi fribidi support (default enabled)])
3951 if test "${enable_freetype}" != "no"
3953 FREETYPE_PATH="${PATH}"
3954 AC_ARG_WITH(freetype-config-path,
3955 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3956 [ if test "${with_freetype_config_path}" != "no"
3958 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3960 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3962 if test "${FREETYPE_CONFIG}" != "no"
3964 VLC_ADD_PLUGINS([freetype])
3965 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3966 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3967 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3968 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
3969 VLC_ADD_LDFLAGS([freetype],[-lfontconfig])])
3970 AC_CHECK_HEADERS(Carbon/Carbon.h,
3971 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3972 elif test "${enable_freetype}" = "yes"
3974 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3975 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3980 if test "${enable_fribidi}" != "no"
3982 FRIBIDI_PATH="${PATH}"
3983 AC_ARG_WITH(fribidi-config-path,
3984 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3985 [ if test "${with_fribidi_config_path}" != "no"
3987 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3989 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3991 if test "${FRIBIDI_CONFIG}" != "no"
3993 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3994 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3995 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3996 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4004 AC_ARG_ENABLE(libxml2,
4005 [ --enable-libxml2 libxml2 support (default enabled)])
4006 if test "${enable_libxml2}" != "no"
4009 AC_ARG_WITH(xml2-config-path,
4010 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4011 [ if test "${with_xml2_config_path}" != "no"; then
4012 XML2_PATH="${with_xml2_config_path}:${PATH}"
4014 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4015 if test "${XML2_CONFIG}" != "no"; then
4016 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4017 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
4018 dnl depends on the xmlTextReader extension
4019 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4020 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4021 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4022 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4023 VLC_ADD_PLUGINS([xml]) ],[
4024 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4025 if test "${enable_xml2}" = "yes"; then
4026 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4029 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4030 if test "${enable_xml2}" = "yes"; then
4031 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4033 LDFLAGS="${LDFLAGS_save}"
4034 CPPFLAGS="${CPPFLAGS_save}"
4036 if test "${enable_xml2}" = "yes"; then
4037 AC_MSG_ERROR([Could not find libxml2])
4046 [ --enable-svg SVG support (default disabled)])
4047 if test "${enable_svg}" = "yes"
4049 PKG_CHECK_MODULES(SVG,
4050 librsvg-2.0 >= 2.9.0,
4052 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
4053 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4054 VLC_ADD_PLUGINS([svg]) ],
4055 [AC_MSG_WARN(SVG library not found)])
4059 dnl Snapshot vout module (with cache)
4061 AC_ARG_ENABLE(snapshot,
4062 [ --enable-snapshot snapshot module (default disabled)])
4063 if test "${enable_snapshot}" = "yes"
4065 VLC_ADD_PLUGINS([snapshot])
4069 dnl Qt Embedded module
4070 dnl (disabled by default)
4073 [ --enable-qte QT Embedded support (default disabled)])
4074 if test "${enable_qte}" = "yes"
4077 [ --with-qte=PATH Qt Embedded headers and libraries])
4078 if test "${with_qte}" != "no" -a -n "${with_qte}"
4080 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4081 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])
4083 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4084 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4086 VLC_ADD_PLUGINS([qte])
4088 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4089 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4090 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4092 CPPFLAGS="${CPPFLAGS_save}"
4096 dnl Qt Video output module
4097 dnl (disabled by default)
4099 dnl AC_ARG_ENABLE(qt_video,
4100 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4101 dnl if test "${enable_qt_video}" = "yes"
4103 dnl VLC_ADD_PLUGINS([qt_video])
4104 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
4105 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4106 dnl AC_CHECK_LIB(qt-mt,main,[
4107 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
4109 dnl AC_CHECK_LIB(qt,main,[
4110 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
4113 dnl NEED_QTE_MAIN=yes
4114 dnl LDFLAGS="${LDFLAGS_save}"
4115 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4119 dnl Roku HD1000 Video output module
4121 AC_ARG_ENABLE(hd1000v,
4122 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4123 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4124 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4125 test "${enable_hd1000v}" = "yes"); then
4127 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4129 can_build_roku="yes"
4133 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4135 if test "$can_build_roku" = "yes"
4137 VLC_ADD_PLUGINS([hd1000v])
4138 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
4144 dnl Windows DirectX module
4147 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4149 VLC_ADD_PLUGINS([panoramix])
4152 AC_ARG_ENABLE(directx,
4153 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4154 if test "${enable_directx}" != "no"
4156 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4158 AC_ARG_WITH(directx,
4159 [ --with-directx=PATH Win32 DirectX headers])
4160 if test -z "${with_directx}"
4162 AC_CHECK_HEADERS(ddraw.h,
4163 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4164 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4166 AC_CHECK_HEADERS(GL/gl.h,
4167 [ VLC_ADD_PLUGINS([glwin32])
4168 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4170 AC_CHECK_HEADERS(d3d9.h,
4171 [ VLC_ADD_PLUGINS([direct3d])
4172 VLC_ADD_LDFLAGS([direct3d],[-lgdi32])
4175 AC_MSG_CHECKING(for directX headers in ${with_directx})
4176 if test -f ${with_directx}/ddraw.h
4178 VLC_ADD_PLUGINS([vout_directx aout_directx])
4179 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4180 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4184 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4191 dnl Linux framebuffer module
4194 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4195 if test "${enable_fb}" != "no"
4197 AC_CHECK_HEADERS(linux/fb.h, [
4198 VLC_ADD_PLUGINS([fb])
4203 dnl Linux MGA module
4206 [ --enable-mga Linux kernel Matrox support (default disabled)],
4207 [ if test "${enable_mga}" = "yes"
4209 VLC_ADD_PLUGINS([mga])
4215 AC_ARG_ENABLE(svgalib,
4216 [ --enable-svgalib SVGAlib support (default disabled)])
4217 if test "${enable_svgalib}" = "yes"
4219 VLC_ADD_PLUGINS([svgalib])
4220 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4226 AC_ARG_ENABLE(directfb,
4227 [ --enable-directfb DirectFB support (default disabled)])
4228 if test "${enable_directfb}" = "yes"
4230 if test "${with_directfb}" = "no"
4232 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4233 if test "${have_directfb}"= "true"
4235 VLC_ADD_PLUGINS([directfb])
4236 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4237 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
4239 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
4242 CPPFLAGS_save="${CPPFLAGS}"
4243 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
4244 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4245 CPPFLAGS="${CPPFLAGS_save}"
4246 AC_ARG_WITH(directfb,
4247 [ --with-directfb=PATH path to directfb],
4248 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
4250 VLC_ADD_PLUGINS([directfb])
4251 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
4252 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4254 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
4262 [ --enable-ggi GGI support (default disabled)])
4263 if test "${enable_ggi}" = "yes"
4265 VLC_ADD_PLUGINS([ggi])
4266 VLC_ADD_LDFLAGS([ggi],[-lggi])
4268 [ --with-ggi=PATH path to libggi],
4269 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4271 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4272 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4279 AC_ARG_ENABLE(glide,
4280 [ --enable-glide Glide (3dfx) support (default disabled)])
4281 if test "${enable_glide}" = "yes"
4283 CFLAGS_save="${CFLAGS}"
4285 [ --with-glide=PATH path to libglide],
4286 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4288 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4289 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4290 CFLAGS="$CFLAGS -I${with_glide}/include"
4292 CFLAGS="$CFLAGS -I/usr/include/glide"
4293 AC_CHECK_HEADER(glide.h,[
4294 VLC_ADD_PLUGINS([glide])
4295 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4296 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4298 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4300 CFLAGS="${CFLAGS_save}"
4307 [ --enable-aa aalib output (default disabled)])
4308 if test "${enable_aa}" = "yes"
4310 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4311 if test "${have_aa}" = "true"
4313 VLC_ADD_PLUGINS([aa])
4314 VLC_ADD_LDFLAGS([aa],[-laa])
4322 [ --enable-caca libcaca output (default disabled)])
4323 if test "${enable_caca}" = "yes"
4326 AC_ARG_WITH(caca-config-path,
4327 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4328 [ if test "${with_caca_config_path}" != "no"
4330 CACA_PATH="${with_caca_config_path}:${PATH}"
4332 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4333 if test "${CACA_CONFIG}" != "no"
4335 VLC_ADD_PLUGINS([caca])
4336 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4337 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4342 dnl win32 GDI plugin
4344 AC_ARG_ENABLE(wingdi,
4345 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4346 if test "${enable_wingdi}" != "no"; then
4347 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4348 VLC_ADD_PLUGINS([wingdi])
4349 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4351 if test "${SYS}" = "mingwce"; then
4352 VLC_ADD_PLUGINS([wingdi wingapi])
4360 AC_ARG_WITH(,[Audio plugins:])
4363 dnl OSS /dev/dsp module (enabled by default except on win32)
4366 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4368 if test "${enable_oss}" != "no" &&
4369 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4370 test "${enable_oss}" = "yes")
4372 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4373 VLC_ADD_PLUGINS([oss])
4374 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4382 [ --enable-esd Esound library support (default disabled)],
4383 [if test "${enable_esd}" = "yes"
4385 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4386 if test "${ESD_CONFIG}" != "no"
4388 VLC_ADD_PLUGINS([esd])
4389 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4390 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4395 dnl Portaudio module
4397 AC_ARG_ENABLE(portaudio,
4398 [ --enable-portaudio Portaudio library support (default disabled)],
4399 [if test "${enable_portaudio}" = "yes"
4401 VLC_ADD_PLUGINS([portaudio])
4402 VLC_ADD_CXXFLAGS([portaudio],[])
4403 if test "${SYS}" = "mingw32"; then
4404 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4406 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4411 dnl aRts module -- broken (freeze wxWidgets)
4414 [ --enable-arts aRts sound server (default disabled)],
4415 [if test "${enable_arts}" = "yes"
4417 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4418 if test "${ARTS_CONFIG}" != "no"
4420 VLC_ADD_PLUGINS([arts])
4421 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4422 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4430 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4431 if test "${enable_alsa}" != "no"
4433 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4434 if test "${have_alsa}" = "true"
4436 CFLAGS="${CFLAGS_save}"
4437 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4438 #define ALSA_PCM_NEW_SW_PARAMS_API
4439 #include <alsa/asoundlib.h>],
4440 [snd_pcm_hw_params_get_period_tim