1 dnl Autoconf settings for vlc
3 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
5 AC_INIT(vlc, 1.1.0-git)
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
14 CODENAME="Yellow Bastard"
15 COPYRIGHT_YEARS="1996-2009"
18 AC_CONFIG_SRCDIR(src/libvlc.c)
19 AC_CONFIG_AUX_DIR(autotools)
20 AC_CONFIG_MACRO_DIR(m4)
21 AC_CONFIG_LIBOBJ_DIR(compat)
25 AM_INIT_AUTOMAKE(tar-ustar)
26 AM_CONFIG_HEADER(config.h)
28 dnl Too many people are not aware of maintainer mode:
29 dnl If you want to use it, you definitely know what you are doing, so
30 dnl you can specify "--disable-maintainer-mode". But if you want the default
31 dnl automake behavior, you've likely never heard of maintainer mode, so we
32 dnl can't expect you to enable it manually.
34 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
35 [enable_maintainer_mode="yes"])
41 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
42 dnl AC_SUBST(vlcincludedir)
43 vlcdatadir="\${datadir}/\${PKGDIR}"
45 vlclibdir="\${libdir}/\${PKGDIR}"
49 dnl Deprecated options
50 dnl to notify packagers that stuff has changed
52 AC_ARG_ENABLE(python-bindings,
53 [ --enable-python-bindings Always fails for historical reasons)],,
54 [enable_python_bindings="no"])
55 AS_IF([test "${enable_python_bindings}" != "no"], [
56 AC_MSG_ERROR([Python bindings are now built from a separate source package])
59 AC_ARG_ENABLE(java-bindings,
60 [ --enable-java-bindings Always fails for historical reasons],,
61 [enable_java_bindings="no"])
62 AS_IF([test "${enable_java_bindings}" != "no"], [
63 AC_MSG_ERROR([Java bindings are now built from a separate source package])
75 AC_USE_SYSTEM_EXTENSIONS
76 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
82 _AM_DEPENDENCIES([OBJC])
88 dnl Find the right ranlib, even when cross-compiling
89 AC_CHECK_TOOL(RANLIB, ranlib, :)
90 AC_CHECK_TOOL(STRIP, strip, :)
91 AC_CHECK_TOOL(AR, ar, :)
92 AC_CHECK_TOOL(LD, ld, :)
93 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
95 dnl Check for compiler properties
100 dnl Allow binary package maintainer to pass a custom string to avoid
102 AC_ARG_WITH(binary-version,
103 AS_HELP_STRING([--with-binary-version=STRING],
104 [To avoid plugins cache problem between binary version]),[],[])
105 AS_IF([test -n "${with_binary_version}"],[
106 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
107 [Binary specific version])
112 dnl Check for the contrib directory
115 [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[])
116 AS_IF([test "${with_contrib}" != "no"],[
117 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
118 if test -z "$CONTRIB_DIR"
120 topdir="`dirname $0`"
121 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
122 topdir="`pwd`/$topdir"
124 CONTRIB_DIR=${topdir}/extras/contrib
126 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
127 AS_IF([test -d ${CONTRIB_DIR}/lib],[
128 AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
129 if test "${with_contrib}" = "yes"; then
131 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
134 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
138 export PATH=${CONTRIB_DIR}/bin:$PATH
139 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
140 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
141 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
142 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
143 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
144 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
145 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
146 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
147 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
148 export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
150 export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
152 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
153 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
155 if test -z $with_mozilla_sdk_path; then
156 with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
158 if test -z $with_cyberlink_tree; then
159 with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
162 if test ".`uname -s`" = ".Darwin"; then
163 export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
164 export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
165 elif test ".`uname -s`" = ".BeOS"; then
166 export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
167 export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
175 dnl Set default values
177 LDFLAGS_vlc="${LDFLAGS}"
180 dnl Check the operating system
191 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
192 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
196 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
199 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
200 CPPFLAGS="${CPPFLAGS_save}"
201 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
202 LDFLAGS="${LDFLAGS_save}"
208 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
209 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
210 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
211 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
212 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
213 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
214 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
215 VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
216 VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
217 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
218 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
219 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
220 AC_ARG_ENABLE(macosx-defaults,
221 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
222 if test "x${enable_macosx_defaults}" != "xno"
225 echo "Building with Mac OS X defaults:"
226 with_macosx_version_min="10.5"
227 echo " Assuming --with-macosx-version-min=10.5"
228 with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
229 echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
231 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
232 ac_default_prefix="${build_dir}/vlc_install_dir"
234 echo " Assuming --enable-macosx"
236 echo " Assuming --enable-faad"
238 echo " Assuming --enable-flac"
240 echo " Assuming --enable-theora"
242 echo " Assuming --enable-shout"
244 echo " Assuming --enable-cddax"
246 echo " Assuming --enable-vcdx"
248 echo " Assuming --enable-caca"
250 echo " Assuming --enable-goom"
252 echo " Assuming --enable-ncurses"
254 echo " Assuming --enable-twolame"
255 enable_realrtsp="yes"
256 echo " Assuming --enable-realrtsp"
257 enable_update_check="yes"
258 echo " Assuming --enable-update-check"
260 echo " Assuming --enable-libass"
261 enable_asademux="yes"
262 echo " Assuming --enable-asademux"
265 echo " Assuming --disable-skins2"
267 echo " Assuming --disable-x11"
269 echo " Assuming --disable-xcb"
271 echo " Assuming --disable-glx"
273 echo " Assuming --disable-xvideo"
276 dnl Check for Mac OS X SDK settings
278 AC_ARG_WITH(macosx-sdk,
279 [ --with-macosx-sdk=DIR compile using the SDK in DIR])
280 if test "${with_macosx_sdk}" != "" ; then
281 CPP="${CPP} -isysroot ${with_macosx_sdk}"
282 CC="${CC} -isysroot ${with_macosx_sdk}"
283 CXX="${CXX} -isysroot ${with_macosx_sdk}"
284 OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
285 LD="${LD} -syslibroot ${with_macosx_sdk}"
287 AC_ARG_WITH(macosx-version-min,
288 [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above])
289 if test "${with_macosx_version_min}" != "" ; then
290 CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
291 CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
292 CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
293 OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
294 LD="${LD} -macosx_version_min=${with_macosx_version_min}"
295 CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
296 CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
297 OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
298 MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
299 export MACOSX_DEPLOYMENT_TARGET
303 if (test ".`uname -p`" = ".i386"); then
304 dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
305 dnl without hacking it a lot, we disable mmx and sse.
306 dnl (that bug is about ld being unable to handle
308 save_cflags="$CFLAGS"
309 CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
311 [int a;], [asm("movq _a,%mm0\n");],
312 ac_ld_does_not_support_text_reloc=no,
313 ac_ld_does_not_support_text_reloc=yes)
314 CFLAGS="$save_cflags"
316 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
318 echo " Assuming --disable-mmx (due to a bug in ld)"
320 echo " Assuming --disable-sse (due to a bug in ld)"
324 *mingw32* | *cygwin* | *wince* | *mingwce*)
325 AC_CHECK_TOOL(WINDRES, windres, :)
326 AC_CHECK_TOOL(OBJCOPY, objcopy, :)
329 *wince* | *mingwce* | *mingw32ce*)
331 dnl Sadly CeGCC still needs non-wince macros
332 AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
336 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
339 dnl Check if we are using the mno-cygwin mode in which case we are
340 dnl actually dealing with a mingw32 compiler.
341 AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
346 SYS=mingw32, SYS=cygwin)
350 if test "${SYS}" = "mingw32"; then
351 # add ws2_32 for closesocket, select, recv
352 VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
353 VLC_ADD_LDFLAGS([vlc],[-mwindows])
354 VLC_ADD_LIBS([activex mozilla],[-lgdi32])
355 VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
356 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi],[-lws2_32])
357 VLC_ADD_LIBS([access_file], [-lshlwapi])
359 if test "${SYS}" = "mingwce"; then
360 # add ws2 for closesocket, select, recv
361 VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2])
362 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
367 VLC_ADD_LIBS([x11 xvideo],[-lsocket])
371 # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
372 # Perhaps it is useful other places as well?
373 CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
380 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
381 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
382 VLC_ADD_CXXFLAGS([beos],[])
383 VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
384 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
385 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
386 VLC_ADD_LIBS([access_file],[-lpoll])
387 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
389 if test -f /boot/beos/system/lib/libbind.so; then
390 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
392 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet])
395 dnl Ugly check for Zeta
396 if test -f /boot/beos/system/lib/libzeta.so; then
397 VLC_ADD_LIBS([beos],[-lzeta])
404 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
405 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
406 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
407 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
408 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
411 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
412 dnl for program foo on win32
414 case "${build_os}" in
416 ac_executable_extensions=".exe"
424 dnl It's very bad, but our former custom system was worst
428 dnl override platform specific check for dependent libraries
429 dnl otherwise libtool linking of shared libraries will
430 dnl fail on anything other than pass_all.
431 AC_CACHE_VAL(lt_cv_deplibs_check_method,
432 [lt_cv_deplibs_check_method=pass_all])
435 dnl AC_DISABLE_FAST_INSTALL
438 m4_undefine([AC_PROG_F77])
439 m4_defun([AC_PROG_F77],[])
442 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
443 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
445 lt_cv_deplibs_check_method=pass_all
451 AM_GNU_GETTEXT_VERSION([0.17])
452 AM_GNU_GETTEXT([external])
453 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
459 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
460 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
462 dnl Check for broken versions of mingw-runtime compatability library
463 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
464 AC_MSG_CHECKING(for broken mingw-runtime)
467 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
468 # error Attempting to use mingw-runtime with broken vsnprintf support
473 AC_MSG_RESULT([present])
474 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
476 dnl force use of mingw provided c99 *printf over msvcrt
477 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
478 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
481 dnl Check for the need to include the mingwex lib for mingw32
482 if test "${SYS}" = "mingw32"
484 AC_CHECK_LIB(mingwex,opendir,
485 AC_CHECK_LIB(mingw32,opendir,,
486 [VLC_ADD_LIBS([libvlccore gtk],[-lmingwex])])
490 dnl Check for fnative-struct or mms-bitfields support for mingw32
491 if test "${SYS}" = "mingw32"
493 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
494 [ac_cv_c_mms_bitfields],
495 [CFLAGS="${CFLAGS_save} -mms-bitfields"
496 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
497 if test "${ac_cv_c_mms_bitfields}" != "no"; then
498 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
499 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
501 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
502 [ac_cv_c_fnative_struct],
503 [CFLAGS="${CFLAGS_save} -fnative-struct"
504 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
505 if test "${ac_cv_c_fnative_struct}" != "no"; then
506 CFLAGS_save="${CFLAGS_save} -fnative-struct";
507 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
511 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
514 dnl Check for fvtable-thunks support for mingw32
515 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
518 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
519 [ac_cv_cxx_fvtable_thunks],
520 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
521 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
522 ac_cv_cxx_fvtable_thunks=no)])
523 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
524 CXXFLAGS_mingw32_special="-fvtable-thunks"
527 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
532 dnl Buggy glibc prevention. Purposedly not cached.
533 dnl Ubuntu alone has 20 bug numbers for this...
535 AC_MSG_CHECKING(for buggy GNU/libc versions)
538 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
539 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
540 # error GNU/libc with dcgettext killer bug!
543 AC_MSG_RESULT([not present])
545 AC_MSG_RESULT([found])
546 AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
547 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
548 work-around for this. Check with your distribution vendor on how to update the
549 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
550 be sure to not use LibVLC from other applications/wrappers.])
552 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
556 dnl Plugin compilation stuff
560 dnl The -DSYS_FOO flag
561 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
563 dnl Check for system libs needed
566 dnl Check for usual libc functions
567 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r lrintf daemon fork lstat posix_fadvise posix_madvise uselocale])
569 AC_CHECK_FUNCS(fcntl)
570 AC_REPLACE_FUNCS([asprintf atof atoll getcwd gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab])
571 AC_CHECK_FUNCS([stricmp strnicmp])
572 AC_CHECK_FUNCS(fdatasync,,
573 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
576 dnl Check for Linux system calls
577 AC_CHECK_FUNCS([vmsplice])
579 AH_BOTTOM([#include <vlc_fixups.h>])
581 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
583 dnl Check for setlocal and langinfo
584 AC_CHECK_FUNCS(setlocale)
585 AC_CHECK_HEADERS(langinfo.h)
586 AC_CHECK_FUNCS(nl_langinfo)
588 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
589 [AC_TRY_LINK([#include <langinfo.h>],
590 [char* cs = nl_langinfo(CODESET);],
591 ac_cv_langinfo_codeset=yes,
592 ac_cv_langinfo_codeset=no)
594 if test ${ac_cv_langinfo_codeset} = yes; then
595 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
596 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
599 AC_CHECK_FUNCS(connect,,[
600 AC_CHECK_LIB(socket,connect,[
601 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
602 LIBS_socket="-lsocket"
606 AC_CHECK_FUNCS(send,,[
607 AC_CHECK_LIB(socket,send,[
608 VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd],[-lsocket])
613 dnl Check for socklen_t
614 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
615 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
616 ac_cv_type_socklen_t,
617 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
618 [#include <sys/types.h>
620 # include <winsock2.h>
621 # include <ws2tcpip.h>
623 # include <sys/socket.h>
624 #endif]], [[socklen_t len; len = 0;]])],
625 ac_cv_type_socklen_t=yes,
626 ac_cv_type_socklen_t=no)])
627 AS_IF([test "$ac_cv_type_socklen_t" = no],
628 [AC_DEFINE(socklen_t, int)])
630 dnl Check for struct sockaddr_storage
631 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
632 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
633 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
635 [#include <sys/types.h>
636 #if defined( UNDER_CE )
637 # include <winsock2.h>
638 #elif defined( WIN32 )
639 # include <winsock2.h>
641 # include <sys/socket.h>
642 #endif], [struct sockaddr_storage addr;],
643 ac_cv_struct_sockaddr_storage=yes,
644 ac_cv_struct_sockaddr_storage=no)])
645 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
646 AC_DEFINE(sockaddr_storage, sockaddr)
647 AC_DEFINE(ss_family, sa_family)
650 dnl getaddrinfo, getnameinfo and gai_strerror check
651 dnl -lnsl and -lsocket are needed on Solaris;
652 dnl we purposedly make the test fail on Windows
654 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
655 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
657 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
660 AC_CHECK_FUNCS([getnameinfo gai_strerror])
663 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
664 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
665 [#include <sys/types.h>
666 #if defined( WIN32 ) || defined( UNDER_CE )
667 # if defined(UNDER_CE) && defined(sockaddr_storage)
668 # undef sockaddr_storage
670 # include <winsock2.h>
671 # include <ws2tcpip.h>
676 dnl Check for va_copy
677 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
679 [#include <stdarg.h>],
680 [va_list ap1, ap2; va_copy(ap1,ap2);],
681 [ac_cv_c_va_copy="yes"],
682 [ac_cv_c_va_copy="no"]))
683 if test "${ac_cv_c_va_copy}" = "yes"; then
684 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
686 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
688 [#include <stdarg.h>],
689 [va_list ap1, ap2; __va_copy(ap1,ap2);],
690 [ac_cv_c___va_copy="yes"],
691 [ac_cv_c___va_copy="no"]))
692 if test "${ac_cv_c___va_copy}" = "yes"; then
693 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
696 AC_CHECK_FUNCS(inet_aton,,[
697 AC_CHECK_LIB(resolv,inet_aton,[
698 VLC_ADD_LIBS([libvlccore],[-lresolv])
702 dnl Check for getopt (always use builtin one on win32)
703 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
707 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
708 [ # FreeBSD has a gnugetopt library for this:
709 AC_CHECK_LIB([gnugetopt],[getopt_long],
710 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
711 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
714 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
716 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
719 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
722 VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlccore vorbis freetype mod mpc dmo quicktime realaudio realvideo galaktos opengl],[-lm])
724 AC_CHECK_LIB(m,sqrt,[
725 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
727 AC_CHECK_LIB(m,ceil,[
728 VLC_ADD_LIBS([hotkeys mosaic],[-lm])
731 VLC_ADD_LIBS([gaussianblur],[-lm])
733 AC_CHECK_LIB(m,round,[
734 VLC_ADD_LIBS([dbus],[-lm])
736 AC_CHECK_LIB(mx,sqrtf,[
737 VLC_ADD_LIBS([x264],[-lmx])
739 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
741 dnl Check for dynamic plugins
742 ac_cv_have_plugins=no
745 if test "${ac_cv_have_plugins}" = "no"; then
746 AC_CHECK_HEADERS(dl.h)
747 ac_cv_my_have_shl_load=no
748 AC_CHECK_FUNC(shl_load,
749 [ac_cv_my_have_shl_load=yes,
750 AC_CHECK_LIB(dld, shl_load,
751 [ac_cv_my_have_shl_load=yes
752 VLC_ADD_LIBS([libvlccore],[-ldld])])])
753 if test "${ac_cv_my_have_shl_load}" = "yes"; then
754 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
755 ac_cv_have_plugins=yes
760 if test "${ac_cv_have_plugins}" = "no"; then
761 AC_CHECK_LIB(dld, dld_link,
762 [VLC_ADD_LIBS([libvlccore],[-ldld])
763 AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
764 ac_cv_have_plugins=yes])
768 if test "${ac_cv_have_plugins}" = "no"; then
769 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
770 AC_CHECK_LIB(kernel32, main,
771 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
772 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
773 ac_cv_have_plugins=yes])
778 if test "${ac_cv_have_plugins}" = "no"; then
779 if test "${SYS}" = "mingwce"; then
780 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
781 ac_cv_have_plugins=yes
786 if test "${ac_cv_have_plugins}" = "no"; then
787 AC_CHECK_HEADERS(image.h)
788 AC_CHECK_FUNCS(load_add_on,
789 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
790 ac_cv_have_plugins=yes])
793 # Only test for dlopen() if the others didn't work
794 if test "${ac_cv_have_plugins}" = "no"; then
795 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
796 ac_cv_my_have_dlopen=no
797 AC_CHECK_FUNC(dlopen,
798 ac_cv_my_have_dlopen=yes,
799 AC_CHECK_LIB(dl, dlopen,
800 ac_cv_my_have_dlopen=yes
801 VLC_ADD_LIBS([libvlccore realaudio realvideo],[-ldl]),
802 AC_CHECK_LIB(svld, dlopen,
803 ac_cv_my_have_dlopen=yes
804 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
805 if test "${ac_cv_my_have_dlopen}" = "yes"; then
806 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
807 ac_cv_have_plugins=yes
811 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
812 dnl Check for pthreads - borrowed from XMMS
814 if test "${THREAD_LIB}" = "error"; then
815 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
817 if test "${THREAD_LIB}" = "error"; then
818 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
820 if test "${THREAD_LIB}" = "error"; then
821 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
823 if test "${THREAD_LIB}" = "error"; then
824 AC_CHECK_FUNCS(pthread_mutex_lock)
828 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
830 AC_CHECK_LIB(rt, clock_nanosleep, [
831 VLC_ADD_LIBS([libvlccore],[-lrt])
832 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
835 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
839 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
840 AC_CHECK_LIB(rt,nanosleep,
841 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
842 [AC_CHECK_LIB(posix4,nanosleep,
843 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
846 if ${have_nanosleep}; then
847 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
849 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
851 dnl Check for misc headers
852 AC_MSG_CHECKING(for strncasecmp in strings.h)
853 AC_EGREP_HEADER(strncasecmp,strings.h,[
855 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
856 Define if <strings.h> defines strncasecmp.)],[
859 dnl Check for headers
860 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
861 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
862 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
863 AC_CHECK_HEADERS([net/if.h], [], [],
865 #include <sys/types.h>
866 #include <sys/socket.h>
868 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
869 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
870 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h])
871 AC_CHECK_HEADERS(syslog.h)
872 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
876 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
877 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
878 AC_CHECK_TYPE(ssize_t,, [
879 AC_DEFINE(ssize_t, int)
883 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
884 if test ${SYS} != "mingw32"
886 AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
892 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
893 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
895 dnl Mac OS X and other OSes don't have declaration for nanosleep
896 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
897 AC_MSG_CHECKING(for nanosleep in time.h)
898 AC_EGREP_HEADER(nanosleep,time.h,[
900 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
901 Define if <time.h> defines nanosleep.)
905 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
907 dnl Make sure we have timespecs
908 AC_MSG_CHECKING(for timespec in sys/time.h)
909 AC_EGREP_HEADER(timespec,sys/time.h,[
911 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
912 Define if <sys/time.h> defines struct timespec.)
917 dnl Check for threads library
918 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
919 AC_CHECK_HEADERS(pthread.h)
920 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
922 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.
923 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
924 AC_ARG_VAR(PKG_CONFIG_PATH,
925 [Paths where to find .pc not at the default location])
926 PKG_PROG_PKG_CONFIG()
929 dnl Check for zlib.h and -lz along with system -lminizip if available
931 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
932 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
933 if test "${have_zlib}" = "yes"
935 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
936 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
937 AC_CHECK_HEADERS([unzip.h], [
939 MINIZIP_LIBS="-lminizip -lz"
942 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
943 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
946 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
947 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
948 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
949 VLC_ADD_PLUGIN([unzip])
950 VLC_ADD_PLUGIN([zip])
952 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
957 [ --enable-hal Linux HAL services discovery (default enabled)])
959 if test "${enable_hal}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
961 PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
963 AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] )
964 VLC_ADD_PLUGIN([hal])
965 VLC_ADD_PLUGIN([probe_hal])
966 VLC_ADD_LIBS([libvlccore hal probe_hal],[$HAL_LIBS])
967 VLC_ADD_CFLAGS([libvlccore hal probe_hal],[$HAL_CFLAGS])],
968 [AC_MSG_WARN([libhal >= 0.5.0 was not found. Install libhal-dev ?])]
974 [ --enable-mtp MTP devices support (default enabled)])
976 if test "${enable_mtp}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
978 PKG_CHECK_MODULES(MTP, libmtp >= 0.3.0,
979 [ VLC_ADD_PLUGIN([mtp])
980 VLC_ADD_PLUGIN([access_mtp])
981 VLC_ADD_LIBS([mtp access_mtp],[$MTP_LIBS])
982 VLC_ADD_CFLAGS([mtp access_mtp],[$MTP_CFLAGS])],
983 [AC_MSG_WARN(MTP library not found)]
989 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
992 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
995 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
996 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
997 VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS])
998 VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS])
999 dnl Check for dbus control interface
1000 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
1001 if test "${enable_dbus_control}" != "no"
1003 VLC_ADD_PLUGIN([dbus])
1004 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
1005 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
1007 dnl Check for Telepathy
1008 AC_ARG_ENABLE(telepathy,
1009 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
1010 if test "${enable_telepathy}" != "no"; then
1011 VLC_ADD_PLUGIN([telepathy])
1012 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
1013 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
1015 dnl Power Management Inhibiter
1016 VLC_ADD_PLUGIN([inhibit])
1017 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
1018 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
1020 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
1026 dnl Build the gtk_main plugins?
1032 dnl build the qte plugin ?
1035 dnl Check for ntohl, etc.
1036 AC_CACHE_CHECK([for ntohl in sys/param.h],
1037 [ac_cv_c_ntohl_sys_param_h],
1038 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1039 AC_TRY_COMPILE([#include <sys/param.h>],
1040 [int meuh; ntohl(meuh);],
1041 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1042 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1043 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1045 CFLAGS="${CFLAGS_save}"
1047 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
1048 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1050 dnl Check for various optimization flags
1051 AC_CACHE_CHECK([if \$CC accepts -Os],
1053 [CFLAGS="${CFLAGS_save} -Os"
1054 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1055 if test "${ac_cv_c_os}" != "no"; then
1056 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1058 AC_CACHE_CHECK([if \$CC accepts -O],
1060 [CFLAGS="${CFLAGS_save} -O"
1061 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1062 if test "${ac_cv_c_o}" != "no"; then
1063 if test "${ac_cv_c_o3}" = "no"; then
1064 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1069 AC_CACHE_CHECK([if \$CC accepts -O4],
1071 [CFLAGS="${CFLAGS_save} -O4"
1072 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1073 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1074 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1076 AC_CACHE_CHECK([if \$CC accepts -O3],
1078 [CFLAGS="${CFLAGS_save} -O3"
1079 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1080 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1081 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1083 AC_CACHE_CHECK([if \$CC accepts -O2],
1085 [CFLAGS="${CFLAGS_save} -O2"
1086 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1087 if test "${ac_cv_c_o2}" != "no"; then
1088 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1090 AC_CACHE_CHECK([if \$CC accepts -O],
1092 [CFLAGS="${CFLAGS_save} -O"
1093 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1094 if test "${ac_cv_c_o}" != "no"; then
1095 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1101 AC_CACHE_CHECK([if \$CC accepts -O0],
1103 [CFLAGS="${CFLAGS_save} -O0"
1104 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1105 if test "${ac_cv_c_o0}" != "no"; then
1106 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1109 dnl Check for -ffast-math
1110 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1111 [ac_cv_c_fast_math],
1112 [CFLAGS="${CFLAGS_save} -ffast-math"
1113 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1114 if test "${ac_cv_c_fast_math}" != "no"; then
1115 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1118 dnl Check for -funroll-loops
1119 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1120 if test "${SYS}" != "beos"
1122 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1123 [ac_cv_c_unroll_loops],
1124 [CFLAGS="${CFLAGS_save} -funroll-loops"
1125 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1126 if test "${ac_cv_c_unroll_loops}" != "no"; then
1127 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1131 dnl Check for -fomit-frame-pointer
1132 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1133 [ac_cv_c_omit_frame_pointer],
1134 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1135 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1136 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1137 if test "${SYS}" != "darwin"; then
1138 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1140 dnl On darwin we explicitely disable it.
1141 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1145 dnl Check for Darwin plugin linking flags
1146 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1148 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1149 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1150 if test "${ac_cv_ld_darwin}" != "no"; then
1151 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1154 dnl Checks for __attribute__(aligned()) directive
1155 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1156 [ac_cv_c_attribute_aligned],
1157 [ac_cv_c_attribute_aligned=0
1158 CFLAGS="${CFLAGS_save} -Werror"
1159 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1161 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1162 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1164 CFLAGS="${CFLAGS_save}"])
1165 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1166 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1167 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1170 dnl Check for __attribute__((packed))
1171 AC_CACHE_CHECK([for __attribute__((packed))],
1172 [ac_cv_c_attribute_packed],
1173 [ac_cv_c_attribute_packed=no
1174 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1175 [ac_cv_c_attribute_packed=yes])])
1176 if test "${ac_cv_c_attribute_packed}" != "no"; then
1177 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1183 case "${host_cpu}" in
1192 dnl Check for backtrace() support
1193 AC_CHECK_HEADERS(execinfo.h)
1194 AC_CHECK_FUNCS(backtrace)
1197 dnl Enable profiling
1199 AC_ARG_ENABLE(gprof,
1200 [ --enable-gprof gprof profiling (default disabled)])
1201 AC_ARG_ENABLE(cprof,
1202 [ --enable-cprof cprof profiling (default disabled)])
1203 test "${enable_gprof}" != "yes" && enable_gprof="no"
1204 test "${enable_cprof}" != "yes" && enable_cprof="no"
1210 VLC_ADD_PLUGIN([deinterlace])
1211 VLC_ADD_PLUGIN([yuvp])
1212 VLC_ADD_PLUGIN([invert])
1213 VLC_ADD_PLUGIN([adjust])
1214 VLC_ADD_PLUGIN([transform])
1215 VLC_ADD_PLUGIN([wave])
1216 VLC_ADD_PLUGIN([ripple])
1217 VLC_ADD_PLUGIN([psychedelic])
1218 VLC_ADD_PLUGIN([gradient])
1219 VLC_ADD_PLUGIN([motionblur])
1220 VLC_ADD_PLUGIN([rv32])
1221 VLC_ADD_PLUGIN([rotate])
1222 VLC_ADD_PLUGIN([noise])
1223 VLC_ADD_PLUGIN([grain])
1224 VLC_ADD_PLUGIN([extract])
1225 VLC_ADD_PLUGIN([sharpen])
1226 VLC_ADD_PLUGIN([croppadd])
1227 VLC_ADD_PLUGIN([canvas])
1228 VLC_ADD_PLUGIN([blendbench])
1229 VLC_ADD_PLUGIN([blend])
1230 VLC_ADD_PLUGIN([scale])
1231 VLC_ADD_PLUGIN([vmem])
1232 VLC_ADD_PLUGIN([logo])
1233 VLC_ADD_PLUGIN([magnify])
1234 VLC_ADD_PLUGIN([puzzle])
1235 VLC_ADD_PLUGIN([colorthres])
1236 VLC_ADD_PLUGIN([scene])
1237 VLC_ADD_PLUGIN([yuv])
1239 ALIASES="${ALIASES} cvlc"
1242 dnl default modules that need g++
1245 VLC_ADD_PLUGIN([spatializer])
1248 if test "${SYS}" != "mingwce"; then
1249 VLC_ADD_PLUGIN([gestures])
1250 VLC_ADD_PLUGIN([rc])
1251 VLC_ADD_PLUGIN([hotkeys])
1252 VLC_ADD_PLUGIN([showintf])
1253 VLC_ADD_PLUGIN([marq])
1254 VLC_ADD_PLUGIN([podcast])
1255 VLC_ADD_PLUGIN([shout])
1256 VLC_ADD_PLUGIN([sap])
1257 VLC_ADD_PLUGIN([fake])
1258 VLC_ADD_PLUGIN([folder])
1259 VLC_ADD_PLUGIN([rss])
1260 VLC_ADD_PLUGIN([mosaic])
1261 VLC_ADD_PLUGIN([wall])
1262 VLC_ADD_PLUGIN([motiondetect])
1263 VLC_ADD_PLUGIN([clone])
1264 VLC_ADD_PLUGIN([crop])
1265 VLC_ADD_PLUGIN([erase])
1266 VLC_ADD_PLUGIN([bluescreen])
1267 VLC_ADD_PLUGIN([alphamask])
1268 VLC_ADD_PLUGIN([gaussianblur])
1269 VLC_ADD_PLUGIN([i420_yuy2])
1270 VLC_ADD_PLUGIN([i422_yuy2])
1271 VLC_ADD_PLUGIN([i420_ymga])
1272 VLC_ADD_PLUGIN([i422_i420])
1273 VLC_ADD_PLUGIN([yuy2_i422])
1274 VLC_ADD_PLUGIN([yuy2_i420])
1275 VLC_ADD_PLUGIN([chain])
1276 VLC_ADD_PLUGIN([aout_file])
1277 VLC_ADD_PLUGIN([linear_resampler])
1278 VLC_ADD_PLUGIN([bandlimited_resampler])
1279 VLC_ADD_PLUGIN([float32_mixer])
1280 VLC_ADD_PLUGIN([spdif_mixer])
1281 VLC_ADD_PLUGIN([simple_channel_mixer])
1282 VLC_ADD_PLUGIN([dolby_surround_decoder])
1283 VLC_ADD_PLUGIN([headphone_channel_mixer])
1284 VLC_ADD_PLUGIN([normvol])
1285 VLC_ADD_PLUGIN([equalizer])
1286 VLC_ADD_PLUGIN([param_eq])
1287 VLC_ADD_PLUGIN([scaletempo])
1288 VLC_ADD_PLUGIN([converter_float])
1289 VLC_ADD_PLUGIN([a52tospdif])
1290 VLC_ADD_PLUGIN([dtstospdif])
1291 VLC_ADD_PLUGIN([audio_format])
1292 ALIASES="${ALIASES} rvlc"
1295 if test "${SYS}" = "mingwce"; then
1296 VLC_ADD_PLUGIN([chain])
1297 VLC_ADD_PLUGIN([aout_file])
1298 VLC_ADD_PLUGIN([linear_resampler])
1299 VLC_ADD_PLUGIN([bandlimited_resampler])
1300 VLC_ADD_PLUGIN([float32_mixer])
1301 VLC_ADD_PLUGIN([spdif_mixer])
1302 VLC_ADD_PLUGIN([simple_channel_mixer])
1303 VLC_ADD_PLUGIN([headphone_channel_mixer])
1304 VLC_ADD_PLUGIN([normvol])
1305 VLC_ADD_PLUGIN([converter_float])
1306 VLC_ADD_PLUGIN([a52tospdif])
1307 VLC_ADD_PLUGIN([dtstospdif])
1308 VLC_ADD_PLUGIN([audio_format])
1309 VLC_ADD_PLUGIN([i420_yuy2])
1310 VLC_ADD_PLUGIN([i422_yuy2])
1311 VLC_ADD_PLUGIN([i420_ymga])
1312 VLC_ADD_PLUGIN([i422_i420])
1313 VLC_ADD_PLUGIN([yuy2_i422])
1314 VLC_ADD_PLUGIN([yuy2_i420])
1318 dnl Some plugins aren't useful on some platforms
1320 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1321 VLC_ADD_PLUGIN([screensaver])
1322 VLC_ADD_PLUGIN([motion])
1323 VLC_ADD_PLUGIN([dynamicoverlay])
1324 VLC_ADD_PLUGIN([signals])
1325 elif test "${SYS}" != "mingwce"; then
1326 VLC_ADD_PLUGIN([ntservice])
1327 VLC_ADD_PLUGIN([access_smb])
1328 VLC_ADD_PLUGIN([dmo])
1329 VLC_ADD_PLUGIN([msn])
1330 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1331 VLC_ADD_PLUGIN([globalhotkeys])
1333 VLC_ADD_PLUGIN([win32text])
1335 if test "${SYS}" = "darwin"; then
1336 VLC_ADD_PLUGIN([quartztext])
1337 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1341 dnl Accelerated modules
1344 AC_ARG_WITH(,[Optimization options:])
1346 dnl Check for fully working MMX intrinsics
1347 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1348 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1350 [ --disable-mmx disable MMX optimizations (default auto)],,[
1351 case "${host_cpu}" in
1360 AS_IF([test "${enable_mmx}" != "no"], [
1363 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1364 [ac_cv_c_mmx_intrinsics],
1365 [CFLAGS="${CFLAGS_save} -O -mmmx"
1366 AC_TRY_COMPILE([#include <mmintrin.h>
1370 a = b = c = (__m64)frobzor;
1371 a = _mm_slli_pi16(a, 3);
1372 a = _mm_adds_pi16(a, b);
1373 c = _mm_srli_pi16(c, 8);
1374 c = _mm_slli_pi16(c, 3);
1375 b = _mm_adds_pi16(b, c);
1376 a = _mm_unpacklo_pi8(a, b);
1377 frobzor = (uint64_t)a;],
1378 [ac_cv_c_mmx_intrinsics=yes],
1379 [ac_cv_c_mmx_intrinsics=no])])
1380 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1381 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1382 [Define to 1 if MMX intrinsics are available.])
1383 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1386 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1388 [CFLAGS="${CFLAGS_save}"
1389 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1390 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1391 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1392 AC_DEFINE(CAN_COMPILE_MMX, 1,
1393 [Define to 1 inline MMX assembly is available.])
1394 VLC_ADD_PLUGIN([memcpymmx])
1395 VLC_ADD_PLUGIN([i420_rgb_mmx])
1396 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1397 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1398 VLC_ADD_PLUGIN([i420_ymga_mmx])
1401 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1402 [ac_cv_mmxext_inline],
1403 [CFLAGS="${CFLAGS_save}"
1404 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1405 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1406 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1407 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1408 [Define to 1 if MMX EXT inline assembly is available.])
1409 VLC_ADD_PLUGIN([memcpymmxext])
1413 dnl Check for fully workin SSE2 intrinsics
1414 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1415 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1417 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)]
1419 case "${host_cpu}" in
1428 AS_IF([test "${enable_sse}" != "no"], [
1429 ARCH="${ARCH} sse sse2"
1431 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1432 [ac_cv_c_sse2_intrinsics],
1433 [CFLAGS="${CFLAGS_save} -O -msse2"
1434 AC_TRY_COMPILE([#include <emmintrin.h>
1438 a = b = c = _mm_set1_epi64((__m64)frobzor);
1439 a = _mm_slli_epi16(a, 3);
1440 a = _mm_adds_epi16(a, b);
1441 c = _mm_srli_epi16(c, 8);
1442 c = _mm_slli_epi16(c, 3);
1443 b = _mm_adds_epi16(b, c);
1444 a = _mm_unpacklo_epi8(a, b);
1445 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1446 [ac_cv_c_sse2_intrinsics=yes],
1447 [ac_cv_c_sse2_intrinsics=no])])
1448 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1449 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1450 [Define to 1 if SSE2 intrinsics are available.])
1451 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1454 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1456 [CFLAGS="${CFLAGS_save}"
1457 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1458 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1459 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1460 AC_DEFINE(CAN_COMPILE_SSE, 1,
1461 [Define to 1 if SSE inline assembly is available.])
1464 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1465 [ac_cv_sse2_inline],
1466 [CFLAGS="${CFLAGS_save}"
1467 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1468 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1469 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1470 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1471 [Define to 1 if SSE2 inline assembly is available.])
1472 VLC_ADD_PLUGIN([i420_rgb_sse2])
1473 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1474 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1478 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1479 [ac_cv_3dnow_inline],
1480 [CFLAGS="${CFLAGS_save}"
1481 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1482 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1483 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1484 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1485 [Define to 1 if 3D Now! inline assembly is available.])
1486 VLC_ADD_PLUGIN([memcpy3dn])
1489 AC_ARG_ENABLE(altivec,
1490 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1491 AS_IF([test "${host_cpu}" = "powerpc"],
1492 [enable_altivec=yes], [enable_altivec=no])
1494 AS_IF([test "${enable_altivec}" = "yes"], [
1495 ARCH="${ARCH} altivec";
1496 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1497 [ac_cv_altivec_inline],
1498 [CFLAGS="${CFLAGS_save}"
1499 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1500 ac_cv_altivec_inline="yes",
1501 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1502 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1503 [ac_cv_altivec_inline="-Wa,-m7400"],
1504 ac_cv_altivec_inline=no)
1506 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1507 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1508 [Define to 1 if AltiVec inline assembly is available.])
1509 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1510 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1511 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1512 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1513 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1514 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1516 VLC_ADD_PLUGIN([memcpyaltivec])
1517 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1520 dnl The AltiVec C extensions
1522 dnl There are several possible cases:
1523 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1524 dnl need <altivec.h>
1525 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1526 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1527 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1528 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1529 dnl - Others: test should fail
1530 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1532 [# OS X/PPC test (gcc 4.x)
1533 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1534 AC_TRY_COMPILE([vector unsigned char foo;],
1535 [vec_ld(0, (unsigned char *)0);],
1536 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1537 [# OS X/PPC test (gcc 3.x)
1538 CFLAGS="${CFLAGS_save} -faltivec"
1539 AC_TRY_COMPILE([vector unsigned char foo;],
1540 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1541 [ac_cv_c_altivec="-faltivec"],
1542 dnl Below this are the Linux tests
1543 [# Linux/PPC test (gcc 4.x)
1544 CFLAGS="${CFLAGS_save} -maltivec"
1545 AC_TRY_COMPILE([#include <altivec.h>],
1546 [vec_ld(0, (unsigned char *)0);],
1547 [ac_cv_c_altivec="-maltivec"],
1548 [# Linux/PPC test (gcc 3.3)
1549 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1550 AC_TRY_COMPILE([#include <altivec.h>],
1551 [vec_ld(0, (unsigned char *)0);],
1553 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1554 [# Linux/PPC test (gcc 3.3)
1555 CFLAGS="${CFLAGS_save} -fvec"
1556 AC_TRY_COMPILE([#include <altivec.h>],
1557 [vec_ld(0, (unsigned char *)0);],
1558 [ac_cv_c_altivec="-fvec"],
1559 [ac_cv_c_altivec=no])
1564 CFLAGS="${CFLAGS_save}"
1566 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1567 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1570 AC_CHECK_HEADERS(altivec.h)
1571 CPPFLAGS="${CPPFLAGS_save}"
1573 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1574 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1575 [Define to 1 if C AltiVec extensions are available.])
1576 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1577 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1578 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1579 VLC_ADD_PLUGIN([memcpyaltivec])
1580 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1583 AC_CACHE_CHECK([if linker needs -framework vecLib],
1585 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1586 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1587 LDFLAGS="${LDFLAGS_save}"
1589 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1590 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1595 dnl Special arch tuning
1598 [ --with-tuning=ARCH enable special tuning for an architecture
1599 (default Pentium 2 on IA-32 and G4 on PPC)])
1600 if test -n "${with_tuning}"; then
1601 if test "${with_tuning}" != "no"; then
1602 CFLAGS_TUNING="-mtune=${with_tuning}"
1605 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1606 CFLAGS_TUNING="-march=prescott -mtune=generic"
1607 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1608 CFLAGS_TUNING="-mtune=pentium2"
1609 elif test "${host_cpu}" = "x86_64"; then
1610 CFLAGS_TUNING="-mtune=athlon64"
1611 elif test "${host_cpu}" = "powerpc"; then
1612 CFLAGS_TUNING="-mtune=G4";
1616 dnl NOTE: this can't be cached cleanly
1617 AS_IF([test "${CFLAGS_TUNING}"],
1618 [CFLAGS_save="${CFLAGS}"
1619 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1621 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1622 AC_COMPILE_IFELSE([ ],
1624 [CFLAGS_TUNING=""; tuning="no"
1625 AS_IF([test "${with_tuning}"],
1626 [AC_MSG_ERROR([requested tuning not supported])])])
1628 AC_MSG_RESULT([$tuning])
1629 CFLAGS="${CFLAGS_save}"
1635 AC_ARG_ENABLE(optimize-memory,
1636 [ --enable-optimize-memory optimize memory usage over performance])
1637 if test "${enable_optimize_memory}" = "yes"; then
1638 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1642 dnl Enable/disable optimizations
1644 AC_ARG_ENABLE(optimizations,
1645 [ --disable-optimizations disable compiler optimizations (default enabled)])
1646 if test "${enable_optimizations}" != "no"; then
1647 if test "${enable_optimize_memory}" = "yes"; then
1648 enable_optimizations="size"
1650 enable_optimizations="speed"
1657 AC_ARG_ENABLE(debug,
1658 [ --enable-debug debug mode (default disabled)])
1659 test "${enable_debug}" != "yes" && enable_debug="no"
1661 [Define to 1 if debug code should NOT be compiled])
1662 AS_IF([test "x${enable_debug}" = "xno"], [
1665 AC_CHECK_HEADERS([valgrind/valgrind.h])
1669 dnl Allow runing as root (usefull for people runing on embedded platforms)
1671 AC_ARG_ENABLE(run-as-root,
1672 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1673 AS_IF([test "${enable_run_as_root}" = "yes"],[
1674 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1675 [Define to 1 to allow runing VLC as root (uid 0).])
1681 AC_ARG_ENABLE(coverage,
1682 [ --enable-coverage build for test coverage (default disabled)],,
1683 [enable_coverage="no"])
1684 AS_IF([test "${enable_coverage}" != "no"], [
1685 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1686 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1687 LDFLAGS="-lgcov ${LDFLAGS}"
1689 CFLAGS_save="${CFLAGS}"
1690 CXXFLAGS_save="${CXXFLAGS}"
1691 LDFLAGS_save="${LDFLAGS}"
1695 dnl Enable release-specific flags
1697 AC_ARG_ENABLE(release,
1698 [ --enable-release activate extra optimizations (default disabled)])
1699 test "${enable_release}" != "yes" && enable_release="no"
1705 [ --enable-sout Stream output modules (default enabled)])
1706 AS_IF([test "${enable_sout}" != "no"], [
1707 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1709 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1711 dnl Check for libshout
1712 AC_ARG_ENABLE(shout,
1713 [ --enable-shout libshout output plugin (default disabled)])
1714 if test "${enable_shout}" = "yes"; then
1715 PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1716 [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library])
1717 VLC_ADD_PLUGIN([access_output_shout])
1718 VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1719 VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1720 [AC_MSG_WARN(libshout library not found)])
1725 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1726 plugins (default enabled)]))
1727 if test "${enable_lua}" != "no"
1729 PKG_CHECK_MODULES(LUA, lua5.1,
1732 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1733 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1737 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1740 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1741 [LUA_LIBS="-llua5.1"],
1742 AC_CHECK_LIB( lua51 , luaL_newstate,
1743 [LUA_LIBS="-llua51"],
1744 AC_CHECK_LIB( lua , luaL_newstate,
1747 AC_MSG_WARN([lua >= 5.1 not found!])
1753 if test "x${have_lua}" = "xyes" ; then
1754 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1755 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1756 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1759 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1764 AC_ARG_ENABLE(httpd,
1765 [ --enable-httpd HTTP daemon (default enabled)])
1766 if test "${enable_httpd}" != "no"
1768 VLC_ADD_PLUGIN([http])
1769 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1771 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1774 dnl libproxy support
1776 AC_ARG_ENABLE(libproxy,
1777 [ --enable-libproxy libproxy support (default auto)])
1778 AS_IF([test "${enable_libproxy}" != "no"], [
1779 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1780 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1781 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1782 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1784 AS_IF([test "x${enable_libproxy}" != "x"], [
1785 AC_MSG_ERROR([libproxy could not be found on your system])
1791 dnl VideoLAN manager
1794 [ --enable-vlm VideoLAN manager (default enabled)],,
1795 [enable_vlm="${enable_sout}"])
1796 AS_IF([test "${enable_vlm}" != "no"], [
1797 AS_IF([test "${enable_sout}" = "no"], [
1798 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1800 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1801 VLC_ADD_PLUGIN([telnet])
1803 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1806 dnl Growl notification plugin
1808 AC_ARG_ENABLE(growl,
1809 [ --enable-growl growl notification plugin (default disabled)],,
1811 AS_IF([test "${enable_growl}" != "no"], [
1812 VLC_ADD_PLUGIN([growl_udp])
1813 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1814 VLC_ADD_PLUGIN([growl])
1815 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1821 dnl Libnotify notification plugin
1824 AC_ARG_ENABLE(notify,
1825 [ --enable-notify libnotify notification plugin (default enabled)])
1826 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1827 PKG_CHECK_MODULES(NOTIFY, libnotify,
1829 VLC_ADD_PLUGIN([notify])
1830 VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1831 VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1833 AS_IF([test "${enable_notify}" = "yes"],[
1834 AC_MSG_WARN( libnotify not found) ])
1839 dnl Audioscrobbler plugin
1842 AC_ARG_ENABLE(audioscrobbler,
1843 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1844 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1845 VLC_ADD_PLUGIN([audioscrobbler])
1851 AC_ARG_ENABLE(taglib,
1852 [ --disable-taglib Taglib support (default enabled) ])
1853 AS_IF([test "${enable_taglib}" != "no"],[
1854 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1855 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1856 VLC_ADD_PLUGIN([taglib])
1857 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1858 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1859 [AC_MSG_WARN(TagLib library not found)])
1867 AC_ARG_WITH(,[Input plugins:])
1871 if test "${enable_livedotcom}"
1873 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1875 if test "${enable_livedotcom}" = "no"
1880 AC_ARG_ENABLE(live555,
1881 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1882 if test "${enable_live555}" != "no"; then
1883 AC_ARG_WITH(live555-tree,
1884 [ --with-live555-tree=PATH live.com tree for static linking])
1887 dnl test for --with-live555-tree
1889 if test "${with_livedotcom_tree}"
1891 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1892 with_live555_tree="${with_livedotcom_tree}"
1895 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1897 CPPFLAGS_save="${CPPFLAGS}"
1898 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1899 if test "${SYS}" = "solaris"; then
1900 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1902 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1904 AC_CHECK_HEADERS(liveMedia_version.hh, [
1905 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1907 [#include <liveMedia_version.hh>
1908 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1909 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1913 [AC_MSG_RESULT([no])
1914 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1915 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1917 AC_MSG_RESULT([yes])
1920 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1921 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1922 if test "${SYS}" = "mingw32"; then
1923 # add ws2_32 for closesocket, select, recv
1924 other_libs="$other_libs -lws2_32"
1926 dnl We need to check for pic because live555 don't provide shared libs
1927 dnl and we want to build a plugins so we need -fPIC on some arch.
1928 AC_CHECK_HEADERS(liveMedia.hh, [
1929 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1930 AC_CHECK_LIB(liveMedia_pic, main, [
1931 VLC_ADD_PLUGIN([live555])
1932 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1934 AC_CHECK_LIB(liveMedia, main, [
1935 VLC_ADD_PLUGIN([live555])
1936 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1937 ],[],[${other_libs}]) ],[${other_libs_pic}])
1939 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1941 CPPFLAGS="${CPPFLAGS_save}"
1944 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1945 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1946 if test -z "${real_live555_tree}"; then
1947 dnl The given directory can't be found
1949 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1951 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1952 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1954 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1955 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1957 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1958 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1959 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1963 [AC_MSG_RESULT([no])
1964 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1965 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1967 AC_MSG_RESULT([yes])
1971 VLC_ADD_PLUGIN([live555])
1973 if test "${SYS}" = "mingw32"; then
1974 # add ws2_32 for closesocket, select, recv
1975 VLC_ADD_LIBS([live555],[-lws2_32])
1978 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1979 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1980 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1981 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1983 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1984 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1985 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1986 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1987 if test "${SYS}" = "solaris"; then
1988 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1991 dnl The given live555 wasn't built
1993 if test "${enable_live555}" = "yes"; then
1994 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2001 dnl special access module for dc1394 input
2003 AC_ARG_ENABLE(dc1394,
2004 [ --enable-dc1394 dc1394 access module (default disabled)])
2005 if test "${enable_dc1394}" = "yes"
2008 dnl Check for libraw1394
2010 PKG_CHECK_MODULES(LIBRAW1394, libraw1394 >= 2.0.1,
2012 VLC_ADD_LIBS([dc1394],[`${PKG_CONFIG} --libs libraw1394`])
2013 VLC_ADD_CPPFLAGS([dc1394],[`${PKG_CONFIG} --cflags libraw1394`])
2015 [AC_MSG_ERROR([Couldn't find libraw1394 >= 2.0.1, install libraw1394 development package])]
2019 dnl Check for libdc1394
2021 PKG_CHECK_MODULES(LIBDC1394, libdc1394-2 >= 2.0.2,
2023 VLC_ADD_PLUGIN([dc1394])
2024 VLC_ADD_LIBS([dc1394],[`${PKG_CONFIG} --libs libdc1394-2`])
2025 VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libdc1394-2`])
2027 [AC_MSG_ERROR([Couldn't find libdc1394 >= 2.0.2, install libdc1394 development package])]
2032 dnl dv module: digital video module check for libraw1394
2035 [ --enable-dv dv input module (default disabled)])
2036 if test "${enable_dv}" = "yes"
2039 dnl Check for libraw1394
2041 PKG_CHECK_MODULES(LIBRAW1394, libraw1394 >= 2.0.1,
2043 VLC_ADD_LIBS([access_dv],[`${PKG_CONFIG} --libs libraw1394`])
2044 VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libraw1394`])
2046 [AC_MSG_ERROR([Couldn't find libraw1394 >= 2.0.1, install libraw1394 development package])]
2050 dnl Check for libavc1394
2052 PKG_CHECK_MODULES(LIBAVC1394, libavc1394 >= 0.5.3,
2054 VLC_ADD_PLUGIN([access_dv])
2055 VLC_ADD_LIBS([access_dv],[`${PKG_CONFIG} --libs libavc1394`])
2056 VLC_ADD_CPPFLAGS([access_dv],[`${PKG_CONFIG} --cflags libavc1394`])
2058 [AC_MSG_ERROR([Couldn't find libavc1394 >= 0.5.1, install libavc1394 development package])]
2063 dnl dvdread module: check for libdvdread
2065 AC_ARG_ENABLE(dvdread,
2066 [ --enable-dvdread dvdread input module (default disabled)])
2067 if test "${enable_dvdread}" != "no"
2069 AC_ARG_WITH(dvdread,
2070 [ --with-dvdread=PATH libdvdread headers and libraries])
2071 AC_ARG_WITH(dvdread-tree,
2072 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2074 dnl Temporary hack (yeah, sure ;)
2075 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2076 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2079 if test -z "${with_dvdread}"
2081 if test -z "${with_dvdread_tree}"
2083 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2084 [ VLC_ADD_PLUGIN([dvdread])
2085 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2087 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2088 [ VLC_ADD_PLUGIN([dvdread])
2089 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2091 if test -n "${enable_dvdread}"
2093 AC_MSG_ERROR([cannot find libdvdread headers])
2098 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2099 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2100 if test -z "${real_dvdread_tree}"
2102 dnl The given directory can't be found
2104 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2106 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2108 dnl Use a custom libdvdread
2109 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2110 VLC_ADD_PLUGIN([dvdread])
2111 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2112 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2114 dnl The given libdvdread wasn't built
2116 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2120 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2121 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2123 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2125 VLC_ADD_PLUGIN([dvdread])
2126 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2127 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2129 dnl No libdvdread could be found, sorry
2131 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2137 dnl libdvdnav plugin
2139 AC_ARG_ENABLE(dvdnav,
2140 [ --enable-dvdnav dvdnav input module (default enabled)])
2141 if test "${enable_dvdnav}" != "no"
2143 dnl Same hack than dvdread
2144 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2145 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2148 DVDNAV_PATH="${PATH}"
2149 AC_ARG_WITH(dvdnav-config-path,
2150 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2151 [ if test "${with_dvdnav_config_path}" != "no"
2153 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2155 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2156 if test "${DVDNAV_CONFIG}" != "no"
2158 VLC_ADD_PLUGIN([dvdnav])
2159 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2160 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2165 dnl Windows DirectShow access module
2167 AC_ARG_ENABLE(dshow,
2168 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2169 if test "${enable_dshow}" != "no"
2171 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2174 AC_CHECK_HEADERS(dshow.h,
2175 [ VLC_ADD_PLUGIN([dshow])
2176 VLC_ADD_CXXFLAGS([dshow],[])
2177 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2183 dnl Windows DirectShow BDA access module
2186 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2187 enabled on Win32)]))
2188 if test "${enable_bda}" != "no"
2190 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2192 AC_CHECK_HEADERS(dshow.h,
2193 [ VLC_ADD_PLUGIN([bda])
2194 VLC_ADD_CXXFLAGS([bda],[])
2195 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2201 dnl OpenCV wrapper and example filters
2203 AC_ARG_ENABLE(opencv,
2204 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2205 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2207 AC_ARG_WITH(opencv-tree,
2208 [ --with-opencv-tree=PATH opencv tree for linking])
2209 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2211 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2212 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2213 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2214 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2217 VLC_ADD_PLUGIN([opencv_wrapper])
2218 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2219 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])
2221 VLC_ADD_PLUGIN([opencv_example])
2222 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2223 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])
2226 dnl No opencv could be found, sorry
2228 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2231 PKG_CHECK_MODULES(OPENCV, opencv,
2233 VLC_ADD_PLUGIN([opencv_example])
2234 VLC_ADD_PLUGIN([opencv_wrapper])
2235 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2236 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2237 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2239 [AC_MSG_ERROR([libopencv not found!])]
2246 dnl libsmbclient plugin
2249 [ --enable-smb smb input module (default enabled)])
2250 if test "${enable_smb}" != "no"; then
2251 AC_CHECK_HEADERS(libsmbclient.h,
2252 [ VLC_ADD_PLUGIN([access_smb])
2253 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2254 [ if test -n "${enable_smb}"; then
2255 AC_MSG_ERROR([cannot find libsmbclient headers])
2260 dnl libdvbpsi ts demux/mux
2262 AC_ARG_ENABLE(dvbpsi,
2263 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2265 if test "${enable_dvbpsi}" != "no"
2268 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2270 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2271 case "${with_dvbpsi}" in
2273 if test -z "${with_dvbpsi_tree}"
2275 AC_CHECK_HEADERS(dvbpsi/dr.h,
2276 [ VLC_ADD_PLUGIN([ts])
2277 if test "${enable_sout}" != "no"; then
2278 VLC_ADD_PLUGIN([mux_ts])
2280 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2282 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2283 [#if defined( HAVE_STDINT_H )
2284 # include <stdint.h>
2285 #elif defined( HAVE_INTTYPES_H )
2286 # include <inttypes.h>
2288 #include <dvbpsi/dvbpsi.h>
2289 #include <dvbpsi/descriptor.h>
2290 #include <dvbpsi/pat.h>
2291 #include <dvbpsi/pmt.h>])
2293 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2294 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2295 if test -z "${real_dvbpsi_tree}"
2297 dnl The given directory can't be found
2299 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2301 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2303 dnl Use a custom libdvbpsi
2304 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2305 VLC_ADD_PLUGIN([ts])
2306 if test "${enable_sout}" != "no"; then
2307 VLC_ADD_PLUGIN([mux_ts])
2309 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2310 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2313 dnl The given libdvbpsi wasn't built
2315 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2320 dnl Compile without dvbpsi
2323 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2324 if test -z "${with_dvbpsi}"
2329 LDFLAGS_test="-L${with_dvbpsi}/lib"
2330 CPPFLAGS_test="-I${with_dvbpsi}/include"
2332 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2333 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2334 VLC_ADD_PLUGIN([ts])
2335 if test "${enable_sout}" != "no"; then
2336 VLC_ADD_PLUGIN([mux_ts])
2338 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2339 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2342 if test -n "${enable_dvbpsi}"
2344 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])
2347 CPPFLAGS="${CPPFLAGS_save}"
2350 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2351 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2352 ], [], [${LIBS_ts}])
2357 dnl Video4Linux plugin
2360 [ --enable-v4l Video4Linux input support (default disabled)])
2361 if test "${enable_v4l}" = "yes"
2364 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2365 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2367 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2370 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2371 AC_CHECK_HEADERS(linux/videodev.h, [
2372 VLC_ADD_PLUGIN([v4l])
2374 CPPFLAGS="${CPPFLAGS_save}"
2378 dnl Video4Linux2 plugin
2381 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2382 if test "${enable_v4l2}" != "no"
2385 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2386 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2388 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2391 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2392 AC_CHECK_HEADERS(linux/videodev2.h, [
2393 VLC_ADD_PLUGIN([v4l2])
2395 CPPFLAGS="${CPPFLAGS_save}"
2399 dnl libv4l2 support for video4linux.
2401 AC_ARG_ENABLE( libv4l2,
2402 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2403 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2405 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2406 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2407 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2408 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2409 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2414 dnl special access module for Hauppauge PVR cards
2417 [ --enable-pvr PVR cards access module (default disabled)])
2418 if test "${enable_pvr}" = "yes"
2420 VLC_ADD_PLUGIN([pvr])
2421 AC_ARG_WITH(videodev2,
2422 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2423 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2425 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2428 AC_CACHE_CHECK([for new linux/videodev2.h],
2429 [ac_cv_new_linux_videodev2_h],
2431 #include <sys/types.h>
2432 # ifdef VIDEODEV2_H_FILE
2433 # include VIDEODEV2_H_FILE
2435 # include <linux/videodev2.h>
2438 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2439 ac_cv_new_linux_videodev2_h=yes,
2440 ac_cv_new_linux_videodev2_h=no)])
2441 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2442 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2447 dnl gnomeVFS access module
2449 AC_ARG_ENABLE(gnomevfs,
2450 [ --enable-gnomevfs GnomeVFS access module (default disabled)])
2451 if test "${enable_gnomevfs}" = "yes"
2453 PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2454 VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2455 VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2456 VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2457 VLC_ADD_PLUGIN([access_gnomevfs]),
2458 AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2461 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2462 AC_ARG_ENABLE(libcdio,
2463 [ --enable-libcdio CD input and control library support (default enabled)])
2465 AC_ARG_ENABLE(vcdinfo,
2466 [ --enable-libvcdinfo VCD information library support (default enabled)])
2470 if test "${enable_libcdio}" != "no"
2472 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2474 AC_DEFINE(HAVE_LIBCDIO, 1,
2475 [Define if you have libcdio 0.78.2 or greater installed]),
2476 [AC_MSG_WARN(CD Reading and information library not found)])
2478 if test "${enable_vcdinfo}" != "no"
2480 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2481 [have_libvcdinfo=yes
2482 AC_DEFINE(HAVE_VCDINFO, 1,
2483 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2484 [AC_MSG_WARN(VCD information library not found)])
2489 dnl VCDX and CDDAX modules
2491 AC_ARG_ENABLE(cddax,
2492 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2493 via libcdio (default disabled)]))
2495 AC_ARG_ENABLE(libcddb,
2496 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2498 if test "${enable_cddax}" = "yes"
2500 if test "$have_libcdio" = "yes"
2502 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2503 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2504 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2505 VLC_ADD_PLUGIN([cddax])
2506 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2507 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2508 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2510 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2514 if test "$enable_libcddb" != "no"; then
2515 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2517 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2518 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2519 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2521 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2528 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2530 if test "${enable_vcdx}" = "yes"
2532 if test "${have_libvcdinfo}" = "yes"
2534 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2535 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2537 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2541 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2542 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2543 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2544 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2547 if test "$have_libvcdinfo" = "yes"
2549 AC_DEFINE(HAVE_VCDX, 1,
2550 [Define for the VCD plugin using libcdio/libvcdinfo])
2551 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2552 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2553 VLC_ADD_PLUGIN([vcdx])
2555 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2561 dnl Built-in CD-DA and VCD module
2564 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2567 [ --enable-vcd built-in VCD (default enabled)])
2569 if test "${enable_vcd}" != "no"
2571 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2572 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2574 VLC_ADD_PLUGIN([vcd])
2575 VLC_ADD_PLUGIN([cdda])
2580 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2581 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2583 VLC_ADD_PLUGIN([vcd])
2584 VLC_ADD_PLUGIN([cdda])
2585 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2590 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2591 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2593 VLC_ADD_PLUGIN([vcd])
2594 VLC_ADD_PLUGIN([cdda])
2595 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2600 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2602 VLC_ADD_PLUGIN([vcd])
2603 VLC_ADD_PLUGIN([cdda])
2606 if test "${SYS}" = "darwin"
2608 VLC_ADD_PLUGIN([vcd])
2609 VLC_ADD_PLUGIN([cdda])
2610 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2611 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2614 if test "$enable_libcddb" != "no"; then
2615 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2617 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2618 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2619 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2621 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2627 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2630 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2632 if test "${enable_dvb}" != "no"
2634 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2636 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2637 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2639 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2641 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2642 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2643 VLC_ADD_PLUGIN([dvb])
2644 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2645 CPPFLAGS="${CPPFLAGS_save}"
2647 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2652 dnl Screen capture module
2654 AC_ARG_ENABLE(screen,
2655 [ --enable-screen Screen capture support (default enabled)])
2656 if test "${enable_screen}" != "no"; then
2657 if test "${SYS}" = "darwin"; then
2658 AC_CHECK_HEADERS(OpenGL/gl.h, [
2659 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2660 VLC_ADD_PLUGIN([screen])
2661 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2664 elif test "${SYS}" = "mingw32"; then
2665 VLC_ADD_PLUGIN([screen])
2666 VLC_ADD_LIBS([screen],[-lgdi32])
2667 elif test "${SYS}" = "mingwce"; then
2668 CPPFLAGS="${CPPFLAGS_save}"
2669 elif test "${SYS}" = "beos"; then
2670 VLC_ADD_PLUGIN([screen])
2671 VLC_ADD_CXXFLAGS([screen],[])
2672 VLC_ADD_LIBS([screen],[-lbe])
2677 dnl ipv6 plugin - not for QNX yet
2680 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2681 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2684 AS_IF([test "${have_ipv6}" = "yes"], [
2685 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2688 AC_CHECK_FUNCS(inet_ntop,[
2689 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2693 dnl ogg demux plugin
2696 [ --enable-ogg Ogg demux support (default enabled)])
2697 if test "${enable_ogg}" != "no"
2699 AC_ARG_WITH(ogg-tree,
2700 [ --with-ogg-tree=PATH ogg tree for static linking])
2701 if test -n "${with_ogg_tree}"
2703 AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2704 real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2705 if test -z "${real_ogg_tree}"
2707 dnl The given directory can't be found
2709 AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2711 if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2713 dnl Use a custom ogg
2714 AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2715 VLC_ADD_PLUGIN([ogg])
2716 if test "${enable_sout}" != "no"; then
2717 VLC_ADD_PLUGIN([mux_ogg])
2719 VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2720 VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2722 dnl The given ogg wasn't built
2724 AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2727 AC_CHECK_HEADERS(ogg/ogg.h, [
2728 AC_CHECK_LIB( ogg, oggpack_read, [
2729 VLC_ADD_PLUGIN([ogg])
2730 if test "${enable_sout}" != "no"; then
2731 VLC_ADD_PLUGIN([mux_ogg])
2733 VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2739 dnl matroska demux plugin
2742 [ --enable-mkv Matroska demux support (default enabled)])
2743 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2745 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2746 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2748 [#include <ebml/EbmlVersion.h>
2749 #ifdef LIBEBML_VERSION
2750 #if LIBEBML_VERSION >= 0x000706
2754 [AC_MSG_RESULT([yes])
2755 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2756 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2758 [#include <matroska/KaxVersion.h>
2759 #ifdef LIBMATROSKA_VERSION
2760 #if LIBMATROSKA_VERSION >= 0x000705
2764 [AC_MSG_RESULT([yes])
2765 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2766 VLC_ADD_CXXFLAGS([mkv],[])
2767 if test "${SYS}" = "darwin"; then
2768 VLC_ADD_CXXFLAGS([mkv],[-O1])
2770 AC_CHECK_LIB(ebml_pic, main, [
2771 VLC_ADD_PLUGIN([mkv])
2772 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2774 AC_CHECK_LIB(ebml, main, [
2775 VLC_ADD_PLUGIN([mkv])
2776 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2780 [AC_MSG_RESULT([no])
2781 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.])
2785 [AC_MSG_RESULT([no])
2786 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.])
2793 dnl modplug demux plugin
2796 [ --enable-mod Mod demux support (default enabled)])
2797 if test "${enable_mod}" != "no"
2799 AC_ARG_WITH(mod-tree,
2800 [ --with-mod-tree=PATH mod tree for static linking])
2801 if test -n "${with_mod_tree}"
2803 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2804 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2805 if test -z "${real_mod_tree}"
2807 dnl The given directory can't be found
2809 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2811 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2813 dnl Use a custom mod
2814 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2815 VLC_ADD_PLUGIN([mod])
2816 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2817 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2819 dnl The given mod wasn't built
2821 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2824 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2825 VLC_ADD_PLUGIN([mod])
2826 VLC_ADD_CXXFLAGS([mod],[])
2827 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2832 dnl mpc demux plugin
2835 [ --enable-mpc Mpc demux support (default enabled)])
2836 if test "${enable_mpc}" != "no"
2838 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2839 VLC_ADD_PLUGIN([mpc])
2840 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2841 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2842 VLC_ADD_PLUGIN([mpc])
2843 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2847 dnl game music emu demux plugin
2850 [ --enable-gme Game Music Emu demux support (default enabled)])
2851 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2854 AC_ARG_WITH(gme-tree,
2855 [ --with-gme-tree=PATH gme tree for static linking])
2856 if test -n "${with_gme_tree}"
2858 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2859 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2860 if test -z "${real_gme_tree}"
2862 dnl The given directory can't be found
2864 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2866 if test -f "${real_gme_tree}/gme/libgme.a"
2868 dnl Use a custom gme
2869 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2870 VLC_ADD_PLUGIN([gme])
2871 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2872 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2874 dnl The given gme wasn't built
2876 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2879 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2888 AC_ARG_WITH(,[Codec plugins:])
2893 AC_ARG_ENABLE(wma-fixed,
2894 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2895 if test "${enable_wma_fixed}" = "yes"
2897 VLC_ADD_PLUGIN([wma_fixed])
2901 dnl shine fixed point mp3 encoder
2903 AC_ARG_ENABLE(shine,
2904 [ --enable-shine shine mp3 encoding module (default disabled)])
2905 if test "${enable_shine}" = "yes"
2907 VLC_ADD_PLUGIN([shine])
2914 [ --enable-mad libmad module (default enabled)])
2915 if test "${enable_mad}" != "no"
2918 [ --with-mad=PATH path to libmad],[],[])
2919 if test "${with_mad}" != "no" -a -n "${with_mad}"
2921 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2922 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2925 AC_ARG_WITH(mad-tree,
2926 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2927 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2929 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2930 if test -z "${real_mad_tree}"
2932 dnl The given directory can't be found
2934 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2936 dnl Use a custom libmad
2937 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2938 if test -f ${real_mad_tree}/mad.h
2941 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2942 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2943 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2944 AC_CHECK_LIB(mad, mad_bit_init, [
2945 VLC_ADD_PLUGIN([mpgatofixed32])
2946 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2947 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2949 LDFLAGS="${LDFLAGS_save}"
2952 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2955 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2956 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2957 AC_CHECK_HEADERS(mad.h, ,
2958 [ 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.]) ])
2959 AC_CHECK_LIB(mad, mad_bit_init, [
2960 VLC_ADD_PLUGIN([mpgatofixed32])
2961 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2962 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2963 CPPFLAGS="${CPPFLAGS_save}"
2964 LDFLAGS="${LDFLAGS_save}"
2969 dnl libid3tag support (FIXME!!! doesn't work with new input)
2971 AC_ARG_ENABLE( id3tag,
2972 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
2973 AS_IF([test "${enable_id3tag}" = "yes"], [
2974 AC_CHECK_HEADERS(id3tag.h, [
2975 AS_IF([test "${have_zlib}" = "yes"],[
2976 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2977 VLC_ADD_PLUGIN([id3tag])
2983 dnl avcodec decoder/encoder plugin
2986 if test "${with_ffmpeg_tree}"
2988 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2991 AC_ARG_ENABLE(avcodec,
2992 [ --enable-avcodec libavcodec codec (default enabled)])
2993 if test "${enable_avcodec}" != "no"
2995 PKG_CHECK_MODULES(AVCODEC,[libavcodec libavutil],
2998 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2999 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
3000 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
3001 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3002 VLC_ADD_PLUGIN([avcodec])
3003 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
3004 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
3008 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
3013 dnl stream_out switcher needs libavcodec
3015 AC_ARG_ENABLE(switcher,
3016 [ --enable-switcher Stream-out switcher plugin (default disabled)])
3017 AS_IF([test "${enable_switcher}" = "yes"], [
3018 AS_IF([test "x${have_avcodec}" = "xyes"], [
3019 VLC_ADD_PLUGIN([stream_out_switcher])
3020 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS])
3021 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS])
3022 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
3028 dnl avformat demuxer/muxer plugin
3031 AC_ARG_ENABLE(avformat,
3032 [ --enable-avformat libavformat containers (default enabled)])
3033 if test "${enable_avformat}" != "no"
3035 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
3038 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
3039 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
3040 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
3041 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3042 VLC_ADD_PLUGIN([avformat])
3043 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS])
3044 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
3047 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3052 dnl swscale image scaling and conversion plugin
3055 AC_ARG_ENABLE(swscale,
3056 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3057 (default enabled)]))
3058 if test "${enable_swscale}" != "no"
3060 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3063 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3064 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3065 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3066 VLC_ADD_PLUGIN([swscale])
3067 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3068 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3071 AC_MSG_ERROR([Could not find libswscale. Use --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
3079 AC_ARG_ENABLE(postproc,
3080 [ --enable-postproc libpostproc image post-processing (default enabled)])
3081 if test "${enable_postproc}" != "no"
3083 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3086 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3087 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3088 AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
3089 VLC_ADD_PLUGIN([postproc])
3090 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS])
3091 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS])
3094 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3099 dnl faad decoder plugin
3102 [ --enable-faad faad codec (default disabled)])
3103 if test "${enable_faad}" = "yes"
3105 AC_ARG_WITH(faad-tree,
3106 [ --with-faad-tree=PATH faad tree for static linking])
3107 if test -n "${with_faad_tree}"
3109 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3110 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3111 if test -z "${real_faad_tree}"
3113 dnl The given directory can't be found
3115 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3117 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3119 dnl Use a custom faad
3120 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3121 VLC_ADD_PLUGIN([faad])
3122 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3123 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3125 dnl The given libfaad wasn't built
3127 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3130 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3131 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3132 AC_CHECK_HEADERS(faad.h, ,
3133 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3134 AC_CHECK_LIB(faad, faacDecOpen, [
3135 VLC_ADD_PLUGIN([faad])
3136 VLC_ADD_LIBS([faad],[-lfaad]) ],
3137 AC_CHECK_LIB(faad, NeAACDecOpen, [
3138 VLC_ADD_PLUGIN([faad])
3139 VLC_ADD_LIBS([faad],[-lfaad]) ],
3140 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3141 LDFLAGS="${LDFLAGS_save}"
3142 CPPFLAGS="${CPPFLAGS_save}"
3147 dnl twolame encoder plugin
3149 AC_ARG_ENABLE(twolame,
3150 [ --enable-twolame twolame codec (default disabled)])
3151 if test "${enable_twolame}" = "yes"
3153 AC_ARG_WITH(twolame-tree,
3154 [ --with-twolame-tree=PATH twolame tree for static linking])
3155 if test -n "${with_twolame_tree}"
3157 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3158 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3159 if test -z "${real_twolame_tree}"
3161 dnl The given directory can't be found
3163 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3165 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3167 dnl Use a custom twolame
3168 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3169 VLC_ADD_PLUGIN([twolame])
3170 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3171 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3173 dnl The given libtwolame wasn't built
3175 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3178 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3179 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3180 AC_CHECK_HEADERS(twolame.h, ,
3181 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3182 AC_CHECK_LIB(twolame, twolame_init, [
3183 VLC_ADD_PLUGIN([twolame])
3184 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3185 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3186 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3187 LDFLAGS="${LDFLAGS_save}"
3188 CPPFLAGS="${CPPFLAGS_save}"
3193 dnl QuickTime plugin
3195 AC_ARG_ENABLE(quicktime,
3196 [ --enable-quicktime QuickTime module (deprecated)])
3197 if test "${enable_quicktime}" = "yes"; then
3198 if test "${SYS}" = "mingw32"; then
3199 VLC_ADD_PLUGIN([quicktime])
3201 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3202 [ VLC_ADD_PLUGIN([quicktime])
3203 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3204 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3212 [ --enable-real Real media module (default disabled)])
3213 if test "${enable_real}" = "yes"; then
3214 VLC_ADD_PLUGIN([realaudio])
3215 VLC_ADD_PLUGIN([realvideo])
3219 dnl Real RTSP plugin
3221 AC_ARG_ENABLE(realrtsp,
3222 [ --enable-realrtsp Real RTSP module (default disabled)])
3223 if test "${enable_realrtsp}" = "yes"; then
3224 VLC_ADD_PLUGIN([access_realrtsp])
3227 AC_ARG_ENABLE(libsysfs,
3228 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3230 AS_IF([test "${enable_libsysfs}" != "no"],[
3231 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3232 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3239 AC_ARG_ENABLE(libtar,
3240 [ --enable-libtar libtar support for skins2 (default enabled)])
3242 AS_IF([test "${enable_libtar}" != "no"],[
3243 AC_CHECK_HEADERS(libtar.h, [
3244 VLC_ADD_LIBS([skins2],[-ltar])
3249 dnl A52/AC3 decoder plugin
3252 [ --enable-a52 A/52 support with liba52 (default enabled)])
3253 if test "${enable_a52}" != "no"
3256 [ --with-a52=PATH a52 headers and libraries])
3257 AC_ARG_WITH(a52-tree,
3258 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3259 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3261 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3262 if test -z "${real_a52_tree}"
3264 dnl The given directory can't be found
3266 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3268 dnl Use a custom a52dec
3269 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3270 if test -f ${real_a52_tree}/include/a52.h
3273 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3274 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3275 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3276 AC_CHECK_LIB(a52, a52_free, [
3277 VLC_ADD_PLUGIN([a52tofloat32])
3278 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3279 VLC_ADD_LIBS([a52tofloat32],[-la52])
3281 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3283 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3285 AC_MSG_ERROR([the specified tree hasn't been compiled])
3288 LDFLAGS="${LDFLAGS_save}"
3291 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3294 if test -z "${with_a52}"
3299 LDFLAGS_test="-L${with_a52}/lib"
3300 CPPFLAGS_test="-I${with_a52}/include"
3302 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3303 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3304 AC_CHECK_HEADERS(a52dec/a52.h, [
3305 AC_CHECK_LIB(a52, a52_free, [
3306 VLC_ADD_PLUGIN([a52tofloat32])
3307 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3308 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3310 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.])
3313 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.])
3315 CPPFLAGS="${CPPFLAGS_save}"
3316 LDFLAGS="${LDFLAGS_save}"
3320 AC_ARG_WITH(a52-fixed,
3321 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3323 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3326 dnl DTS Coherent Acoustics decoder plugin
3328 AS_IF([test "x${enable_dts}" != "x"], [
3329 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3331 AS_IF([test "x${with_dts_tree}" != "x"], [
3332 AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3336 AS_HELP_STRING([--enable-dca],[DTS Coherent Acoustics support with libdca
3337 (default enabled)]))
3338 AS_IF([test "${enable_dca}" != "no"], [
3339 AC_ARG_WITH(dca-tree,
3340 [ --with-dca-tree=PATH libdca tree for static linking],,
3341 [with_dca_tree="no"])
3342 AS_IF([test "${with_dca_tree}" != "no"], [
3343 real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3344 AS_IF([test -z "${real_dca_tree}"], [
3345 dnl The given directory can't be found
3347 AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3349 dnl Use a custom libdca
3350 AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3351 AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3353 VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3354 AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3355 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3357 VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3361 AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3364 PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3365 VLC_ADD_PLUGIN([dtstofloat32])
3366 VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3367 VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3369 AS_IF([test "x${enable_dca}" != "x"], [
3370 AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3380 [ --enable-flac libflac decoder/encoder support (default disabled)])
3381 if test "${enable_flac}" = "yes"
3383 AC_ARG_WITH(flac-tree,
3384 [ --with-flac-tree=PATH flac tree for static linking])
3385 if test -n "${with_flac_tree}"
3387 AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3388 real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3389 if test -z "${real_flac_tree}"
3391 dnl The given directory can't be found
3393 AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3395 if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3397 dnl Use a custom flac
3398 AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3399 VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3400 VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3401 AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3403 dnl The given flac wasn't built
3405 AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3408 AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3409 VLC_ADD_LIBS([flac],[-lFLAC -logg])
3417 AC_ARG_ENABLE(libmpeg2,
3418 [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)])
3419 if test "${enable_libmpeg2}" != "no"
3421 AC_ARG_WITH(libmpeg2-tree,
3422 [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3423 AS_IF([test -n "${with_libmpeg2_tree}"],[
3424 AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3425 real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3426 if test -z "${real_libmpeg2_tree}"
3428 dnl The given directory can't be found
3430 AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3432 if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3434 dnl Use a custom libmpeg2
3435 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3436 VLC_ADD_PLUGIN([libmpeg2])
3437 VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3438 VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3440 dnl The given libmpeg2 wasn't built
3442 AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3445 PKG_CHECK_MODULES(LIBMPEG2,[libmpeg2 > 0.3.2],[
3446 VLC_ADD_PLUGIN([libmpeg2])
3447 VLC_ADD_LIBS([libmpeg2], $LIBMPEG2_LIBS)
3448 VLC_ADD_CFLAGS([libmpeg2], $LIBMPEG2_CFLAGS)
3450 AC_MSG_WARN([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ . Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.]))
3457 AC_ARG_ENABLE(vorbis,
3458 [ --enable-vorbis Vorbis decoder support (default enabled)])
3459 if test "${enable_vorbis}" != "no"
3461 AC_ARG_WITH(vorbis-tree,
3462 [ --with-vorbis-tree=PATH vorbis tree for static linking])
3463 if test -n "${with_vorbis_tree}"
3465 AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3466 real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3467 if test -z "${real_vorbis_tree}"
3469 dnl The given directory can't be found
3471 AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3473 if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3475 dnl Use a custom vorbis
3476 AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3477 VLC_ADD_PLUGIN([vorbis])
3478 VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3479 VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3481 dnl The given vorbis wasn't built
3483 AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3486 AC_CHECK_HEADERS(vorbis/codec.h, [
3487 VLC_ADD_PLUGIN([vorbis])
3488 VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3490 AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3491 VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3498 AC_ARG_ENABLE(tremor,
3499 [ --enable-tremor Tremor decoder support (default disabled)])
3500 if test "${enable_tremor}" = "yes"
3502 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3503 VLC_ADD_PLUGIN([tremor])
3504 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3511 AC_ARG_ENABLE(speex,
3512 [ --enable-speex Speex decoder support (default enabled)])
3513 if test "${enable_speex}" != "no"
3515 AC_ARG_WITH(speex-tree,
3516 [ --with-speex-tree=PATH speex tree for static linking])
3517 if test -n "${with_speex_tree}"
3519 AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3520 real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3521 if test -z "${real_speex_tree}"
3523 dnl The given directory can't be found
3525 AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3527 if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3529 dnl Use a custom speex
3530 AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3531 VLC_ADD_PLUGIN([speex])
3532 VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3533 VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3535 dnl The given speex wasn't built
3537 AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3540 AC_CHECK_HEADERS(speex/speex.h, [
3541 LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3542 AC_CHECK_LIB(speex, speex_decode_int, [
3543 VLC_ADD_PLUGIN([speex])
3544 VLC_ADD_LIBS([speex],[-lspeex]) ],
3545 [ AC_MSG_RESULT([no])
3546 AC_MSG_WARN([Your libspeex is too old, please get the development
3548 LDFLAGS="${LDFLAGS_save}"
3554 dnl tarkin decoder plugin
3556 AC_ARG_ENABLE(tarkin,
3557 [ --enable-tarkin experimental tarkin codec (default disabled)])
3558 if test "${enable_tarkin}" = "yes"
3560 AC_ARG_WITH(tarkin-tree,
3561 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3562 if test -n "${with_tarkin_tree}"
3564 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3565 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3566 if test -f "${real_tarkin_tree}/tarkin.o"
3568 VLC_ADD_PLUGIN([tarkin])
3569 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3570 VLC_ADD_LIBS([tarkin],[${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg])
3573 dnl The given tarkin tree wasn't built
3575 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3576 make sure you compiled tarkin in ${with_tarkin_tree}])
3582 dnl theora decoder plugin
3584 AC_ARG_ENABLE(theora,
3585 [ --enable-theora experimental theora codec (default disabled)])
3586 if test "${enable_theora}" = "yes"
3588 AC_CHECK_HEADERS(theora/theora.h, [
3589 AC_CHECK_LIB(theora, theora_granule_time, [
3590 VLC_ADD_PLUGIN([theora])
3591 theora_libs="-ltheora -logg"
3592 VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3593 AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3594 You also need to check that you have a libogg posterior to the 1.0 release.])],
3600 dnl dirac decoder plugin
3602 AC_ARG_ENABLE(dirac,
3603 [ --enable-dirac experimental dirac codec (default disabled)])
3604 if test "${enable_dirac}" = "yes"; then
3605 PKG_CHECK_MODULES(DIRAC,[dirac >= 0.10.0], [
3606 VLC_ADD_PLUGIN([dirac])
3607 VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3608 VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3609 AC_MSG_ERROR([libdirac >= 0.10.0 doesn't appear to be installed on your system.])
3614 dnl schroedinger decoder plugin (for dirac format video)
3616 AC_ARG_ENABLE(schroedinger,
3617 [ --disable-schroedinger high performance dirac codec (default enabled)])
3618 if test "${enable_schroedinger}" != "no"; then
3619 PKG_CHECK_MODULES(SCHROEDINGER,[schroedinger-1.0 >= 1.0.6], [
3620 VLC_ADD_PLUGIN([schroedinger])
3621 VLC_ADD_CFLAGS([schroedinger],[$SCHROEDINGER_CFLAGS])
3622 VLC_ADD_LIBS([schroedinger],[$SCHROEDINGER_LIBS]) ], [
3623 AS_IF([test "x${enable_schroedinger}" != "x"], [
3624 AC_MSG_ERROR([${SCHROEDINGER_PKG_ERRORS}])
3630 dnl PNG decoder module
3633 [ --enable-png PNG support (default enabled)])
3634 if test "${enable_png}" != "no"; then
3635 AC_CHECK_HEADERS(png.h, [
3636 LDFLAGS="${LDFLAGS_save} -lz"
3637 AC_CHECK_LIB(png, png_set_rows, [
3638 VLC_ADD_LIBS([png],[-lpng -lz])
3639 VLC_ADD_PLUGIN([png])
3640 VLC_ADD_PLUGIN([osdmenu])
3641 VLC_ADD_PLUGIN([osd_parser])
3642 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3644 LDFLAGS="${LDFLAGS_save}"
3647 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3650 dnl H264 encoder plugin (using libx264)
3653 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3654 if test "${enable_x264}" != "no"; then
3655 AC_ARG_WITH(x264-tree,
3656 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3657 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3659 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3660 if test -z "${real_x264_tree}"
3662 dnl The given directory can't be found
3664 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3666 dnl Use a custom libx264
3667 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3668 if test -f ${real_x264_tree}/x264.h
3671 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3672 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3673 PKG_CHECK_MODULES(X264,x264, [
3674 VLC_ADD_PLUGIN([x264])
3675 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3676 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3677 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3678 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3681 AC_MSG_ERROR([the specified tree hasn't been compiled])
3683 LDFLAGS="${LDFLAGS_save}"
3686 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3689 PKG_CHECK_MODULES(X264,x264, [
3690 VLC_ADD_PLUGIN([x264])
3691 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3693 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3694 [ac_cv_ld_bsymbolic],
3695 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3696 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3697 LDFLAGS="${LDFLAGS_save}"
3699 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3700 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3703 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3704 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3705 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3708 if test "${enable_x264}" = "yes"; then
3709 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3712 LDFLAGS="${LDFLAGS_save}"
3717 dnl libfluidsynth (MIDI synthetizer) plugin
3719 AC_ARG_ENABLE(fluidsynth,
3720 [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)])
3721 AS_IF([test "x${enable_fluidsynth}" != "xno"], [
3722 PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [
3723 VLC_ADD_PLUGIN(fluidsynth)
3724 VLC_ADD_CFLAGS(fluidsynth, [${FLUIDSYNTH_CFLAGS}])
3725 VLC_ADD_LIBS(fluidsynth, [${FLUIDSYNTH_LIBS}])
3727 AS_IF([test "x${enable_fluidsynth}" != "x"], [
3728 AC_MSG_ERROR([${FLUIDSYNTH_PKG_ERRORS}])
3734 dnl Teletext Modules
3735 dnl vbi decoder plugin (using libzbvi)
3740 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3741 libzvbi (default enabled)]))
3743 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3744 zvbi) (default enabled if zvbi is absent)]))
3746 AS_IF( [test "${enable_zvbi}" != "no"],[
3747 PKG_CHECK_MODULES(ZVBI,
3750 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3751 if test "${SYS}" = "mingw32"; then
3752 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3754 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3755 VLC_ADD_PLUGIN([zvbi])
3756 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3757 AS_IF( [test "${enable_telx}" = "yes"],[
3758 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3762 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3765 AS_IF( [test "${enable_telx}" != "no" ],[
3766 VLC_ADD_PLUGIN([telx])
3770 dnl asa/csri subtitle rendering module
3773 [ --enable-csri Subtitle support using CSRI / asa (default disabled)])
3774 AS_IF( [test "${enable_csri}" = "yes"], [
3775 PKG_CHECK_MODULES(CSRI,
3778 VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS])
3779 VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS])
3780 VLC_ADD_PLUGIN([csri])
3782 AC_MSG_WARN([CSRI helper library not found])
3787 dnl libass subtitle rendering module
3789 AC_ARG_ENABLE(libass,
3790 [ --enable-libass Subtitle support using libass (default disabled)])
3791 AS_IF( [test "${enable_libass}" = "yes"], [
3792 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
3794 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3795 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3796 VLC_ADD_PLUGIN([libass])
3798 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3799 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3800 if test "${SYS}" = "mingw32"; then
3801 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz -lxml2])
3803 VLC_ADD_LIBS([libass],[-lfontconfig])
3807 AC_MSG_WARN([LIBASS library not found])
3814 AC_ARG_ENABLE(asademux,
3815 [ --enable-asademux asa subtitle demuxing (default disabled)])
3816 AS_IF( [test "${enable_asademux}" = "yes"], [
3817 PKG_CHECK_MODULES(PCRE,
3820 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3821 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3822 if test "${SYS}" = "mingw32"; then
3823 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3825 VLC_ADD_PLUGIN([asademux])
3827 AC_MSG_WARN([PCRE library not found (required for asademux)])
3835 [ --enable-cmml CMML support (default enabled)])
3836 if test "${enable_cmml}" != "no"
3838 VLC_ADD_PLUGIN([cmml])
3842 dnl kate decoder plugin
3845 [ --enable-kate kate codec (default enabled)])
3846 AS_IF([test "${enable_kate}" != "no"], [
3847 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3848 VLC_ADD_PLUGIN([kate])
3849 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3850 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3851 AC_CHECK_HEADERS(kate/kate.h, [
3852 AC_CHECK_LIB(kate, kate_decode_init, [
3853 VLC_ADD_PLUGIN([kate])
3854 kate_libs="-lkate -logg"
3855 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3856 AS_IF([test "x${enable_kate}" != "x"], [
3857 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3858 You also need to check that you have a libogg posterior to the 1.0 release.])
3862 AS_IF([test "x${enable_kate}" != "x"], [
3863 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3864 You also need to check that you have a libogg posterior to the 1.0 release.])
3872 dnl tiger decoder plugin
3874 AC_ARG_ENABLE(tiger,
3875 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3876 AS_IF([test "${enable_tiger}" != "no"], [
3877 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3878 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3879 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3880 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3881 AS_IF([test "x${enable_tiger}" != "x"], [
3882 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3892 AC_ARG_WITH(,[Video plugins:])
3900 [ --enable-x11 X11 support with Xlib (default enabled)],, [
3901 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3908 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3910 AS_IF([test "${enable_x11}" != "no"], [
3911 AC_CHECK_HEADERS(X11/Xlib.h, [
3912 VLC_ADD_PLUGIN([x11])
3913 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3914 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3916 AC_CHECK_LIB(Xext, XShmAttach, [VLC_ADD_LIBS([x11],[-lXext])])
3920 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3921 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3922 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3924 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3925 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3930 #include <X11/Xlib.h>
3936 dnl (enabled by default except on win32)
3938 AC_ARG_ENABLE(xvideo,
3939 [ --enable-xvideo XVideo support (default enabled)],, [
3940 enable_xvideo="$enable_x11"
3942 AS_IF([test "${enable_xvideo}" != "no"], [
3943 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3944 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3945 AC_CHECK_LIB(Xv,XvPutImage,[
3946 VLC_ADD_PLUGIN([xvideo])
3947 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3948 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3950 CFLAGS="${CFLAGS_save}"
3956 dnl (enabled by default except on win32)
3959 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3960 enable_glx="$enable_x11"
3962 AS_IF([test "${enable_glx}" != "no"], [
3963 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3964 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3965 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3969 VLC_ADD_PLUGIN([glx])
3970 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3971 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3972 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3977 dnl (disabled by default except on win32)
3980 [ --enable-xvmc XvMC support (default disabled)],, [
3983 AS_IF([test "${enable_xvmc}" != "no"], [
3984 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3985 VLC_ADD_PLUGIN([xvmc])
3986 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
3987 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
3989 AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
3994 dnl Check for the Xinerama extension
3996 AC_ARG_ENABLE(xinerama,
3997 [ --enable-xinerama Xinerama support (default enabled)],, [
3998 enable_xinerama="$enable_xvideo"
4000 AS_IF([test "$enable_xinerama" != "no"], [
4001 ac_cv_have_xinerama="no"
4002 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
4003 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
4004 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
4005 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
4006 VLC_ADD_LIBS([x11],[-lXinerama_pic])
4007 VLC_ADD_LIBS([glx],[-lXinerama_pic])
4008 VLC_ADD_LIBS([xvmc],[-lXinerama_pic])
4009 ac_cv_have_xinerama="yes"
4011 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
4012 VLC_ADD_LIBS([xvideo],[-lXinerama])
4013 VLC_ADD_LIBS([x11],[-lXinerama])
4014 VLC_ADD_LIBS([glx],[-lXinerama])
4015 VLC_ADD_LIBS([xvmc],[-lXinerama])
4016 ac_cv_have_xinerama="yes"
4020 if test "${ac_cv_have_xinerama}" = "yes"; then
4021 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
4025 dnl Check for XF86VidMode extension
4027 ac_cv_have_xf86vidmode="no"
4028 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
4029 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
4030 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
4031 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
4032 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
4033 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
4034 ac_cv_have_xf86vidmode="yes"
4036 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
4037 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
4038 VLC_ADD_LIBS([x11],[-lXxf86vm])
4039 VLC_ADD_LIBS([glx],[-lXxf86vm])
4040 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
4041 ac_cv_have_xf86vidmode="yes"
4045 [#ifdef HAVE_X11_XLIB_H
4046 # include <X11/Xlib.h>
4049 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
4050 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
4052 CFLAGS="${CFLAGS_save}"
4055 dnl End of Xlib tests
4056 CPPFLAGS="${CPPFLAGS_save}"
4060 dnl X C Bindings modules
4063 [ --enable-xcb X11 support with XCB (default enabled)],, [
4064 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
4071 AS_IF([test "${enable_xcb}" != "no"], [
4072 PKG_CHECK_MODULES(XPROTO, [xproto])
4075 PKG_CHECK_MODULES(XCB, [xcb])
4076 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
4077 VLC_ADD_PLUGIN([xcb])
4078 VLC_ADD_PLUGIN([xcb_screen])
4080 AS_IF([test "${enable_xvideo}" != "no"], [
4081 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
4082 VLC_ADD_PLUGIN([xcb_xv])
4084 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
4085 VLC_ADD_PLUGIN([xcb_xv])
4086 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
4091 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
4092 VLC_ADD_PLUGIN([panoramix])
4093 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
4094 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
4098 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
4100 VLC_ADD_PLUGIN([xcb_window])
4101 VLC_ADD_PLUGIN([globalhotkeys])
4102 VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
4103 VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
4109 dnl (enabled by default except on beos)
4111 AC_ARG_ENABLE(opengl,
4112 [ --enable-opengl OpenGL support (default enabled)])
4113 if test "${enable_opengl}" != "no" &&
4114 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
4115 if test "${SYS}" != "darwin"; then
4116 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4117 VLC_ADD_PLUGIN([opengl])
4118 if test "${SYS}" != "mingw32"; then
4119 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
4121 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
4125 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
4126 VLC_ADD_PLUGIN([opengl])
4127 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
4135 [ --enable-sdl SDL support (default enabled)])
4136 AC_ARG_ENABLE(sdl-image,
4137 [ --enable-sdl-image SDL image support (default enabled)])
4138 if test "${enable_sdl}" != "no"
4141 AC_ARG_WITH(sdl-config-path,
4142 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
4143 [ if test "${with_sdl_config_path}" != "no"
4145 SDL_PATH="${with_sdl_config_path}:${PATH}"
4147 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
4148 SDL_CONFIG="${SDL12_CONFIG}"
4149 SDL_HEADER="SDL12/SDL.h"
4150 SDL_IMAGE="SDL12/SDL_image.h"
4151 if test "${SDL_CONFIG}" = "no"
4153 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
4154 SDL_CONFIG=${SDL11_CONFIG}
4155 SDL_HEADER="SDL11/SDL.h"
4156 SDL_IMAGE="SDL11/SDL_image.h"
4158 if test "${SDL_CONFIG}" = "no"
4160 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
4161 SDL_HEADER="SDL/SDL.h"
4162 SDL_IMAGE="SDL/SDL_image.h"
4164 # check for cross-compiling
4166 AC_ARG_WITH(sdl-prefix,
4167 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
4169 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
4170 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
4172 SDL_PREFIX="--prefix=${with_sdl_prefix}"
4174 if test "${SDL_CONFIG}" != "no"
4176 # SDL on Darwin is heavily patched and can only run SDL_image
4177 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
4178 VLC_ADD_PLUGIN([vout_sdl])
4179 VLC_ADD_PLUGIN([aout_sdl])
4181 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
4182 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
4183 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
4184 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
4185 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
4186 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
4187 As a last resort we also test for SDL.h presence),
4188 [ AC_MSG_ERROR([The development package for SDL is not installed.
4189 Please install it and try again. Alternatively you can also configure with
4192 AS_IF([ test "${enable_sdl_image}" != "no"],[
4193 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
4194 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
4195 VLC_ADD_PLUGIN([sdl_image])
4196 AC_CHECK_LIB(png, png_set_rows,
4197 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
4198 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
4199 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
4200 AC_CHECK_LIB(tiff, TIFFClientOpen,
4201 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
4202 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
4203 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
4204 As a last resort we also test for SDL_image.h presence),
4205 [ AC_MSG_WARN([The development package for SDL_image is not installed.
4206 You should install it alongside your SDL package.])
4209 CPPFLAGS="${CPPFLAGS_save}"
4210 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
4212 AC_MSG_ERROR([The development package for SDL is not installed.
4213 Please install it and try again. Alternatively you can also configure with
4217 elif test "${enable_sdl}" = "yes"
4219 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
4220 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
4228 AC_ARG_ENABLE(freetype,
4229 [ --enable-freetype freetype support (default enabled)])
4230 AC_ARG_ENABLE(fribidi,
4231 [ --enable-fribidi fribidi support (default enabled)])
4232 AC_ARG_ENABLE(fontconfig,
4233 [ --enable-fontconfig, fontconfig support (default enabled)])
4234 if test "${enable_freetype}" != "no"
4236 PKG_CHECK_MODULES(FREETYPE, freetype2,[
4237 VLC_ADD_PLUGIN([freetype])
4239 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
4240 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
4241 if test "${SYS}" = "mingw32"; then
4242 VLC_ADD_LIBS([freetype skins2],[-lxml2])
4243 VLC_ADD_LIBS([freetype],[-liconv])
4245 if test "${enable_fontconfig}" != "no"
4247 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
4248 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
4249 VLC_ADD_LIBS([freetype],[-lfontconfig])])
4250 AC_CHECK_HEADERS(Carbon/Carbon.h,
4251 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
4255 AS_IF([ test "${enable_freetype}" = "yes"],[
4256 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
4257 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
4263 if test "${enable_fribidi}" != "no"
4265 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
4266 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
4267 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
4275 AC_ARG_ENABLE(libxml2,
4276 [ --enable-libxml2 libxml2 support (default enabled)])
4277 AS_IF([test "${enable_libxml2}" != "no"], [
4278 PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5], [
4279 VLC_ADD_CPPFLAGS([xml],[${XML2_CFLAGS}])
4280 VLC_ADD_LIBS([xml],[${XML2_LIBS}])
4281 VLC_ADD_PLUGIN([xml])
4283 AS_IF([test "x${enable_xml2}" != "x"], [
4284 AC_MSG_ERROR([Could not find libxml version 2.5 or higher])
4293 [ --enable-svg SVG support (default disabled)])
4294 if test "${enable_svg}" = "yes"
4296 PKG_CHECK_MODULES(SVG,
4297 librsvg-2.0 >= 2.9.0,
4299 VLC_ADD_LIBS([svg],[$SVG_LIBS])
4300 VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
4301 VLC_ADD_PLUGIN([svg]) ],
4302 [AC_MSG_WARN(SVG library not found)])
4306 dnl Snapshot vout module (with cache)
4308 AC_ARG_ENABLE(snapshot,
4309 [ --enable-snapshot snapshot module (default disabled)])
4310 if test "${enable_snapshot}" = "yes"
4312 VLC_ADD_PLUGIN([snapshot])
4316 dnl Qt Embedded module
4317 dnl (disabled by default)
4320 [ --enable-qte QT Embedded support (default disabled)])
4321 if test "${enable_qte}" = "yes"
4324 [ --with-qte=PATH Qt Embedded headers and libraries])
4325 if test "${with_qte}" != "no" -a -n "${with_qte}"
4327 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4328 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])
4330 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4331 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4333 VLC_ADD_PLUGIN([qte])
4335 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4336 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4337 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4339 CPPFLAGS="${CPPFLAGS_save}"
4343 dnl Roku HD1000 Video output module
4345 AC_ARG_ENABLE(hd1000v,
4346 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
4347 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
4348 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4349 test "${enable_hd1000v}" = "yes"); then
4351 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
4353 can_build_roku="yes"
4357 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
4359 if test "$can_build_roku" = "yes"
4361 VLC_ADD_PLUGIN([hd1000v])
4362 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
4368 dnl Windows DirectX module
4371 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4373 VLC_ADD_PLUGIN([panoramix])
4376 AC_ARG_ENABLE(directx,
4377 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
4378 if test "${enable_directx}" != "no"
4380 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
4382 AC_ARG_WITH(directx,
4383 [ --with-directx=PATH Win32 DirectX headers])
4384 if test -z "${with_directx}"
4386 AC_CHECK_HEADERS(ddraw.h,
4387 [ VLC_ADD_PLUGIN([directx])
4388 VLC_ADD_PLUGIN([aout_directx])
4389 VLC_ADD_LIBS([directx],[-lgdi32])
4391 AC_CHECK_HEADERS(GL/gl.h,
4392 [ VLC_ADD_PLUGIN([glwin32])
4393 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
4395 AC_CHECK_HEADERS(d3d9.h,
4396 [ VLC_ADD_PLUGIN([direct3d])
4397 VLC_ADD_LIBS([direct3d],[-lgdi32])
4400 AC_MSG_CHECKING(for directX headers in ${with_directx})
4401 if test -f ${with_directx}/ddraw.h
4403 VLC_ADD_PLUGIN([directx])
4404 VLC_ADD_PLUGIN([aout_directx])
4405 VLC_ADD_CPPFLAGS([directx aout_directx],[-I${with_directx}])
4406 VLC_ADD_LIBS([directx],[-lgdi32])
4410 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
4417 dnl Linux framebuffer module
4420 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
4421 if test "${enable_fb}" != "no"
4423 AC_CHECK_HEADERS(linux/fb.h, [
4424 VLC_ADD_PLUGIN([fb])
4429 dnl Linux MGA module
4432 [ --enable-mga Linux kernel Matrox support (default disabled)],
4433 [ if test "${enable_mga}" = "yes"
4435 VLC_ADD_PLUGIN([mga])
4439 dnl OMAP Framebuffer module
4441 AC_ARG_ENABLE(omapfb,
4442 [ --enable-omapfb OMAP framebuffer support (default disabled)])
4443 if test "${enable_omapfb}" = "yes"
4445 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
4446 VLC_ADD_PLUGIN([omapfb])
4447 AC_CHECK_HEADERS(X11/Xlib.h, [
4448 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
4455 AC_ARG_ENABLE(svgalib,
4456 [ --enable-svgalib SVGAlib support (default disabled)])
4457 if test "${enable_svgalib}" = "yes"
4459 VLC_ADD_PLUGIN([svgalib])
4460 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4465 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4466 dnl TODO: support for static linking
4468 AC_ARG_ENABLE(directfb,
4469 [ --enable-directfb DirectFB support (default disabled)])
4470 AC_ARG_WITH(directfb,
4471 [ --with-directfb=PATH path to DirectFB headers and libraries])
4473 if test "${enable_directfb}" = "yes"; then
4474 have_directfb="false"
4475 CPPFLAGS_mydirectfb=
4477 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4478 dnl Trying the given location
4479 CPPFLAGS_save="${CPPFLAGS}"
4482 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4483 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4484 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4486 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4487 LIBS="${LIBS} ${LIBS_new}"
4489 dnl FIXME: too obscure
4490 AC_CHECK_HEADER([directfb.h], [
4491 AC_CHECK_LIB([direct],[direct_initialize], [
4492 AC_CHECK_LIB([fusion], [fusion_enter], [
4493 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4494 ], have_directfb="false")
4495 ], have_directfb="false")
4496 ], have_directfb="false")
4499 CPPFLAGS="${CPPFLAGS_save}"
4502 if test "${have_directfb}" = "true"; then
4503 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4504 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4507 dnl Look for directfb-config
4508 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4509 if test "${DIRECTFB_CONFIG}" != "no"; then
4510 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4511 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4512 have_directfb="true"
4514 dnl Trying with pkg-config
4515 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4516 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4517 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4518 have_directfb="true"
4519 ], [have_directfb="false"])
4522 if test "${have_directfb}" = "true"; then
4523 VLC_ADD_PLUGIN([directfb])
4524 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4525 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4527 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4537 [ --enable-ggi GGI support (default disabled)])
4538 if test "${enable_ggi}" = "yes"
4540 AC_CHECK_HEADER([ggi/ggi.h],[
4541 VLC_ADD_PLUGIN([ggi])
4542 VLC_ADD_LIBS([ggi],[-lggi])
4544 [ --with-ggi=PATH path to libggi],
4545 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4547 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4548 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4551 AC_MSG_ERROR([LibGGI development files can't be found])
4559 [ --enable-aa aalib output (default disabled)])
4560 if test "${enable_aa}" = "yes"
4562 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4563 if test "${have_aa}" = "true"
4565 VLC_ADD_PLUGIN([aa])
4566 VLC_ADD_LIBS([aa],[-laa])
4574 [ --enable-caca libcaca output (default disabled)])
4575 if test "${enable_caca}" = "yes"
4578 AC_ARG_WITH(caca-config-path,
4579 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4580 [ if test "${with_caca_config_path}" != "no"
4582 CACA_PATH="${with_caca_config_path}:${PATH}"
4584 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4585 if test "${CACA_CONFIG}" != "no"
4587 VLC_ADD_PLUGIN([caca])
4588 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4589 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4590 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4595 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4601 dnl win32 GDI plugin
4603 AC_ARG_ENABLE(wingdi,
4604 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4605 if test "${enable_wingdi}" != "no"; then
4606 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4607 VLC_ADD_PLUGIN([wingdi])
4608 VLC_ADD_LIBS([wingdi],[-lgdi32])
4610 if test "${SYS}" = "mingwce"; then
4611 VLC_ADD_PLUGIN([wingdi])
4612 VLC_ADD_PLUGIN([wingapi])
4613 VLC_ADD_LIBS([wingdi],[-laygshell])
4614 VLC_ADD_LIBS([wingapi],[-laygshell])
4622 AC_ARG_WITH(,[Audio plugins:])
4625 dnl OSS /dev/dsp module (enabled by default except on win32)
4628 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4630 if test "${enable_oss}" != "no" &&
4631 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4632 test "${enable_oss}" = "yes")
4634 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4635 VLC_ADD_PLUGIN([oss])
4636 VLC_ADD_PLUGIN([access_oss])
4637 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4642 dnl Pulseaudio module
4644 AC_ARG_ENABLE(pulse,
4645 [ --enable-pulse Pulseaudio support (default enabled)])
4646 if test "${enable_pulse}" != "no"
4648 PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.11,
4649 [ VLC_ADD_PLUGIN([pulse])
4650 VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
4651 VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
4652 [AC_MSG_WARN(pulseaudio library not found)])
4656 dnl Portaudio module
4658 AC_ARG_ENABLE(portaudio,
4659 [ --enable-portaudio Portaudio library support (default disabled)],
4660 [if test "${enable_portaudio}" = "yes"
4662 VLC_ADD_PLUGIN([portaudio])
4663 VLC_ADD_CXXFLAGS([portaudio],[])
4664 if test "${SYS}" = "mingw32"; then
4665 VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32])
4667 VLC_ADD_LIBS([portaudio],[-lportaudio])
4675 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4676 if test "${enable_alsa}" != "no"
4678 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4679 if test "${have_alsa}" = "true"
4681 CFLAGS="${CFLAGS_save}"
4682 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4683 #define ALSA_PCM_NEW_SW_PARAMS_API
4684 #include <alsa/asoundlib.h>],
4685 [snd_pcm_hw_params_get_period_time(0,0,0);],
4686 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4687 VLC_ADD_PLUGIN([alsa])
4688 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4689 VLC_ADD_PLUGIN([access_alsa])
4690 VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
4692 if test "${enable_alsa}" = "yes"; then
4693 AC_MSG_ERROR([Could not find ALSA development headers])
4699 dnl win32 waveOut plugin
4701 AC_ARG_ENABLE(waveout,
4702 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4703 if test "${enable_waveout}" != "no"; then
4704 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4705 VLC_ADD_PLUGIN([waveout])
4706 VLC_ADD_LIBS([waveout],[-lwinmm])
4708 if test "${SYS}" = "mingwce"; then
4709 VLC_ADD_PLUGIN([waveout])
4714 dnl CoreAudio plugin
4716 AC_ARG_ENABLE(macosx-audio,
4717 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4718 if test "${enable_macosx-audio}" != "no" &&
4719 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4721 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4722 [ VLC_ADD_PLUGIN([auhal])
4723 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4724 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4728 dnl Roku HD1000 audio
4730 AC_ARG_ENABLE(hd1000a,
4731 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4732 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4733 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4734 test "${enable_hd1000a}" = "yes")
4737 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4738 VLC_ADD_PLUGIN([hd1000a])
4739 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4747 [ --enable-jack JACK audio I/O modules (default disabled)],,
4750 AS_IF([test "${enable_jack}" != "no"], [
4751 AC_CHECK_HEADERS(jack/jack.h, [
4752 VLC_ADD_PLUGIN([access_jack])
4753 VLC_ADD_PLUGIN([jack])
4754 VLC_ADD_LIBS([access_jack jack],[-ljack])
4755 ],[AC_MSG_ERROR([cannot find JACK headers])])
4759 dnl CyberLink for C++ UPnP stack
4761 AC_ARG_ENABLE(cyberlink,
4762 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4763 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4764 AC_ARG_WITH(cyberlink-tree,
4765 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4768 dnl test for --with-cyberlink-tree
4770 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4772 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4773 AS_IF([test -z "${real_cyberlink_tree}"], [
4774 dnl The given directory can't be found
4776 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4778 CPPFLAGS_save="${CPPFLAGS}"
4779 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4780 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4781 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4782 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4783 VLC_ADD_PLUGIN([upnp_cc])
4785 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4787 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4788 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4789 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4790 dnl The mere fact that we have to make such an ugly check sucks
4791 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4794 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4795 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4796 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4797 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4798 using namespace CyberLink;
4800 class testclass : public SearchResponseListener, public MediaPlayer
4802 virtual void deviceSearchResponseReceived( SSDPPacket *)
4809 addSearchResponseListener (this);
4813 ],[testclass l;])],[LIBS_cclink="$l"])
4816 dnl should not happen - otherwise this needs fixing - hence FAILURE
4817 AS_IF([test "${LIBS_cclink}" = "no"],
4818 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4819 AC_MSG_RESULT([${LIBS_cclink}])
4820 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4823 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4825 CPPFLAGS="${CPPFLAGS_save}"
4831 dnl UPnP Plugin (Intel SDK)
4834 AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)]))
4836 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4837 AS_IF([test "x${enable_upnp}" != "xno"], [
4838 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4839 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4840 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4842 AS_IF([test "${has_upnp}" = "yes"], [
4843 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4849 AS_IF([test "${has_upnp}" = "yes"], [
4850 VLC_ADD_PLUGIN([upnp_intel])
4855 dnl Interface plugins
4858 AC_ARG_WITH(,[Interface plugins:])
4860 dnl special case for BeOS
4861 if test "${SYS}" = "beos"
4863 VLC_ADD_PLUGIN([beos])
4869 AC_ARG_ENABLE(skins2,
4870 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4871 enabled except on MacOSX, BeOS and WinCE)])])
4872 if test "${enable_skins2}" = "yes" ||
4873 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4874 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4876 dnl test for the required libraries
4877 skins2_missing_lib="no"
4880 if test "${have_freetype}" != "yes"; then
4881 skins2_missing_lib="yes"
4882 if test "${enable_skins2}" = "yes"; then
4883 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4887 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4888 VLC_ADD_PLUGIN([skins2])
4889 ALIASES="${ALIASES} svlc"
4890 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4891 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4892 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4894 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4895 VLC_ADD_PLUGIN([skins2])
4896 ALIASES="${ALIASES} svlc"
4897 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4898 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4899 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4901 else if test "${skins2_missing_lib}" = "no"; then
4902 VLC_ADD_PLUGIN([skins2])
4903 ALIASES="${ALIASES} svlc"
4904 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4905 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4906 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4909 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4910 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4911 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4914 dnl PDA Gtk+2 module
4917 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4918 if test "${enable_pda}" = "yes"
4920 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4921 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4922 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4923 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4924 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
4925 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
4926 VLC_ADD_PLUGIN([pda])
4927 if test "${SYS}" != "mingw32"; then
4929 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
4930 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
4933 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
4938 AC_ARG_ENABLE(maemo,
4939 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4940 if test "${enable_maemo}" = "yes"
4942 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4943 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4944 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4945 VLC_ADD_PLUGIN([maemo])
4946 VLC_ADD_PLUGIN([swscale_maemo])
4947 AC_DEFINE([BUILD_MAEMO], 1, [Define if you are using Maemo interfaces])
4948 ALIASES="${ALIASES} mvlc"
4950 AS_IF([test "${enable_maemo}" = "yes"],[
4951 AC_MSG_ERROR([Hildon libraries not found])
4956 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4962 [ --enable-qt4 QT 4 support (default enabled) ],, [
4963 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4965 AS_IF([test "${enable_qt4}" != "no"], [
4966 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4967 VLC_ADD_PLUGIN([qt4])
4968 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
4969 ALIASES="${ALIASES} qvlc"
4970 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
4971 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4973 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4975 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4976 AC_SUBST(QT4LOCALEDIR)
4977 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4978 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4979 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4980 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4982 AS_IF([test "${enable_qt4}" = "yes"],[
4983 AC_MSG_ERROR([Qt 4 library not found])
4985 AC_MSG_WARN([Qt 4 library not found])
4990 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4993 dnl WinCE GUI module
4995 AC_ARG_ENABLE(wince,
4996 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4997 if test "${enable_wince}" != "no"; then
4998 if test "${SYS}" = "mingwce"; then
4999 VLC_ADD_PLUGIN([wince])
5000 VLC_ADD_CXXFLAGS([wince],[])
5001 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
5003 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5004 elif test "${SYS}" = "mingw32"; then
5005 VLC_ADD_CXXFLAGS([wince],[])
5006 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
5008 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
5013 dnl Simple test for skins2 dependency
5015 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
5016 AC_MSG_ERROR([The skins2 module depends on a the Qt4 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 Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
5020 dnl Opie QT embedded module
5023 [ --enable-opie Qt embedded interface support (default disabled)],
5024 [if test "${enable_opie}" = "yes"; then
5026 [ --with-qte=PATH Qt Embedded headers and libraries])
5027 if test "${with_qte}" != "no" -a -n "${with_qte}"
5029 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
5030 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])
5032 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
5033 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
5035 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
5036 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
5037 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
5039 CPPFLAGS="${CPPFLAGS_save}"
5041 VLC_ADD_PLUGIN([opie])
5043 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
5044 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
5045 if test "${with_qte}" != "no" -a -n "${with_qte}"
5047 MOC=${with_qte}/bin/moc
5049 MOC=${QTDIR}/bin/moc
5054 dnl MacOS X video output/gui modules
5056 AC_ARG_ENABLE(macosx,
5057 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
5058 if test "x${enable_macosx}" = "xyes"
5060 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
5061 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
5062 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
5063 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
5064 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
5065 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
5066 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
5068 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
5069 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
5070 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
5071 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
5072 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
5073 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
5074 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
5076 VLC_ADD_PLUGIN([access_eyetv])
5077 VLC_ADD_PLUGIN([qtcapture])
5078 VLC_ADD_PLUGIN([macosx])
5079 VLC_ADD_PLUGIN([minimal_macosx])
5082 CFLAGS="$CFLAGS -x objective-c"
5083 AC_TRY_COMPILE([#import <QuartzCore/CALayer.h>],,
5084 [VLC_ADD_PLUGIN([opengllayer])
5085 VLC_ADD_OBJCFLAGS([opengllayer])],[])
5093 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
5094 if test "${enable_qnx}" != "no"
5096 AC_CHECK_HEADERS(Ph.h, [
5097 VLC_ADD_PLUGIN([qnx])
5098 VLC_ADD_LIBS([qnx],[-lasound -lph])
5105 AC_ARG_ENABLE(ncurses,
5106 [ --disable-ncurses ncurses interface support (default enabled)],
5107 [if test "${enable_ncurses}" != "no"; then
5108 AC_CHECK_HEADER(ncurses.h,
5109 [AC_CHECK_LIB(ncursesw, mvprintw,
5110 [VLC_ADD_PLUGIN([ncurses])
5111 VLC_ADD_LIBS([ncurses],[-lncursesw])
5112 ALIASES="${ALIASES} nvlc"
5113 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
5114 AC_CHECK_LIB(ncursesw, tgetent, [],
5115 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
5116 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5117 [AS_IF([test "x${enable_ncurses}" != "x"],
5118 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
5124 [AC_CHECK_LIB( ncurses, mvprintw,
5125 [VLC_ADD_PLUGIN([ncurses])
5126 ALIASES="${ALIASES} nvlc"
5127 VLC_ADD_LIBS([ncurses],[-lncurses])
5128 AC_CHECK_LIB(ncurses, tgetent, [],
5129 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
5130 [AS_IF([test "x${enable_ncurses}" != "x"],
5131 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
5134 [AS_IF([test "x${enable_ncurses}" != "x"], [
5135 AC_MSG_ERROR([libncurses not found])])]
5146 [ --enable-xosd xosd interface support (default disabled)])
5147 if test "${enable_xosd}" = "yes"
5149 AC_CHECK_HEADERS(xosd.h,
5150 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
5151 VLC_ADD_PLUGIN([xosd])
5152 VLC_ADD_LIBS([xosd],[-lxosd])
5158 dnl Framebuffer (overlay) plugin
5160 AC_ARG_ENABLE(fbosd,
5161 [ --enable-fbosd fbosd interface support (default disabled)])
5162 if test "${enable_fbosd}" = "yes"
5164 AC_CHECK_HEADERS(linux/fb.h, [
5165 VLC_ADD_PLUGIN([fbosd])
5170 dnl Visualisation plugin
5172 AC_ARG_ENABLE(visual,
5173 [ --enable-visual visualisation plugin (default enabled)])
5174 if test "${enable_visual}" != "no"
5176 VLC_ADD_PLUGIN([visual])
5180 dnl OpenGL visualisation plugin
5182 AC_ARG_ENABLE(galaktos,
5183 [ --enable-galaktos OpenGL visualisation plugin (default disabled)])
5184 if test "${enable_galaktos}" = "yes"
5186 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
5187 VLC_ADD_PLUGIN([galaktos])
5188 if test "${SYS}" != "mingw32"; then
5189 VLC_ADD_LIBS([galaktos],[${X_LIBS} -lGL -lGLU])
5191 VLC_ADD_LIBS([galaktos],[-lopengl32])
5197 dnl goom visualization plugin
5200 [ --enable-goom goom visualisation plugin (default disabled)])
5201 if test "${enable_goom}" = "yes"
5203 AC_ARG_WITH(goom-tree,
5204 [ --with-goom-tree=PATH goom tree for static linking (required)])
5207 dnl test for --with-goom-tree
5209 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
5210 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
5211 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
5212 if test -z "${real_goom_tree}"; then
5213 dnl The given directory can't be found
5215 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
5217 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
5218 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
5219 VLC_ADD_PLUGIN([goom])
5220 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
5221 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
5223 dnl The given libgoom2 wasn't built, try to look for the old goom
5225 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
5226 if test -f "${real_goom_tree}/libgoom.a"; then
5227 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
5228 VLC_ADD_PLUGIN([goom])
5229 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
5230 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
5232 dnl The given libgoom wasn't built
5234 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
5238 AC_CHECK_HEADERS(goom/goom.h, [
5239 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
5240 AC_CHECK_LIB(goom2, goom_init, [
5241 VLC_ADD_PLUGIN([goom])
5242 VLC_ADD_LIBS([goom],[-lgoom2])
5244 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
5246 LDFLAGS="${LDFLAGS_save}"
5252 dnl libprojectM visualization plugin
5254 AC_ARG_ENABLE(projectm,
5255 [ --enable-projectm projectM visualization plugin (default disabled)])
5256 AS_IF([test "${enable_projectm}" = "yes"],
5258 PKG_CHECK_MODULES(PROJECTM, libprojectM,
5260 VLC_ADD_PLUGIN([projectm])
5261 VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
5262 VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
5264 AC_MSG_WARN(libprojectM library not found)
5269 dnl AtmoLight (homebrew AmbiLight)
5271 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
5273 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
5274 (default enabled)]))
5275 if test "${enable_atmo}" != "no"; then
5277 VLC_ADD_PLUGIN([atmo])
5283 dnl Bonjour services discovery
5285 AC_ARG_ENABLE(bonjour,
5286 [ --enable-bonjour Bonjour services discovery (default enabled)])
5287 AS_IF([test "${enable_bonjour}" != "no"], [
5288 PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, [
5289 AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define to 1 if you have libavahi-client])
5290 VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS])
5291 VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
5292 VLC_ADD_PLUGIN([bonjour])
5294 AC_MSG_WARN(avahi-client library not found)
5302 [ --enable-lirc lirc support (default disabled)])
5303 if test "${enable_lirc}" = "yes"
5305 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
5306 if test "${have_lirc}" = "true"
5308 VLC_ADD_PLUGIN([lirc])
5309 VLC_ADD_LIBS([lirc],[-llirc_client])
5314 AC_ARG_WITH(,[Misc options:])
5319 AC_ARG_ENABLE(libgcrypt,
5320 [ --disable-libgcrypt libgcrypts support (default enabled)])
5321 AS_IF([test "${enable_libgcrypt}" != "no"], [
5322 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
5324 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
5325 AS_IF([test "${have_libgcrypt}" = "yes"],[
5326 VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
5329 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
5334 AC_ARG_ENABLE(gnutls,
5335 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
5337 AS_IF([test "${enable_gnutls}" != "no"], [
5338 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
5339 VLC_ADD_PLUGIN([gnutls])
5340 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
5341 AS_IF([test "${SYS}" = "mingw32"], [
5342 dnl pkg-config --libs gnutls omits these
5343 VLC_ADD_LIBS([gnutls], [-lz])
5344 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
5346 dnl The GnuTLS plugin invokes gcry_control directly.
5347 AS_IF([test "${have_libgcrypt}" = "yes"],[
5348 VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}])
5349 VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}])
5351 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
5353 AS_IF([test "${enable_gnutls}" = "yes"], [
5354 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
5361 dnl RemoteOSD plugin (VNC client as video filter)
5363 AC_ARG_ENABLE(remoteosd,
5364 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
5366 AS_IF([test "${enable_remoteosd}" != "no"], [
5367 AS_IF([test "${have_libgcrypt}" = "yes"],[
5368 VLC_ADD_PLUGIN([remoteosd])
5369 VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS})
5370 VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
5372 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
5380 AC_MSG_CHECKING([whether to enable RAOP plugin])
5381 AS_IF([test "${have_libgcrypt}" = "yes"], [
5383 VLC_ADD_PLUGIN([stream_out_raop])
5384 VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS} -lgpg-error])
5385 VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}])
5388 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
5393 dnl update checking system
5395 AC_ARG_ENABLE(update-check,
5396 [ --enable-update-check update checking system (default disabled)])
5397 if test "${enable_update_check}" = "yes"
5399 if test "${have_libgcrypt}" != "yes"
5401 AC_MSG_ERROR([libgcrypt is required for update checking system])
5403 VLC_ADD_LIBS([libvlccore], [${LIBGCRYPT_LIBS}])
5404 VLC_ADD_CFLAGS([libvlccore], [${LIBGCRYPT_CFLAGS}])
5405 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
5410 dnl Endianness check
5413 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
5414 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
5418 AC_SUBST(DEFS_BIGENDIAN)
5421 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5424 AC_ARG_ENABLE(loader,
5425 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
5426 (default disabled)]))
5427 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5428 AS_IF([test "${enable_loader}" = "yes"],
5429 [ VLC_ADD_PLUGIN([dmo])
5430 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
5431 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
5432 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
5433 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
5434 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
5435 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
5436 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
5437 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
5440 AC_ARG_WITH(,[Components:])
5446 [ --enable-vlc build the VLC media player (default enabled)])
5447 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
5450 dnl Microsoft ActiveX support
5453 AC_ARG_ENABLE(activex,
5454 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
5455 (default enabled on Win32)]))
5456 AC_ARG_WITH(wine-sdk-path,
5457 [ --with-wine-sdk-path=PATH path to wine sdk])
5458 if test "${enable_activex}" != "no"
5460 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5462 AC_CHECK_PROGS(MIDL, [midl], no)
5463 if test "${with_wine_sdk_path}" != ""
5465 WINE_SDK_PATH=${with_wine_sdk_path}
5466 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
5471 AC_CHECK_HEADERS(ole2.h,
5472 [AC_CHECK_HEADERS(olectl.h,
5473 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
5474 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5475 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
5476 AC_CHECK_HEADERS(objsafe.h,
5477 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5485 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
5487 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5489 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5494 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5495 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5496 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
5497 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
5498 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5504 AC_ARG_ENABLE(mozilla,
5505 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
5506 (default disabled)]))
5507 AC_ARG_WITH(mozilla-sdk-path,
5508 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
5509 AC_ARG_WITH(mozilla-pkg,
5510 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
5512 if test "${enable_mozilla}" = "yes"
5514 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
5517 dnl As we want to do a loop due to the number of name possible for the .pc
5518 dnl we can't use the pkg-config macros.
5520 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
5521 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
5522 AC_MSG_NOTICE([Checking for Mozilla])
5524 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
5528 if test -n "$PKG_CONFIG"; then
5529 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
5530 echo "Trying to find $i.pc files" >&5
5531 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
5533 echo "Using $i.pc files." >&5
5534 echo "Using $i.pc files." >&6
5536 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
5537 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
5543 AS_IF( [test $found = 1],[
5544 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
5545 MOZILLA_REQUIRED_HEADERS=1
5546 AC_CHECK_HEADERS([npfunctions.h])
5547 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5548 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5553 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5554 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5556 MOZILLA_REQUIRED_HEADERS=
5558 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
5559 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
5560 AS_IF([ test "${SYS}" != "darwin"],[
5561 PKG_CHECK_MODULES(XPM, [xpm xt],[
5562 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
5564 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
5568 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
5569 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
5570 VLC_ADD_PLUGIN([mozilla])
5571 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5573 CPPFLAGS="${CPPFLAGS_save}"
5576 AC_PATH_PROGS(MOZILLA_CONFIG,
5577 [mozilla-config seamonkey-config xulrunner-config],
5579 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
5582 dnl pkg-config failed but we might have found a mozilla-config
5583 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
5584 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5585 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5586 AC_CHECK_LIB(Xt,XtStrings,
5588 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5589 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5592 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5594 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5595 LDFLAGS="${LDFLAGS_save}"
5599 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5600 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
5601 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5602 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5603 MOZILLA_REQUIRED_HEADERS=1
5604 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5605 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5606 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5611 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5613 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5615 MOZILLA_REQUIRED_HEADERS=
5616 CPPFLAGS="${CPPFLAGS_save}"
5617 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5619 dnl End of moz_sdk = ""
5621 dnl special case for mingw32
5622 if test "${SYS}" = "mingw32"
5624 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5625 dnl latest gecko sdk does not have an xpcom directory
5626 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5627 mozilla_sdk_xpcom="/xpcom"
5631 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5632 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5633 MOZILLA_REQUIRED_HEADERS=1
5634 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5635 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5636 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5641 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5643 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5645 MOZILLA_REQUIRED_HEADERS=
5647 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5648 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])
5649 if ${need_xpcom_libs}; then
5650 VLC_ADD_LIBS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
5651 if test "${SYS}" = "mingw32"; then
5652 dnl latest gecko sdk does not have embedstring
5653 if test -d "${real_mozilla_sdk}/embedstring/bin"
5655 VLC_ADD_LIBS([mozilla],[-lembedstring])
5659 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5661 if test -n "${CYGPATH}"; then
5662 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5664 CPPFLAGS="${CPPFLAGS_save}"
5668 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5670 dnl Tests for Osso and Xsp
5671 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
5672 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5673 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5674 VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
5677 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5678 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
5679 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
5685 AC_ARG_ENABLE(testsuite,
5686 [ --enable-testsuite build test modules (default disabled)])
5687 if test "${enable_testsuite}" = "yes"
5689 TESTS="test1 test2 test3 test4"
5691 dnl we define those so that bootstrap sets the right linker
5692 VLC_ADD_CXXFLAGS([test2],[])
5693 VLC_ADD_OBJCFLAGS([test3],[])
5694 dnl this one is needed until automake knows what to do
5695 VLC_ADD_LIBS([test3],[-lobjc])
5697 VLC_ADD_PLUGIN([test1])
5698 VLC_ADD_PLUGIN([test2])
5699 VLC_ADD_PLUGIN([test3])
5700 VLC_ADD_PLUGIN([test4])
5706 if test "${NEED_GTK_MAIN}" != "no"
5708 VLC_ADD_PLUGIN([gtk_main])
5709 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5710 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5713 if test "${NEED_GNOME_MAIN}" != "no"
5715 VLC_ADD_PLUGIN([gnome_main])
5716 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5717 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5720 if test "${NEED_GTK2_MAIN}" != "no"
5722 VLC_ADD_PLUGIN([gtk2_main])
5723 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5724 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5725 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5726 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5729 if test "${NEED_GNOME2_MAIN}" != "no"
5731 VLC_ADD_PLUGIN([gnome2_main])
5732 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5733 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5739 if test "${NEED_QTE_MAIN}" != "no"
5741 VLC_ADD_PLUGIN([qte_main])
5742 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5743 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5744 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5748 dnl Plugin and builtin checks
5752 dnl Automagically disable plugins if there is no system support for
5753 dnl dynamically loadable files (.so, .dll, .dylib).
5754 dnl don't forget vlc-win32 still can load .dll as plugins
5755 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5756 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5760 AS_IF([test "${plugin_support}" != "no"], [
5761 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5765 dnl Pic and shared libvlc stuff
5767 AS_IF([test "${SYS}" = "mingw32"], [
5768 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5769 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5773 dnl Stuff used by the program
5775 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5776 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5777 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5778 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5779 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5780 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5781 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5782 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5783 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5784 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5785 AC_SUBST(COPYRIGHT_MESSAGE)
5786 AC_SUBST(VERSION_MESSAGE)
5787 AC_SUBST(VERSION_MAJOR)
5788 AC_SUBST(VERSION_MINOR)
5789 AC_SUBST(VERSION_REVISION)
5790 AC_SUBST(VERSION_EXTRA)
5791 AC_SUBST(COPYRIGHT_YEARS)
5792 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5793 if test "${build_os}" = "cygwin"
5795 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5797 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5799 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5800 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5801 dnl Win32 need s a numerical version_extra.
5802 case $( echo ${VERSION_EXTRA}|wc -m ) in
5803 "1") VERSION_EXTRA_RC="0";;
5804 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5805 *) VERSION_EXTRA_RC="99"
5807 AC_SUBST(VERSION_EXTRA_RC)
5809 dnl Handle substvars that use $(top_srcdir)
5811 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5812 AC_SUBST(VLC_CONFIG)
5813 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5821 dnl Sort the modules list
5823 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5826 dnl Create the vlc-config script
5828 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5831 dnl Configuration is finished
5841 AC_SUBST(MOZILLA_SDK_PATH)
5842 AC_SUBST(WINE_SDK_PATH)
5844 AC_SUBST(AM_CPPFLAGS)
5845 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5846 AC_SUBST(FILE_LIBVLCCORE_DLL)
5847 AC_SUBST(FILE_LIBVLC_DLL)
5849 dnl Create vlc-config.in
5850 VLC_OUTPUT_VLC_CONFIG_IN
5853 extras/package/win32/vlc.win32.nsi
5854 extras/package/macosx/Info.plist
5855 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5856 extras/package/macosx/plugin/Info.plist
5857 extras/package/macosx/plugin/InstallerInfo.plist
5859 projects/activex/Makefile
5860 projects/activex/axvlc.inf
5862 extras/package/ipkg/Makefile
5863 libs/loader/Makefile
5867 projects/mozilla/Makefile
5870 projects/activex/axvlc_rc.rc
5871 projects/mozilla/npvlc_rc.rc
5872 projects/mozilla/vlc.r
5873 projects/mozilla/install.js
5875 share/vlc_win32_rc.rc
5876 share/libvlc_win32_rc.rc
5882 modules/access/Makefile
5883 modules/access/bd/Makefile
5884 modules/access/bda/Makefile
5885 modules/access/dshow/Makefile
5886 modules/access/dvb/Makefile
5887 modules/access/mms/Makefile
5888 modules/access/cdda/Makefile
5889 modules/access/rtp/Makefile
5890 modules/access/rtsp/Makefile
5891 modules/access/rtmp/Makefile
5892 modules/access/vcd/Makefile
5893 modules/access/vcdx/Makefile
5894 modules/access/screen/Makefile
5895 modules/access/zip/Makefile
5896 modules/access_output/Makefile
5897 modules/audio_filter/Makefile
5898 modules/audio_filter/channel_mixer/Makefile
5899 modules/audio_filter/converter/Makefile
5900 modules/audio_filter/resampler/Makefile
5901 modules/audio_filter/spatializer/Makefile
5902 modules/audio_mixer/Makefile
5903 modules/audio_output/Makefile
5904 modules/codec/Makefile
5905 modules/codec/avcodec/Makefile
5906 modules/codec/cmml/Makefile
5907 modules/codec/dmo/Makefile
5908 modules/codec/shine/Makefile
5909 modules/codec/subtitles/Makefile
5910 modules/codec/spudec/Makefile
5911 modules/codec/wmafixed/Makefile
5912 modules/codec/xvmc/Makefile
5913 modules/control/Makefile
5914 modules/control/http/Makefile
5915 modules/control/globalhotkeys/Makefile
5916 modules/demux/Makefile
5917 modules/demux/asf/Makefile
5918 modules/demux/avformat/Makefile
5919 modules/demux/avi/Makefile
5920 modules/demux/mkv/Makefile
5921 modules/demux/mp4/Makefile
5922 modules/demux/mpeg/Makefile
5923 modules/demux/playlist/Makefile
5924 modules/gui/Makefile
5925 modules/gui/beos/Makefile
5926 modules/gui/pda/Makefile
5927 modules/gui/macosx/Makefile
5928 modules/gui/maemo/Makefile
5929 modules/gui/minimal_macosx/Makefile
5930 modules/gui/qnx/Makefile
5931 modules/gui/qt4/Makefile
5932 modules/gui/skins2/Makefile
5933 modules/gui/wince/Makefile
5934 modules/meta_engine/Makefile
5935 modules/misc/Makefile
5936 modules/misc/dummy/Makefile
5937 modules/misc/lua/Makefile
5938 modules/misc/memcpy/Makefile
5939 modules/misc/notify/Makefile
5940 modules/misc/testsuite/Makefile
5941 modules/misc/playlist/Makefile
5942 modules/misc/osd/Makefile
5943 modules/misc/stats/Makefile
5944 modules/misc/xml/Makefile
5945 modules/misc/probe/Makefile
5946 modules/mux/Makefile
5947 modules/mux/mpeg/Makefile
5948 modules/packetizer/Makefile
5949 modules/services_discovery/Makefile
5950 modules/stream_filter/Makefile
5951 modules/stream_out/Makefile
5952 modules/stream_out/transrate/Makefile
5953 modules/video_chroma/Makefile
5954 modules/video_filter/Makefile
5955 modules/video_filter/atmo/Makefile
5956 modules/video_filter/dynamicoverlay/Makefile
5957 modules/video_output/Makefile
5958 modules/video_output/msw/Makefile
5959 modules/video_output/qte/Makefile
5960 modules/video_output/x11/Makefile
5961 modules/visualization/Makefile
5962 modules/visualization/visual/Makefile
5963 modules/visualization/galaktos/Makefile
5966 dnl Generate makefiles
5969 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5970 # not provided with the source
5971 ${SHELL} ./config.status --file=vlc-config
5972 chmod 0755 vlc-config
5974 /bin/echo -n "Enabled modules: "
5975 ./vlc-config --list plugin
5977 dnl Shortcut to nice compile message
5979 echo '#! /bin/sh' >compile
5980 echo rm -f .error\$\$ >>compile
5981 echo ERROR=0 >>compile
5982 echo export PATH=$PATH LANG=C >>compile
5983 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5984 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5985 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5986 echo rm -f .error\$\$ >>compile
5987 echo exit \$ERROR >>compile
5991 libvlc configuration
5992 --------------------
5993 version : ${VERSION}
5995 architecture : ${ARCH}
5997 test "${enable_debug}" = "yes" && printf "debug "
5998 test "${enable_cprof}" = "yes" && printf "cprof "
5999 test "${enable_gprof}" = "yes" && printf "gprof "
6000 test "${enable_optimizations}" = "yes" && printf "optim "
6001 test "${enable_release}" = "yes" && printf "release " || printf "devel "
6003 if test "${enable_vlc}" != "no"; then
6004 echo "vlc aliases :${ALIASES}"
6006 echo "build vlc executable : no"
6008 echo "plugins/bindings :${PLUGINS_BINDINGS}
6010 You can tune the compiler flags in vlc-config.
6011 To build vlc and its plugins, type \`./compile' or \`make'.
6013 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
6015 echo "Warning: Due to a bug in ld, mmx/sse support has been"
6017 echo " FFmpeg will be REALLY slow."
6018 echo " VLC WILL NOT PERFORM AS EXPECTED."