1 dnl Autoconf settings for vlc
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
12 AC_PREREQ(2.59) dnl this really should be 2.59c
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
18 AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
19 AM_CONFIG_HEADER(config.h)
21 dnl Too many people are not aware of maintainer mode:
22 dnl If you want to use it, you definitely know what you are doing, so
23 dnl you can specify "--disable-maintainer-mode". But if you want the default
24 dnl automake behavior, you've likely never heard of maintainer mode, so we
25 dnl can't expect you to enable it manually.
27 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
28 [enable_maintainer_mode="yes"])
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
46 _AM_DEPENDENCIES([OBJC])
52 dnl Find the right ranlib, even when cross-compiling
53 AC_CHECK_TOOL(RANLIB, ranlib, :)
54 AC_CHECK_TOOL(STRIP, strip, :)
55 AC_CHECK_TOOL(AR, ar, :)
56 AC_CHECK_TOOL(LD, ld, :)
57 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
59 dnl Check for compiler properties
65 dnl Check for the contrib directory
68 [ --without-contrib do not use the libraries in extras/contrib],[],[])
69 if test "${with_contrib}" != "no"; then
70 AC_MSG_CHECKING([for libs in extras/contrib])
72 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
73 topdir="`pwd`/$topdir"
75 if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
76 if test "${with_contrib}" = "yes"; then
78 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
81 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
84 if test -d ${topdir}/extras/contrib/lib; then
86 export PATH=${topdir}/extras/contrib/bin:$PATH
87 CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88 CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89 CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90 CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91 CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92 CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93 OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94 OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
96 export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
98 export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
100 LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
101 LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
103 dnl kludge because only the debian package provides a ffmpeg-config
104 if test -z $with_ffmpeg_config_path; then
105 with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
107 if test -z $with_live555_tree; then
108 with_live555_tree=${topdir}/extras/contrib/src/live
110 if test -z $with_goom_tree; then
111 with_goom_tree=${topdir}/extras/contrib/src/goom
113 if test -z $with_mozilla_sdk_path; then
114 with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
116 if test -z $with_cyberlink_tree; then
117 with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
119 if test -z $with_libmpeg2_tree; then
120 with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
122 if test -z $with_a52_tree; then
123 with_a52_tree=${topdir}/extras/contrib/src/a52dec
126 if test ".`uname -s`" = ".Darwin"; then
127 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
128 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
129 elif test ".`uname -s`" = ".BeOS"; then
130 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
131 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
139 dnl Set default values
141 LDFLAGS_vlc="${LDFLAGS}"
144 dnl Check the operating system
155 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
156 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
160 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
163 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
164 CPPFLAGS="${CPPFLAGS_save}"
165 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
166 LDFLAGS="${LDFLAGS_save}"
172 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
173 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
174 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
175 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
176 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
177 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
178 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
179 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
180 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
181 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
182 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
183 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
184 AC_ARG_ENABLE(macosx-defaults,
185 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
186 if test "x${enable_macosx_defaults}" != "xno"
189 echo "Building with Mac OS X defaults:"
191 echo " Assuming --enable-faad"
193 echo " Assuming --enable-flac"
195 echo " Assuming --enable-theora"
197 echo " Assuming --enable-shout"
199 echo " Assuming --enable-cddax"
201 echo " Assuming --enable-vcdx"
203 echo " Assuming --enable-caca"
205 echo " Assuming --enable-goom"
207 echo " Assuming --enable-ncurses"
209 echo " Assuming --enable-twolame"
210 enable_realrtsp="yes"
211 echo " Assuming --enable-realrtsp"
214 echo " Assuming --disable-skins2"
216 echo " Assuming --disable-x11"
218 echo " Assuming --disable-glx"
220 echo " Assuming --disable-xvideo"
224 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
225 AC_CHECK_TOOL(WINDRES, windres, :)
232 dnl Check if we are using the mno-cygwin mode in which case we are
233 dnl actually dealing with a mingw32 compiler.
238 SYS=mingw32, SYS=cygwin)
240 *wince* | *mingwce* | *pe*)
245 if test "${SYS}" = "mingw32"; then
246 # add ws2_32 for closesocket, select, recv
247 VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
248 VLC_ADD_LDFLAGS([vlc],[-mwindows])
249 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
250 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
251 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-lws2_32])
253 if test "${SYS}" = "mingwce"; then
254 # add ws2 for closesocket, select, recv
255 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
256 VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
257 VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
262 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
266 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
267 # Perhaps it is useful other places as well?
268 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
275 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
276 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
277 VLC_ADD_CXXFLAGS([beos],[])
278 VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
279 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
280 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
281 VLC_ADD_LIBS([access_file],[-lpoll])
282 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
284 if test -f /boot/beos/system/lib/libbind.so; then
285 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
287 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
290 dnl Ugly check for Zeta
291 if test -f /boot/beos/system/lib/libzeta.so; then
292 VLC_ADD_LIBS([beos],[-lzeta])
299 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
300 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
301 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
302 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
305 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
306 dnl for program foo on win32
308 case "${build_os}" in
310 ac_executable_extensions=".exe"
318 dnl It's very bad, but our former custom system was worst
322 dnl override platform specific check for dependent libraries
323 dnl otherwise libtool linking of shared libraries will
324 dnl fail on anything other than pass_all.
325 AC_CACHE_VAL(lt_cv_deplibs_check_method,
326 [lt_cv_deplibs_check_method=pass_all])
329 AC_DISABLE_FAST_INSTALL
332 m4_undefine([AC_PROG_F77])
333 m4_defun([AC_PROG_F77],[])
336 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
337 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
339 lt_cv_deplibs_check_method=pass_all
343 dnl Check for Mac OS X SDK settings
345 AC_ARG_WITH(macosx-sdk,
346 [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
347 if test "${with_macosx_sdk}" != "no" ; then
348 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
349 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
350 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
351 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
352 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
353 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
354 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
355 MACOSX_DEPLOYMENT_TARGET="10.4"
356 export MACOSX_DEPLOYMENT_TARGET
362 AM_GNU_GETTEXT_VERSION(0.16.1)
364 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
365 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
366 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
368 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
374 AS_IF([test "$am_cv_func_iconv" != "yes"],
375 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
376 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
377 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
379 dnl Check for the need to include the mingwex lib for mingw32
380 if test "${SYS}" = "mingw32"
382 AC_CHECK_LIB(mingwex,opendir,
383 AC_CHECK_LIB(mingw32,opendir,,
384 [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
388 dnl Check for fnative-struct or mms-bitfields support for mingw32
389 if test "${SYS}" = "mingw32"
391 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
392 [ac_cv_c_mms_bitfields],
393 [CFLAGS="${CFLAGS_save} -mms-bitfields"
394 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
395 if test "${ac_cv_c_mms_bitfields}" != "no"; then
396 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
397 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
399 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
400 [ac_cv_c_fnative_struct],
401 [CFLAGS="${CFLAGS_save} -fnative-struct"
402 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
403 if test "${ac_cv_c_fnative_struct}" != "no"; then
404 CFLAGS_save="${CFLAGS_save} -fnative-struct";
405 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
409 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
412 dnl Check for fvtable-thunks support for mingw32
413 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
416 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
417 [ac_cv_cxx_fvtable_thunks],
418 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
419 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
420 ac_cv_cxx_fvtable_thunks=no)])
421 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
422 CXXFLAGS_mingw32_special="-fvtable-thunks"
425 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
429 dnl Plugin compilation stuff
436 dnl The -DSYS_FOO flag
437 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
439 dnl Check for system libs needed
442 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)
444 dnl Check for usual libc functions
445 AC_CHECK_FUNCS(strdup strndup strnlen atof)
446 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
447 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
448 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
450 AS_IF([test "${SYS}" = "linux"], [
454 dnl Check for setlocal and langinfo
455 AC_CHECK_FUNCS(setlocale)
456 AC_CHECK_HEADERS(langinfo.h)
457 AC_CHECK_FUNCS(nl_langinfo)
459 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
460 [AC_TRY_LINK([#include <langinfo.h>],
461 [char* cs = nl_langinfo(CODESET);],
462 ac_cv_langinfo_codeset=yes,
463 ac_cv_langinfo_codeset=no)
465 if test ${ac_cv_langinfo_codeset} = yes; then
466 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
467 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
470 AC_CHECK_FUNCS(connect,,[
471 AC_CHECK_LIB(socket,connect,[
472 VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
473 LIBS_socket="-lsocket"
477 AC_CHECK_FUNCS(send,,[
478 AC_CHECK_LIB(socket,send,[
479 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
483 AC_CHECK_FUNCS(gethostbyname,,[
484 AC_CHECK_LIB(nsl,gethostbyname,[
485 VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
487 AC_CHECK_LIB(bind,gethostbyname,[
488 VLC_ADD_LIBS([access_mms],[-lbind])
493 dnl Check for socklen_t
494 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
496 [#include <sys/types.h>
497 #include <sys/socket.h>],
498 [socklen_t len = 42; return len;],
499 ac_cv_type_socklen_t=yes,
500 ac_cv_type_socklen_t=no)])
501 if test "${ac_cv_type_socklen_t}" != "no"; then
502 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
505 dnl Check for struct sockaddr_storage
506 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
507 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
508 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
510 [#include <sys/types.h>
511 #if defined( UNDER_CE )
512 # include <winsock.h>
513 #elif defined( WIN32 )
514 # include <winsock2.h>
516 # include <sys/socket.h>
517 #endif], [struct sockaddr_storage addr;],
518 ac_cv_struct_sockaddr_storage=yes,
519 ac_cv_struct_sockaddr_storage=no)])
520 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
521 AC_DEFINE(sockaddr_storage, sockaddr)
522 AC_DEFINE(ss_family, sa_family)
525 dnl getaddrinfo, getnameinfo and gai_strerror check
526 dnl -lnsl and -lsocket are needed on Solaris;
527 dnl we purposedly make the test fail on Windows
529 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
530 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
532 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
535 AC_CHECK_FUNCS([getnameinfo gai_strerror])
538 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
539 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
540 [#include <sys/types.h>
541 #if defined( WIN32 ) || defined( UNDER_CE )
542 # if defined(UNDER_CE) && defined(sockaddr_storage)
543 # undef sockaddr_storage
545 # include <winsock2.h>
546 # include <ws2tcpip.h>
551 dnl Check for va_copy
552 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
554 [#include <stdarg.h>],
555 [va_list ap1, ap2; va_copy(ap1,ap2);],
556 [ac_cv_c_va_copy="yes"],
557 [ac_cv_c_va_copy="no"]))
558 if test "${ac_cv_c_va_copy}" = "yes"; then
559 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
561 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
563 [#include <stdarg.h>],
564 [va_list ap1, ap2; __va_copy(ap1,ap2);],
565 [ac_cv_c___va_copy="yes"],
566 [ac_cv_c___va_copy="no"]))
567 if test "${ac_cv_c___va_copy}" = "yes"; then
568 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
571 AC_CHECK_FUNCS(inet_aton,,[
572 AC_CHECK_LIB(resolv,inet_aton,[
573 VLC_ADD_LIBS([libvlc],[-lresolv])
577 dnl Check for getopt (always use builtin one on win32)
578 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
582 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
583 [ # FreeBSD has a gnugetopt library for this:
584 AC_CHECK_LIB([gnugetopt],[getopt_long],
585 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
586 VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
589 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
591 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
594 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
597 VLC_ADD_LIBS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
599 AC_CHECK_LIB(m,sqrt,[
600 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
602 AC_CHECK_LIB(m,ceil,[
603 VLC_ADD_LIBS([mosaic],[-lm])
606 VLC_ADD_LIBS([gaussianblur],[-lm])
608 AC_CHECK_LIB(mx,sqrtf,[
609 VLC_ADD_LIBS([x264],[-lmx])
611 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
613 dnl Check for dynamic plugins
614 ac_cv_have_plugins=no
617 AC_CHECK_HEADERS(mach-o/dyld.h,
618 [AC_CHECK_FUNCS(NSLinkModule,
619 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
620 ac_cv_have_plugins=yes])])
623 if test "${ac_cv_have_plugins}" = "no"; then
624 AC_CHECK_HEADERS(dl.h)
625 ac_cv_my_have_shl_load=no
626 AC_CHECK_FUNC(shl_load,
627 [ac_cv_my_have_shl_load=yes,
628 AC_CHECK_LIB(dld, shl_load,
629 [ac_cv_my_have_shl_load=yes
630 VLC_ADD_LIBS([libvlc],[-ldld])])])
631 if test "${ac_cv_my_have_shl_load}" = "yes"; then
632 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
633 ac_cv_have_plugins=yes
638 if test "${ac_cv_have_plugins}" = "no"; then
639 AC_CHECK_LIB(dld, dld_link,
640 [VLC_ADD_LIBS([libvlc],[-ldld])
641 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
642 ac_cv_have_plugins=yes])
646 if test "${ac_cv_have_plugins}" = "no"; then
647 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
648 AC_CHECK_LIB(kernel32, main,
649 [VLC_ADD_LIBS([libvlc],[-lkernel32])
650 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
651 ac_cv_have_plugins=yes])
656 if test "${ac_cv_have_plugins}" = "no"; then
657 if test "${SYS}" = "mingwce"; then
658 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
659 ac_cv_have_plugins=yes
664 if test "${ac_cv_have_plugins}" = "no"; then
665 AC_CHECK_HEADERS(image.h)
666 AC_CHECK_FUNCS(load_add_on,
667 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
668 ac_cv_have_plugins=yes])
671 # Only test for dlopen() if the others didn't work
672 if test "${ac_cv_have_plugins}" = "no"; then
673 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
674 ac_cv_my_have_dlopen=no
675 AC_CHECK_FUNC(dlopen,
676 ac_cv_my_have_dlopen=yes,
677 AC_CHECK_LIB(dl, dlopen,
678 ac_cv_my_have_dlopen=yes
679 VLC_ADD_LIBS([libvlc],[-ldl]),
680 AC_CHECK_LIB(svld, dlopen,
681 ac_cv_my_have_dlopen=yes
682 VLC_ADD_LIBS([libvlc],[-lsvld]))))
683 if test "${ac_cv_my_have_dlopen}" = "yes"; then
684 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
685 ac_cv_have_plugins=yes
689 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
690 dnl Check for pthreads - borrowed from XMMS
692 if test "${THREAD_LIB}" = "error"; then
693 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
695 if test "${THREAD_LIB}" = "error"; then
696 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
698 if test "${THREAD_LIB}" = "error"; then
699 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
701 if test "${THREAD_LIB}" = "error"; then
702 AC_CHECK_FUNCS(pthread_mutex_lock)
706 dnl Check for cthreads under GNU/Hurd for instance
707 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
710 dnl GNU portable threads
713 [ --enable-pth GNU Pth support (default disabled)],
714 [ if test "${enable_pth}" = "yes"; then
715 AC_CHECK_LIB(pth,pth_init)
716 AC_MSG_CHECKING(for pth_init in pth.h)
717 AC_EGREP_HEADER(pth_init,pth.h,[
719 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
720 Define if <pth.h> defines pth_init)
732 [ --enable-st State Threads (default disabled)],
733 [ if test "${enable_st}" = "yes"; then
734 AC_CHECK_LIB(st,st_init)
735 AC_MSG_CHECKING(for st_init in st.h)
736 AC_EGREP_HEADER(st_init,st.h,[
738 AC_DEFINE(ST_INIT_IN_ST_H, 1,
739 Define if <st.h> defines st_init)
747 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
749 dnl Don't link with rt when using GNU-pth
750 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
751 AC_CHECK_LIB(rt, clock_nanosleep, [
752 VLC_ADD_LIBS([libvlc],[-lrt])
753 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
756 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
760 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
761 AC_CHECK_LIB(rt,nanosleep,
762 [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
763 [AC_CHECK_LIB(posix4,nanosleep,
764 [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
767 if ${have_nanosleep}; then
768 AC_DEFINE(HAVE_NANOSLEEP, 1,
769 Define if nanosleep is available.)
773 dnl Check for misc headers
774 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
775 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
777 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
778 Define if <pthread.h> defines pthread_cond_t.)],[
781 AC_MSG_CHECKING(for pthread_once in pthread.h)
782 AC_EGREP_HEADER(pthread_once,pthread.h,[
784 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
785 Define if <pthread.h> defines pthread_once.)],[
787 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
789 AC_MSG_CHECKING(for strncasecmp in strings.h)
790 AC_EGREP_HEADER(strncasecmp,strings.h,[
792 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
793 Define if <strings.h> defines strncasecmp.)],[
796 dnl Check for headers
797 AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.h)
798 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
799 AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
800 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
801 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
802 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
803 AC_CHECK_HEADERS(syslog.h)
804 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
808 AC_CHECK_TYPE(ssize_t, int)
809 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
813 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
814 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
816 dnl Mac OS X and other OSes don't have declaration for nanosleep
817 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
818 AC_MSG_CHECKING(for nanosleep in time.h)
819 AC_EGREP_HEADER(nanosleep,time.h,[
821 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
822 Define if <time.h> defines nanosleep.)
826 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
828 dnl Make sure we have timespecs
829 AC_MSG_CHECKING(for timespec in sys/time.h)
830 AC_EGREP_HEADER(timespec,sys/time.h,[
832 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
833 Define if <sys/time.h> defines struct timespec.)
838 dnl Check for threads library
839 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
840 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
841 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
843 dnl Find where are the X headers and libraries
846 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.
848 PKG_PROG_PKG_CONFIG()
852 [ --enable-hal Linux HAL services discovery (default enabled)])
854 if test "${enable_hal}" != "no"
856 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
857 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
858 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
859 VLC_ADD_PLUGINS([hal probe_hal])
860 VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
861 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
862 dnl No hal 0.5 Test for 0.2
863 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
864 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
865 VLC_ADD_PLUGINS([hal])
866 VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
867 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
868 [AC_MSG_WARN(HAL library not found)])
875 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
878 if test "${enable_dbus}" != "no"
881 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
882 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
883 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
884 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
885 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
886 VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
887 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
888 dnl Check for dbus control interface
889 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
890 if test "${enable_dbus_control}" != "no"
892 VLC_ADD_PLUGINS([dbus])
893 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
894 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
896 dnl Check for Telepathy
897 AC_ARG_ENABLE(telepathy, [ --enable-telepathy Telepathy Presence plugin through DBus(default enabled)])
898 if test "${enable_telepathy}" != "no"; then
899 VLC_ADD_PLUGINS([telepathy])
900 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
901 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
904 if ${PKG_CONFIG} --exists dbus-1
906 [AC_ARG_ENABLE(old-dbus,
907 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
909 if test "${enable_old_dbus}" != "yes"
912 echo "****** WARNING **** WARNING ***** WARNING *************"
913 echo "*** Your D-Bus version is < 1.0.0"
914 echo "*** You are using old and buggy software and so"
915 echo "*** D-Bus support has been disabled."
916 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
917 echo "*** Alternatively you can force the use of your old and"
918 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
919 echo "*******************************************************"
923 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
924 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
925 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
926 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
927 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
928 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
930 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
931 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
932 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
933 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
934 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
936 [ PKG_CHECK_MODULES( DBUS, dbus-1,
937 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
938 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
939 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
940 [AC_MSG_WARN(DBUS library not found)])
951 dnl Build the gtk_main plugins?
957 dnl build the qte plugin ?
960 dnl Check for ntohl, etc.
961 AC_CACHE_CHECK([for ntohl in sys/param.h],
962 [ac_cv_c_ntohl_sys_param_h],
963 [CFLAGS="${CFLAGS_save} -Wall -Werror"
964 AC_TRY_COMPILE([#include <sys/param.h>],
965 [int meuh; ntohl(meuh);],
966 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
967 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
968 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
970 CFLAGS="${CFLAGS_save}"
972 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
973 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
975 dnl This helps detect broken plugins with undefined symbols
976 dnl Better fail loudly at build-time than silenty at run-time.
977 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
978 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
979 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
982 dnl Check for various optimization flags
983 AC_CACHE_CHECK([if \$CC accepts -Os],
985 [CFLAGS="${CFLAGS_save} -Os"
986 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
987 if test "${ac_cv_c_os}" != "no"; then
988 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
990 AC_CACHE_CHECK([if \$CC accepts -O],
992 [CFLAGS="${CFLAGS_save} -O"
993 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
994 if test "${ac_cv_c_o}" != "no"; then
995 if test "${ac_cv_c_o3}" = "no"; then
996 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1001 AC_CACHE_CHECK([if \$CC accepts -O3],
1003 [CFLAGS="${CFLAGS_save} -O3"
1004 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1005 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1006 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1008 AC_CACHE_CHECK([if \$CC accepts -O2],
1010 [CFLAGS="${CFLAGS_save} -O2"
1011 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1012 if test "${ac_cv_c_o2}" != "no"; then
1013 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1015 AC_CACHE_CHECK([if \$CC accepts -O],
1017 [CFLAGS="${CFLAGS_save} -O"
1018 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1019 if test "${ac_cv_c_o}" != "no"; then
1020 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1025 AC_CACHE_CHECK([if \$CC accepts -O0],
1027 [CFLAGS="${CFLAGS_save} -O0"
1028 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1029 if test "${ac_cv_c_o0}" != "no"; then
1030 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1033 dnl Check for -ffast-math
1034 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1035 [ac_cv_c_fast_math],
1036 [CFLAGS="${CFLAGS_save} -ffast-math"
1037 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1038 if test "${ac_cv_c_fast_math}" != "no"; then
1039 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1042 dnl Check for -funroll-loops
1043 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1044 if test "${SYS}" != "beos"
1046 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1047 [ac_cv_c_unroll_loops],
1048 [CFLAGS="${CFLAGS_save} -funroll-loops"
1049 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1050 if test "${ac_cv_c_unroll_loops}" != "no"; then
1051 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1055 dnl Check for -fomit-frame-pointer
1056 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1057 [ac_cv_c_omit_frame_pointer],
1058 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1059 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1060 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1061 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1064 dnl Check for -fvisibility=hidden
1065 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1066 [ac_cv_c_visibility_hidden],
1067 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1068 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1069 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1070 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1073 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1075 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1076 dnl AC_LANG_PUSH(C++)
1077 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1078 dnl [ac_cv_c_visibility_inlines_hidden],
1079 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1080 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1081 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1082 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1084 dnl CXXFLAGS="${CXXFLAGS_save}"
1085 dnl AC_LANG_POP(C++)
1087 dnl Check for -mdynamic-no-pic
1088 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1089 dnl [ac_cv_c_dynamic_no_pic],
1090 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1091 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1092 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1093 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1094 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1097 dnl Check for Darwin plugin linking flags
1098 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1100 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1101 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1102 if test "${ac_cv_ld_darwin}" != "no"; then
1103 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1106 dnl Check for standard plugin linking flags
1107 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1108 dnl AS_IF([test "${SYS}" = "beos"], [
1109 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1111 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1112 dnl [ac_cv_ld_plugins],
1113 dnl [CFLAGS="${CFLAGS_save} -shared"
1114 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1115 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1116 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1120 dnl Check for variadic macros
1121 AC_CACHE_CHECK([for variadic cpp macros],
1122 [ac_cv_cpp_variadic_macros],
1123 [CFLAGS="${CFLAGS_save}"
1126 #define a(b,c...) printf(b,##c)],
1127 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1128 ac_cv_cpp_variadic_macros=yes,
1129 ac_cv_cpp_variadic_macros=no)])
1130 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1131 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1134 dnl Checks for __attribute__(aligned()) directive
1135 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1136 [ac_cv_c_attribute_aligned],
1137 [ac_cv_c_attribute_aligned=0
1138 CFLAGS="${CFLAGS_save} -Werror"
1139 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1141 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1142 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1144 CFLAGS="${CFLAGS_save}"])
1145 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1146 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1147 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1150 dnl Checks for __attribute__(format()) directive
1151 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1152 [ac_cv_c_attribute_format],
1153 [ac_cv_c_attribute_format=no
1154 CFLAGS="${CFLAGS_save} -Werror"
1156 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1157 [ac_cv_c_attribute_format=yes])
1158 CFLAGS="${CFLAGS_save}"])
1159 if test "${ac_cv_c_attribute_format}" != "no"; then
1160 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1163 dnl Check for __attribute__((packed))
1164 AC_CACHE_CHECK([for __attribute__((packed))],
1165 [ac_cv_c_attribute_packed],
1166 [ac_cv_c_attribute_packed=no
1167 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1168 [ac_cv_c_attribute_packed=yes])])
1169 if test "${ac_cv_c_attribute_packed}" != "no"; then
1170 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1173 dnl Check for __attribute__((visibility()))
1174 AC_CACHE_CHECK([for __attribute__((visibility()))],
1175 [ac_cv_c_attribute_visibility],
1176 [ac_cv_c_attribute_visibility=no
1177 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1178 [ac_cv_c_attribute_visibility=yes])])
1179 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1180 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1186 case "${host_cpu}" in
1196 dnl Enable profiling
1198 AC_ARG_ENABLE(gprof,
1199 [ --enable-gprof gprof profiling (default disabled)])
1200 AC_ARG_ENABLE(cprof,
1201 [ --enable-cprof cprof profiling (default disabled)])
1202 test "${enable_gprof}" != "yes" && enable_gprof="no"
1203 test "${enable_cprof}" != "yes" && enable_cprof="no"
1208 VLC_ADD_PLUGINS([dummy logger memcpy])
1209 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
1210 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1211 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1212 VLC_ADD_PLUGINS([converter_fixed mono])
1213 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1214 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1215 VLC_ADD_PLUGINS([playlist export nsc xtag])
1216 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1217 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1218 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1219 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1220 VLC_ADD_PLUGINS([access_filter_bandwidth])
1221 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1222 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1223 VLC_ADD_PLUGINS([packetizer_vc1])
1226 dnl default modules that need g++
1229 VLC_ADD_PLUGINS([spatializer])
1232 if test "${SYS}" != "mingwce"; then
1233 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1234 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1235 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1236 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1237 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1238 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1239 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1240 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1244 dnl Some plugins aren't useful on some platforms
1246 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1247 VLC_ADD_PLUGINS([screensaver motion])
1248 elif test "${SYS}" != "mingwce"; then
1249 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1250 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1252 VLC_ADD_PLUGINS([win32text])
1254 if test "${SYS}" = "darwin"; then
1255 VLC_ADD_PLUGINS([quartztext])
1256 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1260 dnl Accelerated modules
1262 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1263 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1264 MMXEXT_MODULES="memcpymmxext"
1265 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1266 THREEDNOW_MODULES="memcpy3dn"
1268 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1269 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1270 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1272 dnl Check for fully workin MMX intrinsics
1273 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1274 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1275 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1276 [ac_cv_c_mmx_intrinsics],
1277 [CFLAGS="${CFLAGS_save} -O -mmmx"
1278 AC_TRY_COMPILE([#include <mmintrin.h>
1282 a = b = c = (__m64)frobzor;
1283 a = _mm_slli_pi16(a, 3);
1284 a = _mm_adds_pi16(a, b);
1285 c = _mm_srli_pi16(c, 8);
1286 c = _mm_slli_pi16(c, 3);
1287 b = _mm_adds_pi16(b, c);
1288 a = _mm_unpacklo_pi8(a, b);
1289 frobzor = (uint64_t)a;],
1290 [ac_cv_c_mmx_intrinsics=yes],
1291 [ac_cv_c_mmx_intrinsics=no])])
1292 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1293 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1294 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1297 dnl Check for fully workin SSE2 intrinsics
1298 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1299 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1300 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1301 [ac_cv_c_sse2_intrinsics],
1302 [CFLAGS="${CFLAGS_save} -O -msse2"
1303 AC_TRY_COMPILE([#include <emmintrin.h>
1307 a = b = c = _mm_set1_epi64((__m64)frobzor);
1308 a = _mm_slli_epi16(a, 3);
1309 a = _mm_adds_epi16(a, b);
1310 c = _mm_srli_epi16(c, 8);
1311 c = _mm_slli_epi16(c, 3);
1312 b = _mm_adds_epi16(b, c);
1313 a = _mm_unpacklo_epi8(a, b);
1314 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1315 [ac_cv_c_sse2_intrinsics=yes],
1316 [ac_cv_c_sse2_intrinsics=no])])
1317 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1318 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1319 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1322 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1324 [CFLAGS="${CFLAGS_save}"
1325 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1326 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1327 if test "${ac_cv_mmx_inline}" != "no"; then
1328 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1329 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1332 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1333 [ac_cv_mmxext_inline],
1334 [CFLAGS="${CFLAGS_save}"
1335 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1336 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1337 if test "${ac_cv_mmxext_inline}" != "no"; then
1338 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1339 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1342 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1343 [ac_cv_3dnow_inline],
1344 [CFLAGS="${CFLAGS_save}"
1345 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1346 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1347 if test "${ac_cv_3dnow_inline}" != "no"; then
1348 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1349 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1352 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1354 [CFLAGS="${CFLAGS_save}"
1355 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1356 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1357 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1358 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1359 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1362 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1363 [ac_cv_sse2_inline],
1364 [CFLAGS="${CFLAGS_save}"
1365 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1366 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1367 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1368 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1369 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1372 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1373 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1374 [ac_cv_altivec_inline],
1375 [CFLAGS="${CFLAGS_save}"
1376 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1377 ac_cv_altivec_inline=yes,
1378 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1379 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1380 [ac_cv_altivec_inline="-Wa,-m7400"],
1381 ac_cv_altivec_inline=no)
1383 if test "${ac_cv_altivec_inline}" != "no"; then
1384 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1385 if test "${ac_cv_altivec_inline}" != "yes"; then
1386 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1387 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1388 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1389 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1390 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1392 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1395 dnl The AltiVec C extensions
1397 dnl There are several possible cases:
1398 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1399 dnl need <altivec.h>
1400 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1401 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1402 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1403 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1404 dnl - Others: test should fail
1405 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1407 [# OS X/PPC test (gcc 4.x)
1408 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1409 AC_TRY_COMPILE([vector unsigned char foo;],
1410 [vec_ld(0, (unsigned char *)0);],
1411 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1412 [# OS X/PPC test (gcc 3.x)
1413 CFLAGS="${CFLAGS_save} -faltivec"
1414 AC_TRY_COMPILE([vector unsigned char foo;],
1415 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1416 [ac_cv_c_altivec="-faltivec"],
1417 dnl Below this are the Linux tests
1418 [# Linux/PPC test (gcc 4.x)
1419 CFLAGS="${CFLAGS_save} -maltivec"
1420 AC_TRY_COMPILE([#include <altivec.h>],
1421 [vec_ld(0, (unsigned char *)0);],
1422 [ac_cv_c_altivec="-maltivec"],
1423 [# Linux/PPC test (gcc 3.3)
1424 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1425 AC_TRY_COMPILE([#include <altivec.h>],
1426 [vec_ld(0, (unsigned char *)0);],
1428 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1429 [# Linux/PPC test (gcc 3.3)
1430 CFLAGS="${CFLAGS_save} -fvec"
1431 AC_TRY_COMPILE([#include <altivec.h>],
1432 [vec_ld(0, (unsigned char *)0);],
1433 [ac_cv_c_altivec="-fvec"],
1434 [ac_cv_c_altivec=no])
1439 CFLAGS="${CFLAGS_save}"
1442 if test "${ac_cv_c_altivec}" != "no"; then
1443 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1446 AS_IF( test "${enable_altivec}" != "no",
1448 AC_CHECK_HEADERS(altivec.h)
1449 CPPFLAGS="${CPPFLAGS_save}"
1451 if test "${ac_cv_c_altivec}" != "no"; then
1452 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1453 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1454 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1455 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1456 if test "${ac_cv_altivec_inline}" = "no"; then
1457 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1461 CPPFLAGS="${CPPFLAGS_save}"
1464 AC_CACHE_CHECK([if linker needs -framework vecLib],
1466 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1467 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1468 LDFLAGS="${LDFLAGS_save}"
1470 if test "${ac_cv_ld_altivec}" != "no"; then
1471 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1473 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1476 AC_ARG_WITH(,[Optimization options:])
1479 dnl Special arch tuning
1482 [ --with-tuning=ARCH enable special tuning for an architecture
1483 (default Pentium 2 on IA-32 and G4 on PPC)])
1484 if test -n "${with_tuning}"; then
1485 if test "${with_tuning}" != "no"; then
1486 CFLAGS_TUNING="-mtune=${with_tuning}"
1489 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1490 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1491 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1492 CFLAGS_TUNING="-mtune=pentium2"
1493 elif test "${host_cpu}" = "x86_64"; then
1494 CFLAGS_TUNING="-mtune=athlon64"
1495 elif test "${host_cpu}" = "powerpc"; then
1496 CFLAGS_TUNING="-mtune=G4";
1500 dnl NOTE: this can't be cached cleanly
1501 AS_IF([test "${CFLAGS_TUNING}"],
1502 [CFLAGS_save="${CFLAGS}"
1503 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1505 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1506 AC_COMPILE_IFELSE([ ],
1508 [CFLAGS_TUNING=""; tuning="no"
1509 AS_IF([test "${with_tuning}"],
1510 [AC_MSG_ERROR([requested tuning not supported])])])
1512 AC_MSG_RESULT([$tuning])
1513 CFLAGS="${CFLAGS_save}"
1517 dnl x86 accelerations
1519 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"
1522 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1524 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
1526 ARCH="${ARCH} sse sse2"
1527 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1533 AC_ARG_ENABLE(optimize-memory,
1534 [ --enable-optimize-memory optimize memory usage over performance])
1535 if test "${enable_optimize_memory}" = "yes"; then
1536 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1540 dnl Enable/disable optimizations
1542 AC_ARG_ENABLE(optimizations,
1543 [ --disable-optimizations disable compiler optimizations (default enabled)])
1544 if test "${enable_optimizations}" != "no"; then
1545 if test "${enable_optimize_memory}" = "yes"; then
1546 enable_optimizations="size"
1548 enable_optimizations="speed"
1553 dnl AltiVec acceleration
1555 AC_ARG_ENABLE(altivec,
1556 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1557 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1558 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1559 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1560 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1565 AC_ARG_ENABLE(debug,
1566 [ --enable-debug debug mode (default disabled)])
1567 test "${enable_debug}" != "yes" && enable_debug="no"
1569 [Define to 1 if debug code should NOT be compiled])
1570 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1575 AC_ARG_ENABLE(coverage,
1576 [ --enable-coverage build for test coverage (default disabled)],,
1577 [enable_coverage="no"])
1578 AS_IF([test "${enable_coverage}" != "no"], [
1579 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1580 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1581 LDFLAGS="-lgcov ${LDFLAGS}"
1583 CFLAGS_save="${CFLAGS}"
1584 CXXFLAGS_save="${CXXFLAGS}"
1585 LDFLAGS_save="${LDFLAGS}"
1589 dnl Enable release-specific flags
1591 AC_ARG_ENABLE(release,
1592 [ --enable-release activate extra optimizations (default disabled)])
1593 test "${enable_release}" != "yes" && enable_release="no"
1599 [ --enable-sout Stream output modules (default enabled)])
1600 if test "${enable_sout}" != "no"
1602 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1603 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1604 VLC_ADD_PLUGINS([packetizer_copy])
1606 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1607 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1608 VLC_ADD_PLUGINS([stream_out_gather])
1609 # VLC_ADD_PLUGINS([stream_out_transrate])
1610 # VLC_ADD_PLUGINS([rtcp])
1611 VLC_ADD_PLUGINS([profile_parser])
1613 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1616 AC_ARG_ENABLE(switcher,
1617 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1619 dnl Check for libshout
1620 AC_ARG_ENABLE(shout,
1621 [ --enable-shout libshout output plugin (default disabled)])
1622 if test "${enable_shout}" = "yes"; then
1623 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1624 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1625 VLC_ADD_PLUGINS([access_output_shout])
1626 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1627 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1628 [AC_MSG_WARN(libshout library not found)])
1633 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1634 if test "${enable_lua}" != "no"
1636 PKG_CHECK_MODULES(LUA, lua5.1,
1639 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1640 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1644 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1647 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1648 [LUA_LIBS="-llua5.1"],
1649 AC_CHECK_LIB( lua51 , luaL_newstate,
1650 [LUA_LIBS="-llua51"],
1651 AC_CHECK_LIB( lua , luaL_newstate,
1654 AC_MSG_WARN([lua >= 5.1 not found!])
1660 if test "x${have_lua}" = "xyes" ; then
1661 AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1662 VLC_ADD_PLUGINS([lua])
1663 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1664 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1671 AC_ARG_ENABLE(httpd,
1672 [ --enable-httpd HTTP daemon (default enabled)])
1673 if test "${enable_httpd}" != "no"
1675 VLC_ADD_PLUGINS([http])
1676 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1680 dnl VideoLAN manager
1683 [ --enable-vlm VideoLAN manager (default enabled)])
1684 if test "${enable_vlm}" != "no"
1686 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1690 dnl Growl notification plugin
1692 AC_ARG_ENABLE(growl,
1693 [ --enable-growl growl notification plugin (default enabled)])
1694 AS_IF([test "${enable_growl}" != "no"], [
1695 VLC_ADD_PLUGINS([growl])
1700 dnl Libnotify notification plugin
1703 AC_ARG_ENABLE(notify,
1704 [ --enable-notify libnotify notification plugin (default enabled)])
1705 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1706 PKG_CHECK_MODULES(NOTIFY, libnotify,
1708 VLC_ADD_PLUGINS([notify])
1709 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1710 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1712 AS_IF([test "${enable_notify}" = "yes"],[
1713 AC_MSG_WARN( libnotify not found) ])
1718 dnl Audioscrobbler plugin
1721 AC_ARG_ENABLE(audioscrobbler,
1722 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1723 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1724 VLC_ADD_PLUGINS([audioscrobbler])
1728 dnl Musicbrainz plugin
1730 AC_ARG_ENABLE(musicbrainz,
1731 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1732 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1733 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1734 [ VLC_ADD_PLUGINS([musicbrainz])
1735 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1736 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1737 [AC_MSG_WARN(MusicBrainz library not found)])
1744 AC_ARG_ENABLE(taglib,
1745 [ --disable-taglib Taglib support (default enabled) ])
1746 AS_IF([test "${enable_taglib}" != "no"],[
1747 PKG_CHECK_MODULES(TAGLIB, taglib,
1748 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1749 VLC_ADD_PLUGINS([taglib])
1750 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1751 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1752 [AC_MSG_WARN(TagLib library not found)])
1760 AC_ARG_WITH(,[Input plugins:])
1764 if test "${enable_livedotcom}"
1766 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1769 if test "${enable_livedotcom}" = "no"
1773 AC_ARG_ENABLE(live555,
1774 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1775 if test "${enable_live555}" != "no"; then
1776 AC_ARG_WITH(live555-tree,
1777 [ --with-live555-tree=PATH live.com tree for static linking])
1780 dnl test for --with-live555-tree
1782 if test "${with_livedotcom_tree}"
1784 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1785 with_live555_tree="${with_livedotcom_tree}"
1788 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1790 CPPFLAGS_save="${CPPFLAGS}"
1791 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1792 if test "${SYS}" = "solaris"; then
1793 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1795 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1796 AC_CHECK_HEADERS(liveMedia.hh, [
1797 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1798 AC_CHECK_LIB(liveMedia_pic, main, [
1799 # We have -lliveMedia_pic, build plugins
1800 VLC_ADD_PLUGINS([live555])
1801 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1803 AC_CHECK_LIB(liveMedia, main, [
1804 # We only have -lliveMedia, do builtins
1805 VLC_ADD_BUILTINS([live555])
1806 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1809 if test "${SYS}" = "mingw32"; then
1810 # add ws2_32 for closesocket, select, recv
1811 VLC_ADD_LIBS([live555],[-lws2_32])
1814 CPPFLAGS="${CPPFLAGS_save}"
1817 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1818 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1819 if test -z "${real_live555_tree}"; then
1820 dnl The given directory can't be found
1822 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1824 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1825 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1827 VLC_ADD_BUILTINS([live555])
1829 if test "${SYS}" = "mingw32"; then
1830 # add ws2_32 for closesocket, select, recv
1831 VLC_ADD_LIBS([live555],[-lws2_32])
1834 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1835 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1836 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1837 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1839 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1840 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1841 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1842 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1843 if test "${SYS}" = "solaris"; then
1844 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1847 dnl The given live555 wasn't built
1849 if test "${enable_live555}" = "yes"; then
1850 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1857 dnl special access module for dc1394 input
1859 AC_ARG_ENABLE(dc1394,
1860 [ --enable-dc1394 dc1394 access module (default disabled)])
1861 if test "${enable_dc1394}" = "yes"
1863 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1864 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1865 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1866 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1867 VLC_ADD_PLUGINS([dc1394])
1868 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1871 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1875 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1879 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1883 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1888 dnl dv module: digital video module check for libraw1394
1891 [ --enable-dv dv input module (default disabled)])
1892 if test "${enable_dv}" = "yes"
1894 AC_ARG_WITH(dv-raw1394,
1895 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1896 AC_ARG_WITH(dv-raw1394-tree,
1897 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1899 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1901 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1902 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1904 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1906 VLC_ADD_PLUGINS([access_dv])
1907 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1908 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1910 dnl No libraw1394 could be found, sorry
1912 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1915 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1916 [ VLC_ADD_PLUGINS([access_dv])
1917 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1919 if test -n "${enable_dv}"
1921 AC_MSG_ERROR([cannot find libraw1394 headers])
1926 dnl Check for static linking of libraw1394
1927 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1929 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1930 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1931 if test -z "${real_dv_raw1394_tree}"
1933 dnl The given directory can't be found
1935 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1937 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1939 dnl Use a custom libraw1394
1940 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1941 VLC_ADD_BUILTINS([access_dv])
1942 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1943 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1945 dnl The given libraw1394 wasn't built
1947 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1952 dnl Check for libavc1394
1955 AC_ARG_WITH(dv-avc1394,
1956 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1957 AC_ARG_WITH(dv-avc1394-tree,
1958 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1960 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1962 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1963 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1965 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1967 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1968 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1970 dnl No libavc1394 could be found, sorry
1972 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1975 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1976 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1978 if test -n "${enable_dv}"
1980 AC_MSG_ERROR([cannot find libavc1394 headers])
1985 dnl Check for static linking of libavc1394
1986 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1988 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1989 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1990 if test -z "${real_dv_avc1394_tree}"
1992 dnl The given directory can't be found
1994 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1996 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1998 dnl Use a custom libavc1394
1999 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2000 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2001 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2003 dnl The given libavc1394 wasn't built
2005 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2011 dnl dvdread module: check for libdvdread
2013 AC_ARG_ENABLE(dvdread,
2014 [ --enable-dvdread dvdread input module (default disabled)])
2015 if test "${enable_dvdread}" != "no"
2017 AC_ARG_WITH(dvdread,
2018 [ --with-dvdread=PATH libdvdread headers and libraries])
2019 AC_ARG_WITH(dvdread-tree,
2020 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2022 dnl Temporary hack (yeah, sure ;)
2023 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2024 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2027 if test -z "${with_dvdread}"
2029 if test -z "${with_dvdread_tree}"
2031 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2032 [ VLC_ADD_PLUGINS([dvdread])
2033 VLC_ADD_LIBS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
2035 if test -n "${enable_dvdread}"
2037 AC_MSG_ERROR([cannot find libdvdread headers])
2041 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2042 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2043 if test -z "${real_dvdread_tree}"
2045 dnl The given directory can't be found
2047 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2049 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2051 dnl Use a custom libdvdread
2052 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2053 VLC_ADD_BUILTINS([dvdread])
2054 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
2055 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2057 dnl The given libdvdread wasn't built
2059 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2063 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2064 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2066 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2068 VLC_ADD_PLUGINS([dvdread])
2069 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
2070 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2072 dnl No libdvdread could be found, sorry
2074 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2080 dnl libdvdnav plugin
2082 AC_ARG_ENABLE(dvdnav,
2083 [ --enable-dvdnav dvdnav input module (default enabled)])
2084 if test "${enable_dvdnav}" != "no"
2086 dnl Same hack than dvdread
2087 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2088 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2091 DVDNAV_PATH="${PATH}"
2092 AC_ARG_WITH(dvdnav-config-path,
2093 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2094 [ if test "${with_dvdnav_config_path}" != "no"
2096 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2098 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2099 if test "${DVDNAV_CONFIG}" != "no"
2101 VLC_ADD_PLUGINS([dvdnav])
2102 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2103 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2108 dnl Windows DirectShow access module
2110 AC_ARG_ENABLE(dshow,
2111 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2112 if test "${enable_dshow}" != "no"
2114 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2117 AC_CHECK_HEADERS(dshow.h,
2118 [ VLC_ADD_PLUGINS([dshow])
2119 VLC_ADD_CXXFLAGS([dshow],[])
2120 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2126 dnl Windows DirectShow BDA access module
2129 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2130 if test "${enable_bda}" != "no"
2132 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2134 AC_CHECK_HEADERS(dshow.h,
2135 [ VLC_ADD_PLUGINS([bda])
2136 VLC_ADD_CXXFLAGS([bda],[])
2137 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2143 dnl OpenCV wrapper and example filters
2145 AC_ARG_ENABLE(opencv,
2146 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2147 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2149 AC_ARG_WITH(opencv-tree,
2150 [ --with-opencv-tree=PATH opencv tree for linking])
2151 if test -n "${with_opencv_tree}"
2153 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2155 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2156 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2157 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2160 VLC_ADD_PLUGINS([opencv_wrapper])
2161 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2162 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])
2164 VLC_ADD_PLUGINS([opencv_example])
2165 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2166 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])
2169 dnl No opencv could be found, sorry
2171 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2174 AC_MSG_WARN([--enable-opencv currently only works on windows])
2181 dnl libsmbclient plugin
2184 [ --enable-smb smb input module (default enabled)])
2185 if test "${enable_smb}" != "no"; then
2186 AC_CHECK_HEADERS(libsmbclient.h,
2187 [ VLC_ADD_PLUGINS([access_smb])
2188 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2189 [ if test -n "${enable_smb}"; then
2190 AC_MSG_ERROR([cannot find libsmbclient headers])
2192 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2193 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2194 [#include <libsmbclient.h>])
2198 dnl libdvbpsi ts demux/mux
2200 AC_ARG_ENABLE(dvbpsi,
2201 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2202 if test "${enable_dvbpsi}" != "no"
2205 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2207 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2208 case "${with_dvbpsi}" in
2210 if test -z "${with_dvbpsi_tree}"
2212 AC_CHECK_HEADERS(dvbpsi/dr.h,
2213 [ VLC_ADD_PLUGINS([ts])
2214 if test "${enable_sout}" != "no"; then
2215 VLC_ADD_PLUGINS([mux_ts])
2217 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2218 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2219 [#if defined( HAVE_STDINT_H )
2220 # include <stdint.h>
2221 #elif defined( HAVE_INTTYPES_H )
2222 # include <inttypes.h>
2224 #include <dvbpsi/dvbpsi.h>
2225 #include <dvbpsi/descriptor.h>
2226 #include <dvbpsi/pat.h>
2227 #include <dvbpsi/pmt.h>])
2229 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2230 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2231 if test -z "${real_dvbpsi_tree}"
2233 dnl The given directory can't be found
2235 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2237 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2239 dnl Use a custom libdvbpsi
2240 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2241 VLC_ADD_BUILTINS([ts])
2242 if test "${enable_sout}" != "no"; then
2243 VLC_ADD_BUILTINS([mux_ts])
2245 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2246 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2248 dnl The given libdvbpsi wasn't built
2250 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2255 dnl Compile without dvbpsi
2258 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2259 if test -z "${with_dvbpsi}"
2264 LDFLAGS_test="-L${with_dvbpsi}/lib"
2265 CPPFLAGS_test="-I${with_dvbpsi}/include"
2267 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2268 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2269 VLC_ADD_PLUGINS([ts])
2270 if test "${enable_sout}" != "no"; then
2271 VLC_ADD_PLUGINS([mux_ts])
2273 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2274 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2277 if test -n "${enable_dvbpsi}"
2279 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])
2282 CPPFLAGS="${CPPFLAGS_save}"
2285 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2286 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2287 ], [], [${LDFLAGS_ts}])
2292 dnl Video4Linux plugin
2295 [ --enable-v4l Video4Linux input support (default disabled)])
2296 if test "${enable_v4l}" = "yes"
2299 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2300 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2302 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2305 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2306 AC_CHECK_HEADERS(linux/videodev.h, [
2307 VLC_ADD_PLUGINS([v4l])
2309 CPPFLAGS="${CPPFLAGS_save}"
2313 dnl Video4Linux plugin
2316 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2317 if test "${enable_v4l2}" = "yes"
2320 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2321 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2323 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2326 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2327 AC_CHECK_HEADERS(linux/videodev2.h, [
2328 VLC_ADD_PLUGINS([v4l2])
2330 CPPFLAGS="${CPPFLAGS_save}"
2335 dnl special access module for Hauppauge PVR cards
2338 [ --enable-pvr PVR cards access module (default disabled)])
2339 if test "${enable_pvr}" = "yes"
2341 VLC_ADD_PLUGINS([pvr])
2342 AC_ARG_WITH(videodev2,
2343 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2344 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2346 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2350 AC_CACHE_CHECK([for new linux/videodev2.h],
2351 [new_linux_videodev2_h],
2353 #include <sys/types.h>
2354 # ifdef VIDEODEV2_H_FILE
2355 # include VIDEODEV2_H_FILE
2357 # include <linux/videodev2.h>
2360 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2361 new_linux_videodev2_h=yes,
2362 new_linux_videodev2_h=no)])
2363 if test "${new_linux_videodev2_h}" != "no"; then
2364 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2369 dnl gnomeVFS access module
2371 AC_ARG_ENABLE(gnomevfs,
2372 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2373 if test "${enable_gnomevfs}" = "yes"
2375 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2376 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2377 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2378 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2379 VLC_ADD_PLUGINS([access_gnomevfs]),
2380 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2383 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2384 AC_ARG_ENABLE(libcdio,
2385 [ --enable-libcdio CD input and control library support (default enabled)])
2390 if test "${enable_libcdio}" != "no"
2392 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2394 AC_DEFINE(HAVE_LIBCDIO, [],
2395 [Define if you have libcdio 0.78.2 or greater installed]),
2396 [AC_MSG_WARN(CD Reading and information library not found)])
2398 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2399 [have_libvcdinfo=yes
2400 AC_DEFINE(HAVE_VCDINFO, [],
2401 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2402 [AC_MSG_WARN(VCD information library not found)])
2406 dnl VCDX and CDDAX modules
2408 AC_ARG_ENABLE(cddax,
2409 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2411 AC_ARG_ENABLE(libcddb,
2412 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2414 if test "${enable_cddax}" = "yes"
2416 if test "$have_libcdio" = "yes"
2418 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2419 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2420 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2421 VLC_ADD_PLUGINS([cddax])
2422 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2423 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2424 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2426 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2430 if test "$enable_libcddb" != "no"; then
2431 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2433 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2434 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2435 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2437 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2444 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2446 if test "${enable_vcdx}" = "yes"
2448 if test "${have_libvcdinfo}" = "yes"
2450 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2451 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2453 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2457 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2458 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2459 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2460 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2463 if test "$have_libvcdinfo" = "yes"
2465 AC_DEFINE(HAVE_VCDX, [],
2466 [Define for the VCD plugin using libcdio/libvcdinfo])
2467 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2468 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2469 VLC_ADD_PLUGINS([vcdx])
2471 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2477 dnl Built-in CD-DA and VCD module
2480 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2483 [ --enable-vcd built-in VCD (default enabled)])
2485 if test "${enable_vcd}" != "no"
2487 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2488 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2490 VLC_ADD_PLUGINS([vcd cdda])
2495 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2496 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2498 VLC_ADD_PLUGINS([vcd cdda])
2499 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2504 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2505 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2507 VLC_ADD_PLUGINS([vcd cdda])
2508 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2513 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2515 VLC_ADD_PLUGINS([vcd cdda])
2518 if test "${SYS}" = "darwin"
2520 VLC_ADD_PLUGINS([vcd cdda])
2521 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2522 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2525 if test "$enable_libcddb" != "no"; then
2526 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2528 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2529 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2530 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2532 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2538 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2541 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2543 if test "${enable_dvb}" = "yes"
2546 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2547 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2549 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2551 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2552 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2553 if test -z "${with_dvbpsi_tree}"
2555 VLC_ADD_PLUGINS([dvb])
2557 VLC_ADD_BUILTINS([dvb])
2559 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2560 CPPFLAGS="${CPPFLAGS_save}"
2564 dnl Screen capture module
2566 AC_ARG_ENABLE(screen,
2567 [ --enable-screen Screen capture support (default enabled)])
2568 if test "${enable_screen}" != "no"; then
2569 if test "${SYS}" = "darwin"; then
2570 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2571 VLC_ADD_PLUGINS([screen])
2572 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2574 elif test "${SYS}" = "mingw32"; then
2575 VLC_ADD_PLUGINS([screen])
2576 VLC_ADD_LIBS([screen],[-lgdi32])
2577 elif test "${SYS}" = "mingwce"; then
2578 CPPFLAGS="${CPPFLAGS_save}"
2579 elif test "${SYS}" = "beos"; then
2580 VLC_ADD_PLUGINS([screen])
2581 VLC_ADD_CXXFLAGS([screen],[])
2582 VLC_ADD_LIBS([screen],[-lbe])
2584 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2585 AC_CHECK_HEADERS(X11/Xlib.h, [
2586 VLC_ADD_PLUGINS([screen])
2587 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2588 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2590 CPPFLAGS="${CPPFLAGS_save}"
2595 dnl ipv6 plugin - not for QNX yet
2598 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2599 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2602 AS_IF([test "${have_ipv6}" = "yes"], [
2603 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2606 AC_CHECK_FUNCS(inet_ntop,[
2607 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2611 dnl ogg demux plugin
2614 [ --enable-ogg Ogg demux support (default enabled)])
2615 if test "${enable_ogg}" != "no"
2617 AC_ARG_WITH(ogg-tree,
2618 [ --with-ogg-tree=PATH ogg tree for static linking])
2619 if test -n "${with_ogg_tree}"
2621 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2622 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2623 if test -z "${real_ogg_tree}"
2625 dnl The given directory can't be found
2627 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2629 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2631 dnl Use a custom ogg
2632 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2633 VLC_ADD_PLUGINS([ogg])
2634 if test "${enable_sout}" != "no"; then
2635 VLC_ADD_PLUGINS([mux_ogg])
2637 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2638 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2640 dnl The given ogg wasn't built
2642 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2645 AC_CHECK_HEADERS(ogg/ogg.h, [
2646 AC_CHECK_LIB( ogg, oggpack_read, [
2647 VLC_ADD_PLUGINS([ogg])
2648 if test "${enable_sout}" != "no"; then
2649 VLC_ADD_PLUGINS([mux_ogg])
2651 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2657 dnl matroska demux plugin
2660 [ --enable-mkv Matroska demux support (default enabled)])
2661 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2663 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2664 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2666 [#include <ebml/EbmlVersion.h>
2667 #ifdef LIBEBML_VERSION
2668 #if LIBEBML_VERSION >= 0x000706
2672 [AC_MSG_RESULT([yes])
2673 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2674 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2676 [#include <matroska/KaxVersion.h>
2677 #ifdef LIBMATROSKA_VERSION
2678 #if LIBMATROSKA_VERSION >= 0x000705
2682 [AC_MSG_RESULT([yes])
2683 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2684 VLC_ADD_CXXFLAGS([mkv],[])
2685 if test "${SYS}" = "darwin"; then
2686 VLC_ADD_CXXFLAGS([mkv],[-O1])
2688 AC_CHECK_LIB(ebml_pic, main, [
2689 VLC_ADD_PLUGINS([mkv])
2690 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2692 AC_CHECK_LIB(ebml, main, [
2693 VLC_ADD_PLUGINS([mkv])
2694 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2698 [AC_MSG_RESULT([no])
2699 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.])
2703 [AC_MSG_RESULT([no])
2704 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.])
2711 dnl modplug demux plugin
2714 [ --enable-mod Mod demux support (default enabled)])
2715 if test "${enable_mod}" != "no"
2717 AC_ARG_WITH(mod-tree,
2718 [ --with-mod-tree=PATH mod tree for static linking])
2719 if test -n "${with_mod_tree}"
2721 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2722 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2723 if test -z "${real_mod_tree}"
2725 dnl The given directory can't be found
2727 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2729 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2731 dnl Use a custom mod
2732 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2733 VLC_ADD_PLUGINS([mod])
2734 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2735 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2737 dnl The given mod wasn't built
2739 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2742 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2743 VLC_ADD_PLUGINS([mod])
2744 VLC_ADD_CXXFLAGS([mod],[])
2745 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2750 dnl mpc demux plugin
2753 [ --enable-mpc Mpc demux support (default enabled)])
2754 if test "${enable_mpc}" != "no"
2756 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2757 VLC_ADD_PLUGINS([mpc])
2758 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2762 dnl game music emu demux plugin
2765 [ --enable-gme Game Music Emu demux support (default enabled)])
2766 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2769 AC_ARG_WITH(gme-tree,
2770 [ --with-gme-tree=PATH gme tree for static linking])
2771 if test -n "${with_gme_tree}"
2773 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2774 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2775 if test -z "${real_gme_tree}"
2777 dnl The given directory can't be found
2779 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2781 if test -f "${real_gme_tree}/gme/libgme.a"
2783 dnl Use a custom gme
2784 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2785 VLC_ADD_PLUGINS([gme])
2786 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2787 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2789 dnl The given gme wasn't built
2791 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2794 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2803 AC_ARG_WITH(,[Codec plugins:])
2809 [ --enable-mad libmad module (default enabled)])
2810 if test "${enable_mad}" != "no"
2813 [ --with-mad=PATH path to libmad],[],[])
2814 if test "${with_mad}" != "no" -a -n "${with_mad}"
2816 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2817 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2820 AC_ARG_WITH(mad-tree,
2821 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2822 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2824 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2825 if test -z "${real_mad_tree}"
2827 dnl The given directory can't be found
2829 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2831 dnl Use a custom libmad
2832 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2833 if test -f ${real_mad_tree}/mad.h
2836 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2837 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2838 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2839 AC_CHECK_LIB(mad, mad_bit_init, [
2840 VLC_ADD_BUILTINS([mpgatofixed32])
2841 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2842 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2844 LDFLAGS="${LDFLAGS_save}"
2847 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2850 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2851 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2852 AC_CHECK_HEADERS(mad.h, ,
2853 [ 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.]) ])
2854 AC_CHECK_LIB(mad, mad_bit_init, [
2855 VLC_ADD_PLUGINS([mpgatofixed32])
2856 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2857 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2858 CPPFLAGS="${CPPFLAGS_save}"
2859 LDFLAGS="${LDFLAGS_save}"
2864 dnl libid3tag support (FIXME!!! doesn't work with new input)
2866 AC_ARG_ENABLE( id3tag,
2867 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2868 AS_IF([test "${enable_id3tag}" != "no"], [
2869 AC_CHECK_HEADERS(id3tag.h, [
2870 AC_CHECK_HEADERS(zlib.h, [
2871 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2872 VLC_ADD_PLUGINS([id3tag])
2878 dnl ffmpeg decoder/demuxer plugin
2880 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2881 dnl 4- default place,
2883 AC_ARG_ENABLE(ffmpeg,
2884 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2885 if test "${enable_ffmpeg}" != "no"
2888 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2890 AC_ARG_WITH(ffmpeg-mp3lame,
2891 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2893 if test "$with_ffmpeg_mp3lame" = "yes"; then
2894 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2897 AC_ARG_WITH(ffmpeg-faac,
2898 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2900 if test "$with_ffmpeg_faac" = "yes"; then
2901 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2904 AC_ARG_WITH(ffmpeg-dts,
2905 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2907 if test "$with_ffmpeg_dts" = "yes"; then
2908 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2909 AC_CHECK_LIB(dts_pic, dts_free,
2910 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2911 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2912 LDFLAGS="${LDFLAGS_save}"
2915 AC_ARG_WITH(ffmpeg-vorbis,
2916 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2918 if test "$with_ffmpeg_vorbis" = "yes"; then
2919 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2922 AC_ARG_WITH(ffmpeg-theora,
2923 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2925 if test "$with_ffmpeg_theora" = "yes"; then
2926 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2929 AC_ARG_WITH(ffmpeg-ogg,
2930 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2932 if test "$with_ffmpeg_ogg" = "yes"; then
2933 VLC_ADD_LIBS([ffmpeg],[-logg])
2936 AC_ARG_WITH(ffmpeg-zlib,
2937 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2939 if test "$with_ffmpeg_zlib" = "yes"; then
2940 VLC_ADD_LIBS([ffmpeg],[-lz])
2943 AC_ARG_WITH(ffmpeg-amrnb,
2944 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2946 if test "$with_ffmpeg_amrnb" = "yes"; then
2947 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
2950 AC_ARG_WITH(ffmpeg-amrwb,
2951 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2953 if test "$with_ffmpeg_amrwb" = "yes"; then
2954 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
2957 AC_ARG_WITH(ffmpeg-x264,
2958 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support],
2960 if test "$with_ffmpeg_x264" = "yes"; then
2961 VLC_ADD_LIBS([ffmpeg],[-lx264])
2964 AC_ARG_WITH(ffmpeg-a52,
2965 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
2967 if test "$with_ffmpeg_a52" = "yes"; then
2968 VLC_ADD_LIBS([ffmpeg],[-la52])
2972 dnl test for --with-ffmpeg-tree
2974 AC_ARG_WITH(ffmpeg-tree,
2975 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2977 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2978 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2979 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2980 if test -z "${real_ffmpeg_tree}"; then
2981 dnl The given directory can't be found
2983 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2985 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2986 dnl The given libavcodec wasn't built
2988 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2990 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2991 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2992 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2993 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2994 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2995 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2997 dnl The given libavcodec wasn't built with --enable-pp
2999 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3002 dnl Use a custom libffmpeg
3003 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3005 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3006 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3007 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3008 export PKG_CONFIG_PATH=""
3009 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3011 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3012 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3013 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3015 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3016 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3018 unset PKG_CONFIG_PATH
3020 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3021 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3023 unset PKG_CONFIG_LIBDIR
3026 VLC_ADD_BUILTINS([ffmpeg])
3027 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3028 VLC_ADD_BUILTINS([stream_out_switcher])
3031 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3032 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3033 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3034 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3038 dnl Look for a ffmpeg-config (we are on debian )
3040 FFMPEG_PATH="${PATH}"
3041 AC_ARG_WITH(ffmpeg-config-path,
3042 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
3043 [ if test "${with_ffmpeg_config_path}" != "no"
3045 FFMPEG_PATH="${with_ffmpeg_config_path}"
3047 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
3048 if test "${FFMPEG_CONFIG}" != "no"
3050 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3051 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3052 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3053 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3054 VLC_ADD_PLUGINS([ffmpeg])
3055 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3056 VLC_ADD_PLUGINS([stream_out_switcher])
3058 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
3059 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
3063 dnl Trying with pkg-config
3064 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3067 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3068 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3069 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3070 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3071 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3072 dnl newer ffmpeg have a separate libpostproc
3073 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3074 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3075 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3077 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3078 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3079 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3080 if test "${SYS}" = "darwin"; then
3081 VLC_ADD_BUILTINS([ffmpeg])
3083 VLC_ADD_PLUGINS([ffmpeg])
3085 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3086 if test "${SYS}" = "darwin"; then
3087 VLC_ADD_BUILTINS([stream_out_switcher])
3089 VLC_ADD_PLUGINS([stream_out_switcher])
3092 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3093 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3095 dnl even newer ffmpeg has a libswscale
3096 PKG_CHECK_MODULES(SWSCALE,[libavutil, libswscale],[
3097 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3098 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3099 AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3100 dnl AC_CHECK_LIB(swscale, sws_getContext,
3101 dnl [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[])
3107 dnl last chance: at the default place
3109 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3110 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
3111 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3112 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3113 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3114 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3116 AC_CHECK_LIB(avutil, av_crc_init, [
3117 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3118 LDAVUTIL="-lavutil"])
3120 AC_CHECK_LIB(avcodec, avcodec_init, [
3121 VLC_ADD_BUILTINS([ffmpeg])
3122 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3123 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3124 VLC_ADD_BUILTINS([stream_out_switcher])
3126 [ 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])
3128 AC_CHECK_LIB(postproc, pp_postprocess, [
3129 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3130 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3133 AC_CHECK_LIB(avformat, av_open_input_stream, [
3134 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3135 LDFLAGS="${LDFLAGS_save}"
3136 CPPFLAGS="${CPPFLAGS_save}"
3138 AC_CHECK_LIB(swscale, sws_getContext, [
3139 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3140 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3141 LDFLAGS="${LDFLAGS_save}"
3142 CPPFLAGS="${CPPFLAGS_save}"
3149 dnl ffmpegaltivec plugin
3151 AC_ARG_ENABLE(ffmpegaltivec,
3152 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3153 if test "${enable_ffmpegaltivec}" = "yes"
3155 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3156 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3157 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3158 if test -z "${real_ffmpeg_tree}"; then
3159 dnl The given directory can't be found
3161 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3163 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3164 dnl The given libavcodecaltivec wasn't built
3166 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3168 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3169 dnl The given libavcodecaltivec wasn't built with --enable-pp
3171 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3173 dnl Use a custom libffmpeg
3174 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3175 VLC_ADD_BUILTINS([ffmpegaltivec])
3176 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3177 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3178 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3180 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3181 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3182 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3183 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3185 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3186 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3191 dnl faad decoder plugin
3194 [ --enable-faad faad codec (default disabled)])
3195 if test "${enable_faad}" = "yes"
3197 AC_ARG_WITH(faad-tree,
3198 [ --with-faad-tree=PATH faad tree for static linking])
3199 if test -n "${with_faad_tree}"
3201 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3202 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3203 if test -z "${real_faad_tree}"
3205 dnl The given directory can't be found
3207 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3209 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3211 dnl Use a custom faad
3212 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3213 VLC_ADD_BUILTINS([faad])
3214 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3215 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3217 dnl The given libfaad wasn't built
3219 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3222 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3223 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3224 AC_CHECK_HEADERS(faad.h, ,
3225 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3226 AC_CHECK_LIB(faad, faacDecOpen, [
3227 VLC_ADD_PLUGINS([faad])
3228 VLC_ADD_LIBS([faad],[-lfaad]) ],
3229 AC_CHECK_LIB(faad, NeAACDecOpen, [
3230 VLC_ADD_PLUGINS([faad])
3231 VLC_ADD_LIBS([faad],[-lfaad]) ],
3232 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],[-lm]))
3233 LDFLAGS="${LDFLAGS_save}"
3234 CPPFLAGS="${CPPFLAGS_save}"
3239 dnl twolame encoder plugin
3241 AC_ARG_ENABLE(twolame,
3242 [ --enable-twolame twolame codec (default disabled)])
3243 if test "${enable_twolame}" = "yes"
3245 AC_ARG_WITH(twolame-tree,
3246 [ --with-twolame-tree=PATH twolame tree for static linking])
3247 if test -n "${with_twolame_tree}"
3249 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3250 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3251 if test -z "${real_twolame_tree}"
3253 dnl The given directory can't be found
3255 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3257 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3259 dnl Use a custom twolame
3260 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3261 VLC_ADD_BUILTINS([twolame])
3262 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3263 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3265 dnl The given libtwolame wasn't built
3267 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3270 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3271 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3272 AC_CHECK_HEADERS(twolame.h, ,
3273 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3274 AC_CHECK_LIB(twolame, twolame_init, [
3275 VLC_ADD_PLUGINS([twolame])
3276 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3277 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3278 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3279 LDFLAGS="${LDFLAGS_save}"
3280 CPPFLAGS="${CPPFLAGS_save}"
3285 dnl QuickTime plugin
3287 AC_ARG_ENABLE(quicktime,
3288 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3289 if test "${enable_quicktime}" != "no" &&
3290 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3292 if test "${SYS}" = "mingw32"; then
3293 VLC_ADD_BUILTINS([quicktime])
3295 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3296 [ VLC_ADD_BUILTINS([quicktime])
3297 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3298 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3306 [ --enable-real Real audio module (default disabled)])
3307 if test "${enable_real}" = "yes"; then
3308 VLC_ADD_PLUGINS([realaudio])
3312 dnl Real RTSP plugin
3314 AC_ARG_ENABLE(realrtsp,
3315 [ --enable-realrtsp Real RTSP module (default disabled)])
3316 if test "${enable_realrtsp}" = "yes"; then
3317 VLC_ADD_PLUGINS([access_realrtsp])
3323 AC_CHECK_HEADERS(zlib.h, [
3324 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3327 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3328 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3334 AC_ARG_ENABLE(libtar,
3335 [ --enable-libtar support for skins2 (default enabled)])
3337 AS_IF([test "${enable_libtar}" != "no"],[
3338 AC_CHECK_HEADERS(libtar.h, [
3339 VLC_ADD_LIBS([skins2],[-ltar])
3344 dnl A52/AC3 decoder plugin
3347 [ --enable-a52 A/52 support with liba52 (default enabled)])
3348 if test "${enable_a52}" != "no"
3351 [ --with-a52=PATH a52 headers and libraries])
3352 AC_ARG_WITH(a52-tree,
3353 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3354 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3356 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3357 if test -z "${real_a52_tree}"
3359 dnl The given directory can't be found
3361 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3363 dnl Use a custom a52dec
3364 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3365 if test -f ${real_a52_tree}/include/a52.h
3368 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3369 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3370 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32} -lm"
3371 AC_CHECK_LIB(a52, a52_free, [
3372 VLC_ADD_BUILTINS([a52tofloat32])
3373 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3374 VLC_ADD_LIBS([a52tofloat32],[-la52])
3376 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3378 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3380 AC_MSG_ERROR([the specified tree hasn't been compiled])
3383 LDFLAGS="${LDFLAGS_save}"
3386 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3389 if test -z "${with_a52}"
3394 LDFLAGS_test="-L${with_a52}/lib"
3395 CPPFLAGS_test="-I${with_a52}/include"
3397 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3398 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3399 AC_CHECK_HEADERS(a52dec/a52.h, [
3400 AC_CHECK_LIB(a52, a52_free, [
3401 VLC_ADD_PLUGINS([a52tofloat32])
3402 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3403 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3405 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.])
3408 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.])
3410 CPPFLAGS="${CPPFLAGS_save}"
3411 LDFLAGS="${LDFLAGS_save}"
3415 AC_ARG_WITH(a52-fixed,
3416 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3418 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3421 dnl DTS Coherent Acoustics decoder plugin
3423 AS_IF([test "x${enable_dts}" != "x"], [
3424 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3426 AS_IF([test "x${with_dts_tree}" != "x"], [
3427 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3431 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3432 AS_IF([test "${enable_dca}" != "no"], [
3433 AC_ARG_WITH(dca-tree,
3434 [ --with-dca-tree=PATH libdca tree for static linking],,
3435 [with_dca_tree="no"])
3436 AS_IF([test "${with_dca_tree}" != "no"], [
3437 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3438 AS_IF([test -z "${real_dca_tree}"], [
3439 dnl The given directory can't be found
3441 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3443 dnl Use a custom libdca
3444 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3445 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3447 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3448 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3449 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3451 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3455 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3458 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3459 VLC_ADD_PLUGINS([dtstofloat32])
3460 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3461 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3463 AS_IF([test "x${enable_dca}" != "x"], [
3464 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3474 [ --enable-flac libflac decoder/encoder support (default disabled)])
3475 if test "${enable_flac}" = "yes"
3477 AC_ARG_WITH(flac-tree,
3478 [ --with-flac-tree=PATH flac tree for static linking])
3479 if test -n "${with_flac_tree}"
3481 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3482 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3483 if test -z "${real_flac_tree}"
3485 dnl The given directory can't be found
3487 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3489 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3491 dnl Use a custom flac
3492 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3493 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3494 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3495 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3497 dnl The given flac wasn't built
3499 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3502 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3503 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3511 AC_ARG_ENABLE(libmpeg2,
3512 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3513 if test "${enable_libmpeg2}" != "no"
3515 AC_ARG_WITH(libmpeg2-tree,
3516 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3517 if test -n "${with_libmpeg2_tree}"
3519 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3520 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3521 if test -z "${real_libmpeg2_tree}"
3523 dnl The given directory can't be found
3525 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3527 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3529 dnl Use a custom libmpeg2
3530 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3531 VLC_ADD_BUILTINS([libmpeg2])
3532 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3533 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3534 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3536 dnl The given libmpeg2 wasn't built
3538 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3541 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3542 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3544 [#include <mpeg2dec/mpeg2.h>
3545 #ifdef MPEG2_RELEASE
3546 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3550 [AC_MSG_RESULT([yes])
3551 VLC_ADD_PLUGINS([libmpeg2])
3552 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3553 [AC_MSG_RESULT([no])
3554 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.])])],
3556 [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.])]
3564 AC_ARG_ENABLE(vorbis,
3565 [ --enable-vorbis Vorbis decoder support (default enabled)])
3566 if test "${enable_vorbis}" != "no"
3568 AC_ARG_WITH(vorbis-tree,
3569 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3570 if test -n "${with_vorbis_tree}"
3572 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3573 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3574 if test -z "${real_vorbis_tree}"
3576 dnl The given directory can't be found
3578 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3580 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3582 dnl Use a custom vorbis
3583 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3584 VLC_ADD_PLUGINS([vorbis])
3585 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3586 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3588 dnl The given vorbis wasn't built
3590 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3593 AC_CHECK_HEADERS(vorbis/codec.h, [
3594 VLC_ADD_PLUGINS([vorbis])
3595 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3597 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3598 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3605 AC_ARG_ENABLE(tremor,
3606 [ --enable-tremor Tremor decoder support (default disabled)])
3607 if test "${enable_tremor}" = "yes"
3609 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3610 VLC_ADD_PLUGINS([tremor])
3611 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3618 AC_ARG_ENABLE(speex,
3619 [ --enable-speex Speex decoder support (default enabled)])
3620 if test "${enable_speex}" != "no"
3622 AC_ARG_WITH(speex-tree,
3623 [ --with-speex-tree=PATH speex tree for static linking])
3624 if test -n "${with_speex_tree}"
3626 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3627 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3628 if test -z "${real_speex_tree}"
3630 dnl The given directory can't be found
3632 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3634 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3636 dnl Use a custom speex
3637 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3638 VLC_ADD_PLUGINS([speex])
3639 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3640 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3642 dnl The given speex wasn't built
3644 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3647 AC_CHECK_HEADERS(speex/speex.h, [
3648 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3649 AC_CHECK_LIB(speex, speex_decode_int, [
3650 VLC_ADD_PLUGINS([speex])
3651 VLC_ADD_LIBS([speex],[-lspeex]) ],
3652 [ AC_MSG_RESULT([no])
3653 AC_MSG_WARN([Your libspeex is too old, please get the development
3655 LDFLAGS="${LDFLAGS_save}"
3661 dnl tarkin decoder plugin
3663 AC_ARG_ENABLE(tarkin,
3664 [ --enable-tarkin experimental tarkin codec (default disabled)])
3665 if test "${enable_tarkin}" = "yes"
3667 AC_ARG_WITH(tarkin-tree,
3668 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3669 if test -n "${with_tarkin_tree}"
3671 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3672 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3673 if test -f "${real_tarkin_tree}/tarkin.o"
3675 VLC_ADD_BUILTINS([tarkin])
3676 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3677 VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
3680 dnl The given tarkin tree wasn't built
3682 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3683 make sure you compiled tarkin in ${with_tarkin_tree}])
3689 dnl theora decoder plugin
3691 AC_ARG_ENABLE(theora,
3692 [ --enable-theora experimental theora codec (default disabled)])
3693 if test "${enable_theora}" = "yes"
3695 AC_CHECK_HEADERS(theora/theora.h, [
3696 AC_CHECK_LIB(theora, theora_granule_time, [
3697 VLC_ADD_PLUGINS([theora])
3698 theora_libs="-ltheora -logg"
3699 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3700 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3701 You also need to check that you have a libogg posterior to the 1.0 release.])],
3707 dnl dirac decoder plugin
3709 AC_ARG_ENABLE(dirac,
3710 [ --enable-dirac experimental dirac codec (default disabled)])
3711 if test "${enable_dirac}" = "yes"; then
3712 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3713 VLC_ADD_PLUGINS([dirac])
3714 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3715 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3716 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3721 dnl PNG decoder module
3724 [ --enable-png PNG support (default enabled)])
3725 if test "${enable_png}" != "no"; then
3726 AC_CHECK_HEADERS(png.h, [
3727 LDFLAGS="${LDFLAGS_save} -lz"
3728 AC_CHECK_LIB(png, png_set_rows, [
3729 VLC_ADD_LIBS([png],[-lpng -lz])
3730 VLC_ADD_PLUGINS([png])
3731 VLC_ADD_PLUGINS([osdmenu])
3732 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3734 LDFLAGS="${LDFLAGS_save}"
3739 dnl H264 encoder plugin (using libx264)
3742 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3743 if test "${enable_x264}" != "no"; then
3744 AC_ARG_WITH(x264-tree,
3745 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3746 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3748 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3749 if test -z "${real_x264_tree}"
3751 dnl The given directory can't be found
3753 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3755 dnl Use a custom libx264
3756 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3757 if test -f ${real_x264_tree}/x264.h
3760 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3761 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3762 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3763 AC_CHECK_LIB(x264, x264_encoder_open, [
3764 VLC_ADD_BUILTINS([x264])
3765 VLC_ADD_LIBS([x264],[-lx264])
3767 AC_MSG_ERROR([the specified tree hasn't been compiled])
3769 LDFLAGS="${LDFLAGS_save}"
3772 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3775 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3776 AC_CHECK_HEADERS(x264.h, [
3777 AC_CHECK_LIB(x264, x264_encoder_open, [
3778 VLC_ADD_PLUGINS([x264])
3779 VLC_ADD_LIBS([x264],[-lx264])
3781 if test "${enable_x264}" = "yes"; then
3782 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3786 LDFLAGS="${LDFLAGS_save}"
3791 dnl libfluidsynth (MIDI synthetizer) plugin
3793 AC_ARG_ENABLE(fluidsynth,
3794 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default auto)])
3795 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3796 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3797 VLC_ADD_PLUGINS(fluidsynth)
3798 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3799 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3801 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3802 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3808 dnl Teletext Modules
3809 dnl vbi decoder plugin (using libzbvi)
3814 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3816 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3818 AS_IF( [test "${enable_zvbi}" != "no"],[
3819 AS_IF( [test "${enable_telx}" = "yes"],[
3820 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3822 PKG_CHECK_MODULES(ZVBI,
3825 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3826 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3827 VLC_ADD_PLUGINS([zvbi])
3828 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3830 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3835 AS_IF( [test "${enable_telx}" = "yes"],[
3836 VLC_ADD_PLUGINS([telx])
3843 [ --enable-cmml CMML support (default enabled)])
3844 if test "${enable_cmml}" != "no"
3846 VLC_ADD_PLUGINS([cmml])
3854 AC_ARG_WITH(,[Video plugins:])
3857 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3858 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3859 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3860 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3861 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3863 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3864 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3869 #include <X11/Xlib.h>
3871 CPPFLAGS="${CPPFLAGS_save}"
3876 dnl (enabled by default except on win32)
3879 [ --enable-x11 X11 support (default enabled)])
3880 if test "${enable_x11}" != "no" &&
3881 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3882 test "${enable_x11}" = "yes"); then
3883 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3884 AC_CHECK_HEADERS(X11/Xlib.h, [
3885 VLC_ADD_PLUGINS([panoramix])
3886 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3887 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3888 AC_CHECK_LIB(Xext, XShmAttach, [
3889 VLC_ADD_PLUGINS([x11])
3890 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3891 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3894 CPPFLAGS="${CPPFLAGS_save}"
3899 dnl (enabled by default except on win32)
3901 AC_ARG_ENABLE(xvideo,
3902 [ --enable-xvideo XVideo support (default enabled)])
3903 if test "${enable_xvideo}" != "no" &&
3904 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3905 test "${enable_xvideo}" = "yes"); then
3906 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3907 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3908 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3909 AC_CHECK_LIB(Xv,XvPutImage,[
3910 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3911 # test for libXv_pic.
3912 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3913 VLC_ADD_PLUGINS([xvideo])
3914 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3915 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3917 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3918 VLC_ADD_PLUGINS([xvideo])
3919 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3920 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3922 VLC_ADD_BUILTINS([xvideo])
3923 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3924 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3928 CFLAGS="${CFLAGS_save}"
3930 CPPFLAGS="${CPPFLAGS_save}")
3935 dnl (enabled by default except on win32)
3938 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3939 if test "${enable_glx}" != "no" &&
3940 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3941 test "${enable_glx}" = "yes"); then
3942 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3943 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3944 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3945 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3949 VLC_ADD_PLUGINS([glx])
3950 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3951 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3952 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3953 CPPFLAGS="${CPPFLAGS_save}"
3958 dnl (enabled by default except on win32)
3961 [ --enable-xvmc XVMC support (default disabled)])
3962 if test "${enable_xvmc}" = "yes" &&
3963 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3964 test "${enable_xvmc}" = "yes"); then
3965 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3966 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3967 VLC_ADD_PLUGINS([xvmc])
3968 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3969 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3971 CPPFLAGS="${CPPFLAGS_save}"
3975 dnl Check for the Xinerama extension
3977 AC_ARG_ENABLE(xinerama,
3978 [ --enable-xinerama Xinerama support (default enabled)])
3979 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3980 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3981 test "${enable_xvideo}" = "yes"); then
3982 ac_cv_have_xinerama="no"
3983 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3984 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3985 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3986 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3987 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
3988 VLC_ADD_LIBS([x11],[-lXinerama_pic])
3989 VLC_ADD_LIBS([glx],[-lXinerama_pic])
3990 ac_cv_have_xinerama="yes"
3992 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3993 VLC_ADD_LIBS([xvideo],[-lXinerama])
3994 VLC_ADD_LIBS([x11],[-lXinerama])
3995 VLC_ADD_LIBS([glx],[-lXinerama])
3996 ac_cv_have_xinerama="yes"
4000 if test "${ac_cv_have_xinerama}" = "yes"; then
4001 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4003 CFLAGS="${CFLAGS_save}"
4004 CPPFLAGS="${CPPFLAGS_save}"
4007 dnl Check for XF86VidMode extension
4009 ac_cv_have_xf86vidmode="no"
4010 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4011 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4012 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4013 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4014 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4015 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4016 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4017 ac_cv_have_xf86vidmode="yes"
4019 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4020 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4021 VLC_ADD_LIBS([x11],[-lXxf86vm])
4022 VLC_ADD_LIBS([glx],[-lXxf86vm])
4023 ac_cv_have_xf86vidmode="yes"
4027 [#ifdef HAVE_X11_XLIB_H
4028 # include <X11/Xlib.h>
4031 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4032 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4034 CFLAGS="${CFLAGS_save}"
4035 CPPFLAGS="${CPPFLAGS_save}"
4041 dnl (enabled by default except on beos)
4043 AC_ARG_ENABLE(opengl,
4044 [ --enable-opengl OpenGL support (default enabled)])
4045 if test "${enable_opengl}" != "no" &&
4046 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4047 if test "${SYS}" != "darwin"; then
4048 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4049 VLC_ADD_PLUGINS([opengl])
4050 if test "${SYS}" != "mingw32"; then
4051 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4053 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4057 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4058 VLC_ADD_PLUGINS([opengl])
4059 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4067 [ --enable-sdl SDL support (default enabled)])
4068 AC_ARG_ENABLE(sdl-image,
4069 [ --enable-sdl-image SDL image support (default enabled)])
4070 if test "${enable_sdl}" != "no"
4073 AC_ARG_WITH(sdl-config-path,
4074 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4075 [ if test "${with_sdl_config_path}" != "no"
4077 SDL_PATH="${with_sdl_config_path}:${PATH}"
4079 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4080 SDL_CONFIG="${SDL12_CONFIG}"
4081 SDL_HEADER="SDL12/SDL.h"
4082 SDL_IMAGE="SDL12/SDL_image.h"
4083 if test "${SDL_CONFIG}" = "no"
4085 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4086 SDL_CONFIG=${SDL11_CONFIG}
4087 SDL_HEADER="SDL11/SDL.h"
4088 SDL_IMAGE="SDL11/SDL_image.h"
4090 if test "${SDL_CONFIG}" = "no"
4092 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4093 SDL_HEADER="SDL/SDL.h"
4094 SDL_IMAGE="SDL/SDL_image.h"
4096 # check for cross-compiling
4098 AC_ARG_WITH(sdl-prefix,
4099 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4101 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4102 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4104 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4106 if test "${SDL_CONFIG}" != "no"
4108 # SDL on Darwin is heavily patched and can only run SDL_image
4109 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4110 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4112 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4113 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4114 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4115 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4116 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4117 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4118 As a last resort we also test for SDL.h presence),
4119 [ AC_MSG_ERROR([The development package for SDL is not installed.
4120 Please install it and try again. Alternatively you can also configure with
4123 AS_IF([ test "${enable_sdl_image}" != "no"],[
4124 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4125 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4126 VLC_ADD_PLUGINS([sdl_image])
4127 AC_CHECK_LIB(png, png_set_rows,
4128 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4129 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4130 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4131 AC_CHECK_LIB(tiff, TIFFClientOpen,
4132 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4133 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4134 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4135 As a last resort we also test for SDL_image.h presence),
4136 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4137 You should install it alongside your SDL package.])
4140 CPPFLAGS="${CPPFLAGS_save}"
4141 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4143 AC_MSG_ERROR([The development package for SDL is not installed.
4144 Please install it and try again. Alternatively you can also configure with
4148 elif test "${enable_sdl}" = "yes"
4150 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4151 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4159 AC_ARG_ENABLE(freetype,
4160 [ --enable-freetype freetype support (default enabled)])
4161 AC_ARG_ENABLE(fribidi,
4162 [ --enable-fribidi fribidi support (default enabled)])
4163 if test "${enable_freetype}" != "no"
4165 FREETYPE_PATH="${PATH}"
4166 AC_ARG_WITH(freetype-config-path,
4167 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4168 [ if test "${with_freetype_config_path}" != "no"
4170 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4172 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4174 if test "${FREETYPE_CONFIG}" != "no"
4176 VLC_ADD_PLUGINS([freetype])
4177 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4178 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4179 if test "${SYS}" = "mingw32"; then
4180 VLC_ADD_LIBS([freetype],[-lxml2])
4182 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4183 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4184 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4185 AC_CHECK_HEADERS(Carbon/Carbon.h,
4186 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4187 elif test "${enable_freetype}" = "yes"
4189 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4190 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4195 if test "${enable_fribidi}" != "no"
4197 FRIBIDI_PATH="${PATH}"
4198 AC_ARG_WITH(fribidi-config-path,
4199 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4200 [ if test "${with_fribidi_config_path}" != "no"
4202 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4204 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4206 if test "${FRIBIDI_CONFIG}" != "no"
4208 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4209 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4210 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4211 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4219 AC_ARG_ENABLE(libxml2,
4220 [ --enable-libxml2 libxml2 support (default enabled)])
4221 if test "${enable_libxml2}" != "no"
4224 AC_ARG_WITH(xml2-config-path,
4225 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4226 [ if test "${with_xml2_config_path}" != "no"; then
4227 XML2_PATH="${with_xml2_config_path}:${PATH}"
4229 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4230 if test "${XML2_CONFIG}" != "no"; then
4231 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4232 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
4233 dnl depends on the xmlTextReader extension
4234 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4235 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4236 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4237 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4238 VLC_ADD_PLUGINS([xml]) ],[
4239 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4240 if test "${enable_xml2}" = "yes"; then
4241 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4244 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4245 if test "${enable_xml2}" = "yes"; then
4246 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4248 LDFLAGS="${LDFLAGS_save}"
4249 CPPFLAGS="${CPPFLAGS_save}"
4251 if test "${enable_xml2}" = "yes"; then
4252 AC_MSG_ERROR([Could not find libxml2])
4261 [ --enable-svg SVG support (default disabled)])
4262 if test "${enable_svg}" = "yes"
4264 PKG_CHECK_MODULES(SVG,
4265 librsvg-2.0 >= 2.9.0,
4267 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
4268 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4269 VLC_ADD_PLUGINS([svg]) ],
4270 [AC_MSG_WARN(SVG library not found)])
4274 dnl Snapshot vout module (with cache)
4276 AC_ARG_ENABLE(snapshot,
4277 [ --enable-snapshot snapshot module (default disabled)])
4278 if test "${enable_snapshot}" = "yes"
4280 VLC_ADD_PLUGINS([snapshot])
4284 dnl Qt Embedded module
4285 dnl (disabled by default)
4288 [ --enable-qte QT Embedded support (default disabled)])
4289 if test "${enable_qte}" = "yes"
4292 [ --with-qte=PATH Qt Embedded headers and libraries])
4293 if test "${with_qte}" != "no" -a -n "${with_qte}"
4295 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4296 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])
4298 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4299 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4301 VLC_ADD_PLUGINS([qte])
4303 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4304 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4305 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4307 CPPFLAGS="${CPPFLAGS_save}"
4311 dnl Qt Video output module
4312 dnl (disabled by default)
4314 dnl AC_ARG_ENABLE(qt_video,
4315 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4316 dnl if test "${enable_qt_video}" = "yes"
4318 dnl VLC_ADD_PLUGINS([qt_video])
4319 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4320 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4321 dnl AC_CHECK_LIB(qt-mt,main,[
4322 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
4324 dnl AC_CHECK_LIB(qt,main,[
4325 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
4328 dnl NEED_QTE_MAIN=yes
4329 dnl LDFLAGS="${LDFLAGS_save}"
4330 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4334 dnl Roku HD1000 Video output module
4336 AC_ARG_ENABLE(hd1000v,
4337 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4338 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4339 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4340 test "${enable_hd1000v}" = "yes"); then
4342 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4344 can_build_roku="yes"
4348 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4350 if test "$can_build_roku" = "yes"
4352 VLC_ADD_PLUGINS([hd1000v])
4353 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
4359 dnl Windows DirectX module
4362 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4364 VLC_ADD_PLUGINS([panoramix])
4367 AC_ARG_ENABLE(directx,
4368 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4369 if test "${enable_directx}" != "no"
4371 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4373 AC_ARG_WITH(directx,
4374 [ --with-directx=PATH Win32 DirectX headers])
4375 if test -z "${with_directx}"
4377 AC_CHECK_HEADERS(ddraw.h,
4378 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4379 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4381 AC_CHECK_HEADERS(GL/gl.h,
4382 [ VLC_ADD_PLUGINS([glwin32])
4383 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4385 AC_CHECK_HEADERS(d3d9.h,
4386 [ VLC_ADD_PLUGINS([direct3d])
4387 VLC_ADD_LDFLAGS([direct3d],[-lgdi32])
4390 AC_MSG_CHECKING(for directX headers in ${with_directx})
4391 if test -f ${with_directx}/ddraw.h
4393 VLC_ADD_PLUGINS([vout_directx aout_directx])
4394 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4395 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4399 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4406 dnl Linux framebuffer module
4409 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4410 if test "${enable_fb}" != "no"
4412 AC_CHECK_HEADERS(linux/fb.h, [
4413 VLC_ADD_PLUGINS([fb])
4418 dnl Linux MGA module
4421 [ --enable-mga Linux kernel Matrox support (default disabled)],
4422 [ if test "${enable_mga}" = "yes"
4424 VLC_ADD_PLUGINS([mga])
4430 AC_ARG_ENABLE(svgalib,
4431 [ --enable-svgalib SVGAlib support (default disabled)])
4432 if test "${enable_svgalib}" = "yes"
4434 VLC_ADD_PLUGINS([svgalib])
4435 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4440 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4441 dnl TODO: support for static linking
4443 AC_ARG_ENABLE(directfb,
4444 [ --enable-directfb DirectFB support (default disabled)])
4445 AC_ARG_WITH(directfb,
4446 [ --with-directfb=PATH path to DirectFB headers and libraries])
4448 if test "${enable_directfb}" = "yes"; then
4449 have_directfb="false"
4450 CPPFLAGS_mydirectfb=
4452 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4453 dnl Trying the given location
4454 CPPFLAGS_save=${CPPFLAGS}
4455 LDFLAGS_save=${LDFLAGS}
4457 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4458 LDFLAGS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4459 LDFLAGS_new="${LDFLAGS_new} -L${with_directfb}/src/.libs/"
4461 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4462 LDFLAGS="${LD_FLAGS} ${LDFLAGS_new}"
4464 dnl FIXME: too obscure
4465 AC_CHECK_HEADER([directfb.h], [
4466 AC_CHECK_LIB([direct],[direct_initialize], [
4467 AC_CHECK_LIB([fusion], [fusion_enter], [
4468 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4469 ], have_directfb="false")
4470 ], have_directfb="false")
4471 ], have_directfb="false")
4474 CPPFLAGS="${CPPFLAGS_save}"
4475 LDFLAGS="${LDFLAGS_save}"
4477 if test "${have_directfb}" = "true"; then
4478 LDFLAGS_mydirectfb="${LDFLAGS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4479 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4482 dnl Look for directfb-config
4483 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4484 if test "${DIRECTFB_CONFIG}" != "no"; then
4485 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4486 LDFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4487 have_directfb="true"
4489 dnl Trying with pkg-config
4490 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4491 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4492 LDFLAGS_mydirectfb="${DIRECTFB_LIBS}"
4493 have_directfb="true"
4494 ], [have_directfb="false"])
4497 if test "${have_directfb}" = "true"; then
4498 VLC_ADD_PLUGINS([directfb])
4499 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4500 VLC_ADD_LDFLAGS([directfb],[${LDFLAGS_mydirectfb}])
4502 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4512 [ --enable-ggi GGI support (default disabled)])
4513 if test "${enable_ggi}" = "yes"
4515 VLC_ADD_PLUGINS([ggi])
4516 VLC_ADD_LDFLAGS([ggi],[-lggi])
4518 [ --with-ggi=PATH path to libggi],
4519 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4521 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4522 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4529 AC_ARG_ENABLE(glide,
4530 [ --enable-glide Glide (3dfx) support (default disabled)])
4531 if test "${enable_glide}" = "yes"
4533 CFLAGS_save="${CFLAGS}"
4535 [ --with-glide=PATH path to libglide],
4536 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4538 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4539 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4540 CFLAGS="$CFLAGS -I${with_glide}/include"
4542 CFLAGS="$CFLAGS -I/usr/include/glide"
4543 AC_CHECK_HEADER(glide.h,[
4544 VLC_ADD_PLUGINS([glide])
4545 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4546 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4548 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4550 CFLAGS="${CFLAGS_save}"
4557 [ --enable-aa aalib output (default disabled)])
4558 if test "${enable_aa}" = "yes"
4560 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4561 if test "${have_aa}" = "true"
4563 VLC_ADD_PLUGINS([aa])
4564 VLC_ADD_LDFLAGS([aa],[-laa])
4572 [ --enable-caca libcaca output (default disabled)])
4573 if test "${enable_caca}" = "yes"
4576 AC_ARG_WITH(caca-config-path,
4577 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4578 [ if test "${with_caca_config_path}" != "no"
4580 CACA_PATH="${with_caca_config_path}:${PATH}"
4582 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4583 if test "${CACA_CONFIG}" != "no"
4585 VLC_ADD_PLUGINS([caca])
4586 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4587 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4592 dnl win32 GDI plugin
4594 AC_ARG_ENABLE(wingdi,
4595 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4596 if test "${enable_wingdi}" != "no"; then
4597 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4598 VLC_ADD_PLUGINS([wingdi])
4599 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4601 if test "${SYS}" = "mingwce"; then
4602 VLC_ADD_PLUGINS([wingdi wingapi])
4610 AC_ARG_WITH(,[Audio plugins:])
4613 dnl OSS /dev/dsp module (enabled by default except on win32)
4616 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4618 if test "${enable_oss}" != "no" &&
4619 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4620 test "${enable_oss}" = "yes")
4622 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4623 VLC_ADD_PLUGINS([oss])
4624 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4632 [ --enable-esd Esound library support (default disabled)],
4633 [if test "${enable_esd}" = "yes"
4635 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4636 if test "${ESD_CONFIG}" != "no"
4638 VLC_ADD_PLUGINS([esd])
4639 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4640 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4645 dnl Portaudio module
4647 AC_ARG_ENABLE(portaudio,
4648 [ --enable-portaudio Portaudio library support (default disabled)],
4649 [if test "${enable_portaudio}" = "yes"
4651 VLC_ADD_PLUGINS([portaudio])
4652 VLC_ADD_CXXFLAGS([portaudio],[])
4653 if test "${SYS}" = "mingw32"; then
4654 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4656 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4661 dnl aRts module -- broken (freeze wxWidgets)
4664 [ --enable-arts aRts sound server (default disabled)],
4665 [if test "${enable_arts}" = "yes"
4667 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4668 if test "${ARTS_CONFIG}" != "no"
4670 VLC_ADD_PLUGINS([arts])
4671 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4672 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4680 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4681 if test "${enable_alsa}" != "no"
4683 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4684 if test "${have_alsa}" = "true"
4686 CFLAGS="${CFLAGS_save}"
4687 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4688 #define ALSA_PCM_NEW_SW_PARAMS_API
4689 #include <alsa/asoundlib.h>],
4690 [snd_pcm_hw_params_get_period_time(0,0,0);],
4691 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4692 VLC_ADD_PLUGINS([alsa])
4693 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4695 if test "${enable_alsa}" = "yes"; then
4696 AC_MSG_ERROR([Could not find ALSA development headers])
4702 dnl win32 waveOut plugin
4704 AC_ARG_ENABLE(waveout,
4705 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4706 if test "${enable_waveout}" != "no"; then
4707 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4708 VLC_ADD_PLUGINS([waveout])
4709 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4711 if test "${SYS}" = "mingwce"; then
4712 VLC_ADD_PLUGINS([waveout])
4717 dnl CoreAudio plugin
4719 AC_ARG_ENABLE(macosx-audio,
4720 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4721 if test "${enable_macosx-audio}" != "no" &&
4722 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4724 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4725 [ VLC_ADD_BUILTINS([auhal])
4726 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4727 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4731 dnl Roku HD1000 audio
4733 AC_ARG_ENABLE(hd1000a,
4734 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4735 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4736 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4737 test "${enable_hd1000a}" = "yes")
4740 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4741 VLC_ADD_PLUGINS([hd1000a])
4742 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4750 [ --enable-jack JACK audio I/O modules (default disabled)],,
4753 AS_IF([test "${enable_jack}" != "no"], [
4754 AC_CHECK_HEADERS(jack/jack.h, [
4755 VLC_ADD_PLUGINS([access_jack jack])
4756 VLC_ADD_LIBS([access_jack jack],[-ljack])
4757 ],[AC_MSG_ERROR([cannot find JACK headers])])
4761 dnl CyberLink for C++ UPnP stack
4763 AC_ARG_ENABLE(cyberlink,
4764 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4765 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4766 AC_ARG_WITH(cyberlink-tree,
4767 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4770 dnl test for --with-cyberlink-tree
4772 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4774 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4775 AS_IF([test -z "${real_cyberlink_tree}"], [
4776 dnl The given directory can't be found
4778 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4780 CPPFLAGS_save="${CPPFLAGS}"
4781 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4782 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4783 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4784 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4785 VLC_ADD_PLUGINS([upnp_cc])
4787 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4789 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4790 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4791 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4792 dnl The mere fact that we have to make such an ugly check sucks
4793 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4796 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4797 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4798 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4799 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4800 using namespace CyberLink;
4802 class testclass : public SearchResponseListener, public MediaPlayer
4804 virtual void deviceSearchResponseReceived( SSDPPacket *)
4811 addSearchResponseListener (this);
4815 ],[testclass l;])],[LIBS_cclink="$l"])
4818 dnl should not happen - otherwise this needs fixing - hence FAILURE
4819 AS_IF([test "${LIBS_cclink}" = "no"],
4820 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4821 AC_MSG_RESULT([${LIBS_cclink}])
4822 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4825 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4827 CPPFLAGS="${CPPFLAGS_save}"
4833 dnl UPnP Plugin (Intel SDK)
4836 [ --enable-upnp Intel UPnP SDK (default auto)])
4838 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4839 AS_IF([test "x${enable_upnp}" != "xno"], [
4840 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4841 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4842 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4844 AS_IF([test "${has_upnp}" = "yes"], [
4845 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4851 AS_IF([test "${has_upnp}" = "yes"], [
4852 VLC_ADD_PLUGINS([upnp_intel])
4857 dnl Interface plugins
4860 AC_ARG_WITH(,[Interface plugins:])
4862 dnl special case for BeOS
4863 if test "${SYS}" = "beos"
4865 VLC_ADD_BUILTINS([beos])
4871 AC_ARG_ENABLE(skins2,
4872 [ --enable-skins2 Skins2 interface module (default disabled)])
4873 if test "${enable_skins2}" = "yes" ||
4874 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4875 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4877 dnl test for the required libraries
4878 skins2_missing_lib="no"
4881 if test "${FREETYPE_CONFIG}" != "no"; then
4882 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4883 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4885 skins2_missing_lib="yes"
4886 if test "${enable_skins2}" = "yes"; then
4887 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4891 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4892 VLC_ADD_PLUGINS([skins2])
4893 ALIASES="${ALIASES} svlc"
4894 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4895 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4896 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4898 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4899 VLC_ADD_PLUGINS([skins2])
4900 ALIASES="${ALIASES} svlc"
4901 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4902 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4903 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4905 else if test "${skins2_missing_lib}" = "no"; then
4906 VLC_ADD_PLUGINS([skins2])
4907 ALIASES="${ALIASES} svlc"
4908 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4909 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4910 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4918 dnl AC_ARG_ENABLE(gtk,
4919 dnl [ --enable-gtk Gtk+ support (default enabled)])
4920 dnl if test "${enable_gtk}" != "no"
4922 dnl GTK_PATH="${PATH}"
4923 dnl AC_ARG_WITH(gtk-config-path,
4924 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4925 dnl [ if test "${with_gtk_config_path}" != "no"
4927 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4929 dnl # look for gtk-config
4930 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4931 dnl GTK_CONFIG=${GTK12_CONFIG}
4932 dnl if test "${GTK_CONFIG}" = "no"
4934 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4936 dnl if test "${GTK_CONFIG}" != "no"
4938 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4940 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.])
4942 dnl if test "${SYS}" != "mingw32"; then
4943 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4944 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4946 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4947 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4949 dnl # now look for the gtk.h header
4950 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4951 dnl ac_cv_gtk_headers=yes
4952 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4953 dnl ac_cv_gtk_headers=no
4954 dnl echo "Cannot find gtk development headers."
4956 dnl if test "${ac_cv_gtk_headers}" = "yes"
4958 dnl VLC_ADD_PLUGINS([gtk])
4959 dnl if test "${SYS}" != "mingw32"; then
4960 dnl NEED_GTK_MAIN=yes
4962 dnl ALIASES="${ALIASES} gvlc"
4964 dnl CPPFLAGS="${CPPFLAGS_save}"
4969 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4971 dnl AC_ARG_ENABLE(gtk2,
4972 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4973 dnl if test "${enable_gtk2}" = "yes"
4975 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4976 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4977 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4978 dnl VLC_ADD_PLUGINS([gtk2])
4979 dnl if test "${SYS}" != "mingw32"; then
4980 dnl NEED_GTK2_MAIN=yes
4985 dnl PDA Gtk+2 module
4988 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4989 if test "${enable_pda}" = "yes"
4991 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4992 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4993 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4994 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4995 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
4996 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
4997 VLC_ADD_PLUGINS([pda])
4998 if test "${SYS}" != "mingw32"; then
5004 dnl dnl Gnome module
5006 dnl AC_ARG_ENABLE(gnome,
5007 dnl [ --enable-gnome Gnome interface support (default disabled)],
5008 dnl [if test "${enable_gnome}" = "yes"; then
5009 dnl # look for gnome-config
5010 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5011 dnl if test -x ${GNOME_CONFIG}
5013 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5014 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5016 dnl # now look for the gnome.h header
5017 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5018 dnl AC_CHECK_HEADERS(gnome.h, [
5019 dnl VLC_ADD_PLUGINS([gnome])
5020 dnl NEED_GTK_MAIN=yes
5021 dnl NEED_GNOME_MAIN=yes
5022 dnl ALIASES="${ALIASES} gnome-vlc"
5023 dnl dnl We need this because of some moronic gnomesupport.h flavours
5024 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5025 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5026 dnl AC_MSG_RESULT(yes)
5027 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5028 dnl Define if <gnome.h> defines strndup.)],[
5029 dnl AC_MSG_RESULT(no)])
5031 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5032 dnl developement tools or remove the --enable-gnome option])
5034 dnl CPPFLAGS="${CPPFLAGS_save}"
5038 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5040 dnl AC_ARG_ENABLE(gnome2,
5041 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5042 dnl if test "${enable_gnome2}" = "yes"
5044 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5045 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5046 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5047 dnl VLC_ADD_PLUGINS([gnome2])
5048 dnl if test "${SYS}" != "mingw32"; then
5049 dnl NEED_GNOME2_MAIN=yes
5054 dnl wxWidgets module
5056 AC_ARG_ENABLE(wxwidgets,
5057 [ --enable-wxwidgets wxWidgets support (default disabled)])
5059 if test "${enable_wxwidgets}" = "yes"
5061 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5062 WXWIDGETS_PATH="${PATH}"
5063 AC_ARG_WITH(wx-config-path,
5064 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5065 [ if test "${with_wx_config_path}" != "no"
5067 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5069 WXWIDGETS_NAME="wx-config"
5070 AC_ARG_WITH(wx-config,
5071 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5072 [ if test "${with_wx_config}" != "no"
5074 WXWIDGETS_NAME="${with_wx_config}"
5076 # look for wx-config
5077 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5078 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5080 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5082 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5086 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5087 # into a warning. However better would be to fix playlist.cpp
5088 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5089 [ac_cv_cxx_fpermissive],
5090 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5091 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5092 ac_cv_cxx_fpermissive=no)])
5093 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5094 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5096 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5097 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5098 # check if we must link against gtk2 libs
5099 # if __WXGTK20__ && __WXGTK__ are defined
5100 # for modules/gui/wxwidgets/video.cpp
5101 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5104 #error ok, we need to link against gtk2
5106 ])],[WXGTK=no],[WXGTK=yes])
5107 if test "$WXGTK" = "yes"; then
5108 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5110 if ${WX_CONFIG} --unicode
5112 # wxwidgets should provide the following flags but does not
5113 # the following is required to compile for win32
5114 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5116 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5118 if test "$have_libcdio" = "yes"
5120 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5121 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5123 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5126 if test "$have_libvcdinfo" = "yes"
5128 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5129 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5131 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5134 # now look for the wxprec.h header
5135 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5136 ac_cv_wx_headers=yes
5137 AC_CHECK_HEADERS(wx/wxprec.h, , [
5139 echo "Cannot find wxWidgets development headers."
5141 if test "${ac_cv_wx_headers}" = "yes"
5143 VLC_ADD_PLUGINS([wxwidgets])
5144 ALIASES="${ALIASES} wxvlc"
5146 CPPFLAGS="${CPPFLAGS_save}"
5149 dnl WxWidgets plugin will yield incorrect code without this
5150 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5158 [ --enable-qt4 QT 4 support (default enabled) ])
5159 AS_IF([test "${enable_qt4}" != "no" &&
5160 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5161 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5162 [ VLC_ADD_PLUGINS([qt4])
5163 ALIASES="${ALIASES} qvlc"
5165 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5166 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5167 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5168 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5169 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5171 AS_IF([test "${enable_qt4}" = "yes"],[
5172 AC_MSG_ERROR(QT4 library not found)
5174 AC_MSG_WARN(QT4 library not found)
5178 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5181 dnl WinCE GUI module
5183 if test "${SYS}" = "mingwce"; then
5184 VLC_ADD_BUILTINS([wince])
5185 VLC_ADD_CXXFLAGS([wince],[])
5186 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5188 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5189 elif test "${SYS}" = "mingw32"; then
5190 VLC_ADD_CXXFLAGS([wince],[])
5191 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5193 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5197 dnl Simple test for skins2 dependency
5199 if test "${enable_skins2}" != "no"
5201 if test "${WX_CONFIG}" = "no"
5203 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.])
5210 dnl AC_ARG_ENABLE(qt,
5211 dnl [ --enable-qt Qt interface support (default disabled)],
5212 dnl [if test "${enable_qt}" = "yes"; then
5213 dnl VLC_ADD_PLUGINS([qt])
5214 dnl ALIASES="${ALIASES} qvlc"
5215 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5216 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5217 dnl AC_CHECK_LIB(qt-mt,main,[
5218 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5220 dnl AC_CHECK_LIB(qt,main,[
5221 dnl VLC_ADD_LIBS([qt],[-lqt])
5224 dnl LDFLAGS="${LDFLAGS_save}"
5225 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5226 dnl if test -x ${QTDIR}/bin/moc
5228 dnl MOC=${QTDIR}/bin/moc
5237 dnl AC_ARG_ENABLE(kde,
5238 dnl [ --enable-kde KDE interface support (default disabled)],
5239 dnl [if test "${enable_kde}" = "yes"; then
5240 dnl VLC_ADD_PLUGINS([kde])
5241 dnl ALIASES="${ALIASES} kvlc"
5242 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5243 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5244 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5245 dnl AC_CHECK_LIB(kfile,main,[
5246 dnl VLC_ADD_LIBS([kde],[-lkfile])
5248 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5249 dnl AC_CHECK_LIB(kdeui,main,[
5250 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5252 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5253 dnl AC_CHECK_LIB(kio,main,[
5254 dnl VLC_ADD_LIBS([kde],[-lkio])
5256 dnl LDFLAGS="${LDFLAGS_save}"
5257 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5258 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5259 dnl if test -x ${QTDIR}/bin/moc
5261 dnl MOC=${QTDIR}/bin/moc
5268 dnl Opie QT embedded module
5271 [ --enable-opie Qt embedded interface support (default disabled)],
5272 [if test "${enable_opie}" = "yes"; then
5274 [ --with-qte=PATH Qt Embedded headers and libraries])
5275 if test "${with_qte}" != "no" -a -n "${with_qte}"
5277 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5278 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])
5280 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5281 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5283 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5284 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5285 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5287 CPPFLAGS="${CPPFLAGS_save}"
5289 VLC_ADD_PLUGINS([opie])
5291 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5292 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5293 if test "${with_qte}" != "no" -a -n "${with_qte}"
5295 MOC=${with_qte}/bin/moc
5297 MOC=${QTDIR}/bin/moc
5305 CFLAGS="$CFLAGS -x objective-c"
5306 AC_ARG_ENABLE(macosx,
5307 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
5308 [if test "${enable_macosx}" = "yes"
5310 VLC_ADD_PLUGINS([access_eyetv])
5311 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5312 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5313 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5314 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
5315 VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] )
5317 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
5318 [VLC_ADD_PLUGINS([access_eyetv])
5319 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5320 VLC_ADD_BUILTINS([macosx])
5321 VLC_ADD_BUILTINS([minimal_macosx])
5322 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5323 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5324 VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
5325 VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions])
5333 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5334 if test "${enable_qnx}" != "no"
5336 AC_CHECK_HEADERS(Ph.h, [
5337 VLC_ADD_PLUGINS([qnx])
5338 VLC_ADD_LIBS([qnx],[-lasound -lph])
5345 AC_ARG_ENABLE(ncurses,
5346 [ --disable-ncurses ncurses interface support (default enabled)],
5347 [if test "${enable_ncurses}" != "no"; then
5348 AC_CHECK_HEADERS(ncursesw/curses.h,
5349 [AC_CHECK_LIB( ncursesw, mvprintw,
5350 [VLC_ADD_PLUGINS([ncurses])
5351 VLC_ADD_LIBS([ncurses],[-lncursesw])])
5353 [AC_CHECK_HEADER(curses.h,
5354 [AC_CHECK_LIB(ncurses, mvprintw,
5355 [VLC_ADD_PLUGINS([ncurses])
5356 VLC_ADD_LIBS([ncurses],[-lncurses])]
5366 [ --enable-xosd xosd interface support (default disabled)])
5367 if test "${enable_xosd}" = "yes"
5369 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5370 AC_CHECK_LIB(xosd,xosd_set_offset,
5371 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5372 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5373 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5374 AC_TRY_COMPILE([#include <xosd.h>],
5375 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5376 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5377 if test "${have_xosd}" = "true"
5379 VLC_ADD_PLUGINS([xosd])
5380 VLC_ADD_LIBS([xosd],[-lxosd])
5385 dnl Visualisation plugin
5387 AC_ARG_ENABLE(visual,
5388 [ --enable-visual visualisation plugin (default enabled)])
5389 if test "${enable_visual}" != "no"
5391 VLC_ADD_PLUGINS([visual])
5395 dnl OpenGL visualisation plugin
5397 AC_ARG_ENABLE(galaktos,
5398 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5399 if test "${enable_galaktos}" = "yes"
5401 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5402 VLC_ADD_PLUGINS([galaktos])
5403 if test "${SYS}" != "mingw32"; then
5404 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5406 VLC_ADD_LIBS([galaktos],[-lopengl32])
5412 dnl goom visualization plugin
5415 [ --enable-goom goom visualisation plugin (default disabled)])
5416 if test "${enable_goom}" = "yes"
5418 AC_ARG_WITH(goom-tree,
5419 [ --with-goom-tree=PATH goom tree for static linking (required)])
5422 dnl test for --with-goom-tree
5424 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5425 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5426 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5427 if test -z "${real_goom_tree}"; then
5428 dnl The given directory can't be found
5430 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5432 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5433 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5434 VLC_ADD_BUILTINS([goom])
5435 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5436 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5438 dnl The given libgoom2 wasn't built, try to look for the old goom
5440 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5441 if test -f "${real_goom_tree}/libgoom.a"; then
5442 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5443 VLC_ADD_BUILTINS([goom])
5444 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5445 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5447 dnl The given libgoom wasn't built
5449 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5453 AC_CHECK_HEADERS(goom/goom.h, [
5454 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
5455 AC_CHECK_LIB(goom2, goom_init, [
5456 VLC_ADD_PLUGINS([goom])
5457 VLC_ADD_LIBS([goom],[-lgoom2])
5459 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5461 LDFLAGS="${LDFLAGS_save}"
5467 dnl Bonjour services discovery
5469 AC_ARG_ENABLE(bonjour,
5470 [ --enable-bonjour Bonjour services discovery (default enabled)])
5471 if test "${enable_bonjour}" != "no"
5473 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5474 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5475 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5476 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5477 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5478 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5479 VLC_ADD_PLUGINS([bonjour]) ],
5480 [AC_MSG_WARN(avahi-client library not found)])
5487 [ --enable-lirc lirc support (default disabled)])
5488 if test "${enable_lirc}" = "yes"
5490 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5491 if test "${have_lirc}" = "true"
5493 VLC_ADD_PLUGINS([lirc])
5494 VLC_ADD_LIBS([lirc],[-llirc_client])
5499 AC_ARG_WITH(,[Misc options:])
5504 AC_ARG_ENABLE(gnutls,
5505 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5507 AS_IF([test "${enable_gnutls}" != "no"], [
5508 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5510 AS_IF([test "${have_gnutls}" = "yes"], [
5511 VLC_ADD_PLUGINS([gnutls])
5512 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5513 AS_IF([test "${SYS}" = "mingw32"], [
5514 dnl pkg-config --libs gnutls omits these
5515 VLC_ADD_LIBS([gnutls], [-lz])
5516 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5518 AC_CHECK_LIB([gcrypt], [gcry_control], [
5519 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5520 ], [], [-lgpg-error])
5521 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5523 AS_IF([test "${enable_gnutls}" = "yes"], [
5524 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5532 AC_ARG_ENABLE(libgcrypt,
5533 [ --enable-libgcrypt libgcrypts support (default enabled)])
5534 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
5536 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5537 dnl it and looks for libgcrypt headers in the wrong place.
5538 if test "${host_cpu}" = "${build_cpu}"
5540 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5542 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5545 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5549 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5551 dnl We give the user the opportunity to specify
5552 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5555 [ --with-words=endianness set endianness (big or little)])
5556 case "${with_words}" in
5558 ac_cv_c_bigendian=yes
5561 ac_cv_c_bigendian=no
5564 dnl Try to guess endianness by matching patterns on a compiled
5565 dnl binary, by looking for an ASCII or EBCDIC string
5566 AC_CACHE_CHECK([whether the byte order is big-endian],
5567 [ac_cv_c_bigendian],
5568 [ac_cv_c_bigendian="unknown"
5569 [cat >conftest.c <<EOF
5570 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5571 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5572 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5573 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5574 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5575 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5576 int main(void) { _a(); _e(); return 0; }
5579 if test -f conftest.c
5581 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5582 && test -f conftest.o
5584 if test "`strings conftest.o | grep BIGenDianSyS`"
5586 ac_cv_c_bigendian="yes"
5588 if test "`strings conftest.o | grep LiTTleEnDian`"
5590 ac_cv_c_bigendian="no"
5595 if test "${ac_cv_c_bigendian}" = "unknown"
5597 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5601 dnl Now we know what to use for endianness, just put it in the header
5602 if test "${ac_cv_c_bigendian}" = "yes"
5604 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5608 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5611 AC_ARG_ENABLE(loader,
5612 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5613 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5614 AS_IF([test "${enable_loader}" = "yes"],
5615 [ VLC_ADD_PLUGINS([dmo])
5616 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5617 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5618 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5619 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5620 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5621 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5625 dnl Microsoft ActiveX support
5628 AC_ARG_ENABLE(activex,
5629 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5630 AC_ARG_WITH(wine-sdk-path,
5631 [ --with-wine-sdk-path=PATH path to wine sdk])
5632 if test "${enable_activex}" != "no"
5634 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5636 AC_CHECK_PROGS(MIDL, [midl], no)
5637 if test "${with_wine_sdk_path}" != ""
5639 WINE_SDK_PATH=${with_wine_sdk_path}
5640 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5645 AC_CHECK_HEADERS(ole2.h,
5646 [AC_CHECK_HEADERS(olectl.h,
5647 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5648 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5649 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5650 AC_CHECK_HEADERS(objsafe.h,
5651 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5659 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5661 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5663 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5668 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5669 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5670 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5671 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5672 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5678 AC_ARG_ENABLE(mozilla,
5679 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5680 AC_ARG_WITH(mozilla-sdk-path,
5681 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5683 if test "${enable_mozilla}" = "yes"
5685 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5686 need_xpcom_libs=false
5688 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5690 dnl New firefox-1.5 SDK api
5691 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5693 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5696 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5699 PKG_CHECK_MODULES([NSPR], [nspr],
5702 AC_MSG_ERROR([Please install the nspr development tools.])
5708 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5709 MOZILLA_REQUIRED_HEADERS=1
5710 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5711 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5712 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5717 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5718 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5720 MOZILLA_REQUIRED_HEADERS=
5722 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5723 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5724 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5725 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5726 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5728 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5730 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5731 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5733 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5734 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5735 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5736 VLC_ADD_PLUGINS([mozilla])
5738 CPPFLAGS="${CPPFLAGS_save}"
5741 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5742 if test "${MOZILLA_CONFIG}" = "no"
5744 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5745 if test "${SEAMONKEY_CONFIG}" = "no"
5747 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5748 if test "${XULRUNNER_CONFIG}" = "no"
5750 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5753 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5756 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5761 if test ! -z "${MOZILLA_CONFIG}"
5763 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5764 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5765 AC_CHECK_LIB(Xt,XtStrings,
5767 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5768 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5771 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5773 LDFLAGS="${LDFLAGS_save}"
5777 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5778 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5779 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5780 if ${need_xpcom_libs}; then
5781 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5783 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5785 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5786 MOZILLA_REQUIRED_HEADERS=1
5787 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5788 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5789 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5794 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5796 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5798 MOZILLA_REQUIRED_HEADERS=
5799 CPPFLAGS="${CPPFLAGS_save}"
5800 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5802 dnl End of moz_sdk = ""
5804 dnl special case for mingw32
5805 if test "${SYS}" = "mingw32"
5807 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5808 dnl latest gecko sdk does not have an xpcom directory
5809 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5810 mozilla_sdk_xpcom="/xpcom"
5814 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5815 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5816 MOZILLA_REQUIRED_HEADERS=1
5817 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5818 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5819 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5824 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5826 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5828 MOZILLA_REQUIRED_HEADERS=
5830 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5831 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])
5832 if ${need_xpcom_libs}; then
5833 VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5834 if test "${SYS}" = "mingw32"; then
5835 dnl latest gecko sdk does not have embedstring
5836 if test -d "${real_mozilla_sdk}/embedstring/bin"
5838 VLC_ADD_LIBS([mozilla],[-lembedstring])
5842 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5844 if test -n "${CYGPATH}"; then
5845 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5847 CPPFLAGS="${CPPFLAGS_save}"
5851 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5853 dnl Tests for Osso and Xsp
5854 if test "${enable_x11}" != "no" &&
5855 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5856 test "${enable_x11}" = "yes"); then
5857 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5858 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5859 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5860 VLC_ADD_LIBS([x11],[-losso])
5863 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5864 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5865 VLC_ADD_LIBS([x11],[-lXsp])
5870 dnl Mediacontrol Python bindings
5872 AC_ARG_ENABLE(python-bindings,
5873 [ --enable-python-bindings Enable Python bindings (default disabled)])
5874 dnl TODO: look for python dev headers
5875 AS_IF([test "${enable_python_bindings}" = "yes"],
5876 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5879 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5884 AC_ARG_ENABLE(java-bindings,
5885 [ --enable-java-bindings Enable Java bindings (default disabled)])
5886 if test "${enable_java_bindings}" = "yes"
5888 AS_IF([test "x${JAVA_HOME}" == "x"],
5889 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5892 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5893 if test "${JAVAC}" == "javac${EXEEXT}"
5895 JAVAC="javac${EXEEXT} -cp ./ "
5898 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5903 AC_ARG_ENABLE(testsuite,
5904 [ --enable-testsuite build test modules (default disabled)])
5905 if test "${enable_testsuite}" = "yes"
5907 TESTS="test1 test2 test3 test4"
5909 dnl we define those so that bootstrap sets the right linker
5910 VLC_ADD_CXXFLAGS([test2],[])
5911 VLC_ADD_OBJCFLAGS([test3],[])
5912 dnl this one is needed until automake knows what to do
5913 VLC_ADD_LIBS([test3],[-lobjc])
5915 VLC_ADD_PLUGINS([${TESTS}])
5919 dnl Microsoft Layer for Unicode for WIN9x/ME
5921 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5923 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5924 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5931 if test "${NEED_GTK_MAIN}" != "no"
5933 VLC_ADD_PLUGINS([gtk_main])
5934 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5935 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5938 if test "${NEED_GNOME_MAIN}" != "no"
5940 VLC_ADD_PLUGINS([gnome_main])
5941 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5942 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5945 if test "${NEED_GTK2_MAIN}" != "no"
5947 VLC_ADD_PLUGINS([gtk2_main])
5948 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5949 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5950 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5951 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5954 if test "${NEED_GNOME2_MAIN}" != "no"
5956 VLC_ADD_PLUGINS([gnome2_main])
5957 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5958 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5964 if test "${NEED_QTE_MAIN}" != "no"
5966 VLC_ADD_PLUGINS([qte_main])
5967 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5968 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5969 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5974 dnl Plugin and builtin checks
5978 dnl Automagically disable plugins if there is no system support for
5979 dnl dynamically loadable files (.so, .dll, .dylib).
5980 dnl don't forget vlc-win32 still can load .dll as plugins
5981 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5982 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5986 AS_IF([test "${enable_shared}" = "no"], [
5990 AS_IF([test "${plugin_support}" != "no"], [
5991 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5994 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
5996 dnl Temporary(?) hack for plugins/builtins transition
5997 VLC_ADD_PLUGINS([${BUILTINS}])
6001 dnl Pic and shared libvlc stuff
6003 AS_IF([test "${SYS}" = "mingw32"], [
6004 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6005 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6009 dnl Stuff used by the program
6011 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6012 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
6013 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6014 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6015 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6016 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6017 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6018 AC_SUBST(VERSION_MAJOR)
6019 AC_SUBST(VERSION_MINOR)
6020 AC_SUBST(VERSION_REVISION)
6021 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6022 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6023 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6024 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6026 dnl New definitions with value matching 0.9.0 release
6027 module_symbol="0_9_0b"
6028 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
6029 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
6030 VLC_ENTRY="vlc_entry__${module_symbol}"
6034 dnl Handle substvars that use $(top_srcdir)
6036 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6037 AC_SUBST(VLC_CONFIG)
6038 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
6046 dnl Create the vlc-config script
6048 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6051 dnl Configuration is finished
6061 AC_SUBST(MOZILLA_SDK_PATH)
6062 AC_SUBST(WINE_SDK_PATH)
6064 AC_SUBST(AM_CPPFLAGS)
6065 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6066 AC_SUBST(FILE_LIBVLC_DLL)
6067 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6069 dnl Create vlc-config.in
6070 VLC_OUTPUT_VLC_CONFIG_IN
6078 bindings/java/Makefile
6079 bindings/java/src/Makefile
6080 bindings/python/Makefile
6084 libs/loader/Makefile
6095 modules/access/Makefile
6096 modules/access/bda/Makefile
6097 modules/access/dshow/Makefile
6098 modules/access/dvb/Makefile
6099 modules/access/mms/Makefile
6100 modules/access/cdda/Makefile
6101 modules/access/rtsp/Makefile
6102 modules/access/vcd/Makefile
6103 modules/access/vcdx/Makefile
6104 modules/access/screen/Makefile
6105 modules/access_filter/Makefile
6106 modules/access_output/Makefile
6107 modules/audio_filter/Makefile
6108 modules/audio_filter/channel_mixer/Makefile
6109 modules/audio_filter/converter/Makefile
6110 modules/audio_filter/resampler/Makefile
6111 modules/audio_filter/spatializer/Makefile
6112 modules/audio_mixer/Makefile
6113 modules/audio_output/Makefile
6114 modules/codec/Makefile
6115 modules/codec/cmml/Makefile
6116 modules/codec/dmo/Makefile
6117 modules/codec/ffmpeg/Makefile
6118 modules/codec/subtitles/Makefile
6119 modules/codec/spudec/Makefile
6120 modules/codec/xvmc/Makefile
6121 modules/control/Makefile
6122 modules/control/http/Makefile
6123 modules/demux/Makefile
6124 modules/demux/asf/Makefile
6125 modules/demux/avi/Makefile
6126 modules/demux/mp4/Makefile
6127 modules/demux/mpeg/Makefile
6128 modules/demux/playlist/Makefile
6129 modules/gui/Makefile
6130 modules/gui/beos/Makefile
6131 modules/gui/pda/Makefile
6132 modules/gui/macosx/Makefile
6133 modules/gui/minimal_macosx/Makefile
6134 modules/gui/qnx/Makefile
6135 modules/gui/qt4/Makefile
6136 modules/gui/skins2/Makefile
6137 modules/gui/wxwidgets/Makefile
6138 modules/gui/wince/Makefile
6139 modules/meta_engine/Makefile
6140 modules/misc/Makefile
6141 modules/misc/dummy/Makefile
6142 modules/misc/lua/Makefile
6143 modules/misc/memcpy/Makefile
6144 modules/misc/notify/Makefile
6145 modules/misc/testsuite/Makefile
6146 modules/misc/playlist/Makefile
6147 modules/misc/xml/Makefile
6148 modules/misc/probe/Makefile
6149 modules/mux/Makefile
6150 modules/mux/mpeg/Makefile
6151 modules/mux/rtp/Makefile
6152 modules/packetizer/Makefile
6153 modules/services_discovery/Makefile
6154 modules/stream_out/Makefile
6155 modules/stream_out/transrate/Makefile
6156 modules/video_chroma/Makefile
6157 modules/video_filter/Makefile
6158 modules/video_output/Makefile
6159 modules/video_output/msw/Makefile
6160 modules/video_output/qte/Makefile
6161 modules/video_output/x11/Makefile
6162 modules/visualization/Makefile
6163 modules/visualization/visual/Makefile
6164 modules/visualization/galaktos/Makefile
6167 dnl Generate makefiles
6170 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6171 # not provided with the source
6172 ${SHELL} ./config.status --file=vlc-config
6173 chmod 0755 vlc-config
6175 dnl echo "Enabled builtin modules :"
6176 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6178 dnl echo "Enabled plugin modules :"
6179 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6181 dnl Shortcut to nice compile message
6183 echo '#! /bin/sh' >compile
6185 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6186 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6191 --------------------
6192 vlc version : ${VERSION}
6194 architecture : ${ARCH}
6196 test "${enable_debug}" = "yes" && printf "debug "
6197 test "${enable_cprof}" = "yes" && printf "cprof "
6198 test "${enable_gprof}" = "yes" && printf "gprof "
6199 test "${enable_optimizations}" = "yes" && printf "optim "
6200 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6202 vlc aliases :${ALIASES}
6203 plugins/bindings :${PLUGINS_BINDINGS}
6205 You can check which modules have been enabled
6206 with \`./vlc-config --list plugin'.
6207 You can tune the compiler flags in vlc-config.
6208 To build vlc and its plugins, type \`./compile' or \`make'.