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
45 _AM_DEPENDENCIES([OBJC])
51 dnl Find the right ranlib, even when cross-compiling
52 AC_CHECK_TOOL(RANLIB, ranlib, :)
53 AC_CHECK_TOOL(STRIP, strip, :)
54 AC_CHECK_TOOL(AR, ar, :)
55 AC_CHECK_TOOL(LD, ld, :)
56 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
58 dnl Check for compiler properties
64 dnl Check for the contrib directory
67 [ --without-contrib do not use the libraries in extras/contrib],[],[])
68 if test "${with_contrib}" != "no"; then
69 AC_MSG_CHECKING([for libs in extras/contrib])
71 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
72 topdir="`pwd`/$topdir"
74 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
75 if test "${with_contrib}" = "yes"; then
77 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
80 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
83 if test -d ${topdir}/extras/contrib/lib; then
85 export PATH=${topdir}/extras/contrib/bin:$PATH
86 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
87 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
88 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
89 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
90 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
91 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
92 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
93 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
94 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
95 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
97 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
99 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
100 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
102 dnl kludge because only the debian package provides a ffmpeg-config
103 if test -z $with_ffmpeg_config_path; then
104 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
106 if test -z $with_live555_tree; then
107 with_live555_tree=${topdir}/extras/contrib/src/live
109 if test -z $with_goom_tree; then
110 with_goom_tree=${topdir}/extras/contrib/src/goom
112 if test -z $with_mozilla_sdk_path; then
113 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
115 if test -z $with_cyberlink_tree; then
116 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
118 if test -z $with_libmpeg2_tree; then
119 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
122 if test ".`uname -s`" = ".Darwin"; then
123 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
124 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
125 elif test ".`uname -s`" = ".BeOS"; then
126 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
127 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
135 dnl Set default values
137 LDFLAGS_vlc="${LDFLAGS}"
140 dnl Check the operating system
151 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
152 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
156 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
159 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
160 CPPFLAGS="${CPPFLAGS_save}"
161 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
162 LDFLAGS="${LDFLAGS_save}"
169 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
170 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
171 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
172 VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load])
173 VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
174 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
175 VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
179 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
180 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
181 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
182 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
183 VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation])
184 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
185 VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup])
187 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
188 AC_CHECK_TOOL(WINDRES, windres, :)
196 dnl Check if we are using the mno-cygwin mode in which case we are
197 dnl actually dealing with a mingw32 compiler.
202 SYS=mingw32, SYS=cygwin)
204 *wince* | *mingwce* | *pe*)
209 if test "${SYS}" = "mingw32"; then
210 # add ws2_32 for closesocket, select, recv
211 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
212 VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
213 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
214 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])
216 if test "${SYS}" = "mingwce"; then
217 # add ws2 for closesocket, select, recv
218 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
219 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
220 VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
221 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
226 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
230 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
231 # Perhaps it is useful other places as well?
232 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
239 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
240 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
241 VLC_ADD_CXXFLAGS([beos],[])
242 VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe])
243 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
244 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
245 VLC_ADD_LDFLAGS([access_file],[-lpoll])
246 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
248 if test -f /boot/beos/system/lib/libbind.so; then
249 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
251 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
254 dnl Ugly check for Zeta
255 if test -f /boot/beos/system/lib/libzeta.so; then
256 VLC_ADD_LDFLAGS([beos],[-lzeta])
263 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
264 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
265 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
266 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
270 dnl It's very bad, but our former custom system was worst
275 dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
276 m4_undefine([AC_PROG_F77])
277 m4_defun([AC_PROG_F77],[])
280 AC_ARG_ENABLE(libtool,
281 [ --enable-libtool use libtool (default enabled)])
282 AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
286 dnl Check for Mac OS X SDK settings
288 AC_ARG_WITH(macosx-sdk,
289 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
290 if test "${with_macosx_sdk}" != "no" ; then
291 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}"
292 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}"
293 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}"
294 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
295 export MACOSX_DEPLOYMENT_TARGET=10.3
296 MACOSX_DEPLOYMENT_TARGET="10.3"
302 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"
303 AM_GNU_GETTEXT_VERSION(0.11.5)
305 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
306 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
307 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
308 AS_IF([test "${enable_libtool}" != "no"], [
309 INCLUDED_LIBINTL="${LTLIBINTL}"
311 INCLUDED_LIBINTL="${LIBINTL}"
314 AS_IF([test "${enable_libtool}" != "no"], [
315 VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
317 VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}])
320 AC_SUBST(INCLUDED_LIBINTL)
321 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
326 if test "${SYS}" != "mingwce"; then
327 AS_IF([test "$am_cv_func_iconv" != "yes"],
328 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
330 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
331 AS_IF([test "${enable_libtool}" != "no"], [
332 VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}])
334 VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}])
337 dnl Check for the need to include the mingwex lib for mingw32
338 if test "${SYS}" = "mingw32"
340 AC_CHECK_LIB(mingwex,opendir,
341 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]),
342 [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])])
346 dnl Check for fnative-struct or mms-bitfields support for mingw32
347 if test "${SYS}" = "mingw32"
349 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
350 [ac_cv_c_mms_bitfields],
351 [CFLAGS="${CFLAGS_save} -mms-bitfields"
352 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
353 if test "${ac_cv_c_mms_bitfields}" != "no"; then
354 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
355 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
357 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
358 [ac_cv_c_fnative_struct],
359 [CFLAGS="${CFLAGS_save} -fnative-struct"
360 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
361 if test "${ac_cv_c_fnative_struct}" != "no"; then
362 CFLAGS_save="${CFLAGS_save} -fnative-struct";
363 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
367 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
370 dnl Check for fvtable-thunks support for mingw32
371 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
374 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
375 [ac_cv_cxx_fvtable_thunks],
376 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
377 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
378 ac_cv_cxx_fvtable_thunks=no)])
379 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
380 CXXFLAGS_mingw32_special="-fvtable-thunks"
383 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
387 dnl Plugin compilation stuff
394 AS_IF([test "${enable_libtool}" = "no"], [
397 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
398 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
399 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
404 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
405 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
406 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
407 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
412 dnl The -DSYS_FOO flag
413 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
415 dnl Check for system libs needed
418 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)
420 dnl Check for usual libc functions
421 AC_CHECK_FUNCS(strdup strndup atof)
422 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
423 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
424 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
426 dnl Check for setlocal and langinfo
427 AC_CHECK_FUNCS(setlocale)
428 AC_CHECK_HEADERS(langinfo.h)
429 AC_CHECK_FUNCS(nl_langinfo)
431 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
432 [AC_TRY_LINK([#include <langinfo.h>],
433 [char* cs = nl_langinfo(CODESET);],
434 ac_cv_langinfo_codeset=yes,
435 ac_cv_langinfo_codeset=no)
437 if test ${ac_cv_langinfo_codeset} = yes; then
438 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
439 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
442 AC_CHECK_FUNCS(connect,,[
443 AC_CHECK_LIB(socket,connect,[
444 VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket)
445 LIBS_socket="-lsocket"
449 AC_CHECK_FUNCS(send,,[
450 AC_CHECK_LIB(socket,send,[
451 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
455 AC_CHECK_FUNCS(gethostbyname,,[
456 AC_CHECK_LIB(nsl,gethostbyname,[
457 VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl])
459 AC_CHECK_LIB(bind,gethostbyname,[
460 VLC_ADD_LDFLAGS([access_mms],[-lbind])
465 dnl Check for socklen_t
466 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
468 [#include <sys/types.h>
469 #include <sys/socket.h>],
470 [socklen_t len = 42; return len;],
471 ac_cv_type_socklen_t=yes,
472 ac_cv_type_socklen_t=no)])
473 if test "${ac_cv_type_socklen_t}" != "no"; then
474 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
477 dnl Check for struct sockaddr_storage
478 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
479 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
480 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
482 [#include <sys/types.h>
483 #if defined( UNDER_CE )
484 # include <winsock.h>
485 #elif defined( WIN32 )
486 # include <winsock2.h>
488 # include <sys/socket.h>
489 #endif], [struct sockaddr_storage addr;],
490 ac_cv_struct_sockaddr_storage=yes,
491 ac_cv_struct_sockaddr_storage=no)])
492 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
493 AC_DEFINE(sockaddr_storage, sockaddr)
494 AC_DEFINE(ss_family, sa_family)
497 dnl getaddrinfo, getnameinfo and gai_strerror check
498 dnl -lnsl and -lsocket are needed on Solaris;
499 dnl we purposedly make the test fail on Windows
501 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
502 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
504 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
507 AC_CHECK_FUNCS([getnameinfo gai_strerror])
510 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
511 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
512 [#include <sys/types.h>
513 #if defined( WIN32 ) || defined( UNDER_CE )
514 # if defined(UNDER_CE) && defined(sockaddr_storage)
515 # undef sockaddr_storage
517 # include <winsock2.h>
518 # include <ws2tcpip.h>
523 dnl Check for va_copy
524 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
526 [#include <stdarg.h>],
527 [va_list ap1, ap2; va_copy(ap1,ap2);],
528 [ac_cv_c_va_copy="yes"],
529 [ac_cv_c_va_copy="no"]))
530 if test "${ac_cv_c_va_copy}" = "yes"; then
531 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
533 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
535 [#include <stdarg.h>],
536 [va_list ap1, ap2; __va_copy(ap1,ap2);],
537 [ac_cv_c___va_copy="yes"],
538 [ac_cv_c___va_copy="no"]))
539 if test "${ac_cv_c___va_copy}" = "yes"; then
540 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
543 AC_CHECK_FUNCS(inet_aton,,[
544 AC_CHECK_LIB(resolv,inet_aton,[
545 VLC_ADD_LDFLAGS([libvlc],[-lresolv])
549 dnl Check for getopt (always use builtin one on win32)
550 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
554 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
555 [ # FreeBSD has a gnugetopt library for this:
556 AC_CHECK_LIB([gnugetopt],[getopt_long],
557 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
558 VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])],
561 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
563 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
566 VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm])
569 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])
571 AC_CHECK_LIB(m,sqrt,[
572 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
574 AC_CHECK_LIB(m,ceil,[
575 VLC_ADD_LDFLAGS([mosaic],[-lm])
577 AC_CHECK_LIB(mx,sqrtf,[
578 VLC_ADD_LDFLAGS([x264],[-lmx])
580 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
582 dnl Check for dynamic plugins
583 ac_cv_have_plugins=no
586 AC_CHECK_HEADERS(mach-o/dyld.h,
587 [AC_CHECK_FUNCS(NSLinkModule,
588 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
589 ac_cv_have_plugins=yes])])
592 if test "${ac_cv_have_plugins}" = "no"; then
593 AC_CHECK_HEADERS(dl.h)
594 ac_cv_my_have_shl_load=no
595 AC_CHECK_FUNC(shl_load,
596 [ac_cv_my_have_shl_load=yes,
597 AC_CHECK_LIB(dld, shl_load,
598 [ac_cv_my_have_shl_load=yes
599 VLC_ADD_LDFLAGS([libvlc],[-ldld])])])
600 if test "${ac_cv_my_have_shl_load}" = "yes"; then
601 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
602 ac_cv_have_plugins=yes
607 if test "${ac_cv_have_plugins}" = "no"; then
608 AC_CHECK_LIB(dld, dld_link,
609 [VLC_ADD_LDFLAGS([libvlc],[-ldld])
610 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
611 ac_cv_have_plugins=yes])
615 if test "${ac_cv_have_plugins}" = "no"; then
616 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
617 AC_CHECK_LIB(kernel32, main,
618 [VLC_ADD_LDFLAGS([libvlc],[-lkernel32])
619 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
620 ac_cv_have_plugins=yes])
625 if test "${ac_cv_have_plugins}" = "no"; then
626 if test "${SYS}" = "mingwce"; then
627 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
628 ac_cv_have_plugins=yes
633 if test "${ac_cv_have_plugins}" = "no"; then
634 AC_CHECK_HEADERS(image.h)
635 AC_CHECK_FUNCS(load_add_on,
636 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
637 ac_cv_have_plugins=yes])
640 # Only test for dlopen() if the others didn't work
641 if test "${ac_cv_have_plugins}" = "no"; then
642 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
643 ac_cv_my_have_dlopen=no
644 AC_CHECK_FUNC(dlopen,
645 ac_cv_my_have_dlopen=yes,
646 AC_CHECK_LIB(dl, dlopen,
647 ac_cv_my_have_dlopen=yes
648 VLC_ADD_LDFLAGS([libvlc],[-ldl]),
649 AC_CHECK_LIB(svld, dlopen,
650 ac_cv_my_have_dlopen=yes
651 VLC_ADD_LDFLAGS([libvlc],[-lsvld]))))
652 if test "${ac_cv_my_have_dlopen}" = "yes"; then
653 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
654 ac_cv_have_plugins=yes
658 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
659 dnl Check for pthreads - borrowed from XMMS
661 if test "${THREAD_LIB}" = "error"; then
662 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
664 if test "${THREAD_LIB}" = "error"; then
665 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
667 if test "${THREAD_LIB}" = "error"; then
668 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
670 if test "${THREAD_LIB}" = "error"; then
671 AC_CHECK_FUNCS(pthread_mutex_lock)
675 dnl Check for cthreads under GNU/Hurd for instance
676 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
679 dnl GNU portable threads
682 [ --enable-pth GNU Pth support (default disabled)],
683 [ if test "${enable_pth}" = "yes"; then
684 AC_CHECK_LIB(pth,pth_init)
685 AC_MSG_CHECKING(for pth_init in pth.h)
686 AC_EGREP_HEADER(pth_init,pth.h,[
688 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
689 Define if <pth.h> defines pth_init)
701 [ --enable-st State Threads (default disabled)],
702 [ if test "${enable_st}" = "yes"; then
703 AC_CHECK_LIB(st,st_init)
704 AC_MSG_CHECKING(for st_init in st.h)
705 AC_EGREP_HEADER(st_init,st.h,[
707 AC_DEFINE(ST_INIT_IN_ST_H, 1,
708 Define if <st.h> defines st_init)
716 VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}])
718 dnl Don't link with rt when using GNU-pth
719 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
720 AC_CHECK_LIB(rt, clock_nanosleep, [
721 VLC_ADD_LDFLAGS([libvlc],[-lrt])
722 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
725 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])])
729 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
730 AC_CHECK_LIB(rt,nanosleep,
731 [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:],
732 [AC_CHECK_LIB(posix4,nanosleep,
733 [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])]
736 if ${have_nanosleep}; then
737 AC_DEFINE(HAVE_NANOSLEEP, 1,
738 Define if nanosleep is available.)
742 dnl Check for misc headers
743 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
744 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
746 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
747 Define if <pthread.h> defines pthread_cond_t.)],[
750 AC_MSG_CHECKING(for pthread_once in pthread.h)
751 AC_EGREP_HEADER(pthread_once,pthread.h,[
753 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
754 Define if <pthread.h> defines pthread_once.)],[
756 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
758 AC_MSG_CHECKING(for strncasecmp in strings.h)
759 AC_EGREP_HEADER(strncasecmp,strings.h,[
761 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
762 Define if <strings.h> defines strncasecmp.)],[
765 dnl Check for headers
766 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)
767 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
768 AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
769 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
770 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
771 AC_CHECK_HEADERS(linux/version.h)
772 AC_CHECK_HEADERS(syslog.h)
773 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
777 AC_CHECK_TYPE(ssize_t, int)
778 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
782 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
783 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
785 dnl Mac OS X and other OSes don't have declaration for nanosleep
786 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
787 AC_MSG_CHECKING(for nanosleep in time.h)
788 AC_EGREP_HEADER(nanosleep,time.h,[
790 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
791 Define if <time.h> defines nanosleep.)
795 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
797 dnl Make sure we have timespecs
798 AC_MSG_CHECKING(for timespec in sys/time.h)
799 AC_EGREP_HEADER(timespec,sys/time.h,[
801 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
802 Define if <sys/time.h> defines struct timespec.)
807 dnl Check for threads library
808 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
809 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
810 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
812 dnl Find where are the X headers and libraries
815 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.
817 PKG_PROG_PKG_CONFIG()
821 [ --enable-hal Linux HAL services discovery (default enabled)])
823 if test "${enable_hal}" != "no"
825 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
826 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
827 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
828 VLC_ADD_PLUGINS([hal probe_hal])
829 VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS])
830 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
831 dnl No hal 0.5 Test for 0.2
832 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
833 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
834 VLC_ADD_PLUGINS([hal])
835 VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS])
836 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
837 [AC_MSG_WARN(HAL library not found)])
844 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
847 if test "${enable_dbus}" != "no"
850 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
851 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
852 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
853 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
854 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
855 VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
856 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
857 dnl Check for dbus control interface
858 AC_ARG_ENABLE(dbus-control, [ --enable-dbus-control D-BUS control interface (default disabled)])
859 if test "${enable_dbus_control}" = "yes"
861 VLC_ADD_PLUGINS([dbus])
862 VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
863 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
866 if ${PKG_CONFIG} --exists dbus-1
868 [AC_ARG_ENABLE(old-dbus,
869 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
871 if test "${enable_old_dbus}" != "yes"
874 echo "****** WARNING **** WARNING ***** WARNING *************"
875 echo "*** Your D-Bus version is < 1.0.0"
876 echo "*** You are using old and buggy software and so"
877 echo "*** D-Bus support has been disabled."
878 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
879 echo "*** Alternatively you can force the use of your old and"
880 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
881 echo "*******************************************************"
885 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
886 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
887 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
888 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
889 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
890 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
892 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
893 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
894 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
895 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
896 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
898 [ PKG_CHECK_MODULES( DBUS, dbus-1,
899 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
900 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
901 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
902 [AC_MSG_WARN(DBUS library not found)])
913 dnl Build the gtk_main plugins?
919 dnl build the qte plugin ?
922 dnl Check for ntohl, etc.
923 AC_CACHE_CHECK([for ntohl in sys/param.h],
924 [ac_cv_c_ntohl_sys_param_h],
925 [CFLAGS="${CFLAGS_save} -Wall -Werror"
926 AC_TRY_COMPILE([#include <sys/param.h>],
927 [int meuh; ntohl(meuh);],
928 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
929 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
930 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
932 CFLAGS="${CFLAGS_save}"
934 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])
935 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
937 dnl This helps detect broken plugins with undefined symbols
938 dnl Better fail loudly at build-time than silenty at run-time.
939 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
940 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
941 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
944 dnl Check for various optimization flags
945 AC_CACHE_CHECK([if \$CC accepts -Os],
947 [CFLAGS="${CFLAGS_save} -Os"
948 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
949 if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
950 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
953 AC_CACHE_CHECK([if \$CC accepts -O3],
955 [CFLAGS="${CFLAGS_save} -O3"
956 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
957 if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
958 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
961 AC_CACHE_CHECK([if \$CC accepts -O2],
963 [CFLAGS="${CFLAGS_save} -O2"
964 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
965 if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
966 if test "${ac_cv_c_o3}" = "no"; then
967 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
969 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
971 AC_CACHE_CHECK([if \$CC accepts -O],
973 [CFLAGS="${CFLAGS_save} -O"
974 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
975 if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
976 if test "${ac_cv_c_o3}" = "no"; then
977 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
979 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
983 dnl Check for -ffast-math
984 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
986 [CFLAGS="${CFLAGS_save} -ffast-math"
987 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
988 if test "${ac_cv_c_fast_math}" != "no"; then
989 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
992 dnl Check for -funroll-loops
993 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
994 if test "${SYS}" != "beos"
996 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
997 [ac_cv_c_unroll_loops],
998 [CFLAGS="${CFLAGS_save} -funroll-loops"
999 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1000 if test "${ac_cv_c_unroll_loops}" != "no"; then
1001 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
1005 dnl Check for -fomit-frame-pointer
1006 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1007 [ac_cv_c_omit_frame_pointer],
1008 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1009 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1010 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1011 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1012 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
1013 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
1016 dnl Check for -fvisibility=hidden
1017 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1018 [ac_cv_c_visibility_hidden],
1019 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1020 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1021 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1022 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1025 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1026 dnl AC_LANG_PUSH(C++)
1027 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1028 dnl [ac_cv_c_visibility_inlines_hidden],
1029 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1030 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1031 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1032 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1034 dnl CXXFLAGS="${CXXFLAGS_save}"
1035 dnl AC_LANG_POP(C++)
1037 dnl Check for -mdynamic-no-pic
1038 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1039 [ac_cv_c_dynamic_no_pic],
1040 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1041 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1042 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1043 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1044 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1047 dnl Check for Darwin plugin linking flags
1048 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1050 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1051 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1052 if test "${ac_cv_ld_darwin}" != "no"; then
1053 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1056 dnl Check for standard plugin linking flags
1057 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1058 AS_IF([test "${enable_libtool}" = "no"], [
1059 AS_IF([test "${SYS}" = "beos"], [
1060 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1062 AC_CACHE_CHECK([if \$CC accepts -shared],
1064 [CFLAGS="${CFLAGS_save} -shared"
1065 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1066 AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1067 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1072 dnl Check for variadic macros
1073 AC_CACHE_CHECK([for variadic cpp macros],
1074 [ac_cv_cpp_variadic_macros],
1075 [CFLAGS="${CFLAGS_save}"
1078 #define a(b,c...) printf(b,##c)],
1079 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1080 ac_cv_cpp_variadic_macros=yes,
1081 ac_cv_cpp_variadic_macros=no)])
1082 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1083 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1086 dnl Checks for __attribute__(aligned()) directive
1087 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1088 [ac_cv_c_attribute_aligned],
1089 [ac_cv_c_attribute_aligned=0
1090 CFLAGS="${CFLAGS_save} -Werror"
1091 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1093 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1094 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1096 CFLAGS="${CFLAGS_save}"])
1097 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1098 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1099 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1102 dnl Checks for __attribute__(format()) directive
1103 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1104 [ac_cv_c_attribute_format],
1105 [ac_cv_c_attribute_format=no
1106 CFLAGS="${CFLAGS_save} -Werror"
1108 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1109 [ac_cv_c_attribute_format=yes])
1110 CFLAGS="${CFLAGS_save}"])
1111 if test "${ac_cv_c_attribute_format}" != "no"; then
1112 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1115 dnl Check for __attribute__((packed))
1116 AC_CACHE_CHECK([for __attribute__((packed))],
1117 [ac_cv_c_attribute_packed],
1118 [ac_cv_c_attribute_packed=no
1119 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1120 [ac_cv_c_attribute_packed=yes])])
1121 if test "${ac_cv_c_attribute_packed}" != "no"; then
1122 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1125 dnl Check for __attribute__((visibility()))
1126 AC_CACHE_CHECK([for __attribute__((visibility()))],
1127 [ac_cv_c_attribute_visibility],
1128 [ac_cv_c_attribute_visibility=no
1129 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1130 [ac_cv_c_attribute_visibility=yes])])
1131 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1132 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1138 case "${host_cpu}" in
1148 dnl Enable profiling
1150 AC_ARG_ENABLE(gprof,
1151 [ --enable-gprof gprof profiling (default disabled)])
1152 AC_ARG_ENABLE(cprof,
1153 [ --enable-cprof cprof profiling (default disabled)])
1154 test "${enable_gprof}" != "yes" && enable_gprof="no"
1155 test "${enable_cprof}" != "yes" && enable_cprof="no"
1160 VLC_ADD_PLUGINS([dummy logger memcpy])
1161 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
1162 VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
1163 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen])
1164 VLC_ADD_PLUGINS([converter_fixed mono])
1165 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1166 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1167 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
1168 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
1169 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1170 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1171 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1172 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1173 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1174 VLC_ADD_PLUGINS([packetizer_vc1])
1177 if test "${SYS}" != "mingwce"; then
1178 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1179 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
1180 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase])
1181 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1182 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1183 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1184 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1185 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1189 dnl Switch to enable a version of VLC where most modules will be builtin
1191 AC_ARG_ENABLE(mostly-builtin,
1192 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1193 if test "${enable_mostly_builtin}" = "yes"; then
1194 VLC_ADD_BUILTINS([${PLUGINS}])
1199 dnl Some plugins aren't useful on some platforms
1201 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1202 VLC_ADD_PLUGINS([screensaver motion])
1203 elif test "${SYS}" != "mingwce"; then
1204 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1205 VLC_ADD_LDFLAGS([dmo],[-lole32])
1207 VLC_ADD_PLUGINS([win32text])
1211 dnl Accelerated modules
1213 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1214 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1215 MMXEXT_MODULES="memcpymmxext"
1216 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1217 THREEDNOW_MODULES="memcpy3dn"
1219 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1220 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1222 if test "${enable_gprof}" != "yes"
1224 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1227 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1229 [CFLAGS="${CFLAGS_save}"
1230 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1231 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1232 if test "${ac_cv_mmx_inline}" != "no"; then
1233 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1234 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1237 dnl Check for fully workin MMX intrinsics
1238 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1239 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1240 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1241 [ac_cv_c_mmx_intrinsics],
1242 [CFLAGS="${CFLAGS_save} -O -mmmx"
1243 AC_TRY_COMPILE([#include <mmintrin.h>
1247 a = b = c = (__m64)frobzor;
1248 a = _mm_slli_pi16(a, 3);
1249 a = _mm_adds_pi16(a, b);
1250 c = _mm_srli_pi16(c, 8);
1251 c = _mm_slli_pi16(c, 3);
1252 b = _mm_adds_pi16(b, c);
1253 a = _mm_unpacklo_pi8(a, b);
1254 frobzor = (uint64_t)a;],
1255 [ac_cv_c_mmx_intrinsics=yes],
1256 [ac_cv_c_mmx_intrinsics=no])])
1257 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1258 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1259 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1262 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1263 [ac_cv_mmxext_inline],
1264 [CFLAGS="${CFLAGS_save}"
1265 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1266 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1267 if test "${ac_cv_mmxext_inline}" != "no"; then
1268 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1269 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1272 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1273 [ac_cv_3dnow_inline],
1274 [CFLAGS="${CFLAGS_save}"
1275 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1276 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1277 if test "${ac_cv_3dnow_inline}" != "no"; then
1278 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1279 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1282 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1284 [CFLAGS="${CFLAGS_save}"
1285 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1286 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1287 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1288 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1289 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1292 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1293 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1294 [ac_cv_altivec_inline],
1295 [CFLAGS="${CFLAGS_save}"
1296 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1297 ac_cv_altivec_inline=yes,
1298 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1299 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1300 [ac_cv_altivec_inline="-Wa,-m7400"],
1301 ac_cv_altivec_inline=no)
1303 if test "${ac_cv_altivec_inline}" != "no"; then
1304 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1305 if test "${ac_cv_altivec_inline}" != "yes"; then
1306 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1307 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1308 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1309 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1310 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1312 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1315 dnl The AltiVec C extensions
1317 dnl There are several possible cases:
1318 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1319 dnl need <altivec.h>
1320 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1321 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1322 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1323 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1324 dnl - Others: test should fail
1325 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1327 [# OS X/PPC test (gcc 4.x)
1328 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1329 AC_TRY_COMPILE([vector unsigned char foo;],
1330 [vec_ld(0, (unsigned char *)0);],
1331 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1332 [# OS X/PPC test (gcc 3.x)
1333 CFLAGS="${CFLAGS_save} -faltivec"
1334 AC_TRY_COMPILE([vector unsigned char foo;],
1335 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1336 [ac_cv_c_altivec="-faltivec"],
1337 dnl Below this are the Linux tests
1338 [# Linux/PPC test (gcc 4.x)
1339 CFLAGS="${CFLAGS_save} -maltivec"
1340 AC_TRY_COMPILE([#include <altivec.h>],
1341 [vec_ld(0, (unsigned char *)0);],
1342 [ac_cv_c_altivec="-maltivec"],
1343 [# Linux/PPC test (gcc 3.3)
1344 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1345 AC_TRY_COMPILE([#include <altivec.h>],
1346 [vec_ld(0, (unsigned char *)0);],
1348 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1349 [# Linux/PPC test (gcc 3.3)
1350 CFLAGS="${CFLAGS_save} -fvec"
1351 AC_TRY_COMPILE([#include <altivec.h>],
1352 [vec_ld(0, (unsigned char *)0);],
1353 [ac_cv_c_altivec="-fvec"],
1354 [ac_cv_c_altivec=no])
1359 CFLAGS="${CFLAGS_save}"
1362 if test "${ac_cv_c_altivec}" != "no"; then
1363 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1366 AS_IF( test "${enable_altivec}" != "no",
1368 AC_CHECK_HEADERS(altivec.h)
1369 CPPFLAGS="${CPPFLAGS_save}"
1371 if test "${ac_cv_c_altivec}" != "no"; then
1372 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1373 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1374 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1375 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1376 if test "${ac_cv_altivec_inline}" = "no"; then
1377 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1381 CPPFLAGS="${CPPFLAGS_save}"
1384 AC_CACHE_CHECK([if linker needs -framework vecLib],
1386 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1387 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1388 LDFLAGS="${LDFLAGS_save}"
1390 if test "${ac_cv_ld_altivec}" != "no"; then
1391 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1393 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1396 AC_ARG_WITH(,[Optimization options:])
1399 dnl Special arch tuning
1402 [ --with-tuning=ARCH enable special tuning for an architecture
1403 (default Pentium 2 on IA-32 and G4 on PPC)])
1404 if test -n "${with_tuning}"; then
1405 if test "${with_tuning}" != "no"; then
1406 CFLAGS_TUNING="-mtune=${with_tuning}"
1409 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1410 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1411 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1412 CFLAGS_TUNING="-mtune=pentium2"
1413 elif test "${host_cpu}" = "x86_64"; then
1414 CFLAGS_TUNING="-mtune=athlon64"
1415 elif test "${host_cpu}" = "powerpc"; then
1416 CFLAGS_TUNING="-mtune=G4";
1420 dnl NOTE: this can't be cached cleanly
1421 AS_IF([test "${CFLAGS_TUNING}"],
1422 [CFLAGS_save="${CFLAGS}"
1423 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1425 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1426 AC_COMPILE_IFELSE([ ],
1428 [CFLAGS_TUNING=""; tuning="no"
1429 AS_IF([test "${with_tuning}"],
1430 [AC_MSG_ERROR([requested tuning not supported])])])
1432 AC_MSG_RESULT([$tuning])
1433 CFLAGS="${CFLAGS_save}"
1437 dnl x86 accelerations
1439 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"
1442 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1448 AC_ARG_ENABLE(optimize-memory,
1449 [ --enable-optimize-memory optimize memory usage over performance])
1450 if test "${enable_optimize_memory}" = "yes"; then
1451 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1455 dnl Enable/disable optimizations
1457 AC_ARG_ENABLE(optimizations,
1458 [ --disable-optimizations disable compiler optimizations (default enabled)])
1459 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1462 dnl AltiVec acceleration
1464 AC_ARG_ENABLE(altivec,
1465 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1466 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1467 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1468 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1469 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1474 AC_ARG_ENABLE(debug,
1475 [ --enable-debug debug mode (default disabled)])
1476 test "${enable_debug}" != "yes" && enable_debug="no"
1478 [Define to 1 if debug code should NOT be compiled])
1479 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1482 dnl Enable release-specific flags
1484 AC_ARG_ENABLE(release,
1485 [ --enable-release activate extra optimizations (default disabled)])
1486 test "${enable_release}" != "yes" && enable_release="no"
1492 [ --enable-sout Stream output modules (default enabled)])
1493 if test "${enable_sout}" != "no"
1495 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1496 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1497 VLC_ADD_PLUGINS([packetizer_copy])
1499 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1500 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1501 VLC_ADD_PLUGINS([stream_out_gather])
1502 # VLC_ADD_PLUGINS([stream_out_transrate])
1503 # VLC_ADD_PLUGINS([rtcp])
1504 VLC_ADD_PLUGINS([profile_parser])
1506 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1509 AC_ARG_ENABLE(switcher,
1510 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1512 dnl Check for libshout
1513 AC_ARG_ENABLE(shout,
1514 [ --enable-shout libshout output plugin (default disabled)])
1515 if test "${enable_shout}" = "yes"; then
1516 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1517 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1518 VLC_ADD_PLUGINS([access_output_shout])
1519 VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1520 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1521 [AC_MSG_WARN(libshout library not found)])
1527 AC_ARG_ENABLE(httpd,
1528 [ --enable-httpd HTTP daemon (default enabled)])
1529 if test "${enable_httpd}" != "no"
1531 VLC_ADD_PLUGINS([http])
1532 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1536 dnl VideoLAN manager
1539 [ --enable-vlm VideoLAN manager (default enabled)])
1540 if test "${enable_vlm}" != "no"
1542 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1546 dnl Growl notification plugin
1548 AC_ARG_ENABLE(growl,
1549 [ --enable-growl growl notification plugin (default enabled)])
1550 AS_IF([test "${enable_growl}" != "no"], [
1551 VLC_ADD_PLUGINS([growl])
1556 dnl Libnotify notification plugin
1559 AC_ARG_ENABLE(notify,
1560 [ --enable-notify libnotify notification plugin (default enabled)])
1561 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1562 PKG_CHECK_MODULES(NOTIFY, libnotify,
1564 VLC_ADD_PLUGINS([notify])
1565 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1566 VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1568 AS_IF([test "${enable_notify}" = "yes"],[
1569 AC_MSG_WARN( libnotify not found) ])
1574 dnl Audioscrobbler plugin
1577 AC_ARG_ENABLE(audioscrobbler,
1578 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1579 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1580 VLC_ADD_PLUGINS([audioscrobbler])
1584 dnl Musicbrainz plugin
1586 AC_ARG_ENABLE(musicbrainz,
1587 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1588 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1589 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1590 [ VLC_ADD_PLUGINS([musicbrainz])
1591 VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS])
1592 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1593 [AC_MSG_WARN(MusicBrainz library not found)])
1600 AC_ARG_ENABLE(taglib,
1601 [ --enable-taglib Taglib support (default disabled) ])
1602 AS_IF([test "${enable_taglib}" = "yes"],[
1603 PKG_CHECK_MODULES(TAGLIB, taglib,
1604 [ VLC_ADD_PLUGINS([taglib])
1605 VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS])
1606 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1607 [AC_MSG_WARN(TagLib library not found)])
1615 AC_ARG_WITH(,[Input plugins:])
1619 if test "${enable_livedotcom}"
1621 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1624 if test "${enable_livedotcom}" = "no"
1628 AC_ARG_ENABLE(live555,
1629 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1630 if test "${enable_live555}" != "no"; then
1631 AC_ARG_WITH(live555-tree,
1632 [ --with-live555-tree=PATH live.com tree for static linking])
1635 dnl test for --with-live555-tree
1637 if test "${with_livedotcom_tree}"
1639 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1640 with_live555_tree="${with_livedotcom_tree}"
1643 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1645 CPPFLAGS_save="${CPPFLAGS}"
1646 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1647 if test "${SYS}" = "solaris"; then
1648 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1650 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1651 AC_CHECK_HEADERS(liveMedia.hh, [
1652 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1653 AC_CHECK_LIB(liveMedia_pic, main, [
1654 # We have -lliveMedia_pic, build plugins
1655 VLC_ADD_PLUGINS([live555])
1656 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1658 AC_CHECK_LIB(liveMedia, main, [
1659 # We only have -lliveMedia, do builtins
1660 VLC_ADD_BUILTINS([live555])
1661 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1664 if test "${SYS}" = "mingw32"; then
1665 # add ws2_32 for closesocket, select, recv
1666 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1669 CPPFLAGS="${CPPFLAGS_save}"
1672 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1673 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1674 if test -z "${real_live555_tree}"; then
1675 dnl The given directory can't be found
1677 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1679 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1680 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1682 VLC_ADD_BUILTINS([live555])
1684 if test "${SYS}" = "mingw32"; then
1685 # add ws2_32 for closesocket, select, recv
1686 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1689 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1690 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1691 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1692 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1694 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1695 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1696 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1697 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1698 if test "${SYS}" = "solaris"; then
1699 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1702 dnl The given live555 wasn't built
1704 if test "${enable_live555}" = "yes"; then
1705 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1712 dnl special access module for dc1394 input
1714 AC_ARG_ENABLE(dc1394,
1715 [ --enable-dc1394 dc1394 access module (default disabled)])
1716 if test "${enable_dc1394}" = "yes"
1718 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1719 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1720 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1721 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1722 VLC_ADD_PLUGINS([dc1394])
1723 VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394])
1726 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1730 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1734 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1738 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1743 dnl dv module: digital video module check for libraw1394
1746 [ --enable-dv dv input module (default disabled)])
1747 if test "${enable_dv}" = "yes"
1749 AC_ARG_WITH(dv-raw1394,
1750 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1751 AC_ARG_WITH(dv-raw1394-tree,
1752 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1754 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1756 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1757 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1759 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1761 VLC_ADD_PLUGINS([access_dv])
1762 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1763 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1765 dnl No libraw1394 could be found, sorry
1767 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1770 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1771 [ VLC_ADD_PLUGINS([access_dv])
1772 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1774 if test -n "${enable_dv}"
1776 AC_MSG_ERROR([cannot find libraw1394 headers])
1781 dnl Check for static linking of libraw1394
1782 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1784 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1785 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1786 if test -z "${real_dv_raw1394_tree}"
1788 dnl The given directory can't be found
1790 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1792 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1794 dnl Use a custom libraw1394
1795 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1796 VLC_ADD_BUILTINS([access_dv])
1797 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1798 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1800 dnl The given libraw1394 wasn't built
1802 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1807 dnl Check for libavc1394
1810 AC_ARG_WITH(dv-avc1394,
1811 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1812 AC_ARG_WITH(dv-avc1394-tree,
1813 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1815 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1817 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1818 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1820 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1822 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1823 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1825 dnl No libavc1394 could be found, sorry
1827 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1830 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1831 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1833 if test -n "${enable_dv}"
1835 AC_MSG_ERROR([cannot find libavc1394 headers])
1840 dnl Check for static linking of libavc1394
1841 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1843 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1844 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1845 if test -z "${real_dv_avc1394_tree}"
1847 dnl The given directory can't be found
1849 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1851 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1853 dnl Use a custom libavc1394
1854 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1855 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1856 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1858 dnl The given libavc1394 wasn't built
1860 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1866 dnl dvdread module: check for libdvdread
1868 AC_ARG_ENABLE(dvdread,
1869 [ --enable-dvdread dvdread input module (default disabled)])
1870 if test "${enable_dvdread}" != "no"
1872 AC_ARG_WITH(dvdread,
1873 [ --with-dvdread=PATH libdvdread headers and libraries])
1874 AC_ARG_WITH(dvdread-tree,
1875 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1877 dnl Temporary hack (yeah, sure ;)
1878 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1879 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1882 if test -z "${with_dvdread}"
1884 if test -z "${with_dvdread_tree}"
1886 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1887 [ VLC_ADD_PLUGINS([dvdread])
1888 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1890 if test -n "${enable_dvdread}"
1892 AC_MSG_ERROR([cannot find libdvdread headers])
1896 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1897 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1898 if test -z "${real_dvdread_tree}"
1900 dnl The given directory can't be found
1902 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1904 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1906 dnl Use a custom libdvdread
1907 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1908 VLC_ADD_BUILTINS([dvdread])
1909 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1910 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1912 dnl The given libdvdread wasn't built
1914 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1918 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1919 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1921 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1923 VLC_ADD_PLUGINS([dvdread])
1924 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1925 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1927 dnl No libdvdread could be found, sorry
1929 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1935 dnl libdvdnav plugin
1937 AC_ARG_ENABLE(dvdnav,
1938 [ --enable-dvdnav dvdnav input module (default enabled)])
1939 if test "${enable_dvdnav}" != "no"
1941 dnl Same hack than dvdread
1942 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1943 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1946 DVDNAV_PATH="${PATH}"
1947 AC_ARG_WITH(dvdnav-config-path,
1948 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1949 [ if test "${with_dvdnav_config_path}" != "no"
1951 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1953 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1954 if test "${DVDNAV_CONFIG}" != "no"
1956 VLC_ADD_PLUGINS([dvdnav])
1957 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1958 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1963 dnl Windows DirectShow access module
1965 AC_ARG_ENABLE(dshow,
1966 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1967 if test "${enable_dshow}" != "no"
1969 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1972 AC_CHECK_HEADERS(dshow.h,
1973 [ VLC_ADD_PLUGINS([dshow])
1974 VLC_ADD_CXXFLAGS([dshow],[])
1975 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1982 dnl OpenCV wrapper and example filters
1984 AC_ARG_ENABLE(opencv,
1985 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
1986 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
1988 AC_ARG_WITH(opencv-tree,
1989 [ --with-opencv-tree=PATH opencv tree for linking])
1990 if test -n "${with_opencv_tree}"
1992 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1994 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
1995 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
1996 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
1999 VLC_ADD_PLUGINS([opencv_wrapper])
2000 VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2001 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])
2003 VLC_ADD_PLUGINS([opencv_example])
2004 VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2005 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])
2008 dnl No opencv could be found, sorry
2010 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2013 AC_MSG_WARN([--enable-opencv currently only works on windows])
2020 dnl libsmbclient plugin
2023 [ --enable-smb smb input module (default enabled)])
2024 if test "${enable_smb}" != "no"; then
2025 AC_CHECK_HEADERS(libsmbclient.h,
2026 [ VLC_ADD_PLUGINS([access_smb])
2027 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
2028 [ if test -n "${enable_smb}"; then
2029 AC_MSG_ERROR([cannot find libsmbclient headers])
2031 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2032 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2033 [#include <libsmbclient.h>])
2037 dnl libdvbpsi ts demux/mux
2039 AC_ARG_ENABLE(dvbpsi,
2040 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2041 if test "${enable_dvbpsi}" != "no"
2044 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2046 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2047 case "${with_dvbpsi}" in
2049 if test -z "${with_dvbpsi_tree}"
2051 AC_CHECK_HEADERS(dvbpsi/dr.h,
2052 [ VLC_ADD_PLUGINS([ts])
2053 if test "${enable_sout}" != "no"; then
2054 VLC_ADD_PLUGINS([mux_ts])
2056 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
2057 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2058 [#if defined( HAVE_STDINT_H )
2059 # include <stdint.h>
2060 #elif defined( HAVE_INTTYPES_H )
2061 # include <inttypes.h>
2063 #include <dvbpsi/dvbpsi.h>
2064 #include <dvbpsi/descriptor.h>
2065 #include <dvbpsi/pat.h>
2066 #include <dvbpsi/pmt.h>])
2068 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2069 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2070 if test -z "${real_dvbpsi_tree}"
2072 dnl The given directory can't be found
2074 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2076 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2078 dnl Use a custom libdvbpsi
2079 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2080 VLC_ADD_BUILTINS([ts])
2081 if test "${enable_sout}" != "no"; then
2082 VLC_ADD_BUILTINS([mux_ts])
2084 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2085 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2087 dnl The given libdvbpsi wasn't built
2089 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2094 dnl Compile without dvbpsi
2097 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2098 if test -z "${with_dvbpsi}"
2103 LDFLAGS_test="-L${with_dvbpsi}/lib"
2104 CPPFLAGS_test="-I${with_dvbpsi}/include"
2106 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2107 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2108 VLC_ADD_PLUGINS([ts])
2109 if test "${enable_sout}" != "no"; then
2110 VLC_ADD_PLUGINS([mux_ts])
2112 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2113 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2116 if test -n "${enable_dvbpsi}"
2118 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])
2121 CPPFLAGS="${CPPFLAGS_save}"
2124 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2125 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2126 ], [], [${LDFLAGS_ts}])
2131 dnl Video4Linux plugin
2134 [ --enable-v4l Video4Linux input support (default disabled)])
2135 if test "${enable_v4l}" = "yes"
2138 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2139 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2141 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2144 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2145 AC_CHECK_HEADERS(linux/videodev.h, [
2146 VLC_ADD_PLUGINS([v4l])
2148 CPPFLAGS="${CPPFLAGS_save}"
2152 dnl Video4Linux plugin
2155 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2156 if test "${enable_v4l2}" = "yes"
2159 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2160 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2162 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2165 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2166 AC_CHECK_HEADERS(linux/videodev2.h, [
2167 VLC_ADD_PLUGINS([v4l2])
2169 CPPFLAGS="${CPPFLAGS_save}"
2174 dnl special access module for Hauppauge PVR cards
2177 [ --enable-pvr PVR cards access module (default disabled)])
2178 if test "${enable_pvr}" = "yes"
2180 VLC_ADD_PLUGINS([pvr])
2184 dnl gnomeVFS access module
2186 AC_ARG_ENABLE(gnomevfs,
2187 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2188 if test "${enable_gnomevfs}" = "yes"
2190 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2191 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2192 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2193 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2194 VLC_ADD_PLUGINS([access_gnomevfs]),
2195 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2198 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2199 AC_ARG_ENABLE(libcdio,
2200 [ --enable-libcdio CD input and control library support (default enabled)])
2205 if test "${enable_libcdio}" != "no"
2207 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2209 AC_DEFINE(HAVE_LIBCDIO, [],
2210 [Define if you have libcdio 0.78.2 or greater installed]),
2211 [AC_MSG_WARN(CD Reading and information library not found)])
2213 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2214 [have_libvcdinfo=yes
2215 AC_DEFINE(HAVE_VCDINFO, [],
2216 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2217 [AC_MSG_WARN(VCD information library not found)])
2221 dnl VCDX and CDDAX modules
2223 AC_ARG_ENABLE(cddax,
2224 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2226 AC_ARG_ENABLE(libcddb,
2227 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2229 if test "${enable_cddax}" = "yes"
2231 if test "$have_libcdio" = "yes"
2233 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2234 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2235 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2236 VLC_ADD_PLUGINS([cddax])
2237 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2238 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2239 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2241 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2245 if test "$enable_libcddb" != "no"; then
2246 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2248 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2249 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2250 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2252 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2259 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2261 if test "${enable_vcdx}" = "yes"
2263 if test "${have_libvcdinfo}" = "yes"
2265 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2266 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2268 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2272 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2273 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2274 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2275 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2278 if test "$have_libvcdinfo" = "yes"
2280 AC_DEFINE(HAVE_VCDX, [],
2281 [Define for the VCD plugin using libcdio/libvcdinfo])
2282 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2283 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2284 VLC_ADD_PLUGINS([vcdx])
2286 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2292 dnl Built-in CD-DA and VCD module
2295 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2298 [ --enable-vcd built-in VCD (default enabled)])
2300 if test "${enable_vcd}" != "no"
2302 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2303 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2305 VLC_ADD_PLUGINS([vcd cdda])
2310 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2311 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2313 VLC_ADD_PLUGINS([vcd cdda])
2314 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2319 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2320 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2322 VLC_ADD_PLUGINS([vcd cdda])
2323 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2328 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2330 VLC_ADD_PLUGINS([vcd cdda])
2333 if test "${SYS}" = "darwin"
2335 VLC_ADD_PLUGINS([vcd cdda])
2336 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2337 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2340 if test "$enable_libcddb" != "no"; then
2341 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2343 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2344 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2345 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2347 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2353 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2356 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2358 if test "${enable_dvb}" = "yes"
2361 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2362 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2364 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2366 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2367 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2368 if test -z "${with_dvbpsi_tree}"
2370 VLC_ADD_PLUGINS([dvb])
2372 VLC_ADD_BUILTINS([dvb])
2374 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2375 CPPFLAGS="${CPPFLAGS_save}"
2379 dnl Screen capture module
2381 AC_ARG_ENABLE(screen,
2382 [ --enable-screen Screen capture support (default enabled)])
2383 if test "${enable_screen}" != "no"; then
2384 if test "${SYS}" = "darwin"; then
2385 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2386 VLC_ADD_PLUGINS([screen])
2387 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2389 elif test "${SYS}" = "mingw32"; then
2390 VLC_ADD_PLUGINS([screen])
2391 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2392 elif test "${SYS}" = "mingwce"; then
2393 CPPFLAGS="${CPPFLAGS_save}"
2394 elif test "${SYS}" = "beos"; then
2395 VLC_ADD_PLUGINS([screen])
2396 VLC_ADD_CXXFLAGS([screen],[])
2397 VLC_ADD_LDFLAGS([screen],[-lbe])
2399 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2400 AC_CHECK_HEADERS(X11/Xlib.h, [
2401 VLC_ADD_PLUGINS([screen])
2402 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2403 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2405 CPPFLAGS="${CPPFLAGS_save}"
2410 dnl ipv6 plugin - not for QNX yet
2413 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2414 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2417 AS_IF([test "${have_ipv6}" = "yes"], [
2418 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2421 AC_CHECK_FUNCS(inet_ntop,[
2422 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2426 dnl ogg demux plugin
2429 [ --enable-ogg Ogg demux support (default enabled)])
2430 if test "${enable_ogg}" != "no"
2432 AC_ARG_WITH(ogg-tree,
2433 [ --with-ogg-tree=PATH ogg tree for static linking])
2434 if test -n "${with_ogg_tree}"
2436 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2437 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2438 if test -z "${real_ogg_tree}"
2440 dnl The given directory can't be found
2442 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2444 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2446 dnl Use a custom ogg
2447 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2448 VLC_ADD_PLUGINS([ogg])
2449 if test "${enable_sout}" != "no"; then
2450 VLC_ADD_PLUGINS([mux_ogg])
2452 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2453 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2455 dnl The given ogg wasn't built
2457 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2460 AC_CHECK_HEADERS(ogg/ogg.h, [
2461 AC_CHECK_LIB( ogg, oggpack_read, [
2462 VLC_ADD_PLUGINS([ogg])
2463 if test "${enable_sout}" != "no"; then
2464 VLC_ADD_PLUGINS([mux_ogg])
2466 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2472 dnl matroska demux plugin
2475 [ --enable-mkv Matroska demux support (default enabled)])
2476 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2478 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2479 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2481 [#include <ebml/EbmlVersion.h>
2482 #ifdef LIBEBML_VERSION
2483 #if LIBEBML_VERSION >= 0x000706
2487 [AC_MSG_RESULT([yes])
2488 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2489 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2491 [#include <matroska/KaxVersion.h>
2492 #ifdef LIBMATROSKA_VERSION
2493 #if LIBMATROSKA_VERSION >= 0x000705
2497 [AC_MSG_RESULT([yes])
2498 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2499 VLC_ADD_CXXFLAGS([mkv],[])
2500 if test "${SYS}" = "darwin"; then
2501 VLC_ADD_CXXFLAGS([mkv],[-O1])
2503 AC_CHECK_LIB(ebml_pic, main, [
2504 VLC_ADD_PLUGINS([mkv])
2505 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic])
2507 AC_CHECK_LIB(ebml, main, [
2508 VLC_ADD_PLUGINS([mkv])
2509 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2513 [AC_MSG_RESULT([no])
2514 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.])
2518 [AC_MSG_RESULT([no])
2519 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.])
2526 dnl modplug demux plugin
2529 [ --enable-mod Mod demux support (default enabled)])
2530 if test "${enable_mod}" != "no"
2532 AC_ARG_WITH(mod-tree,
2533 [ --with-mod-tree=PATH mod tree for static linking])
2534 if test -n "${with_mod_tree}"
2536 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2537 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2538 if test -z "${real_mod_tree}"
2540 dnl The given directory can't be found
2542 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2544 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2546 dnl Use a custom mod
2547 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2548 VLC_ADD_PLUGINS([mod])
2549 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2550 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2552 dnl The given mod wasn't built
2554 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2557 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2558 VLC_ADD_PLUGINS([mod])
2559 VLC_ADD_CXXFLAGS([mod],[])
2560 VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
2565 dnl mpc demux plugin
2568 [ --enable-mpc Mpc demux support (default enabled)])
2569 if test "${enable_mpc}" != "no"
2571 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2572 VLC_ADD_PLUGINS([mpc])
2573 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2577 dnl game music emu demux plugin
2580 [ --enable-gme Game Music Emu demux support (default enabled)])
2581 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2584 AC_ARG_WITH(gme-tree,
2585 [ --with-gme-tree=PATH gme tree for static linking])
2586 if test -n "${with_gme_tree}"
2588 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2589 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2590 if test -z "${real_gme_tree}"
2592 dnl The given directory can't be found
2594 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2596 if test -f "${real_gme_tree}/gme/libgme.a"
2598 dnl Use a custom gme
2599 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2600 VLC_ADD_PLUGINS([gme])
2601 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2602 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2604 dnl The given gme wasn't built
2606 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2609 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2618 AC_ARG_WITH(,[Codec plugins:])
2624 [ --enable-mad libmad module (default enabled)])
2625 if test "${enable_mad}" != "no"
2628 [ --with-mad=PATH path to libmad],[],[])
2629 if test "${with_mad}" != "no" -a -n "${with_mad}"
2631 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2632 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2635 AC_ARG_WITH(mad-tree,
2636 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2637 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2639 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2640 if test -z "${real_mad_tree}"
2642 dnl The given directory can't be found
2644 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2646 dnl Use a custom libmad
2647 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2648 if test -f ${real_mad_tree}/mad.h
2651 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2652 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2653 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2654 AC_CHECK_LIB(mad, mad_bit_init, [
2655 VLC_ADD_BUILTINS([mpgatofixed32])
2656 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2657 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2659 LDFLAGS="${LDFLAGS_save}"
2662 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2665 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2666 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2667 AC_CHECK_HEADERS(mad.h, ,
2668 [ 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.]) ])
2669 AC_CHECK_LIB(mad, mad_bit_init, [
2670 VLC_ADD_PLUGINS([mpgatofixed32])
2671 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2672 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2673 CPPFLAGS="${CPPFLAGS_save}"
2674 LDFLAGS="${LDFLAGS_save}"
2679 dnl libid3tag support (FIXME!!! doesn't work with new input)
2681 AC_CHECK_HEADERS(id3tag.h, [
2682 AC_CHECK_HEADERS(zlib.h, [
2683 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2684 VLC_ADD_PLUGINS([id3tag])]) ])
2687 dnl ffmpeg decoder/demuxer plugin
2689 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2690 dnl 4- default place,
2692 AC_ARG_ENABLE(ffmpeg,
2693 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2694 if test "${enable_ffmpeg}" != "no"
2697 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2699 AC_ARG_WITH(ffmpeg-mp3lame,
2700 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2702 if test "$with_ffmpeg_mp3lame" = "yes"; then
2703 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2706 AC_ARG_WITH(ffmpeg-faac,
2707 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2709 if test "$with_ffmpeg_faac" = "yes"; then
2710 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2713 AC_ARG_WITH(ffmpeg-dts,
2714 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2716 if test "$with_ffmpeg_dts" = "yes"; then
2717 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2718 AC_CHECK_LIB(dts_pic, dts_free,
2719 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2720 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2721 LDFLAGS="${LDFLAGS_save}"
2724 AC_ARG_WITH(ffmpeg-vorbis,
2725 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2727 if test "$with_ffmpeg_vorbis" = "yes"; then
2728 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2731 AC_ARG_WITH(ffmpeg-theora,
2732 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2734 if test "$with_ffmpeg_theora" = "yes"; then
2735 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2738 AC_ARG_WITH(ffmpeg-ogg,
2739 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2741 if test "$with_ffmpeg_ogg" = "yes"; then
2742 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2745 AC_ARG_WITH(ffmpeg-zlib,
2746 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2748 if test "$with_ffmpeg_zlib" = "yes"; then
2749 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2753 dnl test for --with-ffmpeg-tree
2755 AC_ARG_WITH(ffmpeg-tree,
2756 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2758 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2759 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2760 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2761 if test -z "${real_ffmpeg_tree}"; then
2762 dnl The given directory can't be found
2764 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2766 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2767 dnl The given libavcodec wasn't built
2769 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2771 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2772 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2773 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2774 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2775 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2776 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2778 dnl The given libavcodec wasn't built with --enable-pp
2780 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2783 dnl Use a custom libffmpeg
2784 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2786 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2787 if test "${with_ffmpeg_zlib}" != "yes"; then
2788 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2791 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2792 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2793 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2796 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2797 if test "${with_ffmpeg_faac}" != "yes"; then
2798 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2801 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2802 if test "${with_ffmpeg_dts}" != "yes"; then
2803 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2804 AC_CHECK_LIB(dts_pic, dts_free,
2805 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2806 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2807 LDFLAGS="${LDFLAGS_save}"
2810 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2811 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2813 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2814 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2816 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2817 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2820 VLC_ADD_BUILTINS([ffmpeg])
2821 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
2822 VLC_ADD_BUILTINS([stream_out_switcher])
2825 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2826 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2827 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2830 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2831 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2833 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2834 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2835 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2836 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2839 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
2840 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
2841 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
2842 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
2846 dnl Look for a ffmpeg-config (we are on debian )
2848 FFMPEG_PATH="${PATH}"
2849 AC_ARG_WITH(ffmpeg-config-path,
2850 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2851 [ if test "${with_ffmpeg_config_path}" != "no"
2853 FFMPEG_PATH="${with_ffmpeg_config_path}"
2855 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2856 if test "${FFMPEG_CONFIG}" != "no"
2858 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2859 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2860 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2861 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2862 VLC_ADD_PLUGINS([ffmpeg])
2863 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2864 VLC_ADD_PLUGINS([stream_out_switcher])
2866 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2867 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2871 dnl Trying with pkg-config
2872 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2875 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
2876 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
2877 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2878 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2879 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2880 dnl newer ffmpeg have a separate libpostproc
2881 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2882 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
2883 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2885 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2886 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2887 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2888 if test "${SYS}" = "darwin"; then
2889 VLC_ADD_BUILTINS([ffmpeg])
2891 VLC_ADD_PLUGINS([ffmpeg])
2893 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2894 if test "${SYS}" = "darwin"; then
2895 VLC_ADD_BUILTINS([stream_out_switcher])
2897 VLC_ADD_PLUGINS([stream_out_switcher])
2900 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2901 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
2902 dnl even newer ffmpeg has a libswscale
2903 PKG_CHECK_MODULES(SWSCALE, libswscale,[
2904 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
2905 VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}])
2906 AC_CHECK_HEADERS(ffmpeg/swscale.h)
2912 dnl last chance: at the default place
2914 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2915 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2916 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2917 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2918 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2919 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2921 AC_CHECK_LIB(avutil, av_crc_init, [
2922 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2923 LDAVUTIL="-lavutil"])
2925 AC_CHECK_LIB(avcodec, avcodec_init, [
2926 VLC_ADD_BUILTINS([ffmpeg])
2927 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2928 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2929 VLC_ADD_BUILTINS([stream_out_switcher])
2931 [ 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])
2934 AC_CHECK_LIB(postproc, pp_postprocess, [
2935 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
2936 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
2939 AC_CHECK_LIB(avformat, av_open_input_stream, [
2940 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2941 LDFLAGS="${LDFLAGS_save}"
2942 CPPFLAGS="${CPPFLAGS_save}"
2944 AC_CHECK_LIB(swscale, sws_getContext, [
2945 AC_CHECK_HEADERS(ffmpeg/swscale.h)
2946 VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
2947 LDFLAGS="${LDFLAGS_save}"
2948 CPPFLAGS="${CPPFLAGS_save}"
2955 dnl ffmpegaltivec plugin
2957 AC_ARG_ENABLE(ffmpegaltivec,
2958 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2959 if test "${enable_ffmpegaltivec}" = "yes"
2961 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2962 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2963 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2964 if test -z "${real_ffmpeg_tree}"; then
2965 dnl The given directory can't be found
2967 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2969 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2970 dnl The given libavcodecaltivec wasn't built
2972 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2974 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2975 dnl The given libavcodecaltivec wasn't built with --enable-pp
2977 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2979 dnl Use a custom libffmpeg
2980 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2981 VLC_ADD_BUILTINS([ffmpegaltivec])
2982 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2983 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2984 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2986 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2987 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2988 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2989 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2991 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2992 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2997 dnl faad decoder plugin
3000 [ --enable-faad faad codec (default disabled)])
3001 if test "${enable_faad}" = "yes"
3003 AC_ARG_WITH(faad-tree,
3004 [ --with-faad-tree=PATH faad tree for static linking])
3005 if test -n "${with_faad_tree}"
3007 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3008 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3009 if test -z "${real_faad_tree}"
3011 dnl The given directory can't be found
3013 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3015 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3017 dnl Use a custom faad
3018 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3019 VLC_ADD_BUILTINS([faad])
3020 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3021 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3023 dnl The given libfaad wasn't built
3025 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3028 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3029 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3030 AC_CHECK_HEADERS(faad.h, ,
3031 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3032 AC_CHECK_LIB(faad, faacDecOpen, [
3033 VLC_ADD_PLUGINS([faad])
3034 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3035 AC_CHECK_LIB(faad, NeAACDecOpen, [
3036 VLC_ADD_PLUGINS([faad])
3037 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3038 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3039 LDFLAGS="${LDFLAGS_save}"
3040 CPPFLAGS="${CPPFLAGS_save}"
3045 dnl twolame encoder plugin
3047 AC_ARG_ENABLE(twolame,
3048 [ --enable-twolame twolame codec (default disabled)])
3049 if test "${enable_twolame}" = "yes"
3051 AC_ARG_WITH(twolame-tree,
3052 [ --with-twolame-tree=PATH twolame tree for static linking])
3053 if test -n "${with_twolame_tree}"
3055 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3056 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3057 if test -z "${real_twolame_tree}"
3059 dnl The given directory can't be found
3061 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3063 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3065 dnl Use a custom twolame
3066 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3067 VLC_ADD_BUILTINS([twolame])
3068 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3069 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3071 dnl The given libtwolame wasn't built
3073 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3076 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3077 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3078 AC_CHECK_HEADERS(twolame.h, ,
3079 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3080 AC_CHECK_LIB(twolame, twolame_init, [
3081 VLC_ADD_PLUGINS([twolame])
3082 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3083 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
3084 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3085 LDFLAGS="${LDFLAGS_save}"
3086 CPPFLAGS="${CPPFLAGS_save}"
3091 dnl QuickTime plugin
3093 AC_ARG_ENABLE(quicktime,
3094 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3095 if test "${enable_quicktime}" != "no" &&
3096 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3098 if test "${SYS}" = "mingw32"; then
3099 VLC_ADD_BUILTINS([quicktime])
3101 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3102 [ VLC_ADD_BUILTINS([quicktime])
3103 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
3104 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3112 [ --enable-real Real audio module (default disabled)])
3113 if test "${enable_real}" = "yes"; then
3114 VLC_ADD_PLUGINS([realaudio])
3118 dnl Real RTSP plugin
3120 AC_ARG_ENABLE(realrtsp,
3121 [ --enable-realrtsp Real RTSP module (default disabled)])
3122 if test "${enable_realrtsp}" = "yes"; then
3123 VLC_ADD_PLUGINS([access_realrtsp])
3129 AC_CHECK_HEADERS(zlib.h, [
3130 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
3133 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3134 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
3140 AC_ARG_ENABLE(libtar,
3141 [ --enable libtar support for skins2 (default enabled)])
3143 AS_IF([test "${enable_libtar}" != "no"],[
3144 AC_CHECK_HEADERS(libtar.h, [
3145 VLC_ADD_LDFLAGS([skins2],[-ltar])
3151 dnl A52/AC3 decoder plugin
3154 [ --enable-a52 A/52 support with liba52 (default enabled)])
3155 if test "${enable_a52}" != "no"
3158 [ --with-a52=PATH a52 headers and libraries])
3159 AC_ARG_WITH(a52-tree,
3160 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3161 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3163 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3164 if test -z "${real_a52_tree}"
3166 dnl The given directory can't be found
3168 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3170 dnl Use a custom a52dec
3171 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3172 if test -f ${real_a52_tree}/include/a52.h
3175 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3176 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3177 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
3178 AC_CHECK_LIB(a52, a52_free, [
3179 VLC_ADD_BUILTINS([a52tofloat32])
3180 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3181 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3183 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3185 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3187 AC_MSG_ERROR([the specified tree hasn't been compiled])
3190 LDFLAGS="${LDFLAGS_save}"
3193 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3196 if test -z "${with_a52}"
3201 LDFLAGS_test="-L${with_a52}/lib"
3202 CPPFLAGS_test="-I${with_a52}/include"
3204 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3205 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3206 AC_CHECK_HEADERS(a52dec/a52.h, [
3207 AC_CHECK_LIB(a52, a52_free, [
3208 VLC_ADD_PLUGINS([a52tofloat32])
3209 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3210 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3212 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.])
3215 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.])
3217 CPPFLAGS="${CPPFLAGS_save}"
3218 LDFLAGS="${LDFLAGS_save}"
3222 AC_ARG_WITH(a52-fixed,
3223 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3225 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3228 dnl DTS Coherent Acoustics decoder plugin
3231 [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)])
3232 if test "${enable_dts}" != "no"; then
3233 AC_ARG_WITH(dts-tree,
3234 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
3235 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
3237 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
3238 if test -z "${real_dts_tree}"
3240 dnl The given directory can't be found
3242 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
3244 dnl Use a custom libdts
3245 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
3246 if test -f ${real_dts_tree}/include/dts.h
3249 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
3250 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
3251 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3252 AC_CHECK_LIB(dts_pic, dts_free, [
3253 VLC_ADD_PLUGINS([dtstofloat32])
3254 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
3256 AC_CHECK_LIB(dts, dts_free, [
3257 VLC_ADD_BUILTINS([dtstofloat32])
3258 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3260 if test -f ${real_dts_tree}/libdts/libdts.a
3262 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
3264 AC_MSG_ERROR([the specified tree hasn't been compiled])
3268 LDFLAGS="${LDFLAGS_save}"
3271 AC_MSG_ERROR([the specified tree doesn't have dts.h])
3274 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3275 AC_CHECK_HEADERS(dts.h, [
3276 AC_CHECK_LIB(dts_pic, dts_free, [
3277 VLC_ADD_PLUGINS([dtstofloat32])
3278 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
3280 AC_CHECK_LIB(dts, dts_free, [
3281 VLC_ADD_BUILTINS([dtstofloat32])
3282 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3284 if test "${enable_dts}" = "yes"; then
3285 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
3290 LDFLAGS="${LDFLAGS_save}"
3298 [ --enable-flac libflac decoder/encoder support (default disabled)])
3299 if test "${enable_flac}" = "yes"
3301 AC_ARG_WITH(flac-tree,
3302 [ --with-flac-tree=PATH flac tree for static linking])
3303 if test -n "${with_flac_tree}"
3305 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3306 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3307 if test -z "${real_flac_tree}"
3309 dnl The given directory can't be found
3311 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3313 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3315 dnl Use a custom flac
3316 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3317 VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3318 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3319 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3321 dnl The given flac wasn't built
3323 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3326 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3327 VLC_ADD_LDFLAGS([flac],[-lFLAC])
3335 AC_ARG_ENABLE(libmpeg2,
3336 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3337 if test "${enable_libmpeg2}" != "no"
3339 AC_ARG_WITH(libmpeg2-tree,
3340 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3341 if test -n "${with_libmpeg2_tree}"
3343 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3344 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3345 if test -z "${real_libmpeg2_tree}"
3347 dnl The given directory can't be found
3349 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3351 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3353 dnl Use a custom libmpeg2
3354 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3355 VLC_ADD_BUILTINS([libmpeg2])
3356 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3357 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3358 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3360 dnl The given libmpeg2 wasn't built
3362 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3365 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3366 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3368 [#include <mpeg2dec/mpeg2.h>
3369 #ifdef MPEG2_RELEASE
3370 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3374 [AC_MSG_RESULT([yes])
3375 VLC_ADD_PLUGINS([libmpeg2])
3376 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3377 [AC_MSG_RESULT([no])
3378 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.])])],
3380 [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.])]
3388 AC_ARG_ENABLE(vorbis,
3389 [ --enable-vorbis Vorbis decoder support (default enabled)])
3390 if test "${enable_vorbis}" != "no"
3392 AC_ARG_WITH(vorbis-tree,
3393 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3394 if test -n "${with_vorbis_tree}"
3396 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3397 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3398 if test -z "${real_vorbis_tree}"
3400 dnl The given directory can't be found
3402 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3404 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3406 dnl Use a custom vorbis
3407 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3408 VLC_ADD_PLUGINS([vorbis])
3409 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3410 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3412 dnl The given vorbis wasn't built
3414 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3417 AC_CHECK_HEADERS(vorbis/codec.h, [
3418 VLC_ADD_PLUGINS([vorbis])
3419 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
3421 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3422 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
3429 AC_ARG_ENABLE(tremor,
3430 [ --enable-tremor Tremor decoder support (default disabled)])
3431 if test "${enable_tremor}" = "yes"
3433 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3434 VLC_ADD_PLUGINS([tremor])
3435 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3442 AC_ARG_ENABLE(speex,
3443 [ --enable-speex Speex decoder support (default enabled)])
3444 if test "${enable_speex}" != "no"
3446 AC_ARG_WITH(speex-tree,
3447 [ --with-speex-tree=PATH speex tree for static linking])
3448 if test -n "${with_speex_tree}"
3450 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3451 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3452 if test -z "${real_speex_tree}"
3454 dnl The given directory can't be found
3456 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3458 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3460 dnl Use a custom speex
3461 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3462 VLC_ADD_PLUGINS([speex])
3463 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3464 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3466 dnl The given speex wasn't built
3468 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3471 AC_CHECK_HEADERS(speex/speex.h, [
3472 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3473 AC_CHECK_LIB(speex, speex_decode_int, [
3474 VLC_ADD_PLUGINS([speex])
3475 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3476 [ AC_MSG_RESULT([no])
3477 AC_MSG_WARN([Your libspeex is too old, please get the development
3479 LDFLAGS="${LDFLAGS_save}"
3485 dnl tarkin decoder plugin
3487 AC_ARG_ENABLE(tarkin,
3488 [ --enable-tarkin experimental tarkin codec (default disabled)])
3489 if test "${enable_tarkin}" = "yes"
3491 AC_ARG_WITH(tarkin-tree,
3492 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3493 if test -n "${with_tarkin_tree}"
3495 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3496 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3497 if test -f "${real_tarkin_tree}/tarkin.o"
3499 VLC_ADD_BUILTINS([tarkin])
3500 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3501 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])
3504 dnl The given tarkin tree wasn't built
3506 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3507 make sure you compiled tarkin in ${with_tarkin_tree}])
3513 dnl theora decoder plugin
3515 AC_ARG_ENABLE(theora,
3516 [ --enable-theora experimental theora codec (default disabled)])
3517 if test "${enable_theora}" = "yes"
3519 AC_CHECK_HEADERS(theora/theora.h, [
3520 AC_CHECK_LIB(theora, theora_granule_time, [
3521 VLC_ADD_PLUGINS([theora])
3522 theora_libs="-ltheora -logg"
3523 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3524 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3525 You also need to check that you have a libogg posterior to the 1.0 release.])],
3531 dnl dirac decoder plugin
3533 AC_ARG_ENABLE(dirac,
3534 [ --enable-dirac experimental dirac codec (default disabled)])
3535 if test "${enable_dirac}" = "yes"; then
3536 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [
3537 VLC_ADD_PLUGINS([dirac])
3538 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3539 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3540 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3545 dnl PNG decoder module
3548 [ --enable-png PNG support (default enabled)])
3549 if test "${enable_png}" != "no"; then
3550 AC_CHECK_HEADERS(png.h, [
3551 LDFLAGS="${LDFLAGS_save} -lz"
3552 AC_CHECK_LIB(png, png_set_rows, [
3553 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3554 VLC_ADD_PLUGINS([png])
3555 VLC_ADD_PLUGINS([osdmenu])
3556 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3558 LDFLAGS="${LDFLAGS_save}"
3563 dnl H264 encoder plugin (using libx264)
3566 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3567 if test "${enable_x264}" != "no"; then
3568 AC_ARG_WITH(x264-tree,
3569 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3570 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3572 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3573 if test -z "${real_x264_tree}"
3575 dnl The given directory can't be found
3577 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3579 dnl Use a custom libx264
3580 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3581 if test -f ${real_x264_tree}/x264.h
3584 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3585 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3586 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3587 AC_CHECK_LIB(x264, x264_encoder_open, [
3588 VLC_ADD_BUILTINS([x264])
3589 VLC_ADD_LDFLAGS([x264],[-lx264])
3591 AC_MSG_ERROR([the specified tree hasn't been compiled])
3593 LDFLAGS="${LDFLAGS_save}"
3596 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3599 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3600 AC_CHECK_HEADERS(x264.h, [
3601 AC_CHECK_LIB(x264, x264_encoder_open, [
3602 VLC_ADD_PLUGINS([x264])
3603 VLC_ADD_LDFLAGS([x264],[-lx264])
3605 if test "${enable_x264}" = "yes"; then
3606 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3610 LDFLAGS="${LDFLAGS_save}"
3618 [ --enable-cmml CMML support (default enabled)])
3619 if test "${enable_cmml}" != "no"
3621 VLC_ADD_PLUGINS([cmml])
3629 AC_ARG_WITH(,[Video plugins:])
3632 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3633 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3634 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3635 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3636 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3638 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3639 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3644 #include <X11/Xlib.h>
3646 CPPFLAGS="${CPPFLAGS_save}"
3651 dnl (enabled by default except on win32)
3654 [ --enable-x11 X11 support (default enabled)])
3655 if test "${enable_x11}" != "no" &&
3656 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3657 test "${enable_x11}" = "yes"); then
3658 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3659 AC_CHECK_HEADERS(X11/Xlib.h, [
3660 VLC_ADD_PLUGINS([panoramix])
3661 VLC_ADD_LDFLAGS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3662 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3663 AC_CHECK_LIB(Xext, XShmAttach, [
3664 VLC_ADD_PLUGINS([x11])
3665 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3666 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3669 CPPFLAGS="${CPPFLAGS_save}"
3674 dnl (enabled by default except on win32)
3676 AC_ARG_ENABLE(xvideo,
3677 [ --enable-xvideo XVideo support (default enabled)])
3678 if test "${enable_xvideo}" != "no" &&
3679 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3680 test "${enable_xvideo}" = "yes"); then
3681 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3682 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3683 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3684 AC_CHECK_LIB(Xv,XvPutImage,[
3685 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3686 # test for libXv_pic.
3687 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3688 VLC_ADD_PLUGINS([xvideo])
3689 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3690 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3692 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3693 VLC_ADD_PLUGINS([xvideo])
3694 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3695 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3697 VLC_ADD_BUILTINS([xvideo])
3698 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3699 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3703 CFLAGS="${CFLAGS_save}"
3705 CPPFLAGS="${CPPFLAGS_save}")
3710 dnl (enabled by default except on win32)
3713 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3714 if test "${enable_glx}" != "no" &&
3715 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3716 test "${enable_glx}" = "yes"); then
3717 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3718 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3719 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3720 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3724 VLC_ADD_PLUGINS([glx])
3725 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3726 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3727 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3728 CPPFLAGS="${CPPFLAGS_save}"
3733 dnl (enabled by default except on win32)
3736 [ --enable-xvmc XVMC support (default disabled)])
3737 if test "${enable_xvmc}" = "yes" &&
3738 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3739 test "${enable_xvmc}" = "yes"); then
3740 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3741 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3742 VLC_ADD_PLUGINS([xvmc])
3743 VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3744 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3746 CPPFLAGS="${CPPFLAGS_save}"
3750 dnl Check for the Xinerama extension
3752 AC_ARG_ENABLE(xinerama,
3753 [ --enable-xinerama Xinerama support (default enabled)])
3754 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3755 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3756 test "${enable_xvideo}" = "yes"); then
3757 ac_cv_have_xinerama="no"
3758 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3759 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3760 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3761 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3762 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3763 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3764 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3765 ac_cv_have_xinerama="yes"
3767 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3768 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3769 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3770 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3771 ac_cv_have_xinerama="yes"
3775 if test "${ac_cv_have_xinerama}" = "yes"; then
3776 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3778 CFLAGS="${CFLAGS_save}"
3779 CPPFLAGS="${CPPFLAGS_save}"
3782 dnl Check for XF86VidMode extension
3784 ac_cv_have_xf86vidmode="no"
3785 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3786 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3787 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3788 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3789 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3790 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3791 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3792 ac_cv_have_xf86vidmode="yes"
3794 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3795 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3796 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3797 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3798 ac_cv_have_xf86vidmode="yes"
3802 [#ifdef HAVE_X11_XLIB_H
3803 # include <X11/Xlib.h>
3806 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3807 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3809 CFLAGS="${CFLAGS_save}"
3810 CPPFLAGS="${CPPFLAGS_save}"
3816 dnl (enabled by default except on beos)
3818 AC_ARG_ENABLE(opengl,
3819 [ --enable-opengl OpenGL support (default enabled)])
3820 if test "${enable_opengl}" != "no" &&
3821 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3822 if test "${SYS}" != "darwin"; then
3823 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3824 VLC_ADD_PLUGINS([opengl])
3825 if test "${SYS}" != "mingw32"; then
3826 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3828 VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
3832 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3833 VLC_ADD_PLUGINS([opengl])
3834 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3842 [ --enable-sdl SDL support (default enabled)])
3843 AC_ARG_ENABLE(sdl-image,
3844 [ --enable-sdl-image SDL image support (default enabled)])
3845 if test "${enable_sdl}" != "no"
3848 AC_ARG_WITH(sdl-config-path,
3849 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3850 [ if test "${with_sdl_config_path}" != "no"
3852 SDL_PATH="${with_sdl_config_path}:${PATH}"
3854 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3855 SDL_CONFIG="${SDL12_CONFIG}"
3856 SDL_HEADER="SDL12/SDL.h"
3857 SDL_IMAGE="SDL12/SDL_image.h"
3858 if test "${SDL_CONFIG}" = "no"
3860 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3861 SDL_CONFIG=${SDL11_CONFIG}
3862 SDL_HEADER="SDL11/SDL.h"
3863 SDL_IMAGE="SDL11/SDL_image.h"
3865 if test "${SDL_CONFIG}" = "no"
3867 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3868 SDL_HEADER="SDL/SDL.h"
3869 SDL_IMAGE="SDL/SDL_image.h"
3871 # check for cross-compiling
3873 AC_ARG_WITH(sdl-prefix,
3874 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3876 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3877 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3879 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3881 if test "${SDL_CONFIG}" != "no"
3883 # SDL on Darwin is heavily patched and can only run SDL_image
3884 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3885 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3887 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3888 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3889 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3890 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3891 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3892 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3893 As a last resort we also test for SDL.h presence),
3894 [ AC_MSG_ERROR([The development package for SDL is not installed.
3895 Please install it and try again. Alternatively you can also configure with
3898 AS_IF([ test "${enable_sdl_image}" != "no"],[
3899 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3900 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3901 VLC_ADD_PLUGINS([sdl_image])
3902 AC_CHECK_LIB(png, png_set_rows,
3903 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3904 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3905 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3906 AC_CHECK_LIB(tiff, TIFFClientOpen,
3907 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3908 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3909 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3910 As a last resort we also test for SDL_image.h presence),
3911 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3912 You should install it alongside your SDL package.])
3915 CPPFLAGS="${CPPFLAGS_save}"
3916 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3918 AC_MSG_ERROR([The development package for SDL is not installed.
3919 Please install it and try again. Alternatively you can also configure with
3923 elif test "${enable_sdl}" = "yes"
3925 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3926 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3934 AC_ARG_ENABLE(freetype,
3935 [ --enable-freetype freetype support (default enabled)])
3936 AC_ARG_ENABLE(fribidi,
3937 [ --enable-fribidi fribidi support (default enabled)])
3938 if test "${enable_freetype}" != "no"
3940 FREETYPE_PATH="${PATH}"
3941 AC_ARG_WITH(freetype-config-path,
3942 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3943 [ if test "${with_freetype_config_path}" != "no"
3945 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3947 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3949 if test "${FREETYPE_CONFIG}" != "no"
3951 VLC_ADD_PLUGINS([freetype])
3952 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3953 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3954 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3955 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
3956 VLC_ADD_LDFLAGS([freetype],[-lfontconfig])])
3957 AC_CHECK_HEADERS(Carbon/Carbon.h,
3958 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3959 elif test "${enable_freetype}" = "yes"
3961 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3962 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3967 if test "${enable_fribidi}" != "no"
3969 FRIBIDI_PATH="${PATH}"
3970 AC_ARG_WITH(fribidi-config-path,
3971 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3972 [ if test "${with_fribidi_config_path}" != "no"
3974 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3976 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3978 if test "${FRIBIDI_CONFIG}" != "no"
3980 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3981 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3982 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3983 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3991 AC_ARG_ENABLE(libxml2,
3992 [ --enable-libxml2 libxml2 support (default enabled)])
3993 if test "${enable_libxml2}" != "no"
3996 AC_ARG_WITH(xml2-config-path,
3997 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3998 [ if test "${with_xml2_config_path}" != "no"; then
3999 XML2_PATH="${with_xml2_config_path}:${PATH}"
4001 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4002 if test "${XML2_CONFIG}" != "no"; then
4003 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4004 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
4005 dnl depends on the xmlTextReader extension
4006 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4007 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4008 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4009 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4010 VLC_ADD_PLUGINS([xml]) ],[
4011 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4012 if test "${enable_xml2}" = "yes"; then
4013 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4016 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4017 if test "${enable_xml2}" = "yes"; then
4018 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4020 LDFLAGS="${LDFLAGS_save}"
4021 CPPFLAGS="${CPPFLAGS_save}"
4023 if test "${enable_xml2}" = "yes"; then
4024 AC_MSG_ERROR([Could not find libxml2])
4033 [ --enable-svg SVG support (default disabled)])
4034 if test "${enable_svg}" = "yes"
4036 PKG_CHECK_MODULES(SVG,
4037 librsvg-2.0 >= 2.9.0,
4039 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
4040 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4041 VLC_ADD_PLUGINS([svg]) ],
4042 [AC_MSG_WARN(SVG library not found)])
4046 dnl Snapshot vout module (with cache)
4048 AC_ARG_ENABLE(snapshot,
4049 [ --enable-snapshot snapshot module (default disabled)])
4050 if test "${enable_snapshot}" = "yes"
4052 VLC_ADD_PLUGINS([snapshot])
4056 dnl Qt Embedded module
4057 dnl (disabled by default)
4060 [ --enable-qte QT Embedded support (default disabled)])
4061 if test "${enable_qte}" = "yes"
4064 [ --with-qte=PATH Qt Embedded headers and libraries])
4065 if test "${with_qte}" != "no" -a -n "${with_qte}"
4067 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4068 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])
4070 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4071 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4073 VLC_ADD_PLUGINS([qte])
4075 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4076 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4077 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4079 CPPFLAGS="${CPPFLAGS_save}"
4083 dnl Qt Video output module
4084 dnl (disabled by default)
4086 dnl AC_ARG_ENABLE(qt_video,
4087 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4088 dnl if test "${enable_qt_video}" = "yes"
4090 dnl VLC_ADD_PLUGINS([qt_video])
4091 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
4092 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4093 dnl AC_CHECK_LIB(qt-mt,main,[
4094 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
4096 dnl AC_CHECK_LIB(qt,main,[
4097 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
4100 dnl NEED_QTE_MAIN=yes
4101 dnl LDFLAGS="${LDFLAGS_save}"
4102 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4106 dnl Roku HD1000 Video output module
4108 AC_ARG_ENABLE(hd1000v,
4109 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4110 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4111 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4112 test "${enable_hd1000v}" = "yes"); then
4114 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4116 can_build_roku="yes"
4120 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4122 if test "$can_build_roku" = "yes"
4124 VLC_ADD_PLUGINS([hd1000v])
4125 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
4131 dnl Windows DirectX module
4134 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4136 VLC_ADD_PLUGINS([panoramix])
4139 AC_ARG_ENABLE(directx,
4140 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4141 if test "${enable_directx}" != "no"
4143 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4145 AC_ARG_WITH(directx,
4146 [ --with-directx=PATH Win32 DirectX headers])
4147 if test -z "${with_directx}"
4149 AC_CHECK_HEADERS(ddraw.h,
4150 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4151 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4153 AC_CHECK_HEADERS(GL/gl.h,
4154 [ VLC_ADD_PLUGINS([glwin32])
4155 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4157 AC_CHECK_HEADERS(d3d9.h,
4158 [ VLC_ADD_PLUGINS([direct3d])
4159 VLC_ADD_LDFLAGS([direct3d],[-lgdi32])
4162 AC_MSG_CHECKING(for directX headers in ${with_directx})
4163 if test -f ${with_directx}/ddraw.h
4165 VLC_ADD_PLUGINS([vout_directx aout_directx])
4166 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4167 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4171 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4178 dnl Linux framebuffer module
4181 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4182 if test "${enable_fb}" != "no"
4184 AC_CHECK_HEADERS(linux/fb.h, [
4185 VLC_ADD_PLUGINS([fb])
4190 dnl Linux MGA module
4193 [ --enable-mga Linux kernel Matrox support (default disabled)],
4194 [ if test "${enable_mga}" = "yes"
4196 VLC_ADD_PLUGINS([mga])
4202 AC_ARG_ENABLE(svgalib,
4203 [ --enable-svgalib SVGAlib support (default disabled)])
4204 if test "${enable_svgalib}" = "yes"
4206 VLC_ADD_PLUGINS([svgalib])
4207 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4213 AC_ARG_ENABLE(directfb,
4214 [ --enable-directfb DirectFB support (default disabled)])
4215 if test "${enable_directfb}" = "yes"
4217 if test "${with_directfb}" = "no"
4219 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4220 if test "${have_directfb}"= "true"
4222 VLC_ADD_PLUGINS([directfb])
4223 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4224 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
4226 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
4229 CPPFLAGS_save="${CPPFLAGS}"
4230 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
4231 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4232 CPPFLAGS="${CPPFLAGS_save}"
4233 AC_ARG_WITH(directfb,
4234 [ --with-directfb=PATH path to directfb],
4235 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
4237 VLC_ADD_PLUGINS([directfb])
4238 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
4239 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4241 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
4249 [ --enable-ggi GGI support (default disabled)])
4250 if test "${enable_ggi}" = "yes"
4252 VLC_ADD_PLUGINS([ggi])
4253 VLC_ADD_LDFLAGS([ggi],[-lggi])
4255 [ --with-ggi=PATH path to libggi],
4256 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4258 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4259 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4266 AC_ARG_ENABLE(glide,
4267 [ --enable-glide Glide (3dfx) support (default disabled)])
4268 if test "${enable_glide}" = "yes"
4270 CFLAGS_save="${CFLAGS}"
4272 [ --with-glide=PATH path to libglide],
4273 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4275 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4276 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4277 CFLAGS="$CFLAGS -I${with_glide}/include"
4279 CFLAGS="$CFLAGS -I/usr/include/glide"
4280 AC_CHECK_HEADER(glide.h,[
4281 VLC_ADD_PLUGINS([glide])
4282 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4283 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4285 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4287 CFLAGS="${CFLAGS_save}"
4294 [ --enable-aa aalib output (default disabled)])
4295 if test "${enable_aa}" = "yes"
4297 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4298 if test "${have_aa}" = "true"
4300 VLC_ADD_PLUGINS([aa])
4301 VLC_ADD_LDFLAGS([aa],[-laa])
4309 [ --enable-caca libcaca output (default disabled)])
4310 if test "${enable_caca}" = "yes"
4313 AC_ARG_WITH(caca-config-path,
4314 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4315 [ if test "${with_caca_config_path}" != "no"
4317 CACA_PATH="${with_caca_config_path}:${PATH}"
4319 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4320 if test "${CACA_CONFIG}" != "no"
4322 VLC_ADD_PLUGINS([caca])
4323 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4324 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4329 dnl win32 GDI plugin
4331 AC_ARG_ENABLE(wingdi,
4332 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4333 if test "${enable_wingdi}" != "no"; then
4334 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4335 VLC_ADD_PLUGINS([wingdi])
4336 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4338 if test "${SYS}" = "mingwce"; then
4339 VLC_ADD_PLUGINS([wingdi wingapi])
4347 AC_ARG_WITH(,[Audio plugins:])
4350 dnl OSS /dev/dsp module (enabled by default except on win32)
4353 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4355 if test "${enable_oss}" != "no" &&
4356 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4357 test "${enable_oss}" = "yes")
4359 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4360 VLC_ADD_PLUGINS([oss])
4361 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4369 [ --enable-esd Esound library support (default disabled)],
4370 [if test "${enable_esd}" = "yes"
4372 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4373 if test "${ESD_CONFIG}" != "no"
4375 VLC_ADD_PLUGINS([esd])
4376 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4377 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4382 dnl Portaudio module
4384 AC_ARG_ENABLE(portaudio,
4385 [ --enable-portaudio Portaudio library support (default disabled)],
4386 [if test "${enable_portaudio}" = "yes"
4388 VLC_ADD_PLUGINS([portaudio])
4389 VLC_ADD_CXXFLAGS([portaudio],[])
4390 if test "${SYS}" = "mingw32"; then
4391 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4393 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4398 dnl aRts module -- broken (freeze wxWidgets)
4401 [ --enable-arts aRts sound server (default disabled)],
4402 [if test "${enable_arts}" = "yes"
4404 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4405 if test "${ARTS_CONFIG}" != "no"
4407 VLC_ADD_PLUGINS([arts])
4408 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4409 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4417 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4418 if test "${enable_alsa}" != "no"
4420 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4421 if test "${have_alsa}" = "true"
4423 CFLAGS="${CFLAGS_save}"
4424 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4425 #define ALSA_PCM_NEW_SW_PARAMS_API
4426 #include <alsa/asoundlib.h>],
4427 [snd_pcm_hw_params_get_period_time(0,0,0);],
4428 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4429 VLC_ADD_PLUGINS([alsa])
4430 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4432 if test "${enable_alsa}" = "yes"; then
4433 AC_MSG_ERROR([Could not find ALSA development headers])
4439 dnl win32 waveOut plugin
4441 AC_ARG_ENABLE(waveout,
4442 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4443 if test "${enable_waveout}" != "no"; then
4444 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then