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 activex mozilla],[-mwindows])
246 VLC_ADD_LDFLAGS([cdda vcdx cddax sdl_image],[-lwinmm])
247 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])
249 if test "${SYS}" = "mingwce"; then
250 # add ws2 for closesocket, select, recv
251 VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
252 VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup])
253 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
258 VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
262 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
263 # Perhaps it is useful other places as well?
264 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
271 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
272 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
273 VLC_ADD_CXXFLAGS([beos],[])
274 VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe])
275 VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
276 VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl])
277 VLC_ADD_LDFLAGS([access_file],[-lpoll])
278 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
280 if test -f /boot/beos/system/lib/libbind.so; then
281 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
283 VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
286 dnl Ugly check for Zeta
287 if test -f /boot/beos/system/lib/libzeta.so; then
288 VLC_ADD_LDFLAGS([beos],[-lzeta])
295 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
296 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
297 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
298 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
301 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
302 dnl for program foo on win32
304 case "${build_os}" in
306 ac_executable_extensions=".exe"
314 dnl It's very bad, but our former custom system was worst
318 dnl override platform specific check for dependent libraries
319 dnl otherwise libtool linking of shared libraries will
320 dnl fail on anything other than pass_all.
321 AC_CACHE_VAL(lt_cv_deplibs_check_method,
322 [lt_cv_deplibs_check_method=pass_all])
327 m4_undefine([AC_PROG_F77])
328 m4_defun([AC_PROG_F77],[])
331 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
332 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
334 lt_cv_deplibs_check_method=pass_all
338 dnl Check for Mac OS X SDK settings
340 AC_ARG_WITH(macosx-sdk,
341 [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
342 if test "${with_macosx_sdk}" != "no" ; then
343 CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
344 CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
345 OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
346 LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
347 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
348 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
349 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
350 MACOSX_DEPLOYMENT_TARGET="10.4"
351 export MACOSX_DEPLOYMENT_TARGET
357 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"
358 AM_GNU_GETTEXT_VERSION(0.16.1)
360 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
361 AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
362 AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
364 VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}])
370 AS_IF([test "$am_cv_func_iconv" != "yes"],
371 [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
372 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
373 VLC_ADD_LDFLAGS([libvlc],[${LTLIBICONV}])
375 dnl Check for the need to include the mingwex lib for mingw32
376 if test "${SYS}" = "mingw32"
378 AC_CHECK_LIB(mingwex,opendir,
379 AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]),
380 [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])])
384 dnl Check for fnative-struct or mms-bitfields support for mingw32
385 if test "${SYS}" = "mingw32"
387 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
388 [ac_cv_c_mms_bitfields],
389 [CFLAGS="${CFLAGS_save} -mms-bitfields"
390 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
391 if test "${ac_cv_c_mms_bitfields}" != "no"; then
392 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
393 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
395 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
396 [ac_cv_c_fnative_struct],
397 [CFLAGS="${CFLAGS_save} -fnative-struct"
398 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
399 if test "${ac_cv_c_fnative_struct}" != "no"; then
400 CFLAGS_save="${CFLAGS_save} -fnative-struct";
401 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
405 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
408 dnl Check for fvtable-thunks support for mingw32
409 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
412 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
413 [ac_cv_cxx_fvtable_thunks],
414 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
415 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
416 ac_cv_cxx_fvtable_thunks=no)])
417 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
418 CXXFLAGS_mingw32_special="-fvtable-thunks"
421 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
425 dnl Plugin compilation stuff
432 dnl The -DSYS_FOO flag
433 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
435 dnl Check for system libs needed
438 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)
440 dnl Check for usual libc functions
441 AC_CHECK_FUNCS(strdup strndup strnlen atof)
442 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
443 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
444 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
446 dnl Check for setlocal and langinfo
447 AC_CHECK_FUNCS(setlocale)
448 AC_CHECK_HEADERS(langinfo.h)
449 AC_CHECK_FUNCS(nl_langinfo)
451 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
452 [AC_TRY_LINK([#include <langinfo.h>],
453 [char* cs = nl_langinfo(CODESET);],
454 ac_cv_langinfo_codeset=yes,
455 ac_cv_langinfo_codeset=no)
457 if test ${ac_cv_langinfo_codeset} = yes; then
458 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
459 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
462 AC_CHECK_FUNCS(connect,,[
463 AC_CHECK_LIB(socket,connect,[
464 VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket)
465 LIBS_socket="-lsocket"
469 AC_CHECK_FUNCS(send,,[
470 AC_CHECK_LIB(socket,send,[
471 VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
475 AC_CHECK_FUNCS(gethostbyname,,[
476 AC_CHECK_LIB(nsl,gethostbyname,[
477 VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl])
479 AC_CHECK_LIB(bind,gethostbyname,[
480 VLC_ADD_LDFLAGS([access_mms],[-lbind])
485 dnl Check for socklen_t
486 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
488 [#include <sys/types.h>
489 #include <sys/socket.h>],
490 [socklen_t len = 42; return len;],
491 ac_cv_type_socklen_t=yes,
492 ac_cv_type_socklen_t=no)])
493 if test "${ac_cv_type_socklen_t}" != "no"; then
494 AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
497 dnl Check for struct sockaddr_storage
498 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
499 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
500 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
502 [#include <sys/types.h>
503 #if defined( UNDER_CE )
504 # include <winsock.h>
505 #elif defined( WIN32 )
506 # include <winsock2.h>
508 # include <sys/socket.h>
509 #endif], [struct sockaddr_storage addr;],
510 ac_cv_struct_sockaddr_storage=yes,
511 ac_cv_struct_sockaddr_storage=no)])
512 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
513 AC_DEFINE(sockaddr_storage, sockaddr)
514 AC_DEFINE(ss_family, sa_family)
517 dnl getaddrinfo, getnameinfo and gai_strerror check
518 dnl -lnsl and -lsocket are needed on Solaris;
519 dnl we purposedly make the test fail on Windows
521 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
522 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
524 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
527 AC_CHECK_FUNCS([getnameinfo gai_strerror])
530 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
531 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
532 [#include <sys/types.h>
533 #if defined( WIN32 ) || defined( UNDER_CE )
534 # if defined(UNDER_CE) && defined(sockaddr_storage)
535 # undef sockaddr_storage
537 # include <winsock2.h>
538 # include <ws2tcpip.h>
543 dnl Check for va_copy
544 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
546 [#include <stdarg.h>],
547 [va_list ap1, ap2; va_copy(ap1,ap2);],
548 [ac_cv_c_va_copy="yes"],
549 [ac_cv_c_va_copy="no"]))
550 if test "${ac_cv_c_va_copy}" = "yes"; then
551 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
553 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
555 [#include <stdarg.h>],
556 [va_list ap1, ap2; __va_copy(ap1,ap2);],
557 [ac_cv_c___va_copy="yes"],
558 [ac_cv_c___va_copy="no"]))
559 if test "${ac_cv_c___va_copy}" = "yes"; then
560 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
563 AC_CHECK_FUNCS(inet_aton,,[
564 AC_CHECK_LIB(resolv,inet_aton,[
565 VLC_ADD_LDFLAGS([libvlc],[-lresolv])
569 dnl Check for getopt (always use builtin one on win32)
570 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
574 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
575 [ # FreeBSD has a gnugetopt library for this:
576 AC_CHECK_LIB([gnugetopt],[getopt_long],
577 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
578 VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])],
581 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
583 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
586 VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
589 VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm])
591 AC_CHECK_LIB(m,sqrt,[
592 VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
594 AC_CHECK_LIB(m,ceil,[
595 VLC_ADD_LDFLAGS([mosaic],[-lm])
598 VLC_ADD_LDFLAGS([gaussianblur],[-lm])
600 AC_CHECK_LIB(mx,sqrtf,[
601 VLC_ADD_LDFLAGS([x264],[-lmx])
603 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
605 dnl Check for dynamic plugins
606 ac_cv_have_plugins=no
609 AC_CHECK_HEADERS(mach-o/dyld.h,
610 [AC_CHECK_FUNCS(NSLinkModule,
611 [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
612 ac_cv_have_plugins=yes])])
615 if test "${ac_cv_have_plugins}" = "no"; then
616 AC_CHECK_HEADERS(dl.h)
617 ac_cv_my_have_shl_load=no
618 AC_CHECK_FUNC(shl_load,
619 [ac_cv_my_have_shl_load=yes,
620 AC_CHECK_LIB(dld, shl_load,
621 [ac_cv_my_have_shl_load=yes
622 VLC_ADD_LDFLAGS([libvlc],[-ldld])])])
623 if test "${ac_cv_my_have_shl_load}" = "yes"; then
624 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
625 ac_cv_have_plugins=yes
630 if test "${ac_cv_have_plugins}" = "no"; then
631 AC_CHECK_LIB(dld, dld_link,
632 [VLC_ADD_LDFLAGS([libvlc],[-ldld])
633 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
634 ac_cv_have_plugins=yes])
638 if test "${ac_cv_have_plugins}" = "no"; then
639 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
640 AC_CHECK_LIB(kernel32, main,
641 [VLC_ADD_LDFLAGS([libvlc],[-lkernel32])
642 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
643 ac_cv_have_plugins=yes])
648 if test "${ac_cv_have_plugins}" = "no"; then
649 if test "${SYS}" = "mingwce"; then
650 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
651 ac_cv_have_plugins=yes
656 if test "${ac_cv_have_plugins}" = "no"; then
657 AC_CHECK_HEADERS(image.h)
658 AC_CHECK_FUNCS(load_add_on,
659 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
660 ac_cv_have_plugins=yes])
663 # Only test for dlopen() if the others didn't work
664 if test "${ac_cv_have_plugins}" = "no"; then
665 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
666 ac_cv_my_have_dlopen=no
667 AC_CHECK_FUNC(dlopen,
668 ac_cv_my_have_dlopen=yes,
669 AC_CHECK_LIB(dl, dlopen,
670 ac_cv_my_have_dlopen=yes
671 VLC_ADD_LDFLAGS([libvlc],[-ldl]),
672 AC_CHECK_LIB(svld, dlopen,
673 ac_cv_my_have_dlopen=yes
674 VLC_ADD_LDFLAGS([libvlc],[-lsvld]))))
675 if test "${ac_cv_my_have_dlopen}" = "yes"; then
676 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
677 ac_cv_have_plugins=yes
681 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
682 dnl Check for pthreads - borrowed from XMMS
684 if test "${THREAD_LIB}" = "error"; then
685 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
687 if test "${THREAD_LIB}" = "error"; then
688 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
690 if test "${THREAD_LIB}" = "error"; then
691 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
693 if test "${THREAD_LIB}" = "error"; then
694 AC_CHECK_FUNCS(pthread_mutex_lock)
698 dnl Check for cthreads under GNU/Hurd for instance
699 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
702 dnl GNU portable threads
705 [ --enable-pth GNU Pth support (default disabled)],
706 [ if test "${enable_pth}" = "yes"; then
707 AC_CHECK_LIB(pth,pth_init)
708 AC_MSG_CHECKING(for pth_init in pth.h)
709 AC_EGREP_HEADER(pth_init,pth.h,[
711 AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
712 Define if <pth.h> defines pth_init)
724 [ --enable-st State Threads (default disabled)],
725 [ if test "${enable_st}" = "yes"; then
726 AC_CHECK_LIB(st,st_init)
727 AC_MSG_CHECKING(for st_init in st.h)
728 AC_EGREP_HEADER(st_init,st.h,[
730 AC_DEFINE(ST_INIT_IN_ST_H, 1,
731 Define if <st.h> defines st_init)
739 VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}])
741 dnl Don't link with rt when using GNU-pth
742 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
743 AC_CHECK_LIB(rt, clock_nanosleep, [
744 VLC_ADD_LDFLAGS([libvlc],[-lrt])
745 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
748 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])])
752 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
753 AC_CHECK_LIB(rt,nanosleep,
754 [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:],
755 [AC_CHECK_LIB(posix4,nanosleep,
756 [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])]
759 if ${have_nanosleep}; then
760 AC_DEFINE(HAVE_NANOSLEEP, 1,
761 Define if nanosleep is available.)
765 dnl Check for misc headers
766 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
767 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
769 AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
770 Define if <pthread.h> defines pthread_cond_t.)],[
773 AC_MSG_CHECKING(for pthread_once in pthread.h)
774 AC_EGREP_HEADER(pthread_once,pthread.h,[
776 AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
777 Define if <pthread.h> defines pthread_once.)],[
779 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
781 AC_MSG_CHECKING(for strncasecmp in strings.h)
782 AC_EGREP_HEADER(strncasecmp,strings.h,[
784 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
785 Define if <strings.h> defines strncasecmp.)],[
788 dnl Check for headers
789 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)
790 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
791 AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h])
792 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
793 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
794 AC_CHECK_HEADERS(linux/version.h)
795 AC_CHECK_HEADERS(syslog.h)
796 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
800 AC_CHECK_TYPE(ssize_t, int)
801 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
805 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
806 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
808 dnl Mac OS X and other OSes don't have declaration for nanosleep
809 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
810 AC_MSG_CHECKING(for nanosleep in time.h)
811 AC_EGREP_HEADER(nanosleep,time.h,[
813 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
814 Define if <time.h> defines nanosleep.)
818 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
820 dnl Make sure we have timespecs
821 AC_MSG_CHECKING(for timespec in sys/time.h)
822 AC_EGREP_HEADER(timespec,sys/time.h,[
824 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
825 Define if <sys/time.h> defines struct timespec.)
830 dnl Check for threads library
831 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
832 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
833 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
835 dnl Find where are the X headers and libraries
838 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.
840 PKG_PROG_PKG_CONFIG()
844 [ --enable-hal Linux HAL services discovery (default enabled)])
846 if test "${enable_hal}" != "no"
848 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
849 [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
850 AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
851 VLC_ADD_PLUGINS([hal probe_hal])
852 VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS])
853 VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],
854 dnl No hal 0.5 Test for 0.2
855 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97,
856 [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
857 VLC_ADD_PLUGINS([hal])
858 VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS])
859 VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
860 [AC_MSG_WARN(HAL library not found)])
867 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
870 if test "${enable_dbus}" != "no"
873 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
874 [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
875 AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
876 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
877 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
878 VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS])
879 VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
880 dnl Check for dbus control interface
881 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
882 if test "${enable_dbus_control}" != "no"
884 VLC_ADD_PLUGINS([dbus])
885 VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS])
886 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
889 if ${PKG_CONFIG} --exists dbus-1
891 [AC_ARG_ENABLE(old-dbus,
892 [ --enable-old-dbus Deprecated D-Bus support (default disabled)])]
894 if test "${enable_old_dbus}" != "yes"
897 echo "****** WARNING **** WARNING ***** WARNING *************"
898 echo "*** Your D-Bus version is < 1.0.0"
899 echo "*** You are using old and buggy software and so"
900 echo "*** D-Bus support has been disabled."
901 echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
902 echo "*** Alternatively you can force the use of your old and"
903 echo "*** buggy D-Bus version by specifying --enable-old-dbus"
904 echo "*******************************************************"
908 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
909 [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
910 AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
911 AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
912 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
913 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
915 [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
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,
922 [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
923 VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS])
924 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
925 [AC_MSG_WARN(DBUS library not found)])
936 dnl Build the gtk_main plugins?
942 dnl build the qte plugin ?
945 dnl Check for ntohl, etc.
946 AC_CACHE_CHECK([for ntohl in sys/param.h],
947 [ac_cv_c_ntohl_sys_param_h],
948 [CFLAGS="${CFLAGS_save} -Wall -Werror"
949 AC_TRY_COMPILE([#include <sys/param.h>],
950 [int meuh; ntohl(meuh);],
951 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
952 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
953 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
955 CFLAGS="${CFLAGS_save}"
957 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes volatile-register-var])
958 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
960 dnl This helps detect broken plugins with undefined symbols
961 dnl Better fail loudly at build-time than silenty at run-time.
962 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
963 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
964 dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
967 dnl Check for various optimization flags
968 AC_CACHE_CHECK([if \$CC accepts -Os],
970 [CFLAGS="${CFLAGS_save} -Os"
971 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
972 if test "${ac_cv_c_os}" != "no"; then
973 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
975 AC_CACHE_CHECK([if \$CC accepts -O],
977 [CFLAGS="${CFLAGS_save} -O"
978 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
979 if test "${ac_cv_c_o}" != "no"; then
980 if test "${ac_cv_c_o3}" = "no"; then
981 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
986 AC_CACHE_CHECK([if \$CC accepts -O3],
988 [CFLAGS="${CFLAGS_save} -O3"
989 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
990 if test "${ac_cv_c_o3}" != "no"; then
991 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
993 AC_CACHE_CHECK([if \$CC accepts -O2],
995 [CFLAGS="${CFLAGS_save} -O2"
996 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
997 if test "${ac_cv_c_o2}" != "no"; then
998 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1000 AC_CACHE_CHECK([if \$CC accepts -O],
1002 [CFLAGS="${CFLAGS_save} -O"
1003 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1004 if test "${ac_cv_c_o}" != "no"; then
1005 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1010 AC_CACHE_CHECK([if \$CC accepts -O0],
1012 [CFLAGS="${CFLAGS_save} -O0"
1013 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1014 if test "${ac_cv_c_o0}" != "no"; then
1015 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1018 dnl Check for -ffast-math
1019 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1020 [ac_cv_c_fast_math],
1021 [CFLAGS="${CFLAGS_save} -ffast-math"
1022 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1023 if test "${ac_cv_c_fast_math}" != "no"; then
1024 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1027 dnl Check for -funroll-loops
1028 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1029 if test "${SYS}" != "beos"
1031 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1032 [ac_cv_c_unroll_loops],
1033 [CFLAGS="${CFLAGS_save} -funroll-loops"
1034 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1035 if test "${ac_cv_c_unroll_loops}" != "no"; then
1036 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1040 dnl Check for -fomit-frame-pointer
1041 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1042 [ac_cv_c_omit_frame_pointer],
1043 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1044 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1045 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1046 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1047 # these plugins do not compile without -fomit-frame-pointer, damn gcc!
1048 VLC_ADD_CFLAGS([i420_yuy2_mmx i420_yuy2_sse2],[-fomit-frame-pointer])
1051 dnl Check for -fvisibility=hidden
1052 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1053 [ac_cv_c_visibility_hidden],
1054 [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1055 AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1056 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1057 VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1060 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1061 dnl AC_LANG_PUSH(C++)
1062 dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1063 dnl [ac_cv_c_visibility_inlines_hidden],
1064 dnl [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1065 dnl AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1066 dnl if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1067 dnl VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1069 dnl CXXFLAGS="${CXXFLAGS_save}"
1070 dnl AC_LANG_POP(C++)
1072 dnl Check for -mdynamic-no-pic
1073 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1074 dnl [ac_cv_c_dynamic_no_pic],
1075 dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1076 dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1077 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1078 dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1079 dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1082 dnl Check for Darwin plugin linking flags
1083 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1085 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1086 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1087 if test "${ac_cv_ld_darwin}" != "no"; then
1088 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1091 dnl Check for standard plugin linking flags
1092 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1093 dnl AS_IF([test "${SYS}" = "beos"], [
1094 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1096 dnl AC_CACHE_CHECK([if \$CC accepts -shared],
1097 dnl [ac_cv_ld_plugins],
1098 dnl [CFLAGS="${CFLAGS_save} -shared"
1099 dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1100 dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1101 dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1105 dnl Check for variadic macros
1106 AC_CACHE_CHECK([for variadic cpp macros],
1107 [ac_cv_cpp_variadic_macros],
1108 [CFLAGS="${CFLAGS_save}"
1111 #define a(b,c...) printf(b,##c)],
1112 [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1113 ac_cv_cpp_variadic_macros=yes,
1114 ac_cv_cpp_variadic_macros=no)])
1115 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1116 AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1119 dnl Checks for __attribute__(aligned()) directive
1120 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1121 [ac_cv_c_attribute_aligned],
1122 [ac_cv_c_attribute_aligned=0
1123 CFLAGS="${CFLAGS_save} -Werror"
1124 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1126 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1127 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1129 CFLAGS="${CFLAGS_save}"])
1130 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1131 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1132 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1135 dnl Checks for __attribute__(format()) directive
1136 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1137 [ac_cv_c_attribute_format],
1138 [ac_cv_c_attribute_format=no
1139 CFLAGS="${CFLAGS_save} -Werror"
1141 [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1142 [ac_cv_c_attribute_format=yes])
1143 CFLAGS="${CFLAGS_save}"])
1144 if test "${ac_cv_c_attribute_format}" != "no"; then
1145 AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1148 dnl Check for __attribute__((packed))
1149 AC_CACHE_CHECK([for __attribute__((packed))],
1150 [ac_cv_c_attribute_packed],
1151 [ac_cv_c_attribute_packed=no
1152 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1153 [ac_cv_c_attribute_packed=yes])])
1154 if test "${ac_cv_c_attribute_packed}" != "no"; then
1155 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1158 dnl Check for __attribute__((visibility()))
1159 AC_CACHE_CHECK([for __attribute__((visibility()))],
1160 [ac_cv_c_attribute_visibility],
1161 [ac_cv_c_attribute_visibility=no
1162 AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1163 [ac_cv_c_attribute_visibility=yes])])
1164 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1165 AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1171 case "${host_cpu}" in
1181 dnl Enable profiling
1183 AC_ARG_ENABLE(gprof,
1184 [ --enable-gprof gprof profiling (default disabled)])
1185 AC_ARG_ENABLE(cprof,
1186 [ --enable-cprof cprof profiling (default disabled)])
1187 test "${enable_gprof}" != "yes" && enable_gprof="no"
1188 test "${enable_cprof}" != "yes" && enable_cprof="no"
1193 VLC_ADD_PLUGINS([dummy logger memcpy])
1194 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
1195 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac])
1196 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen])
1197 VLC_ADD_PLUGINS([converter_fixed mono])
1198 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1199 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1200 VLC_ADD_PLUGINS([playlist export sgimb nsc xtag])
1201 VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres])
1202 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv])
1203 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1204 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1205 VLC_ADD_PLUGINS([access_filter_bandwidth])
1206 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1207 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1208 VLC_ADD_PLUGINS([packetizer_vc1])
1211 if test "${SYS}" != "mingwce"; then
1212 VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1213 VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder])
1214 VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1215 VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1216 VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1217 VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1218 VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1219 VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1223 dnl Switch to enable a version of VLC where most modules will be builtin
1225 AC_ARG_ENABLE(mostly-builtin,
1226 [ --enable-mostly-builtin most modules will be built-in (default disabled)])
1227 if test "${enable_mostly_builtin}" = "yes"; then
1228 VLC_ADD_BUILTINS([${PLUGINS}])
1233 dnl Some plugins aren't useful on some platforms
1235 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1236 VLC_ADD_PLUGINS([screensaver motion])
1237 elif test "${SYS}" != "mingwce"; then
1238 VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1239 VLC_ADD_LDFLAGS([dmo],[-lole32])
1241 VLC_ADD_PLUGINS([win32text])
1243 if test "${SYS}" = "darwin"; then
1244 VLC_ADD_PLUGINS([quartztext])
1245 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1249 dnl Accelerated modules
1251 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1252 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1253 MMXEXT_MODULES="memcpymmxext"
1254 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1255 THREEDNOW_MODULES="memcpy3dn"
1257 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2"
1258 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1259 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1261 dnl Check for fully workin MMX intrinsics
1262 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1263 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1264 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1265 [ac_cv_c_mmx_intrinsics],
1266 [CFLAGS="${CFLAGS_save} -O -mmmx"
1267 AC_TRY_COMPILE([#include <mmintrin.h>
1271 a = b = c = (__m64)frobzor;
1272 a = _mm_slli_pi16(a, 3);
1273 a = _mm_adds_pi16(a, b);
1274 c = _mm_srli_pi16(c, 8);
1275 c = _mm_slli_pi16(c, 3);
1276 b = _mm_adds_pi16(b, c);
1277 a = _mm_unpacklo_pi8(a, b);
1278 frobzor = (uint64_t)a;],
1279 [ac_cv_c_mmx_intrinsics=yes],
1280 [ac_cv_c_mmx_intrinsics=no])])
1281 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1282 AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1283 VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx])
1286 dnl Check for fully workin SSE2 intrinsics
1287 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1288 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1289 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1290 [ac_cv_c_sse2_intrinsics],
1291 [CFLAGS="${CFLAGS_save} -O -msse2"
1292 AC_TRY_COMPILE([#include <emmintrin.h>
1296 a = b = c = _mm_set1_epi64((__m64)frobzor);
1297 a = _mm_slli_epi16(a, 3);
1298 a = _mm_adds_epi16(a, b);
1299 c = _mm_srli_epi16(c, 8);
1300 c = _mm_slli_epi16(c, 3);
1301 b = _mm_adds_epi16(b, c);
1302 a = _mm_unpacklo_epi8(a, b);
1303 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1304 [ac_cv_c_sse2_intrinsics=yes],
1305 [ac_cv_c_sse2_intrinsics=no])])
1306 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1307 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1308 VLC_ADD_CFLAGS([i420_rgb_sse2],[-msse2])
1311 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1313 [CFLAGS="${CFLAGS_save}"
1314 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1315 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1316 if test "${ac_cv_mmx_inline}" != "no"; then
1317 AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1318 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1321 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1322 [ac_cv_mmxext_inline],
1323 [CFLAGS="${CFLAGS_save}"
1324 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1325 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1326 if test "${ac_cv_mmxext_inline}" != "no"; then
1327 AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1328 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1331 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1332 [ac_cv_3dnow_inline],
1333 [CFLAGS="${CFLAGS_save}"
1334 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1335 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1336 if test "${ac_cv_3dnow_inline}" != "no"; then
1337 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1338 ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1341 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1343 [CFLAGS="${CFLAGS_save}"
1344 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1345 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1346 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1347 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1348 ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1351 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1352 [ac_cv_sse2_inline],
1353 [CFLAGS="${CFLAGS_save}"
1354 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1355 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1356 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1357 AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1358 ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1361 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1362 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1363 [ac_cv_altivec_inline],
1364 [CFLAGS="${CFLAGS_save}"
1365 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1366 ac_cv_altivec_inline=yes,
1367 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1368 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1369 [ac_cv_altivec_inline="-Wa,-m7400"],
1370 ac_cv_altivec_inline=no)
1372 if test "${ac_cv_altivec_inline}" != "no"; then
1373 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1374 if test "${ac_cv_altivec_inline}" != "yes"; then
1375 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1376 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1377 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1378 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1379 VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1381 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1384 dnl The AltiVec C extensions
1386 dnl There are several possible cases:
1387 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1388 dnl need <altivec.h>
1389 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1390 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1391 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1392 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1393 dnl - Others: test should fail
1394 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1396 [# OS X/PPC test (gcc 4.x)
1397 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1398 AC_TRY_COMPILE([vector unsigned char foo;],
1399 [vec_ld(0, (unsigned char *)0);],
1400 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1401 [# OS X/PPC test (gcc 3.x)
1402 CFLAGS="${CFLAGS_save} -faltivec"
1403 AC_TRY_COMPILE([vector unsigned char foo;],
1404 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1405 [ac_cv_c_altivec="-faltivec"],
1406 dnl Below this are the Linux tests
1407 [# Linux/PPC test (gcc 4.x)
1408 CFLAGS="${CFLAGS_save} -maltivec"
1409 AC_TRY_COMPILE([#include <altivec.h>],
1410 [vec_ld(0, (unsigned char *)0);],
1411 [ac_cv_c_altivec="-maltivec"],
1412 [# Linux/PPC test (gcc 3.3)
1413 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1414 AC_TRY_COMPILE([#include <altivec.h>],
1415 [vec_ld(0, (unsigned char *)0);],
1417 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1418 [# Linux/PPC test (gcc 3.3)
1419 CFLAGS="${CFLAGS_save} -fvec"
1420 AC_TRY_COMPILE([#include <altivec.h>],
1421 [vec_ld(0, (unsigned char *)0);],
1422 [ac_cv_c_altivec="-fvec"],
1423 [ac_cv_c_altivec=no])
1428 CFLAGS="${CFLAGS_save}"
1431 if test "${ac_cv_c_altivec}" != "no"; then
1432 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1435 AS_IF( test "${enable_altivec}" != "no",
1437 AC_CHECK_HEADERS(altivec.h)
1438 CPPFLAGS="${CPPFLAGS_save}"
1440 if test "${ac_cv_c_altivec}" != "no"; then
1441 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1442 VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1443 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1444 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1445 if test "${ac_cv_altivec_inline}" = "no"; then
1446 ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1450 CPPFLAGS="${CPPFLAGS_save}"
1453 AC_CACHE_CHECK([if linker needs -framework vecLib],
1455 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1456 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1457 LDFLAGS="${LDFLAGS_save}"
1459 if test "${ac_cv_ld_altivec}" != "no"; then
1460 VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1462 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1465 AC_ARG_WITH(,[Optimization options:])
1468 dnl Special arch tuning
1471 [ --with-tuning=ARCH enable special tuning for an architecture
1472 (default Pentium 2 on IA-32 and G4 on PPC)])
1473 if test -n "${with_tuning}"; then
1474 if test "${with_tuning}" != "no"; then
1475 CFLAGS_TUNING="-mtune=${with_tuning}"
1478 if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
1479 CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1480 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1481 CFLAGS_TUNING="-mtune=pentium2"
1482 elif test "${host_cpu}" = "x86_64"; then
1483 CFLAGS_TUNING="-mtune=athlon64"
1484 elif test "${host_cpu}" = "powerpc"; then
1485 CFLAGS_TUNING="-mtune=G4";
1489 dnl NOTE: this can't be cached cleanly
1490 AS_IF([test "${CFLAGS_TUNING}"],
1491 [CFLAGS_save="${CFLAGS}"
1492 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1494 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1495 AC_COMPILE_IFELSE([ ],
1497 [CFLAGS_TUNING=""; tuning="no"
1498 AS_IF([test "${with_tuning}"],
1499 [AC_MSG_ERROR([requested tuning not supported])])])
1501 AC_MSG_RESULT([$tuning])
1502 CFLAGS="${CFLAGS_save}"
1506 dnl x86 accelerations
1508 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"
1511 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1513 if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
1515 ARCH="${ARCH} sse sse2"
1516 VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1522 AC_ARG_ENABLE(optimize-memory,
1523 [ --enable-optimize-memory optimize memory usage over performance])
1524 if test "${enable_optimize_memory}" = "yes"; then
1525 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1529 dnl Enable/disable optimizations
1531 AC_ARG_ENABLE(optimizations,
1532 [ --disable-optimizations disable compiler optimizations (default enabled)])
1533 if test "${enable_optimizations}" != "no"; then
1534 if test "${enable_optimize_memory}" = "yes"; then
1535 enable_optimizations="size"
1537 enable_optimizations="speed"
1542 dnl AltiVec acceleration
1544 AC_ARG_ENABLE(altivec,
1545 [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
1546 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1547 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1548 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1549 VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1554 AC_ARG_ENABLE(debug,
1555 [ --enable-debug debug mode (default disabled)])
1556 test "${enable_debug}" != "yes" && enable_debug="no"
1558 [Define to 1 if debug code should NOT be compiled])
1559 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1564 AC_ARG_ENABLE(coverage,
1565 [ --enable-coverage build for test coverage (default disabled)],,
1566 [enable_coverage="no"])
1567 AS_IF([test "${enable_coverage}" != "no"], [
1568 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1569 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1570 LDFLAGS="-lgcov ${LDFLAGS}"
1572 CFLAGS_save="${CFLAGS}"
1573 CXXFLAGS_save="${CXXFLAGS}"
1574 LDFLAGS_save="${LDFLAGS}"
1578 dnl Enable release-specific flags
1580 AC_ARG_ENABLE(release,
1581 [ --enable-release activate extra optimizations (default disabled)])
1582 test "${enable_release}" != "yes" && enable_release="no"
1588 [ --enable-sout Stream output modules (default enabled)])
1589 if test "${enable_sout}" != "no"
1591 VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1592 VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1593 VLC_ADD_PLUGINS([packetizer_copy])
1595 VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1596 VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1597 VLC_ADD_PLUGINS([stream_out_gather])
1598 # VLC_ADD_PLUGINS([stream_out_transrate])
1599 # VLC_ADD_PLUGINS([rtcp])
1600 VLC_ADD_PLUGINS([profile_parser])
1602 AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1605 AC_ARG_ENABLE(switcher,
1606 [ --enable-switcher Stream-out switcher plugin (default disabled)])
1608 dnl Check for libshout
1609 AC_ARG_ENABLE(shout,
1610 [ --enable-shout libshout output plugin (default disabled)])
1611 if test "${enable_shout}" = "yes"; then
1612 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1613 [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1614 VLC_ADD_PLUGINS([access_output_shout])
1615 VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1616 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1617 [AC_MSG_WARN(libshout library not found)])
1620 dnl Lua playlist demux
1621 AC_ARG_ENABLE(luaplaylist,
1622 [ --enable-lua lua playlist demux plugin (default enabled)])
1623 if test "${enable_lua}" != "no"
1625 PKG_CHECK_MODULES(LUA, lua5.1,
1628 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1629 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1633 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1636 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1637 [LUA_LIBS="-llua5.1"],
1638 AC_CHECK_LIB( lua51 , luaL_newstate,
1639 [LUA_LIBS="-llua51"],
1640 AC_CHECK_LIB( lua , luaL_newstate,
1643 AC_MSG_WARN([lua >= 5.1 not found!])
1649 if test "x${have_lua}" = "xyes" ; then
1650 AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1651 VLC_ADD_PLUGINS([luaplaylist])
1652 VLC_ADD_LDFLAGS([luaplaylist],[$LUA_LIBS])
1653 VLC_ADD_CFLAGS([luaplaylist],[$LUA_CFLAGS])
1660 AC_ARG_ENABLE(httpd,
1661 [ --enable-httpd HTTP daemon (default enabled)])
1662 if test "${enable_httpd}" != "no"
1664 VLC_ADD_PLUGINS([http])
1665 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1669 dnl VideoLAN manager
1672 [ --enable-vlm VideoLAN manager (default enabled)])
1673 if test "${enable_vlm}" != "no"
1675 AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1679 dnl Growl notification plugin
1681 AC_ARG_ENABLE(growl,
1682 [ --enable-growl growl notification plugin (default enabled)])
1683 AS_IF([test "${enable_growl}" != "no"], [
1684 VLC_ADD_PLUGINS([growl])
1689 dnl Libnotify notification plugin
1692 AC_ARG_ENABLE(notify,
1693 [ --enable-notify libnotify notification plugin (default enabled)])
1694 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1695 PKG_CHECK_MODULES(NOTIFY, libnotify,
1697 VLC_ADD_PLUGINS([notify])
1698 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1699 VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1701 AS_IF([test "${enable_notify}" = "yes"],[
1702 AC_MSG_WARN( libnotify not found) ])
1707 dnl Audioscrobbler plugin
1710 AC_ARG_ENABLE(audioscrobbler,
1711 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1712 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1713 VLC_ADD_PLUGINS([audioscrobbler])
1717 dnl Musicbrainz plugin
1719 AC_ARG_ENABLE(musicbrainz,
1720 [ --enable-musicbrainz MusicBrainz support (default disabled) ])
1721 AS_IF([test "${enable_musicbrainz}" = "yes"],[
1722 PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1723 [ VLC_ADD_PLUGINS([musicbrainz])
1724 VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS])
1725 VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ],
1726 [AC_MSG_WARN(MusicBrainz library not found)])
1733 AC_ARG_ENABLE(taglib,
1734 [ --enable-taglib Taglib support (default disabled) ])
1735 AS_IF([test "${enable_taglib}" = "yes"],[
1736 PKG_CHECK_MODULES(TAGLIB, taglib,
1737 [ VLC_ADD_PLUGINS([taglib])
1738 VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS])
1739 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1740 [AC_MSG_WARN(TagLib library not found)])
1748 AC_ARG_WITH(,[Input plugins:])
1752 if test "${enable_livedotcom}"
1754 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1757 if test "${enable_livedotcom}" = "no"
1761 AC_ARG_ENABLE(live555,
1762 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1763 if test "${enable_live555}" != "no"; then
1764 AC_ARG_WITH(live555-tree,
1765 [ --with-live555-tree=PATH live.com tree for static linking])
1768 dnl test for --with-live555-tree
1770 if test "${with_livedotcom_tree}"
1772 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1773 with_live555_tree="${with_livedotcom_tree}"
1776 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1778 CPPFLAGS_save="${CPPFLAGS}"
1779 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1780 if test "${SYS}" = "solaris"; then
1781 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1783 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1784 AC_CHECK_HEADERS(liveMedia.hh, [
1785 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1786 AC_CHECK_LIB(liveMedia_pic, main, [
1787 # We have -lliveMedia_pic, build plugins
1788 VLC_ADD_PLUGINS([live555])
1789 VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1791 AC_CHECK_LIB(liveMedia, main, [
1792 # We only have -lliveMedia, do builtins
1793 VLC_ADD_BUILTINS([live555])
1794 VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1797 if test "${SYS}" = "mingw32"; then
1798 # add ws2_32 for closesocket, select, recv
1799 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1802 CPPFLAGS="${CPPFLAGS_save}"
1805 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1806 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1807 if test -z "${real_live555_tree}"; then
1808 dnl The given directory can't be found
1810 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1812 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1813 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1815 VLC_ADD_BUILTINS([live555])
1817 if test "${SYS}" = "mingw32"; then
1818 # add ws2_32 for closesocket, select, recv
1819 VLC_ADD_LDFLAGS([live555],[-lws2_32])
1822 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1823 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1824 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1825 VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1827 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1828 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1829 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1830 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1831 if test "${SYS}" = "solaris"; then
1832 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1835 dnl The given live555 wasn't built
1837 if test "${enable_live555}" = "yes"; then
1838 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1845 dnl special access module for dc1394 input
1847 AC_ARG_ENABLE(dc1394,
1848 [ --enable-dc1394 dc1394 access module (default disabled)])
1849 if test "${enable_dc1394}" = "yes"
1851 AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1852 AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1853 AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1854 dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1855 VLC_ADD_PLUGINS([dc1394])
1856 VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394])
1859 dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1863 AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1867 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1871 AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1876 dnl dv module: digital video module check for libraw1394
1879 [ --enable-dv dv input module (default disabled)])
1880 if test "${enable_dv}" = "yes"
1882 AC_ARG_WITH(dv-raw1394,
1883 [ --with-dv-raw1394=PATH libraw1394 headers and libraries])
1884 AC_ARG_WITH(dv-raw1394-tree,
1885 [ --with-dv-raw1394=PATH libraw1394 tree for static linking])
1887 if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1889 AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1890 if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1892 dnl Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1894 VLC_ADD_PLUGINS([access_dv])
1895 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1896 VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1898 dnl No libraw1394 could be found, sorry
1900 AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1903 AC_CHECK_HEADERS(libraw1394/raw1394.h,
1904 [ VLC_ADD_PLUGINS([access_dv])
1905 VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1907 if test -n "${enable_dv}"
1909 AC_MSG_ERROR([cannot find libraw1394 headers])
1914 dnl Check for static linking of libraw1394
1915 if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1917 AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1918 real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1919 if test -z "${real_dv_raw1394_tree}"
1921 dnl The given directory can't be found
1923 AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1925 if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1927 dnl Use a custom libraw1394
1928 AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1929 VLC_ADD_BUILTINS([access_dv])
1930 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1931 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1933 dnl The given libraw1394 wasn't built
1935 AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1940 dnl Check for libavc1394
1943 AC_ARG_WITH(dv-avc1394,
1944 [ --with-dv-avc1394=PATH libavc1394 headers and libraries])
1945 AC_ARG_WITH(dv-avc1394-tree,
1946 [ --with-dv-avc1394=PATH libavc1394 tree for static linking])
1948 if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1950 AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1951 if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1953 dnl Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1955 VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1956 VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1958 dnl No libavc1394 could be found, sorry
1960 AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1963 AC_CHECK_HEADERS(libavc1394/avc1394.h,
1964 [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1966 if test -n "${enable_dv}"
1968 AC_MSG_ERROR([cannot find libavc1394 headers])
1973 dnl Check for static linking of libavc1394
1974 if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1976 AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1977 real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1978 if test -z "${real_dv_avc1394_tree}"
1980 dnl The given directory can't be found
1982 AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1984 if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1986 dnl Use a custom libavc1394
1987 AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1988 VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1989 VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1991 dnl The given libavc1394 wasn't built
1993 AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1999 dnl dvdread module: check for libdvdread
2001 AC_ARG_ENABLE(dvdread,
2002 [ --enable-dvdread dvdread input module (default disabled)])
2003 if test "${enable_dvdread}" != "no"
2005 AC_ARG_WITH(dvdread,
2006 [ --with-dvdread=PATH libdvdread headers and libraries])
2007 AC_ARG_WITH(dvdread-tree,
2008 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2010 dnl Temporary hack (yeah, sure ;)
2011 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2012 VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
2015 if test -z "${with_dvdread}"
2017 if test -z "${with_dvdread_tree}"
2019 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2020 [ VLC_ADD_PLUGINS([dvdread])
2021 VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
2023 if test -n "${enable_dvdread}"
2025 AC_MSG_ERROR([cannot find libdvdread headers])
2029 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2030 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2031 if test -z "${real_dvdread_tree}"
2033 dnl The given directory can't be found
2035 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2037 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2039 dnl Use a custom libdvdread
2040 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2041 VLC_ADD_BUILTINS([dvdread])
2042 VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
2043 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2045 dnl The given libdvdread wasn't built
2047 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2051 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2052 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2054 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2056 VLC_ADD_PLUGINS([dvdread])
2057 VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
2058 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2060 dnl No libdvdread could be found, sorry
2062 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2068 dnl libdvdnav plugin
2070 AC_ARG_ENABLE(dvdnav,
2071 [ --enable-dvdnav dvdnav input module (default enabled)])
2072 if test "${enable_dvdnav}" != "no"
2074 dnl Same hack than dvdread
2075 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2076 VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
2079 DVDNAV_PATH="${PATH}"
2080 AC_ARG_WITH(dvdnav-config-path,
2081 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2082 [ if test "${with_dvdnav_config_path}" != "no"
2084 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2086 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2087 if test "${DVDNAV_CONFIG}" != "no"
2089 VLC_ADD_PLUGINS([dvdnav])
2090 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2091 VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2096 dnl Windows DirectShow access module
2098 AC_ARG_ENABLE(dshow,
2099 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2100 if test "${enable_dshow}" != "no"
2102 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2105 AC_CHECK_HEADERS(dshow.h,
2106 [ VLC_ADD_PLUGINS([dshow])
2107 VLC_ADD_CXXFLAGS([dshow],[])
2108 VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
2114 dnl Windows DirectShow BDA access module
2117 [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)])
2118 if test "${enable_bda}" != "no"
2120 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2122 AC_CHECK_HEADERS(dshow.h,
2123 [ VLC_ADD_PLUGINS([bda])
2124 VLC_ADD_CXXFLAGS([bda],[])
2125 VLC_ADD_LDFLAGS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2131 dnl OpenCV wrapper and example filters
2133 AC_ARG_ENABLE(opencv,
2134 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2135 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2137 AC_ARG_WITH(opencv-tree,
2138 [ --with-opencv-tree=PATH opencv tree for linking])
2139 if test -n "${with_opencv_tree}"
2141 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2143 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2144 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2145 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2148 VLC_ADD_PLUGINS([opencv_wrapper])
2149 VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2150 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])
2152 VLC_ADD_PLUGINS([opencv_example])
2153 VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2154 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])
2157 dnl No opencv could be found, sorry
2159 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2162 AC_MSG_WARN([--enable-opencv currently only works on windows])
2169 dnl libsmbclient plugin
2172 [ --enable-smb smb input module (default enabled)])
2173 if test "${enable_smb}" != "no"; then
2174 AC_CHECK_HEADERS(libsmbclient.h,
2175 [ VLC_ADD_PLUGINS([access_smb])
2176 VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
2177 [ if test -n "${enable_smb}"; then
2178 AC_MSG_ERROR([cannot find libsmbclient headers])
2180 AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2181 AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2182 [#include <libsmbclient.h>])
2186 dnl libdvbpsi ts demux/mux
2188 AC_ARG_ENABLE(dvbpsi,
2189 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2190 if test "${enable_dvbpsi}" != "no"
2193 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2195 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2196 case "${with_dvbpsi}" in
2198 if test -z "${with_dvbpsi_tree}"
2200 AC_CHECK_HEADERS(dvbpsi/dr.h,
2201 [ VLC_ADD_PLUGINS([ts])
2202 if test "${enable_sout}" != "no"; then
2203 VLC_ADD_PLUGINS([mux_ts])
2205 VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
2206 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2207 [#if defined( HAVE_STDINT_H )
2208 # include <stdint.h>
2209 #elif defined( HAVE_INTTYPES_H )
2210 # include <inttypes.h>
2212 #include <dvbpsi/dvbpsi.h>
2213 #include <dvbpsi/descriptor.h>
2214 #include <dvbpsi/pat.h>
2215 #include <dvbpsi/pmt.h>])
2217 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2218 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2219 if test -z "${real_dvbpsi_tree}"
2221 dnl The given directory can't be found
2223 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2225 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2227 dnl Use a custom libdvbpsi
2228 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2229 VLC_ADD_BUILTINS([ts])
2230 if test "${enable_sout}" != "no"; then
2231 VLC_ADD_BUILTINS([mux_ts])
2233 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2234 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2236 dnl The given libdvbpsi wasn't built
2238 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2243 dnl Compile without dvbpsi
2246 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2247 if test -z "${with_dvbpsi}"
2252 LDFLAGS_test="-L${with_dvbpsi}/lib"
2253 CPPFLAGS_test="-I${with_dvbpsi}/include"
2255 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2256 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2257 VLC_ADD_PLUGINS([ts])
2258 if test "${enable_sout}" != "no"; then
2259 VLC_ADD_PLUGINS([mux_ts])
2261 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2262 VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2265 if test -n "${enable_dvbpsi}"
2267 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])
2270 CPPFLAGS="${CPPFLAGS_save}"
2273 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2274 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2275 ], [], [${LDFLAGS_ts}])
2280 dnl Video4Linux plugin
2283 [ --enable-v4l Video4Linux input support (default disabled)])
2284 if test "${enable_v4l}" = "yes"
2287 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2288 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2290 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2293 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2294 AC_CHECK_HEADERS(linux/videodev.h, [
2295 VLC_ADD_PLUGINS([v4l])
2297 CPPFLAGS="${CPPFLAGS_save}"
2301 dnl Video4Linux plugin
2304 [ --enable-v4l2 Video4Linux2 input support (default disabled)])
2305 if test "${enable_v4l2}" = "yes"
2308 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2309 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2311 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2314 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2315 AC_CHECK_HEADERS(linux/videodev2.h, [
2316 VLC_ADD_PLUGINS([v4l2])
2318 CPPFLAGS="${CPPFLAGS_save}"
2323 dnl special access module for Hauppauge PVR cards
2326 [ --enable-pvr PVR cards access module (default disabled)])
2327 if test "${enable_pvr}" = "yes"
2329 VLC_ADD_PLUGINS([pvr])
2330 AC_ARG_WITH(videodev2,
2331 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2332 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2334 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2338 AC_CACHE_CHECK([for new linux/videodev2.h],
2339 [new_linux_videodev2_h],
2341 #include <sys/types.h>
2342 # ifdef VIDEODEV2_H_FILE
2343 # include VIDEODEV2_H_FILE
2345 # include <linux/videodev2.h>
2348 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2349 new_linux_videodev2_h=yes,
2350 new_linux_videodev2_h=no)])
2351 if test "${new_linux_videodev2_h}" != "no"; then
2352 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2357 dnl gnomeVFS access module
2359 AC_ARG_ENABLE(gnomevfs,
2360 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2361 if test "${enable_gnomevfs}" = "yes"
2363 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2364 VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2365 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2366 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2367 VLC_ADD_PLUGINS([access_gnomevfs]),
2368 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2371 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2372 AC_ARG_ENABLE(libcdio,
2373 [ --enable-libcdio CD input and control library support (default enabled)])
2378 if test "${enable_libcdio}" != "no"
2380 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2382 AC_DEFINE(HAVE_LIBCDIO, [],
2383 [Define if you have libcdio 0.78.2 or greater installed]),
2384 [AC_MSG_WARN(CD Reading and information library not found)])
2386 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2387 [have_libvcdinfo=yes
2388 AC_DEFINE(HAVE_VCDINFO, [],
2389 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2390 [AC_MSG_WARN(VCD information library not found)])
2394 dnl VCDX and CDDAX modules
2396 AC_ARG_ENABLE(cddax,
2397 [ --enable-cddax audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2399 AC_ARG_ENABLE(libcddb,
2400 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2402 if test "${enable_cddax}" = "yes"
2404 if test "$have_libcdio" = "yes"
2406 AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2407 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2408 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2409 VLC_ADD_PLUGINS([cddax])
2410 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2411 VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2412 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2414 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2418 if test "$enable_libcddb" != "no"; then
2419 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2421 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2422 VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2423 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2425 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2432 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2434 if test "${enable_vcdx}" = "yes"
2436 if test "${have_libvcdinfo}" = "yes"
2438 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2439 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2441 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2445 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2446 [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2447 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2448 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2451 if test "$have_libvcdinfo" = "yes"
2453 AC_DEFINE(HAVE_VCDX, [],
2454 [Define for the VCD plugin using libcdio/libvcdinfo])
2455 VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2456 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2457 VLC_ADD_PLUGINS([vcdx])
2459 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2465 dnl Built-in CD-DA and VCD module
2468 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2471 [ --enable-vcd built-in VCD (default enabled)])
2473 if test "${enable_vcd}" != "no"
2475 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2476 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2478 VLC_ADD_PLUGINS([vcd cdda])
2483 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2484 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2486 VLC_ADD_PLUGINS([vcd cdda])
2487 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2492 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2493 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2495 VLC_ADD_PLUGINS([vcd cdda])
2496 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2501 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2503 VLC_ADD_PLUGINS([vcd cdda])
2506 if test "${SYS}" = "darwin"
2508 VLC_ADD_PLUGINS([vcd cdda])
2509 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2510 VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2513 if test "$enable_libcddb" != "no"; then
2514 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2516 AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2517 VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2518 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2520 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2526 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2529 [ --enable-dvb DVB-S/T/C card support (default disabled)])
2531 if test "${enable_dvb}" = "yes"
2534 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2535 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2537 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2539 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2540 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2541 if test -z "${with_dvbpsi_tree}"
2543 VLC_ADD_PLUGINS([dvb])
2545 VLC_ADD_BUILTINS([dvb])
2547 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2548 CPPFLAGS="${CPPFLAGS_save}"
2552 dnl Screen capture module
2554 AC_ARG_ENABLE(screen,
2555 [ --enable-screen Screen capture support (default enabled)])
2556 if test "${enable_screen}" != "no"; then
2557 if test "${SYS}" = "darwin"; then
2558 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2559 VLC_ADD_PLUGINS([screen])
2560 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2562 elif test "${SYS}" = "mingw32"; then
2563 VLC_ADD_PLUGINS([screen])
2564 VLC_ADD_LDFLAGS([screen],[-lgdi32])
2565 elif test "${SYS}" = "mingwce"; then
2566 CPPFLAGS="${CPPFLAGS_save}"
2567 elif test "${SYS}" = "beos"; then
2568 VLC_ADD_PLUGINS([screen])
2569 VLC_ADD_CXXFLAGS([screen],[])
2570 VLC_ADD_LDFLAGS([screen],[-lbe])
2572 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2573 AC_CHECK_HEADERS(X11/Xlib.h, [
2574 VLC_ADD_PLUGINS([screen])
2575 VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2576 VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2578 CPPFLAGS="${CPPFLAGS_save}"
2583 dnl ipv6 plugin - not for QNX yet
2586 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2587 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2590 AS_IF([test "${have_ipv6}" = "yes"], [
2591 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2594 AC_CHECK_FUNCS(inet_ntop,[
2595 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2599 dnl ogg demux plugin
2602 [ --enable-ogg Ogg demux support (default enabled)])
2603 if test "${enable_ogg}" != "no"
2605 AC_ARG_WITH(ogg-tree,
2606 [ --with-ogg-tree=PATH ogg tree for static linking])
2607 if test -n "${with_ogg_tree}"
2609 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2610 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2611 if test -z "${real_ogg_tree}"
2613 dnl The given directory can't be found
2615 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2617 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2619 dnl Use a custom ogg
2620 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2621 VLC_ADD_PLUGINS([ogg])
2622 if test "${enable_sout}" != "no"; then
2623 VLC_ADD_PLUGINS([mux_ogg])
2625 VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2626 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2628 dnl The given ogg wasn't built
2630 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2633 AC_CHECK_HEADERS(ogg/ogg.h, [
2634 AC_CHECK_LIB( ogg, oggpack_read, [
2635 VLC_ADD_PLUGINS([ogg])
2636 if test "${enable_sout}" != "no"; then
2637 VLC_ADD_PLUGINS([mux_ogg])
2639 VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2645 dnl matroska demux plugin
2648 [ --enable-mkv Matroska demux support (default enabled)])
2649 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2651 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2652 AC_MSG_CHECKING(for libebml version >= 0.7.6)
2654 [#include <ebml/EbmlVersion.h>
2655 #ifdef LIBEBML_VERSION
2656 #if LIBEBML_VERSION >= 0x000706
2660 [AC_MSG_RESULT([yes])
2661 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2662 AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2664 [#include <matroska/KaxVersion.h>
2665 #ifdef LIBMATROSKA_VERSION
2666 #if LIBMATROSKA_VERSION >= 0x000705
2670 [AC_MSG_RESULT([yes])
2671 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2672 VLC_ADD_CXXFLAGS([mkv],[])
2673 if test "${SYS}" = "darwin"; then
2674 VLC_ADD_CXXFLAGS([mkv],[-O1])
2676 AC_CHECK_LIB(ebml_pic, main, [
2677 VLC_ADD_PLUGINS([mkv])
2678 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic])
2680 AC_CHECK_LIB(ebml, main, [
2681 VLC_ADD_PLUGINS([mkv])
2682 VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2686 [AC_MSG_RESULT([no])
2687 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.])
2691 [AC_MSG_RESULT([no])
2692 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.])
2699 dnl modplug demux plugin
2702 [ --enable-mod Mod demux support (default enabled)])
2703 if test "${enable_mod}" != "no"
2705 AC_ARG_WITH(mod-tree,
2706 [ --with-mod-tree=PATH mod tree for static linking])
2707 if test -n "${with_mod_tree}"
2709 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2710 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2711 if test -z "${real_mod_tree}"
2713 dnl The given directory can't be found
2715 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2717 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2719 dnl Use a custom mod
2720 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2721 VLC_ADD_PLUGINS([mod])
2722 VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2723 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2725 dnl The given mod wasn't built
2727 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2730 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2731 VLC_ADD_PLUGINS([mod])
2732 VLC_ADD_CXXFLAGS([mod],[])
2733 VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])])
2738 dnl mpc demux plugin
2741 [ --enable-mpc Mpc demux support (default enabled)])
2742 if test "${enable_mpc}" != "no"
2744 AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2745 VLC_ADD_PLUGINS([mpc])
2746 VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2750 dnl game music emu demux plugin
2753 [ --enable-gme Game Music Emu demux support (default enabled)])
2754 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2757 AC_ARG_WITH(gme-tree,
2758 [ --with-gme-tree=PATH gme tree for static linking])
2759 if test -n "${with_gme_tree}"
2761 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2762 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2763 if test -z "${real_gme_tree}"
2765 dnl The given directory can't be found
2767 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2769 if test -f "${real_gme_tree}/gme/libgme.a"
2771 dnl Use a custom gme
2772 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2773 VLC_ADD_PLUGINS([gme])
2774 VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2775 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2777 dnl The given gme wasn't built
2779 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2782 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2791 AC_ARG_WITH(,[Codec plugins:])
2797 [ --enable-mad libmad module (default enabled)])
2798 if test "${enable_mad}" != "no"
2801 [ --with-mad=PATH path to libmad],[],[])
2802 if test "${with_mad}" != "no" -a -n "${with_mad}"
2804 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2805 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2808 AC_ARG_WITH(mad-tree,
2809 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2810 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2812 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2813 if test -z "${real_mad_tree}"
2815 dnl The given directory can't be found
2817 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2819 dnl Use a custom libmad
2820 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2821 if test -f ${real_mad_tree}/mad.h
2824 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2825 VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2826 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2827 AC_CHECK_LIB(mad, mad_bit_init, [
2828 VLC_ADD_BUILTINS([mpgatofixed32])
2829 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2830 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2832 LDFLAGS="${LDFLAGS_save}"
2835 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2838 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2839 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2840 AC_CHECK_HEADERS(mad.h, ,
2841 [ 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.]) ])
2842 AC_CHECK_LIB(mad, mad_bit_init, [
2843 VLC_ADD_PLUGINS([mpgatofixed32])
2844 VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2845 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2846 CPPFLAGS="${CPPFLAGS_save}"
2847 LDFLAGS="${LDFLAGS_save}"
2852 dnl libid3tag support (FIXME!!! doesn't work with new input)
2854 AC_CHECK_HEADERS(id3tag.h, [
2855 AC_CHECK_HEADERS(zlib.h, [
2856 VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2857 VLC_ADD_PLUGINS([id3tag])]) ])
2860 dnl ffmpeg decoder/demuxer plugin
2862 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2863 dnl 4- default place,
2865 AC_ARG_ENABLE(ffmpeg,
2866 [ --enable-ffmpeg ffmpeg codec (default enabled)])
2867 if test "${enable_ffmpeg}" != "no"
2870 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2872 AC_ARG_WITH(ffmpeg-mp3lame,
2873 [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2875 if test "$with_ffmpeg_mp3lame" = "yes"; then
2876 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2879 AC_ARG_WITH(ffmpeg-faac,
2880 [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support],
2882 if test "$with_ffmpeg_faac" = "yes"; then
2883 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2886 AC_ARG_WITH(ffmpeg-dts,
2887 [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support],
2889 if test "$with_ffmpeg_dts" = "yes"; then
2890 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2891 AC_CHECK_LIB(dts_pic, dts_free,
2892 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2893 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2894 LDFLAGS="${LDFLAGS_save}"
2897 AC_ARG_WITH(ffmpeg-vorbis,
2898 [ --with-ffmpeg-vorbis specify if ffmpeg has been compiled with vorbis support],
2900 if test "$with_ffmpeg_vorbis" = "yes"; then
2901 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2904 AC_ARG_WITH(ffmpeg-theora,
2905 [ --with-ffmpeg-theora specify if ffmpeg has been compiled with theora support],
2907 if test "$with_ffmpeg_theora" = "yes"; then
2908 VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2911 AC_ARG_WITH(ffmpeg-ogg,
2912 [ --with-ffmpeg-ogg specify if ffmpeg has been compiled with ogg support],
2914 if test "$with_ffmpeg_ogg" = "yes"; then
2915 VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2918 AC_ARG_WITH(ffmpeg-zlib,
2919 [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support],
2921 if test "$with_ffmpeg_zlib" = "yes"; then
2922 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2926 dnl test for --with-ffmpeg-tree
2928 AC_ARG_WITH(ffmpeg-tree,
2929 [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2931 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2932 AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2933 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2934 if test -z "${real_ffmpeg_tree}"; then
2935 dnl The given directory can't be found
2937 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2939 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2940 dnl The given libavcodec wasn't built
2942 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2944 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2945 if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2946 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])
2947 elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then
2948 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2949 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2951 dnl The given libavcodec wasn't built with --enable-pp
2953 AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2956 dnl Use a custom libffmpeg
2957 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2959 if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2960 if test "${with_ffmpeg_zlib}" != "yes"; then
2961 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2964 if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2965 if test "${with_ffmpeg_mp3lame}" != "yes"; then
2966 VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2969 if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2970 if test "${with_ffmpeg_faac}" != "yes"; then
2971 VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2974 if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2975 if test "${with_ffmpeg_dts}" != "yes"; then
2976 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2977 AC_CHECK_LIB(dts_pic, dts_free,
2978 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2979 [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2980 LDFLAGS="${LDFLAGS_save}"
2983 if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2984 VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2986 if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2987 VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2989 if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2990 VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2993 VLC_ADD_BUILTINS([ffmpeg])
2994 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
2995 VLC_ADD_BUILTINS([stream_out_switcher])
2998 if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2999 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
3000 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
3003 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
3004 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
3006 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3007 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3008 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
3009 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
3012 if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3013 AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3014 VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3015 VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3019 dnl Look for a ffmpeg-config (we are on debian )
3021 FFMPEG_PATH="${PATH}"
3022 AC_ARG_WITH(ffmpeg-config-path,
3023 [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
3024 [ if test "${with_ffmpeg_config_path}" != "no"
3026 FFMPEG_PATH="${with_ffmpeg_config_path}"
3028 AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
3029 if test "${FFMPEG_CONFIG}" != "no"
3031 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3032 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3033 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3034 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3035 VLC_ADD_PLUGINS([ffmpeg])
3036 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3037 VLC_ADD_PLUGINS([stream_out_switcher])
3039 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
3040 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
3044 dnl Trying with pkg-config
3045 PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3048 CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3049 CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3050 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3051 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3052 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3053 dnl newer ffmpeg have a separate libpostproc
3054 PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3055 VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}])
3056 VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}])
3058 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3059 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3060 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3061 if test "${SYS}" = "darwin"; then
3062 VLC_ADD_BUILTINS([ffmpeg])
3064 VLC_ADD_PLUGINS([ffmpeg])
3066 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3067 if test "${SYS}" = "darwin"; then
3068 VLC_ADD_BUILTINS([stream_out_switcher])
3070 VLC_ADD_PLUGINS([stream_out_switcher])
3073 VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3074 VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3075 dnl even newer ffmpeg has a libswscale
3076 PKG_CHECK_MODULES(SWSCALE, libswscale,[
3077 VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3078 VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}])
3079 AC_CHECK_LIB(swscale, sws_getContext,
3080 [AC_CHECK_HEADERS(ffmpeg/swscale.h)],[])
3086 dnl last chance: at the default place
3088 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3089 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
3090 AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3091 AC_CHECK_HEADERS(ffmpeg/avformat.h)
3092 AC_CHECK_HEADERS(ffmpeg/avutil.h)
3093 AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3095 AC_CHECK_LIB(avutil, av_crc_init, [
3096 VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
3097 LDAVUTIL="-lavutil"])
3099 AC_CHECK_LIB(avcodec, avcodec_init, [
3100 VLC_ADD_BUILTINS([ffmpeg])
3101 VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
3102 if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3103 VLC_ADD_BUILTINS([stream_out_switcher])
3105 [ 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])
3108 AC_CHECK_LIB(postproc, pp_postprocess, [
3109 VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])],
3110 AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3113 AC_CHECK_LIB(avformat, av_open_input_stream, [
3114 VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3115 LDFLAGS="${LDFLAGS_save}"
3116 CPPFLAGS="${CPPFLAGS_save}"
3118 AC_CHECK_LIB(swscale, sws_getContext, [
3119 AC_CHECK_HEADERS(ffmpeg/swscale.h)
3120 VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3121 LDFLAGS="${LDFLAGS_save}"
3122 CPPFLAGS="${CPPFLAGS_save}"
3129 dnl ffmpegaltivec plugin
3131 AC_ARG_ENABLE(ffmpegaltivec,
3132 [ --enable-ffmpegaltivec ffmpegaltivec codec (DO NOT USE)])
3133 if test "${enable_ffmpegaltivec}" = "yes"
3135 if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3136 AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3137 real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3138 if test -z "${real_ffmpeg_tree}"; then
3139 dnl The given directory can't be found
3141 AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3143 if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3144 dnl The given libavcodecaltivec wasn't built
3146 AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3148 if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3149 dnl The given libavcodecaltivec wasn't built with --enable-pp
3151 AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3153 dnl Use a custom libffmpeg
3154 AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3155 VLC_ADD_BUILTINS([ffmpegaltivec])
3156 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3157 VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3158 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3160 if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3161 AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3162 VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3163 VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3165 VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3166 VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3171 dnl faad decoder plugin
3174 [ --enable-faad faad codec (default disabled)])
3175 if test "${enable_faad}" = "yes"
3177 AC_ARG_WITH(faad-tree,
3178 [ --with-faad-tree=PATH faad tree for static linking])
3179 if test -n "${with_faad_tree}"
3181 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3182 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3183 if test -z "${real_faad_tree}"
3185 dnl The given directory can't be found
3187 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3189 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3191 dnl Use a custom faad
3192 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3193 VLC_ADD_BUILTINS([faad])
3194 VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3195 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3197 dnl The given libfaad wasn't built
3199 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3202 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3203 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
3204 AC_CHECK_HEADERS(faad.h, ,
3205 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3206 AC_CHECK_LIB(faad, faacDecOpen, [
3207 VLC_ADD_PLUGINS([faad])
3208 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3209 AC_CHECK_LIB(faad, NeAACDecOpen, [
3210 VLC_ADD_PLUGINS([faad])
3211 VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
3212 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3213 LDFLAGS="${LDFLAGS_save}"
3214 CPPFLAGS="${CPPFLAGS_save}"
3219 dnl twolame encoder plugin
3221 AC_ARG_ENABLE(twolame,
3222 [ --enable-twolame twolame codec (default disabled)])
3223 if test "${enable_twolame}" = "yes"
3225 AC_ARG_WITH(twolame-tree,
3226 [ --with-twolame-tree=PATH twolame tree for static linking])
3227 if test -n "${with_twolame_tree}"
3229 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3230 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3231 if test -z "${real_twolame_tree}"
3233 dnl The given directory can't be found
3235 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3237 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3239 dnl Use a custom twolame
3240 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3241 VLC_ADD_BUILTINS([twolame])
3242 VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3243 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3245 dnl The given libtwolame wasn't built
3247 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3250 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3251 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
3252 AC_CHECK_HEADERS(twolame.h, ,
3253 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3254 AC_CHECK_LIB(twolame, twolame_init, [
3255 VLC_ADD_PLUGINS([twolame])
3256 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3257 VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
3258 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3259 LDFLAGS="${LDFLAGS_save}"
3260 CPPFLAGS="${CPPFLAGS_save}"
3265 dnl QuickTime plugin
3267 AC_ARG_ENABLE(quicktime,
3268 [ --enable-quicktime QuickTime module (default enabled on MacOS X)])
3269 if test "${enable_quicktime}" != "no" &&
3270 (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3272 if test "${SYS}" = "mingw32"; then
3273 VLC_ADD_BUILTINS([quicktime])
3275 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3276 [ VLC_ADD_BUILTINS([quicktime])
3277 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3278 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3286 [ --enable-real Real audio module (default disabled)])
3287 if test "${enable_real}" = "yes"; then
3288 VLC_ADD_PLUGINS([realaudio])
3292 dnl Real RTSP plugin
3294 AC_ARG_ENABLE(realrtsp,
3295 [ --enable-realrtsp Real RTSP module (default disabled)])
3296 if test "${enable_realrtsp}" = "yes"; then
3297 VLC_ADD_PLUGINS([access_realrtsp])
3303 AC_CHECK_HEADERS(zlib.h, [
3304 VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
3307 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3308 VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
3314 AC_ARG_ENABLE(libtar,
3315 [ --enable-libtar support for skins2 (default enabled)])
3317 AS_IF([test "${enable_libtar}" != "no"],[
3318 AC_CHECK_HEADERS(libtar.h, [
3319 VLC_ADD_LDFLAGS([skins2],[-ltar])
3324 dnl A52/AC3 decoder plugin
3327 [ --enable-a52 A/52 support with liba52 (default enabled)])
3328 if test "${enable_a52}" != "no"
3331 [ --with-a52=PATH a52 headers and libraries])
3332 AC_ARG_WITH(a52-tree,
3333 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3334 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3336 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3337 if test -z "${real_a52_tree}"
3339 dnl The given directory can't be found
3341 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3343 dnl Use a custom a52dec
3344 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3345 if test -f ${real_a52_tree}/include/a52.h
3348 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3349 VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3350 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
3351 AC_CHECK_LIB(a52, a52_free, [
3352 VLC_ADD_BUILTINS([a52tofloat32])
3353 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3354 VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3356 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3358 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3360 AC_MSG_ERROR([the specified tree hasn't been compiled])
3363 LDFLAGS="${LDFLAGS_save}"
3366 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3369 if test -z "${with_a52}"
3374 LDFLAGS_test="-L${with_a52}/lib"
3375 CPPFLAGS_test="-I${with_a52}/include"
3377 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3378 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3379 AC_CHECK_HEADERS(a52dec/a52.h, [
3380 AC_CHECK_LIB(a52, a52_free, [
3381 VLC_ADD_PLUGINS([a52tofloat32])
3382 VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3383 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3385 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.])
3388 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.])
3390 CPPFLAGS="${CPPFLAGS_save}"
3391 LDFLAGS="${LDFLAGS_save}"
3395 AC_ARG_WITH(a52-fixed,
3396 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3398 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3401 dnl DTS Coherent Acoustics decoder plugin
3403 AS_IF([test "x${enable_dts}" != "x"], [
3404 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3406 AS_IF([test "x${with_dts_tree}" != "x"], [
3407 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3411 [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)])
3412 AS_IF([test "${enable_dca}" != "no"], [
3413 AC_ARG_WITH(dca-tree,
3414 [ --with-dca-tree=PATH libdca tree for static linking],,
3415 [with_dca_tree="no"])
3416 AS_IF([test "${with_dca_tree}" != "no"], [
3417 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3418 AS_IF([test -z "${real_dca_tree}"], [
3419 dnl The given directory can't be found
3421 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3423 dnl Use a custom libdca
3424 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3425 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3427 VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3428 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3429 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3431 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3435 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3438 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3439 VLC_ADD_PLUGINS([dtstofloat32])
3440 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3441 VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}])
3443 AS_IF([test "x${enable_dca}" != "x"], [
3444 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3454 [ --enable-flac libflac decoder/encoder support (default disabled)])
3455 if test "${enable_flac}" = "yes"
3457 AC_ARG_WITH(flac-tree,
3458 [ --with-flac-tree=PATH flac tree for static linking])
3459 if test -n "${with_flac_tree}"
3461 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3462 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3463 if test -z "${real_flac_tree}"
3465 dnl The given directory can't be found
3467 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3469 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3471 dnl Use a custom flac
3472 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3473 VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3474 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3475 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3477 dnl The given flac wasn't built
3479 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3482 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3483 VLC_ADD_LDFLAGS([flac],[-lFLAC -logg])
3491 AC_ARG_ENABLE(libmpeg2,
3492 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3493 if test "${enable_libmpeg2}" != "no"
3495 AC_ARG_WITH(libmpeg2-tree,
3496 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3497 if test -n "${with_libmpeg2_tree}"
3499 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3500 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3501 if test -z "${real_libmpeg2_tree}"
3503 dnl The given directory can't be found
3505 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3507 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3509 dnl Use a custom libmpeg2
3510 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3511 VLC_ADD_BUILTINS([libmpeg2])
3512 VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3513 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3514 eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3516 dnl The given libmpeg2 wasn't built
3518 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3521 AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3522 AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3524 [#include <mpeg2dec/mpeg2.h>
3525 #ifdef MPEG2_RELEASE
3526 #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3530 [AC_MSG_RESULT([yes])
3531 VLC_ADD_PLUGINS([libmpeg2])
3532 VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3533 [AC_MSG_RESULT([no])
3534 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.])])],
3536 [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.])]
3544 AC_ARG_ENABLE(vorbis,
3545 [ --enable-vorbis Vorbis decoder support (default enabled)])
3546 if test "${enable_vorbis}" != "no"
3548 AC_ARG_WITH(vorbis-tree,
3549 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3550 if test -n "${with_vorbis_tree}"
3552 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3553 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3554 if test -z "${real_vorbis_tree}"
3556 dnl The given directory can't be found
3558 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3560 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3562 dnl Use a custom vorbis
3563 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3564 VLC_ADD_PLUGINS([vorbis])
3565 VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3566 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3568 dnl The given vorbis wasn't built
3570 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3573 AC_CHECK_HEADERS(vorbis/codec.h, [
3574 VLC_ADD_PLUGINS([vorbis])
3575 VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[])
3577 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3578 VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[])
3585 AC_ARG_ENABLE(tremor,
3586 [ --enable-tremor Tremor decoder support (default disabled)])
3587 if test "${enable_tremor}" = "yes"
3589 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3590 VLC_ADD_PLUGINS([tremor])
3591 VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3598 AC_ARG_ENABLE(speex,
3599 [ --enable-speex Speex decoder support (default enabled)])
3600 if test "${enable_speex}" != "no"
3602 AC_ARG_WITH(speex-tree,
3603 [ --with-speex-tree=PATH speex tree for static linking])
3604 if test -n "${with_speex_tree}"
3606 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3607 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3608 if test -z "${real_speex_tree}"
3610 dnl The given directory can't be found
3612 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3614 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3616 dnl Use a custom speex
3617 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3618 VLC_ADD_PLUGINS([speex])
3619 VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3620 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3622 dnl The given speex wasn't built
3624 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3627 AC_CHECK_HEADERS(speex/speex.h, [
3628 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3629 AC_CHECK_LIB(speex, speex_decode_int, [
3630 VLC_ADD_PLUGINS([speex])
3631 VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3632 [ AC_MSG_RESULT([no])
3633 AC_MSG_WARN([Your libspeex is too old, please get the development
3635 LDFLAGS="${LDFLAGS_save}"
3641 dnl tarkin decoder plugin
3643 AC_ARG_ENABLE(tarkin,
3644 [ --enable-tarkin experimental tarkin codec (default disabled)])
3645 if test "${enable_tarkin}" = "yes"
3647 AC_ARG_WITH(tarkin-tree,
3648 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3649 if test -n "${with_tarkin_tree}"
3651 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3652 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3653 if test -f "${real_tarkin_tree}/tarkin.o"
3655 VLC_ADD_BUILTINS([tarkin])
3656 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3657 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])
3660 dnl The given tarkin tree wasn't built
3662 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3663 make sure you compiled tarkin in ${with_tarkin_tree}])
3669 dnl theora decoder plugin
3671 AC_ARG_ENABLE(theora,
3672 [ --enable-theora experimental theora codec (default disabled)])
3673 if test "${enable_theora}" = "yes"
3675 AC_CHECK_HEADERS(theora/theora.h, [
3676 AC_CHECK_LIB(theora, theora_granule_time, [
3677 VLC_ADD_PLUGINS([theora])
3678 theora_libs="-ltheora -logg"
3679 VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3680 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3681 You also need to check that you have a libogg posterior to the 1.0 release.])],
3687 dnl dirac decoder plugin
3689 AC_ARG_ENABLE(dirac,
3690 [ --enable-dirac experimental dirac codec (default disabled)])
3691 if test "${enable_dirac}" = "yes"; then
3692 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [
3693 VLC_ADD_PLUGINS([dirac])
3694 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3695 VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3696 AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3701 dnl PNG decoder module
3704 [ --enable-png PNG support (default enabled)])
3705 if test "${enable_png}" != "no"; then
3706 AC_CHECK_HEADERS(png.h, [
3707 LDFLAGS="${LDFLAGS_save} -lz"
3708 AC_CHECK_LIB(png, png_set_rows, [
3709 VLC_ADD_LDFLAGS([png],[-lpng -lz])
3710 VLC_ADD_PLUGINS([png])
3711 VLC_ADD_PLUGINS([osdmenu])
3712 AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3714 LDFLAGS="${LDFLAGS_save}"
3719 dnl H264 encoder plugin (using libx264)
3722 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3723 if test "${enable_x264}" != "no"; then
3724 AC_ARG_WITH(x264-tree,
3725 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3726 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3728 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3729 if test -z "${real_x264_tree}"
3731 dnl The given directory can't be found
3733 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3735 dnl Use a custom libx264
3736 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3737 if test -f ${real_x264_tree}/x264.h
3740 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3741 VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3742 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3743 AC_CHECK_LIB(x264, x264_encoder_open, [
3744 VLC_ADD_BUILTINS([x264])
3745 VLC_ADD_LDFLAGS([x264],[-lx264])
3747 AC_MSG_ERROR([the specified tree hasn't been compiled])
3749 LDFLAGS="${LDFLAGS_save}"
3752 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3755 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3756 AC_CHECK_HEADERS(x264.h, [
3757 AC_CHECK_LIB(x264, x264_encoder_open, [
3758 VLC_ADD_PLUGINS([x264])
3759 VLC_ADD_LDFLAGS([x264],[-lx264])
3761 if test "${enable_x264}" = "yes"; then
3762 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3766 LDFLAGS="${LDFLAGS_save}"
3771 dnl Teletext Modules
3772 dnl vbi decoder plugin (using libzbvi)
3777 [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
3779 [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)])
3781 AS_IF( [test "${enable_zvbi}" != "no"],[
3782 AS_IF( [test "${enable_telx}" = "yes"],[
3783 AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.])
3785 PKG_CHECK_MODULES(ZVBI,
3788 VLC_ADD_LDFLAGS([zvbi],[$ZVBI_LIBS])
3789 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3790 VLC_ADD_PLUGINS([zvbi])
3791 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3793 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3798 AS_IF( [test "${enable_telx}" = "yes"],[
3799 VLC_ADD_PLUGINS([telx])
3806 [ --enable-cmml CMML support (default enabled)])
3807 if test "${enable_cmml}" != "no"
3809 VLC_ADD_PLUGINS([cmml])
3817 AC_ARG_WITH(,[Video plugins:])
3820 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3821 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3822 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3823 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3824 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3826 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3827 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3832 #include <X11/Xlib.h>
3834 CPPFLAGS="${CPPFLAGS_save}"
3839 dnl (enabled by default except on win32)
3842 [ --enable-x11 X11 support (default enabled)])
3843 if test "${enable_x11}" != "no" &&
3844 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3845 test "${enable_x11}" = "yes"); then
3846 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3847 AC_CHECK_HEADERS(X11/Xlib.h, [
3848 VLC_ADD_PLUGINS([panoramix])
3849 VLC_ADD_LDFLAGS([panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3850 VLC_ADD_CPPFLAGS([panoramix],[${X_CFLAGS}])
3851 AC_CHECK_LIB(Xext, XShmAttach, [
3852 VLC_ADD_PLUGINS([x11])
3853 VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3854 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3857 CPPFLAGS="${CPPFLAGS_save}"
3862 dnl (enabled by default except on win32)
3864 AC_ARG_ENABLE(xvideo,
3865 [ --enable-xvideo XVideo support (default enabled)])
3866 if test "${enable_xvideo}" != "no" &&
3867 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3868 test "${enable_xvideo}" = "yes"); then
3869 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3870 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3871 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3872 AC_CHECK_LIB(Xv,XvPutImage,[
3873 # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3874 # test for libXv_pic.
3875 if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3876 VLC_ADD_PLUGINS([xvideo])
3877 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3878 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3880 AC_CHECK_LIB(Xv_pic,XvPutImage,[
3881 VLC_ADD_PLUGINS([xvideo])
3882 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3883 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3885 VLC_ADD_BUILTINS([xvideo])
3886 VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3887 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3891 CFLAGS="${CFLAGS_save}"
3893 CPPFLAGS="${CPPFLAGS_save}")
3898 dnl (enabled by default except on win32)
3901 [ --enable-glx X11 OpenGL (GLX) support (default enabled)])
3902 if test "${enable_glx}" != "no" &&
3903 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3904 test "${enable_glx}" = "yes"); then
3905 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3906 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3907 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3908 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3912 VLC_ADD_PLUGINS([glx])
3913 VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3914 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3915 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3916 CPPFLAGS="${CPPFLAGS_save}"
3921 dnl (enabled by default except on win32)
3924 [ --enable-xvmc XVMC support (default disabled)])
3925 if test "${enable_xvmc}" = "yes" &&
3926 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3927 test "${enable_xvmc}" = "yes"); then
3928 CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3929 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3930 VLC_ADD_PLUGINS([xvmc])
3931 VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3932 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}])
3934 CPPFLAGS="${CPPFLAGS_save}"
3938 dnl Check for the Xinerama extension
3940 AC_ARG_ENABLE(xinerama,
3941 [ --enable-xinerama Xinerama support (default enabled)])
3942 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3943 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3944 test "${enable_xvideo}" = "yes"); then
3945 ac_cv_have_xinerama="no"
3946 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3947 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3948 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3949 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3950 VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3951 VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3952 VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3953 ac_cv_have_xinerama="yes"
3955 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3956 VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3957 VLC_ADD_LDFLAGS([x11],[-lXinerama])
3958 VLC_ADD_LDFLAGS([glx],[-lXinerama])
3959 ac_cv_have_xinerama="yes"
3963 if test "${ac_cv_have_xinerama}" = "yes"; then
3964 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3966 CFLAGS="${CFLAGS_save}"
3967 CPPFLAGS="${CPPFLAGS_save}"
3970 dnl Check for XF86VidMode extension
3972 ac_cv_have_xf86vidmode="no"
3973 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3974 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3975 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3976 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3977 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3978 VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3979 VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3980 ac_cv_have_xf86vidmode="yes"
3982 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3983 VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3984 VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3985 VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3986 ac_cv_have_xf86vidmode="yes"
3990 [#ifdef HAVE_X11_XLIB_H
3991 # include <X11/Xlib.h>
3994 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3995 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3997 CFLAGS="${CFLAGS_save}"
3998 CPPFLAGS="${CPPFLAGS_save}"
4004 dnl (enabled by default except on beos)
4006 AC_ARG_ENABLE(opengl,
4007 [ --enable-opengl OpenGL support (default enabled)])
4008 if test "${enable_opengl}" != "no" &&
4009 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4010 if test "${SYS}" != "darwin"; then
4011 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4012 VLC_ADD_PLUGINS([opengl])
4013 if test "${SYS}" != "mingw32"; then
4014 VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
4016 VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
4020 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4021 VLC_ADD_PLUGINS([opengl])
4022 VLC_ADD_LDFLAGS([opengl],[-Wl,-framework,OpenGL])
4030 [ --enable-sdl SDL support (default enabled)])
4031 AC_ARG_ENABLE(sdl-image,
4032 [ --enable-sdl-image SDL image support (default enabled)])
4033 if test "${enable_sdl}" != "no"
4036 AC_ARG_WITH(sdl-config-path,
4037 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4038 [ if test "${with_sdl_config_path}" != "no"
4040 SDL_PATH="${with_sdl_config_path}:${PATH}"
4042 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4043 SDL_CONFIG="${SDL12_CONFIG}"
4044 SDL_HEADER="SDL12/SDL.h"
4045 SDL_IMAGE="SDL12/SDL_image.h"
4046 if test "${SDL_CONFIG}" = "no"
4048 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4049 SDL_CONFIG=${SDL11_CONFIG}
4050 SDL_HEADER="SDL11/SDL.h"
4051 SDL_IMAGE="SDL11/SDL_image.h"
4053 if test "${SDL_CONFIG}" = "no"
4055 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4056 SDL_HEADER="SDL/SDL.h"
4057 SDL_IMAGE="SDL/SDL_image.h"
4059 # check for cross-compiling
4061 AC_ARG_WITH(sdl-prefix,
4062 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4064 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4065 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4067 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4069 if test "${SDL_CONFIG}" != "no"
4071 # SDL on Darwin is heavily patched and can only run SDL_image
4072 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4073 VLC_ADD_PLUGINS([vout_sdl aout_sdl])
4075 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4076 VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4077 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4078 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4079 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4080 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4081 As a last resort we also test for SDL.h presence),
4082 [ AC_MSG_ERROR([The development package for SDL is not installed.
4083 Please install it and try again. Alternatively you can also configure with
4086 AS_IF([ test "${enable_sdl_image}" != "no"],[
4087 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4088 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4089 VLC_ADD_PLUGINS([sdl_image])
4090 AC_CHECK_LIB(png, png_set_rows,
4091 [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
4092 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4093 [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
4094 AC_CHECK_LIB(tiff, TIFFClientOpen,
4095 [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
4096 VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
4097 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4098 As a last resort we also test for SDL_image.h presence),
4099 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4100 You should install it alongside your SDL package.])
4103 CPPFLAGS="${CPPFLAGS_save}"
4104 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4106 AC_MSG_ERROR([The development package for SDL is not installed.
4107 Please install it and try again. Alternatively you can also configure with
4111 elif test "${enable_sdl}" = "yes"
4113 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4114 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4122 AC_ARG_ENABLE(freetype,
4123 [ --enable-freetype freetype support (default enabled)])
4124 AC_ARG_ENABLE(fribidi,
4125 [ --enable-fribidi fribidi support (default enabled)])
4126 if test "${enable_freetype}" != "no"
4128 FREETYPE_PATH="${PATH}"
4129 AC_ARG_WITH(freetype-config-path,
4130 [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
4131 [ if test "${with_freetype_config_path}" != "no"
4133 FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
4135 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
4137 if test "${FREETYPE_CONFIG}" != "no"
4139 VLC_ADD_PLUGINS([freetype])
4140 VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
4141 VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
4142 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4143 [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG])
4144 VLC_ADD_LDFLAGS([freetype],[-lfontconfig])])
4145 AC_CHECK_HEADERS(Carbon/Carbon.h,
4146 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4147 elif test "${enable_freetype}" = "yes"
4149 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4150 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4155 if test "${enable_fribidi}" != "no"
4157 FRIBIDI_PATH="${PATH}"
4158 AC_ARG_WITH(fribidi-config-path,
4159 [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
4160 [ if test "${with_fribidi_config_path}" != "no"
4162 FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
4164 AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
4166 if test "${FRIBIDI_CONFIG}" != "no"
4168 VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4169 VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
4170 VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
4171 VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
4179 AC_ARG_ENABLE(libxml2,
4180 [ --enable-libxml2 libxml2 support (default enabled)])
4181 if test "${enable_libxml2}" != "no"
4184 AC_ARG_WITH(xml2-config-path,
4185 [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
4186 [ if test "${with_xml2_config_path}" != "no"; then
4187 XML2_PATH="${with_xml2_config_path}:${PATH}"
4189 AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
4190 if test "${XML2_CONFIG}" != "no"; then
4191 VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
4192 VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
4193 dnl depends on the xmlTextReader extension
4194 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
4195 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
4196 AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
4197 AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
4198 VLC_ADD_PLUGINS([xml]) ],[
4199 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4200 if test "${enable_xml2}" = "yes"; then
4201 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4204 AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
4205 if test "${enable_xml2}" = "yes"; then
4206 AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
4208 LDFLAGS="${LDFLAGS_save}"
4209 CPPFLAGS="${CPPFLAGS_save}"
4211 if test "${enable_xml2}" = "yes"; then
4212 AC_MSG_ERROR([Could not find libxml2])
4221 [ --enable-svg SVG support (default disabled)])
4222 if test "${enable_svg}" = "yes"
4224 PKG_CHECK_MODULES(SVG,
4225 librsvg-2.0 >= 2.9.0,
4227 VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
4228 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4229 VLC_ADD_PLUGINS([svg]) ],
4230 [AC_MSG_WARN(SVG library not found)])
4234 dnl Snapshot vout module (with cache)
4236 AC_ARG_ENABLE(snapshot,
4237 [ --enable-snapshot snapshot module (default disabled)])
4238 if test "${enable_snapshot}" = "yes"
4240 VLC_ADD_PLUGINS([snapshot])
4244 dnl Qt Embedded module
4245 dnl (disabled by default)
4248 [ --enable-qte QT Embedded support (default disabled)])
4249 if test "${enable_qte}" = "yes"
4252 [ --with-qte=PATH Qt Embedded headers and libraries])
4253 if test "${with_qte}" != "no" -a -n "${with_qte}"
4255 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4256 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])
4258 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4259 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4261 VLC_ADD_PLUGINS([qte])
4263 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4264 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4265 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4267 CPPFLAGS="${CPPFLAGS_save}"
4271 dnl Qt Video output module
4272 dnl (disabled by default)
4274 dnl AC_ARG_ENABLE(qt_video,
4275 dnl [ --enable-qt_video QT Video Output support (default disabled)])
4276 dnl if test "${enable_qt_video}" = "yes"
4278 dnl VLC_ADD_PLUGINS([qt_video])
4279 dnl VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
4280 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
4281 dnl AC_CHECK_LIB(qt-mt,main,[
4282 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
4284 dnl AC_CHECK_LIB(qt,main,[
4285 dnl VLC_ADD_LDFLAGS([qt_video],[-lqt])
4288 dnl NEED_QTE_MAIN=yes
4289 dnl LDFLAGS="${LDFLAGS_save}"
4290 dnl VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4294 dnl Roku HD1000 Video output module
4296 AC_ARG_ENABLE(hd1000v,
4297 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4298 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4299 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4300 test "${enable_hd1000v}" = "yes"); then
4302 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4304 can_build_roku="yes"
4308 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4310 if test "$can_build_roku" = "yes"
4312 VLC_ADD_PLUGINS([hd1000v])
4313 VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
4319 dnl Windows DirectX module
4322 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4324 VLC_ADD_PLUGINS([panoramix])
4327 AC_ARG_ENABLE(directx,
4328 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4329 if test "${enable_directx}" != "no"
4331 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4333 AC_ARG_WITH(directx,
4334 [ --with-directx=PATH Win32 DirectX headers])
4335 if test -z "${with_directx}"
4337 AC_CHECK_HEADERS(ddraw.h,
4338 [ VLC_ADD_PLUGINS([vout_directx aout_directx])
4339 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4341 AC_CHECK_HEADERS(GL/gl.h,
4342 [ VLC_ADD_PLUGINS([glwin32])
4343 VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
4345 AC_CHECK_HEADERS(d3d9.h,
4346 [ VLC_ADD_PLUGINS([direct3d])
4347 VLC_ADD_LDFLAGS([direct3d],[-lgdi32])
4350 AC_MSG_CHECKING(for directX headers in ${with_directx})
4351 if test -f ${with_directx}/ddraw.h
4353 VLC_ADD_PLUGINS([vout_directx aout_directx])
4354 VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
4355 VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
4359 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4366 dnl Linux framebuffer module
4369 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4370 if test "${enable_fb}" != "no"
4372 AC_CHECK_HEADERS(linux/fb.h, [
4373 VLC_ADD_PLUGINS([fb])
4378 dnl Linux MGA module
4381 [ --enable-mga Linux kernel Matrox support (default disabled)],
4382 [ if test "${enable_mga}" = "yes"
4384 VLC_ADD_PLUGINS([mga])
4390 AC_ARG_ENABLE(svgalib,
4391 [ --enable-svgalib SVGAlib support (default disabled)])
4392 if test "${enable_svgalib}" = "yes"
4394 VLC_ADD_PLUGINS([svgalib])
4395 VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
4401 AC_ARG_ENABLE(directfb,
4402 [ --enable-directfb DirectFB support (default disabled)])
4403 if test "${enable_directfb}" = "yes"
4405 if test "${with_directfb}" = "no"
4407 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4408 if test "${have_directfb}"= "true"
4410 VLC_ADD_PLUGINS([directfb])
4411 VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4412 VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
4414 AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
4417 CPPFLAGS_save="${CPPFLAGS}"
4418 CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
4419 AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4420 CPPFLAGS="${CPPFLAGS_save}"
4421 AC_ARG_WITH(directfb,
4422 [ --with-directfb=PATH path to directfb],
4423 [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
4425 VLC_ADD_PLUGINS([directfb])
4426 VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
4427 VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4429 [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
4437 [ --enable-ggi GGI support (default disabled)])
4438 if test "${enable_ggi}" = "yes"
4440 VLC_ADD_PLUGINS([ggi])
4441 VLC_ADD_LDFLAGS([ggi],[-lggi])
4443 [ --with-ggi=PATH path to libggi],
4444 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4446 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4447 VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4454 AC_ARG_ENABLE(glide,
4455 [ --enable-glide Glide (3dfx) support (default disabled)])
4456 if test "${enable_glide}" = "yes"
4458 CFLAGS_save="${CFLAGS}"
4460 [ --with-glide=PATH path to libglide],
4461 [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4463 VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4464 VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4465 CFLAGS="$CFLAGS -I${with_glide}/include"
4467 CFLAGS="$CFLAGS -I/usr/include/glide"
4468 AC_CHECK_HEADER(glide.h,[
4469 VLC_ADD_PLUGINS([glide])
4470 VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4471 VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4473 AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4475 CFLAGS="${CFLAGS_save}"
4482 [ --enable-aa aalib output (default disabled)])
4483 if test "${enable_aa}" = "yes"
4485 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4486 if test "${have_aa}" = "true"
4488 VLC_ADD_PLUGINS([aa])
4489 VLC_ADD_LDFLAGS([aa],[-laa])
4497 [ --enable-caca libcaca output (default disabled)])
4498 if test "${enable_caca}" = "yes"
4501 AC_ARG_WITH(caca-config-path,
4502 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4503 [ if test "${with_caca_config_path}" != "no"
4505 CACA_PATH="${with_caca_config_path}:${PATH}"
4507 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4508 if test "${CACA_CONFIG}" != "no"
4510 VLC_ADD_PLUGINS([caca])
4511 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4512 VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4517 dnl win32 GDI plugin
4519 AC_ARG_ENABLE(wingdi,
4520 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4521 if test "${enable_wingdi}" != "no"; then
4522 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4523 VLC_ADD_PLUGINS([wingdi])
4524 VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4526 if test "${SYS}" = "mingwce"; then
4527 VLC_ADD_PLUGINS([wingdi wingapi])
4535 AC_ARG_WITH(,[Audio plugins:])
4538 dnl OSS /dev/dsp module (enabled by default except on win32)
4541 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4543 if test "${enable_oss}" != "no" &&
4544 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4545 test "${enable_oss}" = "yes")
4547 AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4548 VLC_ADD_PLUGINS([oss])
4549 AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4557 [ --enable-esd Esound library support (default disabled)],
4558 [if test "${enable_esd}" = "yes"
4560 AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4561 if test "${ESD_CONFIG}" != "no"
4563 VLC_ADD_PLUGINS([esd])
4564 VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4565 VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4570 dnl Portaudio module
4572 AC_ARG_ENABLE(portaudio,
4573 [ --enable-portaudio Portaudio library support (default disabled)],
4574 [if test "${enable_portaudio}" = "yes"
4576 VLC_ADD_PLUGINS([portaudio])
4577 VLC_ADD_CXXFLAGS([portaudio],[])
4578 if test "${SYS}" = "mingw32"; then
4579 VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4581 VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4586 dnl aRts module -- broken (freeze wxWidgets)
4589 [ --enable-arts aRts sound server (default disabled)],
4590 [if test "${enable_arts}" = "yes"
4592 AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4593 if test "${ARTS_CONFIG}" != "no"
4595 VLC_ADD_PLUGINS([arts])
4596 VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4597 VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4605 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4606 if test "${enable_alsa}" != "no"
4608 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4609 if test "${have_alsa}" = "true"
4611 CFLAGS="${CFLAGS_save}"
4612 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4613 #define ALSA_PCM_NEW_SW_PARAMS_API
4614 #include <alsa/asoundlib.h>],
4615 [snd_pcm_hw_params_get_period_time(0,0,0);],
4616 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4617 VLC_ADD_PLUGINS([alsa])
4618 VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4620 if test "${enable_alsa}" = "yes"; then
4621 AC_MSG_ERROR([Could not find ALSA development headers])
4627 dnl win32 waveOut plugin
4629 AC_ARG_ENABLE(waveout,
4630 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4631 if test "${enable_waveout}" != "no"; then
4632 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4633 VLC_ADD_PLUGINS([waveout])
4634 VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4636 if test "${SYS}" = "mingwce"; then
4637 VLC_ADD_PLUGINS([waveout])
4642 dnl CoreAudio plugin
4644 AC_ARG_ENABLE(macosx-audio,
4645 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4646 if test "${enable_macosx-audio}" != "no" &&
4647 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4649 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4650 [ VLC_ADD_BUILTINS([auhal])
4651 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4652 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4656 dnl Roku HD1000 audio
4658 AC_ARG_ENABLE(hd1000a,
4659 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4660 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4661 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4662 test "${enable_hd1000a}" = "yes")
4665 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4666 VLC_ADD_PLUGINS([hd1000a])
4667 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225])) ])
4675 [ --enable-jack JACK audio I/O modules (default disabled)],,
4678 AS_IF([test "${enable_jack}" != "no"], [
4679 AC_CHECK_HEADERS(jack/jack.h, [
4680 VLC_ADD_PLUGINS([access_jack jack])
4681 VLC_ADD_LDFLAGS([access_jack jack],[-ljack])
4682 ],[AC_MSG_ERROR([cannot find JACK headers])])
4686 dnl CyberLink for C++ UPnP stack
4688 AC_ARG_ENABLE(cyberlink,
4689 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4690 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4691 AC_ARG_WITH(cyberlink-tree,
4692 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4695 dnl test for --with-cyberlink-tree
4697 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4699 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4700 AS_IF([test -z "${real_cyberlink_tree}"], [
4701 dnl The given directory can't be found
4703 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4705 CPPFLAGS_save="${CPPFLAGS}"
4706 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4707 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4708 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4709 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4710 VLC_ADD_PLUGINS([upnp_cc])
4712 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4714 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4715 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4716 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4717 dnl The mere fact that we have to make such an ugly check sucks
4718 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4721 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4722 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4723 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4724 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4725 using namespace CyberLink;
4727 class testclass : public SearchResponseListener, public MediaPlayer
4729 virtual void deviceSearchResponseReceived( SSDPPacket *)
4736 addSearchResponseListener (this);
4740 ],[testclass l;])],[LIBS_cclink="$l"])
4743 dnl should not happen - otherwise this needs fixing - hence FAILURE
4744 AS_IF([test "${LIBS_cclink}" = "no"],
4745 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4746 AC_MSG_RESULT([${LIBS_cclink}])
4747 VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4750 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4752 CPPFLAGS="${CPPFLAGS_save}"
4758 dnl UPnP Plugin (Intel SDK)
4761 [ --enable-upnp Intel UPnP SDK (default auto)])
4763 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4764 AS_IF([test "x${enable_upnp}" != "xno"], [
4765 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4766 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4767 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4769 AS_IF([test "${has_upnp}" = "yes"], [
4770 VLC_ADD_LDFLAGS([upnp_intel], [-lupnp -lixml])
4776 AS_IF([test "${has_upnp}" = "yes"], [
4777 VLC_ADD_PLUGINS([upnp_intel])
4782 dnl Interface plugins
4785 AC_ARG_WITH(,[Interface plugins:])
4787 dnl special case for BeOS
4788 if test "${SYS}" = "beos"
4790 VLC_ADD_BUILTINS([beos])
4796 AC_ARG_ENABLE(skins2,
4797 [ --enable-skins2 Skins2 interface module (default disabled)])
4798 if test "${enable_skins2}" = "yes" ||
4799 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4800 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4802 dnl test for the required libraries
4803 skins2_missing_lib="no"
4806 if test "${FREETYPE_CONFIG}" != "no"; then
4807 VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4808 VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4810 skins2_missing_lib="yes"
4811 if test "${enable_skins2}" = "yes"; then
4812 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4816 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4817 VLC_ADD_PLUGINS([skins2])
4818 ALIASES="${ALIASES} svlc"
4819 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4820 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4821 VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4823 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4824 VLC_ADD_PLUGINS([skins2])
4825 ALIASES="${ALIASES} svlc"
4826 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4827 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4828 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4830 else if test "${skins2_missing_lib}" = "no"; then
4831 VLC_ADD_PLUGINS([skins2])
4832 ALIASES="${ALIASES} svlc"
4833 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4834 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4835 VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4843 dnl AC_ARG_ENABLE(gtk,
4844 dnl [ --enable-gtk Gtk+ support (default enabled)])
4845 dnl if test "${enable_gtk}" != "no"
4847 dnl GTK_PATH="${PATH}"
4848 dnl AC_ARG_WITH(gtk-config-path,
4849 dnl [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4850 dnl [ if test "${with_gtk_config_path}" != "no"
4852 dnl GTK_PATH="${with_gtk_config_path}:${PATH}"
4854 dnl # look for gtk-config
4855 dnl AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4856 dnl GTK_CONFIG=${GTK12_CONFIG}
4857 dnl if test "${GTK_CONFIG}" = "no"
4859 dnl AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4861 dnl if test "${GTK_CONFIG}" != "no"
4863 dnl if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4865 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.])
4867 dnl if test "${SYS}" != "mingw32"; then
4868 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4869 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4871 dnl VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4872 dnl VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4874 dnl # now look for the gtk.h header
4875 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4876 dnl ac_cv_gtk_headers=yes
4877 dnl AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4878 dnl ac_cv_gtk_headers=no
4879 dnl echo "Cannot find gtk development headers."
4881 dnl if test "${ac_cv_gtk_headers}" = "yes"
4883 dnl VLC_ADD_PLUGINS([gtk])
4884 dnl if test "${SYS}" != "mingw32"; then
4885 dnl NEED_GTK_MAIN=yes
4887 dnl ALIASES="${ALIASES} gvlc"
4889 dnl CPPFLAGS="${CPPFLAGS_save}"
4894 dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users
4896 dnl AC_ARG_ENABLE(gtk2,
4897 dnl [ --enable-gtk2 Gtk2 support (default disabled)])
4898 dnl if test "${enable_gtk2}" = "yes"
4900 dnl PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4901 dnl VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4902 dnl VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4903 dnl VLC_ADD_PLUGINS([gtk2])
4904 dnl if test "${SYS}" != "mingw32"; then
4905 dnl NEED_GTK2_MAIN=yes
4910 dnl PDA Gtk+2 module
4913 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4914 if test "${enable_pda}" = "yes"
4916 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4917 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4918 VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4919 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4920 VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4921 VLC_ADD_PLUGINS([pda])
4922 if test "${SYS}" != "mingw32"; then
4928 dnl dnl Gnome module
4930 dnl AC_ARG_ENABLE(gnome,
4931 dnl [ --enable-gnome Gnome interface support (default disabled)],
4932 dnl [if test "${enable_gnome}" = "yes"; then
4933 dnl # look for gnome-config
4934 dnl AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4935 dnl if test -x ${GNOME_CONFIG}
4937 dnl VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4938 dnl VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4940 dnl # now look for the gnome.h header
4941 dnl CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4942 dnl AC_CHECK_HEADERS(gnome.h, [
4943 dnl VLC_ADD_PLUGINS([gnome])
4944 dnl NEED_GTK_MAIN=yes
4945 dnl NEED_GNOME_MAIN=yes
4946 dnl ALIASES="${ALIASES} gnome-vlc"
4947 dnl dnl We need this because of some moronic gnomesupport.h flavours
4948 dnl AC_MSG_CHECKING(for strndup in gnome.h)
4949 dnl AC_EGREP_HEADER(strndup,gnome.h,[
4950 dnl AC_MSG_RESULT(yes)
4951 dnl AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4952 dnl Define if <gnome.h> defines strndup.)],[
4953 dnl AC_MSG_RESULT(no)])
4955 dnl AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4956 dnl developement tools or remove the --enable-gnome option])
4958 dnl CPPFLAGS="${CPPFLAGS_save}"
4962 dnl Gnome2 module ! Disabled for know as it is unuseable and confuses users
4964 dnl AC_ARG_ENABLE(gnome2,
4965 dnl [ --enable-gnome2 Gnome2 support (default disabled)])
4966 dnl if test "${enable_gnome2}" = "yes"
4968 dnl PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4969 dnl VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4970 dnl VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4971 dnl VLC_ADD_PLUGINS([gnome2])
4972 dnl if test "${SYS}" != "mingw32"; then
4973 dnl NEED_GNOME2_MAIN=yes
4978 dnl wxWidgets module
4980 AC_ARG_ENABLE(wxwidgets,
4981 [ --enable-wxwidgets wxWidgets support (default disabled)])
4983 if test "${enable_wxwidgets}" = "yes"
4985 AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.])
4986 WXWIDGETS_PATH="${PATH}"
4987 AC_ARG_WITH(wx-config-path,
4988 [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4989 [ if test "${with_wx_config_path}" != "no"
4991 WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4993 WXWIDGETS_NAME="wx-config"
4994 AC_ARG_WITH(wx-config,
4995 [ --with-wx-config=NAME wx-config name (default is wx-config)],
4996 [ if test "${with_wx_config}" != "no"
4998 WXWIDGETS_NAME="${with_wx_config}"
5000 # look for wx-config
5001 AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
5002 if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
5004 if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null
5006 AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.])
5010 # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
5011 # into a warning. However better would be to fix playlist.cpp
5012 AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
5013 [ac_cv_cxx_fpermissive],
5014 [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
5015 AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
5016 ac_cv_cxx_fpermissive=no)])
5017 if test "${ac_cv_cxx_fpermissive}" = "yes"; then
5018 VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
5020 VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
5021 VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
5022 # check if we must link against gtk2 libs
5023 # if __WXGTK20__ && __WXGTK__ are defined
5024 # for modules/gui/wxwidgets/video.cpp
5025 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
5028 #error ok, we need to link against gtk2
5030 ])],[WXGTK=no],[WXGTK=yes])
5031 if test "$WXGTK" = "yes"; then
5032 ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LDFLAGS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`])
5034 if ${WX_CONFIG} --unicode
5036 # wxwidgets should provide the following flags but does not
5037 # the following is required to compile for win32
5038 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
5040 AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.])
5042 if test "$have_libcdio" = "yes"
5044 VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
5045 VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
5047 AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
5050 if test "$have_libvcdinfo" = "yes"
5052 VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
5053 VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
5055 AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
5058 # now look for the wxprec.h header
5059 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
5060 ac_cv_wx_headers=yes
5061 AC_CHECK_HEADERS(wx/wxprec.h, , [
5063 echo "Cannot find wxWidgets development headers."
5065 if test "${ac_cv_wx_headers}" = "yes"
5067 VLC_ADD_PLUGINS([wxwidgets])
5068 ALIASES="${ALIASES} wxvlc"
5070 CPPFLAGS="${CPPFLAGS_save}"
5073 dnl WxWidgets plugin will yield incorrect code without this
5074 VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing])
5082 [ --enable-qt4 QT 4 support (default enabled) ])
5083 AS_IF([test "${enable_qt4}" != "no" &&
5084 (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [
5085 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0],
5086 [ VLC_ADD_PLUGINS([qt4])
5087 ALIASES="${ALIASES} qvlc"
5089 VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
5090 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
5091 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5092 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5093 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
5095 AS_IF([test "${enable_qt4}" = "yes"],[
5096 AC_MSG_ERROR(QT4 library not found)
5098 AC_MSG_WARN(QT4 library not found)
5102 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
5105 dnl WinCE GUI module
5107 if test "${SYS}" = "mingwce"; then
5108 VLC_ADD_BUILTINS([wince])
5109 VLC_ADD_CXXFLAGS([wince],[])
5110 VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
5112 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5113 elif test "${SYS}" = "mingw32"; then
5114 VLC_ADD_CXXFLAGS([wince],[])
5115 VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5117 VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5121 dnl Simple test for skins2 dependency
5123 if test "${enable_skins2}" != "no"
5125 if test "${WX_CONFIG}" = "no"
5127 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.])
5134 dnl AC_ARG_ENABLE(qt,
5135 dnl [ --enable-qt Qt interface support (default disabled)],
5136 dnl [if test "${enable_qt}" = "yes"; then
5137 dnl VLC_ADD_PLUGINS([qt])
5138 dnl ALIASES="${ALIASES} qvlc"
5139 dnl VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
5140 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
5141 dnl AC_CHECK_LIB(qt-mt,main,[
5142 dnl VLC_ADD_LDFLAGS([qt],[-lqt-mt])
5144 dnl AC_CHECK_LIB(qt,main,[
5145 dnl VLC_ADD_LDFLAGS([qt],[-lqt])
5148 dnl LDFLAGS="${LDFLAGS_save}"
5149 dnl VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
5150 dnl if test -x ${QTDIR}/bin/moc
5152 dnl MOC=${QTDIR}/bin/moc
5161 dnl AC_ARG_ENABLE(kde,
5162 dnl [ --enable-kde KDE interface support (default disabled)],
5163 dnl [if test "${enable_kde}" = "yes"; then
5164 dnl VLC_ADD_PLUGINS([kde])
5165 dnl ALIASES="${ALIASES} kvlc"
5166 dnl VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
5167 dnl dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
5168 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5169 dnl AC_CHECK_LIB(kfile,main,[
5170 dnl VLC_ADD_LDFLAGS([kde],[-lkfile])
5172 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5173 dnl AC_CHECK_LIB(kdeui,main,[
5174 dnl VLC_ADD_LDFLAGS([kde],[-lkdeui])
5176 dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
5177 dnl AC_CHECK_LIB(kio,main,[
5178 dnl VLC_ADD_LDFLAGS([kde],[-lkio])
5180 dnl LDFLAGS="${LDFLAGS_save}"
5181 dnl VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
5182 dnl VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
5183 dnl if test -x ${QTDIR}/bin/moc
5185 dnl MOC=${QTDIR}/bin/moc
5192 dnl Opie QT embedded module
5195 [ --enable-opie Qt embedded interface support (default disabled)],
5196 [if test "${enable_opie}" = "yes"; then
5198 [ --with-qte=PATH Qt Embedded headers and libraries])
5199 if test "${with_qte}" != "no" -a -n "${with_qte}"
5201 VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5202 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])
5204 VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5205 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5207 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5208 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5209 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5211 CPPFLAGS="${CPPFLAGS_save}"
5213 VLC_ADD_PLUGINS([opie])
5215 VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
5216 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5217 if test "${with_qte}" != "no" -a -n "${with_qte}"
5219 MOC=${with_qte}/bin/moc
5221 MOC=${QTDIR}/bin/moc
5229 CFLAGS="$CFLAGS -x objective-c"
5230 AC_ARG_ENABLE(macosx,
5231 [ --enable-macosx MacOS X support (default enabled on MacOS X)],
5232 [if test "${enable_macosx}" = "yes"
5234 VLC_ADD_PLUGINS([access_eyetv])
5235 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5236 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
5237 VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
5239 [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
5240 [VLC_ADD_PLUGINS([access_eyetv])
5241 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
5242 VLC_ADD_BUILTINS([macosx])
5243 VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit])
5244 VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
5252 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5253 if test "${enable_qnx}" != "no"
5255 AC_CHECK_HEADERS(Ph.h, [
5256 VLC_ADD_PLUGINS([qnx])
5257 VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
5264 AC_ARG_ENABLE(ncurses,
5265 [ --enable-ncurses ncurses interface support (default disabled)],
5266 [if test "${enable_ncurses}" = "yes"; then
5267 VLC_ADD_PLUGINS([ncurses])
5268 VLC_ADD_LDFLAGS([ncurses],[-lncurses])
5275 [ --enable-xosd xosd interface support (default disabled)])
5276 if test "${enable_xosd}" = "yes"
5278 AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
5279 AC_CHECK_LIB(xosd,xosd_set_offset,
5280 AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
5281 AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
5282 AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
5283 AC_TRY_COMPILE([#include <xosd.h>],
5284 [xosd_init("foo","bar",12,XOSD_top,2,12,42);],,
5285 AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
5286 if test "${have_xosd}" = "true"
5288 VLC_ADD_PLUGINS([xosd])
5289 VLC_ADD_LDFLAGS([xosd],[-lxosd])
5294 dnl Visualisation plugin
5296 AC_ARG_ENABLE(visual,
5297 [ --enable-visual visualisation plugin (default enabled)])
5298 if test "${enable_visual}" != "no"
5300 VLC_ADD_PLUGINS([visual])
5304 dnl OpenGL visualisation plugin
5306 AC_ARG_ENABLE(galaktos,
5307 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5308 if test "${enable_galaktos}" = "yes"
5310 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5311 VLC_ADD_PLUGINS([galaktos])
5312 if test "${SYS}" != "mingw32"; then
5313 VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
5315 VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
5321 dnl goom visualization plugin
5324 [ --enable-goom goom visualisation plugin (default disabled)])
5325 if test "${enable_goom}" = "yes"
5327 AC_ARG_WITH(goom-tree,
5328 [ --with-goom-tree=PATH goom tree for static linking (required)])
5331 dnl test for --with-goom-tree
5333 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5334 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5335 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5336 if test -z "${real_goom_tree}"; then
5337 dnl The given directory can't be found
5339 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5341 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5342 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5343 VLC_ADD_BUILTINS([goom])
5344 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5345 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5347 dnl The given libgoom2 wasn't built, try to look for the old goom
5349 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5350 if test -f "${real_goom_tree}/libgoom.a"; then
5351 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5352 VLC_ADD_BUILTINS([goom])
5353 VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
5354 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5356 dnl The given libgoom wasn't built
5358 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5362 AC_CHECK_HEADERS(goom/goom.h, [
5363 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
5364 AC_CHECK_LIB(goom2, goom_init, [
5365 VLC_ADD_PLUGINS([goom])
5366 VLC_ADD_LDFLAGS([goom],[-lgoom2])
5368 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5370 LDFLAGS="${LDFLAGS_save}"
5376 dnl Bonjour services discovery
5378 AC_ARG_ENABLE(bonjour,
5379 [ --enable-bonjour Bonjour services discovery (default enabled)])
5380 if test "${enable_bonjour}" != "no"
5382 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
5383 [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
5384 [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
5385 AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
5386 VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
5387 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5388 VLC_ADD_PLUGINS([bonjour]) ],
5389 [AC_MSG_WARN(avahi-client library not found)])
5396 [ --enable-lirc lirc support (default disabled)])
5397 if test "${enable_lirc}" = "yes"
5399 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5400 if test "${have_lirc}" = "true"
5402 VLC_ADD_PLUGINS([lirc])
5403 VLC_ADD_LDFLAGS([lirc],[-llirc_client])
5408 AC_ARG_WITH(,[Misc options:])
5413 AC_ARG_ENABLE(gnutls,
5414 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5416 AS_IF([test "${enable_gnutls}" != "no"], [
5417 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2.9], [have_gnutls="yes"], [have_gnutls="no"])
5419 AS_IF([test "${have_gnutls}" = "yes"], [
5420 VLC_ADD_PLUGINS([gnutls])
5421 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5422 AS_IF([test "${SYS}" = "mingw32"], [
5423 dnl pkg-config --libs gnutls omits these
5424 VLC_ADD_LDFLAGS([gnutls], [-lz])
5425 VLC_ADD_LDFLAGS([gnutls], [${LTLIBINTL}])
5427 AC_CHECK_LIB([gcrypt], [gcry_control], [
5428 VLC_ADD_LDFLAGS([gnutls], [-lgcrypt -lgpg-error])
5429 ], [], [-lgpg-error])
5430 VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
5432 AS_IF([test "${enable_gnutls}" = "yes"], [
5433 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5441 AC_ARG_ENABLE(libgcrypt,
5442 [ --enable-libgcrypt libgcrypts support (default enabled)])
5443 if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
5445 dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
5446 dnl it and looks for libgcrypt headers in the wrong place.
5447 if test "${host_cpu}" = "${build_cpu}"
5449 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5451 AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no")
5454 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5458 dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5460 dnl We give the user the opportunity to specify
5461 dnl --with-words=big or --with-words=little ; otherwise, try to guess
5464 [ --with-words=endianness set endianness (big or little)])
5465 case "${with_words}" in
5467 ac_cv_c_bigendian=yes
5470 ac_cv_c_bigendian=no
5473 dnl Try to guess endianness by matching patterns on a compiled
5474 dnl binary, by looking for an ASCII or EBCDIC string
5475 AC_CACHE_CHECK([whether the byte order is big-endian],
5476 [ac_cv_c_bigendian],
5477 [ac_cv_c_bigendian="unknown"
5478 [cat >conftest.c <<EOF
5479 short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5480 short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5481 void _a(void) { char*s = (char*)am; s = (char *)ai; }
5482 short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5483 short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5484 void _e(void) { char*s = (char*)em; s = (char*)ei; }
5485 int main(void) { _a(); _e(); return 0; }
5488 if test -f conftest.c
5490 if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5491 && test -f conftest.o
5493 if test "`strings conftest.o | grep BIGenDianSyS`"
5495 ac_cv_c_bigendian="yes"
5497 if test "`strings conftest.o | grep LiTTleEnDian`"
5499 ac_cv_c_bigendian="no"
5504 if test "${ac_cv_c_bigendian}" = "unknown"
5506 AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5510 dnl Now we know what to use for endianness, just put it in the header
5511 if test "${ac_cv_c_bigendian}" = "yes"
5513 AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5517 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5520 AC_ARG_ENABLE(loader,
5521 [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)])
5522 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5523 AS_IF([test "${enable_loader}" = "yes"],
5524 [ VLC_ADD_PLUGINS([dmo])
5525 VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader])
5526 VLC_ADD_LDFLAGS([dmo],[../../../libs/loader/libloader.la -lpthread])
5527 VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader])
5528 VLC_ADD_LDFLAGS([quicktime],[../../libs/loader/libloader.la -lpthread])
5529 VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER])
5530 VLC_ADD_LDFLAGS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread])
5534 dnl Microsoft ActiveX support
5537 AC_ARG_ENABLE(activex,
5538 [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)])
5539 AC_ARG_WITH(wine-sdk-path,
5540 [ --with-wine-sdk-path=PATH path to wine sdk])
5541 if test "${enable_activex}" != "no"
5543 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5545 AC_CHECK_PROGS(MIDL, [midl], no)
5546 if test "${with_wine_sdk_path}" != ""
5548 WINE_SDK_PATH=${with_wine_sdk_path}
5549 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5554 AC_CHECK_HEADERS(ole2.h,
5555 [AC_CHECK_HEADERS(olectl.h,
5556 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5557 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5558 VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi -lgdi32])
5559 AC_CHECK_HEADERS(objsafe.h,
5560 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5568 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5570 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5572 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5577 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5578 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5579 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5580 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5581 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5587 AC_ARG_ENABLE(mozilla,
5588 [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)])
5589 AC_ARG_WITH(mozilla-sdk-path,
5590 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5592 if test "${enable_mozilla}" = "yes"
5594 dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5595 need_xpcom_libs=false
5597 if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
5599 dnl New firefox-1.5 SDK api
5600 PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
5602 PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
5605 PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr],
5608 PKG_CHECK_MODULES([NSPR], [nspr],
5611 AC_MSG_ERROR([Please install the nspr development tools.])
5617 CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
5618 MOZILLA_REQUIRED_HEADERS=1
5619 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5620 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5621 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5626 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5627 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5629 MOZILLA_REQUIRED_HEADERS=
5631 firefox_include=`pkg-config --variable=includedir firefox-plugin`
5632 if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
5633 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
5634 elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
5635 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
5637 MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
5639 if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
5640 VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
5642 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
5643 VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}])
5644 VLC_ADD_PLUGINS([mozilla])
5646 CPPFLAGS="${CPPFLAGS_save}"
5649 AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5650 if test "${MOZILLA_CONFIG}" = "no"
5652 AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
5653 if test "${SEAMONKEY_CONFIG}" = "no"
5655 AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5656 if test "${XULRUNNER_CONFIG}" = "no"
5658 AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5661 MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5664 MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
5669 if test ! -z "${MOZILLA_CONFIG}"
5671 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5672 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5673 AC_CHECK_LIB(Xt,XtStrings,
5675 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5676 VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5679 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5681 LDFLAGS="${LDFLAGS_save}"
5685 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5686 dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5687 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5688 if ${need_xpcom_libs}; then
5689 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5691 VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5693 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5694 MOZILLA_REQUIRED_HEADERS=1
5695 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5696 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5697 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5702 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5704 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5706 MOZILLA_REQUIRED_HEADERS=
5707 CPPFLAGS="${CPPFLAGS_save}"
5708 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5710 dnl End of moz_sdk = ""
5712 dnl special case for mingw32
5713 if test "${SYS}" = "mingw32"
5715 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5716 dnl latest gecko sdk does not have an xpcom directory
5717 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5718 mozilla_sdk_xpcom="/xpcom"
5722 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5723 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5724 MOZILLA_REQUIRED_HEADERS=1
5725 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5726 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5727 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5732 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5734 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5736 MOZILLA_REQUIRED_HEADERS=
5738 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5739 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])
5740 if ${need_xpcom_libs}; then
5741 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])
5742 if test "${SYS}" = "mingw32"; then
5743 dnl latest gecko sdk does not have embedstring
5744 if test -d "${real_mozilla_sdk}/embedstring/bin"
5746 VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
5750 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5752 if test -n "${CYGPATH}"; then
5753 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5755 CPPFLAGS="${CPPFLAGS_save}"
5759 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5761 dnl Tests for Osso and Xsp
5762 if test "${enable_x11}" != "no" &&
5763 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
5764 test "${enable_x11}" = "yes"); then
5765 AC_CHECK_LIB(osso, osso_display_blanking_pause,[
5766 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5767 VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5768 VLC_ADD_LDFLAGS([x11],[-losso])
5771 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5772 VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP])
5773 VLC_ADD_LDFLAGS([x11],[-lXsp])
5778 dnl Mediacontrol Python bindings
5780 AC_ARG_ENABLE(python-bindings,
5781 [ --enable-python-bindings Enable Python bindings (default disabled)])
5782 dnl TODO: look for python dev headers
5783 AS_IF([test "${enable_python_bindings}" = "yes"],
5784 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
5787 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
5792 AC_ARG_ENABLE(java-bindings,
5793 [ --enable-java-bindings Enable Java bindings (default disabled)])
5794 if test "${enable_java_bindings}" = "yes"
5796 AS_IF([test "x${JAVA_HOME}" == "x"],
5797 [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5800 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java"
5801 if test "${JAVAC}" == "javac${EXEEXT}"
5803 JAVAC="javac${EXEEXT} -cp ./ "
5806 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5811 AC_ARG_ENABLE(testsuite,
5812 [ --enable-testsuite build test modules (default disabled)])
5813 if test "${enable_testsuite}" = "yes"
5815 TESTS="test1 test2 test3 test4"
5817 dnl we define those so that bootstrap sets the right linker
5818 VLC_ADD_CXXFLAGS([test2],[])
5819 VLC_ADD_OBJCFLAGS([test3],[])
5820 dnl this one is needed until automake knows what to do
5821 VLC_ADD_LDFLAGS([test3],[-lobjc])
5823 VLC_ADD_PLUGINS([${TESTS}])
5824 #VLC_ADD_BUILTINS([${TESTS}])
5828 dnl Microsoft Layer for Unicode for WIN9x/ME
5830 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5832 AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5833 VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5840 if test "${NEED_GTK_MAIN}" != "no"
5842 VLC_ADD_PLUGINS([gtk_main])
5843 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5844 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5847 if test "${NEED_GNOME_MAIN}" != "no"
5849 VLC_ADD_PLUGINS([gnome_main])
5850 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5851 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5854 if test "${NEED_GTK2_MAIN}" != "no"
5856 VLC_ADD_PLUGINS([gtk2_main])
5857 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5858 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5859 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5860 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5863 if test "${NEED_GNOME2_MAIN}" != "no"
5865 VLC_ADD_PLUGINS([gnome2_main])
5866 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5867 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5873 if test "${NEED_QTE_MAIN}" != "no"
5875 VLC_ADD_PLUGINS([qte_main])
5876 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5877 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5878 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5883 dnl Plugin and builtin checks
5885 builtin_support=false
5888 dnl Support for plugins - this must be AT THE END
5889 AC_ARG_ENABLE(plugins,
5890 [ --disable-plugins make all plugins built-in (default plugins enabled)],
5891 [if test "${enable_plugins}" = "no"
5893 plugin_support=false
5896 dnl Automagically disable plugins if there is no system support for
5897 dnl dynamically loadable files (.so, .dll, .dylib).
5898 dnl don't forget vlc-win32 still can load .dll as plugins
5899 if test "${ac_cv_have_plugins}" = "no"
5901 echo "*** Your system doesn't have plugin support. All plugins will be built"
5903 plugin_support=false
5906 AS_IF([${plugin_support}], [
5907 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5909 VLC_ADD_BUILTINS([${PLUGINS}])
5914 dnl Pic and shared libvlc stuff
5916 VLC_ADD_PLUGINS([${BUILTINS}])
5917 AS_IF([test "${SYS}" = "mingw32"], [
5918 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5923 dnl Stuff used by the program
5925 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5926 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
5927 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5928 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5929 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5930 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5931 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5932 AC_SUBST(VERSION_MAJOR)
5933 AC_SUBST(VERSION_MINOR)
5934 AC_SUBST(VERSION_REVISION)
5935 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5936 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5937 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5938 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5940 dnl Old definitions for version-dependant plugins
5941 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
5942 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
5943 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
5945 dnl New definitions with value matching 0.9.0 release
5946 module_symbol="0_9_0b"
5947 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5948 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5949 VLC_ENTRY="vlc_entry__${module_symbol}"
5953 dnl Handle substvars that use $(top_srcdir)
5955 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5956 AC_SUBST(VLC_CONFIG)
5957 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
5965 dnl Create the vlc-config script
5967 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5970 dnl Configuration is finished
5980 AC_SUBST(MOZILLA_SDK_PATH)
5981 AC_SUBST(WINE_SDK_PATH)
5983 AC_SUBST(AM_CPPFLAGS)
5984 AC_SUBST(ALL_LINGUAS)
5985 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5986 AC_SUBST(FILE_LIBVLC_DLL)
5988 dnl Create vlc-config.in
5989 VLC_OUTPUT_VLC_CONFIG_IN
5997 bindings/java/Makefile
5998 bindings/java/src/Makefile
5999 bindings/python/Makefile
6003 libs/loader/Makefile
6014 modules/access/Makefile
6015 modules/access/bda/Makefile
6016 modules/access/dshow/Makefile
6017 modules/access/dvb/Makefile
6018 modules/access/mms/Makefile
6019 modules/access/cdda/Makefile
6020 modules/access/rtsp/Makefile
6021 modules/access/vcd/Makefile
6022 modules/access/vcdx/Makefile
6023 modules/access/screen/Makefile
6024 modules/access_filter/Makefile
6025 modules/access_output/Makefile
6026 modules/audio_filter/Makefile
6027 modules/audio_filter/channel_mixer/Makefile
6028 modules/audio_filter/converter/Makefile
6029 modules/audio_filter/resampler/Makefile
6030 modules/audio_mixer/Makefile
6031 modules/audio_output/Makefile
6032 modules/codec/Makefile
6033 modules/codec/cmml/Makefile
6034 modules/codec/dmo/Makefile
6035 modules/codec/ffmpeg/Makefile
6036 modules/codec/spudec/Makefile
6037 modules/codec/xvmc/Makefile
6038 modules/control/Makefile
6039 modules/control/http/Makefile
6040 modules/demux/Makefile
6041 modules/demux/asf/Makefile
6042 modules/demux/avi/Makefile
6043 modules/demux/mp4/Makefile
6044 modules/demux/mpeg/Makefile
6045 modules/demux/playlist/Makefile
6046 modules/gui/Makefile
6047 modules/gui/beos/Makefile
6048 modules/gui/pda/Makefile
6049 modules/gui/macosx/Makefile
6050 modules/gui/qnx/Makefile
6051 modules/gui/qt4/Makefile
6052 modules/gui/skins2/Makefile
6053 modules/gui/wxwidgets/Makefile
6054 modules/gui/wince/Makefile
6055 modules/meta_engine/Makefile
6056 modules/misc/Makefile
6057 modules/misc/dummy/Makefile
6058 modules/misc/memcpy/Makefile
6059 modules/misc/notify/Makefile
6060 modules/misc/testsuite/Makefile
6061 modules/misc/playlist/Makefile
6062 modules/misc/xml/Makefile
6063 modules/misc/probe/Makefile
6064 modules/mux/Makefile
6065 modules/mux/mpeg/Makefile
6066 modules/mux/rtp/Makefile
6067 modules/packetizer/Makefile
6068 modules/services_discovery/Makefile
6069 modules/stream_out/Makefile
6070 modules/stream_out/transrate/Makefile
6071 modules/video_chroma/Makefile
6072 modules/video_filter/Makefile
6073 modules/video_output/Makefile
6074 modules/video_output/msw/Makefile
6075 modules/video_output/qte/Makefile
6076 modules/video_output/x11/Makefile
6077 modules/visualization/Makefile
6078 modules/visualization/visual/Makefile
6079 modules/visualization/galaktos/Makefile
6082 dnl Generate makefiles
6085 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
6086 # not provided with the source
6087 ${SHELL} ./config.status --file=vlc-config
6088 chmod 0755 vlc-config
6090 dnl echo "Enabled builtin modules :"
6091 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
6093 dnl echo "Enabled plugin modules :"
6094 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
6096 dnl Shortcut to nice compile message
6098 echo '#! /bin/sh' >compile
6100 echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile
6101 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
6106 --------------------
6107 vlc version : ${VERSION}
6109 architecture : ${ARCH}
6111 test "${enable_debug}" = "yes" && printf "debug "
6112 test "${enable_cprof}" = "yes" && printf "cprof "
6113 test "${enable_gprof}" = "yes" && printf "gprof "
6114 test "${enable_optimizations}" = "yes" && printf "optim "
6115 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6117 vlc aliases :${ALIASES}
6118 plugins/bindings :${PLUGINS_BINDINGS}
6120 You can tune the compiler flags in vlc-config.
6121 To build vlc and its plugins, type \`./compile' or \`make'.