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(libpostproc/postproc.h 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}] )
3679 dnl (enabled by default except on beos)
3681 AC_ARG_ENABLE(opengl,
3682 [ --enable-opengl OpenGL support (default enabled)])
3683 if test "${enable_opengl}" != "no" &&
3684 test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3685 if test "${SYS}" != "darwin"; then
3686 AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3687 VLC_ADD_PLUGIN([opengl])
3688 if test "${SYS}" != "mingw32"; then
3689 VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3691 VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3695 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3696 VLC_ADD_PLUGIN([opengl])
3697 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3705 [ --enable-sdl SDL support (default enabled)])
3706 AC_ARG_ENABLE(sdl-image,
3707 [ --enable-sdl-image SDL image support (default enabled)])
3708 if test "${enable_sdl}" != "no"
3711 AC_ARG_WITH(sdl-config-path,
3712 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3713 [ if test "${with_sdl_config_path}" != "no"
3715 SDL_PATH="${with_sdl_config_path}:${PATH}"
3717 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3718 SDL_HEADER="SDL/SDL.h"
3719 SDL_IMAGE="SDL/SDL_image.h"
3721 if test "${SDL_CONFIG}" != "no"; then
3722 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3723 # SDL on Darwin is heavily patched and can only run SDL_image
3724 if test "${SYS}" != "darwin"; then
3725 VLC_ADD_PLUGIN([vout_sdl])
3726 VLC_ADD_PLUGIN([aout_sdl])
3728 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3729 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3732 AS_IF([ test "${enable_sdl_image}" != "no"],[
3733 AC_CHECK_HEADERS("SDL/SDL_image.h", [
3734 VLC_ADD_PLUGIN([sdl_image])
3735 AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3736 AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3737 AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3738 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3739 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3740 You should install it alongside your SDL package.])
3744 AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3745 Alternatively you can also configure with --disable-sdl.])
3747 else if test "${enable_sdl}" = "yes"; then
3748 AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3749 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3758 AC_ARG_ENABLE(freetype,
3759 [ --enable-freetype freetype support (default enabled)])
3760 AC_ARG_ENABLE(fribidi,
3761 [ --enable-fribidi fribidi support (default enabled)])
3762 AC_ARG_ENABLE(fontconfig,
3763 [ --enable-fontconfig, fontconfig support (default enabled)])
3764 if test "${enable_freetype}" != "no"
3766 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3767 VLC_ADD_PLUGIN([freetype])
3769 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3770 if test "${SYS}" = "mingw32"; then
3771 VLC_ADD_LIBS([freetype],[-liconv -lz])
3773 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3774 if test "${enable_fontconfig}" != "no"
3776 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3777 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3778 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3779 AC_CHECK_HEADERS(Carbon/Carbon.h,
3780 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3784 if test "${enable_fribidi}" != "no"
3786 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3787 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3788 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3794 AS_IF([ test "${enable_freetype}" = "yes"],[
3795 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3796 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3806 PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3811 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3814 dnl Snapshot vout module (with cache)
3816 AC_ARG_ENABLE(snapshot,
3817 [ --enable-snapshot snapshot module (default disabled)])
3818 if test "${enable_snapshot}" = "yes"
3820 VLC_ADD_PLUGIN([snapshot])
3824 dnl Qt Embedded module
3825 dnl (disabled by default)
3828 [ --enable-qte QT Embedded support (default disabled)])
3829 if test "${enable_qte}" = "yes"
3832 [ --with-qte=PATH Qt Embedded headers and libraries])
3833 if test "${with_qte}" != "no" -a -n "${with_qte}"
3835 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3836 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])
3838 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3839 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3841 VLC_ADD_PLUGIN([qte])
3843 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3844 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3845 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3847 CPPFLAGS="${CPPFLAGS_save}"
3851 dnl Roku HD1000 Video output module
3853 AC_ARG_ENABLE(hd1000v,
3854 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3855 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3856 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3857 test "${enable_hd1000v}" = "yes"); then
3859 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3861 can_build_roku="yes"
3865 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3867 if test "$can_build_roku" = "yes"
3869 VLC_ADD_PLUGIN([hd1000v])
3870 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3876 dnl Windows DirectX module
3879 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3881 VLC_ADD_PLUGIN([panoramix])
3884 AC_ARG_ENABLE(directx,
3885 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3886 if test "${enable_directx}" != "no"
3888 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3890 AC_CHECK_HEADERS(ddraw.h,
3891 [ VLC_ADD_PLUGIN([directx])
3892 VLC_ADD_PLUGIN([aout_directx])
3893 VLC_ADD_LIBS([directx],[-lgdi32])
3894 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3896 AC_CHECK_HEADERS(GL/gl.h,
3897 [ VLC_ADD_PLUGIN([glwin32])
3898 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3900 AC_CHECK_HEADERS(d3d9.h,
3901 [ VLC_ADD_PLUGIN([direct3d])
3902 VLC_ADD_LIBS([direct3d],[-lgdi32])
3904 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3909 dnl win32 GDI plugin
3911 AC_ARG_ENABLE(wingdi,
3912 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3913 if test "${enable_wingdi}" != "no"; then
3914 if test "${SYS}" = "mingw32"; then
3915 VLC_ADD_PLUGIN([wingdi])
3916 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3918 if test "${SYS}" = "mingwce"; then
3919 VLC_ADD_PLUGIN([wingdi])
3920 VLC_ADD_PLUGIN([wingapi])
3921 VLC_ADD_LIBS([wingdi],[-laygshell])
3922 VLC_ADD_LIBS([wingapi],[-laygshell])
3928 dnl Linux framebuffer module
3931 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3932 if test "${enable_fb}" != "no"
3934 AC_CHECK_HEADERS(linux/fb.h, [
3935 VLC_ADD_PLUGIN([fb])
3940 dnl Linux MGA module
3943 [ --enable-mga Linux kernel Matrox support (default disabled)],
3944 [ if test "${enable_mga}" = "yes"
3946 VLC_ADD_PLUGIN([mga])
3950 dnl OMAP Framebuffer module
3952 AC_ARG_ENABLE(omapfb,
3953 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3954 if test "${enable_omapfb}" = "yes"
3956 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3957 VLC_ADD_PLUGIN([omapfb])
3958 AC_CHECK_HEADERS(X11/Xlib.h, [
3959 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3966 AC_ARG_ENABLE(svgalib,
3967 [ --enable-svgalib SVGAlib support (default disabled)])
3968 if test "${enable_svgalib}" = "yes"
3970 VLC_ADD_PLUGIN([svgalib])
3971 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3976 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3977 dnl TODO: support for static linking
3979 AC_ARG_ENABLE(directfb,
3980 [ --enable-directfb DirectFB support (default disabled)])
3981 AC_ARG_WITH(directfb,
3982 [ --with-directfb=PATH path to DirectFB headers and libraries])
3984 if test "${enable_directfb}" = "yes"; then
3985 have_directfb="false"
3986 CPPFLAGS_mydirectfb=
3988 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3989 dnl Trying the given location
3990 CPPFLAGS_save="${CPPFLAGS}"
3993 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3994 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3995 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3997 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3998 LIBS="${LIBS} ${LIBS_new}"
4000 dnl FIXME: too obscure
4001 AC_CHECK_HEADER([directfb.h], [
4002 AC_CHECK_LIB([direct],[direct_initialize], [
4003 AC_CHECK_LIB([fusion], [fusion_enter], [
4004 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4005 ], have_directfb="false")
4006 ], have_directfb="false")
4007 ], have_directfb="false")
4010 CPPFLAGS="${CPPFLAGS_save}"
4013 if test "${have_directfb}" = "true"; then
4014 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4015 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4018 dnl Look for directfb-config
4019 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4020 if test "${DIRECTFB_CONFIG}" != "no"; then
4021 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4022 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4023 have_directfb="true"
4025 dnl Trying with pkg-config
4026 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4027 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4028 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4029 have_directfb="true"
4030 ], [have_directfb="false"])
4033 if test "${have_directfb}" = "true"; then
4034 VLC_ADD_PLUGIN([directfb])
4035 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4036 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4038 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4048 [ --enable-ggi GGI support (default disabled)])
4049 if test "${enable_ggi}" = "yes"
4051 AC_CHECK_HEADER([ggi/ggi.h],[
4052 VLC_ADD_PLUGIN([ggi])
4053 VLC_ADD_LIBS([ggi],[-lggi])
4055 [ --with-ggi=PATH path to libggi],
4056 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4058 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4059 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4062 AC_MSG_ERROR([LibGGI development files can't be found])
4070 [ --enable-aa aalib output (default disabled)])
4071 if test "${enable_aa}" = "yes"
4073 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4074 if test "${have_aa}" = "true"
4076 VLC_ADD_PLUGIN([aa])
4077 VLC_ADD_LIBS([aa],[-laa])
4084 PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4090 AC_ARG_WITH(,[Audio plugins:])
4093 dnl OSS /dev/dsp module (enabled by default except on win32)
4096 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4098 if test "${enable_oss}" != "no" &&
4099 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4100 test "${enable_oss}" = "yes")
4102 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4103 VLC_ADD_PLUGIN([oss])
4104 VLC_ADD_PLUGIN([access_oss])
4105 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4110 dnl Pulseaudio module
4112 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4115 dnl Portaudio module
4117 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4122 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4123 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4126 dnl win32 waveOut plugin
4128 AC_ARG_ENABLE(waveout,
4129 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4130 if test "${enable_waveout}" != "no"; then
4131 if test "${SYS}" = "mingw32"; then
4132 VLC_ADD_PLUGIN([waveout])
4133 VLC_ADD_LIBS([waveout],[-lwinmm])
4135 if test "${SYS}" = "mingwce"; then
4136 VLC_ADD_PLUGIN([waveout])
4141 dnl CoreAudio plugin
4143 AC_ARG_ENABLE(macosx-audio,
4144 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4145 if test "${enable_macosx-audio}" != "no" &&
4146 (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4148 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4149 [ VLC_ADD_PLUGIN([auhal])
4150 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4151 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4155 dnl Roku HD1000 audio
4157 AC_ARG_ENABLE(hd1000a,
4158 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4159 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4160 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4161 test "${enable_hd1000a}" = "yes")
4164 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4165 VLC_ADD_PLUGIN([hd1000a])
4166 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4173 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4174 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4178 dnl CyberLink for C++ UPnP stack
4180 AC_ARG_ENABLE(cyberlink,
4181 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4182 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4183 AC_ARG_WITH(cyberlink-tree,
4184 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4187 dnl test for --with-cyberlink-tree
4189 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4191 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4192 AS_IF([test -z "${real_cyberlink_tree}"], [
4193 dnl The given directory can't be found
4195 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4197 CPPFLAGS_save="${CPPFLAGS}"
4198 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4199 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4200 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4201 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4202 VLC_ADD_PLUGIN([upnp_cc])
4204 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4206 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4207 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4208 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4209 dnl The mere fact that we have to make such an ugly check sucks
4210 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4213 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4214 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4215 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4216 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4217 using namespace CyberLink;
4219 class testclass : public SearchResponseListener, public MediaPlayer
4221 virtual void deviceSearchResponseReceived( SSDPPacket *)
4228 addSearchResponseListener (this);
4232 ],[testclass l;])],[LIBS_cclink="$l"])
4235 dnl should not happen - otherwise this needs fixing - hence FAILURE
4236 AS_IF([test "${LIBS_cclink}" = "no"],
4237 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4238 AC_MSG_RESULT([${LIBS_cclink}])
4239 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4242 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4244 CPPFLAGS="${CPPFLAGS_save}"
4250 dnl UPnP Plugin (Intel SDK)
4252 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4256 dnl Interface plugins
4259 AC_ARG_WITH(,[Interface plugins:])
4261 dnl special case for BeOS
4262 if test "${SYS}" = "beos"
4264 VLC_ADD_PLUGIN([beos])
4270 AC_ARG_ENABLE(skins2,
4271 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4272 enabled except on MacOSX, BeOS and WinCE)])])
4273 if test "${enable_skins2}" = "yes" ||
4274 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4275 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4277 dnl test for the required libraries
4278 skins2_missing_lib="no"
4281 if test "${have_freetype}" != "yes"; then
4282 skins2_missing_lib="yes"
4283 if test "${enable_skins2}" = "yes"; then
4284 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4288 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4289 VLC_ADD_PLUGIN([skins2])
4290 ALIASES="${ALIASES} svlc"
4291 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4292 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4293 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4295 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4296 VLC_ADD_PLUGIN([skins2])
4297 ALIASES="${ALIASES} svlc"
4298 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4299 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4300 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4302 else if test "${skins2_missing_lib}" = "no"; then
4303 VLC_ADD_PLUGIN([skins2])
4304 ALIASES="${ALIASES} svlc"
4305 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4306 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4307 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4310 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4311 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4312 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4317 AC_ARG_ENABLE(maemo,
4318 [ --enable-maemo Internet tablets based on Maemo SDK (default disabled)])
4319 if test "${enable_maemo}" = "yes"
4321 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4322 VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
4323 VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
4324 VLC_ADD_PLUGIN([maemo])
4325 VLC_ADD_PLUGIN([swscale_maemo])
4326 ALIASES="${ALIASES} mvlc"
4328 AS_IF([test "${enable_maemo}" = "yes"],[
4329 AC_MSG_ERROR([Hildon libraries not found])
4334 AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
4340 [ --enable-qt4 QT 4 support (default enabled) ],, [
4341 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4343 AS_IF([test "${enable_qt4}" != "no"], [
4344 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4345 VLC_ADD_PLUGIN([qt4])
4346 ALIASES="${ALIASES} qvlc"
4347 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4348 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4350 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4352 QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4353 AC_SUBST(QT4LOCALEDIR)
4354 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4355 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4356 AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4357 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4359 AS_IF([test "${enable_qt4}" = "yes"],[
4360 AC_MSG_ERROR([Qt 4 library not found])
4362 AC_MSG_WARN([Qt 4 library not found])
4367 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4370 dnl WinCE GUI module
4372 AC_ARG_ENABLE(wince,
4373 [ --enable-wince Windows CE interface (default enabled with MinGW)])
4374 if test "${enable_wince}" != "no"; then
4375 if test "${SYS}" = "mingwce"; then
4376 VLC_ADD_PLUGIN([wince])
4377 VLC_ADD_CXXFLAGS([wince],[])
4378 VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4380 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4381 elif test "${SYS}" = "mingw32"; then
4382 VLC_ADD_CXXFLAGS([wince],[])
4383 VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4385 VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4390 dnl Simple test for skins2 dependency
4392 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4393 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.])
4397 dnl Opie QT embedded module
4400 [ --enable-opie Qt embedded interface support (default disabled)],
4401 [if test "${enable_opie}" = "yes"; then
4403 [ --with-qte=PATH Qt Embedded headers and libraries])
4404 if test "${with_qte}" != "no" -a -n "${with_qte}"
4406 VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4407 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])
4409 VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4410 VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4412 CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4413 AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4414 AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4416 CPPFLAGS="${CPPFLAGS_save}"
4418 VLC_ADD_PLUGIN([opie])
4420 VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4421 VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4422 if test "${with_qte}" != "no" -a -n "${with_qte}"
4424 MOC=${with_qte}/bin/moc
4426 MOC=${QTDIR}/bin/moc
4431 dnl MacOS X video output/gui modules
4433 AC_ARG_ENABLE(macosx,
4434 [ --enable-macosx MacOS X support (default enabled on MacOS X)])
4435 if test "x${enable_macosx}" = "xyes"
4437 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4438 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4439 VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4440 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4441 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4442 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4443 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4444 VLC_ADD_LDFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4445 VLC_ADD_OBJCFLAGS([macosx], [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4447 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4448 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
4449 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4450 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4451 VLC_ADD_LDFLAGS([opengllayer qtcapture], [-Wl,-framework,QuartzCore])
4452 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4453 VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4455 VLC_ADD_PLUGIN([access_eyetv])
4456 VLC_ADD_PLUGIN([qtcapture])
4457 VLC_ADD_PLUGIN([macosx])
4458 VLC_ADD_PLUGIN([minimal_macosx])
4459 VLC_ADD_PLUGIN([opengllayer])
4466 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4467 if test "${enable_qnx}" != "no"
4469 AC_CHECK_HEADERS(Ph.h, [
4470 VLC_ADD_PLUGIN([qnx])
4471 VLC_ADD_LIBS([qnx],[-lasound -lph])
4478 AC_ARG_ENABLE(ncurses,
4479 [ --disable-ncurses ncurses interface support (default enabled)],
4480 [if test "${enable_ncurses}" != "no"; then
4481 AC_CHECK_HEADER(ncurses.h,
4482 [AC_CHECK_LIB(ncursesw, mvprintw,
4483 [VLC_ADD_PLUGIN([ncurses])
4484 VLC_ADD_LIBS([ncurses],[-lncursesw])
4485 ALIASES="${ALIASES} nvlc"
4486 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4487 AC_CHECK_LIB(ncursesw, tgetent, [],
4488 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4489 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4490 [AS_IF([test "x${enable_ncurses}" != "x"],
4491 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4497 [AC_CHECK_LIB( ncurses, mvprintw,
4498 [VLC_ADD_PLUGIN([ncurses])
4499 ALIASES="${ALIASES} nvlc"
4500 VLC_ADD_LIBS([ncurses],[-lncurses])
4501 AC_CHECK_LIB(ncurses, tgetent, [],
4502 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4503 [AS_IF([test "x${enable_ncurses}" != "x"],
4504 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4507 [AS_IF([test "x${enable_ncurses}" != "x"], [
4508 AC_MSG_ERROR([libncurses not found])])]
4519 [ --enable-xosd xosd interface support (default disabled)])
4520 if test "${enable_xosd}" = "yes"
4522 AC_CHECK_HEADERS(xosd.h,
4523 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4524 VLC_ADD_PLUGIN([xosd])
4525 VLC_ADD_LIBS([xosd],[-lxosd])
4531 dnl Framebuffer (overlay) plugin
4533 AC_ARG_ENABLE(fbosd,
4534 [ --enable-fbosd fbosd interface support (default disabled)])
4535 if test "${enable_fbosd}" = "yes"
4537 AC_CHECK_HEADERS(linux/fb.h, [
4538 VLC_ADD_PLUGIN([fbosd])
4543 dnl Visualisation plugin
4545 AC_ARG_ENABLE(visual,
4546 [ --enable-visual visualisation plugin (default enabled)])
4547 if test "${enable_visual}" != "no"
4549 VLC_ADD_PLUGIN([visual])
4553 dnl goom visualization plugin
4555 PKG_ENABLE_MODULES_VLC([goom], [], [libgoom2], [goom visualization plugin], [auto])
4558 dnl libprojectM visualization plugin
4560 PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto])
4563 dnl AtmoLight (homebrew AmbiLight)
4566 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4567 (broken, default disabled)]),, [enable_atmo="no"])
4568 AS_IF([test "${enable_atmo}" != no], [
4569 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4571 VLC_ADD_PLUGIN([atmo])
4577 dnl Bonjour services discovery
4578 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4581 dnl HAL services discovery
4582 PKG_ENABLE_MODULES_VLC([HAL], [], [hal >= 0.5.0], [Linux HAL services discovery], [auto])
4585 dnl libudev services discovery
4586 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev], [Linux udev services discovery], [auto])
4589 dnl MTP devices services discovery
4590 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4596 [ --enable-lirc lirc support (default disabled)])
4597 if test "${enable_lirc}" = "yes"
4599 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4600 if test "${have_lirc}" = "true"
4602 VLC_ADD_PLUGIN([lirc])
4603 VLC_ADD_LIBS([lirc],[-llirc_client])
4608 AC_ARG_WITH(,[Misc options:])
4613 AC_ARG_ENABLE(libgcrypt,
4614 [ --disable-libgcrypt gcrypt support (default enabled)])
4615 AS_IF([test "${enable_libgcrypt}" != "no"], [
4616 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4617 libgcrypt-config --version >/dev/null || \
4618 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4619 AC_CHECK_LIB(gcrypt, gcry_control, [
4620 have_libgcrypt="yes"
4621 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4622 GCRYPT_LIBS="`libgcrypt-config --libs`"
4624 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4625 ], [`libgcrypt-config --libs`])
4627 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4628 ], [#include <gcrypt.h>]
4632 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4633 AS_IF([test "${have_libgcrypt}" = "yes"],[
4634 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4637 AC_SUBST(GCRYPT_CFLAGS)
4638 AC_SUBST(GCRYPT_LIBS)
4639 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4644 AC_ARG_ENABLE(gnutls,
4645 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4647 AS_IF([test "${enable_gnutls}" != "no"], [
4648 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4649 VLC_ADD_PLUGIN([gnutls])
4650 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4651 AS_IF([test "${SYS}" = "mingw32"], [
4652 dnl pkg-config --libs gnutls omits these
4653 VLC_ADD_LIBS([gnutls], [-lz])
4654 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4656 dnl The GnuTLS plugin invokes gcry_control directly.
4657 AS_IF([test "${have_libgcrypt}" = "yes"],[
4658 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4659 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4661 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4663 AS_IF([test "${enable_gnutls}" = "yes"], [
4664 AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4671 dnl RemoteOSD plugin (VNC client as video filter)
4673 AC_ARG_ENABLE(remoteosd,
4674 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4676 AS_IF([test "${enable_remoteosd}" != "no"], [
4677 AS_IF([test "${have_libgcrypt}" = "yes"],[
4678 VLC_ADD_PLUGIN([remoteosd])
4679 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4680 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4682 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4690 AC_MSG_CHECKING([whether to enable RAOP plugin])
4691 AS_IF([test "${have_libgcrypt}" = "yes"], [
4693 VLC_ADD_PLUGIN([stream_out_raop])
4694 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4695 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4698 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4703 dnl update checking system
4705 AC_ARG_ENABLE(update-check,
4706 [ --enable-update-check update checking system (default disabled)])
4707 if test "${enable_update_check}" = "yes"
4709 if test "${have_libgcrypt}" != "yes"
4711 AC_MSG_ERROR([libgcrypt is required for update checking system])
4713 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4714 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4715 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4720 dnl Endianness check
4723 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4724 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4728 AC_SUBST(DEFS_BIGENDIAN)
4731 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4734 AC_ARG_ENABLE(loader,
4735 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4736 (default disabled)]))
4737 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4738 AS_IF([test "${enable_loader}" = "yes"],
4739 [ VLC_ADD_PLUGIN([dmo])
4740 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4741 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4742 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4743 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4744 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4745 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4746 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4747 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4750 AC_ARG_WITH(,[Components:])
4756 [ --enable-vlc build the VLC media player (default enabled)])
4757 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4760 dnl Microsoft ActiveX support
4763 AC_ARG_ENABLE(activex,
4764 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4765 (default enabled on Win32)]))
4766 AC_ARG_WITH(wine-sdk-path,
4767 [ --with-wine-sdk-path=PATH path to wine sdk])
4768 if test "${enable_activex}" != "no"
4770 if test "${SYS}" = "mingw32"
4772 AC_CHECK_PROGS(MIDL, [midl], no)
4773 if test "${with_wine_sdk_path}" != ""
4775 WINE_SDK_PATH=${with_wine_sdk_path}
4776 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4781 AC_CHECK_HEADERS(ole2.h,
4782 [AC_CHECK_HEADERS(olectl.h,
4783 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4784 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4785 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4786 AC_CHECK_HEADERS(objsafe.h,
4787 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4795 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4797 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4799 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4804 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4805 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4806 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4807 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4808 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4814 AC_ARG_ENABLE(mozilla,
4815 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4816 (default disabled)]))
4817 AC_ARG_WITH(mozilla-sdk-path,
4818 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4819 AC_ARG_WITH(mozilla-pkg,
4820 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4822 if test "${enable_mozilla}" = "yes"
4824 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4827 dnl As we want to do a loop due to the number of name possible for the .pc
4828 dnl we can't use the pkg-config macros.
4830 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4831 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4832 AC_MSG_NOTICE([Checking for Mozilla])
4834 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4838 if test -n "$PKG_CONFIG"; then
4839 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4840 echo "Trying to find $i.pc files" >&5
4841 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4843 echo "Using $i.pc files." >&5
4844 echo "Using $i.pc files." >&6
4846 MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
4847 MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
4853 AS_IF( [test $found = 1],[
4854 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4855 MOZILLA_REQUIRED_HEADERS=1
4856 AC_CHECK_HEADERS([npfunctions.h])
4857 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4858 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4863 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4864 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4866 MOZILLA_REQUIRED_HEADERS=
4868 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4869 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4870 AS_IF([ test "${SYS}" != "darwin"],[
4871 PKG_CHECK_MODULES(XPM, [xpm xt],[
4872 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4874 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4878 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4879 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4880 VLC_ADD_PLUGIN([mozilla])
4881 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4883 CPPFLAGS="${CPPFLAGS_save}"
4886 AC_PATH_PROGS(MOZILLA_CONFIG,
4887 [mozilla-config seamonkey-config xulrunner-config],
4889 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4892 dnl pkg-config failed but we might have found a mozilla-config
4893 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4894 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4895 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4896 AC_CHECK_LIB(Xt,XtStrings,
4898 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4899 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4902 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4904 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4905 LDFLAGS="${LDFLAGS_save}"
4909 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4910 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4911 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4912 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4913 MOZILLA_REQUIRED_HEADERS=1
4914 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4915 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4916 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4921 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4923 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4925 MOZILLA_REQUIRED_HEADERS=
4926 CPPFLAGS="${CPPFLAGS_save}"
4927 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4929 dnl End of moz_sdk = ""
4931 dnl special case for mingw32
4932 if test "${SYS}" = "mingw32"
4934 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4935 dnl latest gecko sdk does not have an xpcom directory
4936 if test -d "${with_mozilla_sdk_path}/xpcom"; then
4937 mozilla_sdk_xpcom="/xpcom"
4941 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4942 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4943 MOZILLA_REQUIRED_HEADERS=1
4944 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4945 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4946 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4951 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4953 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4955 MOZILLA_REQUIRED_HEADERS=
4957 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4958 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])
4959 if ${need_xpcom_libs}; then
4960 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])
4961 if test "${SYS}" = "mingw32"; then
4962 dnl latest gecko sdk does not have embedstring
4963 if test -d "${real_mozilla_sdk}/embedstring/bin"
4965 VLC_ADD_LIBS([mozilla],[-lembedstring])
4969 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
4971 if test -n "${CYGPATH}"; then
4972 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4974 CPPFLAGS="${CPPFLAGS_save}"
4978 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4980 dnl Tests for Osso and Xsp
4981 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
4982 PKG_CHECK_MODULES(GLIB2, glib-2.0, [
4983 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
4984 VLC_ADD_LIBS([xvmc glx],[-losso])
4987 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
4988 VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP])
4989 VLC_ADD_LIBS([xvmc glx],[-lXsp])
4995 AC_ARG_ENABLE(testsuite,
4996 [ --enable-testsuite build test modules (default disabled)])
4997 if test "${enable_testsuite}" = "yes"
4999 TESTS="test1 test2 test3 test4"
5001 dnl we define those so that bootstrap sets the right linker
5002 VLC_ADD_CXXFLAGS([test2],[])
5003 VLC_ADD_OBJCFLAGS([test3],[])
5004 dnl this one is needed until automake knows what to do
5005 VLC_ADD_LIBS([test3],[-lobjc])
5007 VLC_ADD_PLUGIN([test1])
5008 VLC_ADD_PLUGIN([test2])
5009 VLC_ADD_PLUGIN([test3])
5010 VLC_ADD_PLUGIN([test4])
5016 if test "${NEED_QTE_MAIN}" != "no"
5018 VLC_ADD_PLUGIN([qte_main])
5019 VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5020 VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5021 VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5025 dnl Plugin and builtin checks
5029 dnl Automagically disable plugins if there is no system support for
5030 dnl dynamically loadable files (.so, .dll, .dylib).
5031 dnl don't forget vlc-win32 still can load .dll as plugins
5032 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5033 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5037 AS_IF([test "${plugin_support}" != "no"], [
5038 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5042 dnl Pic and shared libvlc stuff
5044 AS_IF([test "${SYS}" = "mingw32"], [
5045 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5046 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5050 dnl Stuff used by the program
5052 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5053 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5054 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5055 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5056 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5057 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5058 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5059 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5060 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5061 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5062 AC_SUBST(COPYRIGHT_MESSAGE)
5063 AC_SUBST(VERSION_MESSAGE)
5064 AC_SUBST(VERSION_MAJOR)
5065 AC_SUBST(VERSION_MINOR)
5066 AC_SUBST(VERSION_REVISION)
5067 AC_SUBST(VERSION_EXTRA)
5068 AC_SUBST(COPYRIGHT_YEARS)
5069 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5070 if test "${build_os}" = "cygwin"
5072 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5074 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5076 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5077 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5078 dnl Win32 need s a numerical version_extra.
5079 case $( echo ${VERSION_EXTRA}|wc -m ) in
5080 "1") VERSION_EXTRA_RC="0";;
5081 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5082 *) VERSION_EXTRA_RC="99"
5084 AC_SUBST(VERSION_EXTRA_RC)
5086 dnl Handle substvars that use $(top_srcdir)
5088 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5089 AC_SUBST(VLC_CONFIG)
5090 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5098 dnl Sort the modules list
5100 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5103 dnl Create the vlc-config script
5105 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5108 dnl Configuration is finished
5118 AC_SUBST(MOZILLA_SDK_PATH)
5119 AC_SUBST(WINE_SDK_PATH)
5121 AC_SUBST(AM_CPPFLAGS)
5122 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5123 AC_SUBST(FILE_LIBVLCCORE_DLL)
5124 AC_SUBST(FILE_LIBVLC_DLL)
5126 dnl Create vlc-config.in
5127 VLC_OUTPUT_VLC_CONFIG_IN
5130 extras/package/win32/vlc.win32.nsi
5131 extras/package/macosx/Info.plist
5132 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5133 extras/package/macosx/plugin/Info.plist
5134 extras/package/macosx/plugin/InstallerInfo.plist
5136 projects/activex/Makefile
5137 projects/activex/axvlc.inf
5139 extras/package/ipkg/Makefile
5140 libs/loader/Makefile
5144 projects/mozilla/Makefile
5147 projects/activex/axvlc_rc.rc
5148 projects/mozilla/npvlc_rc.rc
5149 projects/mozilla/vlc.r
5150 projects/mozilla/install.js
5152 share/vlc_win32_rc.rc
5153 share/libvlc_win32_rc.rc
5159 modules/access/Makefile
5160 modules/access/bd/Makefile
5161 modules/access/bda/Makefile
5162 modules/access/dshow/Makefile
5163 modules/access/dvb/Makefile
5164 modules/access/mms/Makefile
5165 modules/access/cdda/Makefile
5166 modules/access/rtp/Makefile
5167 modules/access/rtsp/Makefile
5168 modules/access/vcd/Makefile
5169 modules/access/vcdx/Makefile
5170 modules/access/screen/Makefile
5171 modules/access/zip/Makefile
5172 modules/access_output/Makefile
5173 modules/audio_filter/Makefile
5174 modules/audio_filter/channel_mixer/Makefile
5175 modules/audio_filter/converter/Makefile
5176 modules/audio_filter/resampler/Makefile
5177 modules/audio_filter/spatializer/Makefile
5178 modules/audio_mixer/Makefile
5179 modules/audio_output/Makefile
5180 modules/codec/Makefile
5181 modules/codec/avcodec/Makefile
5182 modules/codec/cmml/Makefile
5183 modules/codec/dmo/Makefile
5184 modules/codec/shine/Makefile
5185 modules/codec/subtitles/Makefile
5186 modules/codec/spudec/Makefile
5187 modules/codec/wmafixed/Makefile
5188 modules/codec/xvmc/Makefile
5189 modules/control/Makefile
5190 modules/control/http/Makefile
5191 modules/control/globalhotkeys/Makefile
5192 modules/demux/Makefile
5193 modules/demux/asf/Makefile
5194 modules/demux/avformat/Makefile
5195 modules/demux/avi/Makefile
5196 modules/demux/mkv/Makefile
5197 modules/demux/mp4/Makefile
5198 modules/demux/mpeg/Makefile
5199 modules/demux/playlist/Makefile
5200 modules/gui/Makefile
5201 modules/gui/beos/Makefile
5202 modules/gui/macosx/Makefile
5203 modules/gui/maemo/Makefile
5204 modules/gui/minimal_macosx/Makefile
5205 modules/gui/qnx/Makefile
5206 modules/gui/qt4/Makefile
5207 modules/gui/skins2/Makefile
5208 modules/gui/wince/Makefile
5209 modules/meta_engine/Makefile
5210 modules/misc/Makefile
5211 modules/misc/dummy/Makefile
5212 modules/misc/lua/Makefile
5213 modules/misc/memcpy/Makefile
5214 modules/misc/notify/Makefile
5215 modules/misc/testsuite/Makefile
5216 modules/misc/playlist/Makefile
5217 modules/misc/osd/Makefile
5218 modules/misc/stats/Makefile
5219 modules/misc/xml/Makefile
5220 modules/mux/Makefile
5221 modules/mux/mpeg/Makefile
5222 modules/packetizer/Makefile
5223 modules/services_discovery/Makefile
5224 modules/stream_filter/Makefile
5225 modules/stream_out/Makefile
5226 modules/video_chroma/Makefile
5227 modules/video_filter/Makefile
5228 modules/video_filter/dynamicoverlay/Makefile
5229 modules/video_output/Makefile
5230 modules/video_output/msw/Makefile
5231 modules/video_output/qte/Makefile
5232 modules/video_output/x11/Makefile
5233 modules/visualization/Makefile
5234 modules/visualization/visual/Makefile
5237 dnl Generate makefiles
5240 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5241 # not provided with the source
5242 ${SHELL} ./config.status --file=vlc-config
5243 chmod 0755 vlc-config
5245 /bin/echo -n "Enabled modules: "
5246 ./vlc-config --list plugin
5248 dnl Shortcut to nice compile message
5250 echo '#! /bin/sh' >compile
5251 echo rm -f .error\$\$ >>compile
5252 echo ERROR=0 >>compile
5253 echo export PATH=$PATH LANG=C >>compile
5254 echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5255 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5256 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5257 echo rm -f .error\$\$ >>compile
5258 echo exit \$ERROR >>compile
5262 libvlc configuration
5263 --------------------
5264 version : ${VERSION}
5266 architecture : ${ARCH}
5268 test "${enable_debug}" = "yes" && printf "debug "
5269 test "${enable_cprof}" = "yes" && printf "cprof "
5270 test "${enable_gprof}" = "yes" && printf "gprof "
5271 test "${enable_optimizations}" = "yes" && printf "optim "
5272 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5274 if test "${enable_vlc}" != "no"; then
5275 echo "vlc aliases :${ALIASES}"
5277 echo "build vlc executable : no"
5279 echo "plugins/bindings :${PLUGINS_BINDINGS}
5281 You can tune the compiler flags in vlc-config.
5282 To build vlc and its plugins, type \`./compile' or \`make'.
5284 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5286 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5288 echo " FFmpeg will be REALLY slow."
5289 echo " VLC WILL NOT PERFORM AS EXPECTED."