1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="$0 $ac_configure_args"
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
18 AM_INIT_AUTOMAKE([1.7 check-news dist-bzip2])
19 AM_CONFIG_HEADER(config.h)
21 dnl Too many people are not aware of maintainer mode:
22 dnl If you want to use it, you definitely know what you are doing, so
23 dnl you can specify "--disable-maintainer-mode". But if you want the default
24 dnl automake behavior, you've likely never heard of maintainer mode, so we
25 dnl can't expect you to enable it manually.
27 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
28 [enable_maintainer_mode="yes"])
42 AC_USE_SYSTEM_EXTENSIONS
47 _AM_DEPENDENCIES([OBJC])
53 dnl Find the right ranlib, even when cross-compiling
54 AC_CHECK_TOOL(RANLIB, ranlib, :)
55 AC_CHECK_TOOL(STRIP, strip, :)
56 AC_CHECK_TOOL(AR, ar, :)
57 AC_CHECK_TOOL(LD, ld, :)
58 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
60 dnl Check for compiler properties
66 dnl Check for the contrib directory
69 [ --without-contrib do not use the libraries in extras/contrib],[],[])
70 if test "${with_contrib}" != "no"; then
71 AC_MSG_CHECKING([for libs in extras/contrib])
73 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
74 topdir="`pwd`/$topdir"
76 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
77 if test "${with_contrib}" = "yes"; then
79 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
82 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
85 if test -d ${topdir}/extras/contrib/lib; then
87 export PATH=${topdir}/extras/contrib/bin:$PATH
88 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
89 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
90 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
91 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
92 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
93 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
95 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
96 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
97 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
99 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
101 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
102 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
104 dnl kludge because only the debian package provides a ffmpeg-config
105 if test -z $with_ffmpeg_config_path; then
106 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
108 if test -z $with_live555_tree; then
109 with_live555_tree=${topdir}/extras/contrib/src/live
111 if test -z $with_goom_tree; then
112 with_goom_tree=${topdir}/extras/contrib/src/goom
114 if test -z $with_mozilla_sdk_path; then
115 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
117 if test -z $with_cyberlink_tree; then
118 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
120 if test -z $with_libmpeg2_tree; then
121 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
124 if test ".`uname -s`" = ".Darwin"; then
125 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
126 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
127 elif test ".`uname -s`" = ".BeOS"; then
128 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
129 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
137 dnl Set default values
139 LDFLAGS_vlc="${LDFLAGS}"
142 dnl Check the operating system
153 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
154 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
158 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
161 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
162 CPPFLAGS="${CPPFLAGS_save}"
163 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
164 LDFLAGS="${LDLFAGS_save}"
171 CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
172 CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
173 OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
174 VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
175 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
176 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
177 VLC_ADD_CFLAGS([vlc],[-x objective-c])
178 VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
182 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
183 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
184 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
185 VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
186 VLC_ADD_CFLAGS([libvlc],[-x objective-c])
187 VLC_ADD_CFLAGS([vlc],[-x objective-c])
189 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
190 AC_CHECK_TOOL(WINDRES, windres, :)
198 dnl Check if we are using the mno-cygwin mode in which case we are
199 dnl actually dealing with a mingw32 compiler.
204 SYS=mingw32, SYS=cygwin)
206 *wince* | *mingwce* | *pe*)
211 if test "${SYS}" = "mingw32"; then
212 # add ws2_32 for closesocket, select, recv
213 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
214 VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
215 VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm])
216 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])
218 if test "${SYS}" = "mingwce"; then
219 # add ws2 for closesocket, select, recv
220 CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
221 VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
222 VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
223 VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
228 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
232 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
233 # Perhaps it is useful other places as well?
234 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
241 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
242 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
243 VLC_ADD_CXXFLAGS([beos],[])
244 VLC_ADD_LDFLAGS([vlc logger],[-lbe])
245 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
246 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
247 VLC_ADD_LDFLAGS([access_file],[-lpoll])
248 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
250 if test -f /boot/beos/system/lib/libbind.so; then
251 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lbind -lsocket])
253 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnet])
256 dnl Ugly check for Zeta
257 if test -f /boot/beos/system/lib/libzeta.so; then
258 VLC_ADD_LDFLAGS([beos],[-lzeta])
265 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
266 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
267 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
268 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
272 dnl It's very bad, but our former custom system was worst
277 dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
278 m4_undefine([AC_PROG_F77])
279 m4_defun([AC_PROG_F77],[])
282 AC_ARG_ENABLE(libtool,
283 [ --enable-libtool use libtool (default disabled)])
284 AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
288 dnl Check for Mac OS X SDK settings
290 AC_ARG_WITH(macosx-sdk,
291 [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no)
292 if test "${with_macosx_sdk}" != "no" ; then
293 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}"
294 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}"
295 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}"
296 LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}"
297 export MACOSX_DEPLOYMENT_TARGET=10.3
298 MACOSX_DEPLOYMENT_TARGET="10.3"
304 ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my nb ne nl nn no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
305 AM_GNU_GETTEXT_VERSION(0.11.5)
307 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
308 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
309 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
310 AS_IF([test "${enable_libtool}" != "no"], [
311 INCLUDED_LIBINTL="${LTLIBINTL}"
313 INCLUDED_LIBINTL="${LIBINTL}"
316 AS_IF([test "${enable_libtool}" != "no"], [
317 VLC_ADD_LDFLAGS([vlc], [${LTLIBINTL}])
319 VLC_ADD_LDFLAGS([vlc], [${LIBINTL}])
322 AC_SUBST(INCLUDED_LIBINTL)
323 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
328 if test "${SYS}" != "mingwce"; then
329 AS_IF([test "$am_cv_func_iconv" != "yes"],
330 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
332 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
333 AS_IF([test "${enable_libtool}" != "no"], [
334 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
336 VLC_ADD_LDFLAGS([vlc],[${LTLIBICONV}])
339 dnl Check for the need to include the mingwex lib for mingw32
340 if test "${SYS}" = "mingw32"
342 AC_CHECK_LIB(mingwex,opendir,
343 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
344 [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
348 dnl Check for fnative-struct or mms-bitfields support for mingw32
349 if test "${SYS}" = "mingw32"
351 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
352 [ac_cv_c_mms_bitfields],
353 [CFLAGS="${CFLAGS_save} -mms-bitfields"
354 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
355 if test "${ac_cv_c_mms_bitfields}" != "no"; then
356 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
357 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
359 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
360 [ac_cv_c_fnative_struct],
361 [CFLAGS="${CFLAGS_save} -fnative-struct"
362 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
363 if test "${ac_cv_c_fnative_struct}" != "no"; then
364 CFLAGS_save="${CFLAGS_save} -fnative-struct";
365 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
369 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
372 dnl Check for fvtable-thunks support for mingw32
373 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
376 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
377 [ac_cv_cxx_fvtable_thunks],
378 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
379 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
380 ac_cv_cxx_fvtable_thunks=no)])
381 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
382 CXXFLAGS_mingw32_special="-fvtable-thunks"
385 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
389 dnl Plugin compilation stuff
396 AS_IF([test "${enable_libtool}" = "no"], [
399 VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
400 VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
401 VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
406 VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
407 VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
408 VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
409 VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
414 dnl The -DSYS_FOO flag
415 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
417 dnl Check for system libs needed
420 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)
422 dnl Check for usual libc functions
423 AC_CHECK_FUNCS(strdup strndup atof)
424 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
425 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
426 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
428 dnl Check for setlocal and langinfo
429 AC_CHECK_FUNCS(setlocale)
430 AC_CHECK_HEADERS(langinfo.h)
431 AC_CHECK_FUNCS(nl_langinfo)
433 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
434 [AC_TRY_LINK([#include <langinfo.h>],
435 [char* cs = nl_langinfo(CODESET);],
436 ac_cv_langinfo_codeset=yes,
437 ac_cv_langinfo_codeset=no)
439 if test ${ac_cv_langinfo_codeset} = yes; then
440 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
441 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
444 AC_CHECK_FUNCS(connect,,[
445 AC_CHECK_LIB(socket,connect,[
446 VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lsocket)
447 LIBS_socket="-lsocket"
451 AC_CHECK_FUNCS(send,,[
452 AC_CHECK_LIB(socket,send,[
453 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
457 AC_CHECK_FUNCS(gethostbyname,,[
458 AC_CHECK_LIB(nsl,gethostbyname,[
459 VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl])
461 AC_CHECK_LIB(bind,gethostbyname,[
462 VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
467 dnl Check for socklen_t
468 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
470 [#include <sys/types.h>
471 #include <sys/socket.h>],
472 [socklen_t len = 42; return len;],
473 ac_cv_type_socklen_t=yes,
474 ac_cv_type_socklen_t=no)])
475 if test "${ac_cv_type_socklen_t}" != "no"; then
476 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
479 dnl Check for struct sockaddr_storage
480 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
481 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
482 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
484 [#include <sys/types.h>
485 #if defined( UNDER_CE )
486 # include <winsock.h>
487 #elif defined( WIN32 )
488 # include <winsock2.h>
490 # include <sys/socket.h>
491 #endif], [struct sockaddr_storage addr;],
492 ac_cv_struct_sockaddr_storage=yes,
493 ac_cv_struct_sockaddr_storage=no)])
494 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
495 AC_DEFINE(sockaddr_storage, sockaddr)
496 AC_DEFINE(ss_family, sa_family)
499 dnl getaddrinfo, getnameinfo and gai_strerror check
500 dnl -lnsl and -lsocket are needed on Solaris;
501 dnl we purposedly make the test fail on Windows
503 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
504 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
506 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
509 AC_CHECK_FUNCS([getnameinfo gai_strerror])
512 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
513 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
514 [#include <sys/types.h>
515 #if defined( WIN32 ) || defined( UNDER_CE )
516 # if defined(UNDER_CE) && defined(sockaddr_storage)
517 # undef sockaddr_storage
519 # include <winsock2.h>
520 # include <ws2tcpip.h>
525 dnl Check for va_copy
526 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
528 [#include <stdarg.h>],
529 [va_list ap1, ap2; va_copy(ap1,ap2);],
530 [ac_cv_c_va_copy="yes"],
531 [ac_cv_c_va_copy="no"]))
532 if test "${ac_cv_c_va_copy}" = "yes"; then
533 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
535 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
537 [#include <stdarg.h>],
538 [va_list ap1, ap2; __va_copy(ap1,ap2);],
539 [ac_cv_c___va_copy="yes"],
540 [ac_cv_c___va_copy="no"]))
541 if test "${ac_cv_c___va_copy}" = "yes"; then
542 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
545 AC_CHECK_FUNCS(inet_aton,,[
546 AC_CHECK_LIB(resolv,inet_aton,[
547 VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
551 dnl Check for getopt (always use builtin one on win32)
552 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
556 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
557 [ # FreeBSD has a gnugetopt library for this:
558 AC_CHECK_LIB([gnugetopt],[getopt_long],
559 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
560 VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
563 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
565 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
568 VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm])
571 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
573 AC_CHECK_LIB(m,sqrt,[
574 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres],[-lm])
576 AC_CHECK_LIB(m,ceil,[
577 VLC_ADD_LDFLAGS([mosaic],[-lm])
579 AC_CHECK_LIB(mx,sqrtf,[
580 VLC_ADD_LDFLAGS([x264],[-lmx])
582 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
584 dnl Check for dynamic plugins
585 ac_cv_have_plugins=no
588 AC_CHECK_HEADERS(mach-o/dyld.h,
589 [AC_CHECK_FUNCS(NSLinkModule,
590 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
591 ac_cv_have_plugins=yes])])
594 if test "${ac_cv_have_plugins}" = "no"; then
595 AC_CHECK_HEADERS(dl.h)
596 ac_cv_my_have_shl_load=no
597 AC_CHECK_FUNC(shl_load,
598 [ac_cv_my_have_shl_load=yes,
599 AC_CHECK_LIB(dld, shl_load,
600 [ac_cv_my_have_shl_load=yes
601 VLC_ADD_LDFLAGS([vlc],[-ldld])])])
602 if test "${ac_cv_my_have_shl_load}" = "yes"; then
603 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
604 ac_cv_have_plugins=yes
609 if test "${ac_cv_have_plugins}" = "no"; then
610 AC_CHECK_LIB(dld, dld_link,
611 [VLC_ADD_LDFLAGS([vlc],[-ldld])
612 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
613 ac_cv_have_plugins=yes])
617 if test "${ac_cv_have_plugins}" = "no"; then
618 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
619 AC_CHECK_LIB(kernel32, main,
620 [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
621 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
622 ac_cv_have_plugins=yes])
627 if test "${ac_cv_have_plugins}" = "no"; then
628 if test "${SYS}" = "mingwce"; then
629 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
630 ac_cv_have_plugins=yes
635 if test "${ac_cv_have_plugins}" = "no"; then
636 AC_CHECK_HEADERS(image.h)
637 AC_CHECK_FUNCS(load_add_on,
638 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
639 ac_cv_have_plugins=yes])
642 # Only test for dlopen() if the others didn't work
643 if test "${ac_cv_have_plugins}" = "no"; then
644 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
645 ac_cv_my_have_dlopen=no
646 AC_CHECK_FUNC(dlopen,
647 ac_cv_my_have_dlopen=yes,
648 AC_CHECK_LIB(dl, dlopen,
649 ac_cv_my_have_dlopen=yes
650 VLC_ADD_LDFLAGS([vlc],[-ldl]),
651 AC_CHECK_LIB(svld, dlopen,
652 ac_cv_my_have_dlopen=yes
653 VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
654 if test "${ac_cv_my_have_dlopen}" = "yes"; then
655 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
656 ac_cv_have_plugins=yes
660 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
661 dnl Check for pthreads - borrowed from XMMS
663 if test "${THREAD_LIB}" = "error"; then
664 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
666 if test "${THREAD_LIB}" = "error"; then
667 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
669 if test "${THREAD_LIB}" = "error"; then
670 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
672 if test "${THREAD_LIB}" = "error"; then
673 AC_CHECK_FUNCS(pthread_mutex_lock)
677 dnl Check for cthreads under GNU/Hurd for instance
678 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
681 dnl GNU portable threads
684 [ --enable-pth GNU Pth support (default disabled)],
685 [ if test "${enable_pth}" = "yes"; then
686 AC_CHECK_LIB(pth,pth_init)
687 AC_MSG_CHECKING(for pth_init in pth.h)
688 AC_EGREP_HEADER(pth_init,pth.h,[
690 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
691 Define if <pth.h> defines pth_init)
703 [ --enable-st State Threads (default disabled)],
704 [ if test "${enable_st}" = "yes"; then
705 AC_CHECK_LIB(st,st_init)
706 AC_MSG_CHECKING(for st_init in st.h)
707 AC_EGREP_HEADER(st_init,st.h,[
709 AC_DEFINE(ST_INIT_IN_ST_H, 1,
710 Define if <st.h> defines st_init)
718 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
720 dnl Don't link with rt when using GNU-pth
721 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
722 AC_CHECK_LIB(rt, clock_nanosleep, [
723 VLC_ADD_LDFLAGS([vlc],[-lrt])
724 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
727 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
731 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
732 AC_CHECK_LIB(rt,nanosleep,
733 [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
734 [AC_CHECK_LIB(posix4,nanosleep,
735 [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
738 if ${have_nanosleep}; then
739 AC_DEFINE(HAVE_NANOSLEEP, 1,
740 Define if nanosleep is available.)
744 dnl Check for misc headers
745 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
746 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
748 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
749 Define if <pthread.h> defines pthread_cond_t.)],[
752 AC_MSG_CHECKING(for pthread_once in pthread.h)
753 AC_EGREP_HEADER(pthread_once,pthread.h,[
755 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
756 Define if <pthread.h> defines pthread_once.)],[
758 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
760 AC_MSG_CHECKING(for strncasecmp in strings.h)
761 AC_EGREP_HEADER(strncasecmp,strings.h,[
763 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
764 Define if <strings.h> defines strncasecmp.)],[
767 dnl Check for headers
768 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)
769 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
770 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
771 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
772 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
773 AC_CHECK_HEADERS(linux/version.h)
774 AC_CHECK_HEADERS(syslog.h)
775 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
779 AC_CHECK_TYPE(ssize_t, int)
780 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
784 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
785 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
787 dnl Mac OS X and other OSes don't have declaration for nanosleep
788 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
789 AC_MSG_CHECKING(for nanosleep in time.h)
790 AC_EGREP_HEADER(nanosleep,time.h,[
792 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
793 Define if <time.h> defines nanosleep.)
797 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
799 dnl Make sure we have timespecs
800 AC_MSG_CHECKING(for timespec in sys/time.h)
801 AC_EGREP_HEADER(timespec,sys/time.h,[
803 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
804 Define if <sys/time.h> defines struct timespec.)
809 dnl Check for threads library
810 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
811 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
812 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
814 dnl Find where are the X headers and libraries
817 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.
819 PKG_PROG_PKG_CONFIG()
823 [ --enable-hal Linux HAL services discovery (default enabled)])
825 if test "${enable_hal}" != "no"
827 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
828 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
829 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
830 VLC_ADD_PLUGINS([hal probe_hal])
831 VLC_ADD_LDFLAGS([vlc hal probe_hal],[$HAL_LIBS])
832 VLC_ADD_CFLAGS([vlc hal probe_hal],[$HAL_CFLAGS])],
833 dnl No hal 0.5 Test for 0.2
834 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
835 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
836 VLC_ADD_PLUGINS([hal])
837 VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
838 VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
839 [AC_MSG_WARN(HAL library not found)])
846 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
848 if test "${enable_dbus}" != "no"
850 PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
851 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
852 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
853 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
854 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
855 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
857 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
858 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
859 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
860 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
861 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
863 [ PKG_CHECK_MODULES( DBUS, dbus-1,
864 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
865 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
866 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
867 [AC_MSG_WARN(DBUS library not found)])
873 dnl Build the gtk_main plugins?
879 dnl build the qte plugin ?
882 dnl Check for ntohl, etc.
883 AC_CACHE_CHECK([for ntohl in sys/param.h],
884 [ac_cv_c_ntohl_sys_param_h],
885 [CFLAGS="${CFLAGS_save} -Wall -Werror"
886 AC_TRY_COMPILE([#include <sys/param.h>],
887 [int meuh; ntohl(meuh);],
888 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
889 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
890 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
892 CFLAGS="${CFLAGS_save}"
894 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes packed volatile-register-var])
895 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
897 dnl This helps detect broken plugins with undefined symbols
898 dnl Better fail loudly at build-time than silenty at run-time.
899 RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
900 VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
903 dnl Check for various optimization flags
904 AC_CACHE_CHECK([if \$CC accepts -Os],
906 [CFLAGS="${CFLAGS_save} -Os"
907 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
908 if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
909 CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
912 AC_CACHE_CHECK([if \$CC accepts -O3],
914 [CFLAGS="${CFLAGS_save} -O3"
915 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
916 if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
917 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
920 AC_CACHE_CHECK([if \$CC accepts -O2],
922 [CFLAGS="${CFLAGS_save} -O2"
923 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
924 if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
925 if test "${ac_cv_c_o3}" = "no"; then
926 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
928 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
930 AC_CACHE_CHECK([if \$CC accepts -O],
932 [CFLAGS="${CFLAGS_save} -O"
933 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
934 if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
935 if test "${ac_cv_c_o3}" = "no"; then
936 CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
938 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
942 dnl Check for -ffast-math
943 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
945 [CFLAGS="${CFLAGS_save} -ffast-math"
946 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
947 if test "${ac_cv_c_fast_math}" != "no"; then
948 CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
951 dnl Check for -funroll-loops
952 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
953 if test "${SYS}" != "beos"
955 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
956 [ac_cv_c_unroll_loops],
957 [CFLAGS="${CFLAGS_save} -funroll-loops"
958 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
959 if test "${ac_cv_c_unroll_loops}" != "no"; then
960 CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
964 dnl Check for -fomit-frame-pointer
965 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
966 [ac_cv_c_omit_frame_pointer],
967 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
968 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
969 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
970 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
971 # this plugin does not compile without -fomit-frame-pointer, damn gcc!
972 VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
975 dnl Check for -mdynamic-no-pic
976 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
977 [ac_cv_c_dynamic_no_pic],
978 [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
979 AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
980 AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [
981 VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
982 VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
985 dnl Check for Darwin plugin linking flags
986 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
988 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
989 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
990 if test "${ac_cv_ld_darwin}" != "no"; then
991 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
994 dnl Check for standard plugin linking flags
995 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
996 AS_IF([test "${enable_libtool}" = "no"], [
997 AS_IF([test "${SYS}" = "beos"], [
998 VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1000 AC_CACHE_CHECK([if \$CC accepts -shared],
1002 [CFLAGS="${CFLAGS_save} -shared"
1003 AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1004 AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1005 VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1010 dnl Check for variadic macros
1011 AC_CACHE_CHECK([for variadic cpp macros],
1012 [ac_cv_cpp_variadic_macros],
1013 [CFLAGS="${CFLAGS_save}"
1016 #define a(b,c...) printf(b,##c)],
1017 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1018 ac_cv_cpp_variadic_macros=yes,
1019 ac_cv_cpp_variadic_macros=no)])
1020 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1021 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1024 dnl Checks for __attribute__(aligned()) directive
1025 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1026 [ac_cv_c_attribute_aligned],
1027 [ac_cv_c_attribute_aligned=0
1028 CFLAGS="${CFLAGS_save} -Werror"
1029 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1031 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1032 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1034 CFLAGS="${CFLAGS_save}"])
1035 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1036 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1037 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1040 dnl Checks for __attribute__(format()) directive
1041 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1042 [ac_cv_c_attribute_format],
1043 [ac_cv_c_attribute_format=no
1044 CFLAGS="${CFLAGS_save} -Werror"
1046 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1047 [ac_cv_c_attribute_format=yes])
1048 CFLAGS="${CFLAGS_save}"])
1049 if test "${ac_cv_c_attribute_format}" != "no"; then
1050 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1053 dnl Check for __attribute__(())
1054 AC_CACHE_CHECK([for __attribute__((packed))],
1055 [ac_cv_c_attribute_packed],
1056 [ac_cv_c_attribute_packed=no
1057 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1058 [ac_cv_c_attribute_packed=yes])])
1059 if test "${ac_cv_c_attribute_packed}" != "no"; then
1060 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1066 case "${host_cpu}" in
1076 dnl Enable profiling
1078 AC_ARG_ENABLE(gprof,
1079 [ --enable-gprof gprof profiling (default disabled)])
1080 AC_ARG_ENABLE(cprof,
1081 [ --enable-cprof cprof profiling (default disabled)])
1082 test "${enable_gprof}" != "yes" && enable_gprof="no"
1083 test "${enable_cprof}" != "yes" && enable_cprof="no"
1088 VLC_ADD_PLUGINS([dummy logger memcpy])
1089 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta])
1090 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
1091 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise])
1092 VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32 mono])
1093 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1094 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1095 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
1096 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
1097 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1098 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1099 VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
1100 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1101 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1104 if test "${SYS}" != "mingwce"; then
1105 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1106 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
1107 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
1108 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1109 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1110 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1111 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1112 VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format])
1116 dnl Switch to enable a version of VLC where most modules will be builtin
1118 AC_ARG_ENABLE(mostly-builtin,
1119 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1120 if test "${enable_mostly_builtin}" = "yes"; then
1121 VLC_ADD_BUILTINS([${PLUGINS}])
1126 dnl Some plugins aren't useful on some platforms
1128 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1129 VLC_ADD_PLUGINS([screensaver motion])
1130 elif test "${SYS}" != "mingwce"; then
1131 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1132 VLC_ADD_LDFLAGS([dmo],[-lole32])
1134 VLC_ADD_PLUGINS([win32text])
1138 dnl Accelerated modules
1140 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1141 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1142 MMXEXT_MODULES="memcpymmxext"
1143 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1144 THREEDNOW_MODULES="memcpy3dn"
1146 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1147 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1149 if test "${enable_gprof}" != "yes"
1151 MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1154 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1156 [CFLAGS="${CFLAGS_save}"
1157 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1158 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1159 if test "${ac_cv_mmx_inline}" != "no"; then
1160 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1161 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1164 dnl Check for fully workin MMX intrinsics
1165 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1166 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1167 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1168 [ac_cv_c_mmx_intrinsics],
1169 [CFLAGS="${CFLAGS_save} -O -mmmx"
1170 AC_TRY_COMPILE([#include <mmintrin.h>
1174 a = b = c = (__m64)frobzor;
1175 a = _mm_slli_pi16(a, 3);
1176 a = _mm_adds_pi16(a, b);
1177 c = _mm_srli_pi16(c, 8);
1178 c = _mm_slli_pi16(c, 3);
1179 b = _mm_adds_pi16(b, c);
1180 a = _mm_unpacklo_pi8(a, b);
1181 frobzor = (uint64_t)a;],
1182 [ac_cv_c_mmx_intrinsics=yes],
1183 [ac_cv_c_mmx_intrinsics=no])])
1184 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1185 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1186 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1189 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1190 [ac_cv_mmxext_inline],
1191 [CFLAGS="${CFLAGS_save}"
1192 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1193 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1194 if test "${ac_cv_mmxext_inline}" != "no"; then
1195 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1196 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1199 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1200 [ac_cv_3dnow_inline],
1201 [CFLAGS="${CFLAGS_save}"
1202 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1203 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1204 if test "${ac_cv_3dnow_inline}" != "no"; then
1205 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1206 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1209 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1211 [CFLAGS="${CFLAGS_save}"
1212 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1213 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1214 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1215 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1216 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1219 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1220 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1221 [ac_cv_altivec_inline],
1222 [CFLAGS="${CFLAGS_save}"
1223 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1224 ac_cv_altivec_inline=yes,
1225 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1226 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1227 [ac_cv_altivec_inline="-Wa,-m7400"],
1228 ac_cv_altivec_inline=no)
1230 if test "${ac_cv_altivec_inline}" != "no"; then
1231 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1232 if test "${ac_cv_altivec_inline}" != "yes"; then
1233 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1234 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1235 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1236 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1237 VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1239 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1242 dnl The AltiVec C extensions
1244 dnl There are several possible cases:
1245 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1246 dnl need <altivec.h>
1247 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1248 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1249 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1250 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1251 dnl - Others: test should fail
1252 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1254 [# OS X/PPC test (gcc 4.x)
1255 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1256 AC_TRY_COMPILE([vector unsigned char foo;],
1257 [vec_ld(0, (unsigned char *)0);],
1258 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1259 [# OS X/PPC test (gcc 3.x)
1260 CFLAGS="${CFLAGS_save} -faltivec"
1261 AC_TRY_COMPILE([vector unsigned char foo;],
1262 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1263 [ac_cv_c_altivec="-faltivec"],
1264 dnl Below this are the Linux tests
1265 [# Linux/PPC test (gcc 4.x)
1266 CFLAGS="${CFLAGS_save} -maltivec"
1267 AC_TRY_COMPILE([#include <altivec.h>],
1268 [vec_ld(0, (unsigned char *)0);],
1269 [ac_cv_c_altivec="-maltivec"],
1270 [# Linux/PPC test (gcc 3.3)
1271 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1272 AC_TRY_COMPILE([#include <altivec.h>],
1273 [vec_ld(0, (unsigned char *)0);],
1275 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1276 [# Linux/PPC test (gcc 3.3)
1277 CFLAGS="${CFLAGS_save} -fvec"
1278 AC_TRY_COMPILE([#include <altivec.h>],
1279 [vec_ld(0, (unsigned char *)0);],
1280 [ac_cv_c_altivec="-fvec"],
1281 [ac_cv_c_altivec=no])
1286 CFLAGS="${CFLAGS_save}"
1289 if test "${ac_cv_c_altivec}" != "no"; then
1290 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1292 AC_CHECK_HEADERS(altivec.h)
1293 CPPFLAGS="${CPPFLAGS_save}"
1295 if test "${ac_cv_c_altivec}" != "no"; then
1296 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1297 VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1298 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1299 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1300 if test "${ac_cv_altivec_inline}" = "no"; then
1301 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1305 AC_CACHE_CHECK([if linker needs -framework vecLib],
1307 [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1308 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1309 LDFLAGS="${LDFLAGS_save}"
1311 if test "${ac_cv_ld_altivec}" != "no"; then
1312 VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1314 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1317 AC_ARG_WITH(,[Optimization options:])
1320 dnl Special arch tuning
1323 [ --with-tuning=ARCH enable special tuning for an architecture
1324 (default Pentium 2 on IA-32 and G4 on PPC)])
1325 if test -n "${with_tuning}"; then
1326 if test "${with_tuning}" != "no"; then
1327 CFLAGS_TUNING="-mtune=${with_tuning}"
1330 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1331 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1332 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1333 CFLAGS_TUNING="-mtune=pentium2"
1334 elif test "${host_cpu}" = "x86_64"; then
1335 CFLAGS_TUNING="-mtune=athlon64"
1336 elif test "${host_cpu}" = "powerpc"; then
1337 CFLAGS_TUNING="-mtune=G4";
1341 dnl NOTE: this can't be cached cleanly
1342 AS_IF([test "${CFLAGS_TUNING}"],
1343 [CFLAGS_save="${CFLAGS}"
1344 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1346 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1347 AC_COMPILE_IFELSE([ ],
1349 [CFLAGS_TUNING=""; tuning="no"
1350 AS_IF([test "${with_tuning}"],
1351 [AC_MSG_ERROR([requested tuning not supported])])])
1353 AC_MSG_RESULT([$tuning])
1354 CFLAGS="${CFLAGS_save}"
1358 dnl x86 accelerations
1360 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64"
1363 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1369 AC_ARG_ENABLE(optimize-memory,
1370 [ --enable-optimize-memory optimize memory usage over performance])
1371 if test "${enable_optimize_memory}" = "yes"; then
1372 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1376 dnl Enable/disable optimizations
1378 AC_ARG_ENABLE(optimizations,
1379 [ --disable-optimizations disable compiler optimizations (default enabled)])
1380 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1383 dnl AltiVec acceleration
1385 AC_ARG_ENABLE(altivec,
1386 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1387 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1388 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1389 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1390 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1395 AC_ARG_ENABLE(debug,
1396 [ --enable-debug debug mode (default disabled)])
1397 test "${enable_debug}" != "yes" && enable_debug="no"
1399 [Define to 1 if debug code should NOT be compiled])
1400 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1403 dnl Enable release-specific flags
1405 AC_ARG_ENABLE(release,
1406 [ --enable-release activate extra optimizations (default disabled)])
1407 test "${enable_release}" != "yes" && enable_release="no"
1410 dnl Is the shared libvlc forced ?
1412 AC_ARG_ENABLE(shared-libvlc,
1413 [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)])
1414 AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [
1415 AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive])
1422 [ --enable-sout Stream output modules (default enabled)])
1423 if test "${enable_sout}" != "no"
1425 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1426 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1427 VLC_ADD_PLUGINS([packetizer_copy])
1429 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1430 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1431 # VLC_ADD_PLUGINS([stream_out_transrate])
1432 VLC_ADD_PLUGINS([profile_parser])
1434 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1437 AC_ARG_ENABLE(switcher,
1438 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1440 dnl Check for libshout
1441 AC_ARG_ENABLE(shout,
1442 [ --enable-shout libshout output plugin (default disabled)])
1443 if test "${enable_shout}" = "yes"; then
1444 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1445 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1446 VLC_ADD_PLUGINS([access_output_shout])
1447 VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1448 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1449 [AC_MSG_WARN(libshout library not found)])
1455 AC_ARG_ENABLE(httpd,
1456 [ --enable-httpd HTTP daemon (default enabled)])
1457 if test "${enable_httpd}" != "no"
1459 VLC_ADD_PLUGINS([http])
1460 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1464 dnl VideoLAN manager
1467 [ --enable-vlm VideoLAN manager (default enabled)])
1468 if test "${enable_vlm}" != "no"
1470 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1474 dnl Growl notification plugin
1476 AC_ARG_ENABLE(growl,
1477 [ --enable-growl growl notification plugin (default enabled)])
1478 AS_IF([test "${enable_growl}" != "no"], [
1479 VLC_ADD_PLUGINS([growl])
1484 dnl Libnotify notification plugin
1487 AC_ARG_ENABLE(notify,
1488 [ --enable-notify libnotify notification plugin (default enabled)])
1489 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1490 PKG_CHECK_MODULES(NOTIFY, libnotify,
1492 VLC_ADD_PLUGINS([notify])
1493 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1494 VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1496 AS_IF([test "${enable_notify}" = "yes"],[
1497 AC_MSG_WARN( libnotify not found) ])
1502 dnl Audioscrobbler plugin
1505 AC_ARG_ENABLE(audioscrobbler,
1506 [ --enable-audioscrobbler Last.fm submission plugin (default disabled)])
1507 AS_IF([test "${enable_audioscrobbler}" = "yes"], [
1508 VLC_ADD_PLUGINS([audioscrobbler])
1512 dnl Musicbrainz plugin
1514 AC_ARG_ENABLE(musicbrainz,
1515 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1516 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1517 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1518 [ VLC_ADD_PLUGINS([musicbrainz])
1519 VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS])
1520 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1521 [AC_MSG_WARN(MusicBrainz library not found)])
1528 AC_ARG_ENABLE(taglib,
1529 [ --enable-taglib Taglib support (default disabled) ])
1530 AS_IF([test "${enable_taglib}" = "yes"],[
1531 PKG_CHECK_MODULES(TAGLIB, taglib,
1532 [ VLC_ADD_PLUGINS([taglib])
1533 VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS])
1534 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1535 [AC_MSG_WARN(TagLib library not found)])
1543 AC_ARG_WITH(,[Input plugins:])
1547 if test "${enable_livedotcom}"
1549 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1552 if test "${enable_livedotcom}" = "no"
1556 AC_ARG_ENABLE(live555,
1557 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1558 if test "${enable_live555}" != "no"; then
1559 AC_ARG_WITH(live555-tree,
1560 [ --with-live555-tree=PATH live.com tree for static linking])
1563 dnl test for --with-live555-tree
1565 if test "${with_livedotcom_tree}"
1567 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1568 with_live555_tree="${with_livedotcom_tree}"
1571 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1573 CPPFLAGS_save="${CPPFLAGS}"
1574 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1575 if test "${SYS}" = "solaris"; then
1576 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1578 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1579 AC_CHECK_HEADERS(liveMedia.hh, [
1580 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1581 AC_CHECK_LIB(liveMedia_pic, main, [
1582 # We have -lliveMedia_pic, build plugins
1583 VLC_ADD_PLUGINS([live555])
1584 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1586 AC_CHECK_LIB(liveMedia, main, [
1587 # We only have -lliveMedia, do builtins
1588 VLC_ADD_BUILTINS([live555])
1589 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1592 if test "${SYS}" = "mingw32"; then
1593 # add ws2_32 for closesocket, select, recv
1594 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1597 CPPFLAGS="${CPPFLAGS_save}"
1600 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1601 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1602 if test -z "${real_live555_tree}"; then
1603 dnl The given directory can't be found
1605 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1607 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1608 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1610 VLC_ADD_BUILTINS([live555])
1612 if test "${SYS}" = "mingw32"; then
1613 # add ws2_32 for closesocket, select, recv
1614 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1617 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1618 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1619 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1620 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1622 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1623 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1624 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1625 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1626 if test "${SYS}" = "solaris"; then
1627 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1630 dnl The given live555 wasn't built
1632 if test "${enable_live555}" = "yes"; then
1633 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1640 dnl dv module: digital video module check for libraw1394
1643 [ --enable-dv dv input module (default disabled)])
1644 if test "${enable_dv}" = "yes"
1646 AC_ARG_WITH(dv-raw1394,
1647 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1648 AC_ARG_WITH(dv-raw1394-tree,
1649 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1651 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1653 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1654 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1656 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1658 VLC_ADD_PLUGINS([access_dv])
1659 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1660 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1662 dnl No libraw1394 could be found, sorry
1664 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1667 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1668 [ VLC_ADD_PLUGINS([access_dv])
1669 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1671 if test -n "${enable_dv}"
1673 AC_MSG_ERROR([cannot find libraw1394 headers])
1678 dnl Check for static linking of libraw1394
1679 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1681 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1682 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1683 if test -z "${real_dv_raw1394_tree}"
1685 dnl The given directory can't be found
1687 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1689 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1691 dnl Use a custom libraw1394
1692 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1693 VLC_ADD_BUILTINS([access_dv])
1694 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1695 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1697 dnl The given libraw1394 wasn't built
1699 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1704 dnl Check for libavc1394
1707 AC_ARG_WITH(dv-avc1394,
1708 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1709 AC_ARG_WITH(dv-avc1394-tree,
1710 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1712 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1714 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1715 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1717 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1719 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1720 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1722 dnl No libavc1394 could be found, sorry
1724 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1727 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1728 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1730 if test -n "${enable_dv}"
1732 AC_MSG_ERROR([cannot find libavc1394 headers])
1737 dnl Check for static linking of libavc1394
1738 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1740 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1741 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1742 if test -z "${real_dv_avc1394_tree}"
1744 dnl The given directory can't be found
1746 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1748 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1750 dnl Use a custom libavc1394
1751 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1752 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1753 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1755 dnl The given libavc1394 wasn't built
1757 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1763 dnl dvdread module: check for libdvdread
1765 AC_ARG_ENABLE(dvdread,
1766 [ --enable-dvdread dvdread input module (default disabled)])
1767 if test "${enable_dvdread}" != "no"
1769 AC_ARG_WITH(dvdread,
1770 [ --with-dvdread=PATH libdvdread headers and libraries])
1771 AC_ARG_WITH(dvdread-tree,
1772 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1774 dnl Temporary hack (yeah, sure ;)
1775 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1776 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1779 if test -z "${with_dvdread}"
1781 if test -z "${with_dvdread_tree}"
1783 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1784 [ VLC_ADD_PLUGINS([dvdread])
1785 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1787 if test -n "${enable_dvdread}"
1789 AC_MSG_ERROR([cannot find libdvdread headers])
1793 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1794 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1795 if test -z "${real_dvdread_tree}"
1797 dnl The given directory can't be found
1799 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1801 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1803 dnl Use a custom libdvdread
1804 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1805 VLC_ADD_BUILTINS([dvdread])
1806 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1807 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1809 dnl The given libdvdread wasn't built
1811 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1815 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1816 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1818 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
1820 VLC_ADD_PLUGINS([dvdread])
1821 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1822 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1824 dnl No libdvdread could be found, sorry
1826 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1832 dnl libdvdnav plugin
1834 AC_ARG_ENABLE(dvdnav,
1835 [ --enable-dvdnav dvdnav input module (default enabled)])
1836 if test "${enable_dvdnav}" != "no"
1838 dnl Same hack than dvdread
1839 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1840 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1843 DVDNAV_PATH="${PATH}"
1844 AC_ARG_WITH(dvdnav-config-path,
1845 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1846 [ if test "${with_dvdnav_config_path}" != "no"
1848 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1850 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1851 if test "${DVDNAV_CONFIG}" != "no"
1853 VLC_ADD_PLUGINS([dvdnav])
1854 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1855 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1860 dnl Windows DirectShow access module
1862 AC_ARG_ENABLE(dshow,
1863 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
1864 if test "${enable_dshow}" != "no"
1866 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1869 AC_CHECK_HEADERS(dshow.h,
1870 [ VLC_ADD_PLUGINS([dshow])
1871 VLC_ADD_CXXFLAGS([dshow],[])
1872 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1879 dnl OpenCV wrapper and example filters
1881 AC_ARG_ENABLE(opencv,
1882 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
1883 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
1885 AC_ARG_WITH(opencv-tree,
1886 [ --with-opencv-tree=PATH opencv tree for linking])
1887 if test -n "${with_opencv_tree}"
1889 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1891 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
1892 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
1893 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
1896 VLC_ADD_PLUGINS([opencv_wrapper])
1897 VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
1898 VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
1900 VLC_ADD_PLUGINS([opencv_example])
1901 VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
1902 VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
1905 dnl No opencv could be found, sorry
1907 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
1910 AC_MSG_WARN([--enable-opencv currently only works on windows])
1917 dnl libsmbclient plugin
1920 [ --enable-smb smb input module (default enabled)])
1921 if test "${enable_smb}" != "no"; then
1922 AC_CHECK_HEADERS(libsmbclient.h,
1923 [ VLC_ADD_PLUGINS([access_smb])
1924 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1925 [ if test -n "${enable_smb}"; then
1926 AC_MSG_ERROR([cannot find libsmbclient headers])
1928 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1929 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1930 [#include <libsmbclient.h>])
1934 dnl libdvbpsi ts demux/mux
1936 AC_ARG_ENABLE(dvbpsi,
1937 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
1938 if test "${enable_dvbpsi}" != "no"
1941 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
1943 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1944 case "${with_dvbpsi}" in
1946 if test -z "${with_dvbpsi_tree}"
1948 AC_CHECK_HEADERS(dvbpsi/dr.h,
1949 [ VLC_ADD_PLUGINS([ts])
1950 if test "${enable_sout}" != "no"; then
1951 VLC_ADD_PLUGINS([mux_ts])
1953 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1954 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1955 [#if defined( HAVE_STDINT_H )
1956 # include <stdint.h>
1957 #elif defined( HAVE_INTTYPES_H )
1958 # include <inttypes.h>
1960 #include <dvbpsi/dvbpsi.h>
1961 #include <dvbpsi/descriptor.h>
1962 #include <dvbpsi/pat.h>
1963 #include <dvbpsi/pmt.h>])
1965 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1966 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1967 if test -z "${real_dvbpsi_tree}"
1969 dnl The given directory can't be found
1971 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1973 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1975 dnl Use a custom libdvbpsi
1976 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1977 VLC_ADD_BUILTINS([ts])
1978 if test "${enable_sout}" != "no"; then
1979 VLC_ADD_BUILTINS([mux_ts])
1981 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1982 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1984 dnl The given libdvbpsi wasn't built
1986 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1991 dnl Compile without dvbpsi
1994 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1995 if test -z "${with_dvbpsi}"
2000 LDFLAGS_test="-L${with_dvbpsi}/lib"
2001 CPPFLAGS_test="-I${with_dvbpsi}/include"
2003 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2004 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2005 VLC_ADD_PLUGINS([ts])
2006 if test "${enable_sout}" != "no"; then
2007 VLC_ADD_PLUGINS([mux_ts])
2009 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2010 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2013 if test -n "${enable_dvbpsi}"
2015 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])
2018 CPPFLAGS="${CPPFLAGS_save}"
2021 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2022 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2023 ], [], [${LDFLAGS_ts}])
2028 dnl Video4Linux plugin
2031 [ --enable-v4l Video4Linux input support (default disabled)])
2032 if test "${enable_v4l}" = "yes"
2035 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2036 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2038 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2041 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2042 AC_CHECK_HEADERS(linux/videodev.h, [
2043 VLC_ADD_PLUGINS([v4l])
2045 CPPFLAGS="${CPPFLAGS_save}"
2049 dnl Video4Linux plugin
2052 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2053 if test "${enable_v4l2}" = "yes"
2056 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2057 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2059 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2062 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2063 AC_CHECK_HEADERS(linux/videodev2.h, [
2064 VLC_ADD_PLUGINS([v4l2])
2066 CPPFLAGS="${CPPFLAGS_save}"
2071 dnl special access module for Hauppauge PVR cards
2074 [ --enable-pvr PVR cards access module (default disabled)])
2075 if test "${enable_pvr}" = "yes"
2077 VLC_ADD_PLUGINS([pvr])
2081 dnl gnomeVFS access module
2083 AC_ARG_ENABLE(gnomevfs,
2084 [ --enable-gnomevfs GnomeVFS access module (default enabled)])
2085 if test "${enable_gnomevfs}" != "no"
2087 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2088 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2089 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2090 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2091 VLC_ADD_PLUGINS([access_gnomevfs]),
2092 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2095 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2096 AC_ARG_ENABLE(libcdio,
2097 [ --enable-libcdio CD input and control library support (default enabled)])
2102 if test "${enable_libcdio}" != "no"
2104 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
2106 AC_DEFINE(HAVE_LIBCDIO, [],
2107 [Define if you have libcdio 0.72 or greater installed]),
2108 [AC_MSG_WARN(CD Reading and information library not found)])
2110 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
2111 [have_libvcdinfo=yes
2112 AC_DEFINE(HAVE_VCDINFO, [],
2113 [Define if you have libvcdinfo 0.7.21 or greater installed])],
2114 [AC_MSG_WARN(VCD information library not found)])
2118 dnl VCDX and CDDAX modules
2120 AC_ARG_ENABLE(cddax,
2121 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2123 AC_ARG_ENABLE(libcddb,
2124 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2126 if test "${enable_cddax}" = "yes"
2128 if test "$have_libcdio" = "yes"
2130 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2131 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2132 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2133 VLC_ADD_PLUGINS([cddax])
2134 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2135 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2136 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2138 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2142 if test "$enable_libcddb" != "no"; then
2143 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2145 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2146 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2147 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2149 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2156 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2158 if test "${enable_vcdx}" = "yes"
2160 if test "${have_libvcdinfo}" = "yes"
2162 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2163 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2165 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2169 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2170 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2171 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2172 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2175 if test "$have_libvcdinfo" = "yes"
2177 AC_DEFINE(HAVE_VCDX, [],
2178 [Define for the VCD plugin using libcdio/libvcdinfo])
2179 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2180 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2181 VLC_ADD_PLUGINS([vcdx])
2183 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2189 dnl Built-in CD-DA and VCD module
2192 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2195 [ --enable-vcd built-in VCD (default enabled)])
2197 if test "${enable_vcd}" != "no"
2199 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2200 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2202 VLC_ADD_PLUGINS([vcd cdda])
2207 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2208 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2210 VLC_ADD_PLUGINS([vcd cdda])
2211 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2216 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2217 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2219 VLC_ADD_PLUGINS([vcd cdda])
2220 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2225 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2227 VLC_ADD_PLUGINS([vcd cdda])
2230 if test "${SYS}" = "darwin"
2232 VLC_ADD_PLUGINS([vcd cdda])
2233 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2234 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2237 if test "$enable_libcddb" != "no"; then
2238 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2240 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2241 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2242 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2244 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2250 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2253 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2255 if test "${enable_dvb}" = "yes"
2258 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2259 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2261 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2263 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2264 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2265 if test -z "${with_dvbpsi_tree}"
2267 VLC_ADD_PLUGINS([dvb])
2269 VLC_ADD_BUILTINS([dvb])
2271 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2272 CPPFLAGS="${CPPFLAGS_save}"
2276 dnl Screen capture module
2278 AC_ARG_ENABLE(screen,
2279 [ --enable-screen Screen capture support (default enabled)])
2280 if test "${enable_screen}" != "no"; then
2281 if test "${SYS}" = "darwin"; then
2282 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2283 VLC_ADD_PLUGINS([screen])
2284 VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2286 elif test "${SYS}" = "mingw32"; then
2287 VLC_ADD_PLUGINS([screen])
2288 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2289 elif test "${SYS}" = "mingwce"; then
2290 CPPFLAGS="${CPPFLAGS_save}"
2291 elif test "${SYS}" = "beos"; then
2292 VLC_ADD_PLUGINS([screen])
2293 VLC_ADD_CXXFLAGS([screen],[])
2294 VLC_ADD_LDFLAGS([screen],[-lbe])
2296 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2297 AC_CHECK_HEADERS(X11/Xlib.h, [
2298 VLC_ADD_PLUGINS([screen])
2299 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2300 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2302 CPPFLAGS="${CPPFLAGS_save}"
2307 dnl ipv6 plugin - not for QNX yet
2310 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2311 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2314 AS_IF([test "${have_ipv6}" = "yes"], [
2315 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2317 if test "${SYS}" != "nto" &&
2318 test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2320 AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2321 AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2322 [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2323 AS_IF([test "${have_ipv6}" != "no"], [
2324 VLC_ADD_PLUGINS([ipv6])])
2326 if test "${SYS}" = "mingw32"
2328 AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2329 AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2330 VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2334 dnl ogg demux plugin
2337 [ --enable-ogg Ogg demux support (default enabled)])
2338 if test "${enable_ogg}" != "no"
2340 AC_ARG_WITH(ogg-tree,
2341 [ --with-ogg-tree=PATH ogg tree for static linking])
2342 if test -n "${with_ogg_tree}"
2344 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2345 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2346 if test -z "${real_ogg_tree}"
2348 dnl The given directory can't be found
2350 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2352 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2354 dnl Use a custom ogg
2355 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2356 VLC_ADD_PLUGINS([ogg])
2357 if test "${enable_sout}" != "no"; then
2358 VLC_ADD_PLUGINS([mux_ogg])
2360 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2361 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2363 dnl The given ogg wasn't built
2365 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2368 AC_CHECK_HEADERS(ogg/ogg.h, [
2369 AC_CHECK_LIB( ogg, oggpack_read, [
2370 VLC_ADD_PLUGINS([ogg])
2371 if test "${enable_sout}" != "no"; then
2372 VLC_ADD_PLUGINS([mux_ogg])
2374 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2380 dnl matroska demux plugin
2383 [ --enable-mkv Matroska demux support (default enabled)])
2384 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2386 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2387 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2389 [#include <ebml/EbmlVersion.h>
2390 #ifdef LIBEBML_VERSION
2391 #if LIBEBML_VERSION >= 0x000706
2395 [AC_MSG_RESULT([yes])
2396 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2397 AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2399 [#include <matroska/KaxVersion.h>
2400 #ifdef LIBMATROSKA_VERSION
2401 #if LIBMATROSKA_VERSION >= 0x000705
2405 [AC_MSG_RESULT([yes])
2406 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2407 VLC_ADD_CXXFLAGS([mkv],[])
2408 if test "${SYS}" = "darwin"; then
2409 VLC_ADD_CXXFLAGS([mkv],[-O1])
2411 AC_CHECK_LIB(ebml_pic, main, [
2412 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2413 VLC_ADD_PLUGINS([mkv])
2414 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2416 AC_CHECK_LIB(ebml, main, [
2417 # We only have libebml, make mkv.a a builtin
2418 VLC_ADD_BUILTINS([mkv])
2419 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2423 [AC_MSG_RESULT([no])
2424 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.])
2428 [AC_MSG_RESULT([no])
2429 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.])
2436 dnl modplug demux plugin
2439 [ --enable-mod Mod demux support (default enabled)])
2440 if test "${enable_mod}" != "no"
2442 AC_ARG_WITH(mod-tree,
2443 [ --with-mod-tree=PATH mod tree for static linking])
2444 if test -n "${with_mod_tree}"
2446 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2447 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2448 if test -z "${real_mod_tree}"
2450 dnl The given directory can't be found
2452 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2454 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2456 dnl Use a custom mod
2457 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2458 VLC_ADD_PLUGINS([mod])
2459 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2460 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2462 dnl The given mod wasn't built
2464 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2467 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2468 VLC_ADD_PLUGINS([mod])
2469 VLC_ADD_CXXFLAGS([mod],[])
2470 VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
2475 dnl mpc demux plugin
2478 [ --enable-mpc Mpc demux support (default enabled)])
2479 if test "${enable_mpc}" != "no"
2481 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2482 VLC_ADD_PLUGINS([mpc])
2483 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2487 dnl game music emu demux plugin
2490 [ --enable-gme Game Music Emu demux support (default enabled)])
2491 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2494 AC_ARG_WITH(gme-tree,
2495 [ --with-gme-tree=PATH gme tree for static linking])
2496 if test -n "${with_gme_tree}"
2498 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2499 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2500 if test -z "${real_gme_tree}"
2502 dnl The given directory can't be found
2504 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2506 if test -f "${real_gme_tree}/gme/libgme.a"
2508 dnl Use a custom gme
2509 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2510 VLC_ADD_PLUGINS([gme])
2511 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2512 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2514 dnl The given gme wasn't built
2516 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2519 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2528 AC_ARG_WITH(,[Codec plugins:])
2534 [ --enable-mad libmad module (default enabled)])
2535 if test "${enable_mad}" != "no"
2538 [ --with-mad=PATH path to libmad],[],[])
2539 if test "${with_mad}" != "no" -a -n "${with_mad}"
2541 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2542 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2545 AC_ARG_WITH(mad-tree,
2546 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2547 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2549 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2550 if test -z "${real_mad_tree}"
2552 dnl The given directory can't be found
2554 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2556 dnl Use a custom libmad
2557 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2558 if test -f ${real_mad_tree}/mad.h
2561 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2562 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2563 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2564 AC_CHECK_LIB(mad, mad_bit_init, [
2565 VLC_ADD_BUILTINS([mpgatofixed32])
2566 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2567 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2569 LDFLAGS="${LDFLAGS_save}"
2572 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2575 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2576 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2577 AC_CHECK_HEADERS(mad.h, ,
2578 [ 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.]) ])
2579 AC_CHECK_LIB(mad, mad_bit_init, [
2580 VLC_ADD_PLUGINS([mpgatofixed32])
2581 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2582 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2583 CPPFLAGS="${CPPFLAGS_save}"
2584 LDFLAGS="${LDFLAGS_save}"
2589 dnl libid3tag support (FIXME!!! doesn't work with new input)
2591 AC_CHECK_HEADERS(id3tag.h, [
2592 AC_CHECK_HEADERS(zlib.h, [
2593 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2594 VLC_ADD_PLUGINS([id3tag])]) ])
2597 dnl ffmpeg decoder/demuxer plugin
2599 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2600 dnl 4- default place,
2602 AC_ARG_ENABLE(ffmpeg,
2603 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2604 if test "${enable_ffmpeg}" != "no"
2607 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2609 AC_ARG_WITH(ffmpeg-mp3lame,
2610 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2612 if test "$with_ffmpeg_mp3lame" = "yes"; then
2613 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2616 AC_ARG_WITH(ffmpeg-faac,
2617 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2619 if test "$with_ffmpeg_faac" = "yes"; then
2620 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2623 AC_ARG_WITH(ffmpeg-dts,
2624 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2626 if test "$with_ffmpeg_dts" = "yes"; then
2627 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2628 AC_CHECK_LIB(dts_pic, dts_free,
2629 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2630 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2631 LDFLAGS="${LDFLAGS_save}"
2634 AC_ARG_WITH(ffmpeg-vorbis,
2635 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2637 if test "$with_ffmpeg_vorbis" = "yes"; then
2638 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2641 AC_ARG_WITH(ffmpeg-theora,
2642 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2644 if test "$with_ffmpeg_theora" = "yes"; then
2645 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2648 AC_ARG_WITH(ffmpeg-ogg,
2649 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2651 if test "$with_ffmpeg_ogg" = "yes"; then
2652 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2655 AC_ARG_WITH(ffmpeg-zlib,
2656 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2658 if test "$with_ffmpeg_zlib" = "yes"; then
2659 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2663 dnl test for --with-ffmpeg-tree
2665 AC_ARG_WITH(ffmpeg-tree,
2666 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2668 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2669 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2670 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2671 if test -z "${real_ffmpeg_tree}"; then
2672 dnl The given directory can't be found
2674 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2676 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2677 dnl The given libavcodec wasn't built
2679 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2681 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2682 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2683 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2684 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2685 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2686 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2688 dnl The given libavcodec wasn't built with --enable-pp
2690 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2693 dnl Use a custom libffmpeg
2694 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2696 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2697 if test "${with_ffmpeg_zlib}" != "yes"; then
2698 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2701 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2702 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2703 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2706 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2707 if test "${with_ffmpeg_faac}" != "yes"; then
2708 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2711 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2712 if test "${with_ffmpeg_dts}" != "yes"; then
2713 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2714 AC_CHECK_LIB(dts_pic, dts_free,
2715 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2716 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2717 LDFLAGS="${LDFLAGS_save}"
2720 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2721 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2723 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2724 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2726 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2727 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2730 VLC_ADD_BUILTINS([ffmpeg])
2731 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
2732 VLC_ADD_BUILTINS([stream_out_switcher])
2735 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2736 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2737 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2740 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2741 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2743 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2744 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2745 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2746 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2750 dnl Look for a ffmpeg-config (we are on debian )
2752 FFMPEG_PATH="${PATH}"
2753 AC_ARG_WITH(ffmpeg-config-path,
2754 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2755 [ if test "${with_ffmpeg_config_path}" != "no"
2757 FFMPEG_PATH="${with_ffmpeg_config_path}"
2759 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2760 if test "${FFMPEG_CONFIG}" != "no"
2762 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2763 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2764 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2765 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2766 VLC_ADD_PLUGINS([ffmpeg])
2767 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2768 VLC_ADD_PLUGINS([stream_out_switcher])
2770 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2771 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2775 dnl Trying with pkg-config
2776 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2778 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2779 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2780 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2781 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2782 if test "${SYS}" = "darwin"; then
2783 VLC_ADD_BUILTINS([ffmpeg])
2785 VLC_ADD_PLUGINS([ffmpeg])
2787 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2788 if test "${SYS}" = "darwin"; then
2789 VLC_ADD_BUILTINS([stream_out_switcher])
2791 VLC_ADD_PLUGINS([stream_out_switcher])
2794 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2795 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
2796 dnl newer ffmpeg have a separate libpostproc
2797 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2798 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
2803 dnl last chance: at the default place
2805 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2806 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2807 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2808 AC_CHECK_HEADERS(ffmpeg/avformat.h)
2809 AC_CHECK_HEADERS(ffmpeg/avutil.h)
2810 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2812 AC_CHECK_LIB(avutil, av_crc_init, [
2813 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2814 LDAVUTIL="-lavutil"])
2816 AC_CHECK_LIB(avcodec, avcodec_init, [
2817 VLC_ADD_BUILTINS([ffmpeg])
2818 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2819 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
2820 VLC_ADD_BUILTINS([stream_out_switcher])
2822 [ 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])
2825 AC_CHECK_LIB(postproc, pp_postprocess, [
2826 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
2827 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
2830 AC_CHECK_LIB(avformat, av_open_input_stream, [
2831 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2832 LDFLAGS="${LDFLAGS_save}"
2833 CPPFLAGS="${CPPFLAGS_save}"
2840 dnl ffmpegaltivec plugin
2842 AC_ARG_ENABLE(ffmpegaltivec,
2843 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
2844 if test "${enable_ffmpegaltivec}" = "yes"
2846 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2847 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2848 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2849 if test -z "${real_ffmpeg_tree}"; then
2850 dnl The given directory can't be found
2852 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2854 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2855 dnl The given libavcodecaltivec wasn't built
2857 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2859 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2860 dnl The given libavcodecaltivec wasn't built with --enable-pp
2862 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2864 dnl Use a custom libffmpeg
2865 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2866 VLC_ADD_BUILTINS([ffmpegaltivec])
2867 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2868 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2869 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2871 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2872 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2873 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2874 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2876 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2877 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2882 dnl faad decoder plugin
2885 [ --enable-faad faad codec (default disabled)])
2886 if test "${enable_faad}" = "yes"
2888 AC_ARG_WITH(faad-tree,
2889 [ --with-faad-tree=PATH faad tree for static linking])
2890 if test -n "${with_faad_tree}"
2892 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2893 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2894 if test -z "${real_faad_tree}"
2896 dnl The given directory can't be found
2898 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2900 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2902 dnl Use a custom faad
2903 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2904 VLC_ADD_BUILTINS([faad])
2905 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2906 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2908 dnl The given libfaad wasn't built
2910 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2913 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2914 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2915 AC_CHECK_HEADERS(faad.h, ,
2916 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2917 AC_CHECK_LIB(faad, faacDecOpen, [
2918 VLC_ADD_PLUGINS([faad])
2919 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2920 AC_CHECK_LIB(faad, NeAACDecOpen, [
2921 VLC_ADD_PLUGINS([faad])
2922 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2923 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2924 LDFLAGS="${LDFLAGS_save}"
2925 CPPFLAGS="${CPPFLAGS_save}"
2930 dnl twolame encoder plugin
2932 AC_ARG_ENABLE(twolame,
2933 [ --enable-twolame twolame codec (default disabled)])
2934 if test "${enable_twolame}" = "yes"
2936 AC_ARG_WITH(twolame-tree,
2937 [ --with-twolame-tree=PATH twolame tree for static linking])
2938 if test -n "${with_twolame_tree}"
2940 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2941 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2942 if test -z "${real_twolame_tree}"
2944 dnl The given directory can't be found
2946 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2948 if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2950 dnl Use a custom twolame
2951 AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2952 VLC_ADD_BUILTINS([twolame])
2953 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2954 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2956 dnl The given libtwolame wasn't built
2958 AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2961 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2962 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2963 AC_CHECK_HEADERS(twolame.h, ,
2964 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2965 AC_CHECK_LIB(twolame, twolame_init, [
2966 VLC_ADD_PLUGINS([twolame])
2967 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2968 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2969 LDFLAGS="${LDFLAGS_save}"
2970 CPPFLAGS="${CPPFLAGS_save}"
2975 dnl QuickTime plugin
2977 AC_ARG_ENABLE(quicktime,
2978 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
2979 if test "${enable_quicktime}" != "no" &&
2980 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2982 if test "${SYS}" = "mingw32"; then
2983 VLC_ADD_BUILTINS([quicktime])
2985 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2986 [ VLC_ADD_BUILTINS([quicktime])
2987 VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2988 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2996 [ --enable-real Real audio module (default disabled)])
2997 if test "${enable_real}" = "yes"; then
2998 VLC_ADD_PLUGINS([realaudio])
3002 dnl Real RTSP plugin
3004 AC_ARG_ENABLE(realrtsp,
3005 [ --enable-realrtsp Real RTSP module (default disabled)])
3006 if test "${enable_realrtsp}" = "yes"; then
3007 VLC_ADD_PLUGINS([access_realrtsp])
3013 AC_CHECK_HEADERS(zlib.h, [
3014 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
3017 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3018 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
3024 AC_CHECK_HEADERS(libtar.h, [
3025 VLC_ADD_LDFLAGS([skins2],[-ltar])
3031 dnl A52/AC3 decoder plugin
3034 [ --enable-a52 A/52 support with liba52 (default enabled)])
3035 if test "${enable_a52}" != "no"
3038 [ --with-a52=PATH a52 headers and libraries])
3039 AC_ARG_WITH(a52-tree,
3040 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3041 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3043 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3044 if test -z "${real_a52_tree}"
3046 dnl The given directory can't be found
3048 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3050 dnl Use a custom a52dec
3051 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3052 if test -f ${real_a52_tree}/include/a52.h
3055 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3056 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3057 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
3058 AC_CHECK_LIB(a52, a52_free, [
3059 VLC_ADD_BUILTINS([a52tofloat32])
3060 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3061 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3063 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3065 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3067 AC_MSG_ERROR([the specified tree hasn't been compiled])
3070 LDFLAGS="${LDFLAGS_save}"
3073 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3076 if test -z "${with_a52}"
3081 LDFLAGS_test="-L${with_a52}/lib"
3082 CPPFLAGS_test="-I${with_a52}/include"
3084 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3085 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3086 AC_CHECK_HEADERS(a52dec/a52.h, [
3087 AC_CHECK_LIB(a52, a52_free, [
3088 VLC_ADD_PLUGINS([a52tofloat32])
3089 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3090 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3092 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.])
3095 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.])
3097 CPPFLAGS="${CPPFLAGS_save}"
3098 LDFLAGS="${LDFLAGS_save}"
3102 AC_ARG_WITH(a52-fixed,
3103 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3105 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3108 dnl DTS Coherent Acoustics decoder plugin
3111 [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)])
3112 if test "${enable_dts}" != "no"; then
3113 AC_ARG_WITH(dts-tree,
3114 [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
3115 if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
3117 real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
3118 if test -z "${real_dts_tree}"
3120 dnl The given directory can't be found
3122 AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
3124 dnl Use a custom libdts
3125 AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
3126 if test -f ${real_dts_tree}/include/dts.h
3129 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
3130 VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
3131 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3132 AC_CHECK_LIB(dts_pic, dts_free, [
3133 VLC_ADD_PLUGINS([dtstofloat32])
3134 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
3136 AC_CHECK_LIB(dts, dts_free, [
3137 VLC_ADD_BUILTINS([dtstofloat32])
3138 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3140 if test -f ${real_dts_tree}/libdts/libdts.a
3142 AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
3144 AC_MSG_ERROR([the specified tree hasn't been compiled])
3148 LDFLAGS="${LDFLAGS_save}"
3151 AC_MSG_ERROR([the specified tree doesn't have dts.h])
3154 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3155 AC_CHECK_HEADERS(dts.h, [
3156 AC_CHECK_LIB(dts_pic, dts_free, [
3157 VLC_ADD_PLUGINS([dtstofloat32])
3158 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
3160 AC_CHECK_LIB(dts, dts_free, [
3161 VLC_ADD_BUILTINS([dtstofloat32])
3162 VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3164 if test "${enable_dts}" = "yes"; then
3165 AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
3170 LDFLAGS="${LDFLAGS_save}"
3178 [ --enable-flac libflac decoder/encoder support (default disabled)])
3179 if test "${enable_flac}" = "yes"
3181 AC_ARG_WITH(flac-tree,
3182 [ --with-flac-tree=PATH flac tree for static linking])
3183 if test -n "${with_flac_tree}"
3185 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3186 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3187 if test -z "${real_flac_tree}"
3189 dnl The given directory can't be found
3191 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3193 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3195 dnl Use a custom flac
3196 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3197 VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3198 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3199 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3201 dnl The given flac wasn't built
3203 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3206 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3207 VLC_ADD_LDFLAGS([flac],[-lFLAC])
3215 AC_ARG_ENABLE(libmpeg2,
3216 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3217 if test "${enable_libmpeg2}" != "no"
3219 AC_ARG_WITH(libmpeg2-tree,
3220 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3221 if test -n "${with_libmpeg2_tree}"
3223 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3224 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3225 if test -z "${real_libmpeg2_tree}"
3227 dnl The given directory can't be found
3229 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3231 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3233 dnl Use a custom libmpeg2
3234 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3235 VLC_ADD_BUILTINS([libmpeg2])
3236 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3237 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3238 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3240 dnl The given libmpeg2 wasn't built
3242 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3245 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3246 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3248 [#include <mpeg2dec/mpeg2.h>
3249 #ifdef MPEG2_RELEASE
3250 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3254 [AC_MSG_RESULT([yes])
3255 VLC_ADD_PLUGINS([libmpeg2])
3256 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3257 [AC_MSG_RESULT([no])
3258 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.])])],
3260 [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.])]
3268 AC_ARG_ENABLE(vorbis,
3269 [ --enable-vorbis Vorbis decoder support (default enabled)])
3270 if test "${enable_vorbis}" != "no"
3272 AC_ARG_WITH(vorbis-tree,
3273 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3274 if test -n "${with_vorbis_tree}"
3276 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3277 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3278 if test -z "${real_vorbis_tree}"
3280 dnl The given directory can't be found
3282 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3284 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3286 dnl Use a custom vorbis
3287 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3288 VLC_ADD_PLUGINS([vorbis])
3289 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3290 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3292 dnl The given vorbis wasn't built
3294 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3297 AC_CHECK_HEADERS(vorbis/codec.h, [
3298 VLC_ADD_PLUGINS([vorbis])
3299 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
3301 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3302 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
3309 AC_ARG_ENABLE(tremor,
3310 [ --enable-tremor Tremor decoder support (default disabled)])
3311 if test "${enable_tremor}" = "yes"
3313 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3314 VLC_ADD_PLUGINS([tremor])
3315 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3322 AC_ARG_ENABLE(speex,
3323 [ --enable-speex Speex decoder support (default enabled)])
3324 if test "${enable_speex}" != "no"
3326 AC_ARG_WITH(speex-tree,
3327 [ --with-speex-tree=PATH speex tree for static linking])
3328 if test -n "${with_speex_tree}"
3330 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3331 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3332 if test -z "${real_speex_tree}"
3334 dnl The given directory can't be found
3336 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3338 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3340 dnl Use a custom speex
3341 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3342 VLC_ADD_PLUGINS([speex])
3343 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3344 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3346 dnl The given speex wasn't built
3348 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3351 AC_CHECK_HEADERS(speex/speex.h, [
3352 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3353 AC_CHECK_LIB(speex, speex_decode_int, [
3354 VLC_ADD_PLUGINS([speex])
3355 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3356 [ AC_MSG_RESULT([no])
3357 AC_MSG_WARN([Your libspeex is too old, please get the development
3359 LDFLAGS="${LDFLAGS_save}"
3365 dnl tarkin decoder plugin
3367 AC_ARG_ENABLE(tarkin,
3368 [ --enable-tarkin experimental tarkin codec (default disabled)])
3369 if test "${enable_tarkin}" = "yes"
3371 AC_ARG_WITH(tarkin-tree,
3372 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3373 if test -n "${with_tarkin_tree}"
3375 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3376 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3377 if test -f "${real_tarkin_tree}/tarkin.o"
3379 VLC_ADD_BUILTINS([tarkin])
3380 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3381 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])
3384 dnl The given tarkin tree wasn't built
3386 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3387 make sure you compiled tarkin in ${with_tarkin_tree}])
3393 dnl theora decoder plugin
3395 AC_ARG_ENABLE(theora,
3396 [ --enable-theora experimental theora codec (default disabled)])
3397 if test "${enable_theora}" = "yes"
3399 AC_CHECK_HEADERS(theora/theora.h, [
3400 AC_CHECK_LIB(theora, theora_granule_time, [
3401 VLC_ADD_PLUGINS([theora])
3402 theora_libs="-ltheora -logg"
3403 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3404 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3405 You also need to check that you have a libogg posterior to the 1.0 release.])],
3411 dnl dirac decoder plugin
3413 AC_ARG_ENABLE(dirac,
3414 [ --enable-dirac experimental dirac codec (default disabled)])
3415 if test "${enable_dirac}" = "yes"; then
3416 PKG_CHECK_MODULES(DIRAC,dirac, [
3417 VLC_ADD_PLUGINS([dirac])
3418 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3419 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3420 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3425 dnl PNG decoder module
3428 [ --enable-png PNG support (default enabled)])
3429 if test "${enable_png}" != "no"; then
3430 AC_CHECK_HEADERS(png.h, [
3431 LDFLAGS="${LDFLAGS_save} -lz"
3432 AC_CHECK_LIB(png, png_set_rows, [
3433 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3434 VLC_ADD_PLUGINS([png])
3435 VLC_ADD_PLUGINS([osdmenu])
3436 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3438 LDFLAGS="${LDFLAGS_save}"
3443 dnl H264 encoder plugin (using libx264)
3446 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3447 if test "${enable_x264}" != "no"; then
3448 AC_ARG_WITH(x264-tree,
3449 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3450 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3452 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3453 if test -z "${real_x264_tree}"
3455 dnl The given directory can't be found
3457 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3459 dnl Use a custom libx264
3460 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3461 if test -f ${real_x264_tree}/x264.h
3464 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3465 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3466 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3467 AC_CHECK_LIB(x264, x264_encoder_open, [
3468 VLC_ADD_BUILTINS([x264])
3469 VLC_ADD_LDFLAGS([x264],[-lx264])
3471 AC_MSG_ERROR([the specified tree hasn't been compiled])
3473 LDFLAGS="${LDFLAGS_save}"
3476 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3479 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3480 AC_CHECK_HEADERS(x264.h, [
3481 AC_CHECK_LIB(x264, x264_encoder_open, [
3482 VLC_ADD_PLUGINS([x264])
3483 VLC_ADD_LDFLAGS([x264],[-lx264])
3485 if test "${enable_x264}" = "yes"; then
3486 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3490 LDFLAGS="${LDFLAGS_save}"
3498 [ --enable-cmml CMML support (default enabled)])
3499 if test "${enable_cmml}" != "no"
3501 VLC_ADD_PLUGINS([cmml])
3509 AC_ARG_WITH(,[Video plugins:])
3512 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3513 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3514 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3515 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3516 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3518 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3519 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3524 #include <X11/Xlib.h>
3526 CPPFLAGS="${CPPFLAGS_save}"
3531 dnl (enabled by default except on win32)
3534 [ --enable-x11 X11 support (default enabled)])
3535 if test "${enable_x11}" != "no" &&
3536 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3537 test "${enable_x11}" = "yes"); then
3538 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3539 AC_CHECK_HEADERS(X11/Xlib.h, [
3540 VLC_ADD_PLUGINS([x11 panoramix])
3541 VLC_ADD_LDFLAGS([x11 panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3542 VLC_ADD_CPPFLAGS([x11 panoramix],[${X_CFLAGS}])
3544 CPPFLAGS="${CPPFLAGS_save}"
3549 dnl (enabled by default except on win32)
3551 AC_ARG_ENABLE(xvideo,
3552 [ --enable-xvideo XVideo support (default enabled)])
3553 if test "${enable_xvideo}" != "no" &&
3554 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3555 test "${enable_xvideo}" = "yes"); then
3556 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3557 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3558 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3559 AC_CHECK_LIB(Xv,XvPutImage,[
3560 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3561 # test for libXv_pic.
3562 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3563 VLC_ADD_PLUGINS([xvideo])
3564 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3565 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3567 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3568 VLC_ADD_PLUGINS([xvideo])
3569 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3570 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3572 VLC_ADD_BUILTINS([xvideo])
3573 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3574 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3578 CFLAGS="${CFLAGS_save}"
3580 CPPFLAGS="${CPPFLAGS_save}")
3585 dnl (enabled by default except on win32)
3588 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3589 if test "${enable_glx}" != "no" &&
3590 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3591 test "${enable_glx}" = "yes"); then
3592 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3593 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h, [
3594 VLC_ADD_PLUGINS([glx])
3595 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3596 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3597 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3598 CPPFLAGS="${CPPFLAGS_save}"
3603 dnl (enabled by default except on win32)
3606 [ --enable-xvmc XVMC support (default disabled)])
3607 if test "${enable_xvmc}" = "yes" &&
3608 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3609 test "${enable_xvmc}" = "yes"); then
3610 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3611 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3612 VLC_ADD_PLUGINS([xvmc])
3613 VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3614 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3616 CPPFLAGS="${CPPFLAGS_save}"
3620 dnl Check for the Xinerama extension
3622 AC_ARG_ENABLE(xinerama,
3623 [ --enable-xinerama Xinerama support (default enabled)])
3624 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3625 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3626 test "${enable_xvideo}" = "yes"); then
3627 ac_cv_have_xinerama="no"
3628 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3629 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3630 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3631 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3632 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3633 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3634 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3635 ac_cv_have_xinerama="yes"
3637 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3638 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3639 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3640 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3641 ac_cv_have_xinerama="yes"
3645 if test "${ac_cv_have_xinerama}" = "yes"; then
3646 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3648 CFLAGS="${CFLAGS_save}"
3649 CPPFLAGS="${CPPFLAGS_save}"
3652 dnl Check for XF86VidMode extension
3654 ac_cv_have_xf86vidmode="no"
3655 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3656 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3657 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3658 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3659 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3660 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3661 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3662 ac_cv_have_xf86vidmode="yes"
3664 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3665 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3666 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3667 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3668 ac_cv_have_xf86vidmode="yes"
3672 [#ifdef HAVE_X11_XLIB_H
3673 # include <X11/Xlib.h>
3676 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3677 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3679 CFLAGS="${CFLAGS_save}"
3680 CPPFLAGS="${CPPFLAGS_save}"
3686 dnl (enabled by default except on beos)
3688 AC_ARG_ENABLE(opengl,
3689 [ --enable-opengl OpenGL support (default enabled)])
3690 if test "${enable_opengl}" != "no" &&
3691 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3692 if test "${SYS}" != "darwin"; then
3693 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3694 VLC_ADD_PLUGINS([opengl])
3695 if test "${SYS}" != "mingw32"; then
3696 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3698 VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
3702 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3703 VLC_ADD_PLUGINS([opengl])
3704 VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3712 [ --enable-sdl SDL support (default enabled)])
3713 if test "${enable_sdl}" != "no"
3716 AC_ARG_WITH(sdl-config-path,
3717 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3718 [ if test "${with_sdl_config_path}" != "no"
3720 SDL_PATH="${with_sdl_config_path}:${PATH}"
3722 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3723 SDL_CONFIG="${SDL12_CONFIG}"
3724 SDL_HEADER="SDL12/SDL.h"
3725 SDL_IMAGE="SDL12/SDL_image.h"
3726 if test "${SDL_CONFIG}" = "no"
3728 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3729 SDL_CONFIG=${SDL11_CONFIG}
3730 SDL_HEADER="SDL11/SDL.h"
3731 SDL_IMAGE="SDL11/SDL_image.h"
3733 if test "${SDL_CONFIG}" = "no"
3735 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3736 SDL_HEADER="SDL/SDL.h"
3737 SDL_IMAGE="SDL/SDL_image.h"
3739 # check for cross-compiling
3741 AC_ARG_WITH(sdl-prefix,
3742 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3744 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3745 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3747 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3749 if test "${SDL_CONFIG}" != "no"
3751 # SDL on Darwin is heavily patched and can only run SDL_image
3752 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3753 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3755 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3756 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3757 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3758 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3759 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3760 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3761 As a last resort we also test for SDL.h presence),
3762 [ AC_MSG_ERROR([The development package for SDL is not installed.
3763 Please install it and try again. Alternatively you can also configure with
3766 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3767 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3768 VLC_ADD_PLUGINS([sdl_image])
3769 AC_CHECK_LIB(png, png_set_rows,
3770 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3771 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3772 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3773 AC_CHECK_LIB(tiff, TIFFClientOpen,
3774 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3775 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3776 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3777 As a last resort we also test for SDL_image.h presence),
3778 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3779 You should install it alongside your SDL package.])
3781 CPPFLAGS="${CPPFLAGS_save}"
3782 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3784 AC_MSG_ERROR([The development package for SDL is not installed.
3785 Please install it and try again. Alternatively you can also configure with
3789 elif test "${enable_sdl}" = "yes"
3791 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3792 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3800 AC_ARG_ENABLE(freetype,
3801 [ --enable-freetype freetype support (default enabled)])
3802 AC_ARG_ENABLE(fribidi,
3803 [ --enable-fribidi fribidi support (default enabled)])
3804 if test "${enable_freetype}" != "no"
3806 FREETYPE_PATH="${PATH}"
3807 AC_ARG_WITH(freetype-config-path,
3808 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3809 [ if test "${with_freetype_config_path}" != "no"
3811 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3813 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3815 if test "${FREETYPE_CONFIG}" != "no"
3817 VLC_ADD_PLUGINS([freetype])
3818 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3819 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3820 AC_CHECK_HEADERS(Carbon/Carbon.h,
3821 [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3822 elif test "${enable_freetype}" = "yes"
3824 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3825 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3830 if test "${enable_fribidi}" != "no"
3832 FRIBIDI_PATH="${PATH}"
3833 AC_ARG_WITH(fribidi-config-path,
3834 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3835 [ if test "${with_fribidi_config_path}" != "no"
3837 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3839 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3841 if test "${FRIBIDI_CONFIG}" != "no"
3843 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3844 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3845 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3846 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3854 AC_ARG_ENABLE(libxml2,
3855 [ --enable-libxml2 libxml2 support (default enabled)])
3856 if test "${enable_libxml2}" != "no"
3859 AC_ARG_WITH(xml2-config-path,
3860 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3861 [ if test "${with_xml2_config_path}" != "no"; then
3862 XML2_PATH="${with_xml2_config_path}:${PATH}"
3864 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3865 if test "${XML2_CONFIG}" != "no"; then
3866 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3867 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3868 dnl depends on the xmlTextReader extension
3869 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3870 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3871 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3872 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3873 VLC_ADD_PLUGINS([xml]) ],[
3874 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3875 if test "${enable_xml2}" = "yes"; then
3876 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3879 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3880 if test "${enable_xml2}" = "yes"; then
3881 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3883 LDFLAGS="${LDFLAGS_save}"
3884 CPPFLAGS="${CPPFLAGS_save}"
3886 if test "${enable_xml2}" = "yes"; then
3887 AC_MSG_ERROR([Could not find libxml2])
3896 [ --enable-svg SVG support (default disabled)])
3897 if test "${enable_svg}" = "yes"
3899 PKG_CHECK_MODULES(SVG,
3900 librsvg-2.0 >= 2.9.0,
3902 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3903 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3904 VLC_ADD_PLUGINS([svg]) ],
3905 [AC_MSG_WARN(SVG library not found)])
3909 dnl Snapshot vout module (with cache)
3911 AC_ARG_ENABLE(snapshot,
3912 [ --enable-snapshot snapshot module (default disabled)])
3913 if test "${enable_snapshot}" = "yes"
3915 VLC_ADD_PLUGINS([snapshot])
3919 dnl Qt Embedded module
3920 dnl (disabled by default)
3923 [ --enable-qte QT Embedded support (default disabled)])
3924 if test "${enable_qte}" = "yes"
3927 [ --with-qte=PATH Qt Embedded headers and libraries])
3928 if test "${with_qte}" != "no" -a -n "${with_qte}"
3930 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3931 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])
3933 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3934 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3936 VLC_ADD_PLUGINS([qte])
3938 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3939 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3940 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3942 CPPFLAGS="${CPPFLAGS_save}"
3946 dnl Qt Video output module
3947 dnl (disabled by default)
3949 dnl AC_ARG_ENABLE(qt_video,
3950 dnl [ --enable-qt_video QT Video Output support (default disabled)])
3951 dnl if test "${enable_qt_video}" = "yes"
3953 dnl VLC_ADD_PLUGINS([qt_video])
3954 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3955 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3956 dnl AC_CHECK_LIB(qt-mt,main,[
3957 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3959 dnl AC_CHECK_LIB(qt,main,[
3960 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
3963 dnl NEED_QTE_MAIN=yes
3964 dnl LDFLAGS="${LDFLAGS_save}"
3965 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3969 dnl Roku HD1000 Video output module
3971 AC_ARG_ENABLE(hd1000v,
3972 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3973 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3974 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3975 test "${enable_hd1000v}" = "yes"); then
3977 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3979 can_build_roku="yes"
3983 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3985 if test "$can_build_roku" = "yes"
3987 VLC_ADD_PLUGINS([hd1000v])
3988 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3994 dnl Windows DirectX module
3997 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3999 VLC_ADD_PLUGINS([panoramix])
4002 AC_ARG_ENABLE(directx,
4003 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4004 if test "${enable_directx}" != "no"
4006 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4008 AC_ARG_WITH(directx,
4009 [ --with-directx=PATH Win32 DirectX headers])
4010 if test -z "${with_directx}"
4012 AC_CHECK_HEADERS(ddraw.h,
4013 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4014 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4016 AC_CHECK_HEADERS(GL/gl.h,
4017 [ VLC_ADD_PLUGINS([glwin32])
4018 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4020 AC_CHECK_HEADERS(d3d9.h,
4021 [ VLC_ADD_PLUGINS([direct3d])
4022 VLC_ADD_LDFLAGS([direct3d],[-ld3d9 -lgdi32])
4025 AC_MSG_CHECKING(for directX headers in ${with_directx})
4026 if test -f ${with_directx}/ddraw.h
4028 VLC_ADD_PLUGINS([vout_directx aout_directx])
4029 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4030 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4034 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4041 dnl Linux framebuffer module
4044 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4045 if test "${enable_fb}" != "no"
4047 AC_CHECK_HEADERS(linux/fb.h, [
4048 VLC_ADD_PLUGINS([fb])
4053 dnl Linux MGA module
4056 [ --enable-mga Linux kernel Matrox support (default disabled)],
4057 [ if test "${enable_mga}" = "yes"
4059 VLC_ADD_PLUGINS([mga])
4065 AC_ARG_ENABLE(svgalib,
4066 [ --enable-svgalib SVGAlib support (default disabled)])
4067 if test "${enable_svgalib}" = "yes"
4069 VLC_ADD_PLUGINS([svgalib])
4070 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4076 AC_ARG_ENABLE(directfb,
4077 [ --enable-directfb DirectFB support (default disabled)])
4078 if test "${enable_directfb}" = "yes"
4080 if test "${with_directfb}" = "no"
4082 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4083 if test "${have_directfb}"= "true"
4085 VLC_ADD_PLUGINS([directfb])
4086 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4087 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
4089 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
4092 CPPFLAGS_save="${CPPFLAGS}"
4093 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
4094 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4095 CPPFLAGS="${CPPFLAGS_save}"
4096 AC_ARG_WITH(directfb,
4097 [ --with-directfb=PATH path to directfb],
4098 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
4100 VLC_ADD_PLUGINS([directfb])
4101 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
4102 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4104 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
4112 [ --enable-ggi GGI support (default disabled)])
4113 if test "${enable_ggi}" = "yes"
4115 VLC_ADD_PLUGINS([ggi])
4116 VLC_ADD_LDFLAGS([ggi],[-lggi])
4118 [ --with-ggi=PATH path to libggi],
4119 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4121 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4122 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4129 AC_ARG_ENABLE(glide,
4130 [ --enable-glide Glide (3dfx) support (default disabled)])
4131 if test "${enable_glide}" = "yes"
4133 CFLAGS_save="${CFLAGS}"
4135 [ --with-glide=PATH path to libglide],
4136 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4138 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4139 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4140 CFLAGS="$CFLAGS -I${with_glide}/include"
4142 CFLAGS="$CFLAGS -I/usr/include/glide"
4143 AC_CHECK_HEADER(glide.h,[
4144 VLC_ADD_PLUGINS([glide])
4145 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4146 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4148 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4150 CFAGS="${CFLAGS_save}"
4157 [ --enable-aa aalib output (default disabled)])
4158 if test "${enable_aa}" = "yes"
4160 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4161 if test "${have_aa}" = "true"
4163 VLC_ADD_PLUGINS([aa])
4164 VLC_ADD_LDFLAGS([aa],[-laa])
4172 [ --enable-caca libcaca output (default disabled)])
4173 if test "${enable_caca}" = "yes"
4176 AC_ARG_WITH(caca-config-path,
4177 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4178 [ if test "${with_caca_config_path}" != "no"
4180 CACA_PATH="${with_caca_config_path}:${PATH}"
4182 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4183 if test "${CACA_CONFIG}" != "no"
4185 VLC_ADD_PLUGINS([caca])
4186 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4187 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4192 dnl win32 GDI plugin
4194 AC_ARG_ENABLE(wingdi,
4195 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4196 if test "${enable_wingdi}" != "no"; then
4197 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4198 VLC_ADD_PLUGINS([wingdi])
4199 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4201 if test "${SYS}" = "mingwce"; then
4202 VLC_ADD_PLUGINS([wingdi wingapi])
4210 AC_ARG_WITH(,[Audio plugins:])
4213 dnl OSS /dev/dsp module (enabled by default except on win32)
4216 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4218 if test "${enable_oss}" != "no" &&
4219 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4220 test "${enable_oss}" = "yes")
4222 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4223 VLC_ADD_PLUGINS([oss])
4224 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4232 [ --enable-esd Esound library support (default disabled)],
4233 [if test "${enable_esd}" = "yes"
4235 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4236 if test "${ESD_CONFIG}" != "no"
4238 VLC_ADD_PLUGINS([esd])
4239 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4240 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4245 dnl Portaudio module
4247 AC_ARG_ENABLE(portaudio,
4248 [ --enable-portaudio Portaudio library support (default disabled)],
4249 [if test "${enable_portaudio}" = "yes"
4251 VLC_ADD_PLUGINS([portaudio])
4252 VLC_ADD_CXXFLAGS([portaudio],[])
4253 if test "${SYS}" = "mingw32"; then
4254 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4256 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4261 dnl aRts module -- broken (freeze wxWidgets)
4264 [ --enable-arts aRts sound server (default disabled)],
4265 [if test "${enable_arts}" = "yes"
4267 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4268 if test "${ARTS_CONFIG}" != "no"
4270 VLC_ADD_PLUGINS([arts])
4271 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4272 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4280 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4281 if test "${enable_alsa}" != "no"
4283 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4284 if test "${have_alsa}" = "true"
4286 CFLAGS="${CFLAGS_save}"
4287 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4288 #define ALSA_PCM_NEW_SW_PARAMS_API
4289 #include <alsa/asoundlib.h>],
4290 [snd_pcm_hw_params_get_period_time(0,0,0);],
4291 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4292 VLC_ADD_PLUGINS([alsa])
4293 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4295 if test "${enable_alsa}" = "yes"; then
4296 AC_MSG_ERROR([Could not find ALSA development headers])
4302 dnl win32 waveOut plugin
4304 AC_ARG_ENABLE(waveout,
4305 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4306 if test "${enable_waveout}" != "no"; then
4307 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4308 VLC_ADD_PLUGINS([waveout])
4309 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4311 if test "${SYS}" = "mingwce"; then
4312 VLC_ADD_PLUGINS([waveout])
4317 dnl CoreAudio plugin
4319 AC_ARG_ENABLE(macosx-audio,
4320 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4321 if test "${enable_macosx-audio}" != "no" &&
4322 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4324 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4325 [ VLC_ADD_BUILTINS([auhal])
4326 VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
4327 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4331 dnl Roku HD1000 audio
4333 AC_ARG_ENABLE(hd1000a,
4334 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4335 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4336 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4337 test "${enable_hd1000a}" = "yes")
4340 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4341 VLC_ADD_PLUGINS([hd1000a])
4342 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4350 [ --enable-jack JACK audio module (default disabled)],
4351 [if test "${enable_jack}" = "yes"
4353 AC_CHECK_HEADERS(jack/jack.h, [
4354 VLC_ADD_PLUGINS([jack])
4355 VLC_ADD_LDFLAGS([jack],[-ljack]) ])
4359 dnl CyberLink for C++ UPnP stack
4361 AC_ARG_ENABLE(cyberlink,
4362 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4363 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4364 AC_ARG_WITH(cyberlink-tree,
4365 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4368 dnl test for --with-cyberlink-tree
4370 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4372 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4373 AS_IF([test -z "${real_cyberlink_tree}"], [
4374 dnl The given directory can't be found
4376 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4378 CPPFLAGS_save="${CPPFLAGS}"
4379 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4380 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4381 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4382 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4383 VLC_ADD_PLUGINS([upnp_cc])
4385 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4387 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4388 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4389 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4390 dnl The mere fact that we have to make such an ugly check sucks
4391 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4394 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4395 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4396 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4397 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4398 using namespace CyberLink;
4400 class testclass : public SearchResponseListener, public MediaPlayer
4402 virtual void deviceSearchResponseReceived( SSDPPacket *)
4409 addSearchResponseListener (this);
4413 ],[testclass l;])],[LIBS_cclink="$l"])
4416 dnl should not happen - otherwise this needs fixing - hence FAILURE
4417 AS_IF([test "${LIBS_cclink}" = "no"],
4418 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4419 AC_MSG_RESULT([${LIBS_cclink}])
4420 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4423 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4425 CPPFLAGS="${CPPFLAGS_save}"
4431 dnl UPnP Plugin (Intel SDK)
4434 [ --enable-upnp Intel UPnP SDK (default auto)])
4436 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4437 AS_IF([test "x${enable_upnp}" != "xno"], [
4438 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4439 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4440 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4442 AS_IF([test "${has_upnp}" = "yes"], [
4443 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp -lixml])
4449 AS_IF([test "${has_upnp}" = "yes"], [
4450 VLC_ADD_PLUGINS([upnp_intel])
4455 dnl Interface plugins
4458 AC_ARG_WITH(,[Interface plugins:])
4460 dnl special case for BeOS
4461 if test "${SYS}" = "beos"
4463 VLC_ADD_BUILTINS([beos])
4469 AC_ARG_ENABLE(skins2,
4470 [ --enable-skins2 Skins2 interface module (experimental)])
4471 if test "${enable_skins2}" = "yes" ||
4472 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4473 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4475 dnl test for the required libraries
4476 skins2_missing_lib="no"
4479 if test "${FREETYPE_CONFIG}" != "no"; then
4480 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4481 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4483 skins2_missing_lib="yes"
4484 if test "${enable_skins2}" = "yes"; then
4485 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4489 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4490 VLC_ADD_PLUGINS([skins2])
4491 ALIASES="${ALIASES} svlc"
4492 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4493 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4494 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4496 else if test "${skins2_missing_lib}" = "no"; then
4497 VLC_ADD_PLUGINS([skins2])
4498 ALIASES="${ALIASES} svlc"
4499 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4500 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4501 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4509 dnl AC_ARG_ENABLE(gtk,
4510 dnl [ --enable-gtk Gtk+ support (default enabled)])
4511 dnl if test "${enable_gtk}" != "no"
4513 dnl GTK_PATH="${PATH}"
4514 dnl AC_ARG_WITH(gtk-config-path,
4515 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4516 dnl [ if test "${with_gtk_config_path}" != "no"
4518 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4520 dnl # look for gtk-config
4521 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4522 dnl GTK_CONFIG=${GTK12_CONFIG}
4523 dnl if test "${GTK_CONFIG}" = "no"
4525 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4527 dnl if test "${GTK_CONFIG}" != "no"
4529 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4531 dnl AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
4533 dnl if test "${SYS}" != "mingw32"; then
4534 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4535 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4537 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4538 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4540 dnl # now look for the gtk.h header
4541 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4542 dnl ac_cv_gtk_headers=yes
4543 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4544 dnl ac_cv_gtk_headers=no
4545 dnl echo "Cannot find gtk development headers."
4547 dnl if test "${ac_cv_gtk_headers}" = "yes"
4549 dnl VLC_ADD_PLUGINS([gtk])
4550 dnl if test "${SYS}" != "mingw32"; then
4551 dnl NEED_GTK_MAIN=yes
4553 dnl ALIASES="${ALIASES} gvlc"
4555 dnl CPPFLAGS="${CPPFLAGS_save}"
4560 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4562 dnl AC_ARG_ENABLE(gtk2,
4563 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4564 dnl if test "${enable_gtk2}" = "yes"
4566 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4567 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4568 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4569 dnl VLC_ADD_PLUGINS([gtk2])
4570 dnl if test "${SYS}" != "mingw32"; then
4571 dnl NEED_GTK2_MAIN=yes
4576 dnl PDA Gtk+2 module
4579 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4580 if test "${enable_pda}" = "yes"
4582 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4583 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4584 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4585 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4586 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4587 VLC_ADD_PLUGINS([pda])
4588 if test "${SYS}" != "mingw32"; then
4594 dnl dnl Gnome module
4596 dnl AC_ARG_ENABLE(gnome,
4597 dnl [ --enable-gnome Gnome interface support (default disabled)],
4598 dnl [if test "${enable_gnome}" = "yes"; then
4599 dnl # look for gnome-config
4600 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4601 dnl if test -x ${GNOME_CONFIG}
4603 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4604 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4606 dnl # now look for the gnome.h header
4607 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4608 dnl AC_CHECK_HEADERS(gnome.h, [
4609 dnl VLC_ADD_PLUGINS([gnome])
4610 dnl NEED_GTK_MAIN=yes
4611 dnl NEED_GNOME_MAIN=yes
4612 dnl ALIASES="${ALIASES} gnome-vlc"
4613 dnl dnl We need this because of some moronic gnomesupport.h flavours
4614 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4615 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4616 dnl AC_MSG_RESULT(yes)
4617 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4618 dnl Define if <gnome.h> defines strndup.)],[
4619 dnl AC_MSG_RESULT(no)])
4621 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4622 dnl developement tools or remove the --enable-gnome option])
4624 dnl CPPFLAGS="${CPPFLAGS_save}"
4628 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
4630 dnl AC_ARG_ENABLE(gnome2,
4631 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
4632 dnl if test "${enable_gnome2}" = "yes"
4634 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4635 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4636 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4637 dnl VLC_ADD_PLUGINS([gnome2])
4638 dnl if test "${SYS}" != "mingw32"; then
4639 dnl NEED_GNOME2_MAIN=yes
4644 dnl wxWidgets module
4646 AC_ARG_ENABLE(wxwidgets,
4647 [ --enable-wxwidgets wxWidgets support (default enabled)])
4648 if test "${enable_wxwindows}"
4650 AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
4653 if test "${enable_wxwindows}" = "no"
4655 enable_wxwidgets="no"
4657 if test "${enable_wxwidgets}" != "no"
4659 WXWIDGETS_PATH="${PATH}"
4660 AC_ARG_WITH(wx-config-path,
4661 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4662 [ if test "${with_wx_config_path}" != "no"
4664 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4666 WXWIDGETS_NAME="wx-config"
4667 AC_ARG_WITH(wx-config,
4668 [ --with-wx-config=NAME wx-config name (default is wx-config)],
4669 [ if test "${with_wx_config}" != "no"
4671 WXWIDGETS_NAME="${with_wx_config}"
4673 # look for wx-config
4674 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
4675 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
4677 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null || expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null
4679 AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
4683 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
4684 # into a warning. However better would be to fix playlist.cpp
4685 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
4686 [ac_cv_cxx_fpermissive],
4687 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
4688 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
4689 ac_cv_cxx_fpermissive=no)])
4690 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
4691 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
4693 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
4694 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
4695 # check if we must link against gtk2 libs
4696 # if __WXGTK20__ && __WXGTK__ are defined
4697 # for modules/gui/wxwidgets/video.cpp
4698 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
4701 #error ok, we need to link against gtk2
4703 ])],[WXGTK=no],[WXGTK=yes])
4704 if test "$WXGTK" = "yes"; then
4705 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LDFLAGS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
4707 if ${WX_CONFIG} --unicode
4709 # wxwidgets should provide the following flags but does not
4710 # the following is required to compile for win32
4711 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
4713 if test "$have_libcdio" = "yes"
4715 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
4716 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
4718 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
4721 if test "$have_libvcdinfo" = "yes"
4723 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
4724 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
4726 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
4729 # now look for the wxprec.h header
4730 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
4731 ac_cv_wx_headers=yes
4732 AC_CHECK_HEADERS(wx/wxprec.h, , [
4734 echo "Cannot find wxWidgets development headers."
4736 if test "${ac_cv_wx_headers}" = "yes"
4738 VLC_ADD_PLUGINS([wxwidgets])
4739 ALIASES="${ALIASES} wxvlc"
4741 CPPFLAGS="${CPPFLAGS_save}"
4744 dnl WxWidgets plugin will yield incorrect code without this
4745 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
4753 [ --enable-qt4 QT 4 support (default disabled) ],
4754 [if test "${enable_qt4}" = "yes"; then
4755 PKG_CHECK_MODULES(QT4, QtCore QtGui,
4756 [ VLC_ADD_PLUGINS([qt4])
4757 ALIASES="${ALIASES} qvlc"
4759 VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
4760 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
4761 MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc
4762 RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc
4763 UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic],
4764 [AC_MSG_WARN(QT4 library not found)])
4766 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
4769 dnl WinCE GUI module
4771 if test "${SYS}" = "mingwce"; then
4772 VLC_ADD_BUILTINS([wince])
4773 VLC_ADD_CXXFLAGS([wince],[])
4774 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
4776 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4777 elif test "${SYS}" = "mingw32"; then
4778 VLC_ADD_CXXFLAGS([wince],[])
4779 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4781 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4785 dnl Simple test for skins2 dependency
4787 if test "${enable_skins2}" != "no"
4789 if test "${WX_CONFIG}" = "no"
4791 AC_MSG_ERROR([The skins2 module depends on the wxWidgets development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWidgets development package or alternatively you can also configure with: --disable-wxwidgets --disable-skins2.])
4798 dnl AC_ARG_ENABLE(qt,
4799 dnl [ --enable-qt Qt interface support (default disabled)],
4800 dnl [if test "${enable_qt}" = "yes"; then
4801 dnl VLC_ADD_PLUGINS([qt])
4802 dnl ALIASES="${ALIASES} qvlc"
4803 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
4804 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
4805 dnl AC_CHECK_LIB(qt-mt,main,[
4806 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
4808 dnl AC_CHECK_LIB(qt,main,[
4809 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
4812 dnl LDFLAGS="${LDFLAGS_save}"
4813 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4814 dnl if test -x ${QTDIR}/bin/moc
4816 dnl MOC=${QTDIR}/bin/moc
4825 dnl AC_ARG_ENABLE(kde,
4826 dnl [ --enable-kde KDE interface support (default disabled)],
4827 dnl [if test "${enable_kde}" = "yes"; then
4828 dnl VLC_ADD_PLUGINS([kde])
4829 dnl ALIASES="${ALIASES} kvlc"
4830 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
4831 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
4832 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4833 dnl AC_CHECK_LIB(kfile,main,[
4834 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
4836 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4837 dnl AC_CHECK_LIB(kdeui,main,[
4838 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
4840 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4841 dnl AC_CHECK_LIB(kio,main,[
4842 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
4844 dnl LDFLAGS="${LDFLAGS_save}"
4845 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
4846 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
4847 dnl if test -x ${QTDIR}/bin/moc
4849 dnl MOC=${QTDIR}/bin/moc
4856 dnl Opie QT embedded module
4859 [ --enable-opie Qt embedded interface support (default disabled)],
4860 [if test "${enable_opie}" = "yes"; then
4862 [ --with-qte=PATH Qt Embedded headers and libraries])
4863 if test "${with_qte}" != "no" -a -n "${with_qte}"
4865 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4866 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])
4868 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4869 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4871 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4872 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4873 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4875 CPPFLAGS="${CPPFLAGS_save}"
4877 VLC_ADD_PLUGINS([opie])
4879 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
4880 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4881 if test "${with_qte}" != "no" -a -n "${with_qte}"
4883 MOC=${with_qte}/bin/moc
4885 MOC=${QTDIR}/bin/moc
4893 CFLAGS="$CFLAGS -x objective-c"
4894 AC_ARG_ENABLE(macosx,
4895 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
4896 [if test "${enable_macosx}" = "yes"
4898 VLC_ADD_BUILTINS([macosx])
4899 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
4900 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
4902 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
4903 VLC_ADD_BUILTINS([macosx])
4904 VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
4905 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
4913 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4914 if test "${enable_qnx}" != "no"
4916 AC_CHECK_HEADERS(Ph.h, [
4917 VLC_ADD_PLUGINS([qnx])
4918 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4925 AC_ARG_ENABLE(ncurses,
4926 [ --enable-ncurses ncurses interface support (default disabled)],
4927 [if test "${enable_ncurses}" = "yes"; then
4928 VLC_ADD_PLUGINS([ncurses])
4929 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4936 [ --enable-xosd xosd interface support (default disabled)])
4937 if test "${enable_xosd}" = "yes"
4939 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4940 AC_CHECK_LIB(xosd,xosd_set_offset,
4941 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4942 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4943 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4944 AC_TRY_COMPILE([#include <xosd.h>],
4945 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
4946 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4947 if test "${have_xosd}" = "true"
4949 VLC_ADD_PLUGINS([xosd])
4950 VLC_ADD_LDFLAGS([xosd],[-lxosd])
4955 dnl Visualisation plugin
4957 AC_ARG_ENABLE(visual,
4958 [ --enable-visual visualisation plugin (default enabled)])
4959 if test "${enable_visual}" != "no"
4961 VLC_ADD_PLUGINS([visual])
4965 dnl OpenGL visualisation plugin
4967 AC_ARG_ENABLE(galaktos,
4968 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
4969 if test "${enable_galaktos}" = "yes"
4971 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4972 VLC_ADD_PLUGINS([galaktos])
4973 if test "${SYS}" != "mingw32"; then
4974 VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
4976 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4982 dnl goom visualization plugin
4985 [ --enable-goom goom visualisation plugin (default disabled)])
4986 if test "${enable_goom}" = "yes"
4988 AC_ARG_WITH(goom-tree,
4989 [ --with-goom-tree=PATH goom tree for static linking (required)])
4992 dnl test for --with-goom-tree
4994 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4995 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4996 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4997 if test -z "${real_goom_tree}"; then
4998 dnl The given directory can't be found
5000 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5002 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5003 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5004 VLC_ADD_BUILTINS([goom])
5005 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5006 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5008 dnl The given libgoom2 wasn't built, try to look for the old goom
5010 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5011 if test -f "${real_goom_tree}/libgoom.a"; then
5012 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5013 VLC_ADD_BUILTINS([goom])
5014 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
5015 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5017 dnl The given libgoom wasn't built
5019 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5023 AC_CHECK_HEADERS(goom/goom.h, [
5024 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
5025 AC_CHECK_LIB(goom2, goom_init, [
5026 VLC_ADD_PLUGINS([goom])
5027 VLC_ADD_LDFLAGS([goom],[-lgoom2])
5029 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5031 LDFLAGS="${LDFLAGS_save}"
5037 dnl DAAP access plugin and services discovery
5040 [ --enable-daap DAAP shares services discovery support (default enabled)])
5041 if test "$enable_daap" != "no"
5043 PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
5044 [ VLC_ADD_PLUGINS([daap])
5045 VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
5046 VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
5047 [AC_MSG_WARN(DAAP library not found)])
5051 dnl Bonjour services discovery
5053 AC_ARG_ENABLE(bonjour,
5054 [ --enable-bonjour Bonjour services discovery (default enabled)])
5055 if test "${enable_bonjour}" != "no"
5057 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5058 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5059 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5060 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5061 VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
5062 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5063 VLC_ADD_PLUGINS([bonjour]) ],
5064 [AC_MSG_WARN(avahi-client library not found)])
5071 [ --enable-lirc lirc support (default disabled)])
5072 if test "${enable_lirc}" = "yes"
5074 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5075 if test "${have_lirc}" = "true"
5077 VLC_ADD_PLUGINS([lirc])
5078 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
5083 AC_ARG_WITH(,[Misc options:])
5088 AC_ARG_ENABLE(gnutls,
5089 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5091 AS_IF([test "${enable_gnutls}" != "no"], [
5092 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2.9], [have_gnutls="yes"], [have_gnutls="no"])
5094 AS_IF([test "${have_gnutls}" = "yes"], [
5095 VLC_ADD_PLUGINS([gnutls])
5096 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5097 VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
5099 AS_IF([test "${enable_gnutls}" = "yes"], [
5100 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5103 AC_CHECK_LIB([gcrypt], [gcry_control], [
5104 VLC_ADD_LDFLAGS([gnutls], [-lgcrypt])
5110 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5112 dnl We give the user the opportunity to specify
5113 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5116 [ --with-words=endianness set endianness (big or little)])
5117 case "${with_words}" in
5119 ac_cv_c_bigendian=yes
5122 ac_cv_c_bigendian=no
5125 dnl Try to guess endianness by matching patterns on a compiled
5126 dnl binary, by looking for an ASCII or EBCDIC string
5127 AC_CACHE_CHECK([whether the byte order is big-endian],
5128 [ac_cv_c_bigendian],
5129 [ac_cv_c_bigendian="unknown"
5130 [cat >conftest.c <<EOF
5131 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5132 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5133 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5134 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5135 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5136 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5137 int main(void) { _a(); _e(); return 0; }
5140 if test -f conftest.c
5142 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5143 && test -f conftest.o
5145 if test "`strings conftest.o | grep BIGenDianSyS`"
5147 ac_cv_c_bigendian="yes"
5149 if test "`strings conftest.o | grep LiTTleEnDian`"
5151 ac_cv_c_bigendian="no"
5156 if test "${ac_cv_c_bigendian}" = "unknown"
5158 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5162 dnl Now we know what to use for endianness, just put it in the header
5163 if test "${ac_cv_c_bigendian}" = "yes"
5165 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5169 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5172 AC_ARG_ENABLE(loader,
5173 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5174 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5175 AS_IF([test "${enable_loader}" = "yes"],
5176 [ VLC_ADD_PLUGINS([dmo])
5177 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
5178 VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la -lpthread])
5179 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
5180 VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la -lpthread])
5181 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
5182 VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la -ldl -lpthread])
5186 dnl Microsoft ActiveX support
5189 AC_ARG_ENABLE(activex,
5190 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5191 AC_ARG_WITH(wine-sdk-path,
5192 [ --with-wine-sdk-path=PATH path to wine sdk])
5193 if test "${enable_activex}" != "no"
5195 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5197 AC_CHECK_PROGS(MIDL, [midl], no)
5198 if test "${with_wine_sdk_path}" != ""
5200 WINE_SDK_PATH=${with_wine_sdk_path}
5201 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5206 AC_CHECK_HEADERS(ole2.h olectl.h,
5207 [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5208 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5209 AC_CHECK_HEADERS(objsafe.h,
5210 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5217 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5222 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5223 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5224 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5225 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5226 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5232 AC_ARG_ENABLE(mozilla,
5233 [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)])
5234 AC_ARG_WITH(mozilla-sdk-path,
5235 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5237 if test "${enable_mozilla}" = "yes"
5239 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5240 need_xpcom_libs=false
5241 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5243 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5244 if test "${MOZILLA_CONFIG}" = "no"
5246 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5247 if test "${SEAMONKEY_CONFIG}" = "no"
5249 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5250 if test "${XULRUNNER_CONFIG}" = "no"
5252 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5255 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5258 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5262 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5263 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5264 AC_CHECK_LIB(Xt,XtStrings,
5266 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5267 VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5270 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5272 LDFLAGS="${LDFLAGS_save}"
5276 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5277 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5278 if ${need_xpcom_libs}; then
5279 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5281 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5283 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5284 MOZILLA_REQUIRED_HEADERS=1
5285 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5286 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5287 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5292 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5294 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5296 MOZILLA_REQUIRED_HEADERS=
5297 CPPFLAGS="${CPPFLAGS_save}"
5298 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5299 dnl End of moz_sdk = ""
5301 dnl special case for mingw32
5302 if test "${SYS}" = "mingw32"
5304 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5305 dnl latest gecko sdk does not have an xpcom directory
5306 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5307 mozilla_sdk_xpcom="/xpcom"
5311 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5312 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5313 MOZILLA_REQUIRED_HEADERS=1
5314 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5315 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5316 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5321 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5323 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5325 MOZILLA_REQUIRED_HEADERS=
5327 VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
5328 if ${need_xpcom_libs}; then
5329 VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5330 if test "${SYS}" = "mingw32"; then
5331 dnl latest gecko sdk does not have embedstring
5332 if test -d "${real_mozilla_sdk}/embedstring/bin"
5334 VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
5338 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5340 if test -n "${CYGPATH}"; then
5341 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5343 CPPFLAGS="${CPPFLAGS_save}"
5347 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5350 dnl Mediacontrol Python bindings
5352 AC_ARG_ENABLE(python-bindings,
5353 [ --enable-python-bindings Enable Python bindings (default disabled)])
5354 dnl TODO: look for python dev headers
5355 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5360 AC_ARG_ENABLE(java-bindings,
5361 [ --enable-java-bindings Enable Java bindings (default disabled)])
5362 if test "${enable_java_bindings}" = "yes"
5364 AS_IF([test "x${JAVA_HOME}" == "x"],
5365 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5369 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5374 AC_ARG_ENABLE(testsuite,
5375 [ --enable-testsuite build test modules (default disabled)])
5376 if test "${enable_testsuite}" = "yes"
5378 TESTS="test1 test2 test3 test4"
5380 dnl we define those so that bootstrap sets the right linker
5381 VLC_ADD_CXXFLAGS([test2],[])
5382 VLC_ADD_OBJCFLAGS([test3],[])
5383 dnl this one is needed until automake knows what to do
5384 VLC_ADD_LDFLAGS([test3],[-lobjc])
5386 VLC_ADD_PLUGINS([${TESTS}])
5387 #VLC_ADD_BUILTINS([${TESTS}])
5391 dnl Microsoft Layer for Unicode for WIN9x/ME
5393 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5395 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5396 VLC_ADD_LDFLAGS([vlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5403 if test "${NEED_GTK_MAIN}" != "no"
5405 VLC_ADD_PLUGINS([gtk_main])
5406 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5407 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5410 if test "${NEED_GNOME_MAIN}" != "no"
5412 VLC_ADD_PLUGINS([gnome_main])
5413 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5414 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5417 if test "${NEED_GTK2_MAIN}" != "no"
5419 VLC_ADD_PLUGINS([gtk2_main])
5420 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5421 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5422 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5423 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5426 if test "${NEED_GNOME2_MAIN}" != "no"
5428 VLC_ADD_PLUGINS([gnome2_main])
5429 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5430 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5436 if test "${NEED_QTE_MAIN}" != "no"
5438 VLC_ADD_PLUGINS([qte_main])
5439 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5440 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5441 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5446 dnl Plugin and builtin checks
5448 builtin_support=false
5451 dnl Support for plugins - this must be AT THE END
5452 AC_ARG_ENABLE(plugins,
5453 [ --disable-plugins make all plugins built-in (default plugins enabled)],
5454 [if test "${enable_plugins}" = "no"
5456 plugin_support=false
5459 dnl Automagically disable plugins if there is no system support for
5460 dnl dynamically loadable files (.so, .dll, .dylib).
5461 dnl don't forget vlc-win32 still can load .dll as plugins
5462 if test "${ac_cv_have_plugins}" = "no"
5464 echo "*** Your system doesn't have plugin support. All plugins will be built"
5466 plugin_support=false
5469 AS_IF([${plugin_support}], [
5470 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5472 VLC_ADD_BUILTINS([${PLUGINS}])
5477 dnl Pic and shared libvlc stuff
5479 AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no])
5480 AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"])
5481 AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [
5482 AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
5483 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5484 VLC_ADD_PLUGINS([${BUILTINS}])
5490 dnl Import conditional variables generated by bootstrap
5494 dnl Stuff used by the program
5496 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5497 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string])
5498 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5499 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5500 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5501 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5502 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5503 AC_SUBST(VERSION_MAJOR)
5504 AC_SUBST(VERSION_MINOR)
5505 AC_SUBST(VERSION_REVISION)
5506 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5507 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5508 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5509 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5511 dnl Old definitions for version-dependant plugins
5512 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
5513 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
5514 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
5516 dnl New definitions with value matching 0.8.6 release
5517 module_symbol="0_8_6c"
5518 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5519 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5520 VLC_ENTRY="vlc_entry__${module_symbol}"
5524 dnl Handle substvars that use $(top_srcdir)
5526 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5527 AC_SUBST(VLC_CONFIG)
5528 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
5536 dnl Create the vlc-config script
5538 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
5539 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
5542 dnl Configuration is finished
5552 AC_SUBST(MOZILLA_SDK_PATH)
5553 AC_SUBST(WINE_SDK_PATH)
5555 AC_SUBST(AM_CPPFLAGS)
5556 AC_SUBST(ALL_LINGUAS)
5557 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5558 AC_SUBST(FILE_LIBVLC_DLL)
5560 dnl Import substitutions generated by bootstrap
5563 dnl Create vlc-config.in
5564 VLC_OUTPUT_VLC_CONFIG_IN
5572 bindings/java/Makefile
5573 bindings/java/src/Makefile
5574 bindings/python/Makefile
5588 modules/access/Makefile
5589 modules/access/dshow/Makefile
5590 modules/access/dvb/Makefile
5591 modules/access/mms/Makefile
5592 modules/access/cdda/Makefile
5593 modules/access/rtsp/Makefile
5594 modules/access/vcd/Makefile
5595 modules/access/vcdx/Makefile
5596 modules/access/screen/Makefile
5597 modules/access_filter/Makefile
5598 modules/access_output/Makefile
5599 modules/audio_filter/Makefile
5600 modules/audio_filter/channel_mixer/Makefile
5601 modules/audio_filter/converter/Makefile
5602 modules/audio_filter/resampler/Makefile
5603 modules/audio_mixer/Makefile
5604 modules/audio_output/Makefile
5605 modules/codec/Makefile
5606 modules/codec/cmml/Makefile
5607 modules/codec/dmo/Makefile
5608 modules/codec/ffmpeg/Makefile
5609 modules/codec/spudec/Makefile
5610 modules/control/Makefile
5611 modules/control/http/Makefile
5612 modules/demux/Makefile
5613 modules/demux/asf/Makefile
5614 modules/demux/avi/Makefile
5615 modules/demux/mp4/Makefile
5616 modules/demux/mpeg/Makefile
5617 modules/demux/playlist/Makefile
5618 modules/gui/Makefile
5619 modules/gui/beos/Makefile
5620 modules/gui/pda/Makefile
5621 modules/gui/macosx/Makefile
5622 modules/gui/qnx/Makefile
5623 modules/gui/qt4/Makefile
5624 modules/gui/skins2/Makefile
5625 modules/gui/wxwidgets/Makefile
5626 modules/gui/wince/Makefile
5627 modules/meta_engine/Makefile
5628 modules/misc/Makefile
5629 modules/misc/dummy/Makefile
5630 modules/misc/memcpy/Makefile
5631 modules/misc/network/Makefile
5632 modules/misc/notify/Makefile
5633 modules/misc/testsuite/Makefile
5634 modules/misc/playlist/Makefile
5635 modules/misc/xml/Makefile
5636 modules/misc/probe/Makefile
5637 modules/mux/Makefile
5638 modules/mux/mpeg/Makefile
5639 modules/mux/rtp/Makefile
5640 modules/packetizer/Makefile
5641 modules/services_discovery/Makefile
5642 modules/stream_out/Makefile
5643 modules/stream_out/transrate/Makefile
5644 modules/video_chroma/Makefile
5645 modules/video_filter/Makefile
5646 modules/video_filter/swscale/Makefile
5647 modules/video_output/Makefile
5648 modules/video_output/directx/Makefile
5649 modules/video_output/qte/Makefile
5650 modules/video_output/x11/Makefile
5651 modules/visualization/Makefile
5652 modules/visualization/visual/Makefile
5653 modules/visualization/galaktos/Makefile
5656 dnl Generate makefiles
5659 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5660 # not provided with the source
5661 ${SHELL} ./config.status --file=vlc-config
5662 chmod 0755 vlc-config
5664 dnl echo "Enabled builtin modules :"
5665 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
5667 dnl echo "Enabled plugin modules :"
5668 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
5670 dnl Shortcut to nice compile message
5672 echo '#! /bin/sh' >compile
5674 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
5675 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
5680 --------------------
5681 vlc version : ${VERSION}
5683 architecture : ${ARCH}
5685 test "${enable_debug}" = "yes" && printf "debug "
5686 test "${enable_cprof}" = "yes" && printf "cprof "
5687 test "${enable_gprof}" = "yes" && printf "gprof "
5688 test "${enable_optimizations}" = "yes" && printf "optim "
5689 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5691 vlc aliases :${ALIASES}
5693 You can tune the compiler flags in vlc-config.
5694 To build vlc and its plugins, type \`./compile' or \`make'.