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])
903 dnl Power Management Inhibiter
904 VLC_ADD_PLUGINS([inhibit])
905 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
906 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
908 if ${PKG_CONFIG} --exists dbus-1
910 [AC_ARG_ENABLE(old-dbus,
911 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
913 if test "${enable_old_dbus}" != "yes"
916 echo "****** WARNING **** WARNING ***** WARNING *************"
917 echo "*** Your D-Bus version is < 1.0.0"
918 echo "*** You are using old and buggy software and so"
919 echo "*** D-Bus support has been disabled."
920 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
921 echo "*** Alternatively you can force the use of your old and"
922 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
923 echo "*******************************************************"
927 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
928 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
929 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
930 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
931 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
932 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
934 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
935 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
936 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
937 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
938 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
940 [ PKG_CHECK_MODULES( DBUS, dbus-1,
941 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
942 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
943 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
944 [AC_MSG_WARN(DBUS library not found)])
955 dnl Build the gtk_main plugins?
961 dnl build the qte plugin ?
964 dnl Check for ntohl, etc.
965 AC_CACHE_CHECK([for ntohl in sys/param.h],
966 [ac_cv_c_ntohl_sys_param_h],
967 [CFLAGS="${CFLAGS_save} -Wall -Werror"
968 AC_TRY_COMPILE([#include <sys/param.h>],
969 [int meuh; ntohl(meuh);],
970 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
971 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
972 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
974 CFLAGS="${CFLAGS_save}"
976 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])
977 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
979 dnl This helps detect broken plugins with undefined symbols
980 dnl Better fail loudly at build-time than silenty at run-time.
981 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
982 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
983 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
986 dnl Check for various optimization flags
987 AC_CACHE_CHECK([if \$CC accepts -Os],
989 [CFLAGS="${CFLAGS_save} -Os"
990 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
991 if test "${ac_cv_c_os}" != "no"; then
992 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
994 AC_CACHE_CHECK([if \$CC accepts -O],
996 [CFLAGS="${CFLAGS_save} -O"
997 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
998 if test "${ac_cv_c_o}" != "no"; then
999 if test "${ac_cv_c_o3}" = "no"; then
1000 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1005 AC_CACHE_CHECK([if \$CC accepts -O3],
1007 [CFLAGS="${CFLAGS_save} -O3"
1008 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1009 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1010 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1012 AC_CACHE_CHECK([if \$CC accepts -O2],
1014 [CFLAGS="${CFLAGS_save} -O2"
1015 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1016 if test "${ac_cv_c_o2}" != "no"; then
1017 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1019 AC_CACHE_CHECK([if \$CC accepts -O],
1021 [CFLAGS="${CFLAGS_save} -O"
1022 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1023 if test "${ac_cv_c_o}" != "no"; then
1024 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1029 AC_CACHE_CHECK([if \$CC accepts -O0],
1031 [CFLAGS="${CFLAGS_save} -O0"
1032 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1033 if test "${ac_cv_c_o0}" != "no"; then
1034 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1037 dnl Check for -ffast-math
1038 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1039 [ac_cv_c_fast_math],
1040 [CFLAGS="${CFLAGS_save} -ffast-math"
1041 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1042 if test "${ac_cv_c_fast_math}" != "no"; then
1043 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1046 dnl Check for -funroll-loops
1047 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1048 if test "${SYS}" != "beos"
1050 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1051 [ac_cv_c_unroll_loops],
1052 [CFLAGS="${CFLAGS_save} -funroll-loops"
1053 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1054 if test "${ac_cv_c_unroll_loops}" != "no"; then
1055 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1059 dnl Check for -fomit-frame-pointer
1060 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1061 [ac_cv_c_omit_frame_pointer],
1062 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1063 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1064 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1065 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1068 dnl Check for -fvisibility=hidden
1069 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1070 [ac_cv_c_visibility_hidden],
1071 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1072 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1073 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1074 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1077 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1079 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1080 dnl AC_LANG_PUSH(C++)
1081 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1082 dnl [ac_cv_c_visibility_inlines_hidden],
1083 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1084 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1085 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1086 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1088 dnl CXXFLAGS="${CXXFLAGS_save}"
1089 dnl AC_LANG_POP(C++)
1091 dnl Check for -mdynamic-no-pic
1092 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1093 dnl [ac_cv_c_dynamic_no_pic],
1094 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1095 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1096 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1097 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1098 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1101 dnl Check for Darwin plugin linking flags
1102 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1104 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1105 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1106 if test "${ac_cv_ld_darwin}" != "no"; then
1107 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1110 dnl Check for standard plugin linking flags
1111 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1112 dnl AS_IF([test "${SYS}" = "beos"], [
1113 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1115 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1116 dnl [ac_cv_ld_plugins],
1117 dnl [CFLAGS="${CFLAGS_save} -shared"
1118 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1119 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1120 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1124 dnl Check for variadic macros
1125 AC_CACHE_CHECK([for variadic cpp macros],
1126 [ac_cv_cpp_variadic_macros],
1127 [CFLAGS="${CFLAGS_save}"
1130 #define a(b,c...) printf(b,##c)],
1131 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1132 ac_cv_cpp_variadic_macros=yes,
1133 ac_cv_cpp_variadic_macros=no)])
1134 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1135 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1138 dnl Checks for __attribute__(aligned()) directive
1139 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1140 [ac_cv_c_attribute_aligned],
1141 [ac_cv_c_attribute_aligned=0
1142 CFLAGS="${CFLAGS_save} -Werror"
1143 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1145 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1146 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1148 CFLAGS="${CFLAGS_save}"])
1149 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1150 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1151 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1154 dnl Checks for __attribute__(format()) directive
1155 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1156 [ac_cv_c_attribute_format],
1157 [ac_cv_c_attribute_format=no
1158 CFLAGS="${CFLAGS_save} -Werror"
1160 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1161 [ac_cv_c_attribute_format=yes])
1162 CFLAGS="${CFLAGS_save}"])
1163 if test "${ac_cv_c_attribute_format}" != "no"; then
1164 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1167 dnl Check for __attribute__((packed))
1168 AC_CACHE_CHECK([for __attribute__((packed))],
1169 [ac_cv_c_attribute_packed],
1170 [ac_cv_c_attribute_packed=no
1171 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1172 [ac_cv_c_attribute_packed=yes])])
1173 if test "${ac_cv_c_attribute_packed}" != "no"; then
1174 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1177 dnl Check for __attribute__((visibility()))
1178 AC_CACHE_CHECK([for __attribute__((visibility()))],
1179 [ac_cv_c_attribute_visibility],
1180 [ac_cv_c_attribute_visibility=no
1181 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1182 [ac_cv_c_attribute_visibility=yes])])
1183 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1184 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1190 case "${host_cpu}" in
1200 dnl Enable profiling
1202 AC_ARG_ENABLE(gprof,
1203 [ --enable-gprof gprof profiling (default disabled)])
1204 AC_ARG_ENABLE(cprof,
1205 [ --enable-cprof cprof profiling (default disabled)])
1206 test "${enable_gprof}" != "yes" && enable_gprof="no"
1207 test "${enable_cprof}" != "yes" && enable_cprof="no"
1212 VLC_ADD_PLUGINS([dummy logger memcpy])
1213 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])
1214 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1215 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1216 VLC_ADD_PLUGINS([converter_fixed mono])
1217 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1218 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1219 VLC_ADD_PLUGINS([playlist export nsc xtag])
1220 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1221 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1222 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1223 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1224 VLC_ADD_PLUGINS([access_filter_bandwidth])
1225 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1226 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1227 VLC_ADD_PLUGINS([packetizer_vc1])
1230 dnl default modules that need g++
1233 VLC_ADD_PLUGINS([spatializer])
1236 if test "${SYS}" != "mingwce"; then
1237 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1238 VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1239 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1240 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1241 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1242 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1243 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1244 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1248 dnl Some plugins aren't useful on some platforms
1250 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1251 VLC_ADD_PLUGINS([screensaver motion])
1252 elif test "${SYS}" != "mingwce"; then
1253 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1254 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1256 VLC_ADD_PLUGINS([win32text])
1258 if test "${SYS}" = "darwin"; then
1259 VLC_ADD_PLUGINS([quartztext])
1260 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1264 dnl Accelerated modules
1266 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1267 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1268 MMXEXT_MODULES="memcpymmxext"
1269 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1270 THREEDNOW_MODULES="memcpy3dn"
1272 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1273 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1274 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1276 dnl Check for fully workin MMX intrinsics
1277 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1278 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1279 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1280 [ac_cv_c_mmx_intrinsics],
1281 [CFLAGS="${CFLAGS_save} -O -mmmx"
1282 AC_TRY_COMPILE([#include <mmintrin.h>
1286 a = b = c = (__m64)frobzor;
1287 a = _mm_slli_pi16(a, 3);
1288 a = _mm_adds_pi16(a, b);
1289 c = _mm_srli_pi16(c, 8);
1290 c = _mm_slli_pi16(c, 3);
1291 b = _mm_adds_pi16(b, c);
1292 a = _mm_unpacklo_pi8(a, b);
1293 frobzor = (uint64_t)a;],
1294 [ac_cv_c_mmx_intrinsics=yes],
1295 [ac_cv_c_mmx_intrinsics=no])])
1296 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1297 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1298 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1301 dnl Check for fully workin SSE2 intrinsics
1302 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1303 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1304 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1305 [ac_cv_c_sse2_intrinsics],
1306 [CFLAGS="${CFLAGS_save} -O -msse2"
1307 AC_TRY_COMPILE([#include <emmintrin.h>
1311 a = b = c = _mm_set1_epi64((__m64)frobzor);
1312 a = _mm_slli_epi16(a, 3);
1313 a = _mm_adds_epi16(a, b);
1314 c = _mm_srli_epi16(c, 8);
1315 c = _mm_slli_epi16(c, 3);
1316 b = _mm_adds_epi16(b, c);
1317 a = _mm_unpacklo_epi8(a, b);
1318 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1319 [ac_cv_c_sse2_intrinsics=yes],
1320 [ac_cv_c_sse2_intrinsics=no])])
1321 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1322 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1323 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1326 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1328 [CFLAGS="${CFLAGS_save}"
1329 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1330 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1331 if test "${ac_cv_mmx_inline}" != "no"; then
1332 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1333 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1336 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1337 [ac_cv_mmxext_inline],
1338 [CFLAGS="${CFLAGS_save}"
1339 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1340 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1341 if test "${ac_cv_mmxext_inline}" != "no"; then
1342 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1343 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1346 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1347 [ac_cv_3dnow_inline],
1348 [CFLAGS="${CFLAGS_save}"
1349 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1350 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1351 if test "${ac_cv_3dnow_inline}" != "no"; then
1352 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1353 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1356 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1358 [CFLAGS="${CFLAGS_save}"
1359 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1360 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1361 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1362 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1363 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1366 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1367 [ac_cv_sse2_inline],
1368 [CFLAGS="${CFLAGS_save}"
1369 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1370 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1371 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1372 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1373 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1376 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1377 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1378 [ac_cv_altivec_inline],
1379 [CFLAGS="${CFLAGS_save}"
1380 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1381 ac_cv_altivec_inline=yes,
1382 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1383 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1384 [ac_cv_altivec_inline="-Wa,-m7400"],
1385 ac_cv_altivec_inline=no)
1387 if test "${ac_cv_altivec_inline}" != "no"; then
1388 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1389 if test "${ac_cv_altivec_inline}" != "yes"; then
1390 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1391 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1392 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1393 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1394 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1396 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1399 dnl The AltiVec C extensions
1401 dnl There are several possible cases:
1402 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1403 dnl need <altivec.h>
1404 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1405 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1406 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1407 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1408 dnl - Others: test should fail
1409 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1411 [# OS X/PPC test (gcc 4.x)
1412 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1413 AC_TRY_COMPILE([vector unsigned char foo;],
1414 [vec_ld(0, (unsigned char *)0);],
1415 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1416 [# OS X/PPC test (gcc 3.x)
1417 CFLAGS="${CFLAGS_save} -faltivec"
1418 AC_TRY_COMPILE([vector unsigned char foo;],
1419 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1420 [ac_cv_c_altivec="-faltivec"],
1421 dnl Below this are the Linux tests
1422 [# Linux/PPC test (gcc 4.x)
1423 CFLAGS="${CFLAGS_save} -maltivec"
1424 AC_TRY_COMPILE([#include <altivec.h>],
1425 [vec_ld(0, (unsigned char *)0);],
1426 [ac_cv_c_altivec="-maltivec"],
1427 [# Linux/PPC test (gcc 3.3)
1428 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1429 AC_TRY_COMPILE([#include <altivec.h>],
1430 [vec_ld(0, (unsigned char *)0);],
1432 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1433 [# Linux/PPC test (gcc 3.3)
1434 CFLAGS="${CFLAGS_save} -fvec"
1435 AC_TRY_COMPILE([#include <altivec.h>],
1436 [vec_ld(0, (unsigned char *)0);],
1437 [ac_cv_c_altivec="-fvec"],
1438 [ac_cv_c_altivec=no])
1443 CFLAGS="${CFLAGS_save}"
1446 if test "${ac_cv_c_altivec}" != "no"; then
1447 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1450 AS_IF( test "${enable_altivec}" != "no",
1452 AC_CHECK_HEADERS(altivec.h)
1453 CPPFLAGS="${CPPFLAGS_save}"
1455 if test "${ac_cv_c_altivec}" != "no"; then
1456 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1457 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1458 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1459 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1460 if test "${ac_cv_altivec_inline}" = "no"; then
1461 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1465 CPPFLAGS="${CPPFLAGS_save}"
1468 AC_CACHE_CHECK([if linker needs -framework vecLib],
1470 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1471 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1472 LDFLAGS="${LDFLAGS_save}"
1474 if test "${ac_cv_ld_altivec}" != "no"; then
1475 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1477 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1480 AC_ARG_WITH(,[Optimization options:])
1483 dnl Special arch tuning
1486 [ --with-tuning=ARCH enable special tuning for an architecture
1487 (default Pentium 2 on IA-32 and G4 on PPC)])
1488 if test -n "${with_tuning}"; then
1489 if test "${with_tuning}" != "no"; then
1490 CFLAGS_TUNING="-mtune=${with_tuning}"
1493 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1494 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1495 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1496 CFLAGS_TUNING="-mtune=pentium2"
1497 elif test "${host_cpu}" = "x86_64"; then
1498 CFLAGS_TUNING="-mtune=athlon64"
1499 elif test "${host_cpu}" = "powerpc"; then
1500 CFLAGS_TUNING="-mtune=G4";
1504 dnl NOTE: this can't be cached cleanly
1505 AS_IF([test "${CFLAGS_TUNING}"],
1506 [CFLAGS_save="${CFLAGS}"
1507 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1509 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1510 AC_COMPILE_IFELSE([ ],
1512 [CFLAGS_TUNING=""; tuning="no"
1513 AS_IF([test "${with_tuning}"],
1514 [AC_MSG_ERROR([requested tuning not supported])])])
1516 AC_MSG_RESULT([$tuning])
1517 CFLAGS="${CFLAGS_save}"
1521 dnl x86 accelerations
1523 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"
1526 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1528 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
1530 ARCH="${ARCH} sse sse2"
1531 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1537 AC_ARG_ENABLE(optimize-memory,
1538 [ --enable-optimize-memory optimize memory usage over performance])
1539 if test "${enable_optimize_memory}" = "yes"; then
1540 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1544 dnl Enable/disable optimizations
1546 AC_ARG_ENABLE(optimizations,
1547 [ --disable-optimizations disable compiler optimizations (default enabled)])
1548 if test "${enable_optimizations}" != "no"; then
1549 if test "${enable_optimize_memory}" = "yes"; then
1550 enable_optimizations="size"
1552 enable_optimizations="speed"
1557 dnl AltiVec acceleration
1559 AC_ARG_ENABLE(altivec,
1560 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1561 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1562 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1563 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1564 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1569 AC_ARG_ENABLE(debug,
1570 [ --enable-debug debug mode (default disabled)])
1571 test "${enable_debug}" != "yes" && enable_debug="no"
1573 [Define to 1 if debug code should NOT be compiled])
1574 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1579 AC_ARG_ENABLE(coverage,
1580 [ --enable-coverage build for test coverage (default disabled)],,
1581 [enable_coverage="no"])
1582 AS_IF([test "${enable_coverage}" != "no"], [
1583 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1584 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1585 LDFLAGS="-lgcov ${LDFLAGS}"
1587 CFLAGS_save="${CFLAGS}"
1588 CXXFLAGS_save="${CXXFLAGS}"
1589 LDFLAGS_save="${LDFLAGS}"
1593 dnl Enable release-specific flags
1595 AC_ARG_ENABLE(release,
1596 [ --enable-release activate extra optimizations (default disabled)])
1597 test "${enable_release}" != "yes" && enable_release="no"
1603 [ --enable-sout Stream output modules (default enabled)])
1604 if test "${enable_sout}" != "no"
1606 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1607 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1608 VLC_ADD_PLUGINS([packetizer_copy])
1610 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1611 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1612 VLC_ADD_PLUGINS([stream_out_gather])
1613 # VLC_ADD_PLUGINS([stream_out_transrate])
1614 # VLC_ADD_PLUGINS([rtcp])
1615 VLC_ADD_PLUGINS([profile_parser])
1617 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1620 AC_ARG_ENABLE(switcher,
1621 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1623 dnl Check for libshout
1624 AC_ARG_ENABLE(shout,
1625 [ --enable-shout libshout output plugin (default disabled)])
1626 if test "${enable_shout}" = "yes"; then
1627 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1628 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1629 VLC_ADD_PLUGINS([access_output_shout])
1630 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1631 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1632 [AC_MSG_WARN(libshout library not found)])
1637 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1638 if test "${enable_lua}" != "no"
1640 PKG_CHECK_MODULES(LUA, lua5.1,
1643 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1644 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1648 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1651 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1652 [LUA_LIBS="-llua5.1"],
1653 AC_CHECK_LIB( lua51 , luaL_newstate,
1654 [LUA_LIBS="-llua51"],
1655 AC_CHECK_LIB( lua , luaL_newstate,
1658 AC_MSG_WARN([lua >= 5.1 not found!])
1664 if test "x${have_lua}" = "xyes" ; then
1665 AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1666 VLC_ADD_PLUGINS([lua])
1667 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1668 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1675 AC_ARG_ENABLE(httpd,
1676 [ --enable-httpd HTTP daemon (default enabled)])
1677 if test "${enable_httpd}" != "no"
1679 VLC_ADD_PLUGINS([http])
1680 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1684 dnl VideoLAN manager
1687 [ --enable-vlm VideoLAN manager (default enabled)])
1688 if test "${enable_vlm}" != "no"
1690 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1694 dnl Growl notification plugin
1696 AC_ARG_ENABLE(growl,
1697 [ --enable-growl growl notification plugin (default enabled)])
1698 AS_IF([test "${enable_growl}" != "no"], [
1699 VLC_ADD_PLUGINS([growl])
1704 dnl Libnotify notification plugin
1707 AC_ARG_ENABLE(notify,
1708 [ --enable-notify libnotify notification plugin (default enabled)])
1709 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1710 PKG_CHECK_MODULES(NOTIFY, libnotify,
1712 VLC_ADD_PLUGINS([notify])
1713 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1714 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1716 AS_IF([test "${enable_notify}" = "yes"],[
1717 AC_MSG_WARN( libnotify not found) ])
1722 dnl Audioscrobbler plugin
1725 AC_ARG_ENABLE(audioscrobbler,
1726 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1727 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1728 VLC_ADD_PLUGINS([audioscrobbler])
1732 dnl Musicbrainz plugin
1734 AC_ARG_ENABLE(musicbrainz,
1735 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1736 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1737 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1738 [ VLC_ADD_PLUGINS([musicbrainz])
1739 VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS])
1740 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1741 [AC_MSG_WARN(MusicBrainz library not found)])
1748 AC_ARG_ENABLE(taglib,
1749 [ --disable-taglib Taglib support (default enabled) ])
1750 AS_IF([test "${enable_taglib}" != "no"],[
1751 PKG_CHECK_MODULES(TAGLIB, taglib,
1752 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1753 VLC_ADD_PLUGINS([taglib])
1754 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1755 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1756 [AC_MSG_WARN(TagLib library not found)])
1764 AC_ARG_WITH(,[Input plugins:])
1768 if test "${enable_livedotcom}"
1770 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1773 if test "${enable_livedotcom}" = "no"
1777 AC_ARG_ENABLE(live555,
1778 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1779 if test "${enable_live555}" != "no"; then
1780 AC_ARG_WITH(live555-tree,
1781 [ --with-live555-tree=PATH live.com tree for static linking])
1784 dnl test for --with-live555-tree
1786 if test "${with_livedotcom_tree}"
1788 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1789 with_live555_tree="${with_livedotcom_tree}"
1792 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1794 CPPFLAGS_save="${CPPFLAGS}"
1795 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1796 if test "${SYS}" = "solaris"; then
1797 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1799 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1800 AC_CHECK_HEADERS(liveMedia.hh, [
1801 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1802 AC_CHECK_LIB(liveMedia_pic, main, [
1803 # We have -lliveMedia_pic, build plugins
1804 VLC_ADD_PLUGINS([live555])
1805 VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1807 AC_CHECK_LIB(liveMedia, main, [
1808 # We only have -lliveMedia, do builtins
1809 VLC_ADD_BUILTINS([live555])
1810 VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1813 if test "${SYS}" = "mingw32"; then
1814 # add ws2_32 for closesocket, select, recv
1815 VLC_ADD_LIBS([live555],[-lws2_32])
1818 CPPFLAGS="${CPPFLAGS_save}"
1821 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1822 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1823 if test -z "${real_live555_tree}"; then
1824 dnl The given directory can't be found
1826 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1828 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1829 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1831 VLC_ADD_BUILTINS([live555])
1833 if test "${SYS}" = "mingw32"; then
1834 # add ws2_32 for closesocket, select, recv
1835 VLC_ADD_LIBS([live555],[-lws2_32])
1838 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1839 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1840 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1841 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1843 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1844 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1845 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1846 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1847 if test "${SYS}" = "solaris"; then
1848 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1851 dnl The given live555 wasn't built
1853 if test "${enable_live555}" = "yes"; then
1854 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1861 dnl special access module for dc1394 input
1863 AC_ARG_ENABLE(dc1394,
1864 [ --enable-dc1394 dc1394 access module (default disabled)])
1865 if test "${enable_dc1394}" = "yes"
1867 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1868 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1869 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1870 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1871 VLC_ADD_PLUGINS([dc1394])
1872 VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1875 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1879 AC_MSG_ERROR([libdc1394 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])
1887 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1892 dnl dv module: digital video module check for libraw1394
1895 [ --enable-dv dv input module (default disabled)])
1896 if test "${enable_dv}" = "yes"
1898 AC_ARG_WITH(dv-raw1394,
1899 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1900 AC_ARG_WITH(dv-raw1394-tree,
1901 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1903 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1905 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1906 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1908 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1910 VLC_ADD_PLUGINS([access_dv])
1911 VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1912 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1914 dnl No libraw1394 could be found, sorry
1916 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1919 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1920 [ VLC_ADD_PLUGINS([access_dv])
1921 VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1923 if test -n "${enable_dv}"
1925 AC_MSG_ERROR([cannot find libraw1394 headers])
1930 dnl Check for static linking of libraw1394
1931 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1933 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1934 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1935 if test -z "${real_dv_raw1394_tree}"
1937 dnl The given directory can't be found
1939 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1941 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1943 dnl Use a custom libraw1394
1944 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1945 VLC_ADD_BUILTINS([access_dv])
1946 VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1947 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1949 dnl The given libraw1394 wasn't built
1951 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1956 dnl Check for libavc1394
1959 AC_ARG_WITH(dv-avc1394,
1960 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1961 AC_ARG_WITH(dv-avc1394-tree,
1962 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1964 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1966 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1967 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1969 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1971 VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1972 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1974 dnl No libavc1394 could be found, sorry
1976 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1979 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1980 [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1982 if test -n "${enable_dv}"
1984 AC_MSG_ERROR([cannot find libavc1394 headers])
1989 dnl Check for static linking of libavc1394
1990 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1992 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1993 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1994 if test -z "${real_dv_avc1394_tree}"
1996 dnl The given directory can't be found
1998 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2000 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2002 dnl Use a custom libavc1394
2003 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2004 VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2005 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2007 dnl The given libavc1394 wasn't built
2009 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2015 dnl dvdread module: check for libdvdread
2017 AC_ARG_ENABLE(dvdread,
2018 [ --enable-dvdread dvdread input module (default disabled)])
2019 if test "${enable_dvdread}" != "no"
2021 AC_ARG_WITH(dvdread,
2022 [ --with-dvdread=PATH libdvdread headers and libraries])
2023 AC_ARG_WITH(dvdread-tree,
2024 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2026 dnl Temporary hack (yeah, sure ;)
2027 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2028 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2031 if test -z "${with_dvdread}"
2033 if test -z "${with_dvdread_tree}"
2035 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2036 [ VLC_ADD_PLUGINS([dvdread])
2037 VLC_ADD_LIBS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
2039 if test -n "${enable_dvdread}"
2041 AC_MSG_ERROR([cannot find libdvdread headers])
2045 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2046 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2047 if test -z "${real_dvdread_tree}"
2049 dnl The given directory can't be found
2051 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2053 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2055 dnl Use a custom libdvdread
2056 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2057 VLC_ADD_BUILTINS([dvdread])
2058 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
2059 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2061 dnl The given libdvdread wasn't built
2063 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2067 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2068 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2070 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2072 VLC_ADD_PLUGINS([dvdread])
2073 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
2074 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2076 dnl No libdvdread could be found, sorry
2078 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2084 dnl libdvdnav plugin
2086 AC_ARG_ENABLE(dvdnav,
2087 [ --enable-dvdnav dvdnav input module (default enabled)])
2088 if test "${enable_dvdnav}" != "no"
2090 dnl Same hack than dvdread
2091 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2092 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2095 DVDNAV_PATH="${PATH}"
2096 AC_ARG_WITH(dvdnav-config-path,
2097 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2098 [ if test "${with_dvdnav_config_path}" != "no"
2100 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2102 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2103 if test "${DVDNAV_CONFIG}" != "no"
2105 VLC_ADD_PLUGINS([dvdnav])
2106 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2107 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2112 dnl Windows DirectShow access module
2114 AC_ARG_ENABLE(dshow,
2115 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2116 if test "${enable_dshow}" != "no"
2118 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2121 AC_CHECK_HEADERS(dshow.h,
2122 [ VLC_ADD_PLUGINS([dshow])
2123 VLC_ADD_CXXFLAGS([dshow],[])
2124 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2130 dnl Windows DirectShow BDA access module
2133 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2134 if test "${enable_bda}" != "no"
2136 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2138 AC_CHECK_HEADERS(dshow.h,
2139 [ VLC_ADD_PLUGINS([bda])
2140 VLC_ADD_CXXFLAGS([bda],[])
2141 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2147 dnl OpenCV wrapper and example filters
2149 AC_ARG_ENABLE(opencv,
2150 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2151 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2153 AC_ARG_WITH(opencv-tree,
2154 [ --with-opencv-tree=PATH opencv tree for linking])
2155 if test -n "${with_opencv_tree}"
2157 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2159 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2160 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2161 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2164 VLC_ADD_PLUGINS([opencv_wrapper])
2165 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2166 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])
2168 VLC_ADD_PLUGINS([opencv_example])
2169 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2170 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])
2173 dnl No opencv could be found, sorry
2175 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2178 AC_MSG_WARN([--enable-opencv currently only works on windows])
2185 dnl libsmbclient plugin
2188 [ --enable-smb smb input module (default enabled)])
2189 if test "${enable_smb}" != "no"; then
2190 AC_CHECK_HEADERS(libsmbclient.h,
2191 [ VLC_ADD_PLUGINS([access_smb])
2192 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2193 [ if test -n "${enable_smb}"; then
2194 AC_MSG_ERROR([cannot find libsmbclient headers])
2196 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2197 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2198 [#include <libsmbclient.h>])
2202 dnl libdvbpsi ts demux/mux
2204 AC_ARG_ENABLE(dvbpsi,
2205 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2206 if test "${enable_dvbpsi}" != "no"
2209 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2211 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2212 case "${with_dvbpsi}" in
2214 if test -z "${with_dvbpsi_tree}"
2216 AC_CHECK_HEADERS(dvbpsi/dr.h,
2217 [ VLC_ADD_PLUGINS([ts])
2218 if test "${enable_sout}" != "no"; then
2219 VLC_ADD_PLUGINS([mux_ts])
2221 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2222 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2223 [#if defined( HAVE_STDINT_H )
2224 # include <stdint.h>
2225 #elif defined( HAVE_INTTYPES_H )
2226 # include <inttypes.h>
2228 #include <dvbpsi/dvbpsi.h>
2229 #include <dvbpsi/descriptor.h>
2230 #include <dvbpsi/pat.h>
2231 #include <dvbpsi/pmt.h>])
2233 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2234 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2235 if test -z "${real_dvbpsi_tree}"
2237 dnl The given directory can't be found
2239 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2241 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2243 dnl Use a custom libdvbpsi
2244 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2245 VLC_ADD_BUILTINS([ts])
2246 if test "${enable_sout}" != "no"; then
2247 VLC_ADD_BUILTINS([mux_ts])
2249 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2250 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2252 dnl The given libdvbpsi wasn't built
2254 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2259 dnl Compile without dvbpsi
2262 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2263 if test -z "${with_dvbpsi}"
2268 LDFLAGS_test="-L${with_dvbpsi}/lib"
2269 CPPFLAGS_test="-I${with_dvbpsi}/include"
2271 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2272 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2273 VLC_ADD_PLUGINS([ts])
2274 if test "${enable_sout}" != "no"; then
2275 VLC_ADD_PLUGINS([mux_ts])
2277 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2278 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2281 if test -n "${enable_dvbpsi}"
2283 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])
2286 CPPFLAGS="${CPPFLAGS_save}"
2289 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2290 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2291 ], [], [${LDFLAGS_ts}])
2296 dnl Video4Linux plugin
2299 [ --enable-v4l Video4Linux input support (default disabled)])
2300 if test "${enable_v4l}" = "yes"
2303 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2304 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2306 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2309 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2310 AC_CHECK_HEADERS(linux/videodev.h, [
2311 VLC_ADD_PLUGINS([v4l])
2313 CPPFLAGS="${CPPFLAGS_save}"
2317 dnl Video4Linux plugin
2320 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2321 if test "${enable_v4l2}" = "yes"
2324 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2325 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2327 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2330 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2331 AC_CHECK_HEADERS(linux/videodev2.h, [
2332 VLC_ADD_PLUGINS([v4l2])
2334 CPPFLAGS="${CPPFLAGS_save}"
2339 dnl special access module for Hauppauge PVR cards
2342 [ --enable-pvr PVR cards access module (default disabled)])
2343 if test "${enable_pvr}" = "yes"
2345 VLC_ADD_PLUGINS([pvr])
2346 AC_ARG_WITH(videodev2,
2347 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2348 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2350 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2354 AC_CACHE_CHECK([for new linux/videodev2.h],
2355 [new_linux_videodev2_h],
2357 #include <sys/types.h>
2358 # ifdef VIDEODEV2_H_FILE
2359 # include VIDEODEV2_H_FILE
2361 # include <linux/videodev2.h>
2364 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2365 new_linux_videodev2_h=yes,
2366 new_linux_videodev2_h=no)])
2367 if test "${new_linux_videodev2_h}" != "no"; then
2368 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2373 dnl gnomeVFS access module
2375 AC_ARG_ENABLE(gnomevfs,
2376 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2377 if test "${enable_gnomevfs}" = "yes"
2379 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2380 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2381 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2382 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2383 VLC_ADD_PLUGINS([access_gnomevfs]),
2384 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2387 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2388 AC_ARG_ENABLE(libcdio,
2389 [ --enable-libcdio CD input and control library support (default enabled)])
2394 if test "${enable_libcdio}" != "no"
2396 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2398 AC_DEFINE(HAVE_LIBCDIO, [],
2399 [Define if you have libcdio 0.78.2 or greater installed]),
2400 [AC_MSG_WARN(CD Reading and information library not found)])
2402 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2403 [have_libvcdinfo=yes
2404 AC_DEFINE(HAVE_VCDINFO, [],
2405 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2406 [AC_MSG_WARN(VCD information library not found)])
2410 dnl VCDX and CDDAX modules
2412 AC_ARG_ENABLE(cddax,
2413 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2415 AC_ARG_ENABLE(libcddb,
2416 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2418 if test "${enable_cddax}" = "yes"
2420 if test "$have_libcdio" = "yes"
2422 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2423 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2424 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2425 VLC_ADD_PLUGINS([cddax])
2426 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2427 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2428 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2430 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2434 if test "$enable_libcddb" != "no"; then
2435 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2437 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2438 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2439 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2441 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2448 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2450 if test "${enable_vcdx}" = "yes"
2452 if test "${have_libvcdinfo}" = "yes"
2454 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2455 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2457 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2461 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2462 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2463 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2464 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2467 if test "$have_libvcdinfo" = "yes"
2469 AC_DEFINE(HAVE_VCDX, [],
2470 [Define for the VCD plugin using libcdio/libvcdinfo])
2471 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2472 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2473 VLC_ADD_PLUGINS([vcdx])
2475 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2481 dnl Built-in CD-DA and VCD module
2484 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2487 [ --enable-vcd built-in VCD (default enabled)])
2489 if test "${enable_vcd}" != "no"
2491 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2492 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2494 VLC_ADD_PLUGINS([vcd cdda])
2499 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2500 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2502 VLC_ADD_PLUGINS([vcd cdda])
2503 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2508 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2509 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2511 VLC_ADD_PLUGINS([vcd cdda])
2512 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2517 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2519 VLC_ADD_PLUGINS([vcd cdda])
2522 if test "${SYS}" = "darwin"
2524 VLC_ADD_PLUGINS([vcd cdda])
2525 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2526 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2529 if test "$enable_libcddb" != "no"; then
2530 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2532 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2533 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2534 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2536 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2542 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2545 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2547 if test "${enable_dvb}" = "yes"
2550 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2551 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2553 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2555 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2556 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2557 if test -z "${with_dvbpsi_tree}"
2559 VLC_ADD_PLUGINS([dvb])
2561 VLC_ADD_BUILTINS([dvb])
2563 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2564 CPPFLAGS="${CPPFLAGS_save}"
2568 dnl Screen capture module
2570 AC_ARG_ENABLE(screen,
2571 [ --enable-screen Screen capture support (default enabled)])
2572 if test "${enable_screen}" != "no"; then
2573 if test "${SYS}" = "darwin"; then
2574 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2575 VLC_ADD_PLUGINS([screen])
2576 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2578 elif test "${SYS}" = "mingw32"; then
2579 VLC_ADD_PLUGINS([screen])
2580 VLC_ADD_LIBS([screen],[-lgdi32])
2581 elif test "${SYS}" = "mingwce"; then
2582 CPPFLAGS="${CPPFLAGS_save}"
2583 elif test "${SYS}" = "beos"; then
2584 VLC_ADD_PLUGINS([screen])
2585 VLC_ADD_CXXFLAGS([screen],[])
2586 VLC_ADD_LIBS([screen],[-lbe])
2588 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2589 AC_CHECK_HEADERS(X11/Xlib.h, [
2590 VLC_ADD_PLUGINS([screen])
2591 VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2592 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2594 CPPFLAGS="${CPPFLAGS_save}"
2599 dnl ipv6 plugin - not for QNX yet
2602 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2603 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2606 AS_IF([test "${have_ipv6}" = "yes"], [
2607 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2610 AC_CHECK_FUNCS(inet_ntop,[
2611 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2615 dnl ogg demux plugin
2618 [ --enable-ogg Ogg demux support (default enabled)])
2619 if test "${enable_ogg}" != "no"
2621 AC_ARG_WITH(ogg-tree,
2622 [ --with-ogg-tree=PATH ogg tree for static linking])
2623 if test -n "${with_ogg_tree}"
2625 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2626 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2627 if test -z "${real_ogg_tree}"
2629 dnl The given directory can't be found
2631 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2633 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2635 dnl Use a custom ogg
2636 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2637 VLC_ADD_PLUGINS([ogg])
2638 if test "${enable_sout}" != "no"; then
2639 VLC_ADD_PLUGINS([mux_ogg])
2641 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2642 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2644 dnl The given ogg wasn't built
2646 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2649 AC_CHECK_HEADERS(ogg/ogg.h, [
2650 AC_CHECK_LIB( ogg, oggpack_read, [
2651 VLC_ADD_PLUGINS([ogg])
2652 if test "${enable_sout}" != "no"; then
2653 VLC_ADD_PLUGINS([mux_ogg])
2655 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2661 dnl matroska demux plugin
2664 [ --enable-mkv Matroska demux support (default enabled)])
2665 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2667 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2668 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2670 [#include <ebml/EbmlVersion.h>
2671 #ifdef LIBEBML_VERSION
2672 #if LIBEBML_VERSION >= 0x000706
2676 [AC_MSG_RESULT([yes])
2677 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2678 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2680 [#include <matroska/KaxVersion.h>
2681 #ifdef LIBMATROSKA_VERSION
2682 #if LIBMATROSKA_VERSION >= 0x000705
2686 [AC_MSG_RESULT([yes])
2687 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2688 VLC_ADD_CXXFLAGS([mkv],[])
2689 if test "${SYS}" = "darwin"; then
2690 VLC_ADD_CXXFLAGS([mkv],[-O1])
2692 AC_CHECK_LIB(ebml_pic, main, [
2693 VLC_ADD_PLUGINS([mkv])
2694 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2696 AC_CHECK_LIB(ebml, main, [
2697 VLC_ADD_PLUGINS([mkv])
2698 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2702 [AC_MSG_RESULT([no])
2703 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.])
2707 [AC_MSG_RESULT([no])
2708 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.])
2715 dnl modplug demux plugin
2718 [ --enable-mod Mod demux support (default enabled)])
2719 if test "${enable_mod}" != "no"
2721 AC_ARG_WITH(mod-tree,
2722 [ --with-mod-tree=PATH mod tree for static linking])
2723 if test -n "${with_mod_tree}"
2725 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2726 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2727 if test -z "${real_mod_tree}"
2729 dnl The given directory can't be found
2731 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2733 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2735 dnl Use a custom mod
2736 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2737 VLC_ADD_PLUGINS([mod])
2738 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2739 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2741 dnl The given mod wasn't built
2743 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2746 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2747 VLC_ADD_PLUGINS([mod])
2748 VLC_ADD_CXXFLAGS([mod],[])
2749 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2754 dnl mpc demux plugin
2757 [ --enable-mpc Mpc demux support (default enabled)])
2758 if test "${enable_mpc}" != "no"
2760 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2761 VLC_ADD_PLUGINS([mpc])
2762 VLC_ADD_LIBS([mpc],[-lmpcdec])])
2766 dnl game music emu demux plugin
2769 [ --enable-gme Game Music Emu demux support (default enabled)])
2770 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2773 AC_ARG_WITH(gme-tree,
2774 [ --with-gme-tree=PATH gme tree for static linking])
2775 if test -n "${with_gme_tree}"
2777 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2778 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2779 if test -z "${real_gme_tree}"
2781 dnl The given directory can't be found
2783 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2785 if test -f "${real_gme_tree}/gme/libgme.a"
2787 dnl Use a custom gme
2788 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2789 VLC_ADD_PLUGINS([gme])
2790 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2791 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2793 dnl The given gme wasn't built
2795 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2798 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2807 AC_ARG_WITH(,[Codec plugins:])
2813 [ --enable-mad libmad module (default enabled)])
2814 if test "${enable_mad}" != "no"
2817 [ --with-mad=PATH path to libmad],[],[])
2818 if test "${with_mad}" != "no" -a -n "${with_mad}"
2820 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2821 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2824 AC_ARG_WITH(mad-tree,
2825 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2826 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2828 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2829 if test -z "${real_mad_tree}"
2831 dnl The given directory can't be found
2833 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2835 dnl Use a custom libmad
2836 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2837 if test -f ${real_mad_tree}/mad.h
2840 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2841 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2842 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2843 AC_CHECK_LIB(mad, mad_bit_init, [
2844 VLC_ADD_BUILTINS([mpgatofixed32])
2845 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2846 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2848 LDFLAGS="${LDFLAGS_save}"
2851 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2854 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2855 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2856 AC_CHECK_HEADERS(mad.h, ,
2857 [ 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.]) ])
2858 AC_CHECK_LIB(mad, mad_bit_init, [
2859 VLC_ADD_PLUGINS([mpgatofixed32])
2860 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2861 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2862 CPPFLAGS="${CPPFLAGS_save}"
2863 LDFLAGS="${LDFLAGS_save}"
2868 dnl libid3tag support (FIXME!!! doesn't work with new input)
2870 AC_ARG_ENABLE( id3tag,
2871 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2872 AS_IF([test "${enable_id3tag}" != "no"], [
2873 AC_CHECK_HEADERS(id3tag.h, [
2874 AC_CHECK_HEADERS(zlib.h, [
2875 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2876 VLC_ADD_PLUGINS([id3tag])
2882 dnl ffmpeg decoder/demuxer plugin
2884 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2885 dnl 4- default place,
2887 AC_ARG_ENABLE(ffmpeg,
2888 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2889 if test "${enable_ffmpeg}" != "no"
2892 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2894 AC_ARG_WITH(ffmpeg-mp3lame,
2895 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2897 if test "$with_ffmpeg_mp3lame" = "yes"; then
2898 VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2901 AC_ARG_WITH(ffmpeg-faac,
2902 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2904 if test "$with_ffmpeg_faac" = "yes"; then
2905 VLC_ADD_LIBS([ffmpeg],[-lfaac])
2908 AC_ARG_WITH(ffmpeg-dts,
2909 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2911 if test "$with_ffmpeg_dts" = "yes"; then
2912 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2913 AC_CHECK_LIB(dts_pic, dts_free,
2914 [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2915 [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2916 LDFLAGS="${LDFLAGS_save}"
2919 AC_ARG_WITH(ffmpeg-vorbis,
2920 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2922 if test "$with_ffmpeg_vorbis" = "yes"; then
2923 VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2926 AC_ARG_WITH(ffmpeg-theora,
2927 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2929 if test "$with_ffmpeg_theora" = "yes"; then
2930 VLC_ADD_LIBS([ffmpeg],[-ltheora])
2933 AC_ARG_WITH(ffmpeg-ogg,
2934 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2936 if test "$with_ffmpeg_ogg" = "yes"; then
2937 VLC_ADD_LIBS([ffmpeg],[-logg])
2940 AC_ARG_WITH(ffmpeg-zlib,
2941 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2943 if test "$with_ffmpeg_zlib" = "yes"; then
2944 VLC_ADD_LIBS([ffmpeg],[-lz])
2947 AC_ARG_WITH(ffmpeg-amrnb,
2948 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2950 if test "$with_ffmpeg_amrnb" = "yes"; then
2951 VLC_ADD_LIBS([ffmpeg],[-lamrnb])
2954 AC_ARG_WITH(ffmpeg-amrwb,
2955 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2957 if test "$with_ffmpeg_amrwb" = "yes"; then
2958 VLC_ADD_LIBS([ffmpeg],[-lamrwb])
2961 AC_ARG_WITH(ffmpeg-x264,
2962 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support],
2964 if test "$with_ffmpeg_x264" = "yes"; then
2965 VLC_ADD_LIBS([ffmpeg],[-lx264])
2968 AC_ARG_WITH(ffmpeg-a52,
2969 [ --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
2971 if test "$with_ffmpeg_a52" = "yes"; then
2972 VLC_ADD_LIBS([ffmpeg],[-la52])
2976 dnl test for --with-ffmpeg-tree
2978 AC_ARG_WITH(ffmpeg-tree,
2979 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2981 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2982 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2983 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2984 if test -z "${real_ffmpeg_tree}"; then
2985 dnl The given directory can't be found
2987 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2989 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2990 dnl The given libavcodec wasn't built
2992 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2994 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2995 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2996 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2997 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2998 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2999 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3001 dnl The given libavcodec wasn't built with --enable-pp
3003 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3006 dnl Use a custom libffmpeg
3007 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3009 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3010 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3011 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3012 export PKG_CONFIG_PATH=""
3013 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3015 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3016 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3017 VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3019 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3020 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3022 unset PKG_CONFIG_PATH
3024 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3025 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3027 unset PKG_CONFIG_LIBDIR
3030 VLC_ADD_BUILTINS([ffmpeg])
3031 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3032 VLC_ADD_BUILTINS([stream_out_switcher])
3035 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3036 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3037 VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3038 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3042 dnl Look for a ffmpeg-config (we are on debian )
3044 FFMPEG_PATH="${PATH}"
3045 AC_ARG_WITH(ffmpeg-config-path,
3046 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
3047 [ if test "${with_ffmpeg_config_path}" != "no"
3049 FFMPEG_PATH="${with_ffmpeg_config_path}"
3051 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
3052 if test "${FFMPEG_CONFIG}" != "no"
3054 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3055 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3056 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3057 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3058 VLC_ADD_PLUGINS([ffmpeg])
3059 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3060 VLC_ADD_PLUGINS([stream_out_switcher])
3062 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
3063 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
3067 dnl Trying with pkg-config
3068 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3071 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3072 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3073 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3074 AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3075 AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3076 dnl newer ffmpeg have a separate libpostproc
3077 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3078 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3079 VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}])
3081 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3082 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3083 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3084 if test "${SYS}" = "darwin"; then
3085 VLC_ADD_BUILTINS([ffmpeg])
3087 VLC_ADD_PLUGINS([ffmpeg])
3089 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3090 if test "${SYS}" = "darwin"; then
3091 VLC_ADD_BUILTINS([stream_out_switcher])
3093 VLC_ADD_PLUGINS([stream_out_switcher])
3096 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3097 VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3099 dnl even newer ffmpeg has a libswscale
3100 PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3101 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3102 VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3103 dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3104 AC_CHECK_LIB(swscale, sws_getContext,
3105 [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3111 dnl last chance: at the default place
3113 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3114 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
3115 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3116 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3117 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3118 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3120 AC_CHECK_LIB(avutil, av_crc_init, [
3121 VLC_ADD_LIBS([ffmpeg],[-lavutil])
3122 LDAVUTIL="-lavutil"])
3124 AC_CHECK_LIB(avcodec, avcodec_init, [
3125 VLC_ADD_BUILTINS([ffmpeg])
3126 VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3127 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3128 VLC_ADD_BUILTINS([stream_out_switcher])
3130 [ 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])
3132 AC_CHECK_LIB(postproc, pp_postprocess, [
3133 VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3134 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3137 AC_CHECK_LIB(avformat, av_open_input_stream, [
3138 VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3139 LDFLAGS="${LDFLAGS_save}"
3140 CPPFLAGS="${CPPFLAGS_save}"
3142 AC_CHECK_LIB(swscale, sws_getContext, [
3143 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3144 VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3145 LDFLAGS="${LDFLAGS_save}"
3146 CPPFLAGS="${CPPFLAGS_save}"
3153 dnl ffmpegaltivec plugin
3155 AC_ARG_ENABLE(ffmpegaltivec,
3156 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3157 if test "${enable_ffmpegaltivec}" = "yes"
3159 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3160 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3161 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3162 if test -z "${real_ffmpeg_tree}"; then
3163 dnl The given directory can't be found
3165 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3167 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3168 dnl The given libavcodecaltivec wasn't built
3170 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3172 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3173 dnl The given libavcodecaltivec wasn't built with --enable-pp
3175 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3177 dnl Use a custom libffmpeg
3178 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3179 VLC_ADD_BUILTINS([ffmpegaltivec])
3180 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3181 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3182 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3184 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3185 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3186 VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3187 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3189 VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3190 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3195 dnl faad decoder plugin
3198 [ --enable-faad faad codec (default disabled)])
3199 if test "${enable_faad}" = "yes"
3201 AC_ARG_WITH(faad-tree,
3202 [ --with-faad-tree=PATH faad tree for static linking])
3203 if test -n "${with_faad_tree}"
3205 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3206 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3207 if test -z "${real_faad_tree}"
3209 dnl The given directory can't be found
3211 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3213 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3215 dnl Use a custom faad
3216 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3217 VLC_ADD_BUILTINS([faad])
3218 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3219 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3221 dnl The given libfaad wasn't built
3223 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3226 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3227 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3228 AC_CHECK_HEADERS(faad.h, ,
3229 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3230 AC_CHECK_LIB(faad, faacDecOpen, [
3231 VLC_ADD_PLUGINS([faad])
3232 VLC_ADD_LIBS([faad],[-lfaad]) ],
3233 AC_CHECK_LIB(faad, NeAACDecOpen, [
3234 VLC_ADD_PLUGINS([faad])
3235 VLC_ADD_LIBS([faad],[-lfaad]) ],
3236 [ AC_MSG_ERROR([Cannot find libfaad library...]) ],[-lm]))
3237 LDFLAGS="${LDFLAGS_save}"
3238 CPPFLAGS="${CPPFLAGS_save}"
3243 dnl twolame encoder plugin
3245 AC_ARG_ENABLE(twolame,
3246 [ --enable-twolame twolame codec (default disabled)])
3247 if test "${enable_twolame}" = "yes"
3249 AC_ARG_WITH(twolame-tree,
3250 [ --with-twolame-tree=PATH twolame tree for static linking])
3251 if test -n "${with_twolame_tree}"
3253 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3254 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3255 if test -z "${real_twolame_tree}"
3257 dnl The given directory can't be found
3259 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3261 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3263 dnl Use a custom twolame
3264 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3265 VLC_ADD_BUILTINS([twolame])
3266 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3267 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3269 dnl The given libtwolame wasn't built
3271 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3274 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3275 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3276 AC_CHECK_HEADERS(twolame.h, ,
3277 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3278 AC_CHECK_LIB(twolame, twolame_init, [
3279 VLC_ADD_PLUGINS([twolame])
3280 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3281 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3282 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3283 LDFLAGS="${LDFLAGS_save}"
3284 CPPFLAGS="${CPPFLAGS_save}"
3289 dnl QuickTime plugin
3291 AC_ARG_ENABLE(quicktime,
3292 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3293 if test "${enable_quicktime}" != "no" &&
3294 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3296 if test "${SYS}" = "mingw32"; then
3297 VLC_ADD_BUILTINS([quicktime])
3299 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3300 [ VLC_ADD_BUILTINS([quicktime])
3301 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3302 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3310 [ --enable-real Real audio module (default disabled)])
3311 if test "${enable_real}" = "yes"; then
3312 VLC_ADD_PLUGINS([realaudio])
3316 dnl Real RTSP plugin
3318 AC_ARG_ENABLE(realrtsp,
3319 [ --enable-realrtsp Real RTSP module (default disabled)])
3320 if test "${enable_realrtsp}" = "yes"; then
3321 VLC_ADD_PLUGINS([access_realrtsp])
3327 AC_CHECK_HEADERS(zlib.h, [
3328 VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3331 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3332 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3338 AC_ARG_ENABLE(libtar,
3339 [ --enable-libtar support for skins2 (default enabled)])
3341 AS_IF([test "${enable_libtar}" != "no"],[
3342 AC_CHECK_HEADERS(libtar.h, [
3343 VLC_ADD_LIBS([skins2],[-ltar])
3348 dnl A52/AC3 decoder plugin
3351 [ --enable-a52 A/52 support with liba52 (default enabled)])
3352 if test "${enable_a52}" != "no"
3355 [ --with-a52=PATH a52 headers and libraries])
3356 AC_ARG_WITH(a52-tree,
3357 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3358 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3360 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3361 if test -z "${real_a52_tree}"
3363 dnl The given directory can't be found
3365 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3367 dnl Use a custom a52dec
3368 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3369 if test -f ${real_a52_tree}/include/a52.h
3372 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3373 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3374 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32} -lm"
3375 AC_CHECK_LIB(a52, a52_free, [
3376 VLC_ADD_BUILTINS([a52tofloat32])
3377 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3378 VLC_ADD_LIBS([a52tofloat32],[-la52])
3380 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3382 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3384 AC_MSG_ERROR([the specified tree hasn't been compiled])
3387 LDFLAGS="${LDFLAGS_save}"
3390 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3393 if test -z "${with_a52}"
3398 LDFLAGS_test="-L${with_a52}/lib"
3399 CPPFLAGS_test="-I${with_a52}/include"
3401 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3402 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3403 AC_CHECK_HEADERS(a52dec/a52.h, [
3404 AC_CHECK_LIB(a52, a52_free, [
3405 VLC_ADD_PLUGINS([a52tofloat32])
3406 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3407 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3409 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.])
3412 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.])
3414 CPPFLAGS="${CPPFLAGS_save}"
3415 LDFLAGS="${LDFLAGS_save}"
3419 AC_ARG_WITH(a52-fixed,
3420 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3422 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3425 dnl DTS Coherent Acoustics decoder plugin
3427 AS_IF([test "x${enable_dts}" != "x"], [
3428 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3430 AS_IF([test "x${with_dts_tree}" != "x"], [
3431 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3435 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3436 AS_IF([test "${enable_dca}" != "no"], [
3437 AC_ARG_WITH(dca-tree,
3438 [ --with-dca-tree=PATH libdca tree for static linking],,
3439 [with_dca_tree="no"])
3440 AS_IF([test "${with_dca_tree}" != "no"], [
3441 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3442 AS_IF([test -z "${real_dca_tree}"], [
3443 dnl The given directory can't be found
3445 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3447 dnl Use a custom libdca
3448 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3449 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3451 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3452 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3453 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3455 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3459 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3462 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3463 VLC_ADD_PLUGINS([dtstofloat32])
3464 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3465 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3467 AS_IF([test "x${enable_dca}" != "x"], [
3468 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3478 [ --enable-flac libflac decoder/encoder support (default disabled)])
3479 if test "${enable_flac}" = "yes"
3481 AC_ARG_WITH(flac-tree,
3482 [ --with-flac-tree=PATH flac tree for static linking])
3483 if test -n "${with_flac_tree}"
3485 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3486 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3487 if test -z "${real_flac_tree}"
3489 dnl The given directory can't be found
3491 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3493 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3495 dnl Use a custom flac
3496 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3497 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3498 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3499 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3501 dnl The given flac wasn't built
3503 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3506 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3507 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3515 AC_ARG_ENABLE(libmpeg2,
3516 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3517 if test "${enable_libmpeg2}" != "no"
3519 AC_ARG_WITH(libmpeg2-tree,
3520 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3521 if test -n "${with_libmpeg2_tree}"
3523 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3524 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3525 if test -z "${real_libmpeg2_tree}"
3527 dnl The given directory can't be found
3529 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3531 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3533 dnl Use a custom libmpeg2
3534 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3535 VLC_ADD_BUILTINS([libmpeg2])
3536 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3537 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3538 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3540 dnl The given libmpeg2 wasn't built
3542 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3545 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3546 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3548 [#include <mpeg2dec/mpeg2.h>
3549 #ifdef MPEG2_RELEASE
3550 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3554 [AC_MSG_RESULT([yes])
3555 VLC_ADD_PLUGINS([libmpeg2])
3556 VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3557 [AC_MSG_RESULT([no])
3558 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.])])],
3560 [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.])]
3568 AC_ARG_ENABLE(vorbis,
3569 [ --enable-vorbis Vorbis decoder support (default enabled)])
3570 if test "${enable_vorbis}" != "no"
3572 AC_ARG_WITH(vorbis-tree,
3573 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3574 if test -n "${with_vorbis_tree}"
3576 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3577 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3578 if test -z "${real_vorbis_tree}"
3580 dnl The given directory can't be found
3582 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3584 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3586 dnl Use a custom vorbis
3587 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3588 VLC_ADD_PLUGINS([vorbis])
3589 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3590 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3592 dnl The given vorbis wasn't built
3594 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3597 AC_CHECK_HEADERS(vorbis/codec.h, [
3598 VLC_ADD_PLUGINS([vorbis])
3599 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3601 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3602 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3609 AC_ARG_ENABLE(tremor,
3610 [ --enable-tremor Tremor decoder support (default disabled)])
3611 if test "${enable_tremor}" = "yes"
3613 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3614 VLC_ADD_PLUGINS([tremor])
3615 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3622 AC_ARG_ENABLE(speex,
3623 [ --enable-speex Speex decoder support (default enabled)])
3624 if test "${enable_speex}" != "no"
3626 AC_ARG_WITH(speex-tree,
3627 [ --with-speex-tree=PATH speex tree for static linking])
3628 if test -n "${with_speex_tree}"
3630 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3631 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3632 if test -z "${real_speex_tree}"
3634 dnl The given directory can't be found
3636 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3638 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3640 dnl Use a custom speex
3641 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3642 VLC_ADD_PLUGINS([speex])
3643 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3644 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3646 dnl The given speex wasn't built
3648 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3651 AC_CHECK_HEADERS(speex/speex.h, [
3652 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3653 AC_CHECK_LIB(speex, speex_decode_int, [
3654 VLC_ADD_PLUGINS([speex])
3655 VLC_ADD_LIBS([speex],[-lspeex]) ],
3656 [ AC_MSG_RESULT([no])
3657 AC_MSG_WARN([Your libspeex is too old, please get the development
3659 LDFLAGS="${LDFLAGS_save}"
3665 dnl tarkin decoder plugin
3667 AC_ARG_ENABLE(tarkin,
3668 [ --enable-tarkin experimental tarkin codec (default disabled)])
3669 if test "${enable_tarkin}" = "yes"
3671 AC_ARG_WITH(tarkin-tree,
3672 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3673 if test -n "${with_tarkin_tree}"
3675 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3676 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3677 if test -f "${real_tarkin_tree}/tarkin.o"
3679 VLC_ADD_BUILTINS([tarkin])
3680 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3681 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])
3684 dnl The given tarkin tree wasn't built
3686 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3687 make sure you compiled tarkin in ${with_tarkin_tree}])
3693 dnl theora decoder plugin
3695 AC_ARG_ENABLE(theora,
3696 [ --enable-theora experimental theora codec (default disabled)])
3697 if test "${enable_theora}" = "yes"
3699 AC_CHECK_HEADERS(theora/theora.h, [
3700 AC_CHECK_LIB(theora, theora_granule_time, [
3701 VLC_ADD_PLUGINS([theora])
3702 theora_libs="-ltheora -logg"
3703 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3704 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3705 You also need to check that you have a libogg posterior to the 1.0 release.])],
3711 dnl dirac decoder plugin
3713 AC_ARG_ENABLE(dirac,
3714 [ --enable-dirac experimental dirac codec (default disabled)])
3715 if test "${enable_dirac}" = "yes"; then
3716 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3717 VLC_ADD_PLUGINS([dirac])
3718 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3719 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3720 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3725 dnl PNG decoder module
3728 [ --enable-png PNG support (default enabled)])
3729 if test "${enable_png}" != "no"; then
3730 AC_CHECK_HEADERS(png.h, [
3731 LDFLAGS="${LDFLAGS_save} -lz"
3732 AC_CHECK_LIB(png, png_set_rows, [
3733 VLC_ADD_LIBS([png],[-lpng -lz])
3734 VLC_ADD_PLUGINS([png])
3735 VLC_ADD_PLUGINS([osdmenu])
3736 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3738 LDFLAGS="${LDFLAGS_save}"
3743 dnl H264 encoder plugin (using libx264)
3746 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3747 if test "${enable_x264}" != "no"; then
3748 AC_ARG_WITH(x264-tree,
3749 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3750 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3752 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3753 if test -z "${real_x264_tree}"
3755 dnl The given directory can't be found
3757 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3759 dnl Use a custom libx264
3760 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3761 if test -f ${real_x264_tree}/x264.h
3764 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3765 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3766 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3767 AC_CHECK_LIB(x264, x264_encoder_open, [
3768 VLC_ADD_BUILTINS([x264])
3769 VLC_ADD_LIBS([x264],[-lx264])
3771 AC_MSG_ERROR([the specified tree hasn't been compiled])
3773 LDFLAGS="${LDFLAGS_save}"
3776 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3779 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3780 AC_CHECK_HEADERS(x264.h, [
3781 AC_CHECK_LIB(x264, x264_encoder_open, [
3782 VLC_ADD_PLUGINS([x264])
3783 VLC_ADD_LIBS([x264],[-lx264])
3785 if test "${enable_x264}" = "yes"; then
3786 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3790 LDFLAGS="${LDFLAGS_save}"
3795 dnl libfluidsynth (MIDI synthetizer) plugin
3797 AC_ARG_ENABLE(fluidsynth,
3798 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default auto)])
3799 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3800 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3801 VLC_ADD_PLUGINS(fluidsynth)
3802 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3803 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3805 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3806 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3812 dnl Teletext Modules
3813 dnl vbi decoder plugin (using libzbvi)
3818 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3820 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3822 AS_IF( [test "${enable_zvbi}" != "no"],[
3823 AS_IF( [test "${enable_telx}" = "yes"],[
3824 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3826 PKG_CHECK_MODULES(ZVBI,
3829 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3830 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3831 VLC_ADD_PLUGINS([zvbi])
3832 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3834 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3839 AS_IF( [test "${enable_telx}" = "yes"],[
3840 VLC_ADD_PLUGINS([telx])
3847 [ --enable-cmml CMML support (default enabled)])
3848 if test "${enable_cmml}" != "no"
3850 VLC_ADD_PLUGINS([cmml])
3858 AC_ARG_WITH(,[Video plugins:])
3861 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3862 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3863 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3864 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3865 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3867 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3868 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3873 #include <X11/Xlib.h>
3875 CPPFLAGS="${CPPFLAGS_save}"
3880 dnl (enabled by default except on win32)
3883 [ --enable-x11 X11 support (default enabled)])
3884 if test "${enable_x11}" != "no" &&
3885 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3886 test "${enable_x11}" = "yes"); then
3887 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3888 AC_CHECK_HEADERS(X11/Xlib.h, [
3889 VLC_ADD_PLUGINS([panoramix])
3890 VLC_ADD_LIBS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3891 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3892 AC_CHECK_LIB(Xext, XShmAttach, [
3893 VLC_ADD_PLUGINS([x11])
3894 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3895 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3898 CPPFLAGS="${CPPFLAGS_save}"
3903 dnl (enabled by default except on win32)
3905 AC_ARG_ENABLE(xvideo,
3906 [ --enable-xvideo XVideo support (default enabled)])
3907 if test "${enable_xvideo}" != "no" &&
3908 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3909 test "${enable_xvideo}" = "yes"); then
3910 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3911 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3912 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3913 AC_CHECK_LIB(Xv,XvPutImage,[
3914 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3915 # test for libXv_pic.
3916 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3917 VLC_ADD_PLUGINS([xvideo])
3918 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3919 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3921 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3922 VLC_ADD_PLUGINS([xvideo])
3923 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3924 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3926 VLC_ADD_BUILTINS([xvideo])
3927 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3928 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3932 CFLAGS="${CFLAGS_save}"
3934 CPPFLAGS="${CPPFLAGS_save}")
3939 dnl (enabled by default except on win32)
3942 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3943 if test "${enable_glx}" != "no" &&
3944 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3945 test "${enable_glx}" = "yes"); then
3946 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3947 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3948 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3949 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3953 VLC_ADD_PLUGINS([glx])
3954 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3955 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3956 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3957 CPPFLAGS="${CPPFLAGS_save}"
3962 dnl (enabled by default except on win32)
3965 [ --enable-xvmc XVMC support (default disabled)])
3966 if test "${enable_xvmc}" = "yes" &&
3967 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3968 test "${enable_xvmc}" = "yes"); then
3969 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3970 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3971 VLC_ADD_PLUGINS([xvmc])
3972 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3973 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3975 CPPFLAGS="${CPPFLAGS_save}"
3979 dnl Check for the Xinerama extension
3981 AC_ARG_ENABLE(xinerama,
3982 [ --enable-xinerama Xinerama support (default enabled)])
3983 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3984 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3985 test "${enable_xvideo}" = "yes"); then
3986 ac_cv_have_xinerama="no"
3987 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3988 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3989 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3990 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3991 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
3992 VLC_ADD_LIBS([x11],[-lXinerama_pic])
3993 VLC_ADD_LIBS([glx],[-lXinerama_pic])
3994 ac_cv_have_xinerama="yes"
3996 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3997 VLC_ADD_LIBS([xvideo],[-lXinerama])
3998 VLC_ADD_LIBS([x11],[-lXinerama])
3999 VLC_ADD_LIBS([glx],[-lXinerama])
4000 ac_cv_have_xinerama="yes"
4004 if test "${ac_cv_have_xinerama}" = "yes"; then
4005 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4007 CFLAGS="${CFLAGS_save}"
4008 CPPFLAGS="${CPPFLAGS_save}"
4011 dnl Check for XF86VidMode extension
4013 ac_cv_have_xf86vidmode="no"
4014 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
4015 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4016 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4017 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4018 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4019 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4020 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4021 ac_cv_have_xf86vidmode="yes"
4023 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4024 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4025 VLC_ADD_LIBS([x11],[-lXxf86vm])
4026 VLC_ADD_LIBS([glx],[-lXxf86vm])
4027 ac_cv_have_xf86vidmode="yes"
4031 [#ifdef HAVE_X11_XLIB_H
4032 # include <X11/Xlib.h>
4035 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4036 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4038 CFLAGS="${CFLAGS_save}"
4039 CPPFLAGS="${CPPFLAGS_save}"
4045 dnl (enabled by default except on beos)
4047 AC_ARG_ENABLE(opengl,
4048 [ --enable-opengl OpenGL support (default enabled)])
4049 if test "${enable_opengl}" != "no" &&
4050 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4051 if test "${SYS}" != "darwin"; then
4052 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4053 VLC_ADD_PLUGINS([opengl])
4054 if test "${SYS}" != "mingw32"; then
4055 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4057 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4061 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4062 VLC_ADD_PLUGINS([opengl])
4063 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4071 [ --enable-sdl SDL support (default enabled)])
4072 AC_ARG_ENABLE(sdl-image,
4073 [ --enable-sdl-image SDL image support (default enabled)])
4074 if test "${enable_sdl}" != "no"
4077 AC_ARG_WITH(sdl-config-path,
4078 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4079 [ if test "${with_sdl_config_path}" != "no"
4081 SDL_PATH="${with_sdl_config_path}:${PATH}"
4083 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4084 SDL_CONFIG="${SDL12_CONFIG}"
4085 SDL_HEADER="SDL12/SDL.h"
4086 SDL_IMAGE="SDL12/SDL_image.h"
4087 if test "${SDL_CONFIG}" = "no"
4089 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4090 SDL_CONFIG=${SDL11_CONFIG}
4091 SDL_HEADER="SDL11/SDL.h"
4092 SDL_IMAGE="SDL11/SDL_image.h"
4094 if test "${SDL_CONFIG}" = "no"
4096 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4097 SDL_HEADER="SDL/SDL.h"
4098 SDL_IMAGE="SDL/SDL_image.h"
4100 # check for cross-compiling
4102 AC_ARG_WITH(sdl-prefix,
4103 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4105 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4106 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4108 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4110 if test "${SDL_CONFIG}" != "no"
4112 # SDL on Darwin is heavily patched and can only run SDL_image
4113 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4114 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4116 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4117 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4118 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4119 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4120 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4121 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4122 As a last resort we also test for SDL.h presence),
4123 [ AC_MSG_ERROR([The development package for SDL is not installed.
4124 Please install it and try again. Alternatively you can also configure with
4127 AS_IF([ test "${enable_sdl_image}" != "no"],[
4128 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4129 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4130 VLC_ADD_PLUGINS([sdl_image])
4131 AC_CHECK_LIB(png, png_set_rows,
4132 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4133 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4134 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4135 AC_CHECK_LIB(tiff, TIFFClientOpen,
4136 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4137 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4138 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4139 As a last resort we also test for SDL_image.h presence),
4140 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4141 You should install it alongside your SDL package.])
4144 CPPFLAGS="${CPPFLAGS_save}"
4145 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4147 AC_MSG_ERROR([The development package for SDL is not installed.
4148 Please install it and try again. Alternatively you can also configure with
4152 elif test "${enable_sdl}" = "yes"
4154 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4155 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4163 AC_ARG_ENABLE(freetype,
4164 [ --enable-freetype freetype support (default enabled)])
4165 AC_ARG_ENABLE(fribidi,
4166 [ --enable-fribidi fribidi support (default enabled)])
4167 if test "${enable_freetype}" != "no"
4169 FREETYPE_PATH="${PATH}"
4170 AC_ARG_WITH(freetype-config-path,
4171 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4172 [ if test "${with_freetype_config_path}" != "no"
4174 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4176 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4178 if test "${FREETYPE_CONFIG}" != "no"
4180 VLC_ADD_PLUGINS([freetype])
4181 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4182 VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`])
4183 if test "${SYS}" = "mingw32"; then
4184 VLC_ADD_LIBS([freetype],[-lxml2])
4186 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4187 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4188 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4189 AC_CHECK_HEADERS(Carbon/Carbon.h,
4190 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4191 elif test "${enable_freetype}" = "yes"
4193 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4194 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4199 if test "${enable_fribidi}" != "no"
4201 FRIBIDI_PATH="${PATH}"
4202 AC_ARG_WITH(fribidi-config-path,
4203 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4204 [ if test "${with_fribidi_config_path}" != "no"
4206 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4208 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4210 if test "${FRIBIDI_CONFIG}" != "no"
4212 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4213 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4214 VLC_ADD_LIBS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4215 VLC_ADD_LIBS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4223 AC_ARG_ENABLE(libxml2,
4224 [ --enable-libxml2 libxml2 support (default enabled)])
4225 if test "${enable_libxml2}" != "no"
4228 AC_ARG_WITH(xml2-config-path,
4229 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4230 [ if test "${with_xml2_config_path}" != "no"; then
4231 XML2_PATH="${with_xml2_config_path}:${PATH}"
4233 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4234 if test "${XML2_CONFIG}" != "no"; then
4235 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4236 VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`])
4237 dnl depends on the xmlTextReader extension
4238 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4239 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4240 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4241 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4242 VLC_ADD_PLUGINS([xml]) ],[
4243 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4244 if test "${enable_xml2}" = "yes"; then
4245 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4248 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4249 if test "${enable_xml2}" = "yes"; then
4250 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4252 LDFLAGS="${LDFLAGS_save}"
4253 CPPFLAGS="${CPPFLAGS_save}"
4255 if test "${enable_xml2}" = "yes"; then
4256 AC_MSG_ERROR([Could not find libxml2])
4265 [ --enable-svg SVG support (default disabled)])
4266 if test "${enable_svg}" = "yes"
4268 PKG_CHECK_MODULES(SVG,
4269 librsvg-2.0 >= 2.9.0,
4271 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4272 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4273 VLC_ADD_PLUGINS([svg]) ],
4274 [AC_MSG_WARN(SVG library not found)])
4278 dnl Snapshot vout module (with cache)
4280 AC_ARG_ENABLE(snapshot,
4281 [ --enable-snapshot snapshot module (default disabled)])
4282 if test "${enable_snapshot}" = "yes"
4284 VLC_ADD_PLUGINS([snapshot])
4288 dnl Qt Embedded module
4289 dnl (disabled by default)
4292 [ --enable-qte QT Embedded support (default disabled)])
4293 if test "${enable_qte}" = "yes"
4296 [ --with-qte=PATH Qt Embedded headers and libraries])
4297 if test "${with_qte}" != "no" -a -n "${with_qte}"
4299 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4300 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])
4302 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4303 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4305 VLC_ADD_PLUGINS([qte])
4307 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4308 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4309 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4311 CPPFLAGS="${CPPFLAGS_save}"
4315 dnl Qt Video output module
4316 dnl (disabled by default)
4318 dnl AC_ARG_ENABLE(qt_video,
4319 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4320 dnl if test "${enable_qt_video}" = "yes"
4322 dnl VLC_ADD_PLUGINS([qt_video])
4323 dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib])
4324 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4325 dnl AC_CHECK_LIB(qt-mt,main,[
4326 dnl VLC_ADD_LIBS([qt_video],[-lqt-mt])
4328 dnl AC_CHECK_LIB(qt,main,[
4329 dnl VLC_ADD_LIBS([qt_video],[-lqt])
4332 dnl NEED_QTE_MAIN=yes
4333 dnl LDFLAGS="${LDFLAGS_save}"
4334 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4338 dnl Roku HD1000 Video output module
4340 AC_ARG_ENABLE(hd1000v,
4341 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4342 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4343 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4344 test "${enable_hd1000v}" = "yes"); then
4346 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4348 can_build_roku="yes"
4352 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4354 if test "$can_build_roku" = "yes"
4356 VLC_ADD_PLUGINS([hd1000v])
4357 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4363 dnl Windows DirectX module
4366 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4368 VLC_ADD_PLUGINS([panoramix])
4371 AC_ARG_ENABLE(directx,
4372 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4373 if test "${enable_directx}" != "no"
4375 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4377 AC_ARG_WITH(directx,
4378 [ --with-directx=PATH Win32 DirectX headers])
4379 if test -z "${with_directx}"
4381 AC_CHECK_HEADERS(ddraw.h,
4382 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4383 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4385 AC_CHECK_HEADERS(GL/gl.h,
4386 [ VLC_ADD_PLUGINS([glwin32])
4387 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4389 AC_CHECK_HEADERS(d3d9.h,
4390 [ VLC_ADD_PLUGINS([direct3d])
4391 VLC_ADD_LIBS([direct3d],[-lgdi32])
4394 AC_MSG_CHECKING(for directX headers in ${with_directx})
4395 if test -f ${with_directx}/ddraw.h
4397 VLC_ADD_PLUGINS([vout_directx aout_directx])
4398 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4399 VLC_ADD_LIBS([vout_directx],[-lgdi32])
4403 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4410 dnl Linux framebuffer module
4413 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4414 if test "${enable_fb}" != "no"
4416 AC_CHECK_HEADERS(linux/fb.h, [
4417 VLC_ADD_PLUGINS([fb])
4422 dnl Linux MGA module
4425 [ --enable-mga Linux kernel Matrox support (default disabled)],
4426 [ if test "${enable_mga}" = "yes"
4428 VLC_ADD_PLUGINS([mga])
4434 AC_ARG_ENABLE(svgalib,
4435 [ --enable-svgalib SVGAlib support (default disabled)])
4436 if test "${enable_svgalib}" = "yes"
4438 VLC_ADD_PLUGINS([svgalib])
4439 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4444 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4445 dnl TODO: support for static linking
4447 AC_ARG_ENABLE(directfb,
4448 [ --enable-directfb DirectFB support (default disabled)])
4449 AC_ARG_WITH(directfb,
4450 [ --with-directfb=PATH path to DirectFB headers and libraries])
4452 if test "${enable_directfb}" = "yes"; then
4453 have_directfb="false"
4454 CPPFLAGS_mydirectfb=
4456 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4457 dnl Trying the given location
4458 CPPFLAGS_save="${CPPFLAGS}"
4461 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4462 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4463 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4465 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4466 LIBS="${LIBS} ${LIBS_new}"
4468 dnl FIXME: too obscure
4469 AC_CHECK_HEADER([directfb.h], [
4470 AC_CHECK_LIB([direct],[direct_initialize], [
4471 AC_CHECK_LIB([fusion], [fusion_enter], [
4472 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4473 ], have_directfb="false")
4474 ], have_directfb="false")
4475 ], have_directfb="false")
4478 CPPFLAGS="${CPPFLAGS_save}"
4481 if test "${have_directfb}" = "true"; then
4482 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4483 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4486 dnl Look for directfb-config
4487 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4488 if test "${DIRECTFB_CONFIG}" != "no"; then
4489 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4490 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4491 have_directfb="true"
4493 dnl Trying with pkg-config
4494 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4495 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4496 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4497 have_directfb="true"
4498 ], [have_directfb="false"])
4501 if test "${have_directfb}" = "true"; then
4502 VLC_ADD_PLUGINS([directfb])
4503 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4504 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4506 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4516 [ --enable-ggi GGI support (default disabled)])
4517 if test "${enable_ggi}" = "yes"
4519 VLC_ADD_PLUGINS([ggi])
4520 VLC_ADD_LIBS([ggi],[-lggi])
4522 [ --with-ggi=PATH path to libggi],
4523 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4525 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4526 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4533 AC_ARG_ENABLE(glide,
4534 [ --enable-glide Glide (3dfx) support (default disabled)])
4535 if test "${enable_glide}" = "yes"
4537 CFLAGS_save="${CFLAGS}"
4539 [ --with-glide=PATH path to libglide],
4540 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4542 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4543 VLC_ADD_LIBS([glide],[-L${with_glide}/lib])
4544 CFLAGS="$CFLAGS -I${with_glide}/include"
4546 CFLAGS="$CFLAGS -I/usr/include/glide"
4547 AC_CHECK_HEADER(glide.h,[
4548 VLC_ADD_PLUGINS([glide])
4549 VLC_ADD_LIBS([glide],[-lglide2x -lm])
4550 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4552 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4554 CFLAGS="${CFLAGS_save}"
4561 [ --enable-aa aalib output (default disabled)])
4562 if test "${enable_aa}" = "yes"
4564 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4565 if test "${have_aa}" = "true"
4567 VLC_ADD_PLUGINS([aa])
4568 VLC_ADD_LIBS([aa],[-laa])
4576 [ --enable-caca libcaca output (default disabled)])
4577 if test "${enable_caca}" = "yes"
4580 AC_ARG_WITH(caca-config-path,
4581 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4582 [ if test "${with_caca_config_path}" != "no"
4584 CACA_PATH="${with_caca_config_path}:${PATH}"
4586 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4587 if test "${CACA_CONFIG}" != "no"
4589 VLC_ADD_PLUGINS([caca])
4590 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4591 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4596 dnl win32 GDI plugin
4598 AC_ARG_ENABLE(wingdi,
4599 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4600 if test "${enable_wingdi}" != "no"; then
4601 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4602 VLC_ADD_PLUGINS([wingdi])
4603 VLC_ADD_LIBS([wingdi],[-lgdi32])
4605 if test "${SYS}" = "mingwce"; then
4606 VLC_ADD_PLUGINS([wingdi wingapi])
4614 AC_ARG_WITH(,[Audio plugins:])
4617 dnl OSS /dev/dsp module (enabled by default except on win32)
4620 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4622 if test "${enable_oss}" != "no" &&
4623 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4624 test "${enable_oss}" = "yes")
4626 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4627 VLC_ADD_PLUGINS([oss])
4628 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio]))
4636 [ --enable-esd Esound library support (default disabled)],
4637 [if test "${enable_esd}" = "yes"
4639 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4640 if test "${ESD_CONFIG}" != "no"
4642 VLC_ADD_PLUGINS([esd])
4643 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4644 VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
4649 dnl Portaudio module
4651 AC_ARG_ENABLE(portaudio,
4652 [ --enable-portaudio Portaudio library support (default disabled)],
4653 [if test "${enable_portaudio}" = "yes"
4655 VLC_ADD_PLUGINS([portaudio])
4656 VLC_ADD_CXXFLAGS([portaudio],[])
4657 if test "${SYS}" = "mingw32"; then
4658 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4660 VLC_ADD_LIBS([portaudio],[-lportaudio])
4665 dnl aRts module -- broken (freeze wxWidgets)
4668 [ --enable-arts aRts sound server (default disabled)],
4669 [if test "${enable_arts}" = "yes"
4671 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4672 if test "${ARTS_CONFIG}" != "no"
4674 VLC_ADD_PLUGINS([arts])
4675 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4676 VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
4684 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4685 if test "${enable_alsa}" != "no"
4687 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4688 if test "${have_alsa}" = "true"
4690 CFLAGS="${CFLAGS_save}"
4691 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4692 #define ALSA_PCM_NEW_SW_PARAMS_API
4693 #include <alsa/asoundlib.h>],
4694 [snd_pcm_hw_params_get_period_time(0,0,0);],
4695 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4696 VLC_ADD_PLUGINS([alsa])
4697 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4699 if test "${enable_alsa}" = "yes"; then
4700 AC_MSG_ERROR([Could not find ALSA development headers])
4706 dnl win32 waveOut plugin
4708 AC_ARG_ENABLE(waveout,
4709 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4710 if test "${enable_waveout}" != "no"; then
4711 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4712 VLC_ADD_PLUGINS([waveout])
4713 VLC_ADD_LIBS([waveout],[-lwinmm])
4715 if test "${SYS}" = "mingwce"; then
4716 VLC_ADD_PLUGINS([waveout])
4721 dnl CoreAudio plugin
4723 AC_ARG_ENABLE(macosx-audio,
4724 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4725 if test "${enable_macosx-audio}" != "no" &&
4726 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4728 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4729 [ VLC_ADD_BUILTINS([auhal])
4730 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4731 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4735 dnl Roku HD1000 audio
4737 AC_ARG_ENABLE(hd1000a,
4738 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4739 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4740 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4741 test "${enable_hd1000a}" = "yes")
4744 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4745 VLC_ADD_PLUGINS([hd1000a])
4746 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4754 [ --enable-jack JACK audio I/O modules (default disabled)],,
4757 AS_IF([test "${enable_jack}" != "no"], [
4758 AC_CHECK_HEADERS(jack/jack.h, [
4759 VLC_ADD_PLUGINS([access_jack jack])
4760 VLC_ADD_LIBS([access_jack jack],[-ljack])
4761 ],[AC_MSG_ERROR([cannot find JACK headers])])
4765 dnl CyberLink for C++ UPnP stack
4767 AC_ARG_ENABLE(cyberlink,
4768 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4769 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4770 AC_ARG_WITH(cyberlink-tree,
4771 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4774 dnl test for --with-cyberlink-tree
4776 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4778 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4779 AS_IF([test -z "${real_cyberlink_tree}"], [
4780 dnl The given directory can't be found
4782 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4784 CPPFLAGS_save="${CPPFLAGS}"
4785 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4786 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4787 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4788 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4789 VLC_ADD_PLUGINS([upnp_cc])
4791 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4793 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4794 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4795 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4796 dnl The mere fact that we have to make such an ugly check sucks
4797 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4800 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4801 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4802 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4803 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4804 using namespace CyberLink;
4806 class testclass : public SearchResponseListener, public MediaPlayer
4808 virtual void deviceSearchResponseReceived( SSDPPacket *)
4815 addSearchResponseListener (this);
4819 ],[testclass l;])],[LIBS_cclink="$l"])
4822 dnl should not happen - otherwise this needs fixing - hence FAILURE
4823 AS_IF([test "${LIBS_cclink}" = "no"],
4824 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4825 AC_MSG_RESULT([${LIBS_cclink}])
4826 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4829 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4831 CPPFLAGS="${CPPFLAGS_save}"
4837 dnl UPnP Plugin (Intel SDK)
4840 [ --enable-upnp Intel UPnP SDK (default auto)])
4842 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4843 AS_IF([test "x${enable_upnp}" != "xno"], [
4844 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4845 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4846 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4848 AS_IF([test "${has_upnp}" = "yes"], [
4849 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4855 AS_IF([test "${has_upnp}" = "yes"], [
4856 VLC_ADD_PLUGINS([upnp_intel])
4861 dnl Interface plugins
4864 AC_ARG_WITH(,[Interface plugins:])
4866 dnl special case for BeOS
4867 if test "${SYS}" = "beos"
4869 VLC_ADD_BUILTINS([beos])
4875 AC_ARG_ENABLE(skins2,
4876 [ --enable-skins2 Skins2 interface module (default disabled)])
4877 if test "${enable_skins2}" = "yes" ||
4878 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4879 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4881 dnl test for the required libraries
4882 skins2_missing_lib="no"
4885 if test "${FREETYPE_CONFIG}" != "no"; then
4886 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4887 VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`])
4889 skins2_missing_lib="yes"
4890 if test "${enable_skins2}" = "yes"; then
4891 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4895 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4896 VLC_ADD_PLUGINS([skins2])
4897 ALIASES="${ALIASES} svlc"
4898 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4899 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4900 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4902 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4903 VLC_ADD_PLUGINS([skins2])
4904 ALIASES="${ALIASES} svlc"
4905 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4906 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4907 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4909 else if test "${skins2_missing_lib}" = "no"; then
4910 VLC_ADD_PLUGINS([skins2])
4911 ALIASES="${ALIASES} svlc"
4912 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4913 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4914 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4922 dnl AC_ARG_ENABLE(gtk,
4923 dnl [ --enable-gtk Gtk+ support (default enabled)])
4924 dnl if test "${enable_gtk}" != "no"
4926 dnl GTK_PATH="${PATH}"
4927 dnl AC_ARG_WITH(gtk-config-path,
4928 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4929 dnl [ if test "${with_gtk_config_path}" != "no"
4931 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4933 dnl # look for gtk-config
4934 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4935 dnl GTK_CONFIG=${GTK12_CONFIG}
4936 dnl if test "${GTK_CONFIG}" = "no"
4938 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4940 dnl if test "${GTK_CONFIG}" != "no"
4942 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4944 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.])
4946 dnl if test "${SYS}" != "mingw32"; then
4947 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4948 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4950 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4951 dnl VLC_ADD_LIBS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4953 dnl # now look for the gtk.h header
4954 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4955 dnl ac_cv_gtk_headers=yes
4956 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4957 dnl ac_cv_gtk_headers=no
4958 dnl echo "Cannot find gtk development headers."
4960 dnl if test "${ac_cv_gtk_headers}" = "yes"
4962 dnl VLC_ADD_PLUGINS([gtk])
4963 dnl if test "${SYS}" != "mingw32"; then
4964 dnl NEED_GTK_MAIN=yes
4966 dnl ALIASES="${ALIASES} gvlc"
4968 dnl CPPFLAGS="${CPPFLAGS_save}"
4973 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4975 dnl AC_ARG_ENABLE(gtk2,
4976 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4977 dnl if test "${enable_gtk2}" = "yes"
4979 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4980 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4981 dnl VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4982 dnl VLC_ADD_PLUGINS([gtk2])
4983 dnl if test "${SYS}" != "mingw32"; then
4984 dnl NEED_GTK2_MAIN=yes
4989 dnl PDA Gtk+2 module
4992 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4993 if test "${enable_pda}" = "yes"
4995 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4996 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4997 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4998 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4999 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
5000 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
5001 VLC_ADD_PLUGINS([pda])
5002 if test "${SYS}" != "mingw32"; then
5008 dnl dnl Gnome module
5010 dnl AC_ARG_ENABLE(gnome,
5011 dnl [ --enable-gnome Gnome interface support (default disabled)],
5012 dnl [if test "${enable_gnome}" = "yes"; then
5013 dnl # look for gnome-config
5014 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
5015 dnl if test -x ${GNOME_CONFIG}
5017 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
5018 dnl VLC_ADD_LIBS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
5020 dnl # now look for the gnome.h header
5021 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
5022 dnl AC_CHECK_HEADERS(gnome.h, [
5023 dnl VLC_ADD_PLUGINS([gnome])
5024 dnl NEED_GTK_MAIN=yes
5025 dnl NEED_GNOME_MAIN=yes
5026 dnl ALIASES="${ALIASES} gnome-vlc"
5027 dnl dnl We need this because of some moronic gnomesupport.h flavours
5028 dnl AC_MSG_CHECKING(for strndup in gnome.h)
5029 dnl AC_EGREP_HEADER(strndup,gnome.h,[
5030 dnl AC_MSG_RESULT(yes)
5031 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
5032 dnl Define if <gnome.h> defines strndup.)],[
5033 dnl AC_MSG_RESULT(no)])
5035 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5036 dnl developement tools or remove the --enable-gnome option])
5038 dnl CPPFLAGS="${CPPFLAGS_save}"
5042 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5044 dnl AC_ARG_ENABLE(gnome2,
5045 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5046 dnl if test "${enable_gnome2}" = "yes"
5048 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5049 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5050 dnl VLC_ADD_LIBS([gnome2],[${GNOME2_LIBS}])
5051 dnl VLC_ADD_PLUGINS([gnome2])
5052 dnl if test "${SYS}" != "mingw32"; then
5053 dnl NEED_GNOME2_MAIN=yes
5058 dnl wxWidgets module
5060 AC_ARG_ENABLE(wxwidgets,
5061 [ --enable-wxwidgets wxWidgets support (default disabled)])
5063 if test "${enable_wxwidgets}" = "yes"
5065 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5066 WXWIDGETS_PATH="${PATH}"
5067 AC_ARG_WITH(wx-config-path,
5068 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5069 [ if test "${with_wx_config_path}" != "no"
5071 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5073 WXWIDGETS_NAME="wx-config"
5074 AC_ARG_WITH(wx-config,
5075 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5076 [ if test "${with_wx_config}" != "no"
5078 WXWIDGETS_NAME="${with_wx_config}"
5080 # look for wx-config
5081 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5082 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5084 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5086 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5090 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5091 # into a warning. However better would be to fix playlist.cpp
5092 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5093 [ac_cv_cxx_fpermissive],
5094 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5095 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5096 ac_cv_cxx_fpermissive=no)])
5097 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5098 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5100 VLC_ADD_LIBS([wxwidgets],[`${WX_CONFIG} --libs`])
5101 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5102 # check if we must link against gtk2 libs
5103 # if __WXGTK20__ && __WXGTK__ are defined
5104 # for modules/gui/wxwidgets/video.cpp
5105 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5108 #error ok, we need to link against gtk2
5110 ])],[WXGTK=no],[WXGTK=yes])
5111 if test "$WXGTK" = "yes"; then
5112 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LIBS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5114 if ${WX_CONFIG} --unicode
5116 # wxwidgets should provide the following flags but does not
5117 # the following is required to compile for win32
5118 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5120 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5122 if test "$have_libcdio" = "yes"
5124 VLC_ADD_LIBS([wxwidgets],[$LIBCDIO_LIBS])
5125 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5127 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5130 if test "$have_libvcdinfo" = "yes"
5132 VLC_ADD_LIBS([wxwidgets],[$VCDINFO_LIBS])
5133 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5135 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5138 # now look for the wxprec.h header
5139 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5140 ac_cv_wx_headers=yes
5141 AC_CHECK_HEADERS(wx/wxprec.h, , [
5143 echo "Cannot find wxWidgets development headers."
5145 if test "${ac_cv_wx_headers}" = "yes"
5147 VLC_ADD_PLUGINS([wxwidgets])
5148 ALIASES="${ALIASES} wxvlc"
5150 CPPFLAGS="${CPPFLAGS_save}"
5153 dnl WxWidgets plugin will yield incorrect code without this
5154 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5162 [ --enable-qt4 QT 4 support (default enabled) ])
5163 AS_IF([test "${enable_qt4}" != "no" &&
5164 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5165 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5166 [ VLC_ADD_PLUGINS([qt4])
5167 ALIASES="${ALIASES} qvlc"
5169 VLC_ADD_LIBS([qt4],[$QT4_LIBS])
5170 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
5171 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5172 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5173 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5175 AS_IF([test "${enable_qt4}" = "yes"],[
5176 AC_MSG_ERROR(QT4 library not found)
5178 AC_MSG_WARN(QT4 library not found)
5182 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5185 dnl WinCE GUI module
5187 if test "${SYS}" = "mingwce"; then
5188 VLC_ADD_BUILTINS([wince])
5189 VLC_ADD_CXXFLAGS([wince],[])
5190 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5192 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5193 elif test "${SYS}" = "mingw32"; then
5194 VLC_ADD_CXXFLAGS([wince],[])
5195 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5197 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5201 dnl Simple test for skins2 dependency
5203 if test "${enable_skins2}" != "no"
5205 if test "${WX_CONFIG}" = "no"
5207 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.])
5214 dnl AC_ARG_ENABLE(qt,
5215 dnl [ --enable-qt Qt interface support (default disabled)],
5216 dnl [if test "${enable_qt}" = "yes"; then
5217 dnl VLC_ADD_PLUGINS([qt])
5218 dnl ALIASES="${ALIASES} qvlc"
5219 dnl VLC_ADD_LIBS([qt],[-L${QTDIR}/lib])
5220 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5221 dnl AC_CHECK_LIB(qt-mt,main,[
5222 dnl VLC_ADD_LIBS([qt],[-lqt-mt])
5224 dnl AC_CHECK_LIB(qt,main,[
5225 dnl VLC_ADD_LIBS([qt],[-lqt])
5228 dnl LDFLAGS="${LDFLAGS_save}"
5229 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5230 dnl if test -x ${QTDIR}/bin/moc
5232 dnl MOC=${QTDIR}/bin/moc
5241 dnl AC_ARG_ENABLE(kde,
5242 dnl [ --enable-kde KDE interface support (default disabled)],
5243 dnl [if test "${enable_kde}" = "yes"; then
5244 dnl VLC_ADD_PLUGINS([kde])
5245 dnl ALIASES="${ALIASES} kvlc"
5246 dnl VLC_ADD_LIBS([kde],[-L${KDEDIR}/lib])
5247 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5248 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5249 dnl AC_CHECK_LIB(kfile,main,[
5250 dnl VLC_ADD_LIBS([kde],[-lkfile])
5252 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5253 dnl AC_CHECK_LIB(kdeui,main,[
5254 dnl VLC_ADD_LIBS([kde],[-lkdeui])
5256 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5257 dnl AC_CHECK_LIB(kio,main,[
5258 dnl VLC_ADD_LIBS([kde],[-lkio])
5260 dnl LDFLAGS="${LDFLAGS_save}"
5261 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5262 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5263 dnl if test -x ${QTDIR}/bin/moc
5265 dnl MOC=${QTDIR}/bin/moc
5272 dnl Opie QT embedded module
5275 [ --enable-opie Qt embedded interface support (default disabled)],
5276 [if test "${enable_opie}" = "yes"; then
5278 [ --with-qte=PATH Qt Embedded headers and libraries])
5279 if test "${with_qte}" != "no" -a -n "${with_qte}"
5281 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5282 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])
5284 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5285 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5287 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5288 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5289 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5291 CPPFLAGS="${CPPFLAGS_save}"
5293 VLC_ADD_PLUGINS([opie])
5295 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5296 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5297 if test "${with_qte}" != "no" -a -n "${with_qte}"
5299 MOC=${with_qte}/bin/moc
5301 MOC=${QTDIR}/bin/moc
5309 CFLAGS="$CFLAGS -x objective-c"
5310 AC_ARG_ENABLE(macosx,
5311 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
5312 [if test "${enable_macosx}" = "yes"
5314 VLC_ADD_PLUGINS([access_eyetv])
5315 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5316 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5317 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5318 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
5319 VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] )
5321 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
5322 [VLC_ADD_PLUGINS([access_eyetv])
5323 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5324 VLC_ADD_BUILTINS([macosx])
5325 VLC_ADD_BUILTINS([minimal_macosx])
5326 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5327 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
5328 VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
5329 VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions])
5337 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5338 if test "${enable_qnx}" != "no"
5340 AC_CHECK_HEADERS(Ph.h, [
5341 VLC_ADD_PLUGINS([qnx])
5342 VLC_ADD_LIBS([qnx],[-lasound -lph])
5349 AC_ARG_ENABLE(ncurses,
5350 [ --disable-ncurses ncurses interface support (default enabled)],
5351 [if test "${enable_ncurses}" != "no"; then
5352 AC_CHECK_HEADERS(ncursesw/curses.h,
5353 [AC_CHECK_LIB( ncursesw, mvprintw,
5354 [VLC_ADD_PLUGINS([ncurses])
5355 VLC_ADD_LIBS([ncurses],[-lncursesw])])
5357 [AC_CHECK_HEADER(curses.h,
5358 [AC_CHECK_LIB(ncurses, mvprintw,
5359 [VLC_ADD_PLUGINS([ncurses])
5360 VLC_ADD_LIBS([ncurses],[-lncurses])]
5370 [ --enable-xosd xosd interface support (default disabled)])
5371 if test "${enable_xosd}" = "yes"
5373 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5374 AC_CHECK_LIB(xosd,xosd_set_offset,
5375 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5376 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5377 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5378 AC_TRY_COMPILE([#include <xosd.h>],
5379 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5380 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5381 if test "${have_xosd}" = "true"
5383 VLC_ADD_PLUGINS([xosd])
5384 VLC_ADD_LIBS([xosd],[-lxosd])
5389 dnl Visualisation plugin
5391 AC_ARG_ENABLE(visual,
5392 [ --enable-visual visualisation plugin (default enabled)])
5393 if test "${enable_visual}" != "no"
5395 VLC_ADD_PLUGINS([visual])
5399 dnl OpenGL visualisation plugin
5401 AC_ARG_ENABLE(galaktos,
5402 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5403 if test "${enable_galaktos}" = "yes"
5405 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5406 VLC_ADD_PLUGINS([galaktos])
5407 if test "${SYS}" != "mingw32"; then
5408 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5410 VLC_ADD_LIBS([galaktos],[-lopengl32])
5416 dnl goom visualization plugin
5419 [ --enable-goom goom visualisation plugin (default disabled)])
5420 if test "${enable_goom}" = "yes"
5422 AC_ARG_WITH(goom-tree,
5423 [ --with-goom-tree=PATH goom tree for static linking (required)])
5426 dnl test for --with-goom-tree
5428 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5429 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5430 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5431 if test -z "${real_goom_tree}"; then
5432 dnl The given directory can't be found
5434 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5436 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5437 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5438 VLC_ADD_BUILTINS([goom])
5439 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5440 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5442 dnl The given libgoom2 wasn't built, try to look for the old goom
5444 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5445 if test -f "${real_goom_tree}/libgoom.a"; then
5446 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5447 VLC_ADD_BUILTINS([goom])
5448 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5449 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5451 dnl The given libgoom wasn't built
5453 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5457 AC_CHECK_HEADERS(goom/goom.h, [
5458 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
5459 AC_CHECK_LIB(goom2, goom_init, [
5460 VLC_ADD_PLUGINS([goom])
5461 VLC_ADD_LIBS([goom],[-lgoom2])
5463 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5465 LDFLAGS="${LDFLAGS_save}"
5471 dnl Bonjour services discovery
5473 AC_ARG_ENABLE(bonjour,
5474 [ --enable-bonjour Bonjour services discovery (default enabled)])
5475 if test "${enable_bonjour}" != "no"
5477 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5478 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5479 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5480 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5481 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5482 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5483 VLC_ADD_PLUGINS([bonjour]) ],
5484 [AC_MSG_WARN(avahi-client library not found)])
5491 [ --enable-lirc lirc support (default disabled)])
5492 if test "${enable_lirc}" = "yes"
5494 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5495 if test "${have_lirc}" = "true"
5497 VLC_ADD_PLUGINS([lirc])
5498 VLC_ADD_LIBS([lirc],[-llirc_client])
5503 AC_ARG_WITH(,[Misc options:])
5508 AC_ARG_ENABLE(gnutls,
5509 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5511 AS_IF([test "${enable_gnutls}" != "no"], [
5512 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"])
5514 AS_IF([test "${have_gnutls}" = "yes"], [
5515 VLC_ADD_PLUGINS([gnutls])
5516 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5517 AS_IF([test "${SYS}" = "mingw32"], [
5518 dnl pkg-config --libs gnutls omits these
5519 VLC_ADD_LIBS([gnutls], [-lz])
5520 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5522 AC_CHECK_LIB([gcrypt], [gcry_control], [
5523 VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error])
5524 ], [], [-lgpg-error])
5525 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5527 AS_IF([test "${enable_gnutls}" = "yes"], [
5528 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5536 AC_ARG_ENABLE(libgcrypt,
5537 [ --enable-libgcrypt libgcrypts support (default enabled)])
5538 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
5540 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5541 dnl it and looks for libgcrypt headers in the wrong place.
5542 if test "${host_cpu}" = "${build_cpu}"
5544 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5546 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5549 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5553 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5555 dnl We give the user the opportunity to specify
5556 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5559 [ --with-words=endianness set endianness (big or little)])
5560 case "${with_words}" in
5562 ac_cv_c_bigendian=yes
5565 ac_cv_c_bigendian=no
5568 dnl Try to guess endianness by matching patterns on a compiled
5569 dnl binary, by looking for an ASCII or EBCDIC string
5570 AC_CACHE_CHECK([whether the byte order is big-endian],
5571 [ac_cv_c_bigendian],
5572 [ac_cv_c_bigendian="unknown"
5573 [cat >conftest.c <<EOF
5574 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5575 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5576 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5577 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5578 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5579 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5580 int main(void) { _a(); _e(); return 0; }
5583 if test -f conftest.c
5585 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5586 && test -f conftest.o
5588 if test "`strings conftest.o | grep BIGenDianSyS`"
5590 ac_cv_c_bigendian="yes"
5592 if test "`strings conftest.o | grep LiTTleEnDian`"
5594 ac_cv_c_bigendian="no"
5599 if test "${ac_cv_c_bigendian}" = "unknown"
5601 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5605 dnl Now we know what to use for endianness, just put it in the header
5606 if test "${ac_cv_c_bigendian}" = "yes"
5608 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5612 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5615 AC_ARG_ENABLE(loader,
5616 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5617 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5618 AS_IF([test "${enable_loader}" = "yes"],
5619 [ VLC_ADD_PLUGINS([dmo])
5620 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5621 VLC_ADD_LIBS([dmo],[../../../libs/loader/libloader.la -lpthread])
5622 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5623 VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread])
5624 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5625 VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5629 dnl Microsoft ActiveX support
5632 AC_ARG_ENABLE(activex,
5633 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5634 AC_ARG_WITH(wine-sdk-path,
5635 [ --with-wine-sdk-path=PATH path to wine sdk])
5636 if test "${enable_activex}" != "no"
5638 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5640 AC_CHECK_PROGS(MIDL, [midl], no)
5641 if test "${with_wine_sdk_path}" != ""
5643 WINE_SDK_PATH=${with_wine_sdk_path}
5644 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5649 AC_CHECK_HEADERS(ole2.h,
5650 [AC_CHECK_HEADERS(olectl.h,
5651 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5652 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5653 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5654 AC_CHECK_HEADERS(objsafe.h,
5655 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5663 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5665 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5667 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5672 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5673 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5674 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5675 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5676 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5682 AC_ARG_ENABLE(mozilla,
5683 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5684 AC_ARG_WITH(mozilla-sdk-path,
5685 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5687 if test "${enable_mozilla}" = "yes"
5689 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5690 need_xpcom_libs=false
5692 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5694 dnl New firefox-1.5 SDK api
5695 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5697 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5700 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5703 PKG_CHECK_MODULES([NSPR], [nspr],
5706 AC_MSG_ERROR([Please install the nspr development tools.])
5712 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5713 MOZILLA_REQUIRED_HEADERS=1
5714 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5715 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5716 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5721 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5722 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5724 MOZILLA_REQUIRED_HEADERS=
5726 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5727 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5728 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5729 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5730 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5732 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5734 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5735 VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5737 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5738 VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}])
5739 VLC_ADD_LIBS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS}])
5740 VLC_ADD_PLUGINS([mozilla])
5742 CPPFLAGS="${CPPFLAGS_save}"
5745 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5746 if test "${MOZILLA_CONFIG}" = "no"
5748 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5749 if test "${SEAMONKEY_CONFIG}" = "no"
5751 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5752 if test "${XULRUNNER_CONFIG}" = "no"
5754 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5757 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5760 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5765 if test ! -z "${MOZILLA_CONFIG}"
5767 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5768 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5769 AC_CHECK_LIB(Xt,XtStrings,
5771 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5772 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5775 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5777 LDFLAGS="${LDFLAGS_save}"
5781 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5782 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5783 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5784 if ${need_xpcom_libs}; then
5785 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5787 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5789 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5790 MOZILLA_REQUIRED_HEADERS=1
5791 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5792 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5793 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5798 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5800 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5802 MOZILLA_REQUIRED_HEADERS=
5803 CPPFLAGS="${CPPFLAGS_save}"
5804 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5806 dnl End of moz_sdk = ""
5808 dnl special case for mingw32
5809 if test "${SYS}" = "mingw32"
5811 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5812 dnl latest gecko sdk does not have an xpcom directory
5813 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5814 mozilla_sdk_xpcom="/xpcom"
5818 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5819 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5820 MOZILLA_REQUIRED_HEADERS=1
5821 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5822 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5823 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5828 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5830 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5832 MOZILLA_REQUIRED_HEADERS=
5834 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5835 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])
5836 if ${need_xpcom_libs}; then
5837 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])
5838 if test "${SYS}" = "mingw32"; then
5839 dnl latest gecko sdk does not have embedstring
5840 if test -d "${real_mozilla_sdk}/embedstring/bin"
5842 VLC_ADD_LIBS([mozilla],[-lembedstring])
5846 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5848 if test -n "${CYGPATH}"; then
5849 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5851 CPPFLAGS="${CPPFLAGS_save}"
5855 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5857 dnl Tests for Osso and Xsp
5858 if test "${enable_x11}" != "no" &&
5859 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5860 test "${enable_x11}" = "yes"); then
5861 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5862 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5863 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5864 VLC_ADD_LIBS([x11],[-losso])
5867 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5868 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5869 VLC_ADD_LIBS([x11],[-lXsp])
5874 dnl Mediacontrol Python bindings
5876 AC_ARG_ENABLE(python-bindings,
5877 [ --enable-python-bindings Enable Python bindings (default disabled)])
5878 dnl TODO: look for python dev headers
5879 AS_IF([test "${enable_python_bindings}" = "yes"],
5880 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5883 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5888 AC_ARG_ENABLE(java-bindings,
5889 [ --enable-java-bindings Enable Java bindings (default disabled)])
5890 if test "${enable_java_bindings}" = "yes"
5892 AS_IF([test "x${JAVA_HOME}" == "x"],
5893 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5896 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5897 if test "${JAVAC}" == "javac${EXEEXT}"
5899 JAVAC="javac${EXEEXT} -cp ./ "
5902 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5907 AC_ARG_ENABLE(testsuite,
5908 [ --enable-testsuite build test modules (default disabled)])
5909 if test "${enable_testsuite}" = "yes"
5911 TESTS="test1 test2 test3 test4"
5913 dnl we define those so that bootstrap sets the right linker
5914 VLC_ADD_CXXFLAGS([test2],[])
5915 VLC_ADD_OBJCFLAGS([test3],[])
5916 dnl this one is needed until automake knows what to do
5917 VLC_ADD_LIBS([test3],[-lobjc])
5919 VLC_ADD_PLUGINS([${TESTS}])
5923 dnl Microsoft Layer for Unicode for WIN9x/ME
5925 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5927 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5928 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5935 if test "${NEED_GTK_MAIN}" != "no"
5937 VLC_ADD_PLUGINS([gtk_main])
5938 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5939 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5942 if test "${NEED_GNOME_MAIN}" != "no"
5944 VLC_ADD_PLUGINS([gnome_main])
5945 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5946 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5949 if test "${NEED_GTK2_MAIN}" != "no"
5951 VLC_ADD_PLUGINS([gtk2_main])
5952 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5953 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5954 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5955 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5958 if test "${NEED_GNOME2_MAIN}" != "no"
5960 VLC_ADD_PLUGINS([gnome2_main])
5961 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5962 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5968 if test "${NEED_QTE_MAIN}" != "no"
5970 VLC_ADD_PLUGINS([qte_main])
5971 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5972 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5973 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5978 dnl Plugin and builtin checks
5982 dnl Automagically disable plugins if there is no system support for
5983 dnl dynamically loadable files (.so, .dll, .dylib).
5984 dnl don't forget vlc-win32 still can load .dll as plugins
5985 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5986 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5990 AS_IF([test "${enable_shared}" = "no"], [
5994 AS_IF([test "${plugin_support}" != "no"], [
5995 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5998 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
6000 dnl Temporary(?) hack for plugins/builtins transition
6001 VLC_ADD_PLUGINS([${BUILTINS}])
6005 dnl Pic and shared libvlc stuff
6007 AS_IF([test "${SYS}" = "mingw32"], [
6008 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
6009 FILE_LIBVLC_CONTROL_DLL="!define LIBVLC_CONTROL_DLL libvlc-control.dll"
6013 dnl Stuff used by the program
6015 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
6016 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
6017 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
6018 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
6019 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
6020 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
6021 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
6022 AC_SUBST(VERSION_MAJOR)
6023 AC_SUBST(VERSION_MINOR)
6024 AC_SUBST(VERSION_REVISION)
6025 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
6026 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
6027 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
6028 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
6030 dnl New definitions with value matching 0.9.0 release
6031 module_symbol="0_9_0b"
6032 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
6033 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
6034 VLC_ENTRY="vlc_entry__${module_symbol}"
6038 dnl Handle substvars that use $(top_srcdir)
6040 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6041 AC_SUBST(VLC_CONFIG)
6042 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
6050 dnl Create the vlc-config script
6052 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6055 dnl Configuration is finished
6065 AC_SUBST(MOZILLA_SDK_PATH)
6066 AC_SUBST(WINE_SDK_PATH)
6068 AC_SUBST(AM_CPPFLAGS)
6069 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6070 AC_SUBST(FILE_LIBVLC_DLL)
6071 AC_SUBST(FILE_LIBVLC_CONTROL_DLL)
6073 dnl Create vlc-config.in
6074 VLC_OUTPUT_VLC_CONFIG_IN
6082 bindings/java/Makefile
6083 bindings/java/src/Makefile
6084 bindings/python/Makefile
6088 libs/loader/Makefile
6099 modules/access/Makefile
6100 modules/access/bda/Makefile
6101 modules/access/dshow/Makefile
6102 modules/access/dvb/Makefile
6103 modules/access/mms/Makefile
6104 modules/access/cdda/Makefile
6105 modules/access/rtsp/Makefile
6106 modules/access/vcd/Makefile
6107 modules/access/vcdx/Makefile
6108 modules/access/screen/Makefile
6109 modules/access_filter/Makefile
6110 modules/access_output/Makefile
6111 modules/audio_filter/Makefile
6112 modules/audio_filter/channel_mixer/Makefile
6113 modules/audio_filter/converter/Makefile
6114 modules/audio_filter/resampler/Makefile
6115 modules/audio_filter/spatializer/Makefile
6116 modules/audio_mixer/Makefile
6117 modules/audio_output/Makefile
6118 modules/codec/Makefile
6119 modules/codec/cmml/Makefile
6120 modules/codec/dmo/Makefile
6121 modules/codec/ffmpeg/Makefile
6122 modules/codec/subtitles/Makefile
6123 modules/codec/spudec/Makefile
6124 modules/codec/xvmc/Makefile
6125 modules/control/Makefile
6126 modules/control/http/Makefile
6127 modules/demux/Makefile
6128 modules/demux/asf/Makefile
6129 modules/demux/avi/Makefile
6130 modules/demux/mp4/Makefile
6131 modules/demux/mpeg/Makefile
6132 modules/demux/playlist/Makefile
6133 modules/gui/Makefile
6134 modules/gui/beos/Makefile
6135 modules/gui/pda/Makefile
6136 modules/gui/macosx/Makefile
6137 modules/gui/minimal_macosx/Makefile
6138 modules/gui/qnx/Makefile
6139 modules/gui/qt4/Makefile
6140 modules/gui/skins2/Makefile
6141 modules/gui/wxwidgets/Makefile
6142 modules/gui/wince/Makefile
6143 modules/meta_engine/Makefile
6144 modules/misc/Makefile
6145 modules/misc/dummy/Makefile
6146 modules/misc/lua/Makefile
6147 modules/misc/memcpy/Makefile
6148 modules/misc/notify/Makefile
6149 modules/misc/testsuite/Makefile
6150 modules/misc/playlist/Makefile
6151 modules/misc/xml/Makefile
6152 modules/misc/probe/Makefile
6153 modules/mux/Makefile
6154 modules/mux/mpeg/Makefile
6155 modules/mux/rtp/Makefile
6156 modules/packetizer/Makefile
6157 modules/services_discovery/Makefile
6158 modules/stream_out/Makefile
6159 modules/stream_out/transrate/Makefile
6160 modules/video_chroma/Makefile
6161 modules/video_filter/Makefile
6162 modules/video_output/Makefile
6163 modules/video_output/msw/Makefile
6164 modules/video_output/qte/Makefile
6165 modules/video_output/x11/Makefile
6166 modules/visualization/Makefile
6167 modules/visualization/visual/Makefile
6168 modules/visualization/galaktos/Makefile
6171 dnl Generate makefiles
6174 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6175 # not provided with the source
6176 ${SHELL} ./config.status --file=vlc-config
6177 chmod 0755 vlc-config
6179 dnl echo "Enabled builtin modules :"
6180 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6182 dnl echo "Enabled plugin modules :"
6183 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6185 dnl Shortcut to nice compile message
6187 echo '#! /bin/sh' >compile
6189 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6190 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6195 --------------------
6196 vlc version : ${VERSION}
6198 architecture : ${ARCH}
6200 test "${enable_debug}" = "yes" && printf "debug "
6201 test "${enable_cprof}" = "yes" && printf "cprof "
6202 test "${enable_gprof}" = "yes" && printf "gprof "
6203 test "${enable_optimizations}" = "yes" && printf "optim "
6204 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6206 vlc aliases :${ALIASES}
6207 plugins/bindings :${PLUGINS_BINDINGS}
6209 You can check which modules have been enabled
6210 with \`./vlc-config --list plugin'.
6211 You can tune the compiler flags in vlc-config.
6212 To build vlc and its plugins, type \`./compile' or \`make'.