1 dnl Autoconf settings for vlc
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
17 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
18 dnl them. And we need the comma otherwize automake will choke on it.
19 AM_INIT_AUTOMAKE(vlc,0.8.6-svn)
20 AM_CONFIG_HEADER(config.h)
22 dnl Too many people are not aware of maintainer mode:
23 dnl If you want to use it, you definitely know what you are doing, so
24 dnl you can specify "--disable-maintainer-mode". But if you want the default
25 dnl automake behavior, you've likely never heard of maintainer mode, so we
26 dnl can't expect you to enable it manually.
28 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
29 [enable_maintainer_mode="yes"])
46 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
47 if test "${CXX}" != ""; then
54 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
55 dnl now otherwise it might be set in an obscure if statement.
58 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
59 AC_MSG_CHECKING(for an Objective-C compiler)
62 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
64 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
65 #OBJCDEPMODE="depmode=gcc3"
66 #AC_SUBST(OBJCDEPMODE)
67 _AM_DEPENDENCIES(OBJC)
68 AC_MSG_RESULT(not implemented yet)
70 dnl Find the right ranlib, even when cross-compiling
71 AC_CHECK_TOOL(RANLIB, ranlib, :)
72 AC_CHECK_TOOL(STRIP, strip, :)
73 AC_CHECK_TOOL(AR, ar, :)
74 AC_CHECK_TOOL(LD, ld, :)
81 AC_ARG_ENABLE(libtool,
82 [ --enable-libtool use libtool (default disabled, EXPERIMENTAL)],
83 [],[enable_libtool="no"])
84 AM_CONDITIONAL(USE_LIBTOOL, [test "${enable_libtool}" != "no"])
86 dnl Check for compiler properties
91 dnl Check for the contrib directory
94 [ --without-contrib do not use the libraries in extras/contrib],[],[])
95 if test "${with_contrib}" != "no"; then
96 AC_MSG_CHECKING([for libs in extras/contrib])
98 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
99 topdir="`pwd`/$topdir"
101 if test "`grep HOST ${topdir}/extras/contrib/config.mak |awk '{print $3}'`" != "`$CC -dumpmachine`"; then
102 if test "${with_contrib}" = "yes"; then
104 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
107 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
110 if test -d ${topdir}/extras/contrib/lib; then
112 export PATH=${topdir}/extras/contrib/bin:$PATH
113 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
114 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
115 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
116 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
117 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
118 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
119 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
120 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
121 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
122 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
124 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
126 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
127 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
129 dnl kludge because only the debian package provides a ffmpeg-config
130 if test -z $with_ffmpeg_config_path; then
131 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
133 if test -z $with_live555_tree; then
134 with_live555_tree=${topdir}/extras/contrib/src/live
136 if test -z $with_goom_tree; then
137 with_goom_tree=${topdir}/extras/contrib/src/goom
139 if test -z $with_mozilla_sdk_path; then
140 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
142 if test -z $with_cyberlink_tree; then
143 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
146 if test ".`uname -s`" = ".Darwin"; then
147 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
148 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
149 elif test ".`uname -s`" = ".BeOS"; then
150 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
151 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
159 dnl Set default values
161 LDFLAGS_vlc="${LDFLAGS}"
164 dnl Check the operating system
166 case "${target_os}" in
175 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
176 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
180 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
181 case "${target_os}" in
183 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
184 CPPFLAGS="${CPPFLAGS_save}"
185 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
186 LDFLAGS="${LDLFAGS_save}"
193 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
194 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
195 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
196 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
197 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
198 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
199 VLC_ADD_CFLAGS([vlc],[-x objective-c])
200 VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
204 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
205 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
206 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
207 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
208 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
209 VLC_ADD_CFLAGS([vlc],[-x objective-c])
211 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
212 AC_CHECK_TOOL(WINDRES, windres, :)
214 case "${target_os}" in
219 dnl Check if we are using the mno-cygwin mode in which case we are
220 dnl actually dealing with a mingw32 compiler.
225 SYS=mingw32, SYS=cygwin)
227 *wince* | *mingwce* | *pe*)
232 if test "${SYS}" = "mingw32"; then
233 # add ws2_32 for closesocket, select, recv
234 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
235 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
236 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
237 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl],[-lws2_32])
239 if test "${SYS}" = "mingwce"; then
240 # add ws2 for closesocket, select, recv
241 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
242 VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
243 VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
244 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
249 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
253 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
254 # Perhaps it is useful other places as well?
255 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
262 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
263 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
264 VLC_ADD_CXXFLAGS([beos],[])
265 VLC_ADD_LDFLAGS([vlc logger],[-lbe])
266 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
267 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
268 VLC_ADD_LDFLAGS([access_file],[-lpoll])
269 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${CFLAGS_save}"
271 if test -f /boot/beos/system/lib/libbind.so; then
272 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lbind -lsocket])
274 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnet])
277 dnl Ugly check for Zeta
278 if test -f /boot/beos/system/lib/libzeta.so; then
279 VLC_ADD_LDFLAGS([beos],[-lzeta])
286 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
287 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
288 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
289 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
292 dnl Check for Mac OS X SDK settings
294 AC_ARG_WITH(macosx-sdk,
295 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
296 if test "${with_macosx_sdk}" != "no" ; then
297 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}"
298 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}"
299 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}"
300 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
301 export MACOSX_DEPLOYMENT_TARGET=10.3
302 MACOSX_DEPLOYMENT_TARGET="10.3"
308 ALL_LINGUAS="ca cs da de en_GB es fr gl he hi hu it ja ka ko nl oc pt_BR ro ru sv tr zh_CN zh_TW"
309 AM_GNU_GETTEXT_VERSION(0.11.5)
311 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
312 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
313 INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
314 AS_IF([test "${enable_libtool}" != "no"], [
315 INCLUDED_LIBINTL="${LTLIBINTL}"
317 INCLUDED_LIBINTL="${LIBINTL}"
320 VLC_ADD_LDFLAGS([vlc],[${LIBINTL}])
323 AC_SUBST(INCLUDED_LIBINTL)
324 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
329 if test "${SYS}" != "mingwce"; then
330 AS_IF([test "$am_cv_func_iconv" != "yes"],
331 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
333 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
334 AS_IF([test "${enable_libtool}" != "no"], [
335 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
337 VLC_ADD_LDFLAGS([vlc],[${LTLIBICONV}])
340 dnl Check for the need to include the mingwex lib for mingw32
341 if test "${SYS}" = "mingw32"
343 AC_CHECK_LIB(mingwex,opendir,
344 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
345 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
349 dnl Check for fnative-struct or mms-bitfields support for mingw32
350 if test "${SYS}" = "mingw32"
352 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
353 [ac_cv_c_mms_bitfields],
354 [CFLAGS="${CFLAGS_save} -mms-bitfields"
355 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
356 if test "${ac_cv_c_mms_bitfields}" != "no"; then
357 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
358 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
360 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
361 [ac_cv_c_fnative_struct],
362 [CFLAGS="${CFLAGS_save} -fnative-struct"
363 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
364 if test "${ac_cv_c_fnative_struct}" != "no"; then
365 CFLAGS_save="${CFLAGS_save} -fnative-struct";
366 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
370 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
373 dnl Check for fvtable-thunks support for mingw32
374 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
377 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
378 [ac_cv_cxx_fvtable_thunks],
379 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
380 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
381 ac_cv_cxx_fvtable_thunks=no)])
382 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
383 CXXFLAGS_mingw32_special="-fvtable-thunks"
386 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
390 dnl Plugin compilation stuff
397 AS_IF([test "${enable_libtool}" = "no"], [
400 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
401 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
402 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
407 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
408 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
409 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
410 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
415 dnl The -DSYS_FOO flag
416 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
418 dnl Check for system libs needed
421 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)
423 dnl Check for usual libc functions
424 AC_CHECK_FUNCS(strdup strndup atof)
425 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
426 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
427 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
429 dnl Check for setlocal and langinfo
430 AC_CHECK_FUNCS(setlocale)
431 AC_CHECK_HEADERS(langinfo.h)
432 AC_CHECK_FUNCS(nl_langinfo)
434 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
435 [AC_TRY_LINK([#include <langinfo.h>],
436 [char* cs = nl_langinfo(CODESET);],
437 ac_cv_langinfo_codeset=yes,
438 ac_cv_langinfo_codeset=no)
440 if test ${ac_cv_langinfo_codeset} = yes; then
441 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
442 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
445 AC_CHECK_FUNCS(connect,,[
446 AC_CHECK_LIB(socket,connect,[
447 VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lsocket)
448 LIBS_socket="-lsocket"
452 AC_CHECK_FUNCS(send,,[
453 AC_CHECK_LIB(socket,send,[
454 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
458 AC_CHECK_FUNCS(gethostbyname,,[
459 AC_CHECK_LIB(nsl,gethostbyname,[
460 VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
462 AC_CHECK_LIB(bind,gethostbyname,[
463 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
468 dnl Check for socklen_t
469 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
471 [#include <sys/types.h>
472 #include <sys/socket.h>],
473 [socklen_t len = 42; return len;],
474 ac_cv_type_socklen_t=yes,
475 ac_cv_type_socklen_t=no)])
476 if test "${ac_cv_type_socklen_t}" != "no"; then
477 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
480 dnl Check for struct sockaddr_storage
481 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
482 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
483 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
485 [#include <sys/types.h>
486 #if defined( UNDER_CE )
487 # include <winsock.h>
488 #elif defined( WIN32 )
489 # include <winsock2.h>
491 # include <sys/socket.h>
492 #endif], [struct sockaddr_storage addr;],
493 ac_cv_struct_sockaddr_storage=yes,
494 ac_cv_struct_sockaddr_storage=no)])
495 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
496 AC_DEFINE(sockaddr_storage, sockaddr)
497 AC_DEFINE(ss_family, sa_family)
500 dnl getaddrinfo, getnameinfo and gai_strerror check
501 dnl -lnsl and -lsocket are needed on Solaris;
502 dnl we purposedly make the test fail on Windows
504 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
505 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
507 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
510 AC_CHECK_FUNCS([getnameinfo gai_strerror])
513 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
514 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
515 [#include <sys/types.h>
516 #if defined( WIN32 ) || defined( UNDER_CE )
517 # if defined(UNDER_CE) && defined(sockaddr_storage)
518 # undef sockaddr_storage
520 # include <winsock2.h>
521 # include <ws2tcpip.h>
526 dnl Check for va_copy
527 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
529 [#include <stdarg.h>],
530 [va_list ap1, ap2; va_copy(ap1,ap2);],
531 [ac_cv_c_va_copy="yes"],
532 [ac_cv_c_va_copy="no"]))
533 if test "${ac_cv_c_va_copy}" = "yes"; then
534 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
536 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
538 [#include <stdarg.h>],
539 [va_list ap1, ap2; __va_copy(ap1,ap2);],
540 [ac_cv_c___va_copy="yes"],
541 [ac_cv_c___va_copy="no"]))
542 if test "${ac_cv_c___va_copy}" = "yes"; then
543 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
546 AC_CHECK_FUNCS(inet_aton,,[
547 AC_CHECK_LIB(resolv,inet_aton,[
548 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
552 dnl Check for getopt (always use builtin one on win32)
553 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
557 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
558 [ # FreeBSD has a gnugetopt library for this:
559 AC_CHECK_LIB([gnugetopt],[getopt_long],
560 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
561 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
564 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
566 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
569 VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
572 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc dmo quicktime realaudio galaktos],[-lm])
574 AC_CHECK_LIB(m,sqrt,[
575 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
577 AC_CHECK_LIB(m,ceil,[
578 VLC_ADD_LDFLAGS([mosaic],[-lm])
580 AC_CHECK_LIB(mx,sqrtf,[
581 VLC_ADD_LDFLAGS([x264],[-lmx])
583 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
585 dnl Check for dynamic plugins
586 ac_cv_have_plugins=no
589 AC_CHECK_HEADERS(mach-o/dyld.h,
590 [AC_CHECK_FUNCS(NSLinkModule,
591 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
592 ac_cv_have_plugins=yes])])
595 if test "${ac_cv_have_plugins}" = "no"; then
596 AC_CHECK_HEADERS(dl.h)
597 ac_cv_my_have_shl_load=no
598 AC_CHECK_FUNC(shl_load,
599 [ac_cv_my_have_shl_load=yes,
600 AC_CHECK_LIB(dld, shl_load,
601 [ac_cv_my_have_shl_load=yes
602 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
603 if test "${ac_cv_my_have_shl_load}" = "yes"; then
604 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
605 ac_cv_have_plugins=yes
610 if test "${ac_cv_have_plugins}" = "no"; then
611 AC_CHECK_LIB(dld, dld_link,
612 [VLC_ADD_LDFLAGS([vlc],[-ldld])
613 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
614 ac_cv_have_plugins=yes])
618 if test "${ac_cv_have_plugins}" = "no"; then
619 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
620 AC_CHECK_LIB(kernel32, main,
621 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
622 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
623 ac_cv_have_plugins=yes])
628 if test "${ac_cv_have_plugins}" = "no"; then
629 if test "${SYS}" = "mingwce"; then
630 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
631 ac_cv_have_plugins=yes
636 if test "${ac_cv_have_plugins}" = "no"; then
637 AC_CHECK_HEADERS(image.h)
638 AC_CHECK_FUNCS(load_add_on,
639 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
640 ac_cv_have_plugins=yes])
643 # Only test for dlopen() if the others didn't work
644 if test "${ac_cv_have_plugins}" = "no"; then
645 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
646 ac_cv_my_have_dlopen=no
647 AC_CHECK_FUNC(dlopen,
648 ac_cv_my_have_dlopen=yes,
649 AC_CHECK_LIB(dl, dlopen,
650 ac_cv_my_have_dlopen=yes
651 VLC_ADD_LDFLAGS([vlc],[-ldl]),
652 AC_CHECK_LIB(svld, dlopen,
653 ac_cv_my_have_dlopen=yes
654 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
655 if test "${ac_cv_my_have_dlopen}" = "yes"; then
656 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
657 ac_cv_have_plugins=yes
661 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
662 dnl Check for pthreads - borrowed from XMMS
664 if test "${THREAD_LIB}" = "error"; then
665 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
667 if test "${THREAD_LIB}" = "error"; then
668 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
670 if test "${THREAD_LIB}" = "error"; then
671 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
673 if test "${THREAD_LIB}" = "error"; then
674 AC_CHECK_FUNCS(pthread_mutex_lock)
678 dnl Check for cthreads under GNU/Hurd for instance
679 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
682 dnl GNU portable threads
685 [ --enable-pth GNU Pth support (default disabled)],
686 [ if test "${enable_pth}" = "yes"; then
687 AC_CHECK_LIB(pth,pth_init)
688 AC_MSG_CHECKING(for pth_init in pth.h)
689 AC_EGREP_HEADER(pth_init,pth.h,[
691 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
692 Define if <pth.h> defines pth_init)
704 [ --enable-st State Threads (default disabled)],
705 [ if test "${enable_st}" = "yes"; then
706 AC_CHECK_LIB(st,st_init)
707 AC_MSG_CHECKING(for st_init in st.h)
708 AC_EGREP_HEADER(st_init,st.h,[
710 AC_DEFINE(ST_INIT_IN_ST_H, 1,
711 Define if <st.h> defines st_init)
719 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
721 dnl Don't link with rt when using GNU-pth
722 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
723 AC_CHECK_LIB(rt, clock_nanosleep, [
724 VLC_ADD_LDFLAGS([vlc],[-lrt])
725 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
728 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
732 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
733 AC_CHECK_LIB(rt,nanosleep,
734 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
735 [AC_CHECK_LIB(posix4,nanosleep,
736 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
739 if ${have_nanosleep}; then
740 AC_DEFINE(HAVE_NANOSLEEP, 1,
741 Define if nanosleep is available.)
745 dnl Check for misc headers
746 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
747 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
749 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
750 Define if <pthread.h> defines pthread_cond_t.)],[
753 AC_MSG_CHECKING(for pthread_once in pthread.h)
754 AC_EGREP_HEADER(pthread_once,pthread.h,[
756 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
757 Define if <pthread.h> defines pthread_once.)],[
759 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
761 AC_MSG_CHECKING(for strncasecmp in strings.h)
762 AC_EGREP_HEADER(strncasecmp,strings.h,[
764 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
765 Define if <strings.h> defines strncasecmp.)],[
768 dnl Check for headers
769 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)
770 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
771 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
772 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
773 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
774 AC_CHECK_HEADERS(linux/version.h)
775 AC_CHECK_HEADERS(syslog.h)
776 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
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])
829 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
830 VLC_ADD_CFLAGS([vlc 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([vlc hal],[$HAL_LIBS])
836 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
837 [AC_MSG_WARN(HAL library not found)])
844 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
846 if test "${enable_dbus}" != "no"
848 PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
849 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the new D-BUS library API])
850 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
851 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
852 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
854 [ PKG_CHECK_MODULES( DBUS, dbus-1,
855 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
856 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
857 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
858 [AC_MSG_WARN(DBUS library not found)])
863 dnl Build the gtk_main plugins?
869 dnl build the qte plugin ?
872 dnl Check for ntohl, etc.
873 AC_CACHE_CHECK([for ntohl in sys/param.h],
874 [ac_cv_c_ntohl_sys_param_h],
875 [CFLAGS="${CFLAGS_save} -Wall -Werror"
876 AC_TRY_COMPILE([#include <sys/param.h>],
877 [void foo() { int meuh; ntohl(meuh); }],
878 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
879 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
880 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
883 # XXX: do this with an M4 macro?
884 #dnl Check for various -W flags
885 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
887 # AC_CACHE_CHECK([if \$CC accepts -W${flag}],
888 # [ac_cv_c_W${flag}],
889 # [CFLAGS="-W${flag} ${CFLAGS_save}"
890 # AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
891 # if test "${ac_cv_c_W${flag}}" != "no"; then
892 # CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
893 # CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
894 # OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
898 AC_CACHE_CHECK([if \$CC accepts -Wall],
900 [CFLAGS="-Wall ${CFLAGS_save}"
901 AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
903 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
904 [ac_cv_c_Wconversion],
905 [CFLAGS="-Wconversion ${CFLAGS_save}"
906 AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
908 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
909 [ac_cv_c_Wunreachable_code],
910 [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
911 AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
913 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
914 [ac_cv_c_Wsign_compare],
915 [CFLAGS="-Wsign-compare ${CFLAGS_save}"
916 AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
918 if test "${ac_cv_c_Wall}" != "no"; then
919 CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
920 CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
921 OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
924 if test "${ac_cv_c_Wsign_compare}" != "no"; then
925 CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
926 CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
927 OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
931 AC_CACHE_CHECK([if \$CC accepts -pipe],
933 [CFLAGS="${CFLAGS_save} -pipe"
934 AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
935 if test "${ac_cv_c_pipe}" != "no"; then
936 CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
937 CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
938 OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
941 dnl Check for various optimization flags
942 AC_CACHE_CHECK([if \$CC accepts -Os],
944 [CFLAGS="${CFLAGS_save} -Os"
945 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
946 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
947 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
950 AC_CACHE_CHECK([if \$CC accepts -O3],
952 [CFLAGS="${CFLAGS_save} -O3"
953 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
954 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
955 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
958 AC_CACHE_CHECK([if \$CC accepts -O2],
960 [CFLAGS="${CFLAGS_save} -O2"
961 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
962 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
963 if test "${ac_cv_c_o3}" = "no"; then
964 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
966 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
968 AC_CACHE_CHECK([if \$CC accepts -O],
970 [CFLAGS="${CFLAGS_save} -O"
971 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
972 if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
973 if test "${ac_cv_c_o3}" = "no"; then
974 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
976 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
980 dnl Check for -ffast-math
981 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
983 [CFLAGS="${CFLAGS_save} -ffast-math"
984 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
985 if test "${ac_cv_c_fast_math}" != "no"; then
986 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
989 dnl Check for -funroll-loops
990 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
991 if test "${SYS}" != "beos"
993 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
994 [ac_cv_c_unroll_loops],
995 [CFLAGS="${CFLAGS_save} -funroll-loops"
996 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
997 if test "${ac_cv_c_unroll_loops}" != "no"; then
998 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
1002 dnl Check for -fomit-frame-pointer
1003 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1004 [ac_cv_c_omit_frame_pointer],
1005 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1006 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1007 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1008 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1009 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
1010 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
1013 dnl Check for -mdynamic-no-pic
1014 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1015 [ac_cv_c_dynamic_no_pic],
1016 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1017 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1018 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1019 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1020 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1023 dnl Check for Darwin plugin linking flags
1024 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1026 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1027 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1028 if test "${ac_cv_ld_darwin}" != "no"; then
1029 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1032 dnl Check for standard plugin linking flags
1033 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1034 if test "${SYS}" = "beos"; then
1035 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1037 AC_CACHE_CHECK([if \$CC accepts -shared],
1039 [CFLAGS="${CFLAGS_save} -shared"
1040 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1041 if test "${ac_cv_ld_plugins}" != "no"; then
1042 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1046 dnl Check for variadic macros
1047 AC_CACHE_CHECK([for variadic cpp macros],
1048 [ac_cv_cpp_variadic_macros],
1049 [CFLAGS="${CFLAGS_save}"
1052 #define a(b,c...) printf(b,##c)],
1053 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1054 ac_cv_cpp_variadic_macros=yes,
1055 ac_cv_cpp_variadic_macros=no)])
1056 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1057 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1060 dnl Checks for __attribute__(aligned()) directive
1061 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1062 [ac_cv_c_attribute_aligned],
1063 [ac_cv_c_attribute_aligned=0
1064 CFLAGS="${CFLAGS_save} -Werror"
1065 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1067 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1068 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1070 CFLAGS="${CFLAGS_save}"])
1071 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1072 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1073 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1076 dnl Checks for __attribute__(format()) directive
1077 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1078 [ac_cv_c_attribute_format],
1079 [ac_cv_c_attribute_format=no
1080 CFLAGS="${CFLAGS_save} -Werror"
1082 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1083 [ac_cv_c_attribute_format=yes])
1084 CFLAGS="${CFLAGS_save}"])
1085 if test "${ac_cv_c_attribute_format}" != "no"; then
1086 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1089 dnl Check for __attribute__(())
1090 AC_CACHE_CHECK([for __attribute__((packed))],
1091 [ac_cv_c_attribute_packed],
1092 [ac_cv_c_attribute_packed=no
1093 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1094 [ac_cv_c_attribute_packed=yes])])
1095 if test "${ac_cv_c_attribute_packed}" != "no"; then
1096 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1102 case "${target_cpu}" in
1107 ARCH="${target_cpu}"
1112 dnl Enable profiling
1114 AC_ARG_ENABLE(gprof,
1115 [ --enable-gprof gprof profiling (default disabled)])
1116 AC_ARG_ENABLE(cprof,
1117 [ --enable-cprof cprof profiling (default disabled)])
1118 test "${enable_gprof}" != "yes" && enable_gprof="no"
1119 test "${enable_cprof}" != "yes" && enable_cprof="no"
1124 VLC_ADD_PLUGINS([dummy logger memcpy])
1125 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac])
1126 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec])
1127 VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur rv32])
1128 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32])
1129 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1130 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1131 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
1132 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify])
1133 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1134 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1135 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1136 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1137 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1139 if test "${SYS}" != "mingwce"; then
1140 dnl VLC_ADD_PLUGINS([externrun])
1141 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
1142 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
1143 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1144 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1145 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1146 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1147 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1148 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1152 dnl Switch to enable a version of VLC where most modules will be builtin
1154 AC_ARG_ENABLE(mostly-builtin,
1155 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1156 if test "${enable_mostly_builtin}" = "yes"; then
1157 VLC_ADD_BUILTINS([${PLUGINS}])
1162 dnl Some plugins aren't useful on some platforms
1164 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1165 VLC_ADD_PLUGINS([screensaver])
1166 elif test "${SYS}" != "mingwce"; then
1167 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1168 VLC_ADD_LDFLAGS([dmo],[-lole32])
1170 VLC_ADD_PLUGINS([win32text])
1174 dnl Accelerated modules
1176 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1177 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1178 MMXEXT_MODULES="memcpymmxext"
1179 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1180 THREEDNOW_MODULES="memcpy3dn"
1182 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1183 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1185 if test "${enable_gprof}" != "yes"
1187 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1190 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1192 [CFLAGS="${CFLAGS_save}"
1193 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1194 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1195 if test "${ac_cv_mmx_inline}" != "no"; then
1196 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1197 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1200 dnl Check for fully workin MMX intrinsics
1201 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1202 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1203 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1204 [ac_cv_c_mmx_intrinsics],
1205 [CFLAGS="${CFLAGS_save} -O -mmmx"
1206 AC_TRY_COMPILE([#include <mmintrin.h>
1210 a = b = c = (__m64)frobzor;
1211 a = _mm_slli_pi16(a, 3);
1212 a = _mm_adds_pi16(a, b);
1213 c = _mm_srli_pi16(c, 8);
1214 c = _mm_slli_pi16(c, 3);
1215 b = _mm_adds_pi16(b, c);
1216 a = _mm_unpacklo_pi8(a, b);
1217 frobzor = (uint64_t)a;],
1218 [ac_cv_c_mmx_intrinsics=yes],
1219 [ac_cv_c_mmx_intrinsics=no])])
1220 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1221 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1222 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1225 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1226 [ac_cv_mmxext_inline],
1227 [CFLAGS="${CFLAGS_save}"
1228 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1229 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1230 if test "${ac_cv_mmxext_inline}" != "no"; then
1231 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1232 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1235 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1236 [ac_cv_3dnow_inline],
1237 [CFLAGS="${CFLAGS_save}"
1238 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1239 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1240 if test "${ac_cv_3dnow_inline}" != "no"; then
1241 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1242 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1245 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1247 [CFLAGS="${CFLAGS_save}"
1248 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1249 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1250 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1251 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1252 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1255 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1256 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1257 [ac_cv_altivec_inline],
1258 [CFLAGS="${CFLAGS_save}"
1259 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1260 ac_cv_altivec_inline=yes,
1261 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1262 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1263 [ac_cv_altivec_inline="-Wa,-m7400"],
1264 ac_cv_altivec_inline=no)
1266 if test "${ac_cv_altivec_inline}" != "no"; then
1267 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1268 if test "${ac_cv_altivec_inline}" != "yes"; then
1269 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1270 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1271 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1272 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1273 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1275 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1278 dnl The AltiVec C extensions
1280 dnl There are several possible cases:
1281 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1282 dnl need <altivec.h>
1283 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1284 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1285 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1286 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1287 dnl - Others: test should fail
1288 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1290 [# OS X/PPC test (gcc 4.x)
1291 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1293 [vec_ld(0, (unsigned char *)0);],
1294 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1295 [# OS X/PPC test (gcc 3.x)
1296 CFLAGS="${CFLAGS_save} -faltivec"
1298 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1299 [ac_cv_c_altivec="-faltivec"],
1300 dnl Below this are the Linux tests
1301 [# Linux/PPC test (gcc 4.x)
1302 CFLAGS="${CFLAGS_save} -maltivec"
1303 AC_TRY_COMPILE([#include <altivec.h>],
1304 [vec_ld(0, (unsigned char *)0);],
1305 [ac_cv_c_altivec="-maltivec"],
1306 [# Linux/PPC test (gcc 3.3)
1307 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1308 AC_TRY_COMPILE([#include <altivec.h>],
1309 [vec_ld(0, (unsigned char *)0);],
1311 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1312 [# Linux/PPC test (gcc 3.3)
1313 CFLAGS="${CFLAGS_save} -fvec"
1314 AC_TRY_COMPILE([#include <altivec.h>],
1315 [vec_ld(0, (unsigned char *)0);],
1316 [ac_cv_c_altivec="-fvec"],
1317 [ac_cv_c_altivec=no])
1322 CFLAGS="${CFLAGS_save}"
1325 if test "${ac_cv_c_altivec}" != "no"; then
1326 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1328 AC_CHECK_HEADERS(altivec.h)
1329 CPPFLAGS="${CPPFLAGS_save}"
1331 if test "${ac_cv_c_altivec}" != "no"; then
1332 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1333 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1334 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1335 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1336 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1339 AC_CACHE_CHECK([if linker needs -framework vecLib],
1341 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1342 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1343 LDFLAGS="${LDFLAGS_save}"
1345 if test "${ac_cv_ld_altivec}" != "no"; then
1346 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1348 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1351 AC_ARG_WITH(,[Optimization options:])
1354 dnl Special arch tuning
1357 [ --with-tuning=ARCH enable special tuning for an architecture
1358 (default Pentium 2 on IA-32 and 750 on PPC)])
1359 if test -n "${with_tuning}"; then
1360 if test "${with_tuning}" != "no"; then
1361 CFLAGS_TUNING="-mtune=${with_tuning}"
1364 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1365 CFLAGS_TUNING="-mtune=pentium2"
1366 elif test "${target_cpu}" = "x86_64"; then
1367 CFLAGS_TUNING="-mtune=athlon64"
1368 elif test "${target_cpu}" = "powerpc"; then
1369 CFLAGS_TUNING="-mtune=750";
1373 dnl NOTE: this can't be cached cleanly
1374 AS_IF([test "${CFLAGS_TUNING}"],
1375 [CFLAGS_save="${CFLAGS}"
1376 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1378 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1379 AC_COMPILE_IFELSE([ ],
1381 [CFLAGS_TUNING=""; tuning="no"
1382 AS_IF([test "${with_tuning}"],
1383 [AC_MSG_ERROR([requested tuning not supported])])])
1385 AC_MSG_RESULT([$tuning])
1386 CFLAGS="${CFLAGS_save}"
1390 dnl x86 accelerations
1392 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1395 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1401 AC_ARG_ENABLE(optimize-memory,
1402 [ --enable-optimize-memory optimize memory usage over performance])
1403 if test "${enable_optimize_memory}" = "yes"; then
1404 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1408 dnl Enable/disable optimizations
1410 AC_ARG_ENABLE(optimizations,
1411 [ --disable-optimizations disable compiler optimizations (default enabled)])
1412 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1415 dnl AltiVec acceleration
1417 AC_ARG_ENABLE(altivec,
1418 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1419 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1420 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1421 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1422 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1427 AC_ARG_ENABLE(debug,
1428 [ --enable-debug debug mode (default disabled)])
1429 test "${enable_debug}" != "yes" && enable_debug="no"
1431 [Define to 1 if debug code should NOT be compiled])
1432 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1435 dnl Enable release-specific flags
1437 AC_ARG_ENABLE(release,
1438 [ --enable-release activate extra optimizations (default disabled)])
1439 test "${enable_release}" != "yes" && enable_release="no"
1442 dnl Is the shared libvlc forced ?
1445 AC_ARG_ENABLE(shared-libvlc,
1446 [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)])
1447 AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [
1448 AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive])
1455 [ --enable-sout Stream output modules (default enabled)])
1456 if test "${enable_sout}" != "no"
1458 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1459 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1460 VLC_ADD_PLUGINS([packetizer_copy])
1462 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1463 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1464 # VLC_ADD_PLUGINS([stream_out_transrate])
1466 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1469 dnl Check for libshout
1470 AC_ARG_ENABLE(shout,
1471 [ --enable-shout libshout output plugin (default disabled)])
1472 if test "${enable_shout}" = "yes"; then
1473 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1474 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1475 VLC_ADD_PLUGINS([access_output_shout])
1476 VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1477 VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1478 [AC_MSG_WARN(libshout library not found)])
1484 AC_ARG_ENABLE(httpd,
1485 [ --enable-httpd HTTP daemon (default enabled)])
1486 if test "${enable_httpd}" != "no"
1488 VLC_ADD_PLUGINS([http])
1489 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1493 dnl VideoLAN manager
1496 [ --enable-vlm VideoLAN manager (default enabled)])
1497 if test "${enable_vlm}" != "no"
1499 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1503 dnl Growl notification plugin
1505 AC_ARG_ENABLE(growl,
1506 [ --enable-growl growl notification plugin (default enabled)])
1507 AS_IF([test "${enable_growl}" != "no"], [
1508 VLC_ADD_PLUGINS([growl])
1517 AC_ARG_WITH(,[Input plugins:])
1521 if test "${enable_livedotcom}"
1523 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1526 if test "${enable_livedotcom}" = "yes"
1528 enable_live555="yes"
1530 AC_ARG_ENABLE(live555,
1531 [ --enable-live555 live555 RTSP input plugin (default disabled)])
1532 if test "${enable_live555}" = "yes"; then
1533 AC_ARG_WITH(live555-tree,
1534 [ --with-live555-tree=PATH live.com tree for static linking])
1537 dnl test for --with-live555-tree
1539 if test "${with_livedotcom_tree}"
1541 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1542 with_live555_tree="${with_livedotcom_tree}"
1545 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1547 CPPFLAGS_save="${CPPFLAGS}"
1548 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1549 if test "${SYS}" = "solaris"; then
1550 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1552 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1553 AC_CHECK_HEADERS(liveMedia.hh, [
1554 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1555 AC_CHECK_LIB(liveMedia_pic, main, [
1556 # We have -lliveMedia_pic, build plugins
1557 VLC_ADD_PLUGINS([live555])
1558 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1560 AC_CHECK_LIB(liveMedia, main, [
1561 # We only have -lliveMedia, do builtins
1562 VLC_ADD_BUILTINS([live555])
1563 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1566 if test "${SYS}" = "mingw32"; then
1567 # add ws2_32 for closesocket, select, recv
1568 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1571 CPPFLAGS="${CPPFLAGS_save}"
1574 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1575 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1576 if test -z "${real_live555_tree}"; then
1577 dnl The given directory can't be found
1579 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1581 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1582 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1584 VLC_ADD_BUILTINS([live555])
1586 if test "${SYS}" = "mingw32"; then
1587 # add ws2_32 for closesocket, select, recv
1588 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1591 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1592 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1593 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1594 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1596 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1597 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1598 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1599 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1600 if test "${SYS}" = "solaris"; then
1601 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1604 dnl The given live555 wasn't built
1606 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1612 dnl dv module: digital video module check for libraw1394
1615 [ --enable-dv dv input module (default disabled)])
1616 if test "${enable_dv}" = "yes"
1618 AC_ARG_WITH(dv-raw1394,
1619 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1620 AC_ARG_WITH(dv-raw1394-tree,
1621 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1623 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1625 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1626 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1628 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1630 VLC_ADD_PLUGINS([access_dv])
1631 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1632 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1634 dnl No libraw1394 could be found, sorry
1636 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1639 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1640 [ VLC_ADD_PLUGINS([access_dv])
1641 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1643 if test -n "${enable_dv}"
1645 AC_MSG_ERROR([cannot find libraw1394 headers])
1650 dnl Check for static linking of libraw1394
1651 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1653 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1654 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1655 if test -z "${real_dv_raw1394_tree}"
1657 dnl The given directory can't be found
1659 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1661 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1663 dnl Use a custom libraw1394
1664 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1665 VLC_ADD_BUILTINS([access_dv])
1666 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1667 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1669 dnl The given libraw1394 wasn't built
1671 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1676 dnl Check for libavc1394
1679 AC_ARG_WITH(dv-avc1394,
1680 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1681 AC_ARG_WITH(dv-avc1394-tree,
1682 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1684 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1686 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1687 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1689 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1691 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1692 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1694 dnl No libavc1394 could be found, sorry
1696 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1699 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1700 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1702 if test -n "${enable_dv}"
1704 AC_MSG_ERROR([cannot find libavc1394 headers])
1709 dnl Check for static linking of libavc1394
1710 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1712 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1713 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1714 if test -z "${real_dv_avc1394_tree}"
1716 dnl The given directory can't be found
1718 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1720 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1722 dnl Use a custom libavc1394
1723 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1724 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1725 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1727 dnl The given libavc1394 wasn't built
1729 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1735 dnl dvdread module: check for libdvdread
1737 AC_ARG_ENABLE(dvdread,
1738 [ --enable-dvdread dvdread input module (default disabled)])
1739 if test "${enable_dvdread}" != "no"
1741 AC_ARG_WITH(dvdread,
1742 [ --with-dvdread=PATH libdvdread headers and libraries])
1743 AC_ARG_WITH(dvdread-tree,
1744 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1746 dnl Temporary hack (yeah, sure ;)
1747 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1748 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1751 if test -z "${with_dvdread}"
1753 if test -z "${with_dvdread_tree}"
1755 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1756 [ VLC_ADD_PLUGINS([dvdread])
1757 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1759 if test -n "${enable_dvdread}"
1761 AC_MSG_ERROR([cannot find libdvdread headers])
1765 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1766 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1767 if test -z "${real_dvdread_tree}"
1769 dnl The given directory can't be found
1771 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1773 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1775 dnl Use a custom libdvdread
1776 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1777 VLC_ADD_BUILTINS([dvdread])
1778 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1779 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1781 dnl The given libdvdread wasn't built
1783 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1787 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1788 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1790 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1792 VLC_ADD_PLUGINS([dvdread])
1793 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1794 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1796 dnl No libdvdread could be found, sorry
1798 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1804 dnl libdvdnav plugin
1806 AC_ARG_ENABLE(dvdnav,
1807 [ --enable-dvdnav dvdnav input module (default enabled)])
1808 if test "${enable_dvdnav}" != "no"
1810 dnl Same hack than dvdread
1811 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1812 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1815 DVDNAV_PATH="${PATH}"
1816 AC_ARG_WITH(dvdnav-config-path,
1817 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1818 [ if test "${with_dvdnav_config_path}" != "no"
1820 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1822 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1823 if test "${DVDNAV_CONFIG}" != "no"
1825 VLC_ADD_PLUGINS([dvdnav])
1826 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1827 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1832 dnl Windows DirectShow access module
1834 AC_ARG_ENABLE(dshow,
1835 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1836 if test "${enable_dshow}" != "no"
1838 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1841 AC_CHECK_HEADERS(dshow.h,
1842 [ VLC_ADD_PLUGINS([dshow])
1843 VLC_ADD_CXXFLAGS([dshow],[])
1844 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1850 dnl libsmbclient plugin
1853 [ --enable-smb smb input module (default enabled)])
1854 if test "${enable_smb}" != "no"; then
1855 AC_CHECK_HEADERS(libsmbclient.h,
1856 [ VLC_ADD_PLUGINS([access_smb])
1857 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1858 [ if test -n "${enable_smb}"; then
1859 AC_MSG_ERROR([cannot find libsmbclient headers])
1861 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1862 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1863 [#include <libsmbclient.h>])
1867 dnl libdvbpsi ts demux/mux
1869 AC_ARG_ENABLE(dvbpsi,
1870 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1871 if test "${enable_dvbpsi}" != "no"
1874 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1876 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1877 case "${with_dvbpsi}" in
1879 if test -z "${with_dvbpsi_tree}"
1881 AC_CHECK_HEADERS(dvbpsi/dr.h,
1882 [ VLC_ADD_PLUGINS([ts])
1883 if test "${enable_sout}" != "no"; then
1884 VLC_ADD_BUILTINS([mux_ts])
1886 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1887 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1888 [#if defined( HAVE_STDINT_H )
1889 # include <stdint.h>
1890 #elif defined( HAVE_INTTYPES_H )
1891 # include <inttypes.h>
1893 #include <dvbpsi/dvbpsi.h>
1894 #include <dvbpsi/descriptor.h>
1895 #include <dvbpsi/pat.h>
1896 #include <dvbpsi/pmt.h>])
1898 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1899 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1900 if test -z "${real_dvbpsi_tree}"
1902 dnl The given directory can't be found
1904 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1906 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1908 dnl Use a custom libdvbpsi
1909 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1910 VLC_ADD_BUILTINS([ts])
1911 if test "${enable_sout}" != "no"; then
1912 VLC_ADD_BUILTINS([mux_ts])
1914 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1915 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1917 dnl The given libdvbpsi wasn't built
1919 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1924 dnl Compile without dvbpsi
1927 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1928 if test -z "${with_dvbpsi}"
1933 LDFLAGS_test="-L${with_dvbpsi}/lib"
1934 CPPFLAGS_test="-I${with_dvbpsi}/include"
1936 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1937 AC_CHECK_HEADERS([dvbpsi/dr.h],[
1938 VLC_ADD_PLUGINS([ts])
1939 if test "${enable_sout}" != "no"; then
1940 VLC_ADD_PLUGINS([mux_ts])
1942 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1943 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1946 if test -n "${enable_dvbpsi}"
1948 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])
1951 CPPFLAGS="${CPPFLAGS_save}"
1954 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1955 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1956 ], [], [${LDFLAGS_ts}])
1961 dnl Video4Linux plugin
1964 [ --enable-v4l Video4Linux input support (default disabled)])
1965 if test "${enable_v4l}" = "yes"
1968 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
1969 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1971 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1974 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1975 AC_CHECK_HEADERS(linux/videodev.h, [
1976 VLC_ADD_PLUGINS([v4l])
1978 CPPFLAGS="${CPPFLAGS_save}"
1982 dnl special access module for Hauppauge PVR cards
1985 [ --enable-pvr PVR cards access module (default disabled)])
1986 if test "${enable_pvr}" = "yes"
1988 VLC_ADD_PLUGINS([pvr])
1992 dnl gnomeVFS access module
1994 AC_ARG_ENABLE(gnomevfs,
1995 [ --enable-gnomevfs GnomeVFS access module (default enabled)])
1996 if test "${enable_gnomevfs}" != "no"
1998 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1999 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2000 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2001 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2002 VLC_ADD_PLUGINS([access_gnomevfs]),
2003 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2006 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2007 AC_ARG_ENABLE(libcdio,
2008 [ --enable-libcdio CD input and control library support (default enabled)])
2013 if test "${enable_libcdio}" != "no"
2015 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
2017 AC_DEFINE(HAVE_LIBCDIO, [],
2018 [Define if you have libcdio 0.72 or greater installed]),
2019 [AC_MSG_WARN(CD Reading and information library not found)])
2021 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
2022 [have_libvcdinfo=yes
2023 AC_DEFINE(HAVE_VCDINFO, [],
2024 [Define if you have libvcdinfo 0.7.21 or greater installed])],
2025 [AC_MSG_WARN(VCD information library not found)])
2029 dnl VCDX and CDDAX modules
2031 AC_ARG_ENABLE(cddax,
2032 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2034 AC_ARG_ENABLE(libcddb,
2035 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2037 if test "${enable_cddax}" = "yes"
2039 if test "$have_libcdio" = "yes"
2041 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2042 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2043 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2044 VLC_ADD_PLUGINS([cddax])
2045 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2046 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2047 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2049 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2053 if test "$enable_libcddb" != "no"; then
2054 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2056 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2057 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2058 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2060 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2067 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2069 if test "${enable_vcdx}" = "yes"
2071 if test "${have_libvcdinfo}" = "yes"
2073 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2074 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2076 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2080 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2081 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2082 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2083 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2086 if test "$have_libvcdinfo" = "yes"
2088 AC_DEFINE(HAVE_VCDX, [],
2089 [Define for the VCD plugin using libcdio/libvcdinfo])
2090 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2091 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2092 VLC_ADD_PLUGINS([vcdx])
2094 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2100 dnl Built-in CD-DA and VCD module
2103 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2106 [ --enable-vcd built-in VCD (default enabled)])
2108 if test "${enable_vcd}" != "no"
2110 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2111 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2113 VLC_ADD_PLUGINS([vcd cdda])
2118 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2119 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2121 VLC_ADD_PLUGINS([vcd cdda])
2122 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2127 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2128 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2130 VLC_ADD_PLUGINS([vcd cdda])
2131 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2136 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2138 VLC_ADD_PLUGINS([vcd cdda])
2141 if test "${SYS}" = "darwin"
2143 VLC_ADD_PLUGINS([vcd cdda])
2144 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2145 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2148 if test "$enable_libcddb" != "no"; then
2149 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2151 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2152 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2153 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2155 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2161 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2164 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2166 if test "${enable_dvb}" = "yes"
2169 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2170 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2172 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2174 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2175 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2176 if test -z "${with_dvbpsi_tree}"
2178 VLC_ADD_PLUGINS([dvb])
2180 VLC_ADD_BUILTINS([dvb])
2182 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2183 CPPFLAGS="${CPPFLAGS_save}"
2187 dnl Screen capture module
2189 AC_ARG_ENABLE(screen,
2190 [ --enable-screen Screen capture support (default enabled)])
2191 if test "${enable_screen}" != "no"; then
2192 if test "${SYS}" = "darwin"; then
2193 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2194 VLC_ADD_PLUGINS([screen])
2195 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2197 elif test "${SYS}" = "mingw32"; then
2198 VLC_ADD_PLUGINS([screen])
2199 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2200 elif test "${SYS}" = "mingwce"; then
2201 CPPFLAGS="${CPPFLAGS_save}"
2202 elif test "${SYS}" = "beos"; then
2203 VLC_ADD_PLUGINS([screen])
2204 VLC_ADD_CXXFLAGS([screen],[])
2205 VLC_ADD_LDFLAGS([screen],[-lbe])
2207 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2208 AC_CHECK_HEADERS(X11/Xlib.h, [
2209 VLC_ADD_PLUGINS([screen])
2210 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2211 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2213 CPPFLAGS="${CPPFLAGS_save}"
2218 dnl ipv6 plugin - not for QNX yet
2221 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2222 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2225 AS_IF([test "${have_ipv6}" = "yes"], [
2226 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2228 if test "${SYS}" != "nto" &&
2229 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2231 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2232 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2233 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2234 AS_IF([test "${have_ipv6}" != "no"], [
2235 VLC_ADD_PLUGINS([ipv6])])
2237 if test "${SYS}" = "mingw32"
2239 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2240 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2241 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2245 dnl ogg demux plugin
2248 [ --enable-ogg Ogg demux support (default enabled)])
2249 if test "${enable_ogg}" != "no"
2251 AC_ARG_WITH(ogg-tree,
2252 [ --with-ogg-tree=PATH ogg tree for static linking])
2253 if test -n "${with_ogg_tree}"
2255 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2256 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2257 if test -z "${real_ogg_tree}"
2259 dnl The given directory can't be found
2261 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2263 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2265 dnl Use a custom ogg
2266 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2267 VLC_ADD_PLUGINS([ogg])
2268 if test "${enable_sout}" != "no"; then
2269 VLC_ADD_PLUGINS([mux_ogg])
2271 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2272 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2274 dnl The given ogg wasn't built
2276 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2279 AC_CHECK_HEADERS(ogg/ogg.h, [
2280 AC_CHECK_LIB( ogg, oggpack_read, [
2281 VLC_ADD_PLUGINS([ogg])
2282 if test "${enable_sout}" != "no"; then
2283 VLC_ADD_PLUGINS([mux_ogg])
2285 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2291 dnl matroska demux plugin
2294 [ --enable-mkv Matroska demux support (default enabled)])
2295 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2297 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2298 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2300 [#include <ebml/EbmlVersion.h>
2301 #ifdef LIBEBML_VERSION
2302 #if LIBEBML_VERSION >= 0x000706
2306 [AC_MSG_RESULT([yes])
2307 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2308 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2310 [#include <matroska/KaxVersion.h>
2311 #ifdef LIBMATROSKA_VERSION
2312 #if LIBMATROSKA_VERSION >= 0x000705
2316 [AC_MSG_RESULT([yes])
2317 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2318 VLC_ADD_CXXFLAGS([mkv],[])
2319 if test "${SYS}" = "darwin"; then
2320 VLC_ADD_CXXFLAGS([mkv],[-O1])
2322 AC_CHECK_LIB(ebml_pic, main, [
2323 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2324 VLC_ADD_PLUGINS([mkv])
2325 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2327 AC_CHECK_LIB(ebml, main, [
2328 # We only have libebml, make mkv.a a builtin
2329 VLC_ADD_BUILTINS([mkv])
2330 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2334 [AC_MSG_RESULT([no])
2335 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.])
2339 [AC_MSG_RESULT([no])
2340 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.])
2347 dnl modplug demux plugin
2350 [ --enable-mod Mod demux support (default enabled)])
2351 if test "${enable_mod}" != "no"
2353 AC_ARG_WITH(mod-tree,
2354 [ --with-mod-tree=PATH mod tree for static linking])
2355 if test -n "${with_mod_tree}"
2357 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2358 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2359 if test -z "${real_mod_tree}"
2361 dnl The given directory can't be found
2363 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2365 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2367 dnl Use a custom mod
2368 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2369 VLC_ADD_PLUGINS([mod])
2370 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2371 VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2373 dnl The given mod wasn't built
2375 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2378 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2379 VLC_ADD_PLUGINS([mod])
2380 VLC_ADD_CXXFLAGS([mod],[])
2381 VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2386 dnl mpc demux plugin
2389 [ --enable-mpc Mpc demux support (default enabled)])
2390 if test "${enable_mpc}" != "no"
2392 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2393 VLC_ADD_PLUGINS([mpc])
2394 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2398 dnl game music emu demux plugin
2401 [ --enable-gme Game Music Emu demux support (default enabled)])
2402 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2405 AC_ARG_WITH(gme-tree,
2406 [ --with-gme-tree=PATH gme tree for static linking])
2407 if test -n "${with_gme_tree}"
2409 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2410 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2411 if test -z "${real_gme_tree}"
2413 dnl The given directory can't be found
2415 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2417 if test -f "${real_gme_tree}/gme/libgme.a"
2419 dnl Use a custom gme
2420 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2421 VLC_ADD_PLUGINS([gme])
2422 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2423 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2425 dnl The given gme wasn't built
2427 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2430 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2439 AC_ARG_WITH(,[Codec plugins:])
2445 [ --enable-mad libmad module (default enabled)])
2446 if test "${enable_mad}" != "no"
2449 [ --with-mad=PATH path to libmad],[],[])
2450 if test "${with_mad}" != "no" -a -n "${with_mad}"
2452 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2453 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2456 AC_ARG_WITH(mad-tree,
2457 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2458 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2460 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2461 if test -z "${real_mad_tree}"
2463 dnl The given directory can't be found
2465 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2467 dnl Use a custom libmad
2468 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2469 if test -f ${real_mad_tree}/mad.h
2472 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2473 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2474 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2475 AC_CHECK_LIB(mad, mad_bit_init, [
2476 VLC_ADD_BUILTINS([mpgatofixed32])
2477 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2478 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2480 LDFLAGS="${LDFLAGS_save}"
2483 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2486 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2487 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2488 AC_CHECK_HEADERS(mad.h, ,
2489 [ 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.]) ])
2490 AC_CHECK_LIB(mad, mad_bit_init, [
2491 VLC_ADD_PLUGINS([mpgatofixed32])
2492 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2493 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2494 CPPFLAGS="${CPPFLAGS_save}"
2495 LDFLAGS="${LDFLAGS_save}"
2500 dnl libid3tag support (FIXME!!! doesn't work with new input)
2502 AC_CHECK_HEADERS(id3tag.h, [
2503 AC_CHECK_HEADERS(zlib.h, [
2504 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2505 VLC_ADD_PLUGINS([id3tag])]) ])
2508 dnl ffmpeg decoder/demuxer plugin
2510 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2511 dnl 4- default place,
2513 AC_ARG_ENABLE(ffmpeg,
2514 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2515 if test "${enable_ffmpeg}" != "no"
2518 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2520 AC_ARG_WITH(ffmpeg-mp3lame,
2521 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2523 if test "$with_ffmpeg_mp3lame" = "yes"; then
2524 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2527 AC_ARG_WITH(ffmpeg-faac,
2528 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2530 if test "$with_ffmpeg_faac" = "yes"; then
2531 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2534 AC_ARG_WITH(ffmpeg-dts,
2535 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2537 if test "$with_ffmpeg_dts" = "yes"; then
2538 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2539 AC_CHECK_LIB(dts_pic, dts_free,
2540 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2541 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2542 LDFLAGS="${LDFLAGS_save}"
2545 AC_ARG_WITH(ffmpeg-vorbis,
2546 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2548 if test "$with_ffmpeg_vorbis" = "yes"; then
2549 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2552 AC_ARG_WITH(ffmpeg-theora,
2553 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2555 if test "$with_ffmpeg_theora" = "yes"; then
2556 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2559 AC_ARG_WITH(ffmpeg-ogg,
2560 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2562 if test "$with_ffmpeg_ogg" = "yes"; then
2563 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2566 AC_ARG_WITH(ffmpeg-zlib,
2567 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2569 if test "$with_ffmpeg_zlib" = "yes"; then
2570 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2574 dnl test for --with-ffmpeg-tree
2576 AC_ARG_WITH(ffmpeg-tree,
2577 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2579 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2580 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2581 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2582 if test -z "${real_ffmpeg_tree}"; then
2583 dnl The given directory can't be found
2585 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2587 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2588 dnl The given libavcodec wasn't built
2590 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2592 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2593 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2594 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2596 dnl The given libavcodec wasn't built with --enable-pp
2598 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2601 dnl Use a custom libffmpeg
2602 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2604 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2605 if test "${with_ffmpeg_zlib}" != "yes"; then
2606 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2609 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2610 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2611 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2614 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2615 if test "${with_ffmpeg_faac}" != "yes"; then
2616 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2619 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2620 if test "${with_ffmpeg_dts}" != "yes"; then
2621 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2622 AC_CHECK_LIB(dts_pic, dts_free,
2623 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2624 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2625 LDFLAGS="${LDFLAGS_save}"
2628 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2629 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2631 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2632 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2634 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2635 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2638 VLC_ADD_BUILTINS([ffmpeg])
2639 if test "${enable_sout}" != "no"; then
2640 VLC_ADD_BUILTINS([stream_out_switcher])
2643 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2644 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2645 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2648 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2649 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2651 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2652 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2653 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2654 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2658 dnl Look for a ffmpeg-config (we are on debian )
2660 FFMPEG_PATH="${PATH}"
2661 AC_ARG_WITH(ffmpeg-config-path,
2662 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2663 [ if test "${with_ffmpeg_config_path}" != "no"
2665 FFMPEG_PATH="${with_ffmpeg_config_path}"
2667 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2668 if test "${FFMPEG_CONFIG}" != "no"
2670 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2671 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2672 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2673 AC_CHECK_HEADERS(postproc/postprocess.h)
2674 VLC_ADD_PLUGINS([ffmpeg])
2675 if test "${enable_sout}" != "no"; then
2676 VLC_ADD_PLUGINS([stream_out_switcher])
2678 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2679 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2683 dnl Trying with pkg-config
2684 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2686 AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2687 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2688 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2689 AC_CHECK_HEADERS(postproc/postprocess.h)
2690 VLC_ADD_BUILTINS([ffmpeg])
2691 if test "${enable_sout}" != "no"; then
2692 VLC_ADD_BUILTINS([stream_out_switcher])
2694 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2695 VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2696 dnl newer ffmpeg have a separate libpostproc
2697 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2698 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2703 dnl last chance: at the default place
2705 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2706 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2707 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2708 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2709 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2710 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2712 AC_CHECK_LIB(avutil, av_add_i, [
2713 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2714 LDAVUTIL="-lavutil"])
2716 AC_CHECK_LIB(postproc, pp_postprocess, [
2717 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
2719 AC_CHECK_LIB(avcodec, avcodec_init, [
2720 VLC_ADD_BUILTINS([ffmpeg])
2721 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2722 if test "${enable_sout}" != "no"; then
2723 VLC_ADD_BUILTINS([stream_out_switcher])
2725 [ 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])
2728 AC_CHECK_LIB(avformat, av_open_input_stream, [
2729 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2730 LDFLAGS="${LDFLAGS_save}"
2731 CPPFLAGS="${CPPFLAGS_save}"
2738 dnl ffmpegaltivec plugin
2740 AC_ARG_ENABLE(ffmpegaltivec,
2741 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2742 if test "${enable_ffmpegaltivec}" = "yes"
2744 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2745 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2746 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2747 if test -z "${real_ffmpeg_tree}"; then
2748 dnl The given directory can't be found
2750 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2752 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2753 dnl The given libavcodecaltivec wasn't built
2755 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2757 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2758 dnl The given libavcodecaltivec wasn't built with --enable-pp
2760 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2762 dnl Use a custom libffmpeg
2763 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2764 VLC_ADD_BUILTINS([ffmpegaltivec])
2765 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2766 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2767 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2769 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2770 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2771 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2772 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2774 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2775 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2780 dnl faad decoder plugin
2783 [ --enable-faad faad codec (default disabled)])
2784 if test "${enable_faad}" = "yes"
2786 AC_ARG_WITH(faad-tree,
2787 [ --with-faad-tree=PATH faad tree for static linking])
2788 if test -n "${with_faad_tree}"
2790 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2791 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2792 if test -z "${real_faad_tree}"
2794 dnl The given directory can't be found
2796 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2798 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2800 dnl Use a custom faad
2801 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2802 VLC_ADD_BUILTINS([faad])
2803 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2804 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2806 dnl The given libfaad wasn't built
2808 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2811 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2812 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2813 AC_CHECK_HEADERS(faad.h, ,
2814 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2815 AC_CHECK_LIB(faad, faacDecOpen, [
2816 VLC_ADD_PLUGINS([faad])
2817 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2818 AC_CHECK_LIB(faad, NeAACDecOpen, [
2819 VLC_ADD_PLUGINS([faad])
2820 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2821 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2822 LDFLAGS="${LDFLAGS_save}"
2823 CPPFLAGS="${CPPFLAGS_save}"
2828 dnl twolame encoder plugin
2830 AC_ARG_ENABLE(twolame,
2831 [ --enable-twolame twolame codec (default disabled)])
2832 if test "${enable_twolame}" = "yes"
2834 AC_ARG_WITH(twolame-tree,
2835 [ --with-twolame-tree=PATH twolame tree for static linking])
2836 if test -n "${with_twolame_tree}"
2838 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2839 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2840 if test -z "${real_twolame_tree}"
2842 dnl The given directory can't be found
2844 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2846 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2848 dnl Use a custom twolame
2849 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2850 VLC_ADD_BUILTINS([twolame])
2851 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2852 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2854 dnl The given libtwolame wasn't built
2856 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2859 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2860 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2861 AC_CHECK_HEADERS(twolame.h, ,
2862 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2863 AC_CHECK_LIB(twolame, twolame_init, [
2864 VLC_ADD_PLUGINS([twolame])
2865 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2866 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2867 LDFLAGS="${LDFLAGS_save}"
2868 CPPFLAGS="${CPPFLAGS_save}"
2873 dnl QuickTime plugin
2875 AC_ARG_ENABLE(quicktime,
2876 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2877 if test "${enable_quicktime}" != "no" &&
2878 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2880 if test "${SYS}" = "mingw32"; then
2881 VLC_ADD_BUILTINS([quicktime])
2883 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2884 [ VLC_ADD_BUILTINS([quicktime])
2885 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2886 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2894 [ --enable-real Real audio module (default disabled)])
2895 if test "${enable_real}" = "yes"; then
2896 VLC_ADD_PLUGINS([realaudio])
2900 dnl Real RTSP plugin
2902 AC_ARG_ENABLE(realrtsp,
2903 [ --enable-realrtsp Real RTSP module (default disabled)])
2904 if test "${enable_realrtsp}" = "yes"; then
2905 VLC_ADD_PLUGINS([access_realrtsp])
2911 AC_CHECK_HEADERS(zlib.h, [
2912 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
2915 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2916 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2922 AC_CHECK_HEADERS(libtar.h, [
2923 VLC_ADD_LDFLAGS([skins2],[-ltar])
2929 dnl A52/AC3 decoder plugin
2932 [ --enable-a52 A/52 support with liba52 (default enabled)])
2933 if test "${enable_a52}" != "no"
2936 [ --with-a52=PATH a52 headers and libraries])
2937 AC_ARG_WITH(a52-tree,
2938 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
2939 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2941 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2942 if test -z "${real_a52_tree}"
2944 dnl The given directory can't be found
2946 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2948 dnl Use a custom a52dec
2949 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2950 if test -f ${real_a52_tree}/include/a52.h
2953 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2954 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2955 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2956 AC_CHECK_LIB(a52, a52_free, [
2957 VLC_ADD_BUILTINS([a52tofloat32])
2958 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2959 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2961 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2963 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2965 AC_MSG_ERROR([the specified tree hasn't been compiled])
2968 LDFLAGS="${LDFLAGS_save}"
2971 AC_MSG_ERROR([the specified tree doesn't have a52.h])
2974 if test -z "${with_a52}"
2979 LDFLAGS_test="-L${with_a52}/lib"
2980 CPPFLAGS_test="-I${with_a52}/include"
2982 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2983 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2984 AC_CHECK_HEADERS(a52dec/a52.h, [
2985 AC_CHECK_LIB(a52, a52_free, [
2986 VLC_ADD_PLUGINS([a52tofloat32])
2987 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2988 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2990 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.])
2993 CPPFLAGS="${CPPFLAGS_save}"
2994 LDFLAGS="${LDFLAGS_save}"
2998 AC_ARG_WITH(a52-fixed,
2999 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3001 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3004 dnl DTS Coherent Acoustics decoder plugin
3007 [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)])
3008 if test "${enable_dts}" != "no"; then
3009 AC_ARG_WITH(dts-tree,
3010 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
3011 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
3013 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
3014 if test -z "${real_dts_tree}"
3016 dnl The given directory can't be found
3018 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
3020 dnl Use a custom libdts
3021 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
3022 if test -f ${real_dts_tree}/include/dts.h
3025 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
3026 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
3027 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3028 AC_CHECK_LIB(dts_pic, dts_free, [
3029 VLC_ADD_PLUGINS([dtstofloat32])
3030 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
3032 AC_CHECK_LIB(dts, dts_free, [
3033 VLC_ADD_BUILTINS([dtstofloat32])
3034 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3036 if test -f ${real_dts_tree}/libdts/libdts.a
3038 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
3040 AC_MSG_ERROR([the specified tree hasn't been compiled])
3044 LDFLAGS="${LDFLAGS_save}"
3047 AC_MSG_ERROR([the specified tree doesn't have dts.h])
3050 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3051 AC_CHECK_HEADERS(dts.h, [
3052 AC_CHECK_LIB(dts_pic, dts_free, [
3053 VLC_ADD_PLUGINS([dtstofloat32])
3054 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
3056 AC_CHECK_LIB(dts, dts_free, [
3057 VLC_ADD_BUILTINS([dtstofloat32])
3058 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3060 if test "${enable_dts}" = "yes"; then
3061 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
3066 LDFLAGS="${LDFLAGS_save}"
3074 [ --enable-flac flac decoder support (default disabled)])
3075 if test "${enable_flac}" = "yes"
3077 AC_ARG_WITH(flac-tree,
3078 [ --with-flac-tree=PATH flac tree for static linking])
3079 if test -n "${with_flac_tree}"
3081 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3082 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3083 if test -z "${real_flac_tree}"
3085 dnl The given directory can't be found
3087 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3089 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3091 dnl Use a custom flac
3092 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3093 VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3094 VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
3095 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3097 dnl The given flac wasn't built
3099 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3102 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3103 VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
3111 AC_ARG_ENABLE(libmpeg2,
3112 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3113 if test "${enable_libmpeg2}" != "no"
3115 AC_ARG_WITH(libmpeg2-tree,
3116 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3117 if test -n "${with_libmpeg2_tree}"
3119 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3120 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3121 if test -z "${real_libmpeg2_tree}"
3123 dnl The given directory can't be found
3125 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3127 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3129 dnl Use a custom libmpeg2
3130 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3131 VLC_ADD_BUILTINS([libmpeg2])
3132 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3133 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3134 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3136 dnl The given libmpeg2 wasn't built
3138 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3141 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3142 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3144 [#include <mpeg2dec/mpeg2.h>
3145 #ifdef MPEG2_RELEASE
3146 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3150 [AC_MSG_RESULT([yes])
3151 VLC_ADD_PLUGINS([libmpeg2])
3152 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3153 [AC_MSG_RESULT([no])
3154 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.])])],
3156 [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.])]
3164 AC_ARG_ENABLE(vorbis,
3165 [ --enable-vorbis Vorbis decoder support (default enabled)])
3166 if test "${enable_vorbis}" != "no"
3168 AC_ARG_WITH(vorbis-tree,
3169 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3170 if test -n "${with_vorbis_tree}"
3172 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3173 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3174 if test -z "${real_vorbis_tree}"
3176 dnl The given directory can't be found
3178 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3180 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3182 dnl Use a custom vorbis
3183 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3184 VLC_ADD_PLUGINS([vorbis])
3185 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3186 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3188 dnl The given vorbis wasn't built
3190 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3193 AC_CHECK_HEADERS(vorbis/codec.h, [
3194 VLC_ADD_PLUGINS([vorbis])
3195 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3197 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3198 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3205 AC_ARG_ENABLE(tremor,
3206 [ --enable-tremor Tremor decoder support (default disabled)])
3207 if test "${enable_tremor}" = "yes"
3209 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3210 VLC_ADD_PLUGINS([tremor])
3211 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3218 AC_ARG_ENABLE(speex,
3219 [ --enable-speex Speex decoder support (default enabled)])
3220 if test "${enable_speex}" != "no"
3222 AC_ARG_WITH(speex-tree,
3223 [ --with-speex-tree=PATH speex tree for static linking])
3224 if test -n "${with_speex_tree}"
3226 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3227 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3228 if test -z "${real_speex_tree}"
3230 dnl The given directory can't be found
3232 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3234 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3236 dnl Use a custom speex
3237 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3238 VLC_ADD_PLUGINS([speex])
3239 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3240 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3242 dnl The given speex wasn't built
3244 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3247 AC_CHECK_HEADERS(speex/speex.h, [
3248 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3249 AC_CHECK_LIB(speex, speex_decode_int, [
3250 VLC_ADD_PLUGINS([speex])
3251 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3252 [ AC_MSG_RESULT([no])
3253 AC_MSG_WARN([Your libspeex is too old, please get the development
3255 LDFLAGS="${LDFLAGS_save}"
3261 dnl tarkin decoder plugin
3263 AC_ARG_ENABLE(tarkin,
3264 [ --enable-tarkin experimental tarkin codec (default disabled)])
3265 if test "${enable_tarkin}" = "yes"
3267 AC_ARG_WITH(tarkin-tree,
3268 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3269 if test -n "${with_tarkin_tree}"
3271 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3272 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3273 if test -f "${real_tarkin_tree}/tarkin.o"
3275 VLC_ADD_BUILTINS([tarkin])
3276 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3277 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])
3280 dnl The given tarkin tree wasn't built
3282 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3283 make sure you compiled tarkin in ${with_tarkin_tree}])
3289 dnl theora decoder plugin
3291 AC_ARG_ENABLE(theora,
3292 [ --enable-theora experimental theora codec (default disabled)])
3293 if test "${enable_theora}" = "yes"
3295 AC_CHECK_HEADERS(theora/theora.h, [
3296 AC_CHECK_LIB(theora, theora_granule_time, [
3297 if test "${SYS}" = "mingw32"; then
3298 VLC_ADD_PLUGINS([theora])
3300 VLC_ADD_BUILTINS([theora])
3302 theora_libs="-ltheora -logg"
3303 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3304 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3305 You also need to check that you have a libogg posterior to the 1.0 release.])],
3311 dnl dirac decoder plugin
3313 AC_ARG_ENABLE(dirac,
3314 [ --enable-dirac experimental dirac codec (default disabled)])
3315 if test "${enable_dirac}" = "yes"; then
3316 PKG_CHECK_MODULES(DIRAC,dirac, [
3317 VLC_ADD_PLUGINS([dirac])
3318 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3319 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3320 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3325 dnl PNG decoder module
3328 [ --enable-png PNG support (default enabled)])
3329 if test "${enable_png}" != "no"; then
3330 AC_CHECK_HEADERS(png.h, [
3331 LDFLAGS="${LDFLAGS_save} -lz"
3332 AC_CHECK_LIB(png, png_set_rows, [
3333 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3334 VLC_ADD_PLUGINS([png])
3335 VLC_ADD_PLUGINS([osdmenu])
3336 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3338 LDFLAGS="${LDFLAGS_save}"
3343 dnl H264 encoder plugin (using libx264)
3346 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3347 if test "${enable_x264}" != "no"; then
3348 AC_ARG_WITH(x264-tree,
3349 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3350 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3352 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3353 if test -z "${real_x264_tree}"
3355 dnl The given directory can't be found
3357 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3359 dnl Use a custom libx264
3360 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3361 if test -f ${real_x264_tree}/x264.h
3364 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3365 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3366 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3367 AC_CHECK_LIB(x264, x264_encoder_open, [
3368 VLC_ADD_BUILTINS([x264])
3369 VLC_ADD_LDFLAGS([x264],[-lx264])
3371 AC_MSG_ERROR([the specified tree hasn't been compiled])
3373 LDFLAGS="${LDFLAGS_save}"
3376 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3379 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3380 AC_CHECK_HEADERS(x264.h, [
3381 AC_CHECK_LIB(x264, x264_encoder_open, [
3382 VLC_ADD_PLUGINS([x264])
3383 VLC_ADD_LDFLAGS([x264],[-lx264])
3385 if test "${enable_x264}" = "yes"; then
3386 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3390 LDFLAGS="${LDFLAGS_save}"
3398 [ --enable-cmml CMML support (default enabled)])
3399 if test "${enable_cmml}" != "no"
3401 VLC_ADD_PLUGINS([cmml])
3409 AC_ARG_WITH(,[Video plugins:])
3412 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3413 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3414 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3415 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3416 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3418 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3419 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3424 #include <X11/Xlib.h>
3426 CPPFLAGS="${CPPFLAGS_save}"
3431 dnl (enabled by default except on win32)
3434 [ --enable-x11 X11 support (default enabled)])
3435 if test "${enable_x11}" != "no" &&
3436 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3437 test "${enable_x11}" = "yes"); then
3438 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3439 AC_CHECK_HEADERS(X11/Xlib.h, [
3440 VLC_ADD_PLUGINS([x11])
3441 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3442 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3444 CPPFLAGS="${CPPFLAGS_save}"
3449 dnl (enabled by default except on win32)
3451 AC_ARG_ENABLE(xvideo,
3452 [ --enable-xvideo XVideo support (default enabled)])
3453 if test "${enable_xvideo}" != "no" &&
3454 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3455 test "${enable_xvideo}" = "yes"); then
3456 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3457 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3458 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3459 AC_CHECK_LIB(Xv,XvPutImage,[
3460 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3461 # test for libXv_pic.
3462 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3463 VLC_ADD_PLUGINS([xvideo])
3464 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3465 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3467 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3468 VLC_ADD_PLUGINS([xvideo])
3469 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3470 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3472 VLC_ADD_BUILTINS([xvideo])
3473 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3474 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3478 CFLAGS="${CFLAGS_save}"
3480 CPPFLAGS="${CPPFLAGS_save}")
3485 dnl (enabled by default except on win32)
3488 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3489 if test "${enable_glx}" != "no" &&
3490 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3491 test "${enable_glx}" = "yes"); then
3492 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3493 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h, [
3494 VLC_ADD_PLUGINS([glx])
3495 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3496 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3498 CPPFLAGS="${CPPFLAGS_save}"
3502 dnl Check for the Xinerama extension
3504 AC_ARG_ENABLE(xinerama,
3505 [ --enable-xinerama Xinerama support (default enabled)])
3506 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3507 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3508 test "${enable_xvideo}" = "yes"); then
3509 ac_cv_have_xinerama="no"
3510 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3511 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3512 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3513 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3514 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3515 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3516 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3517 ac_cv_have_xinerama="yes"
3519 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3520 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3521 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3522 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3523 ac_cv_have_xinerama="yes"
3527 if test "${ac_cv_have_xinerama}" = "yes"; then
3528 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3530 CFLAGS="${CFLAGS_save}"
3531 CPPFLAGS="${CPPFLAGS_save}"
3534 dnl Check for XF86VidMode extension
3536 ac_cv_have_xf86vidmode="no"
3537 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3538 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3539 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3540 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3541 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3542 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3543 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3544 ac_cv_have_xf86vidmode="yes"
3546 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3547 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3548 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3549 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3550 ac_cv_have_xf86vidmode="yes"
3554 [#ifdef HAVE_X11_XLIB_H
3555 # include <X11/Xlib.h>
3558 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3559 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3561 CFLAGS="${CFLAGS_save}"
3562 CPPFLAGS="${CPPFLAGS_save}"
3568 dnl (enabled by default except on beos)
3570 AC_ARG_ENABLE(opengl,
3571 [ --enable-opengl OpenGL support (default enabled)])
3572 if test "${enable_opengl}" != "no" &&
3573 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3574 if test "${SYS}" != "darwin"; then
3575 AC_CHECK_HEADERS(GL/gl.h, [
3576 VLC_ADD_PLUGINS([opengl])
3577 if test "${SYS}" != "mingw32"; then
3578 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3580 VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3584 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3585 VLC_ADD_PLUGINS([opengl])
3586 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3594 [ --enable-sdl SDL support (default enabled)])
3595 if test "${enable_sdl}" != "no"
3598 AC_ARG_WITH(sdl-config-path,
3599 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3600 [ if test "${with_sdl_config_path}" != "no"
3602 SDL_PATH="${with_sdl_config_path}:${PATH}"
3604 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3605 SDL_CONFIG="${SDL12_CONFIG}"
3606 SDL_HEADER="SDL12/SDL.h"
3607 SDL_IMAGE="SDL12/SDL_image.h"
3608 if test "${SDL_CONFIG}" = "no"
3610 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3611 SDL_CONFIG=${SDL11_CONFIG}
3612 SDL_HEADER="SDL11/SDL.h"
3613 SDL_IMAGE="SDL11/SDL_image.h"
3615 if test "${SDL_CONFIG}" = "no"
3617 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3618 SDL_HEADER="SDL/SDL.h"
3619 SDL_IMAGE="SDL/SDL_image.h"
3621 # check for cross-compiling
3623 AC_ARG_WITH(sdl-prefix,
3624 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3626 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3627 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3629 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3631 if test "${SDL_CONFIG}" != "no"
3633 # SDL on Darwin is heavily patched and can only run SDL_image
3634 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3635 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3637 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3638 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3639 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3640 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3641 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3642 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3643 As a last resort we also test for SDL.h presence),
3644 [ AC_MSG_ERROR([The development package for SDL is not installed.
3645 Please install it and try again. Alternatively you can also configure with
3648 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3649 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3650 VLC_ADD_PLUGINS([sdl_image])
3651 AC_CHECK_LIB(png, png_set_rows,
3652 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3653 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3654 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3655 AC_CHECK_LIB(tiff, TIFFClientOpen,
3656 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3657 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3658 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3659 As a last resort we also test for SDL_image.h presence),
3660 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3661 You should install it alongside your SDL package.])
3663 CPPFLAGS="${CPPFLAGS_save}"
3664 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3666 AC_MSG_ERROR([The development package for SDL is not installed.
3667 Please install it and try again. Alternatively you can also configure with
3671 elif test "${enable_sdl}" = "yes"
3673 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3674 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3682 AC_ARG_ENABLE(freetype,
3683 [ --enable-freetype freetype support (default enabled)])
3684 AC_ARG_ENABLE(fribidi,
3685 [ --enable-fribidi fribidi support (default enabled)])
3686 if test "${enable_freetype}" != "no"
3688 FREETYPE_PATH="${PATH}"
3689 AC_ARG_WITH(freetype-config-path,
3690 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3691 [ if test "${with_freetype_config_path}" != "no"
3693 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3695 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3697 if test "${FREETYPE_CONFIG}" != "no"
3699 VLC_ADD_PLUGINS([freetype])
3700 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3701 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3702 AC_CHECK_HEADERS(Carbon/Carbon.h,
3703 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3704 elif test "${enable_freetype}" = "yes"
3706 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3707 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3712 if test "${enable_fribidi}" != "no"
3714 FRIBIDI_PATH="${PATH}"
3715 AC_ARG_WITH(fribidi-config-path,
3716 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3717 [ if test "${with_fribidi_config_path}" != "no"
3719 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3721 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3723 if test "${FRIBIDI_CONFIG}" != "no"
3725 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3726 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3727 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3728 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3736 AC_ARG_ENABLE(libxml2,
3737 [ --enable-libxml2 libxml2 support (default enabled)])
3738 if test "${enable_libxml2}" != "no"
3741 AC_ARG_WITH(xml2-config-path,
3742 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3743 [ if test "${with_xml2_config_path}" != "no"; then
3744 XML2_PATH="${with_xml2_config_path}:${PATH}"
3746 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3747 if test "${XML2_CONFIG}" != "no"; then
3748 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3749 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3750 dnl depends on the xmlTextReader extension
3751 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3752 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3753 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3754 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3755 VLC_ADD_PLUGINS([xml]) ],[
3756 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3757 if test "${enable_xml2}" = "yes"; then
3758 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3761 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3762 if test "${enable_xml2}" = "yes"; then
3763 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3765 LDFLAGS="${LDFLAGS_save}"
3766 CPPFLAGS="${CPPFLAGS_save}"
3768 if test "${enable_xml2}" = "yes"; then
3769 AC_MSG_ERROR([Could not find libxml2])
3778 [ --enable-svg SVG support (default disabled)])
3779 if test "${enable_svg}" = "yes"
3781 PKG_CHECK_MODULES(SVG,
3782 librsvg-2.0 >= 2.5.0,
3784 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3785 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3786 VLC_ADD_PLUGINS([svg]) ],
3787 [AC_MSG_WARN(SVG library not found)])
3791 dnl Snapshot vout module (with cache)
3793 AC_ARG_ENABLE(snapshot,
3794 [ --enable-snapshot snapshot module (default disabled)])
3795 if test "${enable_snapshot}" = "yes"
3797 VLC_ADD_PLUGINS([snapshot])
3801 dnl Qt Embedded module
3802 dnl (disabled by default)
3805 [ --enable-qte QT Embedded support (default disabled)])
3806 if test "${enable_qte}" = "yes"
3809 [ --with-qte=PATH Qt Embedded headers and libraries])
3810 if test "${with_qte}" != "no" -a -n "${with_qte}"
3812 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3813 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])
3815 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3816 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3818 VLC_ADD_PLUGINS([qte])
3820 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3821 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3822 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3824 CPPFLAGS="${CPPFLAGS_save}"
3828 dnl Qt Video output module
3829 dnl (disabled by default)
3831 dnl AC_ARG_ENABLE(qt_video,
3832 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3833 dnl if test "${enable_qt_video}" = "yes"
3835 dnl VLC_ADD_PLUGINS([qt_video])
3836 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3837 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3838 dnl AC_CHECK_LIB(qt-mt,main,[
3839 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3841 dnl AC_CHECK_LIB(qt,main,[
3842 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3845 dnl NEED_QTE_MAIN=yes
3846 dnl LDFLAGS="${LDFLAGS_save}"
3847 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3851 dnl Roku HD1000 Video output module
3853 AC_ARG_ENABLE(hd1000v,
3854 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3855 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3856 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3857 test "${enable_hd1000v}" = "yes"); then
3859 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3861 can_build_roku="yes"
3865 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3867 if test "$can_build_roku" = "yes"
3869 VLC_ADD_PLUGINS([hd1000v])
3870 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3876 dnl Windows DirectX module
3878 AC_ARG_ENABLE(directx,
3879 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3880 if test "${enable_directx}" != "no"
3882 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3884 AC_ARG_WITH(directx,
3885 [ --with-directx=PATH Win32 DirectX headers])
3886 if test -z "${with_directx}"
3888 AC_CHECK_HEADERS(ddraw.h,
3889 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3890 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3891 dnl to be moved when dependance is removed
3892 AC_CHECK_HEADERS(GL/gl.h, [
3893 VLC_ADD_PLUGINS([glwin32])
3894 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3897 AC_MSG_CHECKING(for directX headers in ${with_directx})
3898 if test -f ${with_directx}/ddraw.h
3900 VLC_ADD_PLUGINS([vout_directx aout_directx])
3901 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3902 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3906 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3913 dnl Linux framebuffer module
3916 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3917 if test "${enable_fb}" != "no"
3919 AC_CHECK_HEADERS(linux/fb.h, [
3920 VLC_ADD_PLUGINS([fb])
3925 dnl Linux MGA module
3928 [ --enable-mga Linux kernel Matrox support (default disabled)],
3929 [ if test "${enable_mga}" = "yes"
3931 VLC_ADD_PLUGINS([mga])
3937 AC_ARG_ENABLE(svgalib,
3938 [ --enable-svgalib SVGAlib support (default disabled)])
3939 if test "${enable_svgalib}" = "yes"
3941 VLC_ADD_PLUGINS([svgalib])
3942 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3948 AC_ARG_ENABLE(directfb,
3949 [ --enable-directfb DirectFB support (default disabled)])
3950 if test "${enable_directfb}" = "yes"
3952 if test "${with_directfb}" = "no"
3954 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3955 if test "${have_directfb}"= "true"
3957 VLC_ADD_PLUGINS([directfb])
3958 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3959 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
3961 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
3964 CPPFLAGS_save="${CPPFLAGS}"
3965 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
3966 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
3967 CPPFLAGS="${CPPFLAGS_save}"
3968 AC_ARG_WITH(directfb,
3969 [ --with-directfb=PATH path to directfb],
3970 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
3972 VLC_ADD_PLUGINS([directfb])
3973 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
3974 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
3976 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
3984 [ --enable-ggi GGI support (default disabled)])
3985 if test "${enable_ggi}" = "yes"
3987 VLC_ADD_PLUGINS([ggi])
3988 VLC_ADD_LDFLAGS([ggi],[-lggi])
3990 [ --with-ggi=PATH path to libggi],
3991 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3993 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3994 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4001 AC_ARG_ENABLE(glide,
4002 [ --enable-glide Glide (3dfx) support (default disabled)])
4003 if test "${enable_glide}" = "yes"
4005 CFLAGS_save="${CFLAGS}"
4007 [ --with-glide=PATH path to libglide],
4008 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4010 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4011 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4012 CFLAGS="$CFLAGS -I${with_glide}/include"
4014 CFLAGS="$CFLAGS -I/usr/include/glide"
4015 AC_CHECK_HEADER(glide.h,[
4016 VLC_ADD_PLUGINS([glide])
4017 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4018 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4020 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4022 CFAGS="${CFLAGS_save}"