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
123 if test ".`uname -s`" = ".Darwin"; then
124 export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
125 export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
126 elif test ".`uname -s`" = ".BeOS"; then
127 export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
128 export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
136 dnl Set default values
138 LDFLAGS_vlc="${LDFLAGS}"
141 dnl Check the operating system
152 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
153 VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
157 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
160 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
161 CPPFLAGS="${CPPFLAGS_save}"
162 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
163 LDFLAGS="${LDFLAGS_save}"
169 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
170 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
171 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
172 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
173 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
174 VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
175 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
176 VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
177 VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
178 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
179 VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
180 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
181 AC_ARG_ENABLE(macosx-defaults,
182 [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
183 if test "x${enable_macosx_defaults}" != "xno"
186 echo "Building with Mac OS X defaults:"
188 echo " Assuming --enable-faad"
190 echo " Assuming --enable-flac"
192 echo " Assuming --enable-theora"
194 echo " Assuming --enable-shout"
196 echo " Assuming --enable-cddax"
198 echo " Assuming --enable-vcdx"
200 echo " Assuming --enable-caca"
202 echo " Assuming --enable-goom"
204 echo " Assuming --enable-ncurses"
206 echo " Assuming --enable-twolame"
207 enable_realrtsp="yes"
208 echo " Assuming --enable-realrtsp"
211 echo " Assuming --disable-skins2"
213 echo " Assuming --disable-x11"
215 echo " Assuming --disable-glx"
217 echo " Assuming --disable-xvideo"
221 *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
222 AC_CHECK_TOOL(WINDRES, windres, :)
229 dnl Check if we are using the mno-cygwin mode in which case we are
230 dnl actually dealing with a mingw32 compiler.
235 SYS=mingw32, SYS=cygwin)
237 *wince* | *mingwce* | *pe*)
242 if test "${SYS}" = "mingw32"; then
243 # add ws2_32 for closesocket, select, recv
244 VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
245 VLC_ADD_LDFLAGS([vlc],[-mwindows])
246 VLC_ADD_LDFLAGS([activex mozilla],[-lgdi32])
247 VLC_ADD_LDFLAGS([cdda vcdx cddax sdl_image],[-lwinmm])
248 VLC_ADD_LDFLAGS([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])
250 if test "${SYS}" = "mingwce"; then
251 # add ws2 for closesocket, select, recv
252 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
253 VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
254 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
259 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
263 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
264 # Perhaps it is useful other places as well?
265 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
272 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
273 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
274 VLC_ADD_CXXFLAGS([beos],[])
275 VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe])
276 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
277 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
278 VLC_ADD_LDFLAGS([access_file],[-lpoll])
279 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
281 if test -f /boot/beos/system/lib/libbind.so; then
282 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
284 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
287 dnl Ugly check for Zeta
288 if test -f /boot/beos/system/lib/libzeta.so; then
289 VLC_ADD_LDFLAGS([beos],[-lzeta])
296 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
297 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
298 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
299 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
302 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
303 dnl for program foo on win32
305 case "${build_os}" in
307 ac_executable_extensions=".exe"
315 dnl It's very bad, but our former custom system was worst
319 dnl override platform specific check for dependent libraries
320 dnl otherwise libtool linking of shared libraries will
321 dnl fail on anything other than pass_all.
322 AC_CACHE_VAL(lt_cv_deplibs_check_method,
323 [lt_cv_deplibs_check_method=pass_all])
326 AC_DISABLE_FAST_INSTALL
329 m4_undefine([AC_PROG_F77])
330 m4_defun([AC_PROG_F77],[])
333 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
334 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
336 lt_cv_deplibs_check_method=pass_all
340 dnl Check for Mac OS X SDK settings
342 AC_ARG_WITH(macosx-sdk,
343 [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
344 if test "${with_macosx_sdk}" != "no" ; then
345 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
346 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
347 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
348 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
349 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
350 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
351 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
352 MACOSX_DEPLOYMENT_TARGET="10.4"
353 export MACOSX_DEPLOYMENT_TARGET
359 ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fa fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW"
360 AM_GNU_GETTEXT_VERSION(0.16.1)
362 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
363 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
364 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
366 VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
372 AS_IF([test "$am_cv_func_iconv" != "yes"],
373 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
374 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
375 VLC_ADD_LDFLAGS([libvlc],[${LTLIBICONV}])
377 dnl Check for the need to include the mingwex lib for mingw32
378 if test "${SYS}" = "mingw32"
380 AC_CHECK_LIB(mingwex,opendir,
381 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]),
382 [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])])
386 dnl Check for fnative-struct or mms-bitfields support for mingw32
387 if test "${SYS}" = "mingw32"
389 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
390 [ac_cv_c_mms_bitfields],
391 [CFLAGS="${CFLAGS_save} -mms-bitfields"
392 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
393 if test "${ac_cv_c_mms_bitfields}" != "no"; then
394 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
395 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
397 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
398 [ac_cv_c_fnative_struct],
399 [CFLAGS="${CFLAGS_save} -fnative-struct"
400 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
401 if test "${ac_cv_c_fnative_struct}" != "no"; then
402 CFLAGS_save="${CFLAGS_save} -fnative-struct";
403 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
407 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
410 dnl Check for fvtable-thunks support for mingw32
411 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
414 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
415 [ac_cv_cxx_fvtable_thunks],
416 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
417 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
418 ac_cv_cxx_fvtable_thunks=no)])
419 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
420 CXXFLAGS_mingw32_special="-fvtable-thunks"
423 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
427 dnl Plugin compilation stuff
434 dnl The -DSYS_FOO flag
435 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
437 dnl Check for system libs needed
440 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)
442 dnl Check for usual libc functions
443 AC_CHECK_FUNCS(strdup strndup strnlen atof)
444 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
445 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
446 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
448 AS_IF([test "${SYS}" = "linux"], [
452 dnl Check for setlocal and langinfo
453 AC_CHECK_FUNCS(setlocale)
454 AC_CHECK_HEADERS(langinfo.h)
455 AC_CHECK_FUNCS(nl_langinfo)
457 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
458 [AC_TRY_LINK([#include <langinfo.h>],
459 [char* cs = nl_langinfo(CODESET);],
460 ac_cv_langinfo_codeset=yes,
461 ac_cv_langinfo_codeset=no)
463 if test ${ac_cv_langinfo_codeset} = yes; then
464 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
465 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
468 AC_CHECK_FUNCS(connect,,[
469 AC_CHECK_LIB(socket,connect,[
470 VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket)
471 LIBS_socket="-lsocket"
475 AC_CHECK_FUNCS(send,,[
476 AC_CHECK_LIB(socket,send,[
477 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
481 AC_CHECK_FUNCS(gethostbyname,,[
482 AC_CHECK_LIB(nsl,gethostbyname,[
483 VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl])
485 AC_CHECK_LIB(bind,gethostbyname,[
486 VLC_ADD_LDFLAGS([access_mms],[-lbind])
491 dnl Check for socklen_t
492 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
494 [#include <sys/types.h>
495 #include <sys/socket.h>],
496 [socklen_t len = 42; return len;],
497 ac_cv_type_socklen_t=yes,
498 ac_cv_type_socklen_t=no)])
499 if test "${ac_cv_type_socklen_t}" != "no"; then
500 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
503 dnl Check for struct sockaddr_storage
504 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
505 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
506 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
508 [#include <sys/types.h>
509 #if defined( UNDER_CE )
510 # include <winsock.h>
511 #elif defined( WIN32 )
512 # include <winsock2.h>
514 # include <sys/socket.h>
515 #endif], [struct sockaddr_storage addr;],
516 ac_cv_struct_sockaddr_storage=yes,
517 ac_cv_struct_sockaddr_storage=no)])
518 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
519 AC_DEFINE(sockaddr_storage, sockaddr)
520 AC_DEFINE(ss_family, sa_family)
523 dnl getaddrinfo, getnameinfo and gai_strerror check
524 dnl -lnsl and -lsocket are needed on Solaris;
525 dnl we purposedly make the test fail on Windows
527 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
528 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
530 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
533 AC_CHECK_FUNCS([getnameinfo gai_strerror])
536 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
537 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
538 [#include <sys/types.h>
539 #if defined( WIN32 ) || defined( UNDER_CE )
540 # if defined(UNDER_CE) && defined(sockaddr_storage)
541 # undef sockaddr_storage
543 # include <winsock2.h>
544 # include <ws2tcpip.h>
549 dnl Check for va_copy
550 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
552 [#include <stdarg.h>],
553 [va_list ap1, ap2; va_copy(ap1,ap2);],
554 [ac_cv_c_va_copy="yes"],
555 [ac_cv_c_va_copy="no"]))
556 if test "${ac_cv_c_va_copy}" = "yes"; then
557 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
559 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
561 [#include <stdarg.h>],
562 [va_list ap1, ap2; __va_copy(ap1,ap2);],
563 [ac_cv_c___va_copy="yes"],
564 [ac_cv_c___va_copy="no"]))
565 if test "${ac_cv_c___va_copy}" = "yes"; then
566 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
569 AC_CHECK_FUNCS(inet_aton,,[
570 AC_CHECK_LIB(resolv,inet_aton,[
571 VLC_ADD_LDFLAGS([libvlc],[-lresolv])
575 dnl Check for getopt (always use builtin one on win32)
576 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
580 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
581 [ # FreeBSD has a gnugetopt library for this:
582 AC_CHECK_LIB([gnugetopt],[getopt_long],
583 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
584 VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])],
587 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
589 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
592 VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
595 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
597 AC_CHECK_LIB(m,sqrt,[
598 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
600 AC_CHECK_LIB(m,ceil,[
601 VLC_ADD_LDFLAGS([mosaic],[-lm])
604 VLC_ADD_LDFLAGS([gaussianblur],[-lm])
606 AC_CHECK_LIB(mx,sqrtf,[
607 VLC_ADD_LDFLAGS([x264],[-lmx])
609 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
611 dnl Check for dynamic plugins
612 ac_cv_have_plugins=no
615 AC_CHECK_HEADERS(mach-o/dyld.h,
616 [AC_CHECK_FUNCS(NSLinkModule,
617 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
618 ac_cv_have_plugins=yes])])
621 if test "${ac_cv_have_plugins}" = "no"; then
622 AC_CHECK_HEADERS(dl.h)
623 ac_cv_my_have_shl_load=no
624 AC_CHECK_FUNC(shl_load,
625 [ac_cv_my_have_shl_load=yes,
626 AC_CHECK_LIB(dld, shl_load,
627 [ac_cv_my_have_shl_load=yes
628 VLC_ADD_LDFLAGS([libvlc],[-ldld])])])
629 if test "${ac_cv_my_have_shl_load}" = "yes"; then
630 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
631 ac_cv_have_plugins=yes
636 if test "${ac_cv_have_plugins}" = "no"; then
637 AC_CHECK_LIB(dld, dld_link,
638 [VLC_ADD_LDFLAGS([libvlc],[-ldld])
639 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
640 ac_cv_have_plugins=yes])
644 if test "${ac_cv_have_plugins}" = "no"; then
645 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
646 AC_CHECK_LIB(kernel32, main,
647 [VLC_ADD_LDFLAGS([libvlc],[-lkernel32])
648 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
649 ac_cv_have_plugins=yes])
654 if test "${ac_cv_have_plugins}" = "no"; then
655 if test "${SYS}" = "mingwce"; then
656 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
657 ac_cv_have_plugins=yes
662 if test "${ac_cv_have_plugins}" = "no"; then
663 AC_CHECK_HEADERS(image.h)
664 AC_CHECK_FUNCS(load_add_on,
665 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
666 ac_cv_have_plugins=yes])
669 # Only test for dlopen() if the others didn't work
670 if test "${ac_cv_have_plugins}" = "no"; then
671 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
672 ac_cv_my_have_dlopen=no
673 AC_CHECK_FUNC(dlopen,
674 ac_cv_my_have_dlopen=yes,
675 AC_CHECK_LIB(dl, dlopen,
676 ac_cv_my_have_dlopen=yes
677 VLC_ADD_LDFLAGS([libvlc],[-ldl]),
678 AC_CHECK_LIB(svld, dlopen,
679 ac_cv_my_have_dlopen=yes
680 VLC_ADD_LDFLAGS([libvlc],[-lsvld]))))
681 if test "${ac_cv_my_have_dlopen}" = "yes"; then
682 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
683 ac_cv_have_plugins=yes
687 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
688 dnl Check for pthreads - borrowed from XMMS
690 if test "${THREAD_LIB}" = "error"; then
691 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
693 if test "${THREAD_LIB}" = "error"; then
694 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
696 if test "${THREAD_LIB}" = "error"; then
697 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
699 if test "${THREAD_LIB}" = "error"; then
700 AC_CHECK_FUNCS(pthread_mutex_lock)
704 dnl Check for cthreads under GNU/Hurd for instance
705 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
708 dnl GNU portable threads
711 [ --enable-pth GNU Pth support (default disabled)],
712 [ if test "${enable_pth}" = "yes"; then
713 AC_CHECK_LIB(pth,pth_init)
714 AC_MSG_CHECKING(for pth_init in pth.h)
715 AC_EGREP_HEADER(pth_init,pth.h,[
717 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
718 Define if <pth.h> defines pth_init)
730 [ --enable-st State Threads (default disabled)],
731 [ if test "${enable_st}" = "yes"; then
732 AC_CHECK_LIB(st,st_init)
733 AC_MSG_CHECKING(for st_init in st.h)
734 AC_EGREP_HEADER(st_init,st.h,[
736 AC_DEFINE(ST_INIT_IN_ST_H, 1,
737 Define if <st.h> defines st_init)
745 VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}])
747 dnl Don't link with rt when using GNU-pth
748 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
749 AC_CHECK_LIB(rt, clock_nanosleep, [
750 VLC_ADD_LDFLAGS([libvlc],[-lrt])
751 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
754 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])])
758 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
759 AC_CHECK_LIB(rt,nanosleep,
760 [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:],
761 [AC_CHECK_LIB(posix4,nanosleep,
762 [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])]
765 if ${have_nanosleep}; then
766 AC_DEFINE(HAVE_NANOSLEEP, 1,
767 Define if nanosleep is available.)
771 dnl Check for misc headers
772 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
773 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
775 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
776 Define if <pthread.h> defines pthread_cond_t.)],[
779 AC_MSG_CHECKING(for pthread_once in pthread.h)
780 AC_EGREP_HEADER(pthread_once,pthread.h,[
782 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
783 Define if <pthread.h> defines pthread_once.)],[
785 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
787 AC_MSG_CHECKING(for strncasecmp in strings.h)
788 AC_EGREP_HEADER(strncasecmp,strings.h,[
790 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
791 Define if <strings.h> defines strncasecmp.)],[
794 dnl Check for headers
795 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)
796 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
797 AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
798 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
799 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
800 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
801 AC_CHECK_HEADERS(syslog.h)
802 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
806 AC_CHECK_TYPE(ssize_t, int)
807 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
811 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
812 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
814 dnl Mac OS X and other OSes don't have declaration for nanosleep
815 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
816 AC_MSG_CHECKING(for nanosleep in time.h)
817 AC_EGREP_HEADER(nanosleep,time.h,[
819 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
820 Define if <time.h> defines nanosleep.)
824 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
826 dnl Make sure we have timespecs
827 AC_MSG_CHECKING(for timespec in sys/time.h)
828 AC_EGREP_HEADER(timespec,sys/time.h,[
830 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
831 Define if <sys/time.h> defines struct timespec.)
836 dnl Check for threads library
837 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
838 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
839 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
841 dnl Find where are the X headers and libraries
844 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.
846 PKG_PROG_PKG_CONFIG()
850 [ --enable-hal Linux HAL services discovery (default enabled)])
852 if test "${enable_hal}" != "no"
854 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
855 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
856 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
857 VLC_ADD_PLUGINS([hal probe_hal])
858 VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS])
859 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
860 dnl No hal 0.5 Test for 0.2
861 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
862 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
863 VLC_ADD_PLUGINS([hal])
864 VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS])
865 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
866 [AC_MSG_WARN(HAL library not found)])
873 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
876 if test "${enable_dbus}" != "no"
879 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
880 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
881 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
882 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
883 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
884 VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
885 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
886 dnl Check for dbus control interface
887 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
888 if test "${enable_dbus_control}" != "no"
890 VLC_ADD_PLUGINS([dbus])
891 VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
892 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
895 if ${PKG_CONFIG} --exists dbus-1
897 [AC_ARG_ENABLE(old-dbus,
898 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
900 if test "${enable_old_dbus}" != "yes"
903 echo "****** WARNING **** WARNING ***** WARNING *************"
904 echo "*** Your D-Bus version is < 1.0.0"
905 echo "*** You are using old and buggy software and so"
906 echo "*** D-Bus support has been disabled."
907 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
908 echo "*** Alternatively you can force the use of your old and"
909 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
910 echo "*******************************************************"
914 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
915 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
916 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
917 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
918 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
919 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
921 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
922 [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
923 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
924 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
925 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
927 [ PKG_CHECK_MODULES( DBUS, dbus-1,
928 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
929 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
930 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
931 [AC_MSG_WARN(DBUS library not found)])
942 dnl Build the gtk_main plugins?
948 dnl build the qte plugin ?
951 dnl Check for ntohl, etc.
952 AC_CACHE_CHECK([for ntohl in sys/param.h],
953 [ac_cv_c_ntohl_sys_param_h],
954 [CFLAGS="${CFLAGS_save} -Wall -Werror"
955 AC_TRY_COMPILE([#include <sys/param.h>],
956 [int meuh; ntohl(meuh);],
957 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
958 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
959 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
961 CFLAGS="${CFLAGS_save}"
963 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])
964 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
966 dnl This helps detect broken plugins with undefined symbols
967 dnl Better fail loudly at build-time than silenty at run-time.
968 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
969 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
970 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
973 dnl Check for various optimization flags
974 AC_CACHE_CHECK([if \$CC accepts -Os],
976 [CFLAGS="${CFLAGS_save} -Os"
977 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
978 if test "${ac_cv_c_os}" != "no"; then
979 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
981 AC_CACHE_CHECK([if \$CC accepts -O],
983 [CFLAGS="${CFLAGS_save} -O"
984 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
985 if test "${ac_cv_c_o}" != "no"; then
986 if test "${ac_cv_c_o3}" = "no"; then
987 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
992 AC_CACHE_CHECK([if \$CC accepts -O3],
994 [CFLAGS="${CFLAGS_save} -O3"
995 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
996 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
997 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
999 AC_CACHE_CHECK([if \$CC accepts -O2],
1001 [CFLAGS="${CFLAGS_save} -O2"
1002 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1003 if test "${ac_cv_c_o2}" != "no"; then
1004 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1006 AC_CACHE_CHECK([if \$CC accepts -O],
1008 [CFLAGS="${CFLAGS_save} -O"
1009 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1010 if test "${ac_cv_c_o}" != "no"; then
1011 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1016 AC_CACHE_CHECK([if \$CC accepts -O0],
1018 [CFLAGS="${CFLAGS_save} -O0"
1019 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1020 if test "${ac_cv_c_o0}" != "no"; then
1021 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1024 dnl Check for -ffast-math
1025 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1026 [ac_cv_c_fast_math],
1027 [CFLAGS="${CFLAGS_save} -ffast-math"
1028 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1029 if test "${ac_cv_c_fast_math}" != "no"; then
1030 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1033 dnl Check for -funroll-loops
1034 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1035 if test "${SYS}" != "beos"
1037 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1038 [ac_cv_c_unroll_loops],
1039 [CFLAGS="${CFLAGS_save} -funroll-loops"
1040 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1041 if test "${ac_cv_c_unroll_loops}" != "no"; then
1042 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1046 dnl Check for -fomit-frame-pointer
1047 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1048 [ac_cv_c_omit_frame_pointer],
1049 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1050 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1051 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1052 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1055 dnl Check for -fvisibility=hidden
1056 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1057 [ac_cv_c_visibility_hidden],
1058 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1059 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1060 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1061 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1064 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1066 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1067 dnl AC_LANG_PUSH(C++)
1068 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1069 dnl [ac_cv_c_visibility_inlines_hidden],
1070 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1071 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1072 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1073 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1075 dnl CXXFLAGS="${CXXFLAGS_save}"
1076 dnl AC_LANG_POP(C++)
1078 dnl Check for -mdynamic-no-pic
1079 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1080 dnl [ac_cv_c_dynamic_no_pic],
1081 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1082 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1083 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1084 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1085 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1088 dnl Check for Darwin plugin linking flags
1089 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1091 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1092 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1093 if test "${ac_cv_ld_darwin}" != "no"; then
1094 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1097 dnl Check for standard plugin linking flags
1098 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1099 dnl AS_IF([test "${SYS}" = "beos"], [
1100 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1102 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1103 dnl [ac_cv_ld_plugins],
1104 dnl [CFLAGS="${CFLAGS_save} -shared"
1105 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1106 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1107 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1111 dnl Check for variadic macros
1112 AC_CACHE_CHECK([for variadic cpp macros],
1113 [ac_cv_cpp_variadic_macros],
1114 [CFLAGS="${CFLAGS_save}"
1117 #define a(b,c...) printf(b,##c)],
1118 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1119 ac_cv_cpp_variadic_macros=yes,
1120 ac_cv_cpp_variadic_macros=no)])
1121 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1122 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1125 dnl Checks for __attribute__(aligned()) directive
1126 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1127 [ac_cv_c_attribute_aligned],
1128 [ac_cv_c_attribute_aligned=0
1129 CFLAGS="${CFLAGS_save} -Werror"
1130 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1132 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1133 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1135 CFLAGS="${CFLAGS_save}"])
1136 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1137 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1138 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1141 dnl Checks for __attribute__(format()) directive
1142 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1143 [ac_cv_c_attribute_format],
1144 [ac_cv_c_attribute_format=no
1145 CFLAGS="${CFLAGS_save} -Werror"
1147 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1148 [ac_cv_c_attribute_format=yes])
1149 CFLAGS="${CFLAGS_save}"])
1150 if test "${ac_cv_c_attribute_format}" != "no"; then
1151 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1154 dnl Check for __attribute__((packed))
1155 AC_CACHE_CHECK([for __attribute__((packed))],
1156 [ac_cv_c_attribute_packed],
1157 [ac_cv_c_attribute_packed=no
1158 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1159 [ac_cv_c_attribute_packed=yes])])
1160 if test "${ac_cv_c_attribute_packed}" != "no"; then
1161 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1164 dnl Check for __attribute__((visibility()))
1165 AC_CACHE_CHECK([for __attribute__((visibility()))],
1166 [ac_cv_c_attribute_visibility],
1167 [ac_cv_c_attribute_visibility=no
1168 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1169 [ac_cv_c_attribute_visibility=yes])])
1170 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1171 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1177 case "${host_cpu}" in
1187 dnl Enable profiling
1189 AC_ARG_ENABLE(gprof,
1190 [ --enable-gprof gprof profiling (default disabled)])
1191 AC_ARG_ENABLE(cprof,
1192 [ --enable-cprof cprof profiling (default disabled)])
1193 test "${enable_gprof}" != "yes" && enable_gprof="no"
1194 test "${enable_cprof}" != "yes" && enable_cprof="no"
1199 VLC_ADD_PLUGINS([dummy logger memcpy])
1200 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
1201 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub mpeg_audio lpcm a52 dts cinepak flac])
1202 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1203 VLC_ADD_PLUGINS([converter_fixed mono])
1204 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1205 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1206 VLC_ADD_PLUGINS([spatializer])
1207 VLC_ADD_PLUGINS([playlist export nsc xtag])
1208 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1209 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1210 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1211 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1212 VLC_ADD_PLUGINS([access_filter_bandwidth])
1213 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1214 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1215 VLC_ADD_PLUGINS([packetizer_vc1])
1218 if test "${SYS}" != "mingwce"; then
1219 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1220 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
1221 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1222 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1223 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1224 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1225 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1226 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1230 dnl Some plugins aren't useful on some platforms
1232 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1233 VLC_ADD_PLUGINS([screensaver motion])
1234 elif test "${SYS}" != "mingwce"; then
1235 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1236 VLC_ADD_LDFLAGS([dmo],[-lole32])
1238 VLC_ADD_PLUGINS([win32text])
1240 if test "${SYS}" = "darwin"; then
1241 VLC_ADD_PLUGINS([quartztext])
1242 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1246 dnl Accelerated modules
1248 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1249 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1250 MMXEXT_MODULES="memcpymmxext"
1251 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1252 THREEDNOW_MODULES="memcpy3dn"
1254 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1255 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1256 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1258 dnl Check for fully workin MMX intrinsics
1259 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1260 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1261 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1262 [ac_cv_c_mmx_intrinsics],
1263 [CFLAGS="${CFLAGS_save} -O -mmmx"
1264 AC_TRY_COMPILE([#include <mmintrin.h>
1268 a = b = c = (__m64)frobzor;
1269 a = _mm_slli_pi16(a, 3);
1270 a = _mm_adds_pi16(a, b);
1271 c = _mm_srli_pi16(c, 8);
1272 c = _mm_slli_pi16(c, 3);
1273 b = _mm_adds_pi16(b, c);
1274 a = _mm_unpacklo_pi8(a, b);
1275 frobzor = (uint64_t)a;],
1276 [ac_cv_c_mmx_intrinsics=yes],
1277 [ac_cv_c_mmx_intrinsics=no])])
1278 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1279 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1280 VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1283 dnl Check for fully workin SSE2 intrinsics
1284 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1285 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1286 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1287 [ac_cv_c_sse2_intrinsics],
1288 [CFLAGS="${CFLAGS_save} -O -msse2"
1289 AC_TRY_COMPILE([#include <emmintrin.h>
1293 a = b = c = _mm_set1_epi64((__m64)frobzor);
1294 a = _mm_slli_epi16(a, 3);
1295 a = _mm_adds_epi16(a, b);
1296 c = _mm_srli_epi16(c, 8);
1297 c = _mm_slli_epi16(c, 3);
1298 b = _mm_adds_epi16(b, c);
1299 a = _mm_unpacklo_epi8(a, b);
1300 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1301 [ac_cv_c_sse2_intrinsics=yes],
1302 [ac_cv_c_sse2_intrinsics=no])])
1303 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1304 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1305 VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1308 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1310 [CFLAGS="${CFLAGS_save}"
1311 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1312 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1313 if test "${ac_cv_mmx_inline}" != "no"; then
1314 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1315 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1318 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1319 [ac_cv_mmxext_inline],
1320 [CFLAGS="${CFLAGS_save}"
1321 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1322 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1323 if test "${ac_cv_mmxext_inline}" != "no"; then
1324 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1325 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1328 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1329 [ac_cv_3dnow_inline],
1330 [CFLAGS="${CFLAGS_save}"
1331 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1332 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1333 if test "${ac_cv_3dnow_inline}" != "no"; then
1334 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1335 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1338 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1340 [CFLAGS="${CFLAGS_save}"
1341 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1342 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1343 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1344 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1345 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1348 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1349 [ac_cv_sse2_inline],
1350 [CFLAGS="${CFLAGS_save}"
1351 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1352 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1353 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1354 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1355 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1358 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1359 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1360 [ac_cv_altivec_inline],
1361 [CFLAGS="${CFLAGS_save}"
1362 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1363 ac_cv_altivec_inline=yes,
1364 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1365 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1366 [ac_cv_altivec_inline="-Wa,-m7400"],
1367 ac_cv_altivec_inline=no)
1369 if test "${ac_cv_altivec_inline}" != "no"; then
1370 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1371 if test "${ac_cv_altivec_inline}" != "yes"; then
1372 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1373 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1374 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1375 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1376 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1378 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1381 dnl The AltiVec C extensions
1383 dnl There are several possible cases:
1384 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1385 dnl need <altivec.h>
1386 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1387 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1388 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1389 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1390 dnl - Others: test should fail
1391 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1393 [# OS X/PPC test (gcc 4.x)
1394 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1395 AC_TRY_COMPILE([vector unsigned char foo;],
1396 [vec_ld(0, (unsigned char *)0);],
1397 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1398 [# OS X/PPC test (gcc 3.x)
1399 CFLAGS="${CFLAGS_save} -faltivec"
1400 AC_TRY_COMPILE([vector unsigned char foo;],
1401 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1402 [ac_cv_c_altivec="-faltivec"],
1403 dnl Below this are the Linux tests
1404 [# Linux/PPC test (gcc 4.x)
1405 CFLAGS="${CFLAGS_save} -maltivec"
1406 AC_TRY_COMPILE([#include <altivec.h>],
1407 [vec_ld(0, (unsigned char *)0);],
1408 [ac_cv_c_altivec="-maltivec"],
1409 [# Linux/PPC test (gcc 3.3)
1410 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1411 AC_TRY_COMPILE([#include <altivec.h>],
1412 [vec_ld(0, (unsigned char *)0);],
1414 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1415 [# Linux/PPC test (gcc 3.3)
1416 CFLAGS="${CFLAGS_save} -fvec"
1417 AC_TRY_COMPILE([#include <altivec.h>],
1418 [vec_ld(0, (unsigned char *)0);],
1419 [ac_cv_c_altivec="-fvec"],
1420 [ac_cv_c_altivec=no])
1425 CFLAGS="${CFLAGS_save}"
1428 if test "${ac_cv_c_altivec}" != "no"; then
1429 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1432 AS_IF( test "${enable_altivec}" != "no",
1434 AC_CHECK_HEADERS(altivec.h)
1435 CPPFLAGS="${CPPFLAGS_save}"
1437 if test "${ac_cv_c_altivec}" != "no"; then
1438 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1439 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1440 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1441 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1442 if test "${ac_cv_altivec_inline}" = "no"; then
1443 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1447 CPPFLAGS="${CPPFLAGS_save}"
1450 AC_CACHE_CHECK([if linker needs -framework vecLib],
1452 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1453 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1454 LDFLAGS="${LDFLAGS_save}"
1456 if test "${ac_cv_ld_altivec}" != "no"; then
1457 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1459 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1462 AC_ARG_WITH(,[Optimization options:])
1465 dnl Special arch tuning
1468 [ --with-tuning=ARCH enable special tuning for an architecture
1469 (default Pentium 2 on IA-32 and G4 on PPC)])
1470 if test -n "${with_tuning}"; then
1471 if test "${with_tuning}" != "no"; then
1472 CFLAGS_TUNING="-mtune=${with_tuning}"
1475 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1476 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1477 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1478 CFLAGS_TUNING="-mtune=pentium2"
1479 elif test "${host_cpu}" = "x86_64"; then
1480 CFLAGS_TUNING="-mtune=athlon64"
1481 elif test "${host_cpu}" = "powerpc"; then
1482 CFLAGS_TUNING="-mtune=G4";
1486 dnl NOTE: this can't be cached cleanly
1487 AS_IF([test "${CFLAGS_TUNING}"],
1488 [CFLAGS_save="${CFLAGS}"
1489 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1491 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1492 AC_COMPILE_IFELSE([ ],
1494 [CFLAGS_TUNING=""; tuning="no"
1495 AS_IF([test "${with_tuning}"],
1496 [AC_MSG_ERROR([requested tuning not supported])])])
1498 AC_MSG_RESULT([$tuning])
1499 CFLAGS="${CFLAGS_save}"
1503 dnl x86 accelerations
1505 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"
1508 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1510 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
1512 ARCH="${ARCH} sse sse2"
1513 VLC_ADD_PLUGINS([${ACCEL_MODULES}])
1519 AC_ARG_ENABLE(optimize-memory,
1520 [ --enable-optimize-memory optimize memory usage over performance])
1521 if test "${enable_optimize_memory}" = "yes"; then
1522 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1526 dnl Enable/disable optimizations
1528 AC_ARG_ENABLE(optimizations,
1529 [ --disable-optimizations disable compiler optimizations (default enabled)])
1530 if test "${enable_optimizations}" != "no"; then
1531 if test "${enable_optimize_memory}" = "yes"; then
1532 enable_optimizations="size"
1534 enable_optimizations="speed"
1539 dnl AltiVec acceleration
1541 AC_ARG_ENABLE(altivec,
1542 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1543 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1544 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1545 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1546 VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1551 AC_ARG_ENABLE(debug,
1552 [ --enable-debug debug mode (default disabled)])
1553 test "${enable_debug}" != "yes" && enable_debug="no"
1555 [Define to 1 if debug code should NOT be compiled])
1556 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1561 AC_ARG_ENABLE(coverage,
1562 [ --enable-coverage build for test coverage (default disabled)],,
1563 [enable_coverage="no"])
1564 AS_IF([test "${enable_coverage}" != "no"], [
1565 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1566 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1567 LDFLAGS="-lgcov ${LDFLAGS}"
1569 CFLAGS_save="${CFLAGS}"
1570 CXXFLAGS_save="${CXXFLAGS}"
1571 LDFLAGS_save="${LDFLAGS}"
1575 dnl Enable release-specific flags
1577 AC_ARG_ENABLE(release,
1578 [ --enable-release activate extra optimizations (default disabled)])
1579 test "${enable_release}" != "yes" && enable_release="no"
1585 [ --enable-sout Stream output modules (default enabled)])
1586 if test "${enable_sout}" != "no"
1588 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1589 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1590 VLC_ADD_PLUGINS([packetizer_copy])
1592 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1593 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1594 VLC_ADD_PLUGINS([stream_out_gather])
1595 # VLC_ADD_PLUGINS([stream_out_transrate])
1596 # VLC_ADD_PLUGINS([rtcp])
1597 VLC_ADD_PLUGINS([profile_parser])
1599 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1602 AC_ARG_ENABLE(switcher,
1603 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1605 dnl Check for libshout
1606 AC_ARG_ENABLE(shout,
1607 [ --enable-shout libshout output plugin (default disabled)])
1608 if test "${enable_shout}" = "yes"; then
1609 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1610 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1611 VLC_ADD_PLUGINS([access_output_shout])
1612 VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1613 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1614 [AC_MSG_WARN(libshout library not found)])
1619 [ --enable-lua lua playlist and metafetcher plugins (default enabled)])
1620 if test "${enable_lua}" != "no"
1622 PKG_CHECK_MODULES(LUA, lua5.1,
1625 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1626 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1630 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1633 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1634 [LUA_LIBS="-llua5.1"],
1635 AC_CHECK_LIB( lua51 , luaL_newstate,
1636 [LUA_LIBS="-llua51"],
1637 AC_CHECK_LIB( lua , luaL_newstate,
1640 AC_MSG_WARN([lua >= 5.1 not found!])
1646 if test "x${have_lua}" = "xyes" ; then
1647 AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1648 VLC_ADD_PLUGINS([lua])
1649 VLC_ADD_LDFLAGS([lua],[$LUA_LIBS])
1650 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1657 AC_ARG_ENABLE(httpd,
1658 [ --enable-httpd HTTP daemon (default enabled)])
1659 if test "${enable_httpd}" != "no"
1661 VLC_ADD_PLUGINS([http])
1662 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1666 dnl VideoLAN manager
1669 [ --enable-vlm VideoLAN manager (default enabled)])
1670 if test "${enable_vlm}" != "no"
1672 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1676 dnl Growl notification plugin
1678 AC_ARG_ENABLE(growl,
1679 [ --enable-growl growl notification plugin (default enabled)])
1680 AS_IF([test "${enable_growl}" != "no"], [
1681 VLC_ADD_PLUGINS([growl])
1686 dnl Libnotify notification plugin
1689 AC_ARG_ENABLE(notify,
1690 [ --enable-notify libnotify notification plugin (default enabled)])
1691 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1692 PKG_CHECK_MODULES(NOTIFY, libnotify,
1694 VLC_ADD_PLUGINS([notify])
1695 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1696 VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1698 AS_IF([test "${enable_notify}" = "yes"],[
1699 AC_MSG_WARN( libnotify not found) ])
1704 dnl Audioscrobbler plugin
1707 AC_ARG_ENABLE(audioscrobbler,
1708 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1709 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1710 VLC_ADD_PLUGINS([audioscrobbler])
1714 dnl Musicbrainz plugin
1716 AC_ARG_ENABLE(musicbrainz,
1717 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1718 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1719 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1720 [ VLC_ADD_PLUGINS([musicbrainz])
1721 VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS])
1722 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1723 [AC_MSG_WARN(MusicBrainz library not found)])
1730 AC_ARG_ENABLE(taglib,
1731 [ --disable-taglib Taglib support (default enabled) ])
1732 AS_IF([test "${enable_taglib}" != "no"],[
1733 PKG_CHECK_MODULES(TAGLIB, taglib,
1734 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1735 VLC_ADD_PLUGINS([taglib])
1736 VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS -lz])
1737 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1738 [AC_MSG_WARN(TagLib library not found)])
1746 AC_ARG_WITH(,[Input plugins:])
1750 if test "${enable_livedotcom}"
1752 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1755 if test "${enable_livedotcom}" = "no"
1759 AC_ARG_ENABLE(live555,
1760 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1761 if test "${enable_live555}" != "no"; then
1762 AC_ARG_WITH(live555-tree,
1763 [ --with-live555-tree=PATH live.com tree for static linking])
1766 dnl test for --with-live555-tree
1768 if test "${with_livedotcom_tree}"
1770 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1771 with_live555_tree="${with_livedotcom_tree}"
1774 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1776 CPPFLAGS_save="${CPPFLAGS}"
1777 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1778 if test "${SYS}" = "solaris"; then
1779 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1781 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1782 AC_CHECK_HEADERS(liveMedia.hh, [
1783 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1784 AC_CHECK_LIB(liveMedia_pic, main, [
1785 # We have -lliveMedia_pic, build plugins
1786 VLC_ADD_PLUGINS([live555])
1787 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1789 AC_CHECK_LIB(liveMedia, main, [
1790 # We only have -lliveMedia, do builtins
1791 VLC_ADD_BUILTINS([live555])
1792 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1795 if test "${SYS}" = "mingw32"; then
1796 # add ws2_32 for closesocket, select, recv
1797 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1800 CPPFLAGS="${CPPFLAGS_save}"
1803 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1804 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1805 if test -z "${real_live555_tree}"; then
1806 dnl The given directory can't be found
1808 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1810 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1811 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1813 VLC_ADD_BUILTINS([live555])
1815 if test "${SYS}" = "mingw32"; then
1816 # add ws2_32 for closesocket, select, recv
1817 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1820 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1821 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1822 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1823 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1825 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1826 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1827 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1828 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1829 if test "${SYS}" = "solaris"; then
1830 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1833 dnl The given live555 wasn't built
1835 if test "${enable_live555}" = "yes"; then
1836 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1843 dnl special access module for dc1394 input
1845 AC_ARG_ENABLE(dc1394,
1846 [ --enable-dc1394 dc1394 access module (default disabled)])
1847 if test "${enable_dc1394}" = "yes"
1849 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1850 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1851 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1852 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1853 VLC_ADD_PLUGINS([dc1394])
1854 VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394])
1857 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1861 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1865 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1869 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1874 dnl dv module: digital video module check for libraw1394
1877 [ --enable-dv dv input module (default disabled)])
1878 if test "${enable_dv}" = "yes"
1880 AC_ARG_WITH(dv-raw1394,
1881 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1882 AC_ARG_WITH(dv-raw1394-tree,
1883 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1885 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1887 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1888 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1890 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1892 VLC_ADD_PLUGINS([access_dv])
1893 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1894 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1896 dnl No libraw1394 could be found, sorry
1898 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1901 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1902 [ VLC_ADD_PLUGINS([access_dv])
1903 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1905 if test -n "${enable_dv}"
1907 AC_MSG_ERROR([cannot find libraw1394 headers])
1912 dnl Check for static linking of libraw1394
1913 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1915 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1916 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1917 if test -z "${real_dv_raw1394_tree}"
1919 dnl The given directory can't be found
1921 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1923 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1925 dnl Use a custom libraw1394
1926 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1927 VLC_ADD_BUILTINS([access_dv])
1928 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1929 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1931 dnl The given libraw1394 wasn't built
1933 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1938 dnl Check for libavc1394
1941 AC_ARG_WITH(dv-avc1394,
1942 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1943 AC_ARG_WITH(dv-avc1394-tree,
1944 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1946 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1948 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1949 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1951 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1953 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1954 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1956 dnl No libavc1394 could be found, sorry
1958 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1961 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1962 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1964 if test -n "${enable_dv}"
1966 AC_MSG_ERROR([cannot find libavc1394 headers])
1971 dnl Check for static linking of libavc1394
1972 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1974 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1975 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1976 if test -z "${real_dv_avc1394_tree}"
1978 dnl The given directory can't be found
1980 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1982 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1984 dnl Use a custom libavc1394
1985 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1986 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1987 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1989 dnl The given libavc1394 wasn't built
1991 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1997 dnl dvdread module: check for libdvdread
1999 AC_ARG_ENABLE(dvdread,
2000 [ --enable-dvdread dvdread input module (default disabled)])
2001 if test "${enable_dvdread}" != "no"
2003 AC_ARG_WITH(dvdread,
2004 [ --with-dvdread=PATH libdvdread headers and libraries])
2005 AC_ARG_WITH(dvdread-tree,
2006 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2008 dnl Temporary hack (yeah, sure ;)
2009 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2010 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
2013 if test -z "${with_dvdread}"
2015 if test -z "${with_dvdread_tree}"
2017 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2018 [ VLC_ADD_PLUGINS([dvdread])
2019 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
2021 if test -n "${enable_dvdread}"
2023 AC_MSG_ERROR([cannot find libdvdread headers])
2027 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2028 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2029 if test -z "${real_dvdread_tree}"
2031 dnl The given directory can't be found
2033 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2035 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2037 dnl Use a custom libdvdread
2038 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2039 VLC_ADD_BUILTINS([dvdread])
2040 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
2041 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2043 dnl The given libdvdread wasn't built
2045 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2049 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2050 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2052 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2054 VLC_ADD_PLUGINS([dvdread])
2055 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
2056 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2058 dnl No libdvdread could be found, sorry
2060 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2066 dnl libdvdnav plugin
2068 AC_ARG_ENABLE(dvdnav,
2069 [ --enable-dvdnav dvdnav input module (default enabled)])
2070 if test "${enable_dvdnav}" != "no"
2072 dnl Same hack than dvdread
2073 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2074 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
2077 DVDNAV_PATH="${PATH}"
2078 AC_ARG_WITH(dvdnav-config-path,
2079 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2080 [ if test "${with_dvdnav_config_path}" != "no"
2082 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2084 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2085 if test "${DVDNAV_CONFIG}" != "no"
2087 VLC_ADD_PLUGINS([dvdnav])
2088 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2089 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2094 dnl Windows DirectShow access module
2096 AC_ARG_ENABLE(dshow,
2097 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2098 if test "${enable_dshow}" != "no"
2100 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2103 AC_CHECK_HEADERS(dshow.h,
2104 [ VLC_ADD_PLUGINS([dshow])
2105 VLC_ADD_CXXFLAGS([dshow],[])
2106 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
2112 dnl Windows DirectShow BDA access module
2115 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2116 if test "${enable_bda}" != "no"
2118 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2120 AC_CHECK_HEADERS(dshow.h,
2121 [ VLC_ADD_PLUGINS([bda])
2122 VLC_ADD_CXXFLAGS([bda],[])
2123 VLC_ADD_LDFLAGS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2129 dnl OpenCV wrapper and example filters
2131 AC_ARG_ENABLE(opencv,
2132 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2133 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2135 AC_ARG_WITH(opencv-tree,
2136 [ --with-opencv-tree=PATH opencv tree for linking])
2137 if test -n "${with_opencv_tree}"
2139 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2141 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2142 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2143 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2146 VLC_ADD_PLUGINS([opencv_wrapper])
2147 VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2148 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])
2150 VLC_ADD_PLUGINS([opencv_example])
2151 VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2152 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])
2155 dnl No opencv could be found, sorry
2157 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2160 AC_MSG_WARN([--enable-opencv currently only works on windows])
2167 dnl libsmbclient plugin
2170 [ --enable-smb smb input module (default enabled)])
2171 if test "${enable_smb}" != "no"; then
2172 AC_CHECK_HEADERS(libsmbclient.h,
2173 [ VLC_ADD_PLUGINS([access_smb])
2174 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
2175 [ if test -n "${enable_smb}"; then
2176 AC_MSG_ERROR([cannot find libsmbclient headers])
2178 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2179 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2180 [#include <libsmbclient.h>])
2184 dnl libdvbpsi ts demux/mux
2186 AC_ARG_ENABLE(dvbpsi,
2187 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2188 if test "${enable_dvbpsi}" != "no"
2191 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2193 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2194 case "${with_dvbpsi}" in
2196 if test -z "${with_dvbpsi_tree}"
2198 AC_CHECK_HEADERS(dvbpsi/dr.h,
2199 [ VLC_ADD_PLUGINS([ts])
2200 if test "${enable_sout}" != "no"; then
2201 VLC_ADD_PLUGINS([mux_ts])
2203 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
2204 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2205 [#if defined( HAVE_STDINT_H )
2206 # include <stdint.h>
2207 #elif defined( HAVE_INTTYPES_H )
2208 # include <inttypes.h>
2210 #include <dvbpsi/dvbpsi.h>
2211 #include <dvbpsi/descriptor.h>
2212 #include <dvbpsi/pat.h>
2213 #include <dvbpsi/pmt.h>])
2215 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2216 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2217 if test -z "${real_dvbpsi_tree}"
2219 dnl The given directory can't be found
2221 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2223 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2225 dnl Use a custom libdvbpsi
2226 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2227 VLC_ADD_BUILTINS([ts])
2228 if test "${enable_sout}" != "no"; then
2229 VLC_ADD_BUILTINS([mux_ts])
2231 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2232 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2234 dnl The given libdvbpsi wasn't built
2236 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2241 dnl Compile without dvbpsi
2244 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2245 if test -z "${with_dvbpsi}"
2250 LDFLAGS_test="-L${with_dvbpsi}/lib"
2251 CPPFLAGS_test="-I${with_dvbpsi}/include"
2253 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2254 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2255 VLC_ADD_PLUGINS([ts])
2256 if test "${enable_sout}" != "no"; then
2257 VLC_ADD_PLUGINS([mux_ts])
2259 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2260 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2263 if test -n "${enable_dvbpsi}"
2265 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])
2268 CPPFLAGS="${CPPFLAGS_save}"
2271 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2272 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2273 ], [], [${LDFLAGS_ts}])
2278 dnl Video4Linux plugin
2281 [ --enable-v4l Video4Linux input support (default disabled)])
2282 if test "${enable_v4l}" = "yes"
2285 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2286 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2288 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2291 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2292 AC_CHECK_HEADERS(linux/videodev.h, [
2293 VLC_ADD_PLUGINS([v4l])
2295 CPPFLAGS="${CPPFLAGS_save}"
2299 dnl Video4Linux plugin
2302 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2303 if test "${enable_v4l2}" = "yes"
2306 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2307 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2309 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2312 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2313 AC_CHECK_HEADERS(linux/videodev2.h, [
2314 VLC_ADD_PLUGINS([v4l2])
2316 CPPFLAGS="${CPPFLAGS_save}"
2321 dnl special access module for Hauppauge PVR cards
2324 [ --enable-pvr PVR cards access module (default disabled)])
2325 if test "${enable_pvr}" = "yes"
2327 VLC_ADD_PLUGINS([pvr])
2328 AC_ARG_WITH(videodev2,
2329 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2330 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2332 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2336 AC_CACHE_CHECK([for new linux/videodev2.h],
2337 [new_linux_videodev2_h],
2339 #include <sys/types.h>
2340 # ifdef VIDEODEV2_H_FILE
2341 # include VIDEODEV2_H_FILE
2343 # include <linux/videodev2.h>
2346 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2347 new_linux_videodev2_h=yes,
2348 new_linux_videodev2_h=no)])
2349 if test "${new_linux_videodev2_h}" != "no"; then
2350 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2355 dnl gnomeVFS access module
2357 AC_ARG_ENABLE(gnomevfs,
2358 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2359 if test "${enable_gnomevfs}" = "yes"
2361 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2362 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2363 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2364 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2365 VLC_ADD_PLUGINS([access_gnomevfs]),
2366 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2369 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2370 AC_ARG_ENABLE(libcdio,
2371 [ --enable-libcdio CD input and control library support (default enabled)])
2376 if test "${enable_libcdio}" != "no"
2378 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2380 AC_DEFINE(HAVE_LIBCDIO, [],
2381 [Define if you have libcdio 0.78.2 or greater installed]),
2382 [AC_MSG_WARN(CD Reading and information library not found)])
2384 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2385 [have_libvcdinfo=yes
2386 AC_DEFINE(HAVE_VCDINFO, [],
2387 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2388 [AC_MSG_WARN(VCD information library not found)])
2392 dnl VCDX and CDDAX modules
2394 AC_ARG_ENABLE(cddax,
2395 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2397 AC_ARG_ENABLE(libcddb,
2398 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2400 if test "${enable_cddax}" = "yes"
2402 if test "$have_libcdio" = "yes"
2404 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2405 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2406 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2407 VLC_ADD_PLUGINS([cddax])
2408 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2409 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2410 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2412 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2416 if test "$enable_libcddb" != "no"; then
2417 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2419 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2420 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2421 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2423 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2430 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2432 if test "${enable_vcdx}" = "yes"
2434 if test "${have_libvcdinfo}" = "yes"
2436 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2437 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2439 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2443 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2444 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2445 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2446 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2449 if test "$have_libvcdinfo" = "yes"
2451 AC_DEFINE(HAVE_VCDX, [],
2452 [Define for the VCD plugin using libcdio/libvcdinfo])
2453 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2454 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2455 VLC_ADD_PLUGINS([vcdx])
2457 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2463 dnl Built-in CD-DA and VCD module
2466 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2469 [ --enable-vcd built-in VCD (default enabled)])
2471 if test "${enable_vcd}" != "no"
2473 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2474 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2476 VLC_ADD_PLUGINS([vcd cdda])
2481 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2482 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2484 VLC_ADD_PLUGINS([vcd cdda])
2485 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2490 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2491 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2493 VLC_ADD_PLUGINS([vcd cdda])
2494 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2499 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2501 VLC_ADD_PLUGINS([vcd cdda])
2504 if test "${SYS}" = "darwin"
2506 VLC_ADD_PLUGINS([vcd cdda])
2507 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2508 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2511 if test "$enable_libcddb" != "no"; then
2512 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2514 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2515 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2516 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2518 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2524 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2527 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2529 if test "${enable_dvb}" = "yes"
2532 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2533 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2535 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2537 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2538 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2539 if test -z "${with_dvbpsi_tree}"
2541 VLC_ADD_PLUGINS([dvb])
2543 VLC_ADD_BUILTINS([dvb])
2545 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2546 CPPFLAGS="${CPPFLAGS_save}"
2550 dnl Screen capture module
2552 AC_ARG_ENABLE(screen,
2553 [ --enable-screen Screen capture support (default enabled)])
2554 if test "${enable_screen}" != "no"; then
2555 if test "${SYS}" = "darwin"; then
2556 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2557 VLC_ADD_PLUGINS([screen])
2558 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2560 elif test "${SYS}" = "mingw32"; then
2561 VLC_ADD_PLUGINS([screen])
2562 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2563 elif test "${SYS}" = "mingwce"; then
2564 CPPFLAGS="${CPPFLAGS_save}"
2565 elif test "${SYS}" = "beos"; then
2566 VLC_ADD_PLUGINS([screen])
2567 VLC_ADD_CXXFLAGS([screen],[])
2568 VLC_ADD_LDFLAGS([screen],[-lbe])
2570 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2571 AC_CHECK_HEADERS(X11/Xlib.h, [
2572 VLC_ADD_PLUGINS([screen])
2573 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2574 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2576 CPPFLAGS="${CPPFLAGS_save}"
2581 dnl ipv6 plugin - not for QNX yet
2584 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2585 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2588 AS_IF([test "${have_ipv6}" = "yes"], [
2589 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2592 AC_CHECK_FUNCS(inet_ntop,[
2593 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2597 dnl ogg demux plugin
2600 [ --enable-ogg Ogg demux support (default enabled)])
2601 if test "${enable_ogg}" != "no"
2603 AC_ARG_WITH(ogg-tree,
2604 [ --with-ogg-tree=PATH ogg tree for static linking])
2605 if test -n "${with_ogg_tree}"
2607 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2608 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2609 if test -z "${real_ogg_tree}"
2611 dnl The given directory can't be found
2613 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2615 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2617 dnl Use a custom ogg
2618 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2619 VLC_ADD_PLUGINS([ogg])
2620 if test "${enable_sout}" != "no"; then
2621 VLC_ADD_PLUGINS([mux_ogg])
2623 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2624 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2626 dnl The given ogg wasn't built
2628 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2631 AC_CHECK_HEADERS(ogg/ogg.h, [
2632 AC_CHECK_LIB( ogg, oggpack_read, [
2633 VLC_ADD_PLUGINS([ogg])
2634 if test "${enable_sout}" != "no"; then
2635 VLC_ADD_PLUGINS([mux_ogg])
2637 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2643 dnl matroska demux plugin
2646 [ --enable-mkv Matroska demux support (default enabled)])
2647 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2649 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2650 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2652 [#include <ebml/EbmlVersion.h>
2653 #ifdef LIBEBML_VERSION
2654 #if LIBEBML_VERSION >= 0x000706
2658 [AC_MSG_RESULT([yes])
2659 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2660 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2662 [#include <matroska/KaxVersion.h>
2663 #ifdef LIBMATROSKA_VERSION
2664 #if LIBMATROSKA_VERSION >= 0x000705
2668 [AC_MSG_RESULT([yes])
2669 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2670 VLC_ADD_CXXFLAGS([mkv],[])
2671 if test "${SYS}" = "darwin"; then
2672 VLC_ADD_CXXFLAGS([mkv],[-O1])
2674 AC_CHECK_LIB(ebml_pic, main, [
2675 VLC_ADD_PLUGINS([mkv])
2676 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic])
2678 AC_CHECK_LIB(ebml, main, [
2679 VLC_ADD_PLUGINS([mkv])
2680 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2684 [AC_MSG_RESULT([no])
2685 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.])
2689 [AC_MSG_RESULT([no])
2690 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.])
2697 dnl modplug demux plugin
2700 [ --enable-mod Mod demux support (default enabled)])
2701 if test "${enable_mod}" != "no"
2703 AC_ARG_WITH(mod-tree,
2704 [ --with-mod-tree=PATH mod tree for static linking])
2705 if test -n "${with_mod_tree}"
2707 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2708 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2709 if test -z "${real_mod_tree}"
2711 dnl The given directory can't be found
2713 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2715 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2717 dnl Use a custom mod
2718 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2719 VLC_ADD_PLUGINS([mod])
2720 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2721 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2723 dnl The given mod wasn't built
2725 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2728 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2729 VLC_ADD_PLUGINS([mod])
2730 VLC_ADD_CXXFLAGS([mod],[])
2731 VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
2736 dnl mpc demux plugin
2739 [ --enable-mpc Mpc demux support (default enabled)])
2740 if test "${enable_mpc}" != "no"
2742 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2743 VLC_ADD_PLUGINS([mpc])
2744 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2748 dnl game music emu demux plugin
2751 [ --enable-gme Game Music Emu demux support (default enabled)])
2752 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2755 AC_ARG_WITH(gme-tree,
2756 [ --with-gme-tree=PATH gme tree for static linking])
2757 if test -n "${with_gme_tree}"
2759 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2760 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2761 if test -z "${real_gme_tree}"
2763 dnl The given directory can't be found
2765 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2767 if test -f "${real_gme_tree}/gme/libgme.a"
2769 dnl Use a custom gme
2770 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2771 VLC_ADD_PLUGINS([gme])
2772 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2773 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2775 dnl The given gme wasn't built
2777 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2780 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2789 AC_ARG_WITH(,[Codec plugins:])
2795 [ --enable-mad libmad module (default enabled)])
2796 if test "${enable_mad}" != "no"
2799 [ --with-mad=PATH path to libmad],[],[])
2800 if test "${with_mad}" != "no" -a -n "${with_mad}"
2802 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2803 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2806 AC_ARG_WITH(mad-tree,
2807 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2808 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2810 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2811 if test -z "${real_mad_tree}"
2813 dnl The given directory can't be found
2815 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2817 dnl Use a custom libmad
2818 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2819 if test -f ${real_mad_tree}/mad.h
2822 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2823 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2824 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2825 AC_CHECK_LIB(mad, mad_bit_init, [
2826 VLC_ADD_BUILTINS([mpgatofixed32])
2827 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2828 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2830 LDFLAGS="${LDFLAGS_save}"
2833 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2836 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2837 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2838 AC_CHECK_HEADERS(mad.h, ,
2839 [ 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.]) ])
2840 AC_CHECK_LIB(mad, mad_bit_init, [
2841 VLC_ADD_PLUGINS([mpgatofixed32])
2842 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2843 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2844 CPPFLAGS="${CPPFLAGS_save}"
2845 LDFLAGS="${LDFLAGS_save}"
2850 dnl libid3tag support (FIXME!!! doesn't work with new input)
2852 AC_ARG_ENABLE( id3tag,
2853 [ --disable-id3tag id3tag metadata reader plugin (default enabled)])
2854 AS_IF([test "${enable_id3tag}" != "no"], [
2855 AC_CHECK_HEADERS(id3tag.h, [
2856 AC_CHECK_HEADERS(zlib.h, [
2857 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2858 VLC_ADD_PLUGINS([id3tag])
2864 dnl ffmpeg decoder/demuxer plugin
2866 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2867 dnl 4- default place,
2869 AC_ARG_ENABLE(ffmpeg,
2870 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2871 if test "${enable_ffmpeg}" != "no"
2874 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2876 AC_ARG_WITH(ffmpeg-mp3lame,
2877 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2879 if test "$with_ffmpeg_mp3lame" = "yes"; then
2880 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2883 AC_ARG_WITH(ffmpeg-faac,
2884 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2886 if test "$with_ffmpeg_faac" = "yes"; then
2887 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2890 AC_ARG_WITH(ffmpeg-dts,
2891 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2893 if test "$with_ffmpeg_dts" = "yes"; then
2894 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2895 AC_CHECK_LIB(dts_pic, dts_free,
2896 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2897 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2898 LDFLAGS="${LDFLAGS_save}"
2901 AC_ARG_WITH(ffmpeg-vorbis,
2902 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2904 if test "$with_ffmpeg_vorbis" = "yes"; then
2905 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2908 AC_ARG_WITH(ffmpeg-theora,
2909 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2911 if test "$with_ffmpeg_theora" = "yes"; then
2912 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2915 AC_ARG_WITH(ffmpeg-ogg,
2916 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2918 if test "$with_ffmpeg_ogg" = "yes"; then
2919 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2922 AC_ARG_WITH(ffmpeg-zlib,
2923 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2925 if test "$with_ffmpeg_zlib" = "yes"; then
2926 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2929 AC_ARG_WITH(ffmpeg-amrnb,
2930 [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2932 if test "$with_ffmpeg_amrnb" = "yes"; then
2933 VLC_ADD_LDFLAGS([ffmpeg],[-lamrnb])
2936 AC_ARG_WITH(ffmpeg-amrwb,
2937 [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2939 if test "$with_ffmpeg_amrwb" = "yes"; then
2940 VLC_ADD_LDFLAGS([ffmpeg],[-lamrwb])
2943 AC_ARG_WITH(ffmpeg-x264,
2944 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support],
2946 if test "$with_ffmpeg_x264" = "yes"; then
2947 VLC_ADD_LDFLAGS([ffmpeg],[-lx264])
2950 AC_ARG_WITH(ffmpeg-a52,
2951 [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support],
2953 if test "$with_ffmpeg_a52" = "yes"; then
2954 VLC_ADD_LDFLAGS([ffmpeg],[-la52])
2958 dnl test for --with-ffmpeg-tree
2960 AC_ARG_WITH(ffmpeg-tree,
2961 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2963 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2964 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2965 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2966 if test -z "${real_ffmpeg_tree}"; then
2967 dnl The given directory can't be found
2969 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2971 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2972 dnl The given libavcodec wasn't built
2974 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2976 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2977 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2978 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2979 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2980 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2981 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2983 dnl The given libavcodec wasn't built with --enable-pp
2985 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2988 dnl Use a custom libffmpeg
2989 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2991 dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
2992 PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
2993 PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
2994 export PKG_CONFIG_PATH=""
2995 export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
2997 PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
2998 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
2999 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3001 AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3002 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3004 unset PKG_CONFIG_PATH
3006 AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3007 export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3009 unset PKG_CONFIG_LIBDIR
3012 VLC_ADD_BUILTINS([ffmpeg])
3013 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3014 VLC_ADD_BUILTINS([stream_out_switcher])
3018 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3019 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3020 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3021 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3025 dnl Look for a ffmpeg-config (we are on debian )
3027 FFMPEG_PATH="${PATH}"
3028 AC_ARG_WITH(ffmpeg-config-path,
3029 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
3030 [ if test "${with_ffmpeg_config_path}" != "no"
3032 FFMPEG_PATH="${with_ffmpeg_config_path}"
3034 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
3035 if test "${FFMPEG_CONFIG}" != "no"
3037 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3038 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3039 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3040 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3041 VLC_ADD_PLUGINS([ffmpeg])
3042 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3043 VLC_ADD_PLUGINS([stream_out_switcher])
3045 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
3046 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
3050 dnl Trying with pkg-config
3051 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3054 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3055 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3056 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3057 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3058 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3059 dnl newer ffmpeg have a separate libpostproc
3060 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3061 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3062 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
3064 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3065 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3066 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3067 if test "${SYS}" = "darwin"; then
3068 VLC_ADD_BUILTINS([ffmpeg])
3070 VLC_ADD_PLUGINS([ffmpeg])
3072 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3073 if test "${SYS}" = "darwin"; then
3074 VLC_ADD_BUILTINS([stream_out_switcher])
3076 VLC_ADD_PLUGINS([stream_out_switcher])
3079 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3080 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3081 dnl even newer ffmpeg has a libswscale
3082 PKG_CHECK_MODULES(SWSCALE, libswscale,[
3083 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3084 VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}])
3085 AC_CHECK_LIB(swscale, sws_getContext,
3086 [AC_CHECK_HEADERS(ffmpeg/swscale.h)],[])
3092 dnl last chance: at the default place
3094 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3095 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
3096 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3097 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3098 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3099 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3101 AC_CHECK_LIB(avutil, av_crc_init, [
3102 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
3103 LDAVUTIL="-lavutil"])
3105 AC_CHECK_LIB(avcodec, avcodec_init, [
3106 VLC_ADD_BUILTINS([ffmpeg])
3107 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
3108 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3109 VLC_ADD_BUILTINS([stream_out_switcher])
3111 [ 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])
3114 AC_CHECK_LIB(postproc, pp_postprocess, [
3115 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
3116 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3119 AC_CHECK_LIB(avformat, av_open_input_stream, [
3120 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3121 LDFLAGS="${LDFLAGS_save}"
3122 CPPFLAGS="${CPPFLAGS_save}"
3124 AC_CHECK_LIB(swscale, sws_getContext, [
3125 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3126 VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3127 LDFLAGS="${LDFLAGS_save}"
3128 CPPFLAGS="${CPPFLAGS_save}"
3135 dnl ffmpegaltivec plugin
3137 AC_ARG_ENABLE(ffmpegaltivec,
3138 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3139 if test "${enable_ffmpegaltivec}" = "yes"
3141 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3142 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3143 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3144 if test -z "${real_ffmpeg_tree}"; then
3145 dnl The given directory can't be found
3147 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3149 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3150 dnl The given libavcodecaltivec wasn't built
3152 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3154 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3155 dnl The given libavcodecaltivec wasn't built with --enable-pp
3157 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3159 dnl Use a custom libffmpeg
3160 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3161 VLC_ADD_BUILTINS([ffmpegaltivec])
3162 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3163 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3164 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3166 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3167 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3168 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3169 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3171 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3172 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3177 dnl faad decoder plugin
3180 [ --enable-faad faad codec (default disabled)])
3181 if test "${enable_faad}" = "yes"
3183 AC_ARG_WITH(faad-tree,
3184 [ --with-faad-tree=PATH faad tree for static linking])
3185 if test -n "${with_faad_tree}"
3187 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3188 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3189 if test -z "${real_faad_tree}"
3191 dnl The given directory can't be found
3193 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3195 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3197 dnl Use a custom faad
3198 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3199 VLC_ADD_BUILTINS([faad])
3200 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3201 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3203 dnl The given libfaad wasn't built
3205 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3208 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3209 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3210 AC_CHECK_HEADERS(faad.h, ,
3211 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3212 AC_CHECK_LIB(faad, faacDecOpen, [
3213 VLC_ADD_PLUGINS([faad])
3214 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3215 AC_CHECK_LIB(faad, NeAACDecOpen, [
3216 VLC_ADD_PLUGINS([faad])
3217 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3218 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3219 LDFLAGS="${LDFLAGS_save}"
3220 CPPFLAGS="${CPPFLAGS_save}"
3225 dnl twolame encoder plugin
3227 AC_ARG_ENABLE(twolame,
3228 [ --enable-twolame twolame codec (default disabled)])
3229 if test "${enable_twolame}" = "yes"
3231 AC_ARG_WITH(twolame-tree,
3232 [ --with-twolame-tree=PATH twolame tree for static linking])
3233 if test -n "${with_twolame_tree}"
3235 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3236 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3237 if test -z "${real_twolame_tree}"
3239 dnl The given directory can't be found
3241 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3243 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3245 dnl Use a custom twolame
3246 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3247 VLC_ADD_BUILTINS([twolame])
3248 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3249 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3251 dnl The given libtwolame wasn't built
3253 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3256 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3257 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3258 AC_CHECK_HEADERS(twolame.h, ,
3259 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3260 AC_CHECK_LIB(twolame, twolame_init, [
3261 VLC_ADD_PLUGINS([twolame])
3262 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3263 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
3264 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3265 LDFLAGS="${LDFLAGS_save}"
3266 CPPFLAGS="${CPPFLAGS_save}"
3271 dnl QuickTime plugin
3273 AC_ARG_ENABLE(quicktime,
3274 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3275 if test "${enable_quicktime}" != "no" &&
3276 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3278 if test "${SYS}" = "mingw32"; then
3279 VLC_ADD_BUILTINS([quicktime])
3281 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3282 [ VLC_ADD_BUILTINS([quicktime])
3283 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3284 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3292 [ --enable-real Real audio module (default disabled)])
3293 if test "${enable_real}" = "yes"; then
3294 VLC_ADD_PLUGINS([realaudio])
3298 dnl Real RTSP plugin
3300 AC_ARG_ENABLE(realrtsp,
3301 [ --enable-realrtsp Real RTSP module (default disabled)])
3302 if test "${enable_realrtsp}" = "yes"; then
3303 VLC_ADD_PLUGINS([access_realrtsp])
3309 AC_CHECK_HEADERS(zlib.h, [
3310 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
3313 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3314 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
3320 AC_ARG_ENABLE(libtar,
3321 [ --enable-libtar support for skins2 (default enabled)])
3323 AS_IF([test "${enable_libtar}" != "no"],[
3324 AC_CHECK_HEADERS(libtar.h, [
3325 VLC_ADD_LDFLAGS([skins2],[-ltar])
3330 dnl A52/AC3 decoder plugin
3333 [ --enable-a52 A/52 support with liba52 (default enabled)])
3334 if test "${enable_a52}" != "no"
3337 [ --with-a52=PATH a52 headers and libraries])
3338 AC_ARG_WITH(a52-tree,
3339 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3340 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3342 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3343 if test -z "${real_a52_tree}"
3345 dnl The given directory can't be found
3347 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3349 dnl Use a custom a52dec
3350 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3351 if test -f ${real_a52_tree}/include/a52.h
3354 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3355 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3356 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
3357 AC_CHECK_LIB(a52, a52_free, [
3358 VLC_ADD_BUILTINS([a52tofloat32])
3359 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3360 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3362 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3364 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3366 AC_MSG_ERROR([the specified tree hasn't been compiled])
3369 LDFLAGS="${LDFLAGS_save}"
3372 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3375 if test -z "${with_a52}"
3380 LDFLAGS_test="-L${with_a52}/lib"
3381 CPPFLAGS_test="-I${with_a52}/include"
3383 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3384 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3385 AC_CHECK_HEADERS(a52dec/a52.h, [
3386 AC_CHECK_LIB(a52, a52_free, [
3387 VLC_ADD_PLUGINS([a52tofloat32])
3388 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3389 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3391 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.])
3394 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.])
3396 CPPFLAGS="${CPPFLAGS_save}"
3397 LDFLAGS="${LDFLAGS_save}"
3401 AC_ARG_WITH(a52-fixed,
3402 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3404 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3407 dnl DTS Coherent Acoustics decoder plugin
3409 AS_IF([test "x${enable_dts}" != "x"], [
3410 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3412 AS_IF([test "x${with_dts_tree}" != "x"], [
3413 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3417 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3418 AS_IF([test "${enable_dca}" != "no"], [
3419 AC_ARG_WITH(dca-tree,
3420 [ --with-dca-tree=PATH libdca tree for static linking],,
3421 [with_dca_tree="no"])
3422 AS_IF([test "${with_dca_tree}" != "no"], [
3423 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3424 AS_IF([test -z "${real_dca_tree}"], [
3425 dnl The given directory can't be found
3427 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3429 dnl Use a custom libdca
3430 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3431 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3433 VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3434 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3435 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3437 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3441 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3444 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3445 VLC_ADD_PLUGINS([dtstofloat32])
3446 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3447 VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}])
3449 AS_IF([test "x${enable_dca}" != "x"], [
3450 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3460 [ --enable-flac libflac decoder/encoder support (default disabled)])
3461 if test "${enable_flac}" = "yes"
3463 AC_ARG_WITH(flac-tree,
3464 [ --with-flac-tree=PATH flac tree for static linking])
3465 if test -n "${with_flac_tree}"
3467 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3468 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3469 if test -z "${real_flac_tree}"
3471 dnl The given directory can't be found
3473 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3475 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3477 dnl Use a custom flac
3478 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3479 VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3480 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3481 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3483 dnl The given flac wasn't built
3485 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3488 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3489 VLC_ADD_LDFLAGS([flac],[-lFLAC -logg])
3497 AC_ARG_ENABLE(libmpeg2,
3498 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3499 if test "${enable_libmpeg2}" != "no"
3501 AC_ARG_WITH(libmpeg2-tree,
3502 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3503 if test -n "${with_libmpeg2_tree}"
3505 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3506 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3507 if test -z "${real_libmpeg2_tree}"
3509 dnl The given directory can't be found
3511 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3513 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3515 dnl Use a custom libmpeg2
3516 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3517 VLC_ADD_BUILTINS([libmpeg2])
3518 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3519 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3520 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3522 dnl The given libmpeg2 wasn't built
3524 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3527 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3528 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3530 [#include <mpeg2dec/mpeg2.h>
3531 #ifdef MPEG2_RELEASE
3532 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3536 [AC_MSG_RESULT([yes])
3537 VLC_ADD_PLUGINS([libmpeg2])
3538 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3539 [AC_MSG_RESULT([no])
3540 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.])])],
3542 [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.])]
3550 AC_ARG_ENABLE(vorbis,
3551 [ --enable-vorbis Vorbis decoder support (default enabled)])
3552 if test "${enable_vorbis}" != "no"
3554 AC_ARG_WITH(vorbis-tree,
3555 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3556 if test -n "${with_vorbis_tree}"
3558 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3559 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3560 if test -z "${real_vorbis_tree}"
3562 dnl The given directory can't be found
3564 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3566 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3568 dnl Use a custom vorbis
3569 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3570 VLC_ADD_PLUGINS([vorbis])
3571 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3572 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3574 dnl The given vorbis wasn't built
3576 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3579 AC_CHECK_HEADERS(vorbis/codec.h, [
3580 VLC_ADD_PLUGINS([vorbis])
3581 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
3583 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3584 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
3591 AC_ARG_ENABLE(tremor,
3592 [ --enable-tremor Tremor decoder support (default disabled)])
3593 if test "${enable_tremor}" = "yes"
3595 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3596 VLC_ADD_PLUGINS([tremor])
3597 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3604 AC_ARG_ENABLE(speex,
3605 [ --enable-speex Speex decoder support (default enabled)])
3606 if test "${enable_speex}" != "no"
3608 AC_ARG_WITH(speex-tree,
3609 [ --with-speex-tree=PATH speex tree for static linking])
3610 if test -n "${with_speex_tree}"
3612 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3613 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3614 if test -z "${real_speex_tree}"
3616 dnl The given directory can't be found
3618 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3620 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3622 dnl Use a custom speex
3623 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3624 VLC_ADD_PLUGINS([speex])
3625 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3626 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3628 dnl The given speex wasn't built
3630 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3633 AC_CHECK_HEADERS(speex/speex.h, [
3634 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3635 AC_CHECK_LIB(speex, speex_decode_int, [
3636 VLC_ADD_PLUGINS([speex])
3637 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3638 [ AC_MSG_RESULT([no])
3639 AC_MSG_WARN([Your libspeex is too old, please get the development
3641 LDFLAGS="${LDFLAGS_save}"
3647 dnl tarkin decoder plugin
3649 AC_ARG_ENABLE(tarkin,
3650 [ --enable-tarkin experimental tarkin codec (default disabled)])
3651 if test "${enable_tarkin}" = "yes"
3653 AC_ARG_WITH(tarkin-tree,
3654 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3655 if test -n "${with_tarkin_tree}"
3657 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3658 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3659 if test -f "${real_tarkin_tree}/tarkin.o"
3661 VLC_ADD_BUILTINS([tarkin])
3662 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3663 VLC_ADD_LDFLAGS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
3666 dnl The given tarkin tree wasn't built
3668 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3669 make sure you compiled tarkin in ${with_tarkin_tree}])
3675 dnl theora decoder plugin
3677 AC_ARG_ENABLE(theora,
3678 [ --enable-theora experimental theora codec (default disabled)])
3679 if test "${enable_theora}" = "yes"
3681 AC_CHECK_HEADERS(theora/theora.h, [
3682 AC_CHECK_LIB(theora, theora_granule_time, [
3683 VLC_ADD_PLUGINS([theora])
3684 theora_libs="-ltheora -logg"
3685 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3686 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3687 You also need to check that you have a libogg posterior to the 1.0 release.])],
3693 dnl dirac decoder plugin
3695 AC_ARG_ENABLE(dirac,
3696 [ --enable-dirac experimental dirac codec (default disabled)])
3697 if test "${enable_dirac}" = "yes"; then
3698 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [
3699 VLC_ADD_PLUGINS([dirac])
3700 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3701 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3702 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3707 dnl PNG decoder module
3710 [ --enable-png PNG support (default enabled)])
3711 if test "${enable_png}" != "no"; then
3712 AC_CHECK_HEADERS(png.h, [
3713 LDFLAGS="${LDFLAGS_save} -lz"
3714 AC_CHECK_LIB(png, png_set_rows, [
3715 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3716 VLC_ADD_PLUGINS([png])
3717 VLC_ADD_PLUGINS([osdmenu])
3718 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3720 LDFLAGS="${LDFLAGS_save}"
3725 dnl H264 encoder plugin (using libx264)
3728 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3729 if test "${enable_x264}" != "no"; then
3730 AC_ARG_WITH(x264-tree,
3731 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3732 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3734 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3735 if test -z "${real_x264_tree}"
3737 dnl The given directory can't be found
3739 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3741 dnl Use a custom libx264
3742 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3743 if test -f ${real_x264_tree}/x264.h
3746 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3747 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3748 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3749 AC_CHECK_LIB(x264, x264_encoder_open, [
3750 VLC_ADD_BUILTINS([x264])
3751 VLC_ADD_LDFLAGS([x264],[-lx264])
3753 AC_MSG_ERROR([the specified tree hasn't been compiled])
3755 LDFLAGS="${LDFLAGS_save}"
3758 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3761 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3762 AC_CHECK_HEADERS(x264.h, [
3763 AC_CHECK_LIB(x264, x264_encoder_open, [
3764 VLC_ADD_PLUGINS([x264])
3765 VLC_ADD_LDFLAGS([x264],[-lx264])
3767 if test "${enable_x264}" = "yes"; then
3768 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3772 LDFLAGS="${LDFLAGS_save}"
3777 dnl Teletext Modules
3778 dnl vbi decoder plugin (using libzbvi)
3783 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3785 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3787 AS_IF( [test "${enable_zvbi}" != "no"],[
3788 AS_IF( [test "${enable_telx}" = "yes"],[
3789 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3791 PKG_CHECK_MODULES(ZVBI,
3794 VLC_ADD_LDFLAGS([zvbi],[$ZVBI_LIBS])
3795 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3796 VLC_ADD_PLUGINS([zvbi])
3797 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3799 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3804 AS_IF( [test "${enable_telx}" = "yes"],[
3805 VLC_ADD_PLUGINS([telx])
3812 [ --enable-cmml CMML support (default enabled)])
3813 if test "${enable_cmml}" != "no"
3815 VLC_ADD_PLUGINS([cmml])
3823 AC_ARG_WITH(,[Video plugins:])
3826 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3827 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3828 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3829 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3830 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3832 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3833 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3838 #include <X11/Xlib.h>
3840 CPPFLAGS="${CPPFLAGS_save}"
3845 dnl (enabled by default except on win32)
3848 [ --enable-x11 X11 support (default enabled)])
3849 if test "${enable_x11}" != "no" &&
3850 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3851 test "${enable_x11}" = "yes"); then
3852 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3853 AC_CHECK_HEADERS(X11/Xlib.h, [
3854 VLC_ADD_PLUGINS([panoramix])
3855 VLC_ADD_LDFLAGS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3856 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3857 AC_CHECK_LIB(Xext, XShmAttach, [
3858 VLC_ADD_PLUGINS([x11])
3859 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3860 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3863 CPPFLAGS="${CPPFLAGS_save}"
3868 dnl (enabled by default except on win32)
3870 AC_ARG_ENABLE(xvideo,
3871 [ --enable-xvideo XVideo support (default enabled)])
3872 if test "${enable_xvideo}" != "no" &&
3873 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3874 test "${enable_xvideo}" = "yes"); then
3875 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3876 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3877 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3878 AC_CHECK_LIB(Xv,XvPutImage,[
3879 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3880 # test for libXv_pic.
3881 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3882 VLC_ADD_PLUGINS([xvideo])
3883 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3884 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3886 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3887 VLC_ADD_PLUGINS([xvideo])
3888 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3889 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3891 VLC_ADD_BUILTINS([xvideo])
3892 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3893 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3897 CFLAGS="${CFLAGS_save}"
3899 CPPFLAGS="${CPPFLAGS_save}")
3904 dnl (enabled by default except on win32)
3907 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3908 if test "${enable_glx}" != "no" &&
3909 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3910 test "${enable_glx}" = "yes"); then
3911 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3912 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3913 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3914 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3918 VLC_ADD_PLUGINS([glx])
3919 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3920 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3921 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3922 CPPFLAGS="${CPPFLAGS_save}"
3927 dnl (enabled by default except on win32)
3930 [ --enable-xvmc XVMC support (default disabled)])
3931 if test "${enable_xvmc}" = "yes" &&
3932 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3933 test "${enable_xvmc}" = "yes"); then
3934 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3935 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3936 VLC_ADD_PLUGINS([xvmc])
3937 VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3938 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3940 CPPFLAGS="${CPPFLAGS_save}"
3944 dnl Check for the Xinerama extension
3946 AC_ARG_ENABLE(xinerama,
3947 [ --enable-xinerama Xinerama support (default enabled)])
3948 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3949 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3950 test "${enable_xvideo}" = "yes"); then
3951 ac_cv_have_xinerama="no"
3952 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3953 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3954 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3955 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3956 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3957 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3958 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3959 ac_cv_have_xinerama="yes"
3961 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3962 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3963 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3964 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3965 ac_cv_have_xinerama="yes"
3969 if test "${ac_cv_have_xinerama}" = "yes"; then
3970 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3972 CFLAGS="${CFLAGS_save}"
3973 CPPFLAGS="${CPPFLAGS_save}"
3976 dnl Check for XF86VidMode extension
3978 ac_cv_have_xf86vidmode="no"
3979 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3980 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3981 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3982 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3983 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3984 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3985 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3986 ac_cv_have_xf86vidmode="yes"
3988 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3989 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3990 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3991 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3992 ac_cv_have_xf86vidmode="yes"
3996 [#ifdef HAVE_X11_XLIB_H
3997 # include <X11/Xlib.h>
4000 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4001 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4003 CFLAGS="${CFLAGS_save}"
4004 CPPFLAGS="${CPPFLAGS_save}"
4010 dnl (enabled by default except on beos)
4012 AC_ARG_ENABLE(opengl,
4013 [ --enable-opengl OpenGL support (default enabled)])
4014 if test "${enable_opengl}" != "no" &&
4015 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4016 if test "${SYS}" != "darwin"; then
4017 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4018 VLC_ADD_PLUGINS([opengl])
4019 if test "${SYS}" != "mingw32"; then
4020 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
4022 VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
4026 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4027 VLC_ADD_PLUGINS([opengl])
4028 VLC_ADD_LDFLAGS([opengl],[-Wl,-framework,OpenGL])
4036 [ --enable-sdl SDL support (default enabled)])
4037 AC_ARG_ENABLE(sdl-image,
4038 [ --enable-sdl-image SDL image support (default enabled)])
4039 if test "${enable_sdl}" != "no"
4042 AC_ARG_WITH(sdl-config-path,
4043 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4044 [ if test "${with_sdl_config_path}" != "no"
4046 SDL_PATH="${with_sdl_config_path}:${PATH}"
4048 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4049 SDL_CONFIG="${SDL12_CONFIG}"
4050 SDL_HEADER="SDL12/SDL.h"
4051 SDL_IMAGE="SDL12/SDL_image.h"
4052 if test "${SDL_CONFIG}" = "no"
4054 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4055 SDL_CONFIG=${SDL11_CONFIG}
4056 SDL_HEADER="SDL11/SDL.h"
4057 SDL_IMAGE="SDL11/SDL_image.h"
4059 if test "${SDL_CONFIG}" = "no"
4061 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4062 SDL_HEADER="SDL/SDL.h"
4063 SDL_IMAGE="SDL/SDL_image.h"
4065 # check for cross-compiling
4067 AC_ARG_WITH(sdl-prefix,
4068 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4070 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4071 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4073 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4075 if test "${SDL_CONFIG}" != "no"
4077 # SDL on Darwin is heavily patched and can only run SDL_image
4078 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4079 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4081 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4082 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4083 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4084 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4085 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4086 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4087 As a last resort we also test for SDL.h presence),
4088 [ AC_MSG_ERROR([The development package for SDL is not installed.
4089 Please install it and try again. Alternatively you can also configure with
4092 AS_IF([ test "${enable_sdl_image}" != "no"],[
4093 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4094 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4095 VLC_ADD_PLUGINS([sdl_image])
4096 AC_CHECK_LIB(png, png_set_rows,
4097 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
4098 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4099 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
4100 AC_CHECK_LIB(tiff, TIFFClientOpen,
4101 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
4102 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
4103 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4104 As a last resort we also test for SDL_image.h presence),
4105 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4106 You should install it alongside your SDL package.])
4109 CPPFLAGS="${CPPFLAGS_save}"
4110 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4112 AC_MSG_ERROR([The development package for SDL is not installed.
4113 Please install it and try again. Alternatively you can also configure with
4117 elif test "${enable_sdl}" = "yes"
4119 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4120 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4128 AC_ARG_ENABLE(freetype,
4129 [ --enable-freetype freetype support (default enabled)])
4130 AC_ARG_ENABLE(fribidi,
4131 [ --enable-fribidi fribidi support (default enabled)])
4132 if test "${enable_freetype}" != "no"
4134 FREETYPE_PATH="${PATH}"
4135 AC_ARG_WITH(freetype-config-path,
4136 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4137 [ if test "${with_freetype_config_path}" != "no"
4139 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4141 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4143 if test "${FREETYPE_CONFIG}" != "no"
4145 VLC_ADD_PLUGINS([freetype])
4146 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4147 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
4148 if test "${SYS}" = "mingw32"; then
4149 VLC_ADD_LDFLAGS([freetype],[-lxml2])]
4151 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4152 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4153 VLC_ADD_LDFLAGS([freetype],[-lfontconfig])])
4154 AC_CHECK_HEADERS(Carbon/Carbon.h,
4155 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4156 elif test "${enable_freetype}" = "yes"
4158 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4159 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4164 if test "${enable_fribidi}" != "no"
4166 FRIBIDI_PATH="${PATH}"
4167 AC_ARG_WITH(fribidi-config-path,
4168 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4169 [ if test "${with_fribidi_config_path}" != "no"
4171 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4173 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4175 if test "${FRIBIDI_CONFIG}" != "no"
4177 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4178 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4179 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4180 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4188 AC_ARG_ENABLE(libxml2,
4189 [ --enable-libxml2 libxml2 support (default enabled)])
4190 if test "${enable_libxml2}" != "no"
4193 AC_ARG_WITH(xml2-config-path,
4194 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4195 [ if test "${with_xml2_config_path}" != "no"; then
4196 XML2_PATH="${with_xml2_config_path}:${PATH}"
4198 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4199 if test "${XML2_CONFIG}" != "no"; then
4200 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4201 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
4202 dnl depends on the xmlTextReader extension
4203 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4204 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4205 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4206 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4207 VLC_ADD_PLUGINS([xml]) ],[
4208 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4209 if test "${enable_xml2}" = "yes"; then
4210 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4213 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4214 if test "${enable_xml2}" = "yes"; then
4215 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4217 LDFLAGS="${LDFLAGS_save}"
4218 CPPFLAGS="${CPPFLAGS_save}"
4220 if test "${enable_xml2}" = "yes"; then
4221 AC_MSG_ERROR([Could not find libxml2])
4230 [ --enable-svg SVG support (default disabled)])
4231 if test "${enable_svg}" = "yes"
4233 PKG_CHECK_MODULES(SVG,
4234 librsvg-2.0 >= 2.9.0,
4236 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
4237 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4238 VLC_ADD_PLUGINS([svg]) ],
4239 [AC_MSG_WARN(SVG library not found)])
4243 dnl Snapshot vout module (with cache)
4245 AC_ARG_ENABLE(snapshot,
4246 [ --enable-snapshot snapshot module (default disabled)])
4247 if test "${enable_snapshot}" = "yes"
4249 VLC_ADD_PLUGINS([snapshot])
4253 dnl Qt Embedded module
4254 dnl (disabled by default)
4257 [ --enable-qte QT Embedded support (default disabled)])
4258 if test "${enable_qte}" = "yes"
4261 [ --with-qte=PATH Qt Embedded headers and libraries])
4262 if test "${with_qte}" != "no" -a -n "${with_qte}"
4264 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4265 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])
4267 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4268 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4270 VLC_ADD_PLUGINS([qte])
4272 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4273 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4274 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4276 CPPFLAGS="${CPPFLAGS_save}"
4280 dnl Qt Video output module
4281 dnl (disabled by default)
4283 dnl AC_ARG_ENABLE(qt_video,
4284 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4285 dnl if test "${enable_qt_video}" = "yes"
4287 dnl VLC_ADD_PLUGINS([qt_video])
4288 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
4289 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4290 dnl AC_CHECK_LIB(qt-mt,main,[
4291 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
4293 dnl AC_CHECK_LIB(qt,main,[
4294 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
4297 dnl NEED_QTE_MAIN=yes
4298 dnl LDFLAGS="${LDFLAGS_save}"
4299 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4303 dnl Roku HD1000 Video output module
4305 AC_ARG_ENABLE(hd1000v,
4306 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4307 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4308 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4309 test "${enable_hd1000v}" = "yes"); then
4311 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4313 can_build_roku="yes"
4317 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4319 if test "$can_build_roku" = "yes"
4321 VLC_ADD_PLUGINS([hd1000v])
4322 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
4328 dnl Windows DirectX module
4331 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4333 VLC_ADD_PLUGINS([panoramix])
4336 AC_ARG_ENABLE(directx,
4337 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4338 if test "${enable_directx}" != "no"
4340 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4342 AC_ARG_WITH(directx,
4343 [ --with-directx=PATH Win32 DirectX headers])
4344 if test -z "${with_directx}"
4346 AC_CHECK_HEADERS(ddraw.h,
4347 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4348 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4350 AC_CHECK_HEADERS(GL/gl.h,
4351 [ VLC_ADD_PLUGINS([glwin32])
4352 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4354 AC_CHECK_HEADERS(d3d9.h,
4355 [ VLC_ADD_PLUGINS([direct3d])
4356 VLC_ADD_LDFLAGS([direct3d],[-lgdi32])
4359 AC_MSG_CHECKING(for directX headers in ${with_directx})
4360 if test -f ${with_directx}/ddraw.h
4362 VLC_ADD_PLUGINS([vout_directx aout_directx])
4363 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4364 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4368 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4375 dnl Linux framebuffer module
4378 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4379 if test "${enable_fb}" != "no"
4381 AC_CHECK_HEADERS(linux/fb.h, [
4382 VLC_ADD_PLUGINS([fb])
4387 dnl Linux MGA module
4390 [ --enable-mga Linux kernel Matrox support (default disabled)],
4391 [ if test "${enable_mga}" = "yes"
4393 VLC_ADD_PLUGINS([mga])
4399 AC_ARG_ENABLE(svgalib,
4400 [ --enable-svgalib SVGAlib support (default disabled)])
4401 if test "${enable_svgalib}" = "yes"
4403 VLC_ADD_PLUGINS([svgalib])
4404 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4409 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4410 dnl TODO: support for static linking
4412 AC_ARG_ENABLE(directfb,
4413 [ --enable-directfb DirectFB support (default disabled)])
4414 AC_ARG_WITH(directfb,
4415 [ --with-directfb=PATH path to DirectFB headers and libraries])
4417 if test "${enable_directfb}" = "yes"; then
4418 have_directfb="false"
4419 CPPFLAGS_mydirectfb=
4421 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4422 dnl Trying the given location
4423 CPPFLAGS_save=${CPPFLAGS}
4424 LDFLAGS_save=${LDFLAGS}
4426 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4427 LDFLAGS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4428 LDFLAGS_new="${LDFLAGS_new} -L${with_directfb}/src/.libs/"
4430 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4431 LDFLAGS="${LD_FLAGS} ${LDFLAGS_new}"
4433 dnl FIXME: too obscure
4434 AC_CHECK_HEADER([directfb.h], [
4435 AC_CHECK_LIB([direct],[direct_initialize], [
4436 AC_CHECK_LIB([fusion], [fusion_enter], [
4437 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4438 ], have_directfb="false")
4439 ], have_directfb="false")
4440 ], have_directfb="false")
4443 CPPFLAGS="${CPPFLAGS_save}"
4444 LDFLAGS="${LDFLAGS_save}"
4446 if test "${have_directfb}" = "true"; then
4447 LDFLAGS_mydirectfb="${LDFLAGS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4448 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4451 dnl Look for directfb-config
4452 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4453 if test "${DIRECTFB_CONFIG}" != "no"; then
4454 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4455 LDFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4456 have_directfb="true"
4458 dnl Trying with pkg-config
4459 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4460 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4461 LDFLAGS_mydirectfb="${DIRECTFB_LIBS}"
4462 have_directfb="true"
4463 ], [have_directfb="false"])
4466 if test "${have_directfb}" = "true"; then
4467 VLC_ADD_PLUGINS([directfb])
4468 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4469 VLC_ADD_LDFLAGS([directfb],[${LDFLAGS_mydirectfb}])
4471 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4481 [ --enable-ggi GGI support (default disabled)])
4482 if test "${enable_ggi}" = "yes"
4484 VLC_ADD_PLUGINS([ggi])
4485 VLC_ADD_LDFLAGS([ggi],[-lggi])
4487 [ --with-ggi=PATH path to libggi],
4488 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4490 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4491 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4498 AC_ARG_ENABLE(glide,
4499 [ --enable-glide Glide (3dfx) support (default disabled)])
4500 if test "${enable_glide}" = "yes"
4502 CFLAGS_save="${CFLAGS}"
4504 [ --with-glide=PATH path to libglide],
4505 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4507 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4508 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4509 CFLAGS="$CFLAGS -I${with_glide}/include"
4511 CFLAGS="$CFLAGS -I/usr/include/glide"
4512 AC_CHECK_HEADER(glide.h,[
4513 VLC_ADD_PLUGINS([glide])
4514 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4515 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4517 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4519 CFLAGS="${CFLAGS_save}"
4526 [ --enable-aa aalib output (default disabled)])
4527 if test "${enable_aa}" = "yes"
4529 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4530 if test "${have_aa}" = "true"
4532 VLC_ADD_PLUGINS([aa])
4533 VLC_ADD_LDFLAGS([aa],[-laa])
4541 [ --enable-caca libcaca output (default disabled)])
4542 if test "${enable_caca}" = "yes"
4545 AC_ARG_WITH(caca-config-path,
4546 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4547 [ if test "${with_caca_config_path}" != "no"
4549 CACA_PATH="${with_caca_config_path}:${PATH}"
4551 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4552 if test "${CACA_CONFIG}" != "no"
4554 VLC_ADD_PLUGINS([caca])
4555 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4556 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4561 dnl win32 GDI plugin
4563 AC_ARG_ENABLE(wingdi,
4564 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4565 if test "${enable_wingdi}" != "no"; then
4566 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4567 VLC_ADD_PLUGINS([wingdi])
4568 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4570 if test "${SYS}" = "mingwce"; then
4571 VLC_ADD_PLUGINS([wingdi wingapi])
4579 AC_ARG_WITH(,[Audio plugins:])
4582 dnl OSS /dev/dsp module (enabled by default except on win32)
4585 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4587 if test "${enable_oss}" != "no" &&
4588 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4589 test "${enable_oss}" = "yes")
4591 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4592 VLC_ADD_PLUGINS([oss])
4593 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4601 [ --enable-esd Esound library support (default disabled)],
4602 [if test "${enable_esd}" = "yes"
4604 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4605 if test "${ESD_CONFIG}" != "no"
4607 VLC_ADD_PLUGINS([esd])
4608 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4609 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4614 dnl Portaudio module
4616 AC_ARG_ENABLE(portaudio,
4617 [ --enable-portaudio Portaudio library support (default disabled)],
4618 [if test "${enable_portaudio}" = "yes"
4620 VLC_ADD_PLUGINS([portaudio])
4621 VLC_ADD_CXXFLAGS([portaudio],[])
4622 if test "${SYS}" = "mingw32"; then
4623 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4625 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4630 dnl aRts module -- broken (freeze wxWidgets)
4633 [ --enable-arts aRts sound server (default disabled)],
4634 [if test "${enable_arts}" = "yes"
4636 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4637 if test "${ARTS_CONFIG}" != "no"
4639 VLC_ADD_PLUGINS([arts])
4640 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4641 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4649 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4650 if test "${enable_alsa}" != "no"
4652 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4653 if test "${have_alsa}" = "true"
4655 CFLAGS="${CFLAGS_save}"
4656 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4657 #define ALSA_PCM_NEW_SW_PARAMS_API
4658 #include <alsa/asoundlib.h>],
4659 [snd_pcm_hw_params_get_period_time(0,0,0);],
4660 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4661 VLC_ADD_PLUGINS([alsa])
4662 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4664 if test "${enable_alsa}" = "yes"; then
4665 AC_MSG_ERROR([Could not find ALSA development headers])
4671 dnl win32 waveOut plugin
4673 AC_ARG_ENABLE(waveout,
4674 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4675 if test "${enable_waveout}" != "no"; then
4676 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4677 VLC_ADD_PLUGINS([waveout])
4678 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4680 if test "${SYS}" = "mingwce"; then
4681 VLC_ADD_PLUGINS([waveout])
4686 dnl CoreAudio plugin
4688 AC_ARG_ENABLE(macosx-audio,
4689 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4690 if test "${enable_macosx-audio}" != "no" &&
4691 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4693 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4694 [ VLC_ADD_BUILTINS([auhal])
4695 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4696 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4700 dnl Roku HD1000 audio
4702 AC_ARG_ENABLE(hd1000a,
4703 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4704 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4705 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4706 test "${enable_hd1000a}" = "yes")
4709 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4710 VLC_ADD_PLUGINS([hd1000a])
4711 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4719 [ --enable-jack JACK audio I/O modules (default disabled)],,
4722 AS_IF([test "${enable_jack}" != "no"], [
4723 AC_CHECK_HEADERS(jack/jack.h, [
4724 VLC_ADD_PLUGINS([access_jack jack])
4725 VLC_ADD_LDFLAGS([access_jack jack],[-ljack])
4726 ],[AC_MSG_ERROR([cannot find JACK headers])])
4730 dnl CyberLink for C++ UPnP stack
4732 AC_ARG_ENABLE(cyberlink,
4733 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4734 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4735 AC_ARG_WITH(cyberlink-tree,
4736 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4739 dnl test for --with-cyberlink-tree
4741 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4743 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4744 AS_IF([test -z "${real_cyberlink_tree}"], [
4745 dnl The given directory can't be found
4747 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4749 CPPFLAGS_save="${CPPFLAGS}"
4750 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4751 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4752 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4753 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4754 VLC_ADD_PLUGINS([upnp_cc])
4756 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4758 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4759 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4760 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4761 dnl The mere fact that we have to make such an ugly check sucks
4762 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4765 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4766 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4767 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4768 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4769 using namespace CyberLink;
4771 class testclass : public SearchResponseListener, public MediaPlayer
4773 virtual void deviceSearchResponseReceived( SSDPPacket *)
4780 addSearchResponseListener (this);
4784 ],[testclass l;])],[LIBS_cclink="$l"])
4787 dnl should not happen - otherwise this needs fixing - hence FAILURE
4788 AS_IF([test "${LIBS_cclink}" = "no"],
4789 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4790 AC_MSG_RESULT([${LIBS_cclink}])
4791 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4794 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4796 CPPFLAGS="${CPPFLAGS_save}"
4802 dnl UPnP Plugin (Intel SDK)
4805 [ --enable-upnp Intel UPnP SDK (default auto)])
4807 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4808 AS_IF([test "x${enable_upnp}" != "xno"], [
4809 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4810 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4811 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4813 AS_IF([test "${has_upnp}" = "yes"], [
4814 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp -lixml])
4820 AS_IF([test "${has_upnp}" = "yes"], [
4821 VLC_ADD_PLUGINS([upnp_intel])
4826 dnl Interface plugins
4829 AC_ARG_WITH(,[Interface plugins:])
4831 dnl special case for BeOS
4832 if test "${SYS}" = "beos"
4834 VLC_ADD_BUILTINS([beos])
4840 AC_ARG_ENABLE(skins2,
4841 [ --enable-skins2 Skins2 interface module (default disabled)])
4842 if test "${enable_skins2}" = "yes" ||
4843 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4844 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4846 dnl test for the required libraries
4847 skins2_missing_lib="no"
4850 if test "${FREETYPE_CONFIG}" != "no"; then
4851 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4852 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4854 skins2_missing_lib="yes"
4855 if test "${enable_skins2}" = "yes"; then
4856 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4860 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4861 VLC_ADD_PLUGINS([skins2])
4862 ALIASES="${ALIASES} svlc"
4863 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4864 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4865 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4867 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4868 VLC_ADD_PLUGINS([skins2])
4869 ALIASES="${ALIASES} svlc"
4870 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4871 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4872 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4874 else if test "${skins2_missing_lib}" = "no"; then
4875 VLC_ADD_PLUGINS([skins2])
4876 ALIASES="${ALIASES} svlc"
4877 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4878 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4879 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4887 dnl AC_ARG_ENABLE(gtk,
4888 dnl [ --enable-gtk Gtk+ support (default enabled)])
4889 dnl if test "${enable_gtk}" != "no"
4891 dnl GTK_PATH="${PATH}"
4892 dnl AC_ARG_WITH(gtk-config-path,
4893 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4894 dnl [ if test "${with_gtk_config_path}" != "no"
4896 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4898 dnl # look for gtk-config
4899 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4900 dnl GTK_CONFIG=${GTK12_CONFIG}
4901 dnl if test "${GTK_CONFIG}" = "no"
4903 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4905 dnl if test "${GTK_CONFIG}" != "no"
4907 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4909 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.])
4911 dnl if test "${SYS}" != "mingw32"; then
4912 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4913 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4915 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4916 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4918 dnl # now look for the gtk.h header
4919 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4920 dnl ac_cv_gtk_headers=yes
4921 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4922 dnl ac_cv_gtk_headers=no
4923 dnl echo "Cannot find gtk development headers."
4925 dnl if test "${ac_cv_gtk_headers}" = "yes"
4927 dnl VLC_ADD_PLUGINS([gtk])
4928 dnl if test "${SYS}" != "mingw32"; then
4929 dnl NEED_GTK_MAIN=yes
4931 dnl ALIASES="${ALIASES} gvlc"
4933 dnl CPPFLAGS="${CPPFLAGS_save}"
4938 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4940 dnl AC_ARG_ENABLE(gtk2,
4941 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4942 dnl if test "${enable_gtk2}" = "yes"
4944 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4945 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4946 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4947 dnl VLC_ADD_PLUGINS([gtk2])
4948 dnl if test "${SYS}" != "mingw32"; then
4949 dnl NEED_GTK2_MAIN=yes
4954 dnl PDA Gtk+2 module
4957 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4958 if test "${enable_pda}" = "yes"
4960 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4961 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4962 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4963 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4964 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4965 VLC_ADD_PLUGINS([pda])
4966 if test "${SYS}" != "mingw32"; then
4972 dnl dnl Gnome module
4974 dnl AC_ARG_ENABLE(gnome,
4975 dnl [ --enable-gnome Gnome interface support (default disabled)],
4976 dnl [if test "${enable_gnome}" = "yes"; then
4977 dnl # look for gnome-config
4978 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4979 dnl if test -x ${GNOME_CONFIG}
4981 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4982 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4984 dnl # now look for the gnome.h header
4985 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4986 dnl AC_CHECK_HEADERS(gnome.h, [
4987 dnl VLC_ADD_PLUGINS([gnome])
4988 dnl NEED_GTK_MAIN=yes
4989 dnl NEED_GNOME_MAIN=yes
4990 dnl ALIASES="${ALIASES} gnome-vlc"
4991 dnl dnl We need this because of some moronic gnomesupport.h flavours
4992 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4993 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4994 dnl AC_MSG_RESULT(yes)
4995 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4996 dnl Define if <gnome.h> defines strndup.)],[
4997 dnl AC_MSG_RESULT(no)])
4999 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
5000 dnl developement tools or remove the --enable-gnome option])
5002 dnl CPPFLAGS="${CPPFLAGS_save}"
5006 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
5008 dnl AC_ARG_ENABLE(gnome2,
5009 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
5010 dnl if test "${enable_gnome2}" = "yes"
5012 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
5013 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
5014 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
5015 dnl VLC_ADD_PLUGINS([gnome2])
5016 dnl if test "${SYS}" != "mingw32"; then
5017 dnl NEED_GNOME2_MAIN=yes
5022 dnl wxWidgets module
5024 AC_ARG_ENABLE(wxwidgets,
5025 [ --enable-wxwidgets wxWidgets support (default disabled)])
5027 if test "${enable_wxwidgets}" = "yes"
5029 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
5030 WXWIDGETS_PATH="${PATH}"
5031 AC_ARG_WITH(wx-config-path,
5032 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
5033 [ if test "${with_wx_config_path}" != "no"
5035 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
5037 WXWIDGETS_NAME="wx-config"
5038 AC_ARG_WITH(wx-config,
5039 [ --with-wx-config=NAME wx-config name (default is wx-config)],
5040 [ if test "${with_wx_config}" != "no"
5042 WXWIDGETS_NAME="${with_wx_config}"
5044 # look for wx-config
5045 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5046 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5048 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5050 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5054 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5055 # into a warning. However better would be to fix playlist.cpp
5056 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5057 [ac_cv_cxx_fpermissive],
5058 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5059 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5060 ac_cv_cxx_fpermissive=no)])
5061 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5062 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5064 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
5065 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5066 # check if we must link against gtk2 libs
5067 # if __WXGTK20__ && __WXGTK__ are defined
5068 # for modules/gui/wxwidgets/video.cpp
5069 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5072 #error ok, we need to link against gtk2
5074 ])],[WXGTK=no],[WXGTK=yes])
5075 if test "$WXGTK" = "yes"; then
5076 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LDFLAGS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5078 if ${WX_CONFIG} --unicode
5080 # wxwidgets should provide the following flags but does not
5081 # the following is required to compile for win32
5082 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5084 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5086 if test "$have_libcdio" = "yes"
5088 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
5089 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5091 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5094 if test "$have_libvcdinfo" = "yes"
5096 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
5097 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5099 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5102 # now look for the wxprec.h header
5103 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5104 ac_cv_wx_headers=yes
5105 AC_CHECK_HEADERS(wx/wxprec.h, , [
5107 echo "Cannot find wxWidgets development headers."
5109 if test "${ac_cv_wx_headers}" = "yes"
5111 VLC_ADD_PLUGINS([wxwidgets])
5112 ALIASES="${ALIASES} wxvlc"
5114 CPPFLAGS="${CPPFLAGS_save}"
5117 dnl WxWidgets plugin will yield incorrect code without this
5118 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5126 [ --enable-qt4 QT 4 support (default enabled) ])
5127 AS_IF([test "${enable_qt4}" != "no" &&
5128 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5129 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5130 [ VLC_ADD_PLUGINS([qt4])
5131 ALIASES="${ALIASES} qvlc"
5133 VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
5134 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
5135 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5136 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5137 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5139 AS_IF([test "${enable_qt4}" = "yes"],[
5140 AC_MSG_ERROR(QT4 library not found)
5142 AC_MSG_WARN(QT4 library not found)
5146 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5149 dnl WinCE GUI module
5151 if test "${SYS}" = "mingwce"; then
5152 VLC_ADD_BUILTINS([wince])
5153 VLC_ADD_CXXFLAGS([wince],[])
5154 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
5156 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5157 elif test "${SYS}" = "mingw32"; then
5158 VLC_ADD_CXXFLAGS([wince],[])
5159 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5161 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5165 dnl Simple test for skins2 dependency
5167 if test "${enable_skins2}" != "no"
5169 if test "${WX_CONFIG}" = "no"
5171 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.])
5178 dnl AC_ARG_ENABLE(qt,
5179 dnl [ --enable-qt Qt interface support (default disabled)],
5180 dnl [if test "${enable_qt}" = "yes"; then
5181 dnl VLC_ADD_PLUGINS([qt])
5182 dnl ALIASES="${ALIASES} qvlc"
5183 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
5184 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5185 dnl AC_CHECK_LIB(qt-mt,main,[
5186 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
5188 dnl AC_CHECK_LIB(qt,main,[
5189 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
5192 dnl LDFLAGS="${LDFLAGS_save}"
5193 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5194 dnl if test -x ${QTDIR}/bin/moc
5196 dnl MOC=${QTDIR}/bin/moc
5205 dnl AC_ARG_ENABLE(kde,
5206 dnl [ --enable-kde KDE interface support (default disabled)],
5207 dnl [if test "${enable_kde}" = "yes"; then
5208 dnl VLC_ADD_PLUGINS([kde])
5209 dnl ALIASES="${ALIASES} kvlc"
5210 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
5211 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5212 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5213 dnl AC_CHECK_LIB(kfile,main,[
5214 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
5216 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5217 dnl AC_CHECK_LIB(kdeui,main,[
5218 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
5220 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5221 dnl AC_CHECK_LIB(kio,main,[
5222 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
5224 dnl LDFLAGS="${LDFLAGS_save}"
5225 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5226 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5227 dnl if test -x ${QTDIR}/bin/moc
5229 dnl MOC=${QTDIR}/bin/moc
5236 dnl Opie QT embedded module
5239 [ --enable-opie Qt embedded interface support (default disabled)],
5240 [if test "${enable_opie}" = "yes"; then
5242 [ --with-qte=PATH Qt Embedded headers and libraries])
5243 if test "${with_qte}" != "no" -a -n "${with_qte}"
5245 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5246 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])
5248 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5249 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5251 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5252 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5253 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5255 CPPFLAGS="${CPPFLAGS_save}"
5257 VLC_ADD_PLUGINS([opie])
5259 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
5260 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5261 if test "${with_qte}" != "no" -a -n "${with_qte}"
5263 MOC=${with_qte}/bin/moc
5265 MOC=${QTDIR}/bin/moc
5273 CFLAGS="$CFLAGS -x objective-c"
5274 AC_ARG_ENABLE(macosx,
5275 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
5276 [if test "${enable_macosx}" = "yes"
5278 VLC_ADD_PLUGINS([access_eyetv])
5279 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5280 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5281 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
5282 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
5283 VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] )
5285 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
5286 [VLC_ADD_PLUGINS([access_eyetv])
5287 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5288 VLC_ADD_BUILTINS([macosx])
5289 VLC_ADD_BUILTINS([minimal_macosx])
5290 VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
5291 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
5292 VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
5293 VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions])
5301 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5302 if test "${enable_qnx}" != "no"
5304 AC_CHECK_HEADERS(Ph.h, [
5305 VLC_ADD_PLUGINS([qnx])
5306 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
5313 AC_ARG_ENABLE(ncurses,
5314 [ --disable-ncurses ncurses interface support (default enabled)],
5315 [if test "${enable_ncurses}" != "no"; then
5316 AC_CHECK_HEADERS(ncursesw/curses.h,
5317 [AC_CHECK_LIB( ncursesw, mvprintw,
5318 [VLC_ADD_PLUGINS([ncurses])
5319 VLC_ADD_LDFLAGS([ncurses],[-lncursesw])])
5321 [AC_CHECK_HEADER(curses.h,
5322 [AC_CHECK_LIB(ncurses, mvprintw,
5323 [VLC_ADD_PLUGINS([ncurses])
5324 VLC_ADD_LDFLAGS([ncurses],[-lncurses])]
5334 [ --enable-xosd xosd interface support (default disabled)])
5335 if test "${enable_xosd}" = "yes"
5337 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5338 AC_CHECK_LIB(xosd,xosd_set_offset,
5339 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5340 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5341 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5342 AC_TRY_COMPILE([#include <xosd.h>],
5343 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5344 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5345 if test "${have_xosd}" = "true"
5347 VLC_ADD_PLUGINS([xosd])
5348 VLC_ADD_LDFLAGS([xosd],[-lxosd])
5353 dnl Visualisation plugin
5355 AC_ARG_ENABLE(visual,
5356 [ --enable-visual visualisation plugin (default enabled)])
5357 if test "${enable_visual}" != "no"
5359 VLC_ADD_PLUGINS([visual])
5363 dnl OpenGL visualisation plugin
5365 AC_ARG_ENABLE(galaktos,
5366 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5367 if test "${enable_galaktos}" = "yes"
5369 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5370 VLC_ADD_PLUGINS([galaktos])
5371 if test "${SYS}" != "mingw32"; then
5372 VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
5374 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
5380 dnl goom visualization plugin
5383 [ --enable-goom goom visualisation plugin (default disabled)])
5384 if test "${enable_goom}" = "yes"
5386 AC_ARG_WITH(goom-tree,
5387 [ --with-goom-tree=PATH goom tree for static linking (required)])
5390 dnl test for --with-goom-tree
5392 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5393 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5394 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5395 if test -z "${real_goom_tree}"; then
5396 dnl The given directory can't be found
5398 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5400 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5401 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5402 VLC_ADD_BUILTINS([goom])
5403 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5404 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5406 dnl The given libgoom2 wasn't built, try to look for the old goom
5408 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5409 if test -f "${real_goom_tree}/libgoom.a"; then
5410 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5411 VLC_ADD_BUILTINS([goom])
5412 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
5413 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5415 dnl The given libgoom wasn't built
5417 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5421 AC_CHECK_HEADERS(goom/goom.h, [
5422 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
5423 AC_CHECK_LIB(goom2, goom_init, [
5424 VLC_ADD_PLUGINS([goom])
5425 VLC_ADD_LDFLAGS([goom],[-lgoom2])
5427 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5429 LDFLAGS="${LDFLAGS_save}"
5435 dnl Bonjour services discovery
5437 AC_ARG_ENABLE(bonjour,
5438 [ --enable-bonjour Bonjour services discovery (default enabled)])
5439 if test "${enable_bonjour}" != "no"
5441 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5442 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5443 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5444 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5445 VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
5446 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5447 VLC_ADD_PLUGINS([bonjour]) ],
5448 [AC_MSG_WARN(avahi-client library not found)])
5455 [ --enable-lirc lirc support (default disabled)])
5456 if test "${enable_lirc}" = "yes"
5458 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5459 if test "${have_lirc}" = "true"
5461 VLC_ADD_PLUGINS([lirc])
5462 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
5467 AC_ARG_WITH(,[Misc options:])
5472 AC_ARG_ENABLE(gnutls,
5473 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5475 AS_IF([test "${enable_gnutls}" != "no"], [
5476 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2.9], [have_gnutls="yes"], [have_gnutls="no"])
5478 AS_IF([test "${have_gnutls}" = "yes"], [
5479 VLC_ADD_PLUGINS([gnutls])
5480 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5481 AS_IF([test "${SYS}" = "mingw32"], [
5482 dnl pkg-config --libs gnutls omits these
5483 VLC_ADD_LDFLAGS([gnutls], [-lz])
5484 VLC_ADD_LDFLAGS([gnutls], [${LTLIBINTL}])
5486 AC_CHECK_LIB([gcrypt], [gcry_control], [
5487 VLC_ADD_LDFLAGS([gnutls], [-lgcrypt -lgpg-error])
5488 ], [], [-lgpg-error])
5489 VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
5491 AS_IF([test "${enable_gnutls}" = "yes"], [
5492 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5500 AC_ARG_ENABLE(libgcrypt,
5501 [ --enable-libgcrypt libgcrypts support (default enabled)])
5502 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
5504 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5505 dnl it and looks for libgcrypt headers in the wrong place.
5506 if test "${host_cpu}" = "${build_cpu}"
5508 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5510 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5513 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5517 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5519 dnl We give the user the opportunity to specify
5520 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5523 [ --with-words=endianness set endianness (big or little)])
5524 case "${with_words}" in
5526 ac_cv_c_bigendian=yes
5529 ac_cv_c_bigendian=no
5532 dnl Try to guess endianness by matching patterns on a compiled
5533 dnl binary, by looking for an ASCII or EBCDIC string
5534 AC_CACHE_CHECK([whether the byte order is big-endian],
5535 [ac_cv_c_bigendian],
5536 [ac_cv_c_bigendian="unknown"
5537 [cat >conftest.c <<EOF
5538 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5539 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5540 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5541 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5542 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5543 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5544 int main(void) { _a(); _e(); return 0; }
5547 if test -f conftest.c
5549 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5550 && test -f conftest.o
5552 if test "`strings conftest.o | grep BIGenDianSyS`"
5554 ac_cv_c_bigendian="yes"
5556 if test "`strings conftest.o | grep LiTTleEnDian`"
5558 ac_cv_c_bigendian="no"
5563 if test "${ac_cv_c_bigendian}" = "unknown"
5565 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5569 dnl Now we know what to use for endianness, just put it in the header
5570 if test "${ac_cv_c_bigendian}" = "yes"
5572 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5576 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5579 AC_ARG_ENABLE(loader,
5580 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5581 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5582 AS_IF([test "${enable_loader}" = "yes"],
5583 [ VLC_ADD_PLUGINS([dmo])
5584 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5585 VLC_ADD_LDFLAGS([dmo],[../../../libs/loader/libloader.la -lpthread])
5586 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5587 VLC_ADD_LDFLAGS([quicktime],[../../libs/loader/libloader.la -lpthread])
5588 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5589 VLC_ADD_LDFLAGS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5593 dnl Microsoft ActiveX support
5596 AC_ARG_ENABLE(activex,
5597 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5598 AC_ARG_WITH(wine-sdk-path,
5599 [ --with-wine-sdk-path=PATH path to wine sdk])
5600 if test "${enable_activex}" != "no"
5602 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5604 AC_CHECK_PROGS(MIDL, [midl], no)
5605 if test "${with_wine_sdk_path}" != ""
5607 WINE_SDK_PATH=${with_wine_sdk_path}
5608 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5613 AC_CHECK_HEADERS(ole2.h,
5614 [AC_CHECK_HEADERS(olectl.h,
5615 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5616 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5617 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5618 AC_CHECK_HEADERS(objsafe.h,
5619 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5627 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5629 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5631 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5636 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5637 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5638 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5639 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5640 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5646 AC_ARG_ENABLE(mozilla,
5647 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5648 AC_ARG_WITH(mozilla-sdk-path,
5649 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5651 if test "${enable_mozilla}" = "yes"
5653 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5654 need_xpcom_libs=false
5656 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5658 dnl New firefox-1.5 SDK api
5659 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5661 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5664 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5667 PKG_CHECK_MODULES([NSPR], [nspr],
5670 AC_MSG_ERROR([Please install the nspr development tools.])
5676 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5677 MOZILLA_REQUIRED_HEADERS=1
5678 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5679 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5680 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5685 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5686 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5688 MOZILLA_REQUIRED_HEADERS=
5690 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5691 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5692 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5693 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5694 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5696 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5698 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5699 VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5701 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5702 VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}])
5703 VLC_ADD_PLUGINS([mozilla])
5705 CPPFLAGS="${CPPFLAGS_save}"
5708 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5709 if test "${MOZILLA_CONFIG}" = "no"
5711 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5712 if test "${SEAMONKEY_CONFIG}" = "no"
5714 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5715 if test "${XULRUNNER_CONFIG}" = "no"
5717 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5720 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5723 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5728 if test ! -z "${MOZILLA_CONFIG}"
5730 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5731 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5732 AC_CHECK_LIB(Xt,XtStrings,
5734 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5735 VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5738 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5740 LDFLAGS="${LDFLAGS_save}"
5744 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5745 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5746 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5747 if ${need_xpcom_libs}; then
5748 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5750 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5752 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5753 MOZILLA_REQUIRED_HEADERS=1
5754 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5755 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5756 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5761 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5763 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5765 MOZILLA_REQUIRED_HEADERS=
5766 CPPFLAGS="${CPPFLAGS_save}"
5767 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5769 dnl End of moz_sdk = ""
5771 dnl special case for mingw32
5772 if test "${SYS}" = "mingw32"
5774 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5775 dnl latest gecko sdk does not have an xpcom directory
5776 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5777 mozilla_sdk_xpcom="/xpcom"
5781 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5782 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5783 MOZILLA_REQUIRED_HEADERS=1
5784 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5785 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5786 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5791 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5793 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5795 MOZILLA_REQUIRED_HEADERS=
5797 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5798 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])
5799 if ${need_xpcom_libs}; then
5800 VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5801 if test "${SYS}" = "mingw32"; then
5802 dnl latest gecko sdk does not have embedstring
5803 if test -d "${real_mozilla_sdk}/embedstring/bin"
5805 VLC_ADD_LDFLAGS([mozilla],[-lembedstring])
5809 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5811 if test -n "${CYGPATH}"; then
5812 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5814 CPPFLAGS="${CPPFLAGS_save}"
5818 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5820 dnl Tests for Osso and Xsp
5821 if test "${enable_x11}" != "no" &&
5822 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5823 test "${enable_x11}" = "yes"); then
5824 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5825 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5826 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5827 VLC_ADD_LDFLAGS([x11],[-losso])
5830 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5831 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5832 VLC_ADD_LDFLAGS([x11],[-lXsp])
5837 dnl Mediacontrol Python bindings
5839 AC_ARG_ENABLE(python-bindings,
5840 [ --enable-python-bindings Enable Python bindings (default disabled)])
5841 dnl TODO: look for python dev headers
5842 AS_IF([test "${enable_python_bindings}" = "yes"],
5843 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5846 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5851 AC_ARG_ENABLE(java-bindings,
5852 [ --enable-java-bindings Enable Java bindings (default disabled)])
5853 if test "${enable_java_bindings}" = "yes"
5855 AS_IF([test "x${JAVA_HOME}" == "x"],
5856 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5859 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5860 if test "${JAVAC}" == "javac${EXEEXT}"
5862 JAVAC="javac${EXEEXT} -cp ./ "
5865 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5870 AC_ARG_ENABLE(testsuite,
5871 [ --enable-testsuite build test modules (default disabled)])
5872 if test "${enable_testsuite}" = "yes"
5874 TESTS="test1 test2 test3 test4"
5876 dnl we define those so that bootstrap sets the right linker
5877 VLC_ADD_CXXFLAGS([test2],[])
5878 VLC_ADD_OBJCFLAGS([test3],[])
5879 dnl this one is needed until automake knows what to do
5880 VLC_ADD_LDFLAGS([test3],[-lobjc])
5882 VLC_ADD_PLUGINS([${TESTS}])
5886 dnl Microsoft Layer for Unicode for WIN9x/ME
5888 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5890 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5891 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5898 if test "${NEED_GTK_MAIN}" != "no"
5900 VLC_ADD_PLUGINS([gtk_main])
5901 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5902 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5905 if test "${NEED_GNOME_MAIN}" != "no"
5907 VLC_ADD_PLUGINS([gnome_main])
5908 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5909 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5912 if test "${NEED_GTK2_MAIN}" != "no"
5914 VLC_ADD_PLUGINS([gtk2_main])
5915 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5916 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5917 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5918 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5921 if test "${NEED_GNOME2_MAIN}" != "no"
5923 VLC_ADD_PLUGINS([gnome2_main])
5924 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5925 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5931 if test "${NEED_QTE_MAIN}" != "no"
5933 VLC_ADD_PLUGINS([qte_main])
5934 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5935 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5936 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5941 dnl Plugin and builtin checks
5945 dnl Automagically disable plugins if there is no system support for
5946 dnl dynamically loadable files (.so, .dll, .dylib).
5947 dnl don't forget vlc-win32 still can load .dll as plugins
5948 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5949 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5953 AS_IF([test "${enable_shared}" = "no"], [
5957 AS_IF([test "${plugin_support}" != "no"], [
5958 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5961 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
5963 dnl Temporary(?) hack for plugins/builtins transition
5964 VLC_ADD_PLUGINS([${BUILTINS}])
5968 dnl Pic and shared libvlc stuff
5970 AS_IF([test "${SYS}" = "mingw32"], [
5971 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5975 dnl Stuff used by the program
5977 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5978 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
5979 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5980 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5981 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5982 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5983 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5984 AC_SUBST(VERSION_MAJOR)
5985 AC_SUBST(VERSION_MINOR)
5986 AC_SUBST(VERSION_REVISION)
5987 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5988 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5989 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5990 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5992 dnl New definitions with value matching 0.9.0 release
5993 module_symbol="0_9_0b"
5994 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5995 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5996 VLC_ENTRY="vlc_entry__${module_symbol}"
6000 dnl Handle substvars that use $(top_srcdir)
6002 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
6003 AC_SUBST(VLC_CONFIG)
6004 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
6012 dnl Create the vlc-config script
6014 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
6017 dnl Configuration is finished
6027 AC_SUBST(MOZILLA_SDK_PATH)
6028 AC_SUBST(WINE_SDK_PATH)
6030 AC_SUBST(AM_CPPFLAGS)
6031 AC_SUBST(ALL_LINGUAS)
6032 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
6033 AC_SUBST(FILE_LIBVLC_DLL)
6035 dnl Create vlc-config.in
6036 VLC_OUTPUT_VLC_CONFIG_IN
6044 bindings/java/Makefile
6045 bindings/java/src/Makefile
6046 bindings/python/Makefile
6050 libs/loader/Makefile
6061 modules/access/Makefile
6062 modules/access/bda/Makefile
6063 modules/access/dshow/Makefile
6064 modules/access/dvb/Makefile
6065 modules/access/mms/Makefile
6066 modules/access/cdda/Makefile
6067 modules/access/rtsp/Makefile
6068 modules/access/vcd/Makefile
6069 modules/access/vcdx/Makefile
6070 modules/access/screen/Makefile
6071 modules/access_filter/Makefile
6072 modules/access_output/Makefile
6073 modules/audio_filter/Makefile
6074 modules/audio_filter/channel_mixer/Makefile
6075 modules/audio_filter/converter/Makefile
6076 modules/audio_filter/resampler/Makefile
6077 modules/audio_filter/spatializer/Makefile
6078 modules/audio_mixer/Makefile
6079 modules/audio_output/Makefile
6080 modules/codec/Makefile
6081 modules/codec/cmml/Makefile
6082 modules/codec/dmo/Makefile
6083 modules/codec/ffmpeg/Makefile
6084 modules/codec/subtitles/Makefile
6085 modules/codec/spudec/Makefile
6086 modules/codec/xvmc/Makefile
6087 modules/control/Makefile
6088 modules/control/http/Makefile
6089 modules/demux/Makefile
6090 modules/demux/asf/Makefile
6091 modules/demux/avi/Makefile
6092 modules/demux/mp4/Makefile
6093 modules/demux/mpeg/Makefile
6094 modules/demux/playlist/Makefile
6095 modules/gui/Makefile
6096 modules/gui/beos/Makefile
6097 modules/gui/pda/Makefile
6098 modules/gui/macosx/Makefile
6099 modules/gui/minimal_macosx/Makefile
6100 modules/gui/qnx/Makefile
6101 modules/gui/qt4/Makefile
6102 modules/gui/skins2/Makefile
6103 modules/gui/wxwidgets/Makefile
6104 modules/gui/wince/Makefile
6105 modules/meta_engine/Makefile
6106 modules/misc/Makefile
6107 modules/misc/dummy/Makefile
6108 modules/misc/lua/Makefile
6109 modules/misc/memcpy/Makefile
6110 modules/misc/notify/Makefile
6111 modules/misc/testsuite/Makefile
6112 modules/misc/playlist/Makefile
6113 modules/misc/xml/Makefile
6114 modules/misc/probe/Makefile
6115 modules/mux/Makefile
6116 modules/mux/mpeg/Makefile
6117 modules/mux/rtp/Makefile
6118 modules/packetizer/Makefile
6119 modules/services_discovery/Makefile
6120 modules/stream_out/Makefile
6121 modules/stream_out/transrate/Makefile
6122 modules/video_chroma/Makefile
6123 modules/video_filter/Makefile
6124 modules/video_output/Makefile
6125 modules/video_output/msw/Makefile
6126 modules/video_output/qte/Makefile
6127 modules/video_output/x11/Makefile
6128 modules/visualization/Makefile
6129 modules/visualization/visual/Makefile
6130 modules/visualization/galaktos/Makefile
6133 dnl Generate makefiles
6136 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6137 # not provided with the source
6138 ${SHELL} ./config.status --file=vlc-config
6139 chmod 0755 vlc-config
6141 dnl echo "Enabled builtin modules :"
6142 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6144 dnl echo "Enabled plugin modules :"
6145 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6147 dnl Shortcut to nice compile message
6149 echo '#! /bin/sh' >compile
6151 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6152 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6157 --------------------
6158 vlc version : ${VERSION}
6160 architecture : ${ARCH}
6162 test "${enable_debug}" = "yes" && printf "debug "
6163 test "${enable_cprof}" = "yes" && printf "cprof "
6164 test "${enable_gprof}" = "yes" && printf "gprof "
6165 test "${enable_optimizations}" = "yes" && printf "optim "
6166 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6168 vlc aliases :${ALIASES}
6169 plugins/bindings :${PLUGINS_BINDINGS}
6171 You can check which modules have been enabled
6172 with \`./vlc-config --list plugin'.
6173 You can tune the compiler flags in vlc-config.
6174 To build vlc and its plugins, type \`./compile' or \`make'.