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 # Disable with "./configure --disable-silent-rules" or "make V=1"
29 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
32 dnl Too many people are not aware of maintainer mode:
33 dnl If you want to use it, you definitely know what you are doing, so
34 dnl you can specify "--disable-maintainer-mode". But if you want the default
35 dnl automake behavior, you've likely never heard of maintainer mode, so we
36 dnl can't expect you to enable it manually.
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39 [enable_maintainer_mode="yes"])
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
49 vlclibdir="\${libdir}/\${PKGDIR}"
53 dnl Deprecated options
54 dnl to notify packagers that stuff has changed
56 AC_ARG_ENABLE(python-bindings,
57 [ --enable-python-bindings Always fails for historical reasons)],,
58 [enable_python_bindings="no"])
59 AS_IF([test "${enable_python_bindings}" != "no"], [
60 AC_MSG_ERROR([Python bindings are now built from a separate source package])
63 AC_ARG_ENABLE(java-bindings,
64 [ --enable-java-bindings Always fails for historical reasons],,
65 [enable_java_bindings="no"])
66 AS_IF([test "${enable_java_bindings}" != "no"], [
67 AC_MSG_ERROR([Java bindings are now built from a separate source package])
79 AC_USE_SYSTEM_EXTENSIONS
80 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
86 _AM_DEPENDENCIES([OBJC])
92 dnl Find the right ranlib, even when cross-compiling
93 AC_CHECK_TOOL(RANLIB, ranlib, :)
94 AC_CHECK_TOOL(STRIP, strip, :)
95 AC_CHECK_TOOL(AR, ar, :)
96 AC_CHECK_TOOL(LD, ld, :)
97 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
99 dnl Check for compiler properties
104 dnl Allow binary package maintainer to pass a custom string to avoid
106 AC_ARG_WITH(binary-version,
107 AS_HELP_STRING([--with-binary-version=STRING],
108 [To avoid plugins cache problem between binary version]),[],[])
109 AS_IF([test -n "${with_binary_version}"],[
110 AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
111 [Binary specific version])
116 dnl Check for the contrib directory
119 [ --without-contrib do not use the libraries in CONTRIB_DIR],[],[])
120 AS_IF([test "${with_contrib}" != "no"],[
121 AC_ARG_VAR([CONTRIB_DIR], [directory containing pre-built contrib, overriding extras/contrib])
122 if test -z "$CONTRIB_DIR"
124 topdir="`dirname $0`"
125 if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
126 topdir="`pwd`/$topdir"
128 CONTRIB_DIR=${topdir}/extras/contrib
130 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
131 AS_IF([test -d ${CONTRIB_DIR}/lib],[
132 AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
133 if test "${with_contrib}" = "yes"; then
135 AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
138 AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
142 export PATH=${CONTRIB_DIR}/bin:$PATH
143 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
144 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
145 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
146 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
147 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
148 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
149 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
150 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
151 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
152 export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
154 export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
156 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
157 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
159 if test -z $with_mozilla_sdk_path; then
160 with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
162 if test -z $with_cyberlink_tree; then
163 with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
166 if test ".`uname -s`" = ".Darwin"; then
167 export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
168 export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
169 elif test ".`uname -s`" = ".BeOS"; then
170 export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
171 export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
179 dnl Set default values
181 LDFLAGS_vlc="${LDFLAGS}"
184 dnl Check the operating system
195 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
196 VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
200 CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
203 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
204 CPPFLAGS="${CPPFLAGS_save}"
205 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
206 LDFLAGS="${LDFLAGS_save}"
212 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
213 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
214 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
215 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
216 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
217 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
218 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
219 VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
220 VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
221 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
222 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
223 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
224 AC_ARG_ENABLE(macosx-defaults,
225 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
226 if test "x${enable_macosx_defaults}" != "xno"
229 echo "Building with Mac OS X defaults:"
230 with_macosx_version_min="10.5"
231 echo " Assuming --with-macosx-version-min=10.5"
232 with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
233 echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
235 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
236 ac_default_prefix="${build_dir}/vlc_install_dir"
238 echo " Assuming --enable-macosx"
240 echo " Assuming --enable-faad"
242 echo " Assuming --enable-flac"
244 echo " Assuming --enable-theora"
246 echo " Assuming --enable-shout"
248 echo " Assuming --enable-cddax"
250 echo " Assuming --enable-vcdx"
252 echo " Assuming --enable-caca"
254 echo " Assuming --enable-ncurses"
256 echo " Assuming --enable-twolame"
257 enable_realrtsp="yes"
258 echo " Assuming --enable-realrtsp"
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, AC_MSG_ERROR([VLC requires -mno-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 aout_sdl vout_sdl],[-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 dnl DEP and ASLR options
361 AC_ARG_ENABLE(peflags,
362 [ --enable-peflags peflags use (default enabled)])
363 if test "${enable_peflags}" != "no"
365 AC_CHECK_TOOL(PEFLAGS, peflags, :)
368 if test "${SYS}" = "mingwce"; then
369 # add ws2 for closesocket, select, recv
370 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 ts telnet],[-lws2])
371 VLC_ADD_LIBS([libvlccore],[-lmmtimer])
385 CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
386 CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
387 VLC_ADD_CXXFLAGS([beos],[])
388 VLC_ADD_LIBS([vlc libvlccore logger],[-lbe])
389 VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
390 VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
391 VLC_ADD_LIBS([access_file],[-lpoll])
392 LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
394 if test -f /boot/beos/system/lib/libbind.so; then
395 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
397 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet])
400 dnl Ugly check for Zeta
401 if test -f /boot/beos/system/lib/libzeta.so; then
402 VLC_ADD_LIBS([beos],[-lzeta])
409 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
410 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
411 AM_CONDITIONAL(HAVE_LINUX, [test "${SYS}" = "linux"])
412 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
413 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
414 AM_CONDITIONAL(USE_PEFLAGS, [test "${enable_peflags}" = "yes"])
417 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
418 dnl for program foo on win32
420 case "${build_os}" in
422 ac_executable_extensions=".exe"
430 dnl It's very bad, but our former custom system was worst
434 dnl override platform specific check for dependent libraries
435 dnl otherwise libtool linking of shared libraries will
436 dnl fail on anything other than pass_all.
437 AC_CACHE_VAL(lt_cv_deplibs_check_method,
438 [lt_cv_deplibs_check_method=pass_all])
441 dnl AC_DISABLE_FAST_INSTALL
444 m4_undefine([AC_PROG_F77])
445 m4_defun([AC_PROG_F77],[])
448 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
449 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
451 lt_cv_deplibs_check_method=pass_all
457 AM_GNU_GETTEXT_VERSION([0.17])
458 AM_GNU_GETTEXT([external])
459 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
465 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
466 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
468 dnl Check for broken versions of mingw-runtime compatability library
469 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
470 AC_MSG_CHECKING(for broken mingw-runtime)
473 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
474 # error Attempting to use mingw-runtime with broken vsnprintf support
479 AC_MSG_RESULT([present])
480 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
482 dnl force use of mingw provided c99 *printf over msvcrt
483 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
484 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
487 dnl Check for the need to include the mingwex lib for mingw32
488 if test "${SYS}" = "mingw32"
490 AC_CHECK_LIB(mingwex,opendir,
491 AC_CHECK_LIB(mingw32,opendir,,
492 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
496 dnl Check for fnative-struct or mms-bitfields support for mingw32
497 if test "${SYS}" = "mingw32"
499 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
500 [ac_cv_c_mms_bitfields],
501 [CFLAGS="${CFLAGS_save} -mms-bitfields"
502 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
503 if test "${ac_cv_c_mms_bitfields}" != "no"; then
504 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
505 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
507 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
508 [ac_cv_c_fnative_struct],
509 [CFLAGS="${CFLAGS_save} -fnative-struct"
510 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
511 if test "${ac_cv_c_fnative_struct}" != "no"; then
512 CFLAGS_save="${CFLAGS_save} -fnative-struct";
513 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
517 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
520 dnl Check for fvtable-thunks support for mingw32
521 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
524 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
525 [ac_cv_cxx_fvtable_thunks],
526 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
527 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
528 ac_cv_cxx_fvtable_thunks=no)])
529 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
530 CXXFLAGS_mingw32_special="-fvtable-thunks"
533 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
538 dnl Buggy glibc prevention. Purposedly not cached.
539 dnl See sourceware.org bugs 5058 and 5443.
540 dnl Ubuntu alone has 20 bug numbers for this...
542 AC_MSG_CHECKING(for buggy GNU/libc versions)
545 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
546 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
547 # error GNU/libc with dcgettext killer bug!
550 AC_MSG_RESULT([not present])
552 AC_MSG_RESULT([found])
553 AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
554 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
555 work-around for this. Check with your distribution vendor on how to update the
556 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
557 be sure to not use LibVLC from other applications/wrappers.])
559 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
563 dnl Plugin compilation stuff
567 dnl The -DSYS_FOO flag
568 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
570 dnl Check for system libs needed
573 dnl Check for usual libc functions
574 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale])
575 AC_CHECK_FUNCS(fcntl)
576 AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab])
577 AC_CHECK_FUNCS([stricmp strnicmp])
578 AC_CHECK_FUNCS(fdatasync,,
579 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
582 dnl Check for non-standard system calls
583 AC_CHECK_FUNCS([vmsplice eventfd fstatfs])
585 AH_BOTTOM([#include <vlc_fixups.h>])
587 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
589 dnl Check for setlocal and langinfo
590 AC_CHECK_FUNCS(setlocale)
591 AC_CHECK_HEADERS(langinfo.h)
592 AC_CHECK_FUNCS(nl_langinfo)
594 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
595 [AC_TRY_LINK([#include <langinfo.h>],
596 [char* cs = nl_langinfo(CODESET);],
597 ac_cv_langinfo_codeset=yes,
598 ac_cv_langinfo_codeset=no)
600 if test ${ac_cv_langinfo_codeset} = yes; then
601 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
602 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
606 AC_CHECK_FUNCS(connect,,[
607 AC_CHECK_LIB(socket,connect,[
608 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
609 SOCKET_LIBS="-lsocket"
612 AC_SUBST(SOCKET_LIBS)
614 AC_CHECK_FUNCS(send,,[
615 AC_CHECK_LIB(socket,send,[
616 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])
621 dnl Check for socklen_t
622 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
623 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
624 ac_cv_type_socklen_t,
625 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
626 [#include <sys/types.h>
628 # include <winsock2.h>
629 # include <ws2tcpip.h>
631 # include <sys/socket.h>
632 #endif]], [[socklen_t len; len = 0;]])],
633 ac_cv_type_socklen_t=yes,
634 ac_cv_type_socklen_t=no)])
635 AS_IF([test "$ac_cv_type_socklen_t" = no],
636 [AC_DEFINE(socklen_t, int)])
638 dnl Check for struct sockaddr_storage
639 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
640 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
641 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
643 [#include <sys/types.h>
644 #if defined( UNDER_CE )
645 # include <winsock2.h>
646 #elif defined( WIN32 )
647 # include <winsock2.h>
649 # include <sys/socket.h>
650 #endif], [struct sockaddr_storage addr;],
651 ac_cv_struct_sockaddr_storage=yes,
652 ac_cv_struct_sockaddr_storage=no)])
653 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
654 AC_DEFINE(sockaddr_storage, sockaddr)
655 AC_DEFINE(ss_family, sa_family)
658 dnl getaddrinfo, getnameinfo and gai_strerror check
659 dnl -lnsl and -lsocket are needed on Solaris;
660 dnl we purposedly make the test fail on Windows
662 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
663 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
665 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
668 AC_CHECK_FUNCS([getnameinfo gai_strerror])
671 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
672 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
673 [#include <sys/types.h>
674 #if defined( WIN32 ) || defined( UNDER_CE )
675 # if defined(UNDER_CE) && defined(sockaddr_storage)
676 # undef sockaddr_storage
678 # include <winsock2.h>
679 # include <ws2tcpip.h>
684 dnl Check for va_copy
685 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
687 [#include <stdarg.h>],
688 [va_list ap1, ap2; va_copy(ap1,ap2);],
689 [ac_cv_c_va_copy="yes"],
690 [ac_cv_c_va_copy="no"]))
691 if test "${ac_cv_c_va_copy}" = "yes"; then
692 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
694 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
696 [#include <stdarg.h>],
697 [va_list ap1, ap2; __va_copy(ap1,ap2);],
698 [ac_cv_c___va_copy="yes"],
699 [ac_cv_c___va_copy="no"]))
700 if test "${ac_cv_c___va_copy}" = "yes"; then
701 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
704 AC_CHECK_FUNCS(inet_aton,,[
705 AC_CHECK_LIB(resolv,inet_aton,[
706 VLC_ADD_LIBS([libvlccore],[-lresolv])
710 dnl Check for getopt (always use builtin one on win32)
711 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
715 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
716 [ # FreeBSD has a gnugetopt library for this:
717 AC_CHECK_LIB([gnugetopt],[getopt_long],
718 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
719 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
722 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
724 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
727 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
730 VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
732 AC_CHECK_LIB(m,sqrt,[
733 VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
735 AC_CHECK_LIB(m,ceil,[
736 VLC_ADD_LIBS([hotkeys mosaic],[-lm])
739 VLC_ADD_LIBS([gaussianblur],[-lm])
741 AC_CHECK_LIB(m,round,[
742 VLC_ADD_LIBS([dbus],[-lm])
744 AC_CHECK_LIB(m,sqrtf,[
745 VLC_ADD_LIBS([x264],[-lm])
747 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
749 AC_CHECK_LIB(m,lrintf, [
750 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
751 VLC_ADD_LIBS([skins2],[-lm])
754 dnl Check for dynamic plugins
755 ac_cv_have_plugins=no
758 if test "${ac_cv_have_plugins}" = "no"; then
759 AC_CHECK_HEADERS(dl.h)
760 ac_cv_my_have_shl_load=no
761 AC_CHECK_FUNC(shl_load,
762 [ac_cv_my_have_shl_load=yes,
763 AC_CHECK_LIB(dld, shl_load,
764 [ac_cv_my_have_shl_load=yes
765 VLC_ADD_LIBS([libvlccore],[-ldld])])])
766 if test "${ac_cv_my_have_shl_load}" = "yes"; then
767 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
768 ac_cv_have_plugins=yes
773 if test "${ac_cv_have_plugins}" = "no"; then
774 if test "${SYS}" = "mingw32" ; then
775 AC_CHECK_LIB(kernel32, main,
776 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
777 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
778 ac_cv_have_plugins=yes])
783 if test "${ac_cv_have_plugins}" = "no"; then
784 if test "${SYS}" = "mingwce"; then
785 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
786 ac_cv_have_plugins=yes
791 if test "${ac_cv_have_plugins}" = "no"; then
792 AC_CHECK_HEADERS(image.h)
793 AC_CHECK_FUNCS(load_add_on,
794 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
795 ac_cv_have_plugins=yes])
798 # Only test for dlopen() if the others didn't work
799 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
800 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
801 ac_cv_my_have_dlopen=no
802 AC_CHECK_FUNC(dlopen,
803 ac_cv_my_have_dlopen=yes,
804 AC_CHECK_LIB(dl, dlopen,
805 ac_cv_my_have_dlopen=yes
806 VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]),
807 AC_CHECK_LIB(svld, dlopen,
808 ac_cv_my_have_dlopen=yes
809 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
810 if test "${ac_cv_my_have_dlopen}" = "yes"; then
811 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
812 ac_cv_have_plugins=yes
816 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
817 dnl Check for pthreads - borrowed from XMMS
819 if test "${THREAD_LIB}" = "error"; then
820 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
822 if test "${THREAD_LIB}" = "error"; then
823 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
825 if test "${THREAD_LIB}" = "error"; then
826 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
828 if test "${THREAD_LIB}" = "error"; then
829 AC_CHECK_FUNCS(pthread_mutex_lock)
833 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
835 AC_CHECK_LIB(rt, clock_nanosleep, [
836 VLC_ADD_LIBS([libvlccore],[-lrt])
837 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
840 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
844 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
845 AC_CHECK_LIB(rt,nanosleep,
846 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
847 [AC_CHECK_LIB(posix4,nanosleep,
848 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
851 if ${have_nanosleep}; then
852 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
854 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
856 dnl Check for misc headers
857 AC_MSG_CHECKING(for strncasecmp in strings.h)
858 AC_EGREP_HEADER(strncasecmp,strings.h,[
860 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
861 Define if <strings.h> defines strncasecmp.)],[
864 dnl Check for headers
865 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
866 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
867 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
868 AC_CHECK_HEADERS([net/if.h], [], [],
870 #include <sys/types.h>
871 #include <sys/socket.h>
873 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
874 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
875 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
876 AC_CHECK_HEADERS(syslog.h)
877 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
881 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
882 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
883 AC_CHECK_TYPE(ssize_t,, [
884 AC_DEFINE(ssize_t, int)
888 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
889 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
891 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])
897 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
898 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
900 dnl Mac OS X and other OSes don't have declaration for nanosleep
901 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
902 AC_MSG_CHECKING(for nanosleep in time.h)
903 AC_EGREP_HEADER(nanosleep,time.h,[
905 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
906 Define if <time.h> defines nanosleep.)
910 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
912 dnl Make sure we have timespecs
913 AC_MSG_CHECKING(for timespec in sys/time.h)
914 AC_EGREP_HEADER(timespec,sys/time.h,[
916 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
917 Define if <sys/time.h> defines struct timespec.)
922 dnl Check for threads library
923 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
924 AC_CHECK_HEADERS(pthread.h)
925 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
927 dnl It seems that autoconf detects pkg-config only during the first
928 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
929 dnl it is nested within a conditional block, so it was not working right.
930 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
931 AC_ARG_VAR(PKG_CONFIG_PATH,
932 [Paths where to find .pc not at the default location])
933 PKG_PROG_PKG_CONFIG()
936 dnl Check for zlib.h and -lz along with system -lminizip if available
938 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
939 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
940 if test "${have_zlib}" = "yes"
942 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
943 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
944 AC_CHECK_HEADERS([unzip.h], [
946 MINIZIP_LIBS="-lminizip -lz"
949 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
950 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
953 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
954 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
955 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
956 VLC_ADD_PLUGIN([unzip])
957 VLC_ADD_PLUGIN([zip])
959 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
964 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
967 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
970 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
971 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
972 VLC_ADD_LIBS([screensaver libvlccore],[$DBUS_LIBS])
973 VLC_ADD_CFLAGS([screensaver libvlccore],[$DBUS_CFLAGS])
974 dnl Check for dbus control interface
975 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
976 if test "${enable_dbus_control}" != "no"
978 VLC_ADD_PLUGIN([dbus])
979 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
980 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
982 dnl Check for Telepathy
983 AC_ARG_ENABLE(telepathy,
984 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
985 if test "${enable_telepathy}" != "no"; then
986 VLC_ADD_PLUGIN([telepathy])
987 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
988 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
990 dnl Power Management Inhibiter
991 VLC_ADD_PLUGIN([inhibit])
992 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
993 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
995 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
1001 dnl build the qte plugin ?
1004 dnl Check for ntohl, etc.
1005 AC_CACHE_CHECK([for ntohl in sys/param.h],
1006 [ac_cv_c_ntohl_sys_param_h],
1007 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1008 AC_TRY_COMPILE([#include <sys/param.h>],
1009 [int meuh; ntohl(meuh);],
1010 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1011 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1012 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1014 CFLAGS="${CFLAGS_save}"
1016 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
1017 RDC_PROG_CC_FLAGS([-pipe])
1019 AC_ARG_ENABLE(warnings-as-error,
1020 AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default in debug)]),, [enable_warnings_as_error="$enable_debug"])
1021 AS_IF([test "${enable_warnings_as_error}" = "yes"], [
1022 RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
1023 missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
1024 bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
1025 overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
1027 AC_SUBST(CFLAGS_WERROR)
1029 dnl Check for various optimization flags
1030 AC_CACHE_CHECK([if \$CC accepts -Os],
1032 [CFLAGS="${CFLAGS_save} -Os"
1033 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1034 if test "${ac_cv_c_os}" != "no"; then
1035 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1037 AC_CACHE_CHECK([if \$CC accepts -O],
1039 [CFLAGS="${CFLAGS_save} -O"
1040 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1041 if test "${ac_cv_c_o}" != "no"; then
1042 if test "${ac_cv_c_o3}" = "no"; then
1043 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1048 AC_CACHE_CHECK([if \$CC accepts -O4],
1050 [CFLAGS="${CFLAGS_save} -O4"
1051 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1052 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1053 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1055 AC_CACHE_CHECK([if \$CC accepts -O3],
1057 [CFLAGS="${CFLAGS_save} -O3"
1058 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1059 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1060 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1062 AC_CACHE_CHECK([if \$CC accepts -O2],
1064 [CFLAGS="${CFLAGS_save} -O2"
1065 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1066 if test "${ac_cv_c_o2}" != "no"; then
1067 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1069 AC_CACHE_CHECK([if \$CC accepts -O],
1071 [CFLAGS="${CFLAGS_save} -O"
1072 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1073 if test "${ac_cv_c_o}" != "no"; then
1074 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1080 AC_CACHE_CHECK([if \$CC accepts -O0],
1082 [CFLAGS="${CFLAGS_save} -O0"
1083 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1084 if test "${ac_cv_c_o0}" != "no"; then
1085 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1088 dnl Check for -ffast-math
1089 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1090 [ac_cv_c_fast_math],
1091 [CFLAGS="${CFLAGS_save} -ffast-math"
1092 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1093 if test "${ac_cv_c_fast_math}" != "no"; then
1094 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1097 dnl Check for -funroll-loops
1098 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1099 if test "${SYS}" != "beos"
1101 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1102 [ac_cv_c_unroll_loops],
1103 [CFLAGS="${CFLAGS_save} -funroll-loops"
1104 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1105 if test "${ac_cv_c_unroll_loops}" != "no"; then
1106 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1110 dnl Check for -fomit-frame-pointer
1111 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1112 [ac_cv_c_omit_frame_pointer],
1113 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1114 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1115 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1116 if test "${SYS}" != "darwin"; then
1117 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1119 dnl On darwin we explicitely disable it.
1120 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1124 dnl Check for Darwin plugin linking flags
1125 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1127 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1128 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1129 if test "${ac_cv_ld_darwin}" != "no"; then
1130 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1133 dnl Checks for __attribute__(aligned()) directive
1134 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1135 [ac_cv_c_attribute_aligned],
1136 [ac_cv_c_attribute_aligned=0
1137 CFLAGS="${CFLAGS_save} -Werror"
1138 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1140 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1141 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1143 CFLAGS="${CFLAGS_save}"])
1144 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1145 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1146 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1149 dnl Check for __attribute__((packed))
1150 AC_CACHE_CHECK([for __attribute__((packed))],
1151 [ac_cv_c_attribute_packed],
1152 [ac_cv_c_attribute_packed=no
1153 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1154 [ac_cv_c_attribute_packed=yes])])
1155 if test "${ac_cv_c_attribute_packed}" != "no"; then
1156 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1162 case "${host_cpu}" in
1171 dnl Check for backtrace() support
1172 AC_CHECK_HEADERS(execinfo.h)
1173 AC_CHECK_FUNCS(backtrace)
1176 dnl Enable profiling
1178 AC_ARG_ENABLE(gprof,
1179 [ --enable-gprof gprof profiling (default disabled)])
1180 AC_ARG_ENABLE(cprof,
1181 [ --enable-cprof cprof profiling (default disabled)])
1182 test "${enable_gprof}" != "yes" && enable_gprof="no"
1183 test "${enable_cprof}" != "yes" && enable_cprof="no"
1189 VLC_ADD_PLUGIN([deinterlace])
1190 VLC_ADD_PLUGIN([yuvp])
1191 VLC_ADD_PLUGIN([invert])
1192 VLC_ADD_PLUGIN([mirror])
1193 VLC_ADD_PLUGIN([adjust])
1194 VLC_ADD_PLUGIN([transform])
1195 VLC_ADD_PLUGIN([wave])
1196 VLC_ADD_PLUGIN([ripple])
1197 VLC_ADD_PLUGIN([psychedelic])
1198 VLC_ADD_PLUGIN([gradient])
1199 VLC_ADD_PLUGIN([motionblur])
1200 VLC_ADD_PLUGIN([rv32])
1201 VLC_ADD_PLUGIN([rotate])
1202 VLC_ADD_PLUGIN([noise])
1203 VLC_ADD_PLUGIN([grain])
1204 VLC_ADD_PLUGIN([extract])
1205 VLC_ADD_PLUGIN([sharpen])
1206 VLC_ADD_PLUGIN([croppadd])
1207 VLC_ADD_PLUGIN([canvas])
1208 VLC_ADD_PLUGIN([blendbench])
1209 VLC_ADD_PLUGIN([blend])
1210 VLC_ADD_PLUGIN([scale])
1211 VLC_ADD_PLUGIN([vmem])
1212 VLC_ADD_PLUGIN([logo])
1213 VLC_ADD_PLUGIN([magnify])
1214 VLC_ADD_PLUGIN([puzzle])
1215 VLC_ADD_PLUGIN([colorthres])
1216 VLC_ADD_PLUGIN([scene])
1217 VLC_ADD_PLUGIN([yuv])
1219 ALIASES="${ALIASES} cvlc"
1222 dnl default modules that need g++
1225 VLC_ADD_PLUGIN([spatializer])
1228 if test "${SYS}" != "mingwce"; then
1229 VLC_ADD_PLUGIN([gestures])
1230 VLC_ADD_PLUGIN([rc])
1231 VLC_ADD_PLUGIN([hotkeys])
1232 VLC_ADD_PLUGIN([showintf])
1233 VLC_ADD_PLUGIN([marq])
1234 VLC_ADD_PLUGIN([podcast])
1235 VLC_ADD_PLUGIN([shout])
1236 VLC_ADD_PLUGIN([sap])
1237 VLC_ADD_PLUGIN([mediadirs])
1238 VLC_ADD_PLUGIN([fake])
1239 VLC_ADD_PLUGIN([folder])
1240 VLC_ADD_PLUGIN([rss])
1241 VLC_ADD_PLUGIN([mosaic])
1242 VLC_ADD_PLUGIN([wall])
1243 VLC_ADD_PLUGIN([motiondetect])
1244 VLC_ADD_PLUGIN([clone])
1245 VLC_ADD_PLUGIN([crop])
1246 VLC_ADD_PLUGIN([erase])
1247 VLC_ADD_PLUGIN([bluescreen])
1248 VLC_ADD_PLUGIN([alphamask])
1249 VLC_ADD_PLUGIN([gaussianblur])
1250 VLC_ADD_PLUGIN([i420_yuy2])
1251 VLC_ADD_PLUGIN([i422_yuy2])
1252 VLC_ADD_PLUGIN([i420_ymga])
1253 VLC_ADD_PLUGIN([i422_i420])
1254 VLC_ADD_PLUGIN([yuy2_i422])
1255 VLC_ADD_PLUGIN([yuy2_i420])
1256 VLC_ADD_PLUGIN([chain])
1257 VLC_ADD_PLUGIN([aout_file])
1258 VLC_ADD_PLUGIN([linear_resampler])
1259 VLC_ADD_PLUGIN([bandlimited_resampler])
1260 VLC_ADD_PLUGIN([float32_mixer])
1261 VLC_ADD_PLUGIN([spdif_mixer])
1262 VLC_ADD_PLUGIN([simple_channel_mixer])
1263 VLC_ADD_PLUGIN([dolby_surround_decoder])
1264 VLC_ADD_PLUGIN([headphone_channel_mixer])
1265 VLC_ADD_PLUGIN([normvol])
1266 VLC_ADD_PLUGIN([equalizer])
1267 VLC_ADD_PLUGIN([param_eq])
1268 VLC_ADD_PLUGIN([scaletempo])
1269 VLC_ADD_PLUGIN([a52tospdif])
1270 VLC_ADD_PLUGIN([dtstospdif])
1271 ALIASES="${ALIASES} rvlc"
1274 if test "${SYS}" = "mingwce"; then
1275 VLC_ADD_PLUGIN([chain])
1276 VLC_ADD_PLUGIN([aout_file])
1277 VLC_ADD_PLUGIN([linear_resampler])
1278 VLC_ADD_PLUGIN([bandlimited_resampler])
1279 VLC_ADD_PLUGIN([float32_mixer])
1280 VLC_ADD_PLUGIN([spdif_mixer])
1281 VLC_ADD_PLUGIN([simple_channel_mixer])
1282 VLC_ADD_PLUGIN([headphone_channel_mixer])
1283 VLC_ADD_PLUGIN([normvol])
1284 VLC_ADD_PLUGIN([a52tospdif])
1285 VLC_ADD_PLUGIN([dtstospdif])
1286 VLC_ADD_PLUGIN([i420_yuy2])
1287 VLC_ADD_PLUGIN([i422_yuy2])
1288 VLC_ADD_PLUGIN([i420_ymga])
1289 VLC_ADD_PLUGIN([i422_i420])
1290 VLC_ADD_PLUGIN([yuy2_i422])
1291 VLC_ADD_PLUGIN([yuy2_i420])
1295 dnl Some plugins aren't useful on some platforms
1297 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1298 VLC_ADD_PLUGIN([screensaver])
1299 VLC_ADD_PLUGIN([motion])
1300 VLC_ADD_PLUGIN([dynamicoverlay])
1301 VLC_ADD_PLUGIN([signals])
1302 elif test "${SYS}" != "mingwce"; then
1303 VLC_ADD_PLUGIN([ntservice])
1304 VLC_ADD_PLUGIN([access_smb])
1305 VLC_ADD_PLUGIN([dmo])
1306 VLC_ADD_PLUGIN([msn])
1307 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1308 VLC_ADD_PLUGIN([globalhotkeys])
1310 VLC_ADD_PLUGIN([win32text])
1312 if test "${SYS}" = "darwin"; then
1313 VLC_ADD_PLUGIN([quartztext])
1314 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1318 dnl Accelerated modules
1321 AC_ARG_WITH(,[Optimization options:])
1323 dnl Check for fully working MMX intrinsics
1324 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1325 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1327 [ --disable-mmx disable MMX optimizations (default auto)],,[
1328 case "${host_cpu}" in
1337 AS_IF([test "${enable_mmx}" != "no"], [
1340 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1341 [ac_cv_c_mmx_intrinsics],
1342 [CFLAGS="${CFLAGS_save} -O -mmmx"
1343 AC_TRY_COMPILE([#include <mmintrin.h>
1347 a = b = c = (__m64)frobzor;
1348 a = _mm_slli_pi16(a, 3);
1349 a = _mm_adds_pi16(a, b);
1350 c = _mm_srli_pi16(c, 8);
1351 c = _mm_slli_pi16(c, 3);
1352 b = _mm_adds_pi16(b, c);
1353 a = _mm_unpacklo_pi8(a, b);
1354 frobzor = (uint64_t)a;],
1355 [ac_cv_c_mmx_intrinsics=yes],
1356 [ac_cv_c_mmx_intrinsics=no])])
1357 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1358 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1359 [Define to 1 if MMX intrinsics are available.])
1360 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1363 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1365 [CFLAGS="${CFLAGS_save}"
1366 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1367 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1368 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1369 AC_DEFINE(CAN_COMPILE_MMX, 1,
1370 [Define to 1 inline MMX assembly is available.])
1371 VLC_ADD_PLUGIN([memcpymmx])
1372 VLC_ADD_PLUGIN([i420_rgb_mmx])
1373 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1374 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1375 VLC_ADD_PLUGIN([i420_ymga_mmx])
1378 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1379 [ac_cv_mmxext_inline],
1380 [CFLAGS="${CFLAGS_save}"
1381 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1382 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1383 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1384 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1385 [Define to 1 if MMX EXT inline assembly is available.])
1386 VLC_ADD_PLUGIN([memcpymmxext])
1390 dnl Check for fully workin SSE2 intrinsics
1391 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1392 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1394 [ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)]
1396 case "${host_cpu}" in
1405 AS_IF([test "${enable_sse}" != "no"], [
1406 ARCH="${ARCH} sse sse2"
1408 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1409 [ac_cv_c_sse2_intrinsics],
1410 [CFLAGS="${CFLAGS_save} -O -msse2"
1411 AC_TRY_COMPILE([#include <emmintrin.h>
1415 a = b = c = _mm_set1_epi64((__m64)frobzor);
1416 a = _mm_slli_epi16(a, 3);
1417 a = _mm_adds_epi16(a, b);
1418 c = _mm_srli_epi16(c, 8);
1419 c = _mm_slli_epi16(c, 3);
1420 b = _mm_adds_epi16(b, c);
1421 a = _mm_unpacklo_epi8(a, b);
1422 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1423 [ac_cv_c_sse2_intrinsics=yes],
1424 [ac_cv_c_sse2_intrinsics=no])])
1425 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1426 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1427 [Define to 1 if SSE2 intrinsics are available.])
1428 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1431 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1433 [CFLAGS="${CFLAGS_save}"
1434 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1435 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1436 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1437 AC_DEFINE(CAN_COMPILE_SSE, 1,
1438 [Define to 1 if SSE inline assembly is available.])
1441 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1442 [ac_cv_sse2_inline],
1443 [CFLAGS="${CFLAGS_save}"
1444 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1445 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1446 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1447 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1448 [Define to 1 if SSE2 inline assembly is available.])
1449 VLC_ADD_PLUGIN([i420_rgb_sse2])
1450 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1451 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1455 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1456 [ac_cv_sse3_inline],
1457 [CFLAGS="${CFLAGS_save} -O -msse3"
1458 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1459 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)
1462 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1463 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1464 [Define to 1 if SSE3 inline assembly is available.]) ])
1466 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1467 [ac_cv_ssse3_inline],
1468 [CFLAGS="${CFLAGS_save} -O -mssse3"
1469 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1470 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)
1471 ARCH="${ARCH} ssse3"
1474 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1475 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1476 [Define to 1 if SSSE3 inline assembly is available.]) ])
1479 AC_CACHE_CHECK([if $CC groks SSE4 inline assembly],
1480 [ac_cv_sse4_inline],
1481 [CFLAGS="${CFLAGS_save} -O -msse4"
1482 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1483 ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no)
1486 AS_IF([test "${ac_cv_sse4_inline}" != "no"], [
1487 AC_DEFINE(CAN_COMPILE_SSE4, 1,
1488 [Define to 1 if SSE4 inline assembly is available.]) ])
1491 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1492 [ac_cv_3dnow_inline],
1493 [CFLAGS="${CFLAGS_save}"
1494 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1495 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1496 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1497 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1498 [Define to 1 if 3D Now! inline assembly is available.])
1499 VLC_ADD_PLUGIN([memcpy3dn])
1504 [ --disable-neon disable NEON optimizations (default auto)],, [
1505 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1507 AS_IF([test "${enable_neon}" != "no"], [
1508 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1510 AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
1512 ac_cv_neon_inline="yes"
1514 ac_cv_neon_inline="no"
1518 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
1520 AC_ARG_ENABLE(altivec,
1521 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1522 AS_IF([test "${host_cpu}" = "powerpc"],
1523 [enable_altivec=yes], [enable_altivec=no])
1525 AS_IF([test "${enable_altivec}" = "yes"], [
1526 ARCH="${ARCH} altivec";
1527 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1528 [ac_cv_altivec_inline],
1529 [CFLAGS="${CFLAGS_save}"
1530 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1531 ac_cv_altivec_inline="yes",
1532 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1533 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1534 [ac_cv_altivec_inline="-Wa,-m7400"],
1535 ac_cv_altivec_inline=no)
1537 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1538 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1539 [Define to 1 if AltiVec inline assembly is available.])
1540 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1541 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1542 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1543 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1544 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1545 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1547 VLC_ADD_PLUGIN([memcpyaltivec])
1548 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1551 dnl The AltiVec C extensions
1553 dnl There are several possible cases:
1554 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1555 dnl need <altivec.h>
1556 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1557 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1558 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1559 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1560 dnl - Others: test should fail
1561 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1563 [# OS X/PPC test (gcc 4.x)
1564 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1565 AC_TRY_COMPILE([vector unsigned char foo;],
1566 [vec_ld(0, (unsigned char *)0);],
1567 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1568 [# OS X/PPC test (gcc 3.x)
1569 CFLAGS="${CFLAGS_save} -faltivec"
1570 AC_TRY_COMPILE([vector unsigned char foo;],
1571 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1572 [ac_cv_c_altivec="-faltivec"],
1573 dnl Below this are the Linux tests
1574 [# Linux/PPC test (gcc 4.x)
1575 CFLAGS="${CFLAGS_save} -maltivec"
1576 AC_TRY_COMPILE([#include <altivec.h>],
1577 [vec_ld(0, (unsigned char *)0);],
1578 [ac_cv_c_altivec="-maltivec"],
1579 [# Linux/PPC test (gcc 3.3)
1580 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1581 AC_TRY_COMPILE([#include <altivec.h>],
1582 [vec_ld(0, (unsigned char *)0);],
1584 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1585 [# Linux/PPC test (gcc 3.3)
1586 CFLAGS="${CFLAGS_save} -fvec"
1587 AC_TRY_COMPILE([#include <altivec.h>],
1588 [vec_ld(0, (unsigned char *)0);],
1589 [ac_cv_c_altivec="-fvec"],
1590 [ac_cv_c_altivec=no])
1595 CFLAGS="${CFLAGS_save}"
1597 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1598 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1601 AC_CHECK_HEADERS(altivec.h)
1602 CPPFLAGS="${CPPFLAGS_save}"
1604 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1605 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1606 [Define to 1 if C AltiVec extensions are available.])
1607 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1608 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1609 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1610 VLC_ADD_PLUGIN([memcpyaltivec])
1611 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1614 AC_CACHE_CHECK([if linker needs -framework vecLib],
1616 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1617 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1618 LDFLAGS="${LDFLAGS_save}"
1620 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1621 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1626 dnl Special arch tuning
1629 [ --with-tuning=ARCH enable special tuning for an architecture
1630 (default Pentium 2 on IA-32 and G4 on PPC)])
1631 if test -n "${with_tuning}"; then
1632 if test "${with_tuning}" != "no"; then
1633 CFLAGS_TUNING="-mtune=${with_tuning}"
1636 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1637 CFLAGS_TUNING="-march=prescott -mtune=generic"
1638 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1639 CFLAGS_TUNING="-mtune=pentium2"
1640 elif test "${host_cpu}" = "x86_64"; then
1641 CFLAGS_TUNING="-mtune=athlon64"
1642 elif test "${host_cpu}" = "powerpc"; then
1643 CFLAGS_TUNING="-mtune=G4";
1647 dnl NOTE: this can't be cached cleanly
1648 AS_IF([test "${CFLAGS_TUNING}"],
1649 [CFLAGS_save="${CFLAGS}"
1650 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1652 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1653 AC_COMPILE_IFELSE([ ],
1655 [CFLAGS_TUNING=""; tuning="no"
1656 AS_IF([test "${with_tuning}"],
1657 [AC_MSG_ERROR([requested tuning not supported])])])
1659 AC_MSG_RESULT([$tuning])
1660 CFLAGS="${CFLAGS_save}"
1666 AC_ARG_ENABLE(optimize-memory,
1667 [ --enable-optimize-memory optimize memory usage over performance])
1668 if test "${enable_optimize_memory}" = "yes"; then
1669 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1673 dnl Enable/disable optimizations
1675 AC_ARG_ENABLE(optimizations,
1676 [ --disable-optimizations disable compiler optimizations (default enabled)])
1677 if test "${enable_optimizations}" != "no"; then
1678 if test "${enable_optimize_memory}" = "yes"; then
1679 enable_optimizations="size"
1681 enable_optimizations="speed"
1688 AC_ARG_ENABLE(debug,
1689 [ --enable-debug debug mode (default disabled)])
1690 test "${enable_debug}" != "yes" && enable_debug="no"
1692 [Define to 1 if debug code should NOT be compiled])
1693 AS_IF([test "x${enable_debug}" = "xno"], [
1696 AC_CHECK_HEADERS([valgrind/valgrind.h])
1700 dnl Allow runing as root (usefull for people runing on embedded platforms)
1702 AC_ARG_ENABLE(run-as-root,
1703 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1704 AS_IF([test "${enable_run_as_root}" = "yes"],[
1705 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1706 [Define to 1 to allow runing VLC as root (uid 0).])
1712 AC_ARG_ENABLE(coverage,
1713 [ --enable-coverage build for test coverage (default disabled)],,
1714 [enable_coverage="no"])
1715 AS_IF([test "${enable_coverage}" != "no"], [
1716 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1717 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1718 LDFLAGS="-lgcov ${LDFLAGS}"
1720 CFLAGS_save="${CFLAGS}"
1721 CXXFLAGS_save="${CXXFLAGS}"
1722 LDFLAGS_save="${LDFLAGS}"
1726 dnl Enable release-specific flags
1728 AC_ARG_ENABLE(release,
1729 [ --enable-release activate extra optimizations (default disabled)])
1730 test "${enable_release}" != "yes" && enable_release="no"
1736 [ --enable-sout Stream output modules (default enabled)])
1737 AS_IF([test "${enable_sout}" != "no"], [
1738 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1740 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1744 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1745 plugins (default enabled)]))
1746 if test "${enable_lua}" != "no"
1748 PKG_CHECK_MODULES(LUA, lua5.1,
1751 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1752 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1756 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1759 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1760 [LUA_LIBS="-llua5.1"],
1761 AC_CHECK_LIB( lua51 , luaL_newstate,
1762 [LUA_LIBS="-llua51"],
1763 AC_CHECK_LIB( lua , luaL_newstate,
1766 AS_IF([test "x${enable_lua}" = "xyes"],
1767 [AC_MSG_ERROR([lua >= 5.1 not found!])],
1768 [AC_MSG_WARN([lua >= 5.1 not found!])])
1774 if test "x${have_lua}" = "xyes" ; then
1775 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1776 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1779 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1784 AC_ARG_ENABLE(httpd,
1785 [ --enable-httpd HTTP daemon (default enabled)])
1786 if test "${enable_httpd}" != "no"
1788 VLC_ADD_PLUGIN([http])
1789 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1791 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1794 dnl libproxy support
1796 AC_ARG_ENABLE(libproxy,
1797 [ --enable-libproxy libproxy support (default auto)])
1798 AS_IF([test "${enable_libproxy}" != "no"], [
1799 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1800 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1801 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1802 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1804 AS_IF([test "x${enable_libproxy}" != "x"], [
1805 AC_MSG_ERROR([libproxy could not be found on your system])
1812 dnl VideoLAN manager
1815 [ --enable-vlm VideoLAN manager (default enabled)],,
1816 [enable_vlm="${enable_sout}"])
1817 AS_IF([test "${enable_vlm}" != "no"], [
1818 AS_IF([test "${enable_sout}" = "no"], [
1819 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1821 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1822 VLC_ADD_PLUGIN([telnet])
1824 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1827 dnl Growl notification plugin
1829 AC_ARG_ENABLE(growl,
1830 [ --enable-growl growl notification plugin (default disabled)],,
1832 AS_IF([test "${enable_growl}" != "no"], [
1833 VLC_ADD_PLUGIN([growl_udp])
1834 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1835 VLC_ADD_PLUGIN([growl])
1836 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1842 dnl Libnotify notification plugin
1844 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
1847 dnl Audioscrobbler plugin
1850 AC_ARG_ENABLE(audioscrobbler,
1851 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1852 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1853 VLC_ADD_PLUGIN([audioscrobbler])
1859 AC_ARG_ENABLE(taglib,
1860 [ --disable-taglib Taglib support (default enabled) ])
1861 AS_IF([test "${enable_taglib}" != "no"],[
1862 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1863 [ VLC_ADD_PLUGIN([taglib])
1864 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1865 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1866 [AC_MSG_WARN(TagLib library not found)])
1873 AC_ARG_WITH(,[Input plugins:])
1877 if test "${enable_livedotcom}"
1879 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1881 if test "${enable_livedotcom}" = "no"
1886 AC_ARG_ENABLE(live555,
1887 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1888 if test "${enable_live555}" != "no"; then
1889 AC_ARG_WITH(live555-tree,
1890 [ --with-live555-tree=PATH live.com tree for static linking])
1893 dnl test for --with-live555-tree
1895 if test "${with_livedotcom_tree}"
1897 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1898 with_live555_tree="${with_livedotcom_tree}"
1901 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1903 CPPFLAGS_save="${CPPFLAGS}"
1904 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1905 if test "${SYS}" = "solaris"; then
1906 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1908 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1910 AC_CHECK_HEADERS(liveMedia_version.hh, [
1911 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1913 [#include <liveMedia_version.hh>
1914 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1915 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1919 [AC_MSG_RESULT([no])
1920 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1921 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1923 AC_MSG_RESULT([yes])
1926 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1927 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1928 if test "${SYS}" = "mingw32"; then
1929 # add ws2_32 for closesocket, select, recv
1930 other_libs="$other_libs -lws2_32"
1932 dnl We need to check for pic because live555 don't provide shared libs
1933 dnl and we want to build a plugins so we need -fPIC on some arch.
1934 AC_CHECK_HEADERS(liveMedia.hh, [
1935 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1936 AC_CHECK_LIB(liveMedia_pic, main, [
1937 VLC_ADD_PLUGIN([live555])
1938 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1940 AC_CHECK_LIB(liveMedia, main, [
1941 VLC_ADD_PLUGIN([live555])
1942 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1943 ],[],[${other_libs}]) ],[${other_libs_pic}])
1945 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1947 CPPFLAGS="${CPPFLAGS_save}"
1950 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1951 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1952 if test -z "${real_live555_tree}"; then
1953 dnl The given directory can't be found
1955 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1957 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1958 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1960 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1961 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1963 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1964 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1965 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1969 [AC_MSG_RESULT([no])
1970 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1971 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1973 AC_MSG_RESULT([yes])
1977 VLC_ADD_PLUGIN([live555])
1979 if test "${SYS}" = "mingw32"; then
1980 # add ws2_32 for closesocket, select, recv
1981 VLC_ADD_LIBS([live555],[-lws2_32])
1984 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1985 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1986 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1987 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1989 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1990 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1991 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1992 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1993 if test "${SYS}" = "solaris"; then
1994 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1997 dnl The given live555 wasn't built
1999 if test "${enable_live555}" = "yes"; then
2000 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2007 dnl - special access module for dc1394 input
2008 dnl - dv module: digital video module check for libraw1394
2010 PKG_ENABLE_MODULES_VLC([dc1394], [], [libraw1394 >= 2.0.1 libdc1394 >= 1.0.0], [dc1394 access module], [auto])
2011 PKG_ENABLE_MODULES_VLC([dv], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
2014 dnl dvdread module: check for libdvdread
2016 AC_ARG_ENABLE(dvdread,
2017 [ --enable-dvdread dvdread input module (default disabled)])
2018 if test "${enable_dvdread}" != "no"
2020 AC_ARG_WITH(dvdread,
2021 [ --with-dvdread=PATH libdvdread headers and libraries])
2022 AC_ARG_WITH(dvdread-tree,
2023 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2025 dnl Temporary hack (yeah, sure ;)
2026 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2027 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2030 if test -z "${with_dvdread}"
2032 if test -z "${with_dvdread_tree}"
2034 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2035 [ VLC_ADD_PLUGIN([dvdread])
2036 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2038 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2039 [ VLC_ADD_PLUGIN([dvdread])
2040 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2042 if test -n "${enable_dvdread}"
2044 AC_MSG_ERROR([cannot find libdvdread headers])
2049 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2050 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2051 if test -z "${real_dvdread_tree}"
2053 dnl The given directory can't be found
2055 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2057 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2059 dnl Use a custom libdvdread
2060 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2061 VLC_ADD_PLUGIN([dvdread])
2062 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2063 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2065 dnl The given libdvdread wasn't built
2067 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2071 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2072 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2074 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2076 VLC_ADD_PLUGIN([dvdread])
2077 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2078 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2080 dnl No libdvdread could be found, sorry
2082 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2088 dnl libdvdnav plugin
2090 AC_ARG_ENABLE(dvdnav,
2091 [ --enable-dvdnav dvdnav input module (default enabled)])
2092 if test "${enable_dvdnav}" != "no"
2094 dnl Same hack than dvdread
2095 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2096 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2099 DVDNAV_PATH="${PATH}"
2100 AC_ARG_WITH(dvdnav-config-path,
2101 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2102 [ if test "${with_dvdnav_config_path}" != "no"
2104 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2106 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2107 if test "${DVDNAV_CONFIG}" != "no"
2109 VLC_ADD_PLUGIN([dvdnav])
2110 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2111 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2116 dnl Windows DirectShow access module
2118 AC_ARG_ENABLE(dshow,
2119 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2120 if test "${enable_dshow}" != "no"
2122 if test "${SYS}" = "mingw32"
2125 AC_CHECK_HEADERS(dshow.h,
2126 [ VLC_ADD_PLUGIN([dshow])
2127 VLC_ADD_CXXFLAGS([dshow],[])
2128 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2134 dnl Windows DirectShow BDA access module
2137 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2138 enabled on Win32)]))
2139 if test "${enable_bda}" != "no"
2141 if test "${SYS}" = "mingw32"
2143 AC_CHECK_HEADERS(dshow.h,
2144 [ VLC_ADD_PLUGIN([bda])
2145 VLC_ADD_CXXFLAGS([bda],[])
2146 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2152 dnl OpenCV wrapper and example filters
2154 AC_ARG_ENABLE(opencv,
2155 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2156 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2158 AC_ARG_WITH(opencv-tree,
2159 [ --with-opencv-tree=PATH opencv tree for linking])
2160 if test "${SYS}" = "mingw32"
2162 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2163 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2164 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2165 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2168 VLC_ADD_PLUGIN([opencv_wrapper])
2169 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2170 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])
2172 VLC_ADD_PLUGIN([opencv_example])
2173 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2174 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])
2177 dnl No opencv could be found, sorry
2179 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2182 PKG_CHECK_MODULES(OPENCV, opencv,
2184 VLC_ADD_PLUGIN([opencv_example])
2185 VLC_ADD_PLUGIN([opencv_wrapper])
2186 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2187 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2188 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2190 [AC_MSG_ERROR([libopencv not found!])]
2197 dnl libsmbclient plugin
2200 [ --enable-smb smb input module (default enabled)])
2201 if test "${enable_smb}" != "no"; then
2202 AC_CHECK_HEADERS(libsmbclient.h,
2203 [ VLC_ADD_PLUGIN([access_smb])
2204 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2205 [ if test -n "${enable_smb}"; then
2206 AC_MSG_ERROR([cannot find libsmbclient headers])
2211 dnl libdvbpsi ts demux/mux
2213 AC_ARG_ENABLE(dvbpsi,
2214 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2216 if test "${enable_dvbpsi}" != "no"
2219 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2221 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2222 case "${with_dvbpsi}" in
2224 if test -z "${with_dvbpsi_tree}"
2226 AC_CHECK_HEADERS(dvbpsi/dr.h,
2227 [ VLC_ADD_PLUGIN([ts])
2228 if test "${enable_sout}" != "no"; then
2229 VLC_ADD_PLUGIN([mux_ts])
2231 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2233 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2234 [#if defined( HAVE_STDINT_H )
2235 # include <stdint.h>
2236 #elif defined( HAVE_INTTYPES_H )
2237 # include <inttypes.h>
2239 #include <dvbpsi/dvbpsi.h>
2240 #include <dvbpsi/descriptor.h>
2241 #include <dvbpsi/pat.h>
2242 #include <dvbpsi/pmt.h>])
2244 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2245 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2246 if test -z "${real_dvbpsi_tree}"
2248 dnl The given directory can't be found
2250 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2252 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2254 dnl Use a custom libdvbpsi
2255 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2256 VLC_ADD_PLUGIN([ts])
2257 if test "${enable_sout}" != "no"; then
2258 VLC_ADD_PLUGIN([mux_ts])
2260 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2261 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2264 dnl The given libdvbpsi wasn't built
2266 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2271 dnl Compile without dvbpsi
2274 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2275 if test -z "${with_dvbpsi}"
2280 LDFLAGS_test="-L${with_dvbpsi}/lib"
2281 CPPFLAGS_test="-I${with_dvbpsi}/include"
2283 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2284 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2285 VLC_ADD_PLUGIN([ts])
2286 if test "${enable_sout}" != "no"; then
2287 VLC_ADD_PLUGIN([mux_ts])
2289 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2290 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2293 if test -n "${enable_dvbpsi}"
2295 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])
2298 [#if defined( HAVE_STDINT_H )
2299 # include <stdint.h>
2300 #elif defined( HAVE_INTTYPES_H )
2301 # include <inttypes.h>
2303 #include <dvbpsi/dvbpsi.h>
2304 #include <dvbpsi/descriptor.h>
2305 #include <dvbpsi/pat.h>
2306 #include <dvbpsi/pmt.h>])
2307 CPPFLAGS="${CPPFLAGS_save}"
2310 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2311 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2312 ], [], [${LIBS_ts}])
2317 dnl Video4Linux plugin
2320 [ --enable-v4l Video4Linux input support (default disabled)])
2321 if test "${enable_v4l}" = "yes"
2324 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2325 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2327 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2330 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2331 AC_CHECK_HEADERS(linux/videodev.h, [
2332 VLC_ADD_PLUGIN([v4l])
2334 CPPFLAGS="${CPPFLAGS_save}"
2338 dnl Video4Linux2 plugin
2341 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2342 if test "${enable_v4l2}" != "no"
2345 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2346 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2348 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2351 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2352 AC_CHECK_HEADERS(linux/videodev2.h, [
2353 VLC_ADD_PLUGIN([v4l2])
2355 CPPFLAGS="${CPPFLAGS_save}"
2359 dnl libv4l2 support for video4linux.
2361 AC_ARG_ENABLE( libv4l2,
2362 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2363 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2365 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2366 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2367 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2368 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2369 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2374 dnl special access module for Hauppauge PVR cards
2377 [ --enable-pvr PVR cards access module (default disabled)])
2378 if test "${enable_pvr}" = "yes"
2380 VLC_ADD_PLUGIN([pvr])
2381 AC_ARG_WITH(videodev2,
2382 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2383 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2385 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2388 AC_CACHE_CHECK([for new linux/videodev2.h],
2389 [ac_cv_new_linux_videodev2_h],
2391 #include <sys/types.h>
2392 # ifdef VIDEODEV2_H_FILE
2393 # include VIDEODEV2_H_FILE
2395 # include <linux/videodev2.h>
2398 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2399 ac_cv_new_linux_videodev2_h=yes,
2400 ac_cv_new_linux_videodev2_h=no)])
2401 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2402 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2407 dnl gnomeVFS access module
2409 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2412 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2413 AC_ARG_ENABLE(libcdio,
2414 [ --enable-libcdio CD input and control library support (default enabled)])
2416 AC_ARG_ENABLE(vcdinfo,
2417 [ --enable-libvcdinfo VCD information library support (default enabled)])
2421 if test "${enable_libcdio}" != "no"
2423 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2425 AC_DEFINE(HAVE_LIBCDIO, 1,
2426 [Define if you have libcdio 0.78.2 or greater installed]),
2427 [AC_MSG_WARN(CD Reading and information library not found)])
2429 if test "${enable_vcdinfo}" != "no"
2431 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2432 [have_libvcdinfo=yes],
2433 [AC_MSG_WARN(VCD information library not found)])
2438 dnl VCDX and CDDAX modules
2440 AC_ARG_ENABLE(cddax,
2441 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2442 via libcdio (default disabled)]))
2444 AC_ARG_ENABLE(libcddb,
2445 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2447 if test "${enable_cddax}" = "yes"
2449 if test "$have_libcdio" = "yes"
2451 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2452 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2453 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2454 VLC_ADD_PLUGIN([cddax])
2455 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2456 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2457 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2459 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2463 if test "$enable_libcddb" != "no"; then
2464 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2466 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2467 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2468 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2470 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2477 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2479 if test "${enable_vcdx}" = "yes"
2481 if test "${have_libvcdinfo}" = "yes"
2483 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2484 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2486 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2490 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2491 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2492 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2493 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2496 if test "$have_libvcdinfo" = "yes"
2498 AC_DEFINE(HAVE_VCDX, 1,
2499 [Define for the VCD plugin using libcdio/libvcdinfo])
2500 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2501 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2502 VLC_ADD_PLUGIN([vcdx])
2504 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2510 dnl Built-in CD-DA and VCD module
2513 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2516 [ --enable-vcd built-in VCD (default enabled)])
2518 if test "${enable_vcd}" != "no"
2520 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2521 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2523 VLC_ADD_PLUGIN([vcd])
2524 VLC_ADD_PLUGIN([cdda])
2529 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2530 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2532 VLC_ADD_PLUGIN([vcd])
2533 VLC_ADD_PLUGIN([cdda])
2534 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2539 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2540 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2542 VLC_ADD_PLUGIN([vcd])
2543 VLC_ADD_PLUGIN([cdda])
2544 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2549 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2551 VLC_ADD_PLUGIN([vcd])
2552 VLC_ADD_PLUGIN([cdda])
2555 if test "${SYS}" = "darwin"
2557 VLC_ADD_PLUGIN([vcd])
2558 VLC_ADD_PLUGIN([cdda])
2559 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2560 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2563 if test "$enable_libcddb" != "no"; then
2564 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2566 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2567 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2568 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2570 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2576 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2579 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2581 if test "${enable_dvb}" != "no"
2583 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2585 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2586 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2588 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2590 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2591 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2592 VLC_ADD_PLUGIN([dvb])
2593 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2594 CPPFLAGS="${CPPFLAGS_save}"
2596 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2601 dnl Screen capture module
2603 AC_ARG_ENABLE(screen,
2604 [ --enable-screen Screen capture support (default enabled)])
2605 if test "${enable_screen}" != "no"; then
2606 if test "${SYS}" = "darwin"; then
2607 AC_CHECK_HEADERS(OpenGL/gl.h, [
2608 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2609 VLC_ADD_PLUGIN([screen])
2610 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2613 elif test "${SYS}" = "mingw32"; then
2614 VLC_ADD_PLUGIN([screen])
2615 VLC_ADD_LIBS([screen],[-lgdi32])
2616 elif test "${SYS}" = "mingwce"; then
2617 CPPFLAGS="${CPPFLAGS_save}"
2618 elif test "${SYS}" = "beos"; then
2619 VLC_ADD_PLUGIN([screen])
2620 VLC_ADD_CXXFLAGS([screen],[])
2621 VLC_ADD_LIBS([screen],[-lbe])
2626 dnl ipv6 plugin - not for QNX yet
2629 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2630 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2633 AS_IF([test "${have_ipv6}" = "yes"], [
2634 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2637 AC_CHECK_FUNCS(inet_ntop,[
2638 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2642 dnl ogg demux plugin
2644 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2645 if test "${enable_sout}" != "no"; then
2646 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2649 if test "${enable_sout}" != "no"; then
2650 dnl Check for libshout
2651 PKG_ENABLE_MODULES_VLC([shout], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2655 dnl matroska demux plugin
2658 [ --enable-mkv Matroska demux support (default enabled)])
2659 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2661 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2662 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2664 [#include <ebml/EbmlVersion.h>
2665 #ifdef LIBEBML_VERSION
2666 #if LIBEBML_VERSION >= 0x000706
2670 [AC_MSG_RESULT([yes])
2671 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2672 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2674 [#include <matroska/KaxVersion.h>
2675 #ifdef LIBMATROSKA_VERSION
2676 #if LIBMATROSKA_VERSION >= 0x000705
2680 [AC_MSG_RESULT([yes])
2681 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2682 VLC_ADD_CXXFLAGS([mkv],[])
2683 if test "${SYS}" = "darwin"; then
2684 VLC_ADD_CXXFLAGS([mkv],[-O1])
2686 AC_CHECK_LIB(ebml_pic, main, [
2687 VLC_ADD_PLUGIN([mkv])
2688 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2690 AC_CHECK_LIB(ebml, main, [
2691 VLC_ADD_PLUGIN([mkv])
2692 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2696 [AC_MSG_RESULT([no])
2697 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.])
2701 [AC_MSG_RESULT([no])
2702 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.])
2709 dnl modplug demux plugin
2712 [ --enable-mod Mod demux support (default enabled)])
2713 if test "${enable_mod}" != "no"
2715 AC_ARG_WITH(mod-tree,
2716 [ --with-mod-tree=PATH mod tree for static linking])
2717 if test -n "${with_mod_tree}"
2719 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2720 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2721 if test -z "${real_mod_tree}"
2723 dnl The given directory can't be found
2725 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2727 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2729 dnl Use a custom mod
2730 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2731 VLC_ADD_PLUGIN([mod])
2732 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2733 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2735 dnl The given mod wasn't built
2737 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2740 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2741 VLC_ADD_PLUGIN([mod])
2742 VLC_ADD_CXXFLAGS([mod],[])
2743 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2748 dnl mpc demux plugin
2751 [ --enable-mpc Mpc demux support (default enabled)])
2752 if test "${enable_mpc}" != "no"
2754 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2755 VLC_ADD_PLUGIN([mpc])
2756 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2757 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2758 VLC_ADD_PLUGIN([mpc])
2759 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2763 dnl game music emu demux plugin
2766 [ --enable-gme Game Music Emu demux support (default enabled)])
2767 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2770 AC_ARG_WITH(gme-tree,
2771 [ --with-gme-tree=PATH gme tree for static linking])
2772 if test -n "${with_gme_tree}"
2774 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2775 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2776 if test -z "${real_gme_tree}"
2778 dnl The given directory can't be found
2780 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2782 if test -f "${real_gme_tree}/gme/libgme.a"
2784 dnl Use a custom gme
2785 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2786 VLC_ADD_PLUGIN([gme])
2787 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2788 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2790 dnl The given gme wasn't built
2792 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2795 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2804 AC_ARG_WITH(,[Codec plugins:])
2809 AC_ARG_ENABLE(wma-fixed,
2810 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2811 if test "${enable_wma_fixed}" = "yes"
2813 VLC_ADD_PLUGIN([wma_fixed])
2817 dnl shine fixed point mp3 encoder
2819 AC_ARG_ENABLE(shine,
2820 [ --enable-shine shine mp3 encoding module (default disabled)])
2821 if test "${enable_shine}" = "yes"
2823 VLC_ADD_PLUGIN([shine])
2830 [ --enable-mad libmad module (default enabled)])
2831 if test "${enable_mad}" != "no"
2834 [ --with-mad=PATH path to libmad],[],[])
2835 if test "${with_mad}" != "no" -a -n "${with_mad}"
2837 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2838 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2841 AC_ARG_WITH(mad-tree,
2842 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2843 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2845 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2846 if test -z "${real_mad_tree}"
2848 dnl The given directory can't be found
2850 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2852 dnl Use a custom libmad
2853 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2854 if test -f ${real_mad_tree}/mad.h
2857 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2858 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2859 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2860 AC_CHECK_LIB(mad, mad_bit_init, [
2861 VLC_ADD_PLUGIN([mpgatofixed32])
2862 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2863 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2865 LDFLAGS="${LDFLAGS_save}"
2868 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2871 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2872 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2873 AC_CHECK_HEADERS(mad.h, ,
2874 [ 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.]) ])
2875 AC_CHECK_LIB(mad, mad_bit_init, [
2876 VLC_ADD_PLUGIN([mpgatofixed32])
2877 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2878 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2879 CPPFLAGS="${CPPFLAGS_save}"
2880 LDFLAGS="${LDFLAGS_save}"
2885 dnl libid3tag support (FIXME!!! doesn't work with new input)
2887 AC_ARG_ENABLE( id3tag,
2888 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
2889 AS_IF([test "${enable_id3tag}" = "yes"], [
2890 AC_CHECK_HEADERS(id3tag.h, [
2891 AS_IF([test "${have_zlib}" = "yes"],[
2892 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2893 VLC_ADD_PLUGIN([id3tag])
2898 AC_ARG_ENABLE(merge-ffmpeg,
2899 [ --enable-merged-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2900 enable_merge_ffmpeg="no"
2902 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2905 dnl avcodec decoder/encoder plugin
2908 if test "${with_ffmpeg_tree}"
2910 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2913 AC_ARG_ENABLE(avcodec,
2914 [ --enable-avcodec libavcodec codec (default enabled)])
2915 if test "${enable_avcodec}" != "no"
2917 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
2920 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2921 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2922 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
2923 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2924 VLC_ADD_PLUGIN([avcodec])
2925 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2926 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2930 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2935 dnl stream_out switcher needs libavcodec
2937 AC_ARG_ENABLE(switcher,
2938 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2939 AS_IF([test "${enable_switcher}" = "yes"], [
2940 AS_IF([test "x${have_avcodec}" = "xyes"], [
2941 VLC_ADD_PLUGIN([stream_out_switcher])
2942 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2943 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2944 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2950 dnl avformat demuxer/muxer plugin
2953 AC_ARG_ENABLE(avformat,
2954 [ --enable-avformat libavformat containers (default enabled)])
2955 if test "${enable_avformat}" != "no"
2957 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
2960 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2961 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2962 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
2963 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2964 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2965 VLC_ADD_PLUGIN([avformat])
2966 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2967 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2969 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2970 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2974 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2979 dnl swscale image scaling and conversion plugin
2982 AC_ARG_ENABLE(swscale,
2983 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
2984 (default enabled)]))
2985 if test "${enable_swscale}" != "no"
2987 PKG_CHECK_MODULES(SWSCALE,[libswscale],
2990 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
2991 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
2992 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
2993 VLC_ADD_PLUGIN([swscale])
2994 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
2995 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
2998 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.])
3006 AC_ARG_ENABLE(postproc,
3007 [ --enable-postproc libpostproc image post-processing (default enabled)])
3008 if test "${enable_postproc}" != "no"
3010 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3013 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3014 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3015 AC_CHECK_HEADERS(libpostproc/postproc.h postproc/postprocess.h)
3016 VLC_ADD_PLUGIN([postproc])
3017 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
3018 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
3021 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3026 dnl faad decoder plugin
3029 [ --enable-faad faad codec (default disabled)])
3030 if test "${enable_faad}" = "yes"
3032 AC_ARG_WITH(faad-tree,
3033 [ --with-faad-tree=PATH faad tree for static linking])
3034 if test -n "${with_faad_tree}"
3036 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3037 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3038 if test -z "${real_faad_tree}"
3040 dnl The given directory can't be found
3042 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3044 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3046 dnl Use a custom faad
3047 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3048 VLC_ADD_PLUGIN([faad])
3049 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3050 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3052 dnl The given libfaad wasn't built
3054 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3057 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3058 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3059 AC_CHECK_HEADERS(faad.h, ,
3060 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3061 AC_CHECK_LIB(faad, faacDecOpen, [
3062 VLC_ADD_PLUGIN([faad])
3063 VLC_ADD_LIBS([faad],[-lfaad]) ],
3064 AC_CHECK_LIB(faad, NeAACDecOpen, [
3065 VLC_ADD_PLUGIN([faad])
3066 VLC_ADD_LIBS([faad],[-lfaad]) ],
3067 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3068 LDFLAGS="${LDFLAGS_save}"
3069 CPPFLAGS="${CPPFLAGS_save}"
3074 dnl twolame encoder plugin
3076 PKG_ENABLE_MODULES_VLC([twolame], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
3079 dnl QuickTime plugin
3081 AC_ARG_ENABLE(quicktime,
3082 [ --enable-quicktime QuickTime module (deprecated)])
3083 if test "${enable_quicktime}" = "yes"; then
3084 if test "${SYS}" = "mingw32"; then
3085 VLC_ADD_PLUGIN([quicktime])
3087 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3088 [ VLC_ADD_PLUGIN([quicktime])
3089 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3090 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3098 [ --enable-real Real media module (default disabled)])
3099 if test "${enable_real}" = "yes"; then
3100 VLC_ADD_PLUGIN([realaudio])
3101 VLC_ADD_PLUGIN([realvideo])
3105 dnl Real RTSP plugin
3107 AC_ARG_ENABLE(realrtsp,
3108 [ --enable-realrtsp Real RTSP module (default disabled)])
3109 if test "${enable_realrtsp}" = "yes"; then
3110 VLC_ADD_PLUGIN([access_realrtsp])
3113 AC_ARG_ENABLE(libsysfs,
3114 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3116 AS_IF([test "${enable_libsysfs}" != "no"],[
3117 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3118 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3125 AC_ARG_ENABLE(libtar,
3126 [ --enable-libtar libtar support for skins2 (default enabled)])
3128 AS_IF([test "${enable_libtar}" != "no"],[
3129 AC_CHECK_HEADERS(libtar.h, [
3130 VLC_ADD_LIBS([skins2],[-ltar])
3135 dnl A52/AC3 decoder plugin
3138 [ --enable-a52 A/52 support with liba52 (default enabled)])
3139 if test "${enable_a52}" != "no"
3142 [ --with-a52=PATH a52 headers and libraries])
3143 AC_ARG_WITH(a52-tree,
3144 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3145 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3147 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3148 if test -z "${real_a52_tree}"
3150 dnl The given directory can't be found
3152 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3154 dnl Use a custom a52dec
3155 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3156 if test -f ${real_a52_tree}/include/a52.h
3159 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3160 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3161 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3162 AC_CHECK_LIB(a52, a52_free, [
3163 VLC_ADD_PLUGIN([a52tofloat32])
3164 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3165 VLC_ADD_LIBS([a52tofloat32],[-la52])
3167 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3169 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3171 AC_MSG_ERROR([the specified tree hasn't been compiled])
3174 LDFLAGS="${LDFLAGS_save}"
3177 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3180 if test -z "${with_a52}"
3185 LDFLAGS_test="-L${with_a52}/lib"
3186 CPPFLAGS_test="-I${with_a52}/include"
3188 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3189 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3190 AC_CHECK_HEADERS(a52dec/a52.h, [
3191 AC_CHECK_LIB(a52, a52_free, [
3192 VLC_ADD_PLUGIN([a52tofloat32])
3193 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3194 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3196 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.])
3199 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.])
3201 CPPFLAGS="${CPPFLAGS_save}"
3202 LDFLAGS="${LDFLAGS_save}"
3206 AC_ARG_WITH(a52-fixed,
3207 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3209 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3212 dnl DTS Coherent Acoustics decoder plugin
3214 AS_IF([test "x${enable_dts}" != "x"], [
3215 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3217 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3222 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3227 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3232 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3237 AC_ARG_ENABLE(tremor,
3238 [ --enable-tremor Tremor decoder support (default disabled)])
3239 if test "${enable_tremor}" = "yes"
3241 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3242 VLC_ADD_PLUGIN([tremor])
3243 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3250 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3253 dnl tarkin decoder plugin
3255 AC_ARG_ENABLE(tarkin,
3256 [ --enable-tarkin experimental tarkin codec (default disabled)])
3257 if test "${enable_tarkin}" = "yes"
3259 AC_ARG_WITH(tarkin-tree,
3260 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3261 if test -n "${with_tarkin_tree}"
3263 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3264 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3265 if test -f "${real_tarkin_tree}/tarkin.o"
3267 VLC_ADD_PLUGIN([tarkin])
3268 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3269 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])
3272 dnl The given tarkin tree wasn't built
3274 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3275 make sure you compiled tarkin in ${with_tarkin_tree}])
3281 dnl theora decoder plugin
3283 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3286 dnl dirac encoder plugin
3288 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3291 dnl schroedinger decoder plugin (for dirac format video)
3293 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3296 dnl PNG decoder module
3299 [ --enable-png PNG support (default enabled)])
3300 if test "${enable_png}" != "no"; then
3301 AC_CHECK_HEADERS(png.h, [
3302 LDFLAGS="${LDFLAGS_save} -lz"
3303 AC_CHECK_LIB(png, png_set_rows, [
3304 VLC_ADD_LIBS([png],[-lpng -lz])
3305 VLC_ADD_PLUGIN([png])
3306 VLC_ADD_PLUGIN([osdmenu])
3307 VLC_ADD_PLUGIN([osd_parser])],
3309 LDFLAGS="${LDFLAGS_save}"
3312 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3315 dnl H264 encoder plugin (using libx264)
3318 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3319 if test "${enable_x264}" != "no"; then
3320 AC_ARG_WITH(x264-tree,
3321 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3322 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3324 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3325 if test -z "${real_x264_tree}"
3327 dnl The given directory can't be found
3329 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3331 dnl Use a custom libx264
3332 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3333 if test -f ${real_x264_tree}/x264.h
3336 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3337 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3338 PKG_CHECK_MODULES(X264,x264, [
3339 VLC_ADD_PLUGIN([x264])
3340 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3341 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3342 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3343 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3346 AC_MSG_ERROR([the specified tree hasn't been compiled])
3348 LDFLAGS="${LDFLAGS_save}"
3351 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3354 PKG_CHECK_MODULES(X264,x264 >= 0.76, [
3355 VLC_ADD_PLUGIN([x264])
3356 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3358 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3359 [ac_cv_ld_bsymbolic],
3360 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3361 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3362 LDFLAGS="${LDFLAGS_save}"
3364 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3365 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3368 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3369 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3370 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3373 if test "${enable_x264}" = "yes"; then
3374 AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
3377 LDFLAGS="${LDFLAGS_save}"
3382 dnl libfluidsynth (MIDI synthetizer) plugin
3384 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3387 dnl Teletext Modules
3388 dnl vbi decoder plugin (using libzbvi)
3393 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3394 libzvbi (default enabled)]))
3396 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3397 zvbi) (default enabled if zvbi is absent)]))
3399 AS_IF( [test "${enable_zvbi}" != "no"],[
3400 PKG_CHECK_MODULES(ZVBI,
3403 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3404 if test "${SYS}" = "mingw32"; then
3405 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3407 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3408 VLC_ADD_PLUGIN([zvbi])
3409 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3410 AS_IF( [test "${enable_telx}" = "yes"],[
3411 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3415 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3418 AS_IF( [test "${enable_telx}" != "no" ],[
3419 VLC_ADD_PLUGIN([telx])
3423 dnl libass subtitle rendering module
3425 AC_ARG_ENABLE(libass,
3426 [ --enable-libass Subtitle support using libass (default disabled)])
3427 AS_IF( [test "${enable_libass}" = "yes"], [
3428 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6,
3430 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3431 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3432 VLC_ADD_PLUGIN([libass])
3434 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3435 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3436 if test "${SYS}" = "mingw32"; then
3437 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz])
3439 VLC_ADD_LIBS([libass],[-lfontconfig])
3443 AC_MSG_WARN([LIBASS library not found])
3450 AC_ARG_ENABLE(asademux,
3451 [ --enable-asademux asa subtitle demuxing (default disabled)])
3452 AS_IF( [test "${enable_asademux}" = "yes"], [
3453 PKG_CHECK_MODULES(PCRE,
3456 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3457 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3458 if test "${SYS}" = "mingw32"; then
3459 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3461 VLC_ADD_PLUGIN([asademux])
3463 AC_MSG_WARN([PCRE library not found (required for asademux)])
3471 [ --enable-cmml CMML support (default enabled)])
3472 if test "${enable_cmml}" != "no"
3474 VLC_ADD_PLUGIN([cmml])
3478 dnl kate decoder plugin
3481 [ --enable-kate kate codec (default enabled)])
3482 AS_IF([test "${enable_kate}" != "no"], [
3483 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3484 VLC_ADD_PLUGIN([kate])
3485 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3486 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3487 AC_CHECK_HEADERS(kate/kate.h, [
3488 AC_CHECK_LIB(kate, kate_decode_init, [
3489 VLC_ADD_PLUGIN([kate])
3490 kate_libs="-lkate -logg"
3491 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3492 AS_IF([test "x${enable_kate}" != "x"], [
3493 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3494 You also need to check that you have a libogg posterior to the 1.0 release.])
3498 AS_IF([test "x${enable_kate}" != "x"], [
3499 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3500 You also need to check that you have a libogg posterior to the 1.0 release.])
3508 dnl tiger decoder plugin
3510 PKG_ENABLE_MODULES_VLC([TIGER], [], [tiger >= 0.3.1], [Tiger rendering library for Kate streams],[auto])
3517 AC_ARG_WITH(,[Video plugins:])
3525 [ --enable-x11 X11 support with Xlib (default enabled)],, [
3526 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3533 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3535 AS_IF([test "${enable_x11}" != "no"], [
3536 AC_CHECK_HEADERS(X11/Xlib.h)
3539 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3540 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3541 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3543 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3544 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3549 #include <X11/Xlib.h>
3555 dnl (enabled by default except on win32)
3558 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3559 enable_glx="$enable_x11"
3561 AS_IF([test "${enable_glx}" != "no"], [
3562 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3563 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3564 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3568 VLC_ADD_PLUGIN([glx])
3569 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3570 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3571 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3576 dnl (disabled by default except on win32)
3579 [ --enable-xvmc XvMC support (default disabled)],, [
3582 AS_IF([test "${enable_xvmc}" != "no"], [
3583 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3584 AS_IF([test "${enable_libmpeg2}" = "yes"], [
3585 VLC_ADD_PLUGIN([xvmc])
3586 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
3587 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
3589 AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available])
3592 AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
3596 dnl End of Xlib tests
3597 CPPFLAGS="${CPPFLAGS_save}"
3601 dnl X C Bindings modules
3604 [ --enable-xcb X11 support with XCB (default enabled)],, [
3605 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3611 AC_ARG_ENABLE(xvideo,
3612 [ --enable-xvideo XVideo support (default enabled)],, [
3613 enable_xvideo="$enable_xcb"
3616 AS_IF([test "${enable_xcb}" != "no"], [
3617 PKG_CHECK_MODULES(XPROTO, [xproto])
3620 PKG_CHECK_MODULES(XCB, [xcb])
3621 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3622 VLC_ADD_PLUGIN([xcb_x11])
3623 VLC_ADD_PLUGIN([xcb_screen])
3624 VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
3626 AS_IF([test "${enable_xvideo}" != "no"], [
3627 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3628 VLC_ADD_PLUGIN([xcb_xv])
3630 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3631 VLC_ADD_PLUGIN([xcb_xv])
3632 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3637 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3638 VLC_ADD_PLUGIN([panoramix])
3639 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3640 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3644 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4],
3646 [PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
3647 VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])]
3650 VLC_ADD_PLUGIN([xcb_window])
3651 VLC_ADD_PLUGIN([globalhotkeys])
3652 VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
3653 VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
3659 dnl (enabled by default except on beos)
3661 AC_ARG_ENABLE(opengl,
3662 [ --enable-opengl OpenGL support (default enabled)])
3663 if test "${enable_opengl}" != "no" &&
3664 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3665 if test "${SYS}" != "darwin"; then
3666 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3667 VLC_ADD_PLUGIN([opengl])
3668 if test "${SYS}" != "mingw32"; then
3669 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3671 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3675 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3676 VLC_ADD_PLUGIN([opengl])
3677 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3685 [ --enable-sdl SDL support (default enabled)])
3686 AC_ARG_ENABLE(sdl-image,
3687 [ --enable-sdl-image SDL image support (default enabled)])
3688 if test "${enable_sdl}" != "no"
3691 AC_ARG_WITH(sdl-config-path,
3692 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3693 [ if test "${with_sdl_config_path}" != "no"
3695 SDL_PATH="${with_sdl_config_path}:${PATH}"
3697 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3698 SDL_HEADER="SDL/SDL.h"
3699 SDL_IMAGE="SDL/SDL_image.h"
3701 if test "${SDL_CONFIG}" != "no"; then
3702 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3703 # SDL on Darwin is heavily patched and can only run SDL_image
3704 if test "${SYS}" != "darwin"; then
3705 VLC_ADD_PLUGIN([vout_sdl])
3706 VLC_ADD_PLUGIN([aout_sdl])
3708 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3709 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3712 AS_IF([ test "${enable_sdl_image}" != "no"],[
3713 AC_CHECK_HEADERS("SDL/SDL_image.h", [
3714 VLC_ADD_PLUGIN([sdl_image])
3715 AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3716 AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3717 AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3718 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3719 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3720 You should install it alongside your SDL package.])
3724 AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3725 Alternatively you can also configure with --disable-sdl.])
3727 else if test "${enable_sdl}" = "yes"; then
3728 AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3729 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3738 AC_ARG_ENABLE(freetype,
3739 [ --enable-freetype freetype support (default enabled)])
3740 AC_ARG_ENABLE(fribidi,
3741 [ --enable-fribidi fribidi support (default enabled)])
3742 AC_ARG_ENABLE(fontconfig,
3743 [ --enable-fontconfig, fontconfig support (default enabled)])
3744 if test "${enable_freetype}" != "no"
3746 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3747 VLC_ADD_PLUGIN([freetype])
3749 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3750 if test "${SYS}" = "mingw32"; then
3751 VLC_ADD_LIBS([freetype],[-liconv -lz])
3753 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3754 if test "${enable_fontconfig}" != "no"
3756 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3757 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3758 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3759 AC_CHECK_HEADERS(Carbon/Carbon.h,
3760 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3764 if test "${enable_fribidi}" != "no"
3766 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3767 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3768 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3774 AS_IF([ test "${enable_freetype}" = "yes"],[
3775 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3776 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3786 PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3791 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3794 dnl Snapshot vout module (with cache)
3796 AC_ARG_ENABLE(snapshot,
3797 [ --enable-snapshot snapshot module (default disabled)])
3798 if test "${enable_snapshot}" = "yes"
3800 VLC_ADD_PLUGIN([snapshot])
3804 dnl Qt Embedded module
3805 dnl (disabled by default)
3808 [ --enable-qte QT Embedded support (default disabled)])
3809 if test "${enable_qte}" = "yes"
3812 [ --with-qte=PATH Qt Embedded headers and libraries])
3813 if test "${with_qte}" != "no" -a -n "${with_qte}"
3815 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3816 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])
3818 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3819 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3821 VLC_ADD_PLUGIN([qte])
3823 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3824 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3825 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3827 CPPFLAGS="${CPPFLAGS_save}"
3831 dnl Roku HD1000 Video output module
3833 AC_ARG_ENABLE(hd1000v,
3834 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3835 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3836 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3837 test "${enable_hd1000v}" = "yes"); then
3839 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3841 can_build_roku="yes"
3845 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3847 if test "$can_build_roku" = "yes"
3849 VLC_ADD_PLUGIN([hd1000v])
3850 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3856 dnl Windows DirectX module
3859 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3861 VLC_ADD_PLUGIN([panoramix])
3864 AC_ARG_ENABLE(directx,
3865 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3866 if test "${enable_directx}" != "no"
3868 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3870 AC_CHECK_HEADERS(ddraw.h,
3871 [ VLC_ADD_PLUGIN([directx])
3872 VLC_ADD_PLUGIN([aout_directx])
3873 VLC_ADD_LIBS([directx],[-lgdi32])
3874 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3876 AC_CHECK_HEADERS(GL/gl.h,
3877 [ VLC_ADD_PLUGIN([glwin32])
3878 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3880 AC_CHECK_HEADERS(d3d9.h,
3881 [ VLC_ADD_PLUGIN([direct3d])
3882 VLC_ADD_LIBS([direct3d],[-lgdi32])
3884 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3889 dnl win32 GDI plugin
3891 AC_ARG_ENABLE(wingdi,
3892 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3893 if test "${enable_wingdi}" != "no"; then
3894 if test "${SYS}" = "mingw32"; then
3895 VLC_ADD_PLUGIN([wingdi])
3896 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3898 if test "${SYS}" = "mingwce"; then
3899 VLC_ADD_PLUGIN([wingdi])
3900 VLC_ADD_PLUGIN([wingapi])
3901 VLC_ADD_LIBS([wingdi],[-laygshell])
3902 VLC_ADD_LIBS([wingapi],[-laygshell])
3908 dnl Linux framebuffer module
3911 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3912 if test "${enable_fb}" != "no"
3914 AC_CHECK_HEADERS(linux/fb.h, [
3915 VLC_ADD_PLUGIN([fb])
3920 dnl Linux MGA module
3923 [ --enable-mga Linux kernel Matrox support (default disabled)],
3924 [ if test "${enable_mga}" = "yes"
3926 VLC_ADD_PLUGIN([mga])
3930 dnl OMAP Framebuffer module
3932 AC_ARG_ENABLE(omapfb,
3933 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3934 if test "${enable_omapfb}" = "yes"
3936 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3937 VLC_ADD_PLUGIN([omapfb])
3938 AC_CHECK_HEADERS(X11/Xlib.h, [
3939 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3946 AC_ARG_ENABLE(svgalib,
3947 [ --enable-svgalib SVGAlib support (default disabled)])
3948 if test "${enable_svgalib}" = "yes"
3950 VLC_ADD_PLUGIN([svgalib])
3951 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3956 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3957 dnl TODO: support for static linking
3959 AC_ARG_ENABLE(directfb,
3960 [ --enable-directfb DirectFB support (default disabled)])
3961 AC_ARG_WITH(directfb,
3962 [ --with-directfb=PATH path to DirectFB headers and libraries])
3964 if test "${enable_directfb}" = "yes"; then
3965 have_directfb="false"
3966 CPPFLAGS_mydirectfb=
3968 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3969 dnl Trying the given location
3970 CPPFLAGS_save="${CPPFLAGS}"
3973 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3974 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3975 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3977 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3978 LIBS="${LIBS} ${LIBS_new}"
3980 dnl FIXME: too obscure
3981 AC_CHECK_HEADER([directfb.h], [
3982 AC_CHECK_LIB([direct],[direct_initialize], [
3983 AC_CHECK_LIB([fusion], [fusion_enter], [
3984 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3985 ], have_directfb="false")
3986 ], have_directfb="false")
3987 ], have_directfb="false")
3990 CPPFLAGS="${CPPFLAGS_save}"
3993 if test "${have_directfb}" = "true"; then
3994 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
3995 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
3998 dnl Look for directfb-config
3999 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4000 if test "${DIRECTFB_CONFIG}" != "no"; then
4001 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4002 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4003 have_directfb="true"
4005 dnl Trying with pkg-config
4006 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4007 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4008 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4009 have_directfb="true"
4010 ], [have_directfb="false"])
4013 if test "${have_directfb}" = "true"; then
4014 VLC_ADD_PLUGIN([directfb])
4015 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4016 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4018 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4028 [ --enable-ggi GGI support (default disabled)])
4029 if test "${enable_ggi}" = "yes"
4031 AC_CHECK_HEADER([ggi/ggi.h],[
4032 VLC_ADD_PLUGIN([ggi])
4033 VLC_ADD_LIBS([ggi],[-lggi])
4035 [ --with-ggi=PATH path to libggi],
4036 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4038 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4039 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4042 AC_MSG_ERROR([LibGGI development files can't be found])
4050 [ --enable-aa aalib output (default disabled)])
4051 if test "${enable_aa}" = "yes"
4053 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4054 if test "${have_aa}" = "true"
4056 VLC_ADD_PLUGIN([aa])
4057 VLC_ADD_LIBS([aa],[-laa])
4064 PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4070 AC_ARG_WITH(,[Audio plugins:])
4073 dnl OSS /dev/dsp module (enabled by default except on win32)
4076 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4078 if test "${enable_oss}" != "no" &&
4079 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4080 test "${enable_oss}" = "yes")
4082 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4083 VLC_ADD_PLUGIN([oss])
4084 VLC_ADD_PLUGIN([access_oss])
4085 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4090 dnl Pulseaudio module
4092 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4095 dnl Portaudio module
4097 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4102 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4103 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4106 dnl win32 waveOut plugin
4108 AC_ARG_ENABLE(waveout,
4109 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4110 if test "${enable_waveout}" != "no"; then
4111 if test "${SYS}" = "mingw32"; then
4112 VLC_ADD_PLUGIN([waveout])
4113 VLC_ADD_LIBS([waveout],[-lwinmm])
4115 if test "${SYS}" = "mingwce"; then
4116 VLC_ADD_PLUGIN([waveout])
4121 dnl CoreAudio plugin
4123 AC_ARG_ENABLE(macosx-audio,
4124 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4125 if test "${enable_macosx-audio}" != "no" &&
4126 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4128 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4129 [ VLC_ADD_PLUGIN([auhal])
4130 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4131 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4135 dnl Roku HD1000 audio
4137 AC_ARG_ENABLE(hd1000a,
4138 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4139 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4140 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4141 test "${enable_hd1000a}" = "yes")
4144 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4145 VLC_ADD_PLUGIN([hd1000a])
4146 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4153 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4154 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4158 dnl CyberLink for C++ UPnP stack
4160 AC_ARG_ENABLE(cyberlink,
4161 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4162 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4163 AC_ARG_WITH(cyberlink-tree,
4164 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4167 dnl test for --with-cyberlink-tree
4169 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4171 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4172 AS_IF([test -z "${real_cyberlink_tree}"], [
4173 dnl The given directory can't be found
4175 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4177 CPPFLAGS_save="${CPPFLAGS}"
4178 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4179 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4180 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4181 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4182 VLC_ADD_PLUGIN([upnp_cc])
4184 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4186 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4187 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4188 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4189 dnl The mere fact that we have to make such an ugly check sucks
4190 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4193 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4194 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4195 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4196 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4197 using namespace CyberLink;
4199 class testclass : public SearchResponseListener, public MediaPlayer
4201 virtual void deviceSearchResponseReceived( SSDPPacket *)
4208 addSearchResponseListener (this);
4212 ],[testclass l;])],[LIBS_cclink="$l"])
4215 dnl should not happen - otherwise this needs fixing - hence FAILURE
4216 AS_IF([test "${LIBS_cclink}" = "no"],
4217 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4218 AC_MSG_RESULT([${LIBS_cclink}])
4219 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4222 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4224 CPPFLAGS="${CPPFLAGS_save}"
4230 dnl UPnP Plugin (Intel SDK)
4232 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4236 dnl Interface plugins
4239 AC_ARG_WITH(,[Interface plugins:])
4241 dnl special case for BeOS
4242 if test "${SYS}" = "beos"
4244 VLC_ADD_PLUGIN([beos])
4250 AC_ARG_ENABLE(skins2,
4251 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4252 enabled except on MacOSX, BeOS and WinCE)])])
4253 if test "${enable_skins2}" = "yes" ||
4254 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4255 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4257 dnl test for the required libraries
4258 skins2_missing_lib="no"
4261 if test "${have_freetype}" != "yes"; then
4262 skins2_missing_lib="yes"
4263 if test "${enable_skins2}" = "yes"; then
4264 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4268 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4269 VLC_ADD_PLUGIN([skins2])
4270 ALIASES="${ALIASES} svlc"
4271 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4272 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4273 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4275 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4276 VLC_ADD_PLUGIN([skins2])
4277 ALIASES="${ALIASES} svlc"
4278 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4279 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4280 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4282 else if test "${skins2_missing_lib}" = "no"; then
4283 VLC_ADD_PLUGIN([skins2])
4284 ALIASES="${ALIASES} svlc"
4285 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4286 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4287 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4290 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4291 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4292 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4297 AC_ARG_ENABLE(maemo,
4298 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4299 if test "${enable_maemo}" = "yes"
4301 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4302 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4303 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4304 VLC_ADD_PLUGIN([maemo])
4305 VLC_ADD_PLUGIN([swscale_maemo])
4306 ALIASES="${ALIASES} mvlc"
4308 AS_IF([test "${enable_maemo}" = "yes"],[
4309 AC_MSG_ERROR([Hildon libraries not found])
4314 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4320 [ --enable-qt4 QT 4 support (default enabled) ],, [
4321 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4323 AS_IF([test "${enable_qt4}" != "no"], [
4324 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4325 VLC_ADD_PLUGIN([qt4])
4326 ALIASES="${ALIASES} qvlc"
4327 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4328 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4330 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4332 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4333 AC_SUBST(QT4LOCALEDIR)
4334 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4335 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4336 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4337 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4339 AS_IF([test "${enable_qt4}" = "yes"],[
4340 AC_MSG_ERROR([Qt 4 library not found])
4342 AC_MSG_WARN([Qt 4 library not found])
4347 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4350 dnl WinCE GUI module
4352 AC_ARG_ENABLE(wince,
4353 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4354 if test "${enable_wince}" != "no"; then
4355 if test "${SYS}" = "mingwce"; then
4356 VLC_ADD_PLUGIN([wince])
4357 VLC_ADD_CXXFLAGS([wince],[])
4358 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4360 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4361 elif test "${SYS}" = "mingw32"; then
4362 VLC_ADD_CXXFLAGS([wince],[])
4363 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4365 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4370 dnl Simple test for skins2 dependency
4372 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4373 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.])
4377 dnl Opie QT embedded module
4380 [ --enable-opie Qt embedded interface support (default disabled)],
4381 [if test "${enable_opie}" = "yes"; then
4383 [ --with-qte=PATH Qt Embedded headers and libraries])
4384 if test "${with_qte}" != "no" -a -n "${with_qte}"
4386 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4387 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])
4389 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4390 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4392 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4393 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4394 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4396 CPPFLAGS="${CPPFLAGS_save}"
4398 VLC_ADD_PLUGIN([opie])
4400 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4401 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4402 if test "${with_qte}" != "no" -a -n "${with_qte}"
4404 MOC=${with_qte}/bin/moc
4406 MOC=${QTDIR}/bin/moc
4411 dnl MacOS X video output/gui modules
4413 AC_ARG_ENABLE(macosx,
4414 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
4415 if test "x${enable_macosx}" = "xyes"
4417 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4418 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4419 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4420 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4421 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4422 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4423 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4424 VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4425 VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4427 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4428 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
4429 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4430 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4431 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
4432 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4433 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4435 VLC_ADD_PLUGIN([access_eyetv])
4436 VLC_ADD_PLUGIN([qtcapture])
4437 VLC_ADD_PLUGIN([macosx])
4438 VLC_ADD_PLUGIN([minimal_macosx])
4439 VLC_ADD_PLUGIN([opengllayer])
4446 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4447 if test "${enable_qnx}" != "no"
4449 AC_CHECK_HEADERS(Ph.h, [
4450 VLC_ADD_PLUGIN([qnx])
4451 VLC_ADD_LIBS([qnx],[-lasound -lph])
4458 AC_ARG_ENABLE(ncurses,
4459 [ --disable-ncurses ncurses interface support (default enabled)],
4460 [if test "${enable_ncurses}" != "no"; then
4461 AC_CHECK_HEADER(ncurses.h,
4462 [AC_CHECK_LIB(ncursesw, mvprintw,
4463 [VLC_ADD_PLUGIN([ncurses])
4464 VLC_ADD_LIBS([ncurses],[-lncursesw])
4465 ALIASES="${ALIASES} nvlc"
4466 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4467 AC_CHECK_LIB(ncursesw, tgetent, [],
4468 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4469 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4470 [AS_IF([test "x${enable_ncurses}" != "x"],
4471 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4477 [AC_CHECK_LIB( ncurses, mvprintw,
4478 [VLC_ADD_PLUGIN([ncurses])
4479 ALIASES="${ALIASES} nvlc"
4480 VLC_ADD_LIBS([ncurses],[-lncurses])
4481 AC_CHECK_LIB(ncurses, tgetent, [],
4482 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4483 [AS_IF([test "x${enable_ncurses}" != "x"],
4484 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4487 [AS_IF([test "x${enable_ncurses}" != "x"], [
4488 AC_MSG_ERROR([libncurses not found])])]
4499 [ --enable-xosd xosd interface support (default disabled)])
4500 if test "${enable_xosd}" = "yes"
4502 AC_CHECK_HEADERS(xosd.h,
4503 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4504 VLC_ADD_PLUGIN([xosd])
4505 VLC_ADD_LIBS([xosd],[-lxosd])
4511 dnl Framebuffer (overlay) plugin
4513 AC_ARG_ENABLE(fbosd,
4514 [ --enable-fbosd fbosd interface support (default disabled)])
4515 if test "${enable_fbosd}" = "yes"
4517 AC_CHECK_HEADERS(linux/fb.h, [
4518 VLC_ADD_PLUGIN([fbosd])
4523 dnl Visualisation plugin
4525 AC_ARG_ENABLE(visual,
4526 [ --enable-visual visualisation plugin (default enabled)])
4527 if test "${enable_visual}" != "no"
4529 VLC_ADD_PLUGIN([visual])
4533 dnl goom visualization plugin
4535 PKG_ENABLE_MODULES_VLC([goom], [], [libgoom2], [goom visualization plugin], [auto])
4538 dnl libprojectM visualization plugin
4540 PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto])
4543 dnl AtmoLight (homebrew AmbiLight)
4546 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4547 (broken, default disabled)]),, [enable_atmo="no"])
4548 AS_IF([test "${enable_atmo}" != no], [
4549 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4551 VLC_ADD_PLUGIN([atmo])
4557 dnl Bonjour services discovery
4558 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4561 dnl HAL services discovery
4562 PKG_ENABLE_MODULES_VLC([HAL], [], [hal >= 0.5.0], [Linux HAL services discovery], [auto])
4565 dnl libudev services discovery
4566 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev], [Linux udev services discovery], [auto])
4569 dnl MTP devices services discovery
4570 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4576 [ --enable-lirc lirc support (default disabled)])
4577 if test "${enable_lirc}" = "yes"
4579 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4580 if test "${have_lirc}" = "true"
4582 VLC_ADD_PLUGIN([lirc])
4583 VLC_ADD_LIBS([lirc],[-llirc_client])
4588 AC_ARG_WITH(,[Misc options:])
4593 AC_ARG_ENABLE(libgcrypt,
4594 [ --disable-libgcrypt gcrypt support (default enabled)])
4595 AS_IF([test "${enable_libgcrypt}" != "no"], [
4596 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4597 libgcrypt-config --version >/dev/null || AC_MSG_ERROR(
4598 [gcrypt.h present but libgcrypt-config could not be found])
4599 have_libgcrypt="yes"
4600 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4601 GCRYPT_LIBS="`libgcrypt-config --libs`"
4603 AS_IF([test "${enable_libgcrypt}"], [
4604 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found.])
4607 ], [#include <gcrypt.h>])
4609 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4610 AS_IF([test "${have_libgcrypt}" = "yes"],[
4611 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4614 AC_SUBST(GCRYPT_CFLAGS)
4615 AC_SUBST(GCRYPT_LIBS)
4616 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4621 AC_ARG_ENABLE(gnutls,
4622 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4624 AS_IF([test "${enable_gnutls}" != "no"], [
4625 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4626 VLC_ADD_PLUGIN([gnutls])
4627 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4628 AS_IF([test "${SYS}" = "mingw32"], [
4629 dnl pkg-config --libs gnutls omits these
4630 VLC_ADD_LIBS([gnutls], [-lz])
4631 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4633 dnl The GnuTLS plugin invokes gcry_control directly.
4634 AS_IF([test "${have_libgcrypt}" = "yes"],[
4635 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4636 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4638 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4640 AS_IF([test "${enable_gnutls}" = "yes"], [
4641 AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4648 dnl RemoteOSD plugin (VNC client as video filter)
4650 AC_ARG_ENABLE(remoteosd,
4651 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4653 AS_IF([test "${enable_remoteosd}" != "no"], [
4654 AS_IF([test "${have_libgcrypt}" = "yes"],[
4655 VLC_ADD_PLUGIN([remoteosd])
4656 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4657 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4659 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4667 AC_MSG_CHECKING([whether to enable RAOP plugin])
4668 AS_IF([test "${have_libgcrypt}" = "yes"], [
4670 VLC_ADD_PLUGIN([stream_out_raop])
4671 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4672 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4675 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4680 dnl update checking system
4682 AC_ARG_ENABLE(update-check,
4683 [ --enable-update-check update checking system (default disabled)])
4684 if test "${enable_update_check}" = "yes"
4686 if test "${have_libgcrypt}" != "yes"
4688 AC_MSG_ERROR([libgcrypt is required for update checking system])
4690 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4691 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4692 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4697 dnl Endianness check
4700 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4701 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4705 AC_SUBST(DEFS_BIGENDIAN)
4708 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4711 AC_ARG_ENABLE(loader,
4712 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4713 (default disabled)]))
4714 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4715 AS_IF([test "${enable_loader}" = "yes"],
4716 [ VLC_ADD_PLUGIN([dmo])
4717 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4718 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4719 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4720 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4721 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4722 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4723 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4724 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4727 AC_ARG_WITH(,[Components:])
4733 [ --enable-vlc build the VLC media player (default enabled)])
4734 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4737 dnl Microsoft ActiveX support
4740 AC_ARG_ENABLE(activex,
4741 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4742 (default enabled on Win32)]))
4743 AC_ARG_WITH(wine-sdk-path,
4744 [ --with-wine-sdk-path=PATH path to wine sdk])
4745 if test "${enable_activex}" != "no"
4747 if test "${SYS}" = "mingw32"
4749 AC_CHECK_PROGS(MIDL, [midl], no)
4750 if test "${with_wine_sdk_path}" != ""
4752 WINE_SDK_PATH=${with_wine_sdk_path}
4753 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4758 AC_CHECK_HEADERS(ole2.h,
4759 [AC_CHECK_HEADERS(olectl.h,
4760 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4761 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4762 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4763 AC_CHECK_HEADERS(objsafe.h,
4764 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4772 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4774 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4776 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4781 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4782 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4783 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4784 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4785 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4791 AC_ARG_ENABLE(mozilla,
4792 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4793 (default disabled)]))
4794 AC_ARG_WITH(mozilla-sdk-path,
4795 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4796 AC_ARG_WITH(mozilla-pkg,
4797 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4799 if test "${enable_mozilla}" = "yes"
4801 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4804 dnl As we want to do a loop due to the number of name possible for the .pc
4805 dnl we can't use the pkg-config macros.
4807 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4808 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4809 AC_MSG_NOTICE([Checking for Mozilla])
4811 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4815 if test -n "$PKG_CONFIG"; then
4816 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4817 echo "Trying to find $i.pc files" >&5
4818 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4820 echo "Using $i.pc files." >&5
4821 echo "Using $i.pc files." >&6
4823 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
4824 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
4830 AS_IF( [test $found = 1],[
4831 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4832 MOZILLA_REQUIRED_HEADERS=1
4833 AC_CHECK_HEADERS([npfunctions.h])
4834 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4835 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4840 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4841 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4843 MOZILLA_REQUIRED_HEADERS=
4845 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4846 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4847 AS_IF([ test "${SYS}" != "darwin"],[
4848 PKG_CHECK_MODULES(XPM, [xpm xt],[
4849 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4851 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4855 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4856 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4857 VLC_ADD_PLUGIN([mozilla])
4858 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4860 CPPFLAGS="${CPPFLAGS_save}"
4863 AC_PATH_PROGS(MOZILLA_CONFIG,
4864 [mozilla-config seamonkey-config xulrunner-config],
4866 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4869 dnl pkg-config failed but we might have found a mozilla-config
4870 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4871 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4872 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4873 AC_CHECK_LIB(Xt,XtStrings,
4875 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4876 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4879 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4881 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4882 LDFLAGS="${LDFLAGS_save}"
4886 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4887 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4888 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4889 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4890 MOZILLA_REQUIRED_HEADERS=1
4891 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4892 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4893 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4898 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4900 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4902 MOZILLA_REQUIRED_HEADERS=
4903 CPPFLAGS="${CPPFLAGS_save}"
4904 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4906 dnl End of moz_sdk = ""
4908 dnl special case for mingw32
4909 if test "${SYS}" = "mingw32"
4911 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4912 dnl latest gecko sdk does not have an xpcom directory
4913 if test -d "${with_mozilla_sdk_path}/xpcom"; then
4914 mozilla_sdk_xpcom="/xpcom"
4918 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4919 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4920 MOZILLA_REQUIRED_HEADERS=1
4921 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4922 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4923 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4928 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4930 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4932 MOZILLA_REQUIRED_HEADERS=
4934 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4935 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])
4936 if ${need_xpcom_libs}; then
4937 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])
4938 if test "${SYS}" = "mingw32"; then
4939 dnl latest gecko sdk does not have embedstring
4940 if test -d "${real_mozilla_sdk}/embedstring/bin"
4942 VLC_ADD_LIBS([mozilla],[-lembedstring])
4946 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
4948 if test -n "${CYGPATH}"; then
4949 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4951 CPPFLAGS="${CPPFLAGS_save}"
4955 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4957 dnl Tests for Osso and Xsp
4958 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
4959 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
4960 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
4961 VLC_ADD_LIBS([xvmc glx],[-losso])
4964 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
4965 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP])
4966 VLC_ADD_LIBS([xvmc glx],[-lXsp])
4972 AC_ARG_ENABLE(testsuite,
4973 [ --enable-testsuite build test modules (default disabled)])
4974 if test "${enable_testsuite}" = "yes"
4976 TESTS="test1 test2 test3 test4"
4978 dnl we define those so that bootstrap sets the right linker
4979 VLC_ADD_CXXFLAGS([test2],[])
4980 VLC_ADD_OBJCFLAGS([test3],[])
4981 dnl this one is needed until automake knows what to do
4982 VLC_ADD_LIBS([test3],[-lobjc])
4984 VLC_ADD_PLUGIN([test1])
4985 VLC_ADD_PLUGIN([test2])
4986 VLC_ADD_PLUGIN([test3])
4987 VLC_ADD_PLUGIN([test4])
4993 if test "${NEED_QTE_MAIN}" != "no"
4995 VLC_ADD_PLUGIN([qte_main])
4996 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4997 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4998 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5002 dnl Plugin and builtin checks
5006 dnl Automagically disable plugins if there is no system support for
5007 dnl dynamically loadable files (.so, .dll, .dylib).
5008 dnl don't forget vlc-win32 still can load .dll as plugins
5009 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5010 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5014 AS_IF([test "${plugin_support}" != "no"], [
5015 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5019 dnl Pic and shared libvlc stuff
5021 AS_IF([test "${SYS}" = "mingw32"], [
5022 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5023 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5027 dnl Stuff used by the program
5029 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5030 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5031 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5032 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5033 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5034 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5035 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5036 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5037 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5038 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5039 AC_SUBST(COPYRIGHT_MESSAGE)
5040 AC_SUBST(VERSION_MESSAGE)
5041 AC_SUBST(VERSION_MAJOR)
5042 AC_SUBST(VERSION_MINOR)
5043 AC_SUBST(VERSION_REVISION)
5044 AC_SUBST(VERSION_EXTRA)
5045 AC_SUBST(COPYRIGHT_YEARS)
5046 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5047 if test "${build_os}" = "cygwin"
5049 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5051 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5053 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5054 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5055 dnl Win32 need s a numerical version_extra.
5056 case $( echo ${VERSION_EXTRA}|wc -m ) in
5057 "1") VERSION_EXTRA_RC="0";;
5058 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5059 *) VERSION_EXTRA_RC="99"
5061 AC_SUBST(VERSION_EXTRA_RC)
5063 dnl Handle substvars that use $(top_srcdir)
5065 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5066 AC_SUBST(VLC_CONFIG)
5067 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5075 dnl Sort the modules list
5077 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5080 dnl Create the vlc-config script
5082 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5085 dnl Configuration is finished
5095 AC_SUBST(MOZILLA_SDK_PATH)
5096 AC_SUBST(WINE_SDK_PATH)
5098 AC_SUBST(AM_CPPFLAGS)
5099 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5100 AC_SUBST(FILE_LIBVLCCORE_DLL)
5101 AC_SUBST(FILE_LIBVLC_DLL)
5103 dnl Create vlc-config.in
5104 VLC_OUTPUT_VLC_CONFIG_IN
5107 extras/package/win32/vlc.win32.nsi
5108 extras/package/macosx/Info.plist
5109 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5110 extras/package/macosx/plugin/Info.plist
5111 extras/package/macosx/plugin/InstallerInfo.plist
5113 projects/activex/Makefile
5114 projects/activex/axvlc.inf
5116 extras/package/ipkg/Makefile
5117 libs/loader/Makefile
5121 projects/mozilla/Makefile
5124 projects/activex/axvlc_rc.rc
5125 projects/mozilla/npvlc_rc.rc
5126 projects/mozilla/vlc.r
5127 projects/mozilla/install.js
5129 share/vlc_win32_rc.rc
5130 share/libvlc_win32_rc.rc
5136 modules/access/Makefile
5137 modules/access/bd/Makefile
5138 modules/access/bda/Makefile
5139 modules/access/dshow/Makefile
5140 modules/access/dvb/Makefile
5141 modules/access/mms/Makefile
5142 modules/access/cdda/Makefile
5143 modules/access/rtp/Makefile
5144 modules/access/rtsp/Makefile
5145 modules/access/vcd/Makefile
5146 modules/access/vcdx/Makefile
5147 modules/access/screen/Makefile
5148 modules/access/zip/Makefile
5149 modules/access_output/Makefile
5150 modules/audio_filter/Makefile
5151 modules/audio_filter/channel_mixer/Makefile
5152 modules/audio_filter/converter/Makefile
5153 modules/audio_filter/resampler/Makefile
5154 modules/audio_filter/spatializer/Makefile
5155 modules/audio_mixer/Makefile
5156 modules/audio_output/Makefile
5157 modules/codec/Makefile
5158 modules/codec/avcodec/Makefile
5159 modules/codec/cmml/Makefile
5160 modules/codec/dmo/Makefile
5161 modules/codec/shine/Makefile
5162 modules/codec/subtitles/Makefile
5163 modules/codec/spudec/Makefile
5164 modules/codec/wmafixed/Makefile
5165 modules/codec/xvmc/Makefile
5166 modules/control/Makefile
5167 modules/control/http/Makefile
5168 modules/control/globalhotkeys/Makefile
5169 modules/demux/Makefile
5170 modules/demux/asf/Makefile
5171 modules/demux/avformat/Makefile
5172 modules/demux/avi/Makefile
5173 modules/demux/mkv/Makefile
5174 modules/demux/mp4/Makefile
5175 modules/demux/mpeg/Makefile
5176 modules/demux/playlist/Makefile
5177 modules/gui/Makefile
5178 modules/gui/beos/Makefile
5179 modules/gui/macosx/Makefile
5180 modules/gui/maemo/Makefile
5181 modules/gui/minimal_macosx/Makefile
5182 modules/gui/qnx/Makefile
5183 modules/gui/qt4/Makefile
5184 modules/gui/skins2/Makefile
5185 modules/gui/wince/Makefile
5186 modules/meta_engine/Makefile
5187 modules/misc/Makefile
5188 modules/misc/dummy/Makefile
5189 modules/misc/lua/Makefile
5190 modules/misc/memcpy/Makefile
5191 modules/misc/notify/Makefile
5192 modules/misc/testsuite/Makefile
5193 modules/misc/playlist/Makefile
5194 modules/misc/osd/Makefile
5195 modules/misc/stats/Makefile
5196 modules/misc/xml/Makefile
5197 modules/mux/Makefile
5198 modules/mux/mpeg/Makefile
5199 modules/packetizer/Makefile
5200 modules/services_discovery/Makefile
5201 modules/stream_filter/Makefile
5202 modules/stream_out/Makefile
5203 modules/video_chroma/Makefile
5204 modules/video_filter/Makefile
5205 modules/video_filter/dynamicoverlay/Makefile
5206 modules/video_output/Makefile
5207 modules/video_output/msw/Makefile
5208 modules/video_output/qte/Makefile
5209 modules/video_output/x11/Makefile
5210 modules/visualization/Makefile
5211 modules/visualization/visual/Makefile
5214 dnl Generate makefiles
5217 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5218 # not provided with the source
5219 ${SHELL} ./config.status --file=vlc-config
5220 chmod 0755 vlc-config
5222 /bin/echo -n "Enabled modules: "
5223 ./vlc-config --list plugin
5225 dnl Shortcut to nice compile message
5227 echo '#! /bin/sh' >compile
5228 echo rm -f .error\$\$ >>compile
5229 echo ERROR=0 >>compile
5230 echo export PATH=$PATH LANG=C >>compile
5231 echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5232 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5233 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5234 echo rm -f .error\$\$ >>compile
5235 echo exit \$ERROR >>compile
5239 libvlc configuration
5240 --------------------
5241 version : ${VERSION}
5243 architecture : ${ARCH}
5245 test "${enable_debug}" = "yes" && printf "debug "
5246 test "${enable_cprof}" = "yes" && printf "cprof "
5247 test "${enable_gprof}" = "yes" && printf "gprof "
5248 test "${enable_optimizations}" = "yes" && printf "optim "
5249 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5251 if test "${enable_vlc}" != "no"; then
5252 echo "vlc aliases :${ALIASES}"
5254 echo "build vlc executable : no"
5256 echo "plugins/bindings :${PLUGINS_BINDINGS}
5258 You can tune the compiler flags in vlc-config.
5259 To build vlc and its plugins, type \`./compile' or \`make'.
5261 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5263 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5265 echo " FFmpeg will be REALLY slow."
5266 echo " VLC WILL NOT PERFORM AS EXPECTED."