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 non-standard system calls
577 AC_CHECK_FUNCS([vmsplice fstatfs])
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).])
600 AC_CHECK_FUNCS(connect,,[
601 AC_CHECK_LIB(socket,connect,[
602 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
603 SOCKET_LIBS="-lsocket"
606 AC_SUBST(SOCKET_LIBS)
608 AC_CHECK_FUNCS(send,,[
609 AC_CHECK_LIB(socket,send,[
610 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])
615 dnl Check for socklen_t
616 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
617 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
618 ac_cv_type_socklen_t,
619 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
620 [#include <sys/types.h>
622 # include <winsock2.h>
623 # include <ws2tcpip.h>
625 # include <sys/socket.h>
626 #endif]], [[socklen_t len; len = 0;]])],
627 ac_cv_type_socklen_t=yes,
628 ac_cv_type_socklen_t=no)])
629 AS_IF([test "$ac_cv_type_socklen_t" = no],
630 [AC_DEFINE(socklen_t, int)])
632 dnl Check for struct sockaddr_storage
633 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
634 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
635 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
637 [#include <sys/types.h>
638 #if defined( UNDER_CE )
639 # include <winsock2.h>
640 #elif defined( WIN32 )
641 # include <winsock2.h>
643 # include <sys/socket.h>
644 #endif], [struct sockaddr_storage addr;],
645 ac_cv_struct_sockaddr_storage=yes,
646 ac_cv_struct_sockaddr_storage=no)])
647 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
648 AC_DEFINE(sockaddr_storage, sockaddr)
649 AC_DEFINE(ss_family, sa_family)
652 dnl getaddrinfo, getnameinfo and gai_strerror check
653 dnl -lnsl and -lsocket are needed on Solaris;
654 dnl we purposedly make the test fail on Windows
656 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
657 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
659 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
662 AC_CHECK_FUNCS([getnameinfo gai_strerror])
665 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
666 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
667 [#include <sys/types.h>
668 #if defined( WIN32 ) || defined( UNDER_CE )
669 # if defined(UNDER_CE) && defined(sockaddr_storage)
670 # undef sockaddr_storage
672 # include <winsock2.h>
673 # include <ws2tcpip.h>
678 dnl Check for va_copy
679 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
681 [#include <stdarg.h>],
682 [va_list ap1, ap2; va_copy(ap1,ap2);],
683 [ac_cv_c_va_copy="yes"],
684 [ac_cv_c_va_copy="no"]))
685 if test "${ac_cv_c_va_copy}" = "yes"; then
686 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
688 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
690 [#include <stdarg.h>],
691 [va_list ap1, ap2; __va_copy(ap1,ap2);],
692 [ac_cv_c___va_copy="yes"],
693 [ac_cv_c___va_copy="no"]))
694 if test "${ac_cv_c___va_copy}" = "yes"; then
695 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
698 AC_CHECK_FUNCS(inet_aton,,[
699 AC_CHECK_LIB(resolv,inet_aton,[
700 VLC_ADD_LIBS([libvlccore],[-lresolv])
704 dnl Check for getopt (always use builtin one on win32)
705 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
709 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
710 [ # FreeBSD has a gnugetopt library for this:
711 AC_CHECK_LIB([gnugetopt],[getopt_long],
712 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
713 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
716 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
718 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
721 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene],[-lm])
724 VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
726 AC_CHECK_LIB(m,sqrt,[
727 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
729 AC_CHECK_LIB(m,ceil,[
730 VLC_ADD_LIBS([hotkeys mosaic],[-lm])
733 VLC_ADD_LIBS([gaussianblur],[-lm])
735 AC_CHECK_LIB(m,round,[
736 VLC_ADD_LIBS([dbus],[-lm])
738 AC_CHECK_LIB(mx,sqrtf,[
739 VLC_ADD_LIBS([x264],[-lmx])
741 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
743 dnl Check for dynamic plugins
744 ac_cv_have_plugins=no
747 if test "${ac_cv_have_plugins}" = "no"; then
748 AC_CHECK_HEADERS(dl.h)
749 ac_cv_my_have_shl_load=no
750 AC_CHECK_FUNC(shl_load,
751 [ac_cv_my_have_shl_load=yes,
752 AC_CHECK_LIB(dld, shl_load,
753 [ac_cv_my_have_shl_load=yes
754 VLC_ADD_LIBS([libvlccore],[-ldld])])])
755 if test "${ac_cv_my_have_shl_load}" = "yes"; then
756 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
757 ac_cv_have_plugins=yes
762 if test "${ac_cv_have_plugins}" = "no"; then
763 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
764 AC_CHECK_LIB(kernel32, main,
765 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
766 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
767 ac_cv_have_plugins=yes])
772 if test "${ac_cv_have_plugins}" = "no"; then
773 if test "${SYS}" = "mingwce"; then
774 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
775 ac_cv_have_plugins=yes
780 if test "${ac_cv_have_plugins}" = "no"; then
781 AC_CHECK_HEADERS(image.h)
782 AC_CHECK_FUNCS(load_add_on,
783 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
784 ac_cv_have_plugins=yes])
787 # Only test for dlopen() if the others didn't work
788 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
789 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
790 ac_cv_my_have_dlopen=no
791 AC_CHECK_FUNC(dlopen,
792 ac_cv_my_have_dlopen=yes,
793 AC_CHECK_LIB(dl, dlopen,
794 ac_cv_my_have_dlopen=yes
795 VLC_ADD_LIBS([libvlccore realaudio realvideo],[-ldl]),
796 AC_CHECK_LIB(svld, dlopen,
797 ac_cv_my_have_dlopen=yes
798 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
799 if test "${ac_cv_my_have_dlopen}" = "yes"; then
800 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
801 ac_cv_have_plugins=yes
805 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
806 dnl Check for pthreads - borrowed from XMMS
808 if test "${THREAD_LIB}" = "error"; then
809 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
811 if test "${THREAD_LIB}" = "error"; then
812 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
814 if test "${THREAD_LIB}" = "error"; then
815 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
817 if test "${THREAD_LIB}" = "error"; then
818 AC_CHECK_FUNCS(pthread_mutex_lock)
822 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
824 AC_CHECK_LIB(rt, clock_nanosleep, [
825 VLC_ADD_LIBS([libvlccore],[-lrt])
826 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
829 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
833 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
834 AC_CHECK_LIB(rt,nanosleep,
835 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
836 [AC_CHECK_LIB(posix4,nanosleep,
837 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
840 if ${have_nanosleep}; then
841 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
843 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
845 dnl Check for misc headers
846 AC_MSG_CHECKING(for strncasecmp in strings.h)
847 AC_EGREP_HEADER(strncasecmp,strings.h,[
849 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
850 Define if <strings.h> defines strncasecmp.)],[
853 dnl Check for headers
854 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
855 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
856 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
857 AC_CHECK_HEADERS([net/if.h], [], [],
859 #include <sys/types.h>
860 #include <sys/socket.h>
862 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
863 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
864 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h])
865 AC_CHECK_HEADERS(syslog.h)
866 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
870 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
871 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
872 AC_CHECK_TYPE(ssize_t,, [
873 AC_DEFINE(ssize_t, int)
877 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
878 if test ${SYS} != "mingw32"
880 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])
886 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
887 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
889 dnl Mac OS X and other OSes don't have declaration for nanosleep
890 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
891 AC_MSG_CHECKING(for nanosleep in time.h)
892 AC_EGREP_HEADER(nanosleep,time.h,[
894 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
895 Define if <time.h> defines nanosleep.)
899 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
901 dnl Make sure we have timespecs
902 AC_MSG_CHECKING(for timespec in sys/time.h)
903 AC_EGREP_HEADER(timespec,sys/time.h,[
905 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
906 Define if <sys/time.h> defines struct timespec.)
911 dnl Check for threads library
912 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
913 AC_CHECK_HEADERS(pthread.h)
914 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
916 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.
917 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
918 AC_ARG_VAR(PKG_CONFIG_PATH,
919 [Paths where to find .pc not at the default location])
920 PKG_PROG_PKG_CONFIG()
923 dnl Check for zlib.h and -lz along with system -lminizip if available
925 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
926 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
927 if test "${have_zlib}" = "yes"
929 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
930 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
931 AC_CHECK_HEADERS([unzip.h], [
933 MINIZIP_LIBS="-lminizip -lz"
936 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
937 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
940 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
941 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
942 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
943 VLC_ADD_PLUGIN([unzip])
944 VLC_ADD_PLUGIN([zip])
946 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
950 PKG_ENABLE_MODULES_VLC([HAL], [], [hal >= 0.5.0], [Linux HAL services discovery], [auto])
953 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
957 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
960 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
963 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
964 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
965 VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS])
966 VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS])
967 dnl Check for dbus control interface
968 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
969 if test "${enable_dbus_control}" != "no"
971 VLC_ADD_PLUGIN([dbus])
972 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
973 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
975 dnl Check for Telepathy
976 AC_ARG_ENABLE(telepathy,
977 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
978 if test "${enable_telepathy}" != "no"; then
979 VLC_ADD_PLUGIN([telepathy])
980 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
981 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
983 dnl Power Management Inhibiter
984 VLC_ADD_PLUGIN([inhibit])
985 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
986 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
988 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
994 dnl Build the gtk_main plugins?
1000 dnl build the qte plugin ?
1003 dnl Check for ntohl, etc.
1004 AC_CACHE_CHECK([for ntohl in sys/param.h],
1005 [ac_cv_c_ntohl_sys_param_h],
1006 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1007 AC_TRY_COMPILE([#include <sys/param.h>],
1008 [int meuh; ntohl(meuh);],
1009 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1010 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1011 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1013 CFLAGS="${CFLAGS_save}"
1015 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])
1016 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1018 dnl Check for various optimization flags
1019 AC_CACHE_CHECK([if \$CC accepts -Os],
1021 [CFLAGS="${CFLAGS_save} -Os"
1022 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1023 if test "${ac_cv_c_os}" != "no"; then
1024 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1026 AC_CACHE_CHECK([if \$CC accepts -O],
1028 [CFLAGS="${CFLAGS_save} -O"
1029 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1030 if test "${ac_cv_c_o}" != "no"; then
1031 if test "${ac_cv_c_o3}" = "no"; then
1032 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1037 AC_CACHE_CHECK([if \$CC accepts -O4],
1039 [CFLAGS="${CFLAGS_save} -O4"
1040 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1041 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1042 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1044 AC_CACHE_CHECK([if \$CC accepts -O3],
1046 [CFLAGS="${CFLAGS_save} -O3"
1047 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1048 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1049 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1051 AC_CACHE_CHECK([if \$CC accepts -O2],
1053 [CFLAGS="${CFLAGS_save} -O2"
1054 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1055 if test "${ac_cv_c_o2}" != "no"; then
1056 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
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 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1069 AC_CACHE_CHECK([if \$CC accepts -O0],
1071 [CFLAGS="${CFLAGS_save} -O0"
1072 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1073 if test "${ac_cv_c_o0}" != "no"; then
1074 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1077 dnl Check for -ffast-math
1078 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1079 [ac_cv_c_fast_math],
1080 [CFLAGS="${CFLAGS_save} -ffast-math"
1081 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1082 if test "${ac_cv_c_fast_math}" != "no"; then
1083 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1086 dnl Check for -funroll-loops
1087 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1088 if test "${SYS}" != "beos"
1090 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1091 [ac_cv_c_unroll_loops],
1092 [CFLAGS="${CFLAGS_save} -funroll-loops"
1093 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1094 if test "${ac_cv_c_unroll_loops}" != "no"; then
1095 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1099 dnl Check for -fomit-frame-pointer
1100 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1101 [ac_cv_c_omit_frame_pointer],
1102 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1103 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1104 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1105 if test "${SYS}" != "darwin"; then
1106 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1108 dnl On darwin we explicitely disable it.
1109 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1113 dnl Check for Darwin plugin linking flags
1114 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1116 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1117 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1118 if test "${ac_cv_ld_darwin}" != "no"; then
1119 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1122 dnl Checks for __attribute__(aligned()) directive
1123 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1124 [ac_cv_c_attribute_aligned],
1125 [ac_cv_c_attribute_aligned=0
1126 CFLAGS="${CFLAGS_save} -Werror"
1127 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1129 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1130 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1132 CFLAGS="${CFLAGS_save}"])
1133 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1134 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1135 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1138 dnl Check for __attribute__((packed))
1139 AC_CACHE_CHECK([for __attribute__((packed))],
1140 [ac_cv_c_attribute_packed],
1141 [ac_cv_c_attribute_packed=no
1142 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1143 [ac_cv_c_attribute_packed=yes])])
1144 if test "${ac_cv_c_attribute_packed}" != "no"; then
1145 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1151 case "${host_cpu}" in
1160 dnl Check for backtrace() support
1161 AC_CHECK_HEADERS(execinfo.h)
1162 AC_CHECK_FUNCS(backtrace)
1165 dnl Enable profiling
1167 AC_ARG_ENABLE(gprof,
1168 [ --enable-gprof gprof profiling (default disabled)])
1169 AC_ARG_ENABLE(cprof,
1170 [ --enable-cprof cprof profiling (default disabled)])
1171 test "${enable_gprof}" != "yes" && enable_gprof="no"
1172 test "${enable_cprof}" != "yes" && enable_cprof="no"
1178 VLC_ADD_PLUGIN([deinterlace])
1179 VLC_ADD_PLUGIN([yuvp])
1180 VLC_ADD_PLUGIN([invert])
1181 VLC_ADD_PLUGIN([mirror])
1182 VLC_ADD_PLUGIN([adjust])
1183 VLC_ADD_PLUGIN([transform])
1184 VLC_ADD_PLUGIN([wave])
1185 VLC_ADD_PLUGIN([ripple])
1186 VLC_ADD_PLUGIN([psychedelic])
1187 VLC_ADD_PLUGIN([gradient])
1188 VLC_ADD_PLUGIN([motionblur])
1189 VLC_ADD_PLUGIN([rv32])
1190 VLC_ADD_PLUGIN([rotate])
1191 VLC_ADD_PLUGIN([noise])
1192 VLC_ADD_PLUGIN([grain])
1193 VLC_ADD_PLUGIN([extract])
1194 VLC_ADD_PLUGIN([sharpen])
1195 VLC_ADD_PLUGIN([croppadd])
1196 VLC_ADD_PLUGIN([canvas])
1197 VLC_ADD_PLUGIN([blendbench])
1198 VLC_ADD_PLUGIN([blend])
1199 VLC_ADD_PLUGIN([scale])
1200 VLC_ADD_PLUGIN([vmem])
1201 VLC_ADD_PLUGIN([logo])
1202 VLC_ADD_PLUGIN([magnify])
1203 VLC_ADD_PLUGIN([puzzle])
1204 VLC_ADD_PLUGIN([colorthres])
1205 VLC_ADD_PLUGIN([scene])
1206 VLC_ADD_PLUGIN([yuv])
1208 ALIASES="${ALIASES} cvlc"
1211 dnl default modules that need g++
1214 VLC_ADD_PLUGIN([spatializer])
1217 if test "${SYS}" != "mingwce"; then
1218 VLC_ADD_PLUGIN([gestures])
1219 VLC_ADD_PLUGIN([rc])
1220 VLC_ADD_PLUGIN([hotkeys])
1221 VLC_ADD_PLUGIN([showintf])
1222 VLC_ADD_PLUGIN([marq])
1223 VLC_ADD_PLUGIN([podcast])
1224 VLC_ADD_PLUGIN([shout])
1225 VLC_ADD_PLUGIN([sap])
1226 VLC_ADD_PLUGIN([fake])
1227 VLC_ADD_PLUGIN([folder])
1228 VLC_ADD_PLUGIN([rss])
1229 VLC_ADD_PLUGIN([mosaic])
1230 VLC_ADD_PLUGIN([wall])
1231 VLC_ADD_PLUGIN([motiondetect])
1232 VLC_ADD_PLUGIN([clone])
1233 VLC_ADD_PLUGIN([crop])
1234 VLC_ADD_PLUGIN([erase])
1235 VLC_ADD_PLUGIN([bluescreen])
1236 VLC_ADD_PLUGIN([alphamask])
1237 VLC_ADD_PLUGIN([gaussianblur])
1238 VLC_ADD_PLUGIN([i420_yuy2])
1239 VLC_ADD_PLUGIN([i422_yuy2])
1240 VLC_ADD_PLUGIN([i420_ymga])
1241 VLC_ADD_PLUGIN([i422_i420])
1242 VLC_ADD_PLUGIN([yuy2_i422])
1243 VLC_ADD_PLUGIN([yuy2_i420])
1244 VLC_ADD_PLUGIN([chain])
1245 VLC_ADD_PLUGIN([aout_file])
1246 VLC_ADD_PLUGIN([linear_resampler])
1247 VLC_ADD_PLUGIN([bandlimited_resampler])
1248 VLC_ADD_PLUGIN([float32_mixer])
1249 VLC_ADD_PLUGIN([spdif_mixer])
1250 VLC_ADD_PLUGIN([simple_channel_mixer])
1251 VLC_ADD_PLUGIN([dolby_surround_decoder])
1252 VLC_ADD_PLUGIN([headphone_channel_mixer])
1253 VLC_ADD_PLUGIN([normvol])
1254 VLC_ADD_PLUGIN([equalizer])
1255 VLC_ADD_PLUGIN([param_eq])
1256 VLC_ADD_PLUGIN([scaletempo])
1257 VLC_ADD_PLUGIN([converter_float])
1258 VLC_ADD_PLUGIN([a52tospdif])
1259 VLC_ADD_PLUGIN([dtstospdif])
1260 VLC_ADD_PLUGIN([audio_format])
1261 ALIASES="${ALIASES} rvlc"
1264 if test "${SYS}" = "mingwce"; then
1265 VLC_ADD_PLUGIN([chain])
1266 VLC_ADD_PLUGIN([aout_file])
1267 VLC_ADD_PLUGIN([linear_resampler])
1268 VLC_ADD_PLUGIN([bandlimited_resampler])
1269 VLC_ADD_PLUGIN([float32_mixer])
1270 VLC_ADD_PLUGIN([spdif_mixer])
1271 VLC_ADD_PLUGIN([simple_channel_mixer])
1272 VLC_ADD_PLUGIN([headphone_channel_mixer])
1273 VLC_ADD_PLUGIN([normvol])
1274 VLC_ADD_PLUGIN([converter_float])
1275 VLC_ADD_PLUGIN([a52tospdif])
1276 VLC_ADD_PLUGIN([dtstospdif])
1277 VLC_ADD_PLUGIN([audio_format])
1278 VLC_ADD_PLUGIN([i420_yuy2])
1279 VLC_ADD_PLUGIN([i422_yuy2])
1280 VLC_ADD_PLUGIN([i420_ymga])
1281 VLC_ADD_PLUGIN([i422_i420])
1282 VLC_ADD_PLUGIN([yuy2_i422])
1283 VLC_ADD_PLUGIN([yuy2_i420])
1287 dnl Some plugins aren't useful on some platforms
1289 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1290 VLC_ADD_PLUGIN([screensaver])
1291 VLC_ADD_PLUGIN([motion])
1292 VLC_ADD_PLUGIN([dynamicoverlay])
1293 VLC_ADD_PLUGIN([signals])
1294 elif test "${SYS}" != "mingwce"; then
1295 VLC_ADD_PLUGIN([ntservice])
1296 VLC_ADD_PLUGIN([access_smb])
1297 VLC_ADD_PLUGIN([dmo])
1298 VLC_ADD_PLUGIN([msn])
1299 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1300 VLC_ADD_PLUGIN([globalhotkeys])
1302 VLC_ADD_PLUGIN([win32text])
1304 if test "${SYS}" = "darwin"; then
1305 VLC_ADD_PLUGIN([quartztext])
1306 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1310 dnl Accelerated modules
1313 AC_ARG_WITH(,[Optimization options:])
1315 dnl Check for fully working MMX intrinsics
1316 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1317 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1319 [ --disable-mmx disable MMX optimizations (default auto)],,[
1320 case "${host_cpu}" in
1329 AS_IF([test "${enable_mmx}" != "no"], [
1332 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1333 [ac_cv_c_mmx_intrinsics],
1334 [CFLAGS="${CFLAGS_save} -O -mmmx"
1335 AC_TRY_COMPILE([#include <mmintrin.h>
1339 a = b = c = (__m64)frobzor;
1340 a = _mm_slli_pi16(a, 3);
1341 a = _mm_adds_pi16(a, b);
1342 c = _mm_srli_pi16(c, 8);
1343 c = _mm_slli_pi16(c, 3);
1344 b = _mm_adds_pi16(b, c);
1345 a = _mm_unpacklo_pi8(a, b);
1346 frobzor = (uint64_t)a;],
1347 [ac_cv_c_mmx_intrinsics=yes],
1348 [ac_cv_c_mmx_intrinsics=no])])
1349 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1350 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1351 [Define to 1 if MMX intrinsics are available.])
1352 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1355 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1357 [CFLAGS="${CFLAGS_save}"
1358 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1359 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1360 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1361 AC_DEFINE(CAN_COMPILE_MMX, 1,
1362 [Define to 1 inline MMX assembly is available.])
1363 VLC_ADD_PLUGIN([memcpymmx])
1364 VLC_ADD_PLUGIN([i420_rgb_mmx])
1365 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1366 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1367 VLC_ADD_PLUGIN([i420_ymga_mmx])
1370 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1371 [ac_cv_mmxext_inline],
1372 [CFLAGS="${CFLAGS_save}"
1373 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1374 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1375 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1376 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1377 [Define to 1 if MMX EXT inline assembly is available.])
1378 VLC_ADD_PLUGIN([memcpymmxext])
1382 dnl Check for fully workin SSE2 intrinsics
1383 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1384 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1386 [ --disable-sse disable SSE (1 and 2) optimizations (default auto)]
1388 case "${host_cpu}" in
1397 AS_IF([test "${enable_sse}" != "no"], [
1398 ARCH="${ARCH} sse sse2"
1400 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1401 [ac_cv_c_sse2_intrinsics],
1402 [CFLAGS="${CFLAGS_save} -O -msse2"
1403 AC_TRY_COMPILE([#include <emmintrin.h>
1407 a = b = c = _mm_set1_epi64((__m64)frobzor);
1408 a = _mm_slli_epi16(a, 3);
1409 a = _mm_adds_epi16(a, b);
1410 c = _mm_srli_epi16(c, 8);
1411 c = _mm_slli_epi16(c, 3);
1412 b = _mm_adds_epi16(b, c);
1413 a = _mm_unpacklo_epi8(a, b);
1414 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1415 [ac_cv_c_sse2_intrinsics=yes],
1416 [ac_cv_c_sse2_intrinsics=no])])
1417 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1418 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1419 [Define to 1 if SSE2 intrinsics are available.])
1420 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1423 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1425 [CFLAGS="${CFLAGS_save}"
1426 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1427 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1428 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1429 AC_DEFINE(CAN_COMPILE_SSE, 1,
1430 [Define to 1 if SSE inline assembly is available.])
1433 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1434 [ac_cv_sse2_inline],
1435 [CFLAGS="${CFLAGS_save}"
1436 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1437 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1438 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1439 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1440 [Define to 1 if SSE2 inline assembly is available.])
1441 VLC_ADD_PLUGIN([i420_rgb_sse2])
1442 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1443 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1447 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1448 [ac_cv_3dnow_inline],
1449 [CFLAGS="${CFLAGS_save}"
1450 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1451 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1452 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1453 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1454 [Define to 1 if 3D Now! inline assembly is available.])
1455 VLC_ADD_PLUGIN([memcpy3dn])
1458 AC_ARG_ENABLE(altivec,
1459 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1460 AS_IF([test "${host_cpu}" = "powerpc"],
1461 [enable_altivec=yes], [enable_altivec=no])
1463 AS_IF([test "${enable_altivec}" = "yes"], [
1464 ARCH="${ARCH} altivec";
1465 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1466 [ac_cv_altivec_inline],
1467 [CFLAGS="${CFLAGS_save}"
1468 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1469 ac_cv_altivec_inline="yes",
1470 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1471 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1472 [ac_cv_altivec_inline="-Wa,-m7400"],
1473 ac_cv_altivec_inline=no)
1475 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1476 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1477 [Define to 1 if AltiVec inline assembly is available.])
1478 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1479 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1480 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1481 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1482 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1483 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1485 VLC_ADD_PLUGIN([memcpyaltivec])
1486 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1489 dnl The AltiVec C extensions
1491 dnl There are several possible cases:
1492 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1493 dnl need <altivec.h>
1494 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1495 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1496 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1497 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1498 dnl - Others: test should fail
1499 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1501 [# OS X/PPC test (gcc 4.x)
1502 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1503 AC_TRY_COMPILE([vector unsigned char foo;],
1504 [vec_ld(0, (unsigned char *)0);],
1505 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1506 [# OS X/PPC test (gcc 3.x)
1507 CFLAGS="${CFLAGS_save} -faltivec"
1508 AC_TRY_COMPILE([vector unsigned char foo;],
1509 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1510 [ac_cv_c_altivec="-faltivec"],
1511 dnl Below this are the Linux tests
1512 [# Linux/PPC test (gcc 4.x)
1513 CFLAGS="${CFLAGS_save} -maltivec"
1514 AC_TRY_COMPILE([#include <altivec.h>],
1515 [vec_ld(0, (unsigned char *)0);],
1516 [ac_cv_c_altivec="-maltivec"],
1517 [# Linux/PPC test (gcc 3.3)
1518 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1519 AC_TRY_COMPILE([#include <altivec.h>],
1520 [vec_ld(0, (unsigned char *)0);],
1522 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1523 [# Linux/PPC test (gcc 3.3)
1524 CFLAGS="${CFLAGS_save} -fvec"
1525 AC_TRY_COMPILE([#include <altivec.h>],
1526 [vec_ld(0, (unsigned char *)0);],
1527 [ac_cv_c_altivec="-fvec"],
1528 [ac_cv_c_altivec=no])
1533 CFLAGS="${CFLAGS_save}"
1535 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1536 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1539 AC_CHECK_HEADERS(altivec.h)
1540 CPPFLAGS="${CPPFLAGS_save}"
1542 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1543 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1544 [Define to 1 if C AltiVec extensions are available.])
1545 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1546 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1547 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1548 VLC_ADD_PLUGIN([memcpyaltivec])
1549 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1552 AC_CACHE_CHECK([if linker needs -framework vecLib],
1554 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1555 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1556 LDFLAGS="${LDFLAGS_save}"
1558 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1559 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1564 dnl Special arch tuning
1567 [ --with-tuning=ARCH enable special tuning for an architecture
1568 (default Pentium 2 on IA-32 and G4 on PPC)])
1569 if test -n "${with_tuning}"; then
1570 if test "${with_tuning}" != "no"; then
1571 CFLAGS_TUNING="-mtune=${with_tuning}"
1574 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1575 CFLAGS_TUNING="-march=prescott -mtune=generic"
1576 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1577 CFLAGS_TUNING="-mtune=pentium2"
1578 elif test "${host_cpu}" = "x86_64"; then
1579 CFLAGS_TUNING="-mtune=athlon64"
1580 elif test "${host_cpu}" = "powerpc"; then
1581 CFLAGS_TUNING="-mtune=G4";
1585 dnl NOTE: this can't be cached cleanly
1586 AS_IF([test "${CFLAGS_TUNING}"],
1587 [CFLAGS_save="${CFLAGS}"
1588 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1590 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1591 AC_COMPILE_IFELSE([ ],
1593 [CFLAGS_TUNING=""; tuning="no"
1594 AS_IF([test "${with_tuning}"],
1595 [AC_MSG_ERROR([requested tuning not supported])])])
1597 AC_MSG_RESULT([$tuning])
1598 CFLAGS="${CFLAGS_save}"
1604 AC_ARG_ENABLE(optimize-memory,
1605 [ --enable-optimize-memory optimize memory usage over performance])
1606 if test "${enable_optimize_memory}" = "yes"; then
1607 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1611 dnl Enable/disable optimizations
1613 AC_ARG_ENABLE(optimizations,
1614 [ --disable-optimizations disable compiler optimizations (default enabled)])
1615 if test "${enable_optimizations}" != "no"; then
1616 if test "${enable_optimize_memory}" = "yes"; then
1617 enable_optimizations="size"
1619 enable_optimizations="speed"
1626 AC_ARG_ENABLE(debug,
1627 [ --enable-debug debug mode (default disabled)])
1628 test "${enable_debug}" != "yes" && enable_debug="no"
1630 [Define to 1 if debug code should NOT be compiled])
1631 AS_IF([test "x${enable_debug}" = "xno"], [
1634 AC_CHECK_HEADERS([valgrind/valgrind.h])
1638 dnl Allow runing as root (usefull for people runing on embedded platforms)
1640 AC_ARG_ENABLE(run-as-root,
1641 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1642 AS_IF([test "${enable_run_as_root}" = "yes"],[
1643 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1644 [Define to 1 to allow runing VLC as root (uid 0).])
1650 AC_ARG_ENABLE(coverage,
1651 [ --enable-coverage build for test coverage (default disabled)],,
1652 [enable_coverage="no"])
1653 AS_IF([test "${enable_coverage}" != "no"], [
1654 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1655 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1656 LDFLAGS="-lgcov ${LDFLAGS}"
1658 CFLAGS_save="${CFLAGS}"
1659 CXXFLAGS_save="${CXXFLAGS}"
1660 LDFLAGS_save="${LDFLAGS}"
1664 dnl Enable release-specific flags
1666 AC_ARG_ENABLE(release,
1667 [ --enable-release activate extra optimizations (default disabled)])
1668 test "${enable_release}" != "yes" && enable_release="no"
1674 [ --enable-sout Stream output modules (default enabled)])
1675 AS_IF([test "${enable_sout}" != "no"], [
1676 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1678 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1680 dnl Check for libshout
1681 PKG_ENABLE_MODULES_VLC([shout], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
1685 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1686 plugins (default enabled)]))
1687 if test "${enable_lua}" != "no"
1689 PKG_CHECK_MODULES(LUA, lua5.1,
1692 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1693 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1697 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1700 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1701 [LUA_LIBS="-llua5.1"],
1702 AC_CHECK_LIB( lua51 , luaL_newstate,
1703 [LUA_LIBS="-llua51"],
1704 AC_CHECK_LIB( lua , luaL_newstate,
1707 AC_MSG_WARN([lua >= 5.1 not found!])
1713 if test "x${have_lua}" = "xyes" ; then
1714 AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library])
1715 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1716 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1719 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1724 AC_ARG_ENABLE(httpd,
1725 [ --enable-httpd HTTP daemon (default enabled)])
1726 if test "${enable_httpd}" != "no"
1728 VLC_ADD_PLUGIN([http])
1729 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1731 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1734 dnl libproxy support
1736 PKG_ENABLE_MODULES_VLC([LIBPROXY], [], [libproxy-1.0], [libproxy support], [auto])
1740 dnl VideoLAN manager
1743 [ --enable-vlm VideoLAN manager (default enabled)],,
1744 [enable_vlm="${enable_sout}"])
1745 AS_IF([test "${enable_vlm}" != "no"], [
1746 AS_IF([test "${enable_sout}" = "no"], [
1747 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1749 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1750 VLC_ADD_PLUGIN([telnet])
1752 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1755 dnl Growl notification plugin
1757 AC_ARG_ENABLE(growl,
1758 [ --enable-growl growl notification plugin (default disabled)],,
1760 AS_IF([test "${enable_growl}" != "no"], [
1761 VLC_ADD_PLUGIN([growl_udp])
1762 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1763 VLC_ADD_PLUGIN([growl])
1764 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1770 dnl Libnotify notification plugin
1772 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
1775 dnl Audioscrobbler plugin
1778 AC_ARG_ENABLE(audioscrobbler,
1779 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1780 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1781 VLC_ADD_PLUGIN([audioscrobbler])
1787 AC_ARG_ENABLE(taglib,
1788 [ --disable-taglib Taglib support (default enabled) ])
1789 AS_IF([test "${enable_taglib}" != "no"],[
1790 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1791 [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1792 VLC_ADD_PLUGIN([taglib])
1793 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1794 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1795 [AC_MSG_WARN(TagLib library not found)])
1802 AC_ARG_WITH(,[Input plugins:])
1806 if test "${enable_livedotcom}"
1808 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1810 if test "${enable_livedotcom}" = "no"
1815 AC_ARG_ENABLE(live555,
1816 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1817 if test "${enable_live555}" != "no"; then
1818 AC_ARG_WITH(live555-tree,
1819 [ --with-live555-tree=PATH live.com tree for static linking])
1822 dnl test for --with-live555-tree
1824 if test "${with_livedotcom_tree}"
1826 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1827 with_live555_tree="${with_livedotcom_tree}"
1830 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1832 CPPFLAGS_save="${CPPFLAGS}"
1833 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1834 if test "${SYS}" = "solaris"; then
1835 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1837 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1839 AC_CHECK_HEADERS(liveMedia_version.hh, [
1840 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1842 [#include <liveMedia_version.hh>
1843 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1844 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1848 [AC_MSG_RESULT([no])
1849 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1850 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1852 AC_MSG_RESULT([yes])
1855 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1856 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1857 if test "${SYS}" = "mingw32"; then
1858 # add ws2_32 for closesocket, select, recv
1859 other_libs="$other_libs -lws2_32"
1861 dnl We need to check for pic because live555 don't provide shared libs
1862 dnl and we want to build a plugins so we need -fPIC on some arch.
1863 AC_CHECK_HEADERS(liveMedia.hh, [
1864 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1865 AC_CHECK_LIB(liveMedia_pic, main, [
1866 VLC_ADD_PLUGIN([live555])
1867 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1869 AC_CHECK_LIB(liveMedia, main, [
1870 VLC_ADD_PLUGIN([live555])
1871 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1872 ],[],[${other_libs}]) ],[${other_libs_pic}])
1874 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1876 CPPFLAGS="${CPPFLAGS_save}"
1879 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1880 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1881 if test -z "${real_live555_tree}"; then
1882 dnl The given directory can't be found
1884 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1886 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1887 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1889 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1890 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1892 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1893 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1894 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1898 [AC_MSG_RESULT([no])
1899 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1900 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1902 AC_MSG_RESULT([yes])
1906 VLC_ADD_PLUGIN([live555])
1908 if test "${SYS}" = "mingw32"; then
1909 # add ws2_32 for closesocket, select, recv
1910 VLC_ADD_LIBS([live555],[-lws2_32])
1913 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1914 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1915 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1916 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1918 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1919 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1920 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1921 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1922 if test "${SYS}" = "solaris"; then
1923 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1926 dnl The given live555 wasn't built
1928 if test "${enable_live555}" = "yes"; then
1929 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1936 dnl - special access module for dc1394 input
1937 dnl - dv module: digital video module check for libraw1394
1939 PKG_ENABLE_MODULES_VLC([dc1394], [], [libraw1394 >= 2.0.1 libdc1394 >= 1.0.0], [dc1394 access module], [auto])
1940 PKG_ENABLE_MODULES_VLC([dv], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
1943 dnl dvdread module: check for libdvdread
1945 AC_ARG_ENABLE(dvdread,
1946 [ --enable-dvdread dvdread input module (default disabled)])
1947 if test "${enable_dvdread}" != "no"
1949 AC_ARG_WITH(dvdread,
1950 [ --with-dvdread=PATH libdvdread headers and libraries])
1951 AC_ARG_WITH(dvdread-tree,
1952 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
1954 dnl Temporary hack (yeah, sure ;)
1955 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1956 VLC_ADD_LIBS([dvdread],[-ldvdcss])
1959 if test -z "${with_dvdread}"
1961 if test -z "${with_dvdread_tree}"
1963 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1964 [ VLC_ADD_PLUGIN([dvdread])
1965 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
1967 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
1968 [ VLC_ADD_PLUGIN([dvdread])
1969 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
1971 if test -n "${enable_dvdread}"
1973 AC_MSG_ERROR([cannot find libdvdread headers])
1978 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1979 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1980 if test -z "${real_dvdread_tree}"
1982 dnl The given directory can't be found
1984 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1986 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1988 dnl Use a custom libdvdread
1989 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1990 VLC_ADD_PLUGIN([dvdread])
1991 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
1992 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1994 dnl The given libdvdread wasn't built
1996 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2000 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2001 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2003 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2005 VLC_ADD_PLUGIN([dvdread])
2006 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2007 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2009 dnl No libdvdread could be found, sorry
2011 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2017 dnl libdvdnav plugin
2019 AC_ARG_ENABLE(dvdnav,
2020 [ --enable-dvdnav dvdnav input module (default enabled)])
2021 if test "${enable_dvdnav}" != "no"
2023 dnl Same hack than dvdread
2024 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2025 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2028 DVDNAV_PATH="${PATH}"
2029 AC_ARG_WITH(dvdnav-config-path,
2030 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2031 [ if test "${with_dvdnav_config_path}" != "no"
2033 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2035 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2036 if test "${DVDNAV_CONFIG}" != "no"
2038 VLC_ADD_PLUGIN([dvdnav])
2039 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2040 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2045 dnl Windows DirectShow access module
2047 AC_ARG_ENABLE(dshow,
2048 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2049 if test "${enable_dshow}" != "no"
2051 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2054 AC_CHECK_HEADERS(dshow.h,
2055 [ VLC_ADD_PLUGIN([dshow])
2056 VLC_ADD_CXXFLAGS([dshow],[])
2057 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2063 dnl Windows DirectShow BDA access module
2066 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2067 enabled on Win32)]))
2068 if test "${enable_bda}" != "no"
2070 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2072 AC_CHECK_HEADERS(dshow.h,
2073 [ VLC_ADD_PLUGIN([bda])
2074 VLC_ADD_CXXFLAGS([bda],[])
2075 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2081 dnl OpenCV wrapper and example filters
2083 AC_ARG_ENABLE(opencv,
2084 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2085 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2087 AC_ARG_WITH(opencv-tree,
2088 [ --with-opencv-tree=PATH opencv tree for linking])
2089 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2091 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2092 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2093 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2094 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2097 VLC_ADD_PLUGIN([opencv_wrapper])
2098 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2099 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])
2101 VLC_ADD_PLUGIN([opencv_example])
2102 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2103 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])
2106 dnl No opencv could be found, sorry
2108 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2111 PKG_CHECK_MODULES(OPENCV, opencv,
2113 VLC_ADD_PLUGIN([opencv_example])
2114 VLC_ADD_PLUGIN([opencv_wrapper])
2115 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2116 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2117 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2119 [AC_MSG_ERROR([libopencv not found!])]
2126 dnl libsmbclient plugin
2129 [ --enable-smb smb input module (default enabled)])
2130 if test "${enable_smb}" != "no"; then
2131 AC_CHECK_HEADERS(libsmbclient.h,
2132 [ VLC_ADD_PLUGIN([access_smb])
2133 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2134 [ if test -n "${enable_smb}"; then
2135 AC_MSG_ERROR([cannot find libsmbclient headers])
2140 dnl libdvbpsi ts demux/mux
2142 AC_ARG_ENABLE(dvbpsi,
2143 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2145 if test "${enable_dvbpsi}" != "no"
2148 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2150 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2151 case "${with_dvbpsi}" in
2153 if test -z "${with_dvbpsi_tree}"
2155 AC_CHECK_HEADERS(dvbpsi/dr.h,
2156 [ VLC_ADD_PLUGIN([ts])
2157 if test "${enable_sout}" != "no"; then
2158 VLC_ADD_PLUGIN([mux_ts])
2160 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2162 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2163 [#if defined( HAVE_STDINT_H )
2164 # include <stdint.h>
2165 #elif defined( HAVE_INTTYPES_H )
2166 # include <inttypes.h>
2168 #include <dvbpsi/dvbpsi.h>
2169 #include <dvbpsi/descriptor.h>
2170 #include <dvbpsi/pat.h>
2171 #include <dvbpsi/pmt.h>])
2173 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2174 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2175 if test -z "${real_dvbpsi_tree}"
2177 dnl The given directory can't be found
2179 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2181 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2183 dnl Use a custom libdvbpsi
2184 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2185 VLC_ADD_PLUGIN([ts])
2186 if test "${enable_sout}" != "no"; then
2187 VLC_ADD_PLUGIN([mux_ts])
2189 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2190 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2193 dnl The given libdvbpsi wasn't built
2195 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2200 dnl Compile without dvbpsi
2203 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2204 if test -z "${with_dvbpsi}"
2209 LDFLAGS_test="-L${with_dvbpsi}/lib"
2210 CPPFLAGS_test="-I${with_dvbpsi}/include"
2212 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2213 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2214 VLC_ADD_PLUGIN([ts])
2215 if test "${enable_sout}" != "no"; then
2216 VLC_ADD_PLUGIN([mux_ts])
2218 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2219 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2222 if test -n "${enable_dvbpsi}"
2224 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])
2227 CPPFLAGS="${CPPFLAGS_save}"
2230 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2231 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2232 ], [], [${LIBS_ts}])
2237 dnl Video4Linux plugin
2240 [ --enable-v4l Video4Linux input support (default disabled)])
2241 if test "${enable_v4l}" = "yes"
2244 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2245 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2247 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2250 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2251 AC_CHECK_HEADERS(linux/videodev.h, [
2252 VLC_ADD_PLUGIN([v4l])
2254 CPPFLAGS="${CPPFLAGS_save}"
2258 dnl Video4Linux2 plugin
2261 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2262 if test "${enable_v4l2}" != "no"
2265 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2266 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2268 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2271 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2272 AC_CHECK_HEADERS(linux/videodev2.h, [
2273 VLC_ADD_PLUGIN([v4l2])
2275 CPPFLAGS="${CPPFLAGS_save}"
2279 dnl libv4l2 support for video4linux.
2281 AC_ARG_ENABLE( libv4l2,
2282 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2283 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2285 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2286 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2287 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2288 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2289 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2294 dnl special access module for Hauppauge PVR cards
2297 [ --enable-pvr PVR cards access module (default disabled)])
2298 if test "${enable_pvr}" = "yes"
2300 VLC_ADD_PLUGIN([pvr])
2301 AC_ARG_WITH(videodev2,
2302 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2303 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2305 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2308 AC_CACHE_CHECK([for new linux/videodev2.h],
2309 [ac_cv_new_linux_videodev2_h],
2311 #include <sys/types.h>
2312 # ifdef VIDEODEV2_H_FILE
2313 # include VIDEODEV2_H_FILE
2315 # include <linux/videodev2.h>
2318 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2319 ac_cv_new_linux_videodev2_h=yes,
2320 ac_cv_new_linux_videodev2_h=no)])
2321 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2322 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2327 dnl gnomeVFS access module
2329 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2332 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2333 AC_ARG_ENABLE(libcdio,
2334 [ --enable-libcdio CD input and control library support (default enabled)])
2336 AC_ARG_ENABLE(vcdinfo,
2337 [ --enable-libvcdinfo VCD information library support (default enabled)])
2341 if test "${enable_libcdio}" != "no"
2343 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2345 AC_DEFINE(HAVE_LIBCDIO, 1,
2346 [Define if you have libcdio 0.78.2 or greater installed]),
2347 [AC_MSG_WARN(CD Reading and information library not found)])
2349 if test "${enable_vcdinfo}" != "no"
2351 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2352 [have_libvcdinfo=yes
2353 AC_DEFINE(HAVE_VCDINFO, 1,
2354 [Define if you have libvcdinfo 0.7.22 or greater installed])],
2355 [AC_MSG_WARN(VCD information library not found)])
2360 dnl VCDX and CDDAX modules
2362 AC_ARG_ENABLE(cddax,
2363 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2364 via libcdio (default disabled)]))
2366 AC_ARG_ENABLE(libcddb,
2367 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2369 if test "${enable_cddax}" = "yes"
2371 if test "$have_libcdio" = "yes"
2373 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2374 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2375 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2376 VLC_ADD_PLUGIN([cddax])
2377 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2378 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2379 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2381 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2385 if test "$enable_libcddb" != "no"; then
2386 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2388 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2389 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2390 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2392 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2399 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2401 if test "${enable_vcdx}" = "yes"
2403 if test "${have_libvcdinfo}" = "yes"
2405 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2406 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2408 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2412 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2413 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2414 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2415 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2418 if test "$have_libvcdinfo" = "yes"
2420 AC_DEFINE(HAVE_VCDX, 1,
2421 [Define for the VCD plugin using libcdio/libvcdinfo])
2422 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2423 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2424 VLC_ADD_PLUGIN([vcdx])
2426 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2432 dnl Built-in CD-DA and VCD module
2435 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2438 [ --enable-vcd built-in VCD (default enabled)])
2440 if test "${enable_vcd}" != "no"
2442 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2443 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2445 VLC_ADD_PLUGIN([vcd])
2446 VLC_ADD_PLUGIN([cdda])
2451 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2452 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2454 VLC_ADD_PLUGIN([vcd])
2455 VLC_ADD_PLUGIN([cdda])
2456 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2461 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2462 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2464 VLC_ADD_PLUGIN([vcd])
2465 VLC_ADD_PLUGIN([cdda])
2466 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2471 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2473 VLC_ADD_PLUGIN([vcd])
2474 VLC_ADD_PLUGIN([cdda])
2477 if test "${SYS}" = "darwin"
2479 VLC_ADD_PLUGIN([vcd])
2480 VLC_ADD_PLUGIN([cdda])
2481 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2482 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2485 if test "$enable_libcddb" != "no"; then
2486 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2488 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2489 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2490 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2492 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2498 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2501 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2503 if test "${enable_dvb}" != "no"
2505 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2507 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2508 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2510 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2512 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2513 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2514 VLC_ADD_PLUGIN([dvb])
2515 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2516 CPPFLAGS="${CPPFLAGS_save}"
2518 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2523 dnl Screen capture module
2525 AC_ARG_ENABLE(screen,
2526 [ --enable-screen Screen capture support (default enabled)])
2527 if test "${enable_screen}" != "no"; then
2528 if test "${SYS}" = "darwin"; then
2529 AC_CHECK_HEADERS(OpenGL/gl.h, [
2530 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2531 VLC_ADD_PLUGIN([screen])
2532 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2535 elif test "${SYS}" = "mingw32"; then
2536 VLC_ADD_PLUGIN([screen])
2537 VLC_ADD_LIBS([screen],[-lgdi32])
2538 elif test "${SYS}" = "mingwce"; then
2539 CPPFLAGS="${CPPFLAGS_save}"
2540 elif test "${SYS}" = "beos"; then
2541 VLC_ADD_PLUGIN([screen])
2542 VLC_ADD_CXXFLAGS([screen],[])
2543 VLC_ADD_LIBS([screen],[-lbe])
2548 dnl ipv6 plugin - not for QNX yet
2551 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2552 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2555 AS_IF([test "${have_ipv6}" = "yes"], [
2556 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2559 AC_CHECK_FUNCS(inet_ntop,[
2560 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2564 dnl ogg demux plugin
2566 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2567 if test "${enable_sout}" != "no"; then
2568 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2572 dnl matroska demux plugin
2575 [ --enable-mkv Matroska demux support (default enabled)])
2576 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2578 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2579 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2581 [#include <ebml/EbmlVersion.h>
2582 #ifdef LIBEBML_VERSION
2583 #if LIBEBML_VERSION >= 0x000706
2587 [AC_MSG_RESULT([yes])
2588 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2589 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2591 [#include <matroska/KaxVersion.h>
2592 #ifdef LIBMATROSKA_VERSION
2593 #if LIBMATROSKA_VERSION >= 0x000705
2597 [AC_MSG_RESULT([yes])
2598 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2599 VLC_ADD_CXXFLAGS([mkv],[])
2600 if test "${SYS}" = "darwin"; then
2601 VLC_ADD_CXXFLAGS([mkv],[-O1])
2603 AC_CHECK_LIB(ebml_pic, main, [
2604 VLC_ADD_PLUGIN([mkv])
2605 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2607 AC_CHECK_LIB(ebml, main, [
2608 VLC_ADD_PLUGIN([mkv])
2609 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2613 [AC_MSG_RESULT([no])
2614 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.])
2618 [AC_MSG_RESULT([no])
2619 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.])
2626 dnl modplug demux plugin
2629 [ --enable-mod Mod demux support (default enabled)])
2630 if test "${enable_mod}" != "no"
2632 AC_ARG_WITH(mod-tree,
2633 [ --with-mod-tree=PATH mod tree for static linking])
2634 if test -n "${with_mod_tree}"
2636 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2637 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2638 if test -z "${real_mod_tree}"
2640 dnl The given directory can't be found
2642 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2644 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2646 dnl Use a custom mod
2647 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2648 VLC_ADD_PLUGIN([mod])
2649 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2650 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2652 dnl The given mod wasn't built
2654 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2657 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2658 VLC_ADD_PLUGIN([mod])
2659 VLC_ADD_CXXFLAGS([mod],[])
2660 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2665 dnl mpc demux plugin
2668 [ --enable-mpc Mpc demux support (default enabled)])
2669 if test "${enable_mpc}" != "no"
2671 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2672 VLC_ADD_PLUGIN([mpc])
2673 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2674 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2675 VLC_ADD_PLUGIN([mpc])
2676 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2680 dnl game music emu demux plugin
2683 [ --enable-gme Game Music Emu demux support (default enabled)])
2684 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2687 AC_ARG_WITH(gme-tree,
2688 [ --with-gme-tree=PATH gme tree for static linking])
2689 if test -n "${with_gme_tree}"
2691 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2692 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2693 if test -z "${real_gme_tree}"
2695 dnl The given directory can't be found
2697 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2699 if test -f "${real_gme_tree}/gme/libgme.a"
2701 dnl Use a custom gme
2702 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2703 VLC_ADD_PLUGIN([gme])
2704 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2705 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2707 dnl The given gme wasn't built
2709 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2712 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2721 AC_ARG_WITH(,[Codec plugins:])
2726 AC_ARG_ENABLE(wma-fixed,
2727 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2728 if test "${enable_wma_fixed}" = "yes"
2730 VLC_ADD_PLUGIN([wma_fixed])
2734 dnl shine fixed point mp3 encoder
2736 AC_ARG_ENABLE(shine,
2737 [ --enable-shine shine mp3 encoding module (default disabled)])
2738 if test "${enable_shine}" = "yes"
2740 VLC_ADD_PLUGIN([shine])
2747 [ --enable-mad libmad module (default enabled)])
2748 if test "${enable_mad}" != "no"
2751 [ --with-mad=PATH path to libmad],[],[])
2752 if test "${with_mad}" != "no" -a -n "${with_mad}"
2754 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2755 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2758 AC_ARG_WITH(mad-tree,
2759 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2760 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2762 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2763 if test -z "${real_mad_tree}"
2765 dnl The given directory can't be found
2767 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2769 dnl Use a custom libmad
2770 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2771 if test -f ${real_mad_tree}/mad.h
2774 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2775 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2776 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2777 AC_CHECK_LIB(mad, mad_bit_init, [
2778 VLC_ADD_PLUGIN([mpgatofixed32])
2779 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2780 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2782 LDFLAGS="${LDFLAGS_save}"
2785 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2788 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2789 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2790 AC_CHECK_HEADERS(mad.h, ,
2791 [ 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.]) ])
2792 AC_CHECK_LIB(mad, mad_bit_init, [
2793 VLC_ADD_PLUGIN([mpgatofixed32])
2794 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2795 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2796 CPPFLAGS="${CPPFLAGS_save}"
2797 LDFLAGS="${LDFLAGS_save}"
2802 dnl libid3tag support (FIXME!!! doesn't work with new input)
2804 AC_ARG_ENABLE( id3tag,
2805 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
2806 AS_IF([test "${enable_id3tag}" = "yes"], [
2807 AC_CHECK_HEADERS(id3tag.h, [
2808 AS_IF([test "${have_zlib}" = "yes"],[
2809 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2810 VLC_ADD_PLUGIN([id3tag])
2816 dnl avcodec decoder/encoder plugin
2819 if test "${with_ffmpeg_tree}"
2821 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2824 AC_ARG_ENABLE(avcodec,
2825 [ --enable-avcodec libavcodec codec (default enabled)])
2826 if test "${enable_avcodec}" != "no"
2828 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
2831 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2832 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2833 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
2834 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2835 VLC_ADD_PLUGIN([avcodec])
2836 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2837 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2841 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2846 dnl stream_out switcher needs libavcodec
2848 AC_ARG_ENABLE(switcher,
2849 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2850 AS_IF([test "${enable_switcher}" = "yes"], [
2851 AS_IF([test "x${have_avcodec}" = "xyes"], [
2852 VLC_ADD_PLUGIN([stream_out_switcher])
2853 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS])
2854 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS])
2855 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2861 dnl avformat demuxer/muxer plugin
2864 AC_ARG_ENABLE(avformat,
2865 [ --enable-avformat libavformat containers (default enabled)])
2866 if test "${enable_avformat}" != "no"
2868 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
2871 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2872 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2873 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
2874 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2875 VLC_ADD_PLUGIN([avformat])
2876 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS])
2877 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
2880 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2885 dnl swscale image scaling and conversion plugin
2888 AC_ARG_ENABLE(swscale,
2889 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2890 (default enabled)]))
2891 if test "${enable_swscale}" != "no"
2893 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2896 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2897 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2898 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
2899 VLC_ADD_PLUGIN([swscale])
2900 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2901 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2904 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.])
2912 AC_ARG_ENABLE(postproc,
2913 [ --enable-postproc libpostproc image post-processing (default enabled)])
2914 if test "${enable_postproc}" != "no"
2916 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
2919 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
2920 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
2921 AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
2922 VLC_ADD_PLUGIN([postproc])
2923 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS])
2924 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS])
2927 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
2932 dnl faad decoder plugin
2935 [ --enable-faad faad codec (default disabled)])
2936 if test "${enable_faad}" = "yes"
2938 AC_ARG_WITH(faad-tree,
2939 [ --with-faad-tree=PATH faad tree for static linking])
2940 if test -n "${with_faad_tree}"
2942 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2943 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2944 if test -z "${real_faad_tree}"
2946 dnl The given directory can't be found
2948 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2950 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2952 dnl Use a custom faad
2953 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2954 VLC_ADD_PLUGIN([faad])
2955 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2956 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2958 dnl The given libfaad wasn't built
2960 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2963 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2964 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
2965 AC_CHECK_HEADERS(faad.h, ,
2966 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2967 AC_CHECK_LIB(faad, faacDecOpen, [
2968 VLC_ADD_PLUGIN([faad])
2969 VLC_ADD_LIBS([faad],[-lfaad]) ],
2970 AC_CHECK_LIB(faad, NeAACDecOpen, [
2971 VLC_ADD_PLUGIN([faad])
2972 VLC_ADD_LIBS([faad],[-lfaad]) ],
2973 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2974 LDFLAGS="${LDFLAGS_save}"
2975 CPPFLAGS="${CPPFLAGS_save}"
2980 dnl twolame encoder plugin
2982 AC_ARG_ENABLE(twolame,
2983 [ --enable-twolame twolame codec (default disabled)])
2984 if test "${enable_twolame}" = "yes"
2986 AC_ARG_WITH(twolame-tree,
2987 [ --with-twolame-tree=PATH twolame tree for static linking])
2988 if test -n "${with_twolame_tree}"
2990 AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2991 real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2992 if test -z "${real_twolame_tree}"
2994 dnl The given directory can't be found
2996 AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2998 if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3000 dnl Use a custom twolame
3001 AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3002 VLC_ADD_PLUGIN([twolame])
3003 VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3004 VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3006 dnl The given libtwolame wasn't built
3008 AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3011 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3012 LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3013 AC_CHECK_HEADERS(twolame.h, ,
3014 [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3015 AC_CHECK_LIB(twolame, twolame_init, [
3016 VLC_ADD_PLUGIN([twolame])
3017 VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3018 VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3019 [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3020 LDFLAGS="${LDFLAGS_save}"
3021 CPPFLAGS="${CPPFLAGS_save}"
3026 dnl QuickTime plugin
3028 AC_ARG_ENABLE(quicktime,
3029 [ --enable-quicktime QuickTime module (deprecated)])
3030 if test "${enable_quicktime}" = "yes"; then
3031 if test "${SYS}" = "mingw32"; then
3032 VLC_ADD_PLUGIN([quicktime])
3034 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3035 [ VLC_ADD_PLUGIN([quicktime])
3036 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3037 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3045 [ --enable-real Real media module (default disabled)])
3046 if test "${enable_real}" = "yes"; then
3047 VLC_ADD_PLUGIN([realaudio])
3048 VLC_ADD_PLUGIN([realvideo])
3052 dnl Real RTSP plugin
3054 AC_ARG_ENABLE(realrtsp,
3055 [ --enable-realrtsp Real RTSP module (default disabled)])
3056 if test "${enable_realrtsp}" = "yes"; then
3057 VLC_ADD_PLUGIN([access_realrtsp])
3060 AC_ARG_ENABLE(libsysfs,
3061 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3063 AS_IF([test "${enable_libsysfs}" != "no"],[
3064 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3065 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3072 AC_ARG_ENABLE(libtar,
3073 [ --enable-libtar libtar support for skins2 (default enabled)])
3075 AS_IF([test "${enable_libtar}" != "no"],[
3076 AC_CHECK_HEADERS(libtar.h, [
3077 VLC_ADD_LIBS([skins2],[-ltar])
3082 dnl A52/AC3 decoder plugin
3085 [ --enable-a52 A/52 support with liba52 (default enabled)])
3086 if test "${enable_a52}" != "no"
3089 [ --with-a52=PATH a52 headers and libraries])
3090 AC_ARG_WITH(a52-tree,
3091 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3092 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3094 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3095 if test -z "${real_a52_tree}"
3097 dnl The given directory can't be found
3099 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3101 dnl Use a custom a52dec
3102 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3103 if test -f ${real_a52_tree}/include/a52.h
3106 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3107 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3108 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3109 AC_CHECK_LIB(a52, a52_free, [
3110 VLC_ADD_PLUGIN([a52tofloat32])
3111 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3112 VLC_ADD_LIBS([a52tofloat32],[-la52])
3114 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3116 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3118 AC_MSG_ERROR([the specified tree hasn't been compiled])
3121 LDFLAGS="${LDFLAGS_save}"
3124 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3127 if test -z "${with_a52}"
3132 LDFLAGS_test="-L${with_a52}/lib"
3133 CPPFLAGS_test="-I${with_a52}/include"
3135 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3136 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3137 AC_CHECK_HEADERS(a52dec/a52.h, [
3138 AC_CHECK_LIB(a52, a52_free, [
3139 VLC_ADD_PLUGIN([a52tofloat32])
3140 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3141 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3143 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.])
3146 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.])
3148 CPPFLAGS="${CPPFLAGS_save}"
3149 LDFLAGS="${LDFLAGS_save}"
3153 AC_ARG_WITH(a52-fixed,
3154 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3156 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3159 dnl DTS Coherent Acoustics decoder plugin
3161 AS_IF([test "x${enable_dts}" != "x"], [
3162 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3164 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3169 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3174 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3179 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3184 AC_ARG_ENABLE(tremor,
3185 [ --enable-tremor Tremor decoder support (default disabled)])
3186 if test "${enable_tremor}" = "yes"
3188 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3189 VLC_ADD_PLUGIN([tremor])
3190 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3197 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3200 dnl tarkin decoder plugin
3202 AC_ARG_ENABLE(tarkin,
3203 [ --enable-tarkin experimental tarkin codec (default disabled)])
3204 if test "${enable_tarkin}" = "yes"
3206 AC_ARG_WITH(tarkin-tree,
3207 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3208 if test -n "${with_tarkin_tree}"
3210 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3211 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3212 if test -f "${real_tarkin_tree}/tarkin.o"
3214 VLC_ADD_PLUGIN([tarkin])
3215 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3216 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])
3219 dnl The given tarkin tree wasn't built
3221 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3222 make sure you compiled tarkin in ${with_tarkin_tree}])
3228 dnl theora decoder plugin
3230 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3233 dnl dirac encoder plugin
3235 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3238 dnl schroedinger decoder plugin (for dirac format video)
3240 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3243 dnl PNG decoder module
3246 [ --enable-png PNG support (default enabled)])
3247 if test "${enable_png}" != "no"; then
3248 AC_CHECK_HEADERS(png.h, [
3249 LDFLAGS="${LDFLAGS_save} -lz"
3250 AC_CHECK_LIB(png, png_set_rows, [
3251 VLC_ADD_LIBS([png],[-lpng -lz])
3252 VLC_ADD_PLUGIN([png])
3253 VLC_ADD_PLUGIN([osdmenu])
3254 VLC_ADD_PLUGIN([osd_parser])
3255 AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
3257 LDFLAGS="${LDFLAGS_save}"
3260 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3263 dnl H264 encoder plugin (using libx264)
3266 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3267 if test "${enable_x264}" != "no"; then
3268 AC_ARG_WITH(x264-tree,
3269 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3270 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3272 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3273 if test -z "${real_x264_tree}"
3275 dnl The given directory can't be found
3277 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3279 dnl Use a custom libx264
3280 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3281 if test -f ${real_x264_tree}/x264.h
3284 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3285 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3286 PKG_CHECK_MODULES(X264,x264, [
3287 VLC_ADD_PLUGIN([x264])
3288 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3289 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3290 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3291 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3294 AC_MSG_ERROR([the specified tree hasn't been compiled])
3296 LDFLAGS="${LDFLAGS_save}"
3299 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3302 PKG_CHECK_MODULES(X264,x264, [
3303 VLC_ADD_PLUGIN([x264])
3304 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3306 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3307 [ac_cv_ld_bsymbolic],
3308 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3309 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3310 LDFLAGS="${LDFLAGS_save}"
3312 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3313 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3316 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3317 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3318 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3321 if test "${enable_x264}" = "yes"; then
3322 AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3325 LDFLAGS="${LDFLAGS_save}"
3330 dnl libfluidsynth (MIDI synthetizer) plugin
3332 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3335 dnl Teletext Modules
3336 dnl vbi decoder plugin (using libzbvi)
3341 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3342 libzvbi (default enabled)]))
3344 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3345 zvbi) (default enabled if zvbi is absent)]))
3347 AS_IF( [test "${enable_zvbi}" != "no"],[
3348 PKG_CHECK_MODULES(ZVBI,
3351 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3352 if test "${SYS}" = "mingw32"; then
3353 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3355 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3356 VLC_ADD_PLUGIN([zvbi])
3357 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3358 AS_IF( [test "${enable_telx}" = "yes"],[
3359 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3363 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3366 AS_IF( [test "${enable_telx}" != "no" ],[
3367 VLC_ADD_PLUGIN([telx])
3371 dnl libass subtitle rendering module
3373 AC_ARG_ENABLE(libass,
3374 [ --enable-libass Subtitle support using libass (default disabled)])
3375 AS_IF( [test "${enable_libass}" = "yes"], [
3376 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.5,
3378 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3379 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3380 VLC_ADD_PLUGIN([libass])
3382 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3383 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3384 if test "${SYS}" = "mingw32"; then
3385 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz])
3387 VLC_ADD_LIBS([libass],[-lfontconfig])
3391 AC_MSG_WARN([LIBASS library not found])
3398 AC_ARG_ENABLE(asademux,
3399 [ --enable-asademux asa subtitle demuxing (default disabled)])
3400 AS_IF( [test "${enable_asademux}" = "yes"], [
3401 PKG_CHECK_MODULES(PCRE,
3404 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3405 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3406 if test "${SYS}" = "mingw32"; then
3407 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3409 VLC_ADD_PLUGIN([asademux])
3411 AC_MSG_WARN([PCRE library not found (required for asademux)])
3419 [ --enable-cmml CMML support (default enabled)])
3420 if test "${enable_cmml}" != "no"
3422 VLC_ADD_PLUGIN([cmml])
3426 dnl kate decoder plugin
3429 [ --enable-kate kate codec (default enabled)])
3430 AS_IF([test "${enable_kate}" != "no"], [
3431 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3432 VLC_ADD_PLUGIN([kate])
3433 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3434 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3435 AC_CHECK_HEADERS(kate/kate.h, [
3436 AC_CHECK_LIB(kate, kate_decode_init, [
3437 VLC_ADD_PLUGIN([kate])
3438 kate_libs="-lkate -logg"
3439 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3440 AS_IF([test "x${enable_kate}" != "x"], [
3441 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3442 You also need to check that you have a libogg posterior to the 1.0 release.])
3446 AS_IF([test "x${enable_kate}" != "x"], [
3447 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3448 You also need to check that you have a libogg posterior to the 1.0 release.])
3456 dnl tiger decoder plugin
3458 PKG_ENABLE_MODULES_VLC([TIGER], [], [tiger >= 0.3.1], [Tiger rendering library for Kate streams],[auto])
3465 AC_ARG_WITH(,[Video plugins:])
3473 [ --enable-x11 X11 support with Xlib (default enabled)],, [
3474 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3481 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3483 AS_IF([test "${enable_x11}" != "no"], [
3484 AC_CHECK_HEADERS(X11/Xlib.h, [
3485 VLC_ADD_PLUGIN([x11])
3486 VLC_ADD_LIBS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11])
3487 VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3489 AC_CHECK_LIB(Xext, XShmAttach, [VLC_ADD_LIBS([x11],[-lXext])])
3493 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3494 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3495 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3497 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3498 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3503 #include <X11/Xlib.h>
3509 dnl (enabled by default except on win32)
3511 AC_ARG_ENABLE(xvideo,
3512 [ --enable-xvideo XVideo support (default enabled)],, [
3513 enable_xvideo="$enable_x11"
3515 AS_IF([test "${enable_xvideo}" != "no"], [
3516 AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3517 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3518 AC_CHECK_LIB(Xv,XvPutImage,[
3519 VLC_ADD_PLUGIN([xvideo])
3520 VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3521 VLC_ADD_LIBS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3523 CFLAGS="${CFLAGS_save}"
3529 dnl (enabled by default except on win32)
3532 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3533 enable_glx="$enable_x11"
3535 AS_IF([test "${enable_glx}" != "no"], [
3536 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3537 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3538 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3542 VLC_ADD_PLUGIN([glx])
3543 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3544 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3545 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3550 dnl (disabled by default except on win32)
3553 [ --enable-xvmc XvMC support (default disabled)],, [
3556 AS_IF([test "${enable_xvmc}" != "no"], [
3557 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3558 VLC_ADD_PLUGIN([xvmc])
3559 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
3560 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
3562 AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
3567 dnl Check for the Xinerama extension
3569 AC_ARG_ENABLE(xinerama,
3570 [ --enable-xinerama Xinerama support (default enabled)],, [
3571 enable_xinerama="$enable_xvideo"
3573 AS_IF([test "$enable_xinerama" != "no"], [
3574 ac_cv_have_xinerama="no"
3575 CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3576 AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3577 AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3578 VLC_ADD_LIBS([xvideo],[-lXinerama_pic])
3579 VLC_ADD_LIBS([x11],[-lXinerama_pic])
3580 VLC_ADD_LIBS([glx],[-lXinerama_pic])
3581 VLC_ADD_LIBS([xvmc],[-lXinerama_pic])
3582 ac_cv_have_xinerama="yes"
3584 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3585 VLC_ADD_LIBS([xvideo],[-lXinerama])
3586 VLC_ADD_LIBS([x11],[-lXinerama])
3587 VLC_ADD_LIBS([glx],[-lXinerama])
3588 VLC_ADD_LIBS([xvmc],[-lXinerama])
3589 ac_cv_have_xinerama="yes"
3593 if test "${ac_cv_have_xinerama}" = "yes"; then
3594 AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3598 dnl Check for XF86VidMode extension
3600 ac_cv_have_xf86vidmode="no"
3601 AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3602 AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3603 VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
3604 VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
3605 VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
3606 VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
3607 ac_cv_have_xf86vidmode="yes"
3609 AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3610 VLC_ADD_LIBS([xvideo],[-lXxf86vm])
3611 VLC_ADD_LIBS([x11],[-lXxf86vm])
3612 VLC_ADD_LIBS([glx],[-lXxf86vm])
3613 VLC_ADD_LIBS([xvmc],[-lXxf86vm])
3614 ac_cv_have_xf86vidmode="yes"
3618 [#ifdef HAVE_X11_XLIB_H
3619 # include <X11/Xlib.h>
3622 AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3623 [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3625 CFLAGS="${CFLAGS_save}"
3628 dnl End of Xlib tests
3629 CPPFLAGS="${CPPFLAGS_save}"
3633 dnl X C Bindings modules
3636 [ --enable-xcb X11 support with XCB (default enabled)],, [
3637 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3644 AS_IF([test "${enable_xcb}" != "no"], [
3645 PKG_CHECK_MODULES(XPROTO, [xproto])
3648 PKG_CHECK_MODULES(XCB, [xcb])
3649 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3650 VLC_ADD_PLUGIN([xcb])
3651 VLC_ADD_PLUGIN([xcb_screen])
3653 AS_IF([test "${enable_xvideo}" != "no"], [
3654 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3655 VLC_ADD_PLUGIN([xcb_xv])
3657 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3658 VLC_ADD_PLUGIN([xcb_xv])
3659 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3664 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3665 VLC_ADD_PLUGIN([panoramix])
3666 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3667 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3671 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
3673 VLC_ADD_PLUGIN([xcb_window])
3674 VLC_ADD_PLUGIN([globalhotkeys])
3675 VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
3676 VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
3682 dnl (enabled by default except on beos)
3684 AC_ARG_ENABLE(opengl,
3685 [ --enable-opengl OpenGL support (default enabled)])
3686 if test "${enable_opengl}" != "no" &&
3687 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3688 if test "${SYS}" != "darwin"; then
3689 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3690 VLC_ADD_PLUGIN([opengl])
3691 if test "${SYS}" != "mingw32"; then
3692 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3694 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3698 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3699 VLC_ADD_PLUGIN([opengl])
3700 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3708 [ --enable-sdl SDL support (default enabled)])
3709 AC_ARG_ENABLE(sdl-image,
3710 [ --enable-sdl-image SDL image support (default enabled)])
3711 if test "${enable_sdl}" != "no"
3714 AC_ARG_WITH(sdl-config-path,
3715 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3716 [ if test "${with_sdl_config_path}" != "no"
3718 SDL_PATH="${with_sdl_config_path}:${PATH}"
3720 AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3721 SDL_CONFIG="${SDL12_CONFIG}"
3722 SDL_HEADER="SDL12/SDL.h"
3723 SDL_IMAGE="SDL12/SDL_image.h"
3724 if test "${SDL_CONFIG}" = "no"
3726 AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3727 SDL_CONFIG=${SDL11_CONFIG}
3728 SDL_HEADER="SDL11/SDL.h"
3729 SDL_IMAGE="SDL11/SDL_image.h"
3731 if test "${SDL_CONFIG}" = "no"
3733 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3734 SDL_HEADER="SDL/SDL.h"
3735 SDL_IMAGE="SDL/SDL_image.h"
3737 # check for cross-compiling
3739 AC_ARG_WITH(sdl-prefix,
3740 [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3742 --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3743 if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3745 SDL_PREFIX="--prefix=${with_sdl_prefix}"
3747 if test "${SDL_CONFIG}" != "no"
3749 # SDL on Darwin is heavily patched and can only run SDL_image
3750 if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3751 VLC_ADD_PLUGIN([vout_sdl])
3752 VLC_ADD_PLUGIN([aout_sdl])
3754 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3755 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3756 CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3757 AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3758 <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3759 [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3760 As a last resort we also test for SDL.h presence),
3761 [ AC_MSG_ERROR([The development package for SDL is not installed.
3762 Please install it and try again. Alternatively you can also configure with
3765 AS_IF([ test "${enable_sdl_image}" != "no"],[
3766 AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3767 <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3768 VLC_ADD_PLUGIN([sdl_image])
3769 AC_CHECK_LIB(png, png_set_rows,
3770 [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3771 AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3772 [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3773 AC_CHECK_LIB(tiff, TIFFClientOpen,
3774 [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3775 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3776 [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3777 As a last resort we also test for SDL_image.h presence),
3778 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3779 You should install it alongside your SDL package.])
3782 CPPFLAGS="${CPPFLAGS_save}"
3783 if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3785 AC_MSG_ERROR([The development package for SDL is not installed.
3786 Please install it and try again. Alternatively you can also configure with
3790 elif test "${enable_sdl}" = "yes"
3792 AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3793 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3801 AC_ARG_ENABLE(freetype,
3802 [ --enable-freetype freetype support (default enabled)])
3803 AC_ARG_ENABLE(fribidi,
3804 [ --enable-fribidi fribidi support (default enabled)])
3805 AC_ARG_ENABLE(fontconfig,
3806 [ --enable-fontconfig, fontconfig support (default enabled)])
3807 if test "${enable_freetype}" != "no"
3809 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3810 VLC_ADD_PLUGIN([freetype])
3812 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3813 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3814 if test "${SYS}" = "mingw32"; then
3815 VLC_ADD_LIBS([skins2],[-lxml2])
3816 VLC_ADD_LIBS([freetype],[-liconv])
3818 if test "${enable_fontconfig}" != "no"
3820 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3821 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3822 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3823 AC_CHECK_HEADERS(Carbon/Carbon.h,
3824 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3828 AS_IF([ test "${enable_freetype}" = "yes"],[
3829 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3830 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3836 if test "${enable_fribidi}" != "no"
3838 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3839 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3840 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3848 PKG_ENABLE_MODULES_VLC([libxml2], [], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3853 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3856 dnl Snapshot vout module (with cache)
3858 AC_ARG_ENABLE(snapshot,
3859 [ --enable-snapshot snapshot module (default disabled)])
3860 if test "${enable_snapshot}" = "yes"
3862 VLC_ADD_PLUGIN([snapshot])
3866 dnl Qt Embedded module
3867 dnl (disabled by default)
3870 [ --enable-qte QT Embedded support (default disabled)])
3871 if test "${enable_qte}" = "yes"
3874 [ --with-qte=PATH Qt Embedded headers and libraries])
3875 if test "${with_qte}" != "no" -a -n "${with_qte}"
3877 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3878 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])
3880 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3881 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3883 VLC_ADD_PLUGIN([qte])
3885 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3886 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3887 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3889 CPPFLAGS="${CPPFLAGS_save}"
3893 dnl Roku HD1000 Video output module
3895 AC_ARG_ENABLE(hd1000v,
3896 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3897 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3898 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3899 test "${enable_hd1000v}" = "yes"); then
3901 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3903 can_build_roku="yes"
3907 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3909 if test "$can_build_roku" = "yes"
3911 VLC_ADD_PLUGIN([hd1000v])
3912 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3918 dnl Windows DirectX module
3921 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3923 VLC_ADD_PLUGIN([panoramix])
3926 AC_ARG_ENABLE(directx,
3927 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3928 if test "${enable_directx}" != "no"
3930 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3932 AC_ARG_WITH(directx,
3933 [ --with-directx=PATH Win32 DirectX headers])
3934 if test -z "${with_directx}"
3936 AC_CHECK_HEADERS(ddraw.h,
3937 [ VLC_ADD_PLUGIN([directx])
3938 VLC_ADD_PLUGIN([aout_directx])
3939 VLC_ADD_LIBS([directx],[-lgdi32])
3941 AC_CHECK_HEADERS(GL/gl.h,
3942 [ VLC_ADD_PLUGIN([glwin32])
3943 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3945 AC_CHECK_HEADERS(d3d9.h,
3946 [ VLC_ADD_PLUGIN([direct3d])
3947 VLC_ADD_LIBS([direct3d],[-lgdi32])
3950 AC_MSG_CHECKING(for directX headers in ${with_directx})
3951 if test -f ${with_directx}/ddraw.h
3953 VLC_ADD_PLUGIN([directx])
3954 VLC_ADD_PLUGIN([aout_directx])
3955 VLC_ADD_CPPFLAGS([directx aout_directx],[-I${with_directx}])
3956 VLC_ADD_LIBS([directx],[-lgdi32])
3960 AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3967 dnl Linux framebuffer module
3970 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3971 if test "${enable_fb}" != "no"
3973 AC_CHECK_HEADERS(linux/fb.h, [
3974 VLC_ADD_PLUGIN([fb])
3979 dnl Linux MGA module
3982 [ --enable-mga Linux kernel Matrox support (default disabled)],
3983 [ if test "${enable_mga}" = "yes"
3985 VLC_ADD_PLUGIN([mga])
3989 dnl OMAP Framebuffer module
3991 AC_ARG_ENABLE(omapfb,
3992 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3993 if test "${enable_omapfb}" = "yes"
3995 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3996 VLC_ADD_PLUGIN([omapfb])
3997 AC_CHECK_HEADERS(X11/Xlib.h, [
3998 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
4005 AC_ARG_ENABLE(svgalib,
4006 [ --enable-svgalib SVGAlib support (default disabled)])
4007 if test "${enable_svgalib}" = "yes"
4009 VLC_ADD_PLUGIN([svgalib])
4010 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
4015 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4016 dnl TODO: support for static linking
4018 AC_ARG_ENABLE(directfb,
4019 [ --enable-directfb DirectFB support (default disabled)])
4020 AC_ARG_WITH(directfb,
4021 [ --with-directfb=PATH path to DirectFB headers and libraries])
4023 if test "${enable_directfb}" = "yes"; then
4024 have_directfb="false"
4025 CPPFLAGS_mydirectfb=
4027 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4028 dnl Trying the given location
4029 CPPFLAGS_save="${CPPFLAGS}"
4032 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4033 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4034 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4036 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4037 LIBS="${LIBS} ${LIBS_new}"
4039 dnl FIXME: too obscure
4040 AC_CHECK_HEADER([directfb.h], [
4041 AC_CHECK_LIB([direct],[direct_initialize], [
4042 AC_CHECK_LIB([fusion], [fusion_enter], [
4043 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4044 ], have_directfb="false")
4045 ], have_directfb="false")
4046 ], have_directfb="false")
4049 CPPFLAGS="${CPPFLAGS_save}"
4052 if test "${have_directfb}" = "true"; then
4053 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4054 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4057 dnl Look for directfb-config
4058 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4059 if test "${DIRECTFB_CONFIG}" != "no"; then
4060 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4061 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4062 have_directfb="true"
4064 dnl Trying with pkg-config
4065 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4066 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4067 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4068 have_directfb="true"
4069 ], [have_directfb="false"])
4072 if test "${have_directfb}" = "true"; then
4073 VLC_ADD_PLUGIN([directfb])
4074 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4075 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4077 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4087 [ --enable-ggi GGI support (default disabled)])
4088 if test "${enable_ggi}" = "yes"
4090 AC_CHECK_HEADER([ggi/ggi.h],[
4091 VLC_ADD_PLUGIN([ggi])
4092 VLC_ADD_LIBS([ggi],[-lggi])
4094 [ --with-ggi=PATH path to libggi],
4095 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4097 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4098 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4101 AC_MSG_ERROR([LibGGI development files can't be found])
4109 [ --enable-aa aalib output (default disabled)])
4110 if test "${enable_aa}" = "yes"
4112 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4113 if test "${have_aa}" = "true"
4115 VLC_ADD_PLUGIN([aa])
4116 VLC_ADD_LIBS([aa],[-laa])
4124 [ --enable-caca libcaca output (default disabled)])
4125 if test "${enable_caca}" = "yes"
4128 AC_ARG_WITH(caca-config-path,
4129 [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4130 [ if test "${with_caca_config_path}" != "no"
4132 CACA_PATH="${with_caca_config_path}:${PATH}"
4134 AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4135 if test "${CACA_CONFIG}" != "no"
4137 VLC_ADD_PLUGIN([caca])
4138 VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4139 VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
4140 AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
4145 [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
4151 dnl win32 GDI plugin
4153 AC_ARG_ENABLE(wingdi,
4154 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
4155 if test "${enable_wingdi}" != "no"; then
4156 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4157 VLC_ADD_PLUGIN([wingdi])
4158 VLC_ADD_LIBS([wingdi],[-lgdi32])
4160 if test "${SYS}" = "mingwce"; then
4161 VLC_ADD_PLUGIN([wingdi])
4162 VLC_ADD_PLUGIN([wingapi])
4163 VLC_ADD_LIBS([wingdi],[-laygshell])
4164 VLC_ADD_LIBS([wingapi],[-laygshell])
4172 AC_ARG_WITH(,[Audio plugins:])
4175 dnl OSS /dev/dsp module (enabled by default except on win32)
4178 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4180 if test "${enable_oss}" != "no" &&
4181 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4182 test "${enable_oss}" = "yes")
4184 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4185 VLC_ADD_PLUGIN([oss])
4186 VLC_ADD_PLUGIN([access_oss])
4187 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4192 dnl Pulseaudio module
4194 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4197 dnl Portaudio module
4199 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4205 [ --enable-alsa ALSA sound support for Linux (default enabled)])
4206 if test "${enable_alsa}" != "no"
4208 AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4209 if test "${have_alsa}" = "true"
4211 CFLAGS="${CFLAGS_save}"
4212 AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4213 #define ALSA_PCM_NEW_SW_PARAMS_API
4214 #include <alsa/asoundlib.h>],
4215 [snd_pcm_hw_params_get_period_time(0,0,0);],
4216 AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4217 VLC_ADD_PLUGIN([alsa])
4218 VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
4219 VLC_ADD_PLUGIN([access_alsa])
4220 VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
4222 if test "${enable_alsa}" = "yes"; then
4223 AC_MSG_ERROR([Could not find ALSA development headers])
4229 dnl win32 waveOut plugin
4231 AC_ARG_ENABLE(waveout,
4232 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4233 if test "${enable_waveout}" != "no"; then
4234 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4235 VLC_ADD_PLUGIN([waveout])
4236 VLC_ADD_LIBS([waveout],[-lwinmm])
4238 if test "${SYS}" = "mingwce"; then
4239 VLC_ADD_PLUGIN([waveout])
4244 dnl CoreAudio plugin
4246 AC_ARG_ENABLE(macosx-audio,
4247 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4248 if test "${enable_macosx-audio}" != "no" &&
4249 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4251 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4252 [ VLC_ADD_PLUGIN([auhal])
4253 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4254 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4258 dnl Roku HD1000 audio
4260 AC_ARG_ENABLE(hd1000a,
4261 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4262 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4263 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4264 test "${enable_hd1000a}" = "yes")
4267 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4268 VLC_ADD_PLUGIN([hd1000a])
4269 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4276 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4277 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4281 dnl CyberLink for C++ UPnP stack
4283 AC_ARG_ENABLE(cyberlink,
4284 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4285 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4286 AC_ARG_WITH(cyberlink-tree,
4287 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4290 dnl test for --with-cyberlink-tree
4292 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4294 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4295 AS_IF([test -z "${real_cyberlink_tree}"], [
4296 dnl The given directory can't be found
4298 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4300 CPPFLAGS_save="${CPPFLAGS}"
4301 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4302 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4303 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4304 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4305 VLC_ADD_PLUGIN([upnp_cc])
4307 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4309 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4310 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4311 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4312 dnl The mere fact that we have to make such an ugly check sucks
4313 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4316 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4317 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4318 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4319 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4320 using namespace CyberLink;
4322 class testclass : public SearchResponseListener, public MediaPlayer
4324 virtual void deviceSearchResponseReceived( SSDPPacket *)
4331 addSearchResponseListener (this);
4335 ],[testclass l;])],[LIBS_cclink="$l"])
4338 dnl should not happen - otherwise this needs fixing - hence FAILURE
4339 AS_IF([test "${LIBS_cclink}" = "no"],
4340 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4341 AC_MSG_RESULT([${LIBS_cclink}])
4342 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4345 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4347 CPPFLAGS="${CPPFLAGS_save}"
4353 dnl UPnP Plugin (Intel SDK)
4356 AS_HELP_STRING([--enable-upnp],[Intel UPnP SDK (default enabled)]))
4358 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4359 AS_IF([test "x${enable_upnp}" != "xno"], [
4360 AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4361 AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4362 AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4364 AS_IF([test "${has_upnp}" = "yes"], [
4365 VLC_ADD_LIBS([upnp_intel], [-lupnp -lixml])
4371 AS_IF([test "${has_upnp}" = "yes"], [
4372 VLC_ADD_PLUGIN([upnp_intel])
4377 dnl Interface plugins
4380 AC_ARG_WITH(,[Interface plugins:])
4382 dnl special case for BeOS
4383 if test "${SYS}" = "beos"
4385 VLC_ADD_PLUGIN([beos])
4391 AC_ARG_ENABLE(skins2,
4392 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4393 enabled except on MacOSX, BeOS and WinCE)])])
4394 if test "${enable_skins2}" = "yes" ||
4395 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4396 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4398 dnl test for the required libraries
4399 skins2_missing_lib="no"
4402 if test "${have_freetype}" != "yes"; then
4403 skins2_missing_lib="yes"
4404 if test "${enable_skins2}" = "yes"; then
4405 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4409 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4410 VLC_ADD_PLUGIN([skins2])
4411 ALIASES="${ALIASES} svlc"
4412 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4413 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4414 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4416 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4417 VLC_ADD_PLUGIN([skins2])
4418 ALIASES="${ALIASES} svlc"
4419 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4420 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4421 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4423 else if test "${skins2_missing_lib}" = "no"; then
4424 VLC_ADD_PLUGIN([skins2])
4425 ALIASES="${ALIASES} svlc"
4426 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4427 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4428 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4431 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4432 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4433 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4436 dnl PDA Gtk+2 module
4439 [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
4440 if test "${enable_pda}" = "yes"
4442 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4443 VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4444 VLC_ADD_LIBS([gtk2],[${GTK2_LIBS}])
4445 VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4446 VLC_ADD_LIBS([pda],[${LDFLAGS_pda}])
4447 VLC_ADD_LIBS([pda],[${GTK2_LIBS}])
4448 VLC_ADD_PLUGIN([pda])
4449 if test "${SYS}" != "mingw32"; then
4451 VLC_ADD_CFLAGS([gtk2_main],[$GTK2_CFLAGS])
4452 VLC_ADD_LIBS([gtk2_main],[$GTK2_LIBS])
4455 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
4460 AC_ARG_ENABLE(maemo,
4461 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4462 if test "${enable_maemo}" = "yes"
4464 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4465 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4466 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4467 VLC_ADD_PLUGIN([maemo])
4468 VLC_ADD_PLUGIN([swscale_maemo])
4469 AC_DEFINE([BUILD_MAEMO], 1, [Define if you are using Maemo interfaces])
4470 ALIASES="${ALIASES} mvlc"
4472 AS_IF([test "${enable_maemo}" = "yes"],[
4473 AC_MSG_ERROR([Hildon libraries not found])
4478 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4484 [ --enable-qt4 QT 4 support (default enabled) ],, [
4485 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4487 AS_IF([test "${enable_qt4}" != "no"], [
4488 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4489 VLC_ADD_PLUGIN([qt4])
4490 AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
4491 ALIASES="${ALIASES} qvlc"
4492 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"], [
4493 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4495 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4497 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4498 AC_SUBST(QT4LOCALEDIR)
4499 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4500 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4501 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4502 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4504 AS_IF([test "${enable_qt4}" = "yes"],[
4505 AC_MSG_ERROR([Qt 4 library not found])
4507 AC_MSG_WARN([Qt 4 library not found])
4512 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4515 dnl WinCE GUI module
4517 AC_ARG_ENABLE(wince,
4518 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4519 if test "${enable_wince}" != "no"; then
4520 if test "${SYS}" = "mingwce"; then
4521 VLC_ADD_PLUGIN([wince])
4522 VLC_ADD_CXXFLAGS([wince],[])
4523 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4525 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4526 elif test "${SYS}" = "mingw32"; then
4527 VLC_ADD_CXXFLAGS([wince],[])
4528 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4530 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4535 dnl Simple test for skins2 dependency
4537 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4538 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.])
4542 dnl Opie QT embedded module
4545 [ --enable-opie Qt embedded interface support (default disabled)],
4546 [if test "${enable_opie}" = "yes"; then
4548 [ --with-qte=PATH Qt Embedded headers and libraries])
4549 if test "${with_qte}" != "no" -a -n "${with_qte}"
4551 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4552 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])
4554 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4555 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4557 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4558 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4559 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4561 CPPFLAGS="${CPPFLAGS_save}"
4563 VLC_ADD_PLUGIN([opie])
4565 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4566 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4567 if test "${with_qte}" != "no" -a -n "${with_qte}"
4569 MOC=${with_qte}/bin/moc
4571 MOC=${QTDIR}/bin/moc
4576 dnl MacOS X video output/gui modules
4578 AC_ARG_ENABLE(macosx,
4579 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
4580 if test "x${enable_macosx}" = "xyes"
4582 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4583 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4584 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4585 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4586 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4587 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4588 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4589 VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4590 VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4592 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4593 VLC_ADD_LDFLAGS([macosx qtcapture], [-Wl,-framework,QTKit])
4594 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4595 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4596 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
4597 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4598 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4600 VLC_ADD_PLUGIN([access_eyetv])
4601 VLC_ADD_PLUGIN([qtcapture])
4602 VLC_ADD_PLUGIN([macosx])
4603 VLC_ADD_PLUGIN([minimal_macosx])
4604 VLC_ADD_PLUGIN([opengllayer])
4611 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4612 if test "${enable_qnx}" != "no"
4614 AC_CHECK_HEADERS(Ph.h, [
4615 VLC_ADD_PLUGIN([qnx])
4616 VLC_ADD_LIBS([qnx],[-lasound -lph])
4623 AC_ARG_ENABLE(ncurses,
4624 [ --disable-ncurses ncurses interface support (default enabled)],
4625 [if test "${enable_ncurses}" != "no"; then
4626 AC_CHECK_HEADER(ncurses.h,
4627 [AC_CHECK_LIB(ncursesw, mvprintw,
4628 [VLC_ADD_PLUGIN([ncurses])
4629 VLC_ADD_LIBS([ncurses],[-lncursesw])
4630 ALIASES="${ALIASES} nvlc"
4631 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4632 AC_CHECK_LIB(ncursesw, tgetent, [],
4633 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4634 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4635 [AS_IF([test "x${enable_ncurses}" != "x"],
4636 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4642 [AC_CHECK_LIB( ncurses, mvprintw,
4643 [VLC_ADD_PLUGIN([ncurses])
4644 ALIASES="${ALIASES} nvlc"
4645 VLC_ADD_LIBS([ncurses],[-lncurses])
4646 AC_CHECK_LIB(ncurses, tgetent, [],
4647 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4648 [AS_IF([test "x${enable_ncurses}" != "x"],
4649 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4652 [AS_IF([test "x${enable_ncurses}" != "x"], [
4653 AC_MSG_ERROR([libncurses not found])])]
4664 [ --enable-xosd xosd interface support (default disabled)])
4665 if test "${enable_xosd}" = "yes"
4667 AC_CHECK_HEADERS(xosd.h,
4668 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4669 VLC_ADD_PLUGIN([xosd])
4670 VLC_ADD_LIBS([xosd],[-lxosd])
4676 dnl Framebuffer (overlay) plugin
4678 AC_ARG_ENABLE(fbosd,
4679 [ --enable-fbosd fbosd interface support (default disabled)])
4680 if test "${enable_fbosd}" = "yes"
4682 AC_CHECK_HEADERS(linux/fb.h, [
4683 VLC_ADD_PLUGIN([fbosd])
4688 dnl Visualisation plugin
4690 AC_ARG_ENABLE(visual,
4691 [ --enable-visual visualisation plugin (default enabled)])
4692 if test "${enable_visual}" != "no"
4694 VLC_ADD_PLUGIN([visual])
4698 dnl goom visualization plugin
4701 [ --enable-goom goom visualisation plugin (default disabled)])
4702 if test "${enable_goom}" = "yes"
4704 AC_ARG_WITH(goom-tree,
4705 [ --with-goom-tree=PATH goom tree for static linking (required)])
4708 dnl test for --with-goom-tree
4710 if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4711 AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4712 real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4713 if test -z "${real_goom_tree}"; then
4714 dnl The given directory can't be found
4716 AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4718 if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4719 AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4720 VLC_ADD_PLUGIN([goom])
4721 VLC_ADD_LIBS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4722 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4724 dnl The given libgoom2 wasn't built, try to look for the old goom
4726 AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4727 if test -f "${real_goom_tree}/libgoom.a"; then
4728 AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4729 VLC_ADD_PLUGIN([goom])
4730 VLC_ADD_LIBS([goom],[-L${real_goom_tree} -lgoom])
4731 VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4733 dnl The given libgoom wasn't built
4735 AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4739 AC_CHECK_HEADERS(goom/goom.h, [
4740 LDFLAGS="${LDFLAGS_save} ${LIBS_goom}"
4741 AC_CHECK_LIB(goom2, goom_init, [
4742 VLC_ADD_PLUGIN([goom])
4743 VLC_ADD_LIBS([goom],[-lgoom2])
4745 AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4747 LDFLAGS="${LDFLAGS_save}"
4753 dnl libprojectM visualization plugin
4755 PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto])
4758 dnl AtmoLight (homebrew AmbiLight)
4760 if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then
4762 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew philips ambilight)
4763 (default enabled)]))
4764 if test "${enable_atmo}" != "no"; then
4766 VLC_ADD_PLUGIN([atmo])
4772 dnl Bonjour services discovery
4774 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4780 [ --enable-lirc lirc support (default disabled)])
4781 if test "${enable_lirc}" = "yes"
4783 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4784 if test "${have_lirc}" = "true"
4786 VLC_ADD_PLUGIN([lirc])
4787 VLC_ADD_LIBS([lirc],[-llirc_client])
4792 AC_ARG_WITH(,[Misc options:])
4797 AC_ARG_ENABLE(libgcrypt,
4798 [ --disable-libgcrypt libgcrypts support (default enabled)])
4799 AS_IF([test "${enable_libgcrypt}" != "no"], [
4800 AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"])
4802 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4803 AS_IF([test "${have_libgcrypt}" = "yes"],[
4804 VLC_ADD_LIBS([rtp stream_out_rtp], [${LIBGCRYPT_LIBS}])
4807 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
4812 AC_ARG_ENABLE(gnutls,
4813 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4815 AS_IF([test "${enable_gnutls}" != "no"], [
4816 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4817 VLC_ADD_PLUGIN([gnutls])
4818 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4819 AS_IF([test "${SYS}" = "mingw32"], [
4820 dnl pkg-config --libs gnutls omits these
4821 VLC_ADD_LIBS([gnutls], [-lz])
4822 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4824 dnl The GnuTLS plugin invokes gcry_control directly.
4825 AS_IF([test "${have_libgcrypt}" = "yes"],[
4826 VLC_ADD_LIBS([gnutls], [${LIBGCRYPT_LIBS}])
4827 VLC_ADD_CFLAGS([gnutls], [${LIBGCRYPT_CFLAGS}])
4829 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4831 AS_IF([test "${enable_gnutls}" = "yes"], [
4832 AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
4839 dnl RemoteOSD plugin (VNC client as video filter)
4841 AC_ARG_ENABLE(remoteosd,
4842 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4844 AS_IF([test "${enable_remoteosd}" != "no"], [
4845 AS_IF([test "${have_libgcrypt}" = "yes"],[
4846 VLC_ADD_PLUGIN([remoteosd])
4847 VLC_ADD_LIBS([remoteosd], ${LIBGCRYPT_LIBS})
4848 VLC_ADD_CFLAGS([remoteosd], ${LIBGCRYPT_CFLAGS})
4850 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4858 AC_MSG_CHECKING([whether to enable RAOP plugin])
4859 AS_IF([test "${have_libgcrypt}" = "yes"], [
4861 VLC_ADD_PLUGIN([stream_out_raop])
4862 VLC_ADD_LIBS([stream_out_raop], [${LIBGCRYPT_LIBS} -lgpg-error])
4863 VLC_ADD_CFLAGS([stream_out_raop], [${LIBGCRYPT_CFLAGS}])
4866 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4871 dnl update checking system
4873 AC_ARG_ENABLE(update-check,
4874 [ --enable-update-check update checking system (default disabled)])
4875 if test "${enable_update_check}" = "yes"
4877 if test "${have_libgcrypt}" != "yes"
4879 AC_MSG_ERROR([libgcrypt is required for update checking system])
4881 VLC_ADD_LIBS([libvlccore], [${LIBGCRYPT_LIBS}])
4882 VLC_ADD_CFLAGS([libvlccore], [${LIBGCRYPT_CFLAGS}])
4883 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4888 dnl Endianness check
4891 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4892 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4896 AC_SUBST(DEFS_BIGENDIAN)
4899 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4902 AC_ARG_ENABLE(loader,
4903 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4904 (default disabled)]))
4905 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4906 AS_IF([test "${enable_loader}" = "yes"],
4907 [ VLC_ADD_PLUGIN([dmo])
4908 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4909 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4910 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4911 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4912 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4913 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4914 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4915 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4918 AC_ARG_WITH(,[Components:])
4924 [ --enable-vlc build the VLC media player (default enabled)])
4925 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4928 dnl Microsoft ActiveX support
4931 AC_ARG_ENABLE(activex,
4932 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4933 (default enabled on Win32)]))
4934 AC_ARG_WITH(wine-sdk-path,
4935 [ --with-wine-sdk-path=PATH path to wine sdk])
4936 if test "${enable_activex}" != "no"
4938 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4940 AC_CHECK_PROGS(MIDL, [midl], no)
4941 if test "${with_wine_sdk_path}" != ""
4943 WINE_SDK_PATH=${with_wine_sdk_path}
4944 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4949 AC_CHECK_HEADERS(ole2.h,
4950 [AC_CHECK_HEADERS(olectl.h,
4951 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4952 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4953 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4954 AC_CHECK_HEADERS(objsafe.h,
4955 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4963 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4965 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4967 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4972 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4973 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4974 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4975 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4976 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4982 AC_ARG_ENABLE(mozilla,
4983 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4984 (default disabled)]))
4985 AC_ARG_WITH(mozilla-sdk-path,
4986 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4987 AC_ARG_WITH(mozilla-pkg,
4988 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4990 if test "${enable_mozilla}" = "yes"
4992 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4995 dnl As we want to do a loop due to the number of name possible for the .pc
4996 dnl we can't use the pkg-config macros.
4998 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4999 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
5000 AC_MSG_NOTICE([Checking for Mozilla])
5002 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
5006 if test -n "$PKG_CONFIG"; then
5007 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
5008 echo "Trying to find $i.pc files" >&5
5009 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
5011 echo "Using $i.pc files." >&5
5012 echo "Using $i.pc files." >&6
5014 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
5015 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
5021 AS_IF( [test $found = 1],[
5022 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
5023 MOZILLA_REQUIRED_HEADERS=1
5024 AC_CHECK_HEADERS([npfunctions.h])
5025 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5026 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5031 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
5032 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
5034 MOZILLA_REQUIRED_HEADERS=
5036 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
5037 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
5038 AS_IF([ test "${SYS}" != "darwin"],[
5039 PKG_CHECK_MODULES(XPM, [xpm xt],[
5040 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
5042 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
5046 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
5047 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
5048 VLC_ADD_PLUGIN([mozilla])
5049 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5051 CPPFLAGS="${CPPFLAGS_save}"
5054 AC_PATH_PROGS(MOZILLA_CONFIG,
5055 [mozilla-config seamonkey-config xulrunner-config],
5057 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
5060 dnl pkg-config failed but we might have found a mozilla-config
5061 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
5062 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5063 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5064 AC_CHECK_LIB(Xt,XtStrings,
5066 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5067 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
5070 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
5072 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
5073 LDFLAGS="${LDFLAGS_save}"
5077 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5078 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
5079 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5080 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5081 MOZILLA_REQUIRED_HEADERS=1
5082 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5083 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5084 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5089 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5091 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5093 MOZILLA_REQUIRED_HEADERS=
5094 CPPFLAGS="${CPPFLAGS_save}"
5095 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5097 dnl End of moz_sdk = ""
5099 dnl special case for mingw32
5100 if test "${SYS}" = "mingw32"
5102 AC_CHECK_TOOL(CYGPATH, cygpath, "")
5103 dnl latest gecko sdk does not have an xpcom directory
5104 if test -d "${with_mozilla_sdk_path}/xpcom"; then
5105 mozilla_sdk_xpcom="/xpcom"
5109 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5110 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5111 MOZILLA_REQUIRED_HEADERS=1
5112 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
5113 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
5114 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
5119 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
5121 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
5123 MOZILLA_REQUIRED_HEADERS=
5125 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
5126 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])
5127 if ${need_xpcom_libs}; then
5128 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])
5129 if test "${SYS}" = "mingw32"; then
5130 dnl latest gecko sdk does not have embedstring
5131 if test -d "${real_mozilla_sdk}/embedstring/bin"
5133 VLC_ADD_LIBS([mozilla],[-lembedstring])
5137 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5139 if test -n "${CYGPATH}"; then
5140 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5142 CPPFLAGS="${CPPFLAGS_save}"
5146 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5148 dnl Tests for Osso and Xsp
5149 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
5150 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
5151 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
5152 VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
5155 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5156 VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_XSP])
5157 VLC_ADD_LIBS([x11 xvideo xvmc glx],[-lXsp])
5163 AC_ARG_ENABLE(testsuite,
5164 [ --enable-testsuite build test modules (default disabled)])
5165 if test "${enable_testsuite}" = "yes"
5167 TESTS="test1 test2 test3 test4"
5169 dnl we define those so that bootstrap sets the right linker
5170 VLC_ADD_CXXFLAGS([test2],[])
5171 VLC_ADD_OBJCFLAGS([test3],[])
5172 dnl this one is needed until automake knows what to do
5173 VLC_ADD_LIBS([test3],[-lobjc])
5175 VLC_ADD_PLUGIN([test1])
5176 VLC_ADD_PLUGIN([test2])
5177 VLC_ADD_PLUGIN([test3])
5178 VLC_ADD_PLUGIN([test4])
5184 if test "${NEED_GTK_MAIN}" != "no"
5186 VLC_ADD_PLUGIN([gtk_main])
5187 VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5188 VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5191 if test "${NEED_GNOME_MAIN}" != "no"
5193 VLC_ADD_PLUGIN([gnome_main])
5194 VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5195 VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5198 if test "${NEED_GTK2_MAIN}" != "no"
5200 VLC_ADD_PLUGIN([gtk2_main])
5201 VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5202 VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5203 VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5204 VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5207 if test "${NEED_GNOME2_MAIN}" != "no"
5209 VLC_ADD_PLUGIN([gnome2_main])
5210 VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5211 VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5217 if test "${NEED_QTE_MAIN}" != "no"
5219 VLC_ADD_PLUGIN([qte_main])
5220 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5221 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5222 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5226 dnl Plugin and builtin checks
5230 dnl Automagically disable plugins if there is no system support for
5231 dnl dynamically loadable files (.so, .dll, .dylib).
5232 dnl don't forget vlc-win32 still can load .dll as plugins
5233 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5234 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5238 AS_IF([test "${plugin_support}" != "no"], [
5239 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5243 dnl Pic and shared libvlc stuff
5245 AS_IF([test "${SYS}" = "mingw32"], [
5246 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5247 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5251 dnl Stuff used by the program
5253 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5254 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5255 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5256 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5257 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5258 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5259 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5260 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5261 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5262 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5263 AC_SUBST(COPYRIGHT_MESSAGE)
5264 AC_SUBST(VERSION_MESSAGE)
5265 AC_SUBST(VERSION_MAJOR)
5266 AC_SUBST(VERSION_MINOR)
5267 AC_SUBST(VERSION_REVISION)
5268 AC_SUBST(VERSION_EXTRA)
5269 AC_SUBST(COPYRIGHT_YEARS)
5270 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5271 if test "${build_os}" = "cygwin"
5273 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5275 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5277 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5278 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5279 dnl Win32 need s a numerical version_extra.
5280 case $( echo ${VERSION_EXTRA}|wc -m ) in
5281 "1") VERSION_EXTRA_RC="0";;
5282 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5283 *) VERSION_EXTRA_RC="99"
5285 AC_SUBST(VERSION_EXTRA_RC)
5287 dnl Handle substvars that use $(top_srcdir)
5289 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5290 AC_SUBST(VLC_CONFIG)
5291 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5299 dnl Sort the modules list
5301 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5304 dnl Create the vlc-config script
5306 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5309 dnl Configuration is finished
5319 AC_SUBST(MOZILLA_SDK_PATH)
5320 AC_SUBST(WINE_SDK_PATH)
5322 AC_SUBST(AM_CPPFLAGS)
5323 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5324 AC_SUBST(FILE_LIBVLCCORE_DLL)
5325 AC_SUBST(FILE_LIBVLC_DLL)
5327 dnl Create vlc-config.in
5328 VLC_OUTPUT_VLC_CONFIG_IN
5331 extras/package/win32/vlc.win32.nsi
5332 extras/package/macosx/Info.plist
5333 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5334 extras/package/macosx/plugin/Info.plist
5335 extras/package/macosx/plugin/InstallerInfo.plist
5337 projects/activex/Makefile
5338 projects/activex/axvlc.inf
5340 extras/package/ipkg/Makefile
5341 libs/loader/Makefile
5345 projects/mozilla/Makefile
5348 projects/activex/axvlc_rc.rc
5349 projects/mozilla/npvlc_rc.rc
5350 projects/mozilla/vlc.r
5351 projects/mozilla/install.js
5353 share/vlc_win32_rc.rc
5354 share/libvlc_win32_rc.rc
5360 modules/access/Makefile
5361 modules/access/bd/Makefile
5362 modules/access/bda/Makefile
5363 modules/access/dshow/Makefile
5364 modules/access/dvb/Makefile
5365 modules/access/mms/Makefile
5366 modules/access/cdda/Makefile
5367 modules/access/rtp/Makefile
5368 modules/access/rtsp/Makefile
5369 modules/access/rtmp/Makefile
5370 modules/access/vcd/Makefile
5371 modules/access/vcdx/Makefile
5372 modules/access/screen/Makefile
5373 modules/access/zip/Makefile
5374 modules/access_output/Makefile
5375 modules/audio_filter/Makefile
5376 modules/audio_filter/channel_mixer/Makefile
5377 modules/audio_filter/converter/Makefile
5378 modules/audio_filter/resampler/Makefile
5379 modules/audio_filter/spatializer/Makefile
5380 modules/audio_mixer/Makefile
5381 modules/audio_output/Makefile
5382 modules/codec/Makefile
5383 modules/codec/avcodec/Makefile
5384 modules/codec/cmml/Makefile
5385 modules/codec/dmo/Makefile
5386 modules/codec/shine/Makefile
5387 modules/codec/subtitles/Makefile
5388 modules/codec/spudec/Makefile
5389 modules/codec/wmafixed/Makefile
5390 modules/codec/xvmc/Makefile
5391 modules/control/Makefile
5392 modules/control/http/Makefile
5393 modules/control/globalhotkeys/Makefile
5394 modules/demux/Makefile
5395 modules/demux/asf/Makefile
5396 modules/demux/avformat/Makefile
5397 modules/demux/avi/Makefile
5398 modules/demux/mkv/Makefile
5399 modules/demux/mp4/Makefile
5400 modules/demux/mpeg/Makefile
5401 modules/demux/playlist/Makefile
5402 modules/gui/Makefile
5403 modules/gui/beos/Makefile
5404 modules/gui/pda/Makefile
5405 modules/gui/macosx/Makefile
5406 modules/gui/maemo/Makefile
5407 modules/gui/minimal_macosx/Makefile
5408 modules/gui/qnx/Makefile
5409 modules/gui/qt4/Makefile
5410 modules/gui/skins2/Makefile
5411 modules/gui/wince/Makefile
5412 modules/meta_engine/Makefile
5413 modules/misc/Makefile
5414 modules/misc/dummy/Makefile
5415 modules/misc/lua/Makefile
5416 modules/misc/memcpy/Makefile
5417 modules/misc/notify/Makefile
5418 modules/misc/testsuite/Makefile
5419 modules/misc/playlist/Makefile
5420 modules/misc/osd/Makefile
5421 modules/misc/stats/Makefile
5422 modules/misc/xml/Makefile
5423 modules/misc/probe/Makefile
5424 modules/mux/Makefile
5425 modules/mux/mpeg/Makefile
5426 modules/packetizer/Makefile
5427 modules/services_discovery/Makefile
5428 modules/stream_filter/Makefile
5429 modules/stream_out/Makefile
5430 modules/stream_out/transrate/Makefile
5431 modules/video_chroma/Makefile
5432 modules/video_filter/Makefile
5433 modules/video_filter/atmo/Makefile
5434 modules/video_filter/dynamicoverlay/Makefile
5435 modules/video_output/Makefile
5436 modules/video_output/msw/Makefile
5437 modules/video_output/qte/Makefile
5438 modules/video_output/x11/Makefile
5439 modules/visualization/Makefile
5440 modules/visualization/visual/Makefile
5443 dnl Generate makefiles
5446 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5447 # not provided with the source
5448 ${SHELL} ./config.status --file=vlc-config
5449 chmod 0755 vlc-config
5451 /bin/echo -n "Enabled modules: "
5452 ./vlc-config --list plugin
5454 dnl Shortcut to nice compile message
5456 echo '#! /bin/sh' >compile
5457 echo rm -f .error\$\$ >>compile
5458 echo ERROR=0 >>compile
5459 echo export PATH=$PATH LANG=C >>compile
5460 echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5461 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5462 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5463 echo rm -f .error\$\$ >>compile
5464 echo exit \$ERROR >>compile
5468 libvlc configuration
5469 --------------------
5470 version : ${VERSION}
5472 architecture : ${ARCH}
5474 test "${enable_debug}" = "yes" && printf "debug "
5475 test "${enable_cprof}" = "yes" && printf "cprof "
5476 test "${enable_gprof}" = "yes" && printf "gprof "
5477 test "${enable_optimizations}" = "yes" && printf "optim "
5478 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5480 if test "${enable_vlc}" != "no"; then
5481 echo "vlc aliases :${ALIASES}"
5483 echo "build vlc executable : no"
5485 echo "plugins/bindings :${PLUGINS_BINDINGS}
5487 You can tune the compiler flags in vlc-config.
5488 To build vlc and its plugins, type \`./compile' or \`make'.
5490 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5492 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5494 echo " FFmpeg will be REALLY slow."
5495 echo " VLC WILL NOT PERFORM AS EXPECTED."