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 libva needs avcodec
2937 AC_ARG_ENABLE(libva,
2938 [ --enable-libva libva VAAPI support (default disabled)])
2939 AS_IF([test "${enable_libva}" = "yes"], [
2940 AS_IF([test "x${have_avcodec}" = "xyes"], [
2941 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2943 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
2944 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
2945 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2947 AC_MSG_ERROR([Could not find libva.])
2950 AC_MSG_ERROR([libva VAAPI support depends on libavcodec.])
2955 dnl stream_out switcher needs libavcodec
2957 AC_ARG_ENABLE(switcher,
2958 [ --enable-switcher Stream-out switcher plugin (default disabled)])
2959 AS_IF([test "${enable_switcher}" = "yes"], [
2960 AS_IF([test "x${have_avcodec}" = "xyes"], [
2961 VLC_ADD_PLUGIN([stream_out_switcher])
2962 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2963 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2964 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2970 dnl avformat demuxer/muxer plugin
2973 AC_ARG_ENABLE(avformat,
2974 [ --enable-avformat libavformat containers (default enabled)])
2975 if test "${enable_avformat}" != "no"
2977 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
2980 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2981 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2982 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
2983 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2984 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2985 VLC_ADD_PLUGIN([avformat])
2986 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2987 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2989 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
2990 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
2994 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
2999 dnl swscale image scaling and conversion plugin
3002 AC_ARG_ENABLE(swscale,
3003 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3004 (default enabled)]))
3005 if test "${enable_swscale}" != "no"
3007 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3010 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3011 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3012 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3013 VLC_ADD_PLUGIN([swscale])
3014 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3015 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3018 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.])
3026 AC_ARG_ENABLE(postproc,
3027 [ --enable-postproc libpostproc image post-processing (default enabled)])
3028 if test "${enable_postproc}" != "no"
3030 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3033 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3034 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3035 AC_CHECK_HEADERS(postproc/postprocess.h)
3036 VLC_ADD_PLUGIN([postproc])
3037 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
3038 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
3041 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3046 dnl faad decoder plugin
3049 [ --enable-faad faad codec (default disabled)])
3050 if test "${enable_faad}" = "yes"
3052 AC_ARG_WITH(faad-tree,
3053 [ --with-faad-tree=PATH faad tree for static linking])
3054 if test -n "${with_faad_tree}"
3056 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3057 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3058 if test -z "${real_faad_tree}"
3060 dnl The given directory can't be found
3062 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3064 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3066 dnl Use a custom faad
3067 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3068 VLC_ADD_PLUGIN([faad])
3069 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3070 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3072 dnl The given libfaad wasn't built
3074 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3077 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3078 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3079 AC_CHECK_HEADERS(faad.h, ,
3080 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3081 AC_CHECK_LIB(faad, faacDecOpen, [
3082 VLC_ADD_PLUGIN([faad])
3083 VLC_ADD_LIBS([faad],[-lfaad]) ],
3084 AC_CHECK_LIB(faad, NeAACDecOpen, [
3085 VLC_ADD_PLUGIN([faad])
3086 VLC_ADD_LIBS([faad],[-lfaad]) ],
3087 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3088 LDFLAGS="${LDFLAGS_save}"
3089 CPPFLAGS="${CPPFLAGS_save}"
3094 dnl twolame encoder plugin
3096 PKG_ENABLE_MODULES_VLC([twolame], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
3099 dnl QuickTime plugin
3101 AC_ARG_ENABLE(quicktime,
3102 [ --enable-quicktime QuickTime module (deprecated)])
3103 if test "${enable_quicktime}" = "yes"; then
3104 if test "${SYS}" = "mingw32"; then
3105 VLC_ADD_PLUGIN([quicktime])
3107 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3108 [ VLC_ADD_PLUGIN([quicktime])
3109 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3110 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3118 [ --enable-real Real media module (default disabled)])
3119 if test "${enable_real}" = "yes"; then
3120 VLC_ADD_PLUGIN([realaudio])
3121 VLC_ADD_PLUGIN([realvideo])
3125 dnl Real RTSP plugin
3127 AC_ARG_ENABLE(realrtsp,
3128 [ --enable-realrtsp Real RTSP module (default disabled)])
3129 if test "${enable_realrtsp}" = "yes"; then
3130 VLC_ADD_PLUGIN([access_realrtsp])
3133 AC_ARG_ENABLE(libsysfs,
3134 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3136 AS_IF([test "${enable_libsysfs}" != "no"],[
3137 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3138 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3145 AC_ARG_ENABLE(libtar,
3146 [ --enable-libtar libtar support for skins2 (default enabled)])
3148 AS_IF([test "${enable_libtar}" != "no"],[
3149 AC_CHECK_HEADERS(libtar.h, [
3150 VLC_ADD_LIBS([skins2],[-ltar])
3155 dnl A52/AC3 decoder plugin
3158 [ --enable-a52 A/52 support with liba52 (default enabled)])
3159 if test "${enable_a52}" != "no"
3162 [ --with-a52=PATH a52 headers and libraries])
3163 AC_ARG_WITH(a52-tree,
3164 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3165 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3167 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3168 if test -z "${real_a52_tree}"
3170 dnl The given directory can't be found
3172 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3174 dnl Use a custom a52dec
3175 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3176 if test -f ${real_a52_tree}/include/a52.h
3179 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3180 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3181 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3182 AC_CHECK_LIB(a52, a52_free, [
3183 VLC_ADD_PLUGIN([a52tofloat32])
3184 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3185 VLC_ADD_LIBS([a52tofloat32],[-la52])
3187 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3189 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3191 AC_MSG_ERROR([the specified tree hasn't been compiled])
3194 LDFLAGS="${LDFLAGS_save}"
3197 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3200 if test -z "${with_a52}"
3205 LDFLAGS_test="-L${with_a52}/lib"
3206 CPPFLAGS_test="-I${with_a52}/include"
3208 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3209 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3210 AC_CHECK_HEADERS(a52dec/a52.h, [
3211 AC_CHECK_LIB(a52, a52_free, [
3212 VLC_ADD_PLUGIN([a52tofloat32])
3213 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3214 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3216 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.])
3219 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.])
3221 CPPFLAGS="${CPPFLAGS_save}"
3222 LDFLAGS="${LDFLAGS_save}"
3226 AC_ARG_WITH(a52-fixed,
3227 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3229 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3232 dnl DTS Coherent Acoustics decoder plugin
3234 AS_IF([test "x${enable_dts}" != "x"], [
3235 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3237 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3242 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3247 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3252 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3257 AC_ARG_ENABLE(tremor,
3258 [ --enable-tremor Tremor decoder support (default disabled)])
3259 if test "${enable_tremor}" = "yes"
3261 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3262 VLC_ADD_PLUGIN([tremor])
3263 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3270 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3273 dnl tarkin decoder plugin
3275 AC_ARG_ENABLE(tarkin,
3276 [ --enable-tarkin experimental tarkin codec (default disabled)])
3277 if test "${enable_tarkin}" = "yes"
3279 AC_ARG_WITH(tarkin-tree,
3280 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3281 if test -n "${with_tarkin_tree}"
3283 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3284 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3285 if test -f "${real_tarkin_tree}/tarkin.o"
3287 VLC_ADD_PLUGIN([tarkin])
3288 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3289 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])
3292 dnl The given tarkin tree wasn't built
3294 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3295 make sure you compiled tarkin in ${with_tarkin_tree}])
3301 dnl theora decoder plugin
3303 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3306 dnl dirac encoder plugin
3308 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3311 dnl schroedinger decoder plugin (for dirac format video)
3313 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3316 dnl PNG decoder module
3319 [ --enable-png PNG support (default enabled)])
3320 if test "${enable_png}" != "no"; then
3321 AC_CHECK_HEADERS(png.h, [
3322 LDFLAGS="${LDFLAGS_save} -lz"
3323 AC_CHECK_LIB(png, png_set_rows, [
3324 VLC_ADD_LIBS([png],[-lpng -lz])
3325 VLC_ADD_PLUGIN([png])
3326 VLC_ADD_PLUGIN([osdmenu])
3327 VLC_ADD_PLUGIN([osd_parser])],
3329 LDFLAGS="${LDFLAGS_save}"
3332 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3335 dnl H264 encoder plugin (using libx264)
3338 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3339 if test "${enable_x264}" != "no"; then
3340 AC_ARG_WITH(x264-tree,
3341 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3342 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3344 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3345 if test -z "${real_x264_tree}"
3347 dnl The given directory can't be found
3349 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3351 dnl Use a custom libx264
3352 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3353 if test -f ${real_x264_tree}/x264.h
3356 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3357 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3358 PKG_CHECK_MODULES(X264,x264, [
3359 VLC_ADD_PLUGIN([x264])
3360 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3361 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3362 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3363 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3366 AC_MSG_ERROR([the specified tree hasn't been compiled])
3368 LDFLAGS="${LDFLAGS_save}"
3371 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3374 PKG_CHECK_MODULES(X264,x264 >= 0.76, [
3375 VLC_ADD_PLUGIN([x264])
3376 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3378 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3379 [ac_cv_ld_bsymbolic],
3380 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3381 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3382 LDFLAGS="${LDFLAGS_save}"
3384 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3385 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3388 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3389 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3390 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3393 if test "${enable_x264}" = "yes"; then
3394 AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
3397 LDFLAGS="${LDFLAGS_save}"
3402 dnl libfluidsynth (MIDI synthetizer) plugin
3404 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3407 dnl Teletext Modules
3408 dnl vbi decoder plugin (using libzbvi)
3413 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3414 libzvbi (default enabled)]))
3416 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3417 zvbi) (default enabled if zvbi is absent)]))
3419 AS_IF( [test "${enable_zvbi}" != "no"],[
3420 PKG_CHECK_MODULES(ZVBI,
3423 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3424 if test "${SYS}" = "mingw32"; then
3425 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3427 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3428 VLC_ADD_PLUGIN([zvbi])
3429 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3430 AS_IF( [test "${enable_telx}" = "yes"],[
3431 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3435 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3438 AS_IF( [test "${enable_telx}" != "no" ],[
3439 VLC_ADD_PLUGIN([telx])
3443 dnl libass subtitle rendering module
3445 AC_ARG_ENABLE(libass,
3446 [ --enable-libass Subtitle support using libass (default disabled)])
3447 AS_IF( [test "${enable_libass}" = "yes"], [
3448 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6,
3450 VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3451 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3452 VLC_ADD_PLUGIN([libass])
3454 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3455 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3456 if test "${SYS}" = "mingw32"; then
3457 VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz])
3459 VLC_ADD_LIBS([libass],[-lfontconfig])
3463 AC_MSG_WARN([LIBASS library not found])
3470 AC_ARG_ENABLE(asademux,
3471 [ --enable-asademux asa subtitle demuxing (default disabled)])
3472 AS_IF( [test "${enable_asademux}" = "yes"], [
3473 PKG_CHECK_MODULES(PCRE,
3476 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3477 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3478 if test "${SYS}" = "mingw32"; then
3479 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3481 VLC_ADD_PLUGIN([asademux])
3483 AC_MSG_WARN([PCRE library not found (required for asademux)])
3491 [ --enable-cmml CMML support (default enabled)])
3492 if test "${enable_cmml}" != "no"
3494 VLC_ADD_PLUGIN([cmml])
3498 dnl kate decoder plugin
3501 [ --enable-kate kate codec (default enabled)])
3502 AS_IF([test "${enable_kate}" != "no"], [
3503 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3504 VLC_ADD_PLUGIN([kate])
3505 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3506 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3507 AC_CHECK_HEADERS(kate/kate.h, [
3508 AC_CHECK_LIB(kate, kate_decode_init, [
3509 VLC_ADD_PLUGIN([kate])
3510 kate_libs="-lkate -logg"
3511 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3512 AS_IF([test "x${enable_kate}" != "x"], [
3513 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3514 You also need to check that you have a libogg posterior to the 1.0 release.])
3518 AS_IF([test "x${enable_kate}" != "x"], [
3519 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3520 You also need to check that you have a libogg posterior to the 1.0 release.])
3528 dnl tiger decoder plugin
3530 PKG_ENABLE_MODULES_VLC([TIGER], [], [tiger >= 0.3.1], [Tiger rendering library for Kate streams],[auto])
3537 AC_ARG_WITH(,[Video plugins:])
3545 [ --enable-x11 X11 support with Xlib (default enabled)],, [
3546 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3553 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3555 AS_IF([test "${enable_x11}" != "no"], [
3556 AC_CHECK_HEADERS(X11/Xlib.h)
3559 AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3560 AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3561 AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3563 AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3564 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3569 #include <X11/Xlib.h>
3575 dnl (enabled by default except on win32)
3578 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3579 enable_glx="$enable_x11"
3581 AS_IF([test "${enable_glx}" != "no"], [
3582 AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3583 AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3584 [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3588 VLC_ADD_PLUGIN([glx])
3589 VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3590 VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3591 ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3596 dnl (disabled by default except on win32)
3599 [ --enable-xvmc XvMC support (default disabled)],, [
3602 AS_IF([test "${enable_xvmc}" != "no"], [
3603 AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3604 AS_IF([test "${enable_libmpeg2}" = "yes"], [
3605 VLC_ADD_PLUGIN([xvmc])
3606 VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
3607 VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
3609 AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available])
3612 AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
3616 dnl End of Xlib tests
3617 CPPFLAGS="${CPPFLAGS_save}"
3621 dnl X C Bindings modules
3624 [ --enable-xcb X11 support with XCB (default enabled)],, [
3625 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3631 AC_ARG_ENABLE(xvideo,
3632 [ --enable-xvideo XVideo support (default enabled)],, [
3633 enable_xvideo="$enable_xcb"
3636 AS_IF([test "${enable_xcb}" != "no"], [
3637 PKG_CHECK_MODULES(XPROTO, [xproto])
3640 PKG_CHECK_MODULES(XCB, [xcb])
3641 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3642 VLC_ADD_PLUGIN([xcb_x11])
3643 VLC_ADD_PLUGIN([xcb_screen])
3644 VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
3646 AS_IF([test "${enable_xvideo}" != "no"], [
3647 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3648 VLC_ADD_PLUGIN([xcb_xv])
3650 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3651 VLC_ADD_PLUGIN([xcb_xv])
3652 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3657 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3658 VLC_ADD_PLUGIN([panoramix])
3659 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3660 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3664 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4],
3666 [PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms])
3667 VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])]
3670 VLC_ADD_PLUGIN([xcb_window])
3671 VLC_ADD_PLUGIN([globalhotkeys])
3672 VLC_ADD_CFLAGS([globalhotkeys],[${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}] )
3673 VLC_ADD_LIBS([globalhotkeys],[${XCB_KEYSYMS_LIBS} ${XCB_LIBS}] )
3674 VLC_ADD_PLUGIN([xdg_screensaver])
3680 dnl (enabled by default except on beos)
3682 AC_ARG_ENABLE(opengl,
3683 [ --enable-opengl OpenGL support (default enabled)])
3684 if test "${enable_opengl}" != "no" &&
3685 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3686 if test "${SYS}" != "darwin"; then
3687 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3688 VLC_ADD_PLUGIN([opengl])
3689 if test "${SYS}" != "mingw32"; then
3690 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3692 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3696 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3697 VLC_ADD_PLUGIN([opengl])
3698 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3706 [ --enable-sdl SDL support (default enabled)])
3707 AC_ARG_ENABLE(sdl-image,
3708 [ --enable-sdl-image SDL image support (default enabled)])
3709 if test "${enable_sdl}" != "no"
3712 AC_ARG_WITH(sdl-config-path,
3713 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3714 [ if test "${with_sdl_config_path}" != "no"
3716 SDL_PATH="${with_sdl_config_path}:${PATH}"
3718 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3719 SDL_HEADER="SDL/SDL.h"
3720 SDL_IMAGE="SDL/SDL_image.h"
3722 if test "${SDL_CONFIG}" != "no"; then
3723 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3724 # SDL on Darwin is heavily patched and can only run SDL_image
3725 if test "${SYS}" != "darwin"; then
3726 VLC_ADD_PLUGIN([vout_sdl])
3727 VLC_ADD_PLUGIN([aout_sdl])
3729 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3730 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3733 AS_IF([ test "${enable_sdl_image}" != "no"],[
3734 AC_CHECK_HEADERS("SDL/SDL_image.h", [
3735 VLC_ADD_PLUGIN([sdl_image])
3736 AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3737 AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3738 AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3739 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3740 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3741 You should install it alongside your SDL package.])
3745 AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3746 Alternatively you can also configure with --disable-sdl.])
3748 else if test "${enable_sdl}" = "yes"; then
3749 AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3750 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3759 AC_ARG_ENABLE(freetype,
3760 [ --enable-freetype freetype support (default enabled)])
3761 AC_ARG_ENABLE(fribidi,
3762 [ --enable-fribidi fribidi support (default enabled)])
3763 AC_ARG_ENABLE(fontconfig,
3764 [ --enable-fontconfig, fontconfig support (default enabled)])
3765 if test "${enable_freetype}" != "no"
3767 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3768 VLC_ADD_PLUGIN([freetype])
3770 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3771 if test "${SYS}" = "mingw32"; then
3772 VLC_ADD_LIBS([freetype],[-liconv -lz])
3774 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3775 if test "${enable_fontconfig}" != "no"
3777 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3778 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3779 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3780 AC_CHECK_HEADERS(Carbon/Carbon.h,
3781 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3785 if test "${enable_fribidi}" != "no"
3787 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3788 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3789 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3795 AS_IF([ test "${enable_freetype}" = "yes"],[
3796 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3797 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3807 PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3812 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3815 dnl Snapshot vout module (with cache)
3817 AC_ARG_ENABLE(snapshot,
3818 [ --enable-snapshot snapshot module (default disabled)])
3819 if test "${enable_snapshot}" = "yes"
3821 VLC_ADD_PLUGIN([snapshot])
3825 dnl Qt Embedded module
3826 dnl (disabled by default)
3829 [ --enable-qte QT Embedded support (default disabled)])
3830 if test "${enable_qte}" = "yes"
3833 [ --with-qte=PATH Qt Embedded headers and libraries])
3834 if test "${with_qte}" != "no" -a -n "${with_qte}"
3836 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3837 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])
3839 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3840 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3842 VLC_ADD_PLUGIN([qte])
3844 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3845 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3846 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3848 CPPFLAGS="${CPPFLAGS_save}"
3852 dnl Roku HD1000 Video output module
3854 AC_ARG_ENABLE(hd1000v,
3855 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3856 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3857 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3858 test "${enable_hd1000v}" = "yes"); then
3860 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3862 can_build_roku="yes"
3866 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3868 if test "$can_build_roku" = "yes"
3870 VLC_ADD_PLUGIN([hd1000v])
3871 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3877 dnl Windows DirectX module
3880 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3882 VLC_ADD_PLUGIN([panoramix])
3885 AC_ARG_ENABLE(directx,
3886 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3887 if test "${enable_directx}" != "no"
3889 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3891 AC_CHECK_HEADERS(ddraw.h,
3892 [ VLC_ADD_PLUGIN([directx])
3893 VLC_ADD_PLUGIN([aout_directx])
3894 VLC_ADD_LIBS([directx],[-lgdi32])
3895 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3897 AC_CHECK_HEADERS(GL/gl.h,
3898 [ VLC_ADD_PLUGIN([glwin32])
3899 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3901 AC_CHECK_HEADERS(d3d9.h,
3902 [ VLC_ADD_PLUGIN([direct3d])
3903 VLC_ADD_LIBS([direct3d],[-lgdi32])
3905 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3910 dnl win32 GDI plugin
3912 AC_ARG_ENABLE(wingdi,
3913 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3914 if test "${enable_wingdi}" != "no"; then
3915 if test "${SYS}" = "mingw32"; then
3916 VLC_ADD_PLUGIN([wingdi])
3917 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3919 if test "${SYS}" = "mingwce"; then
3920 VLC_ADD_PLUGIN([wingdi])
3921 VLC_ADD_PLUGIN([wingapi])
3922 VLC_ADD_LIBS([wingdi],[-laygshell])
3923 VLC_ADD_LIBS([wingapi],[-laygshell])
3929 dnl Linux framebuffer module
3932 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3933 if test "${enable_fb}" != "no"
3935 AC_CHECK_HEADERS(linux/fb.h, [
3936 VLC_ADD_PLUGIN([fb])
3941 dnl Linux MGA module
3944 [ --enable-mga Linux kernel Matrox support (default disabled)],
3945 [ if test "${enable_mga}" = "yes"
3947 VLC_ADD_PLUGIN([mga])
3951 dnl OMAP Framebuffer module
3953 AC_ARG_ENABLE(omapfb,
3954 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3955 if test "${enable_omapfb}" = "yes"
3957 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3958 VLC_ADD_PLUGIN([omapfb])
3959 AC_CHECK_HEADERS(X11/Xlib.h, [
3960 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3967 AC_ARG_ENABLE(svgalib,
3968 [ --enable-svgalib SVGAlib support (default disabled)])
3969 if test "${enable_svgalib}" = "yes"
3971 VLC_ADD_PLUGIN([svgalib])
3972 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3977 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3978 dnl TODO: support for static linking
3980 AC_ARG_ENABLE(directfb,
3981 [ --enable-directfb DirectFB support (default disabled)])
3982 AC_ARG_WITH(directfb,
3983 [ --with-directfb=PATH path to DirectFB headers and libraries])
3985 if test "${enable_directfb}" = "yes"; then
3986 have_directfb="false"
3987 CPPFLAGS_mydirectfb=
3989 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3990 dnl Trying the given location
3991 CPPFLAGS_save="${CPPFLAGS}"
3994 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3995 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3996 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3998 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3999 LIBS="${LIBS} ${LIBS_new}"
4001 dnl FIXME: too obscure
4002 AC_CHECK_HEADER([directfb.h], [
4003 AC_CHECK_LIB([direct],[direct_initialize], [
4004 AC_CHECK_LIB([fusion], [fusion_enter], [
4005 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4006 ], have_directfb="false")
4007 ], have_directfb="false")
4008 ], have_directfb="false")
4011 CPPFLAGS="${CPPFLAGS_save}"
4014 if test "${have_directfb}" = "true"; then
4015 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4016 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4019 dnl Look for directfb-config
4020 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4021 if test "${DIRECTFB_CONFIG}" != "no"; then
4022 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4023 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4024 have_directfb="true"
4026 dnl Trying with pkg-config
4027 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4028 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4029 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4030 have_directfb="true"
4031 ], [have_directfb="false"])
4034 if test "${have_directfb}" = "true"; then
4035 VLC_ADD_PLUGIN([directfb])
4036 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4037 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4039 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4049 [ --enable-ggi GGI support (default disabled)])
4050 if test "${enable_ggi}" = "yes"
4052 AC_CHECK_HEADER([ggi/ggi.h],[
4053 VLC_ADD_PLUGIN([ggi])
4054 VLC_ADD_LIBS([ggi],[-lggi])
4056 [ --with-ggi=PATH path to libggi],
4057 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4059 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4060 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4063 AC_MSG_ERROR([LibGGI development files can't be found])
4071 [ --enable-aa aalib output (default disabled)])
4072 if test "${enable_aa}" = "yes"
4074 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4075 if test "${have_aa}" = "true"
4077 VLC_ADD_PLUGIN([aa])
4078 VLC_ADD_LIBS([aa],[-laa])
4085 PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4091 AC_ARG_WITH(,[Audio plugins:])
4094 dnl OSS /dev/dsp module (enabled by default except on win32)
4097 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4099 if test "${enable_oss}" != "no" &&
4100 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4101 test "${enable_oss}" = "yes")
4103 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4104 VLC_ADD_PLUGIN([oss])
4105 VLC_ADD_PLUGIN([access_oss])
4106 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4111 dnl Pulseaudio module
4113 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4116 dnl Portaudio module
4118 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4123 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4124 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4127 dnl win32 waveOut plugin
4129 AC_ARG_ENABLE(waveout,
4130 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4131 if test "${enable_waveout}" != "no"; then
4132 if test "${SYS}" = "mingw32"; then
4133 VLC_ADD_PLUGIN([waveout])
4134 VLC_ADD_LIBS([waveout],[-lwinmm])
4136 if test "${SYS}" = "mingwce"; then
4137 VLC_ADD_PLUGIN([waveout])
4142 dnl CoreAudio plugin
4144 AC_ARG_ENABLE(macosx-audio,
4145 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4146 if test "${enable_macosx-audio}" != "no" &&
4147 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4149 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4150 [ VLC_ADD_PLUGIN([auhal])
4151 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4152 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4156 dnl Roku HD1000 audio
4158 AC_ARG_ENABLE(hd1000a,
4159 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4160 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4161 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4162 test "${enable_hd1000a}" = "yes")
4165 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4166 VLC_ADD_PLUGIN([hd1000a])
4167 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4174 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4175 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4179 dnl CyberLink for C++ UPnP stack
4181 AC_ARG_ENABLE(cyberlink,
4182 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4183 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4184 AC_ARG_WITH(cyberlink-tree,
4185 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4188 dnl test for --with-cyberlink-tree
4190 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4192 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4193 AS_IF([test -z "${real_cyberlink_tree}"], [
4194 dnl The given directory can't be found
4196 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4198 CPPFLAGS_save="${CPPFLAGS}"
4199 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4200 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4201 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4202 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4203 VLC_ADD_PLUGIN([upnp_cc])
4205 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4207 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4208 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4209 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4210 dnl The mere fact that we have to make such an ugly check sucks
4211 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4214 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4215 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4216 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4217 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4218 using namespace CyberLink;
4220 class testclass : public SearchResponseListener, public MediaPlayer
4222 virtual void deviceSearchResponseReceived( SSDPPacket *)
4229 addSearchResponseListener (this);
4233 ],[testclass l;])],[LIBS_cclink="$l"])
4236 dnl should not happen - otherwise this needs fixing - hence FAILURE
4237 AS_IF([test "${LIBS_cclink}" = "no"],
4238 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4239 AC_MSG_RESULT([${LIBS_cclink}])
4240 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4243 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4245 CPPFLAGS="${CPPFLAGS_save}"
4251 dnl UPnP Plugin (Intel SDK)
4253 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4257 dnl Interface plugins
4260 AC_ARG_WITH(,[Interface plugins:])
4262 dnl special case for BeOS
4263 if test "${SYS}" = "beos"
4265 VLC_ADD_PLUGIN([beos])
4271 AC_ARG_ENABLE(skins2,
4272 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4273 enabled except on MacOSX, BeOS and WinCE)])])
4274 if test "${enable_skins2}" = "yes" ||
4275 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4276 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4278 dnl test for the required libraries
4279 skins2_missing_lib="no"
4282 if test "${have_freetype}" != "yes"; then
4283 skins2_missing_lib="yes"
4284 if test "${enable_skins2}" = "yes"; then
4285 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4289 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4290 VLC_ADD_PLUGIN([skins2])
4291 ALIASES="${ALIASES} svlc"
4292 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4293 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4294 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4296 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4297 VLC_ADD_PLUGIN([skins2])
4298 ALIASES="${ALIASES} svlc"
4299 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4300 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4301 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4303 else if test "${skins2_missing_lib}" = "no"; then
4304 VLC_ADD_PLUGIN([skins2])
4305 ALIASES="${ALIASES} svlc"
4306 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4307 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4308 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4311 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4312 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4313 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4318 AC_ARG_ENABLE(maemo,
4319 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4320 if test "${enable_maemo}" = "yes"
4322 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4323 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4324 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4325 VLC_ADD_PLUGIN([maemo])
4326 VLC_ADD_PLUGIN([swscale_maemo])
4327 ALIASES="${ALIASES} mvlc"
4329 AS_IF([test "${enable_maemo}" = "yes"],[
4330 AC_MSG_ERROR([Hildon libraries not found])
4335 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4341 [ --enable-qt4 QT 4 support (default enabled) ],, [
4342 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4344 AS_IF([test "${enable_qt4}" != "no"], [
4345 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4346 VLC_ADD_PLUGIN([qt4])
4347 ALIASES="${ALIASES} qvlc"
4348 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4349 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4351 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4353 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4354 AC_SUBST(QT4LOCALEDIR)
4355 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4356 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4357 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4358 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4360 AS_IF([test "${enable_qt4}" = "yes"],[
4361 AC_MSG_ERROR([Qt 4 library not found])
4363 AC_MSG_WARN([Qt 4 library not found])
4368 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4371 dnl WinCE GUI module
4373 AC_ARG_ENABLE(wince,
4374 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4375 if test "${enable_wince}" != "no"; then
4376 if test "${SYS}" = "mingwce"; then
4377 VLC_ADD_PLUGIN([wince])
4378 VLC_ADD_CXXFLAGS([wince],[])
4379 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4381 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4382 elif test "${SYS}" = "mingw32"; then
4383 VLC_ADD_CXXFLAGS([wince],[])
4384 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4386 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4391 dnl Simple test for skins2 dependency
4393 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4394 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.])
4398 dnl Opie QT embedded module
4401 [ --enable-opie Qt embedded interface support (default disabled)],
4402 [if test "${enable_opie}" = "yes"; then
4404 [ --with-qte=PATH Qt Embedded headers and libraries])
4405 if test "${with_qte}" != "no" -a -n "${with_qte}"
4407 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4408 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])
4410 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4411 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4413 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4414 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4415 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4417 CPPFLAGS="${CPPFLAGS_save}"
4419 VLC_ADD_PLUGIN([opie])
4421 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4422 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4423 if test "${with_qte}" != "no" -a -n "${with_qte}"
4425 MOC=${with_qte}/bin/moc
4427 MOC=${QTDIR}/bin/moc
4432 dnl MacOS X video output/gui modules
4434 AC_ARG_ENABLE(macosx,
4435 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
4436 if test "x${enable_macosx}" = "xyes"
4438 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4439 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4440 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4441 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4442 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4443 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4444 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4445 VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4446 VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4448 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4449 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
4450 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4451 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4452 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
4453 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4454 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4456 VLC_ADD_PLUGIN([access_eyetv])
4457 VLC_ADD_PLUGIN([qtcapture])
4458 VLC_ADD_PLUGIN([macosx])
4459 VLC_ADD_PLUGIN([minimal_macosx])
4460 VLC_ADD_PLUGIN([opengllayer])
4467 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4468 if test "${enable_qnx}" != "no"
4470 AC_CHECK_HEADERS(Ph.h, [
4471 VLC_ADD_PLUGIN([qnx])
4472 VLC_ADD_LIBS([qnx],[-lasound -lph])
4479 AC_ARG_ENABLE(ncurses,
4480 [ --disable-ncurses ncurses interface support (default enabled)],
4481 [if test "${enable_ncurses}" != "no"; then
4482 AC_CHECK_HEADER(ncurses.h,
4483 [AC_CHECK_LIB(ncursesw, mvprintw,
4484 [VLC_ADD_PLUGIN([ncurses])
4485 VLC_ADD_LIBS([ncurses],[-lncursesw])
4486 ALIASES="${ALIASES} nvlc"
4487 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4488 AC_CHECK_LIB(ncursesw, tgetent, [],
4489 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4490 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4491 [AS_IF([test "x${enable_ncurses}" != "x"],
4492 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4498 [AC_CHECK_LIB( ncurses, mvprintw,
4499 [VLC_ADD_PLUGIN([ncurses])
4500 ALIASES="${ALIASES} nvlc"
4501 VLC_ADD_LIBS([ncurses],[-lncurses])
4502 AC_CHECK_LIB(ncurses, tgetent, [],
4503 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4504 [AS_IF([test "x${enable_ncurses}" != "x"],
4505 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4508 [AS_IF([test "x${enable_ncurses}" != "x"], [
4509 AC_MSG_ERROR([libncurses not found])])]
4520 [ --enable-xosd xosd interface support (default disabled)])
4521 if test "${enable_xosd}" = "yes"
4523 AC_CHECK_HEADERS(xosd.h,
4524 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4525 VLC_ADD_PLUGIN([xosd])
4526 VLC_ADD_LIBS([xosd],[-lxosd])
4532 dnl Framebuffer (overlay) plugin
4534 AC_ARG_ENABLE(fbosd,
4535 [ --enable-fbosd fbosd interface support (default disabled)])
4536 if test "${enable_fbosd}" = "yes"
4538 AC_CHECK_HEADERS(linux/fb.h, [
4539 VLC_ADD_PLUGIN([fbosd])
4544 dnl Visualisation plugin
4546 AC_ARG_ENABLE(visual,
4547 [ --enable-visual visualisation plugin (default enabled)])
4548 if test "${enable_visual}" != "no"
4550 VLC_ADD_PLUGIN([visual])
4554 dnl goom visualization plugin
4556 PKG_ENABLE_MODULES_VLC([goom], [], [libgoom2], [goom visualization plugin], [auto])
4559 dnl libprojectM visualization plugin
4561 PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto])
4564 dnl AtmoLight (homebrew AmbiLight)
4567 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4568 (broken, default disabled)]),, [enable_atmo="no"])
4569 AS_IF([test "${enable_atmo}" != no], [
4570 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4572 VLC_ADD_PLUGIN([atmo])
4578 dnl Bonjour services discovery
4579 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4582 dnl libudev services discovery
4583 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
4586 dnl MTP devices services discovery
4587 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4593 [ --enable-lirc lirc support (default disabled)])
4594 if test "${enable_lirc}" = "yes"
4596 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4597 if test "${have_lirc}" = "true"
4599 VLC_ADD_PLUGIN([lirc])
4600 VLC_ADD_LIBS([lirc],[-llirc_client])
4605 AC_ARG_WITH(,[Misc options:])
4610 AC_ARG_ENABLE(libgcrypt,
4611 [ --disable-libgcrypt gcrypt support (default enabled)])
4612 AS_IF([test "${enable_libgcrypt}" != "no"], [
4613 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4614 libgcrypt-config --version >/dev/null || \
4615 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4616 AC_CHECK_LIB(gcrypt, gcry_control, [
4617 have_libgcrypt="yes"
4618 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4619 GCRYPT_LIBS="`libgcrypt-config --libs`"
4621 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4622 ], [`libgcrypt-config --libs`])
4624 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4625 ], [#include <gcrypt.h>]
4629 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4630 AS_IF([test "${have_libgcrypt}" = "yes"],[
4631 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4634 AC_SUBST(GCRYPT_CFLAGS)
4635 AC_SUBST(GCRYPT_LIBS)
4636 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4641 AC_ARG_ENABLE(gnutls,
4642 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4644 AS_IF([test "${enable_gnutls}" != "no"], [
4645 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4646 VLC_ADD_PLUGIN([gnutls])
4647 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4648 AS_IF([test "${SYS}" = "mingw32"], [
4649 dnl pkg-config --libs gnutls omits these
4650 VLC_ADD_LIBS([gnutls], [-lz])
4651 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4653 dnl The GnuTLS plugin invokes gcry_control directly.
4654 AS_IF([test "${have_libgcrypt}" = "yes"],[
4655 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4656 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4658 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4660 AS_IF([test "${enable_gnutls}" = "yes"], [
4661 AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4668 dnl RemoteOSD plugin (VNC client as video filter)
4670 AC_ARG_ENABLE(remoteosd,
4671 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4673 AS_IF([test "${enable_remoteosd}" != "no"], [
4674 AS_IF([test "${have_libgcrypt}" = "yes"],[
4675 VLC_ADD_PLUGIN([remoteosd])
4676 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4677 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4679 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4687 AC_MSG_CHECKING([whether to enable RAOP plugin])
4688 AS_IF([test "${have_libgcrypt}" = "yes"], [
4690 VLC_ADD_PLUGIN([stream_out_raop])
4691 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4692 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4695 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4700 dnl update checking system
4702 AC_ARG_ENABLE(update-check,
4703 [ --enable-update-check update checking system (default disabled)])
4704 if test "${enable_update_check}" = "yes"
4706 if test "${have_libgcrypt}" != "yes"
4708 AC_MSG_ERROR([libgcrypt is required for update checking system])
4710 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4711 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4712 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4717 dnl Endianness check
4720 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4721 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4725 AC_SUBST(DEFS_BIGENDIAN)
4728 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4731 AC_ARG_ENABLE(loader,
4732 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4733 (default disabled)]))
4734 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4735 AS_IF([test "${enable_loader}" = "yes"],
4736 [ VLC_ADD_PLUGIN([dmo])
4737 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4738 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4739 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4740 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4741 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4742 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4743 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4744 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4747 AC_ARG_WITH(,[Components:])
4753 [ --enable-vlc build the VLC media player (default enabled)])
4754 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4757 dnl Microsoft ActiveX support
4760 AC_ARG_ENABLE(activex,
4761 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4762 (default enabled on Win32)]))
4763 AC_ARG_WITH(wine-sdk-path,
4764 [ --with-wine-sdk-path=PATH path to wine sdk])
4765 if test "${enable_activex}" != "no"
4767 if test "${SYS}" = "mingw32"
4769 AC_CHECK_PROGS(MIDL, [midl], no)
4770 if test "${with_wine_sdk_path}" != ""
4772 WINE_SDK_PATH=${with_wine_sdk_path}
4773 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4778 AC_CHECK_HEADERS(ole2.h,
4779 [AC_CHECK_HEADERS(olectl.h,
4780 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4781 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4782 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4783 AC_CHECK_HEADERS(objsafe.h,
4784 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4792 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4794 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4796 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4801 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4802 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4803 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4804 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4805 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4811 AC_ARG_ENABLE(mozilla,
4812 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4813 (default disabled)]))
4814 AC_ARG_WITH(mozilla-sdk-path,
4815 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4816 AC_ARG_WITH(mozilla-pkg,
4817 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4819 if test "${enable_mozilla}" = "yes"
4821 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4824 dnl As we want to do a loop due to the number of name possible for the .pc
4825 dnl we can't use the pkg-config macros.
4827 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4828 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4829 AC_MSG_NOTICE([Checking for Mozilla])
4831 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4835 if test -n "$PKG_CONFIG"; then
4836 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4837 echo "Trying to find $i.pc files" >&5
4838 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4840 echo "Using $i.pc files." >&5
4841 echo "Using $i.pc files." >&6
4843 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
4844 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
4850 AS_IF( [test $found = 1],[
4851 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4852 MOZILLA_REQUIRED_HEADERS=1
4853 AC_CHECK_HEADERS([npfunctions.h])
4854 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4855 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4860 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4861 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4863 MOZILLA_REQUIRED_HEADERS=
4865 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4866 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4867 AS_IF([ test "${SYS}" != "darwin"],[
4868 PKG_CHECK_MODULES(XPM, [xpm xt],[
4869 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4871 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4875 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4876 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4877 VLC_ADD_PLUGIN([mozilla])
4878 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4880 CPPFLAGS="${CPPFLAGS_save}"
4883 AC_PATH_PROGS(MOZILLA_CONFIG,
4884 [mozilla-config seamonkey-config xulrunner-config],
4886 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4889 dnl pkg-config failed but we might have found a mozilla-config
4890 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4891 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4892 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4893 AC_CHECK_LIB(Xt,XtStrings,
4895 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4896 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4899 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4901 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4902 LDFLAGS="${LDFLAGS_save}"
4906 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4907 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4908 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4909 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4910 MOZILLA_REQUIRED_HEADERS=1
4911 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4912 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4913 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4918 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4920 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4922 MOZILLA_REQUIRED_HEADERS=
4923 CPPFLAGS="${CPPFLAGS_save}"
4924 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4926 dnl End of moz_sdk = ""
4928 dnl special case for mingw32
4929 if test "${SYS}" = "mingw32"
4931 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4932 dnl latest gecko sdk does not have an xpcom directory
4933 if test -d "${with_mozilla_sdk_path}/xpcom"; then
4934 mozilla_sdk_xpcom="/xpcom"
4938 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4939 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4940 MOZILLA_REQUIRED_HEADERS=1
4941 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4942 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4943 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4948 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4950 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4952 MOZILLA_REQUIRED_HEADERS=
4954 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4955 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])
4956 if ${need_xpcom_libs}; then
4957 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])
4958 if test "${SYS}" = "mingw32"; then
4959 dnl latest gecko sdk does not have embedstring
4960 if test -d "${real_mozilla_sdk}/embedstring/bin"
4962 VLC_ADD_LIBS([mozilla],[-lembedstring])
4966 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
4968 if test -n "${CYGPATH}"; then
4969 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4971 CPPFLAGS="${CPPFLAGS_save}"
4975 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4977 dnl Tests for Osso and Xsp
4978 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
4979 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
4980 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
4981 VLC_ADD_LIBS([xvmc glx],[-losso])
4984 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
4985 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP])
4986 VLC_ADD_LIBS([xvmc glx],[-lXsp])
4992 AC_ARG_ENABLE(testsuite,
4993 [ --enable-testsuite build test modules (default disabled)])
4994 if test "${enable_testsuite}" = "yes"
4996 TESTS="test1 test2 test3 test4"
4998 dnl we define those so that bootstrap sets the right linker
4999 VLC_ADD_CXXFLAGS([test2],[])
5000 VLC_ADD_OBJCFLAGS([test3],[])
5001 dnl this one is needed until automake knows what to do
5002 VLC_ADD_LIBS([test3],[-lobjc])
5004 VLC_ADD_PLUGIN([test1])
5005 VLC_ADD_PLUGIN([test2])
5006 VLC_ADD_PLUGIN([test3])
5007 VLC_ADD_PLUGIN([test4])
5013 if test "${NEED_QTE_MAIN}" != "no"
5015 VLC_ADD_PLUGIN([qte_main])
5016 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5017 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5018 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5022 dnl Plugin and builtin checks
5026 dnl Automagically disable plugins if there is no system support for
5027 dnl dynamically loadable files (.so, .dll, .dylib).
5028 dnl don't forget vlc-win32 still can load .dll as plugins
5029 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5030 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5034 AS_IF([test "${plugin_support}" != "no"], [
5035 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5039 dnl Pic and shared libvlc stuff
5041 AS_IF([test "${SYS}" = "mingw32"], [
5042 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5043 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5047 dnl Stuff used by the program
5049 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5050 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5051 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5052 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5053 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5054 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5055 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5056 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5057 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5058 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5059 AC_SUBST(COPYRIGHT_MESSAGE)
5060 AC_SUBST(VERSION_MESSAGE)
5061 AC_SUBST(VERSION_MAJOR)
5062 AC_SUBST(VERSION_MINOR)
5063 AC_SUBST(VERSION_REVISION)
5064 AC_SUBST(VERSION_EXTRA)
5065 AC_SUBST(COPYRIGHT_YEARS)
5066 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5067 if test "${build_os}" = "cygwin"
5069 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5071 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5073 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5074 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5075 dnl Win32 need s a numerical version_extra.
5076 case $( echo ${VERSION_EXTRA}|wc -m ) in
5077 "1") VERSION_EXTRA_RC="0";;
5078 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5079 *) VERSION_EXTRA_RC="99"
5081 AC_SUBST(VERSION_EXTRA_RC)
5083 dnl Handle substvars that use $(top_srcdir)
5085 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5086 AC_SUBST(VLC_CONFIG)
5087 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5095 dnl Sort the modules list
5097 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5100 dnl Create the vlc-config script
5102 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5105 dnl Configuration is finished
5115 AC_SUBST(MOZILLA_SDK_PATH)
5116 AC_SUBST(WINE_SDK_PATH)
5118 AC_SUBST(AM_CPPFLAGS)
5119 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5120 AC_SUBST(FILE_LIBVLCCORE_DLL)
5121 AC_SUBST(FILE_LIBVLC_DLL)
5123 dnl Create vlc-config.in
5124 VLC_OUTPUT_VLC_CONFIG_IN
5127 extras/package/win32/vlc.win32.nsi
5128 extras/package/macosx/Info.plist
5129 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5130 extras/package/macosx/plugin/Info.plist
5131 extras/package/macosx/plugin/InstallerInfo.plist
5133 projects/activex/Makefile
5134 projects/activex/axvlc.inf
5136 extras/package/ipkg/Makefile
5137 libs/loader/Makefile
5141 projects/mozilla/Makefile
5144 projects/activex/axvlc_rc.rc
5145 projects/mozilla/npvlc_rc.rc
5146 projects/mozilla/vlc.r
5147 projects/mozilla/install.js
5149 share/vlc_win32_rc.rc
5150 share/libvlc_win32_rc.rc
5156 modules/access/Makefile
5157 modules/access/bd/Makefile
5158 modules/access/bda/Makefile
5159 modules/access/dshow/Makefile
5160 modules/access/dvb/Makefile
5161 modules/access/mms/Makefile
5162 modules/access/cdda/Makefile
5163 modules/access/rtp/Makefile
5164 modules/access/rtsp/Makefile
5165 modules/access/vcd/Makefile
5166 modules/access/vcdx/Makefile
5167 modules/access/screen/Makefile
5168 modules/access/zip/Makefile
5169 modules/access_output/Makefile
5170 modules/audio_filter/Makefile
5171 modules/audio_filter/channel_mixer/Makefile
5172 modules/audio_filter/converter/Makefile
5173 modules/audio_filter/resampler/Makefile
5174 modules/audio_filter/spatializer/Makefile
5175 modules/audio_mixer/Makefile
5176 modules/audio_output/Makefile
5177 modules/codec/Makefile
5178 modules/codec/avcodec/Makefile
5179 modules/codec/cmml/Makefile
5180 modules/codec/dmo/Makefile
5181 modules/codec/shine/Makefile
5182 modules/codec/subtitles/Makefile
5183 modules/codec/spudec/Makefile
5184 modules/codec/wmafixed/Makefile
5185 modules/codec/xvmc/Makefile
5186 modules/control/Makefile
5187 modules/control/http/Makefile
5188 modules/control/globalhotkeys/Makefile
5189 modules/demux/Makefile
5190 modules/demux/asf/Makefile
5191 modules/demux/avformat/Makefile
5192 modules/demux/avi/Makefile
5193 modules/demux/mkv/Makefile
5194 modules/demux/mp4/Makefile
5195 modules/demux/mpeg/Makefile
5196 modules/demux/playlist/Makefile
5197 modules/gui/Makefile
5198 modules/gui/beos/Makefile
5199 modules/gui/macosx/Makefile
5200 modules/gui/maemo/Makefile
5201 modules/gui/minimal_macosx/Makefile
5202 modules/gui/qnx/Makefile
5203 modules/gui/qt4/Makefile
5204 modules/gui/skins2/Makefile
5205 modules/gui/wince/Makefile
5206 modules/meta_engine/Makefile
5207 modules/misc/Makefile
5208 modules/misc/dummy/Makefile
5209 modules/misc/lua/Makefile
5210 modules/misc/memcpy/Makefile
5211 modules/misc/notify/Makefile
5212 modules/misc/testsuite/Makefile
5213 modules/misc/playlist/Makefile
5214 modules/misc/osd/Makefile
5215 modules/misc/stats/Makefile
5216 modules/misc/xml/Makefile
5217 modules/mux/Makefile
5218 modules/mux/mpeg/Makefile
5219 modules/packetizer/Makefile
5220 modules/services_discovery/Makefile
5221 modules/stream_filter/Makefile
5222 modules/stream_out/Makefile
5223 modules/video_chroma/Makefile
5224 modules/video_filter/Makefile
5225 modules/video_filter/dynamicoverlay/Makefile
5226 modules/video_output/Makefile
5227 modules/video_output/msw/Makefile
5228 modules/video_output/qte/Makefile
5229 modules/video_output/x11/Makefile
5230 modules/visualization/Makefile
5231 modules/visualization/visual/Makefile
5234 dnl Generate makefiles
5237 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5238 # not provided with the source
5239 ${SHELL} ./config.status --file=vlc-config
5240 chmod 0755 vlc-config
5242 /bin/echo -n "Enabled modules: "
5243 ./vlc-config --list plugin
5245 dnl Shortcut to nice compile message
5247 echo '#! /bin/sh' >compile
5248 echo rm -f .error\$\$ >>compile
5249 echo ERROR=0 >>compile
5250 echo export PATH=$PATH LANG=C >>compile
5251 echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5252 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5253 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5254 echo rm -f .error\$\$ >>compile
5255 echo exit \$ERROR >>compile
5259 libvlc configuration
5260 --------------------
5261 version : ${VERSION}
5263 architecture : ${ARCH}
5265 test "${enable_debug}" = "yes" && printf "debug "
5266 test "${enable_cprof}" = "yes" && printf "cprof "
5267 test "${enable_gprof}" = "yes" && printf "gprof "
5268 test "${enable_optimizations}" = "yes" && printf "optim "
5269 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5271 if test "${enable_vlc}" != "no"; then
5272 echo "vlc aliases :${ALIASES}"
5274 echo "build vlc executable : no"
5276 echo "plugins/bindings :${PLUGINS_BINDINGS}
5278 You can tune the compiler flags in vlc-config.
5279 To build vlc and its plugins, type \`./compile' or \`make'.
5281 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5283 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5285 echo " FFmpeg will be REALLY slow."
5286 echo " VLC WILL NOT PERFORM AS EXPECTED."