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="The Luggage"
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/hosts/fat
129 if ! test -d "$CONTRIB_DIR"
131 CONTRIB_DIR=${topdir}/extras/contrib/hosts/${host}
132 if ! test -d "$CONTRIB_DIR"
134 gccmachine=`$CC -dumpmachine`
135 CONTRIB_DIR=${topdir}/extras/contrib/hosts/${gccmachine}
139 AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
140 AS_IF([test -d ${CONTRIB_DIR}/lib],[
142 AC_SUBST(CONTRIB_DIR)
143 export PATH=${CONTRIB_DIR}/bin:$PATH
144 CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
145 CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
146 CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
147 CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
148 CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
149 CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
150 OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
151 OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
152 if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
153 export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
155 export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
157 LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
158 LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
160 if test -z $with_mozilla_sdk_path; then
161 with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
163 if test -z $with_cyberlink_tree; then
164 with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
167 if test ".`uname -s`" = ".Darwin"; then
168 export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
169 export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
170 elif test ".`uname -s`" = ".BeOS"; then
171 export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
172 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}"
209 CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
210 CPPFLAGS="${CPPFLAGS_save}"
211 LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
212 LDFLAGS="${LDFLAGS_save}"
218 CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
219 CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
220 OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
221 LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
222 VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
223 VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
224 VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
225 VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
226 VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
227 VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
228 VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
229 VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
230 AC_ARG_ENABLE(macosx-defaults,
231 AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
232 if test "x${enable_macosx_defaults}" != "xno"
235 echo "Building with Mac OS X defaults:"
236 with_macosx_version_min="10.5"
237 echo " Assuming --with-macosx-version-min=10.5"
238 with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
239 echo " Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
241 echo " Assuming --prefix=${build_dir}/vlc_install_dir"
242 ac_default_prefix="${build_dir}/vlc_install_dir"
244 echo " Assuming --enable-macosx"
246 echo " Assuming --enable-faad"
248 echo " Assuming --enable-flac"
250 echo " Assuming --enable-theora"
252 echo " Assuming --enable-shout"
254 echo " Assuming --enable-cddax"
256 echo " Assuming --enable-vcdx"
258 echo " Assuming --enable-caca"
260 echo " Assuming --enable-ncurses"
262 echo " Assuming --enable-twolame"
263 enable_realrtsp="yes"
264 echo " Assuming --enable-realrtsp"
266 echo " Assuming --enable-libass"
267 enable_asademux="yes"
268 echo " Assuming --enable-asademux"
271 echo " Assuming --disable-skins2"
273 echo " Assuming --disable-xcb"
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 oldhttp stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldtelnet oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a],[-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 oldhttp netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts oldtelnet audiobargraph_a],[-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 oldtelnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
397 VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp oldtelnet 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
453 AS_IF([test "${enable_shared}" = "no"], [
454 AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
460 AM_GNU_GETTEXT_VERSION([0.17])
461 AM_GNU_GETTEXT([external])
462 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
468 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
469 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
471 dnl Check for broken versions of mingw-runtime compatability library
472 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
473 AC_MSG_CHECKING(for broken mingw-runtime)
476 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
477 # error Attempting to use mingw-runtime with broken vsnprintf support
482 AC_MSG_RESULT([present])
483 AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
485 dnl force use of mingw provided c99 *printf over msvcrt
486 CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
487 CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
490 dnl Check for the need to include the mingwex lib for mingw32
491 if test "${SYS}" = "mingw32"
493 AC_CHECK_LIB(mingwex,opendir,
494 AC_CHECK_LIB(mingw32,opendir,,
495 [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
499 dnl Check for fnative-struct or mms-bitfields support for mingw32
500 if test "${SYS}" = "mingw32"
502 AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
503 [ac_cv_c_mms_bitfields],
504 [CFLAGS="${CFLAGS_save} -mms-bitfields"
505 AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
506 if test "${ac_cv_c_mms_bitfields}" != "no"; then
507 CFLAGS_save="${CFLAGS_save} -mms-bitfields";
508 CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
510 AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
511 [ac_cv_c_fnative_struct],
512 [CFLAGS="${CFLAGS_save} -fnative-struct"
513 AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
514 if test "${ac_cv_c_fnative_struct}" != "no"; then
515 CFLAGS_save="${CFLAGS_save} -fnative-struct";
516 CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
520 CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
523 dnl Check for fvtable-thunks support for mingw32
524 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
527 AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
528 [ac_cv_cxx_fvtable_thunks],
529 [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
530 AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
531 ac_cv_cxx_fvtable_thunks=no)])
532 if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
533 CXXFLAGS_mingw32_special="-fvtable-thunks"
536 CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
541 dnl Buggy glibc prevention. Purposedly not cached.
542 dnl See sourceware.org bugs 5058 and 5443.
543 dnl Ubuntu alone has 20 bug numbers for this...
545 AC_MSG_CHECKING(for buggy GNU/libc versions)
548 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
549 && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
550 # error GNU/libc with dcgettext killer bug!
553 AC_MSG_RESULT([not present])
555 AC_MSG_RESULT([found])
556 AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
557 AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
558 work-around for this. Check with your distribution vendor on how to update the
559 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
560 be sure to not use LibVLC from other applications/wrappers.])
562 AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
566 dnl Plugin compilation stuff
570 dnl The -DSYS_FOO flag
571 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
573 dnl Check for system libs needed
576 dnl Check for usual libc functions
577 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])
578 AC_CHECK_FUNCS(fcntl)
579 AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll vasprintf swab tdestroy])
580 AC_CHECK_FUNCS([stricmp strnicmp])
581 AC_CHECK_FUNCS(fdatasync,,
582 [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
585 dnl Check for non-standard system calls
586 AC_CHECK_FUNCS([vmsplice eventfd fstatfs accept4])
588 AH_BOTTOM([#include <vlc_fixups.h>])
590 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
592 dnl Check for setlocal and langinfo
593 AC_CHECK_FUNCS(setlocale)
594 AC_CHECK_HEADERS(langinfo.h)
595 AC_CHECK_FUNCS(nl_langinfo)
597 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
598 [AC_TRY_LINK([#include <langinfo.h>],
599 [char* cs = nl_langinfo(CODESET);],
600 ac_cv_langinfo_codeset=yes,
601 ac_cv_langinfo_codeset=no)
603 if test ${ac_cv_langinfo_codeset} = yes; then
604 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
605 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
609 AC_CHECK_FUNCS(connect,,[
610 AC_CHECK_LIB(socket,connect,[
611 VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
612 SOCKET_LIBS="-lsocket"
615 AC_SUBST(SOCKET_LIBS)
617 AC_CHECK_FUNCS(send,,[
618 AC_CHECK_LIB(socket,send,[
619 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])
624 dnl Check for socklen_t
625 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
626 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
627 ac_cv_type_socklen_t,
628 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
629 [#include <sys/types.h>
631 # include <winsock2.h>
632 # include <ws2tcpip.h>
634 # include <sys/socket.h>
635 #endif]], [[socklen_t len; len = 0;]])],
636 ac_cv_type_socklen_t=yes,
637 ac_cv_type_socklen_t=no)])
638 AS_IF([test "$ac_cv_type_socklen_t" = no],
639 [AC_DEFINE(socklen_t, int)])
641 dnl Check for struct sockaddr_storage
642 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
643 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
644 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
646 [#include <sys/types.h>
647 #if defined( UNDER_CE )
648 # include <winsock2.h>
649 #elif defined( WIN32 )
650 # include <winsock2.h>
652 # include <sys/socket.h>
653 #endif], [struct sockaddr_storage addr;],
654 ac_cv_struct_sockaddr_storage=yes,
655 ac_cv_struct_sockaddr_storage=no)])
656 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
657 AC_DEFINE(sockaddr_storage, sockaddr)
658 AC_DEFINE(ss_family, sa_family)
661 dnl getaddrinfo, getnameinfo and gai_strerror check
662 dnl -lnsl and -lsocket are needed on Solaris;
663 dnl we purposedly make the test fail on Windows
665 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
666 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
668 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
671 AC_CHECK_FUNCS([getnameinfo gai_strerror])
674 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
675 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
676 [#include <sys/types.h>
677 #if defined( WIN32 ) || defined( UNDER_CE )
678 # if defined(UNDER_CE) && defined(sockaddr_storage)
679 # undef sockaddr_storage
681 # include <winsock2.h>
682 # include <ws2tcpip.h>
687 dnl Check for va_copy
688 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
690 [#include <stdarg.h>],
691 [va_list ap1, ap2; va_copy(ap1,ap2);],
692 [ac_cv_c_va_copy="yes"],
693 [ac_cv_c_va_copy="no"]))
694 if test "${ac_cv_c_va_copy}" = "yes"; then
695 AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
697 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
699 [#include <stdarg.h>],
700 [va_list ap1, ap2; __va_copy(ap1,ap2);],
701 [ac_cv_c___va_copy="yes"],
702 [ac_cv_c___va_copy="no"]))
703 if test "${ac_cv_c___va_copy}" = "yes"; then
704 AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
707 AC_CHECK_FUNCS(inet_aton,,[
708 AC_CHECK_LIB(resolv,inet_aton,[
709 VLC_ADD_LIBS([libvlccore],[-lresolv])
713 dnl Check for getopt (always use builtin one on win32)
714 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
718 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
719 [ # FreeBSD has a gnugetopt library for this:
720 AC_CHECK_LIB([gnugetopt],[getopt_long],
721 [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
722 VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
725 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
727 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
730 VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
733 VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
735 AC_CHECK_LIB(m,sqrt,[
736 VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
738 AC_CHECK_LIB(m,ceil,[
739 VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm])
742 VLC_ADD_LIBS([gaussianblur],[-lm])
744 AC_CHECK_LIB(m,round,[
745 VLC_ADD_LIBS([dbus],[-lm])
747 AC_CHECK_LIB(m,sqrtf,[
748 VLC_ADD_LIBS([x264],[-lm])
750 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
752 AC_CHECK_LIB(m,lrintf, [
753 AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
754 VLC_ADD_LIBS([skins2],[-lm])
757 dnl Check for dynamic plugins
758 ac_cv_have_plugins=no
761 if test "${ac_cv_have_plugins}" = "no"; then
762 AC_CHECK_HEADERS(dl.h)
763 ac_cv_my_have_shl_load=no
764 AC_CHECK_FUNC(shl_load,
765 [ac_cv_my_have_shl_load=yes,
766 AC_CHECK_LIB(dld, shl_load,
767 [ac_cv_my_have_shl_load=yes
768 VLC_ADD_LIBS([libvlccore],[-ldld])])])
769 if test "${ac_cv_my_have_shl_load}" = "yes"; then
770 AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
771 ac_cv_have_plugins=yes
776 if test "${ac_cv_have_plugins}" = "no"; then
777 if test "${SYS}" = "mingw32" ; then
778 AC_CHECK_LIB(kernel32, main,
779 [VLC_ADD_LIBS([libvlccore],[-lkernel32])
780 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
781 ac_cv_have_plugins=yes])
786 if test "${ac_cv_have_plugins}" = "no"; then
787 if test "${SYS}" = "mingwce"; then
788 AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
789 ac_cv_have_plugins=yes
794 if test "${ac_cv_have_plugins}" = "no"; then
795 AC_CHECK_HEADERS(image.h)
796 AC_CHECK_FUNCS(load_add_on,
797 [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
798 ac_cv_have_plugins=yes])
801 # Only test for dlopen() if the others didn't work
802 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
803 AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
804 ac_cv_my_have_dlopen=no
805 AC_CHECK_FUNC(dlopen,
806 ac_cv_my_have_dlopen=yes,
807 AC_CHECK_LIB(dl, dlopen,
808 ac_cv_my_have_dlopen=yes
809 VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]),
810 AC_CHECK_LIB(svld, dlopen,
811 ac_cv_my_have_dlopen=yes
812 VLC_ADD_LIBS([libvlccore],[-lsvld]))))
813 if test "${ac_cv_my_have_dlopen}" = "yes"; then
814 AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
815 ac_cv_have_plugins=yes
819 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
820 dnl Check for pthreads - borrowed from XMMS
822 if test "${THREAD_LIB}" = "error"; then
823 AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
825 if test "${THREAD_LIB}" = "error"; then
826 AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
828 if test "${THREAD_LIB}" = "error"; then
829 AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
831 if test "${THREAD_LIB}" = "error"; then
832 AC_CHECK_FUNCS(pthread_mutex_lock)
836 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
838 AC_CHECK_LIB(rt, clock_nanosleep, [
839 VLC_ADD_LIBS([libvlccore],[-lrt])
840 AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
843 AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
847 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
848 AC_CHECK_LIB(rt,nanosleep,
849 [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
850 [AC_CHECK_LIB(posix4,nanosleep,
851 [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
854 if ${have_nanosleep}; then
855 AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
857 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
859 dnl Check for misc headers
860 AC_MSG_CHECKING(for strncasecmp in strings.h)
861 AC_EGREP_HEADER(strncasecmp,strings.h,[
863 AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
864 Define if <strings.h> defines strncasecmp.)],[
867 dnl Check for headers
868 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
869 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
870 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
871 AC_CHECK_HEADERS([net/if.h], [], [],
873 #include <sys/types.h>
874 #include <sys/socket.h>
876 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
877 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
878 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
879 AC_CHECK_HEADERS(syslog.h)
880 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
884 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
885 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
886 AC_CHECK_TYPE(ssize_t,, [
887 AC_DEFINE(ssize_t, int)
891 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
892 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
894 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])
900 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
901 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
903 dnl Mac OS X and other OSes don't have declaration for nanosleep
904 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
905 AC_MSG_CHECKING(for nanosleep in time.h)
906 AC_EGREP_HEADER(nanosleep,time.h,[
908 AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
909 Define if <time.h> defines nanosleep.)
913 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
915 dnl Make sure we have timespecs
916 AC_MSG_CHECKING(for timespec in sys/time.h)
917 AC_EGREP_HEADER(timespec,sys/time.h,[
919 AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
920 Define if <sys/time.h> defines struct timespec.)
925 dnl Check for threads library
926 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
927 AC_CHECK_HEADERS(pthread.h)
928 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
930 dnl It seems that autoconf detects pkg-config only during the first
931 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
932 dnl it is nested within a conditional block, so it was not working right.
933 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
934 AC_ARG_VAR(PKG_CONFIG_PATH,
935 [Paths where to find .pc not at the default location])
936 PKG_PROG_PKG_CONFIG()
938 dnl On some OS we need static linking
939 AS_IF([test -n "${PKG_CONFIG}" ],[
940 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
941 PKG_CONFIG="${PKG_CONFIG} --static"
947 dnl Check for zlib.h and -lz along with system -lminizip if available
949 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
950 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
951 if test "${have_zlib}" = "yes"
953 VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
954 PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
955 AC_CHECK_HEADERS([unzip.h], [
957 MINIZIP_LIBS="-lminizip -lz"
960 MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
961 MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
964 VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
965 VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
966 VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
967 VLC_ADD_PLUGIN([unzip])
968 VLC_ADD_PLUGIN([zip])
970 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
975 [ --enable-dbus Linux D-BUS message bus system (default enabled)])
978 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
981 PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
982 [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
983 VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
984 VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
985 dnl Check for dbus control interface
986 AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)])
987 if test "${enable_dbus_control}" != "no"
989 VLC_ADD_PLUGIN([dbus])
990 VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
991 VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
993 dnl Check for Telepathy
994 AC_ARG_ENABLE(telepathy,
995 AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
996 if test "${enable_telepathy}" != "no"; then
997 VLC_ADD_PLUGIN([telepathy])
998 VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
999 VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
1001 dnl Power Management Inhibiter
1002 VLC_ADD_PLUGIN([inhibit])
1003 VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
1004 VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
1006 [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
1012 dnl Check for ntohl, etc.
1013 AC_CACHE_CHECK([for ntohl in sys/param.h],
1014 [ac_cv_c_ntohl_sys_param_h],
1015 [CFLAGS="${CFLAGS_save} -Wall -Werror"
1016 AC_TRY_COMPILE([#include <sys/param.h>],
1017 [int meuh; ntohl(meuh);],
1018 ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1019 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1020 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1022 CFLAGS="${CFLAGS_save}"
1024 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])
1025 RDC_PROG_CC_FLAGS([-pipe])
1027 AC_ARG_ENABLE(warnings-as-error,
1028 AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default disabled)]),, [enable_warnings_as_error="no"])
1029 AS_IF([test "${enable_warnings_as_error}" = "yes"], [
1030 RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
1031 missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
1032 bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
1033 overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
1035 AC_SUBST(CFLAGS_WERROR)
1037 dnl Check for various optimization flags
1038 AC_CACHE_CHECK([if \$CC accepts -Os],
1040 [CFLAGS="${CFLAGS_save} -Os"
1041 AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1042 if test "${ac_cv_c_os}" != "no"; then
1043 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1045 AC_CACHE_CHECK([if \$CC accepts -O],
1047 [CFLAGS="${CFLAGS_save} -O"
1048 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1049 if test "${ac_cv_c_o}" != "no"; then
1050 if test "${ac_cv_c_o3}" = "no"; then
1051 CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1056 AC_CACHE_CHECK([if \$CC accepts -O4],
1058 [CFLAGS="${CFLAGS_save} -O4"
1059 AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1060 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1061 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1063 AC_CACHE_CHECK([if \$CC accepts -O3],
1065 [CFLAGS="${CFLAGS_save} -O3"
1066 AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1067 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1068 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1070 AC_CACHE_CHECK([if \$CC accepts -O2],
1072 [CFLAGS="${CFLAGS_save} -O2"
1073 AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1074 if test "${ac_cv_c_o2}" != "no"; then
1075 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1077 AC_CACHE_CHECK([if \$CC accepts -O],
1079 [CFLAGS="${CFLAGS_save} -O"
1080 AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1081 if test "${ac_cv_c_o}" != "no"; then
1082 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1088 AC_CACHE_CHECK([if \$CC accepts -O0],
1090 [CFLAGS="${CFLAGS_save} -O0"
1091 AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1092 if test "${ac_cv_c_o0}" != "no"; then
1093 CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1096 dnl Check for -ffast-math
1097 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1098 [ac_cv_c_fast_math],
1099 [CFLAGS="${CFLAGS_save} -ffast-math"
1100 AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1101 if test "${ac_cv_c_fast_math}" != "no"; then
1102 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1105 dnl Check for -funroll-loops
1106 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1107 if test "${SYS}" != "beos"
1109 AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1110 [ac_cv_c_unroll_loops],
1111 [CFLAGS="${CFLAGS_save} -funroll-loops"
1112 AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1113 if test "${ac_cv_c_unroll_loops}" != "no"; then
1114 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1118 dnl Check for -fomit-frame-pointer
1119 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1120 [ac_cv_c_omit_frame_pointer],
1121 [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1122 AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1123 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1124 if test "${SYS}" != "darwin"; then
1125 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1127 dnl On darwin we explicitely disable it.
1128 CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1132 dnl Check for Darwin plugin linking flags
1133 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1135 [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1136 AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1137 if test "${ac_cv_ld_darwin}" != "no"; then
1138 VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1141 dnl Checks for __attribute__(aligned()) directive
1142 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1143 [ac_cv_c_attribute_aligned],
1144 [ac_cv_c_attribute_aligned=0
1145 CFLAGS="${CFLAGS_save} -Werror"
1146 for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1148 [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1149 [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1151 CFLAGS="${CFLAGS_save}"])
1152 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1153 AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1154 [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1157 dnl Check for __attribute__((packed))
1158 AC_CACHE_CHECK([for __attribute__((packed))],
1159 [ac_cv_c_attribute_packed],
1160 [ac_cv_c_attribute_packed=no
1161 AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1162 [ac_cv_c_attribute_packed=yes])])
1163 if test "${ac_cv_c_attribute_packed}" != "no"; then
1164 AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1170 case "${host_cpu}" in
1179 dnl Check for backtrace() support
1180 AC_CHECK_HEADERS(execinfo.h)
1181 AC_CHECK_FUNCS(backtrace)
1184 dnl Enable profiling
1186 AC_ARG_ENABLE(gprof,
1187 [ --enable-gprof gprof profiling (default disabled)])
1188 AC_ARG_ENABLE(cprof,
1189 [ --enable-cprof cprof profiling (default disabled)])
1190 test "${enable_gprof}" != "yes" && enable_gprof="no"
1191 test "${enable_cprof}" != "yes" && enable_cprof="no"
1197 VLC_ADD_PLUGIN([deinterlace])
1198 VLC_ADD_PLUGIN([yuvp])
1199 VLC_ADD_PLUGIN([invert])
1200 VLC_ADD_PLUGIN([mirror])
1201 VLC_ADD_PLUGIN([adjust])
1202 VLC_ADD_PLUGIN([transform])
1203 VLC_ADD_PLUGIN([wave])
1204 VLC_ADD_PLUGIN([ripple])
1205 VLC_ADD_PLUGIN([psychedelic])
1206 VLC_ADD_PLUGIN([gradient])
1207 VLC_ADD_PLUGIN([ball])
1208 VLC_ADD_PLUGIN([motionblur])
1209 VLC_ADD_PLUGIN([rv32])
1210 VLC_ADD_PLUGIN([rotate])
1211 VLC_ADD_PLUGIN([noise])
1212 VLC_ADD_PLUGIN([grain])
1213 VLC_ADD_PLUGIN([extract])
1214 VLC_ADD_PLUGIN([sharpen])
1215 VLC_ADD_PLUGIN([croppadd])
1216 VLC_ADD_PLUGIN([canvas])
1217 VLC_ADD_PLUGIN([blendbench])
1218 VLC_ADD_PLUGIN([blend])
1219 VLC_ADD_PLUGIN([scale])
1220 VLC_ADD_PLUGIN([vmem])
1221 VLC_ADD_PLUGIN([logo])
1222 VLC_ADD_PLUGIN([audiobargraph_v])
1223 VLC_ADD_PLUGIN([magnify])
1224 VLC_ADD_PLUGIN([puzzle])
1225 VLC_ADD_PLUGIN([colorthres])
1226 VLC_ADD_PLUGIN([scene])
1227 VLC_ADD_PLUGIN([yuv])
1229 ALIASES="${ALIASES} cvlc"
1232 dnl default modules that need g++
1235 VLC_ADD_PLUGIN([spatializer])
1238 if test "${SYS}" != "mingwce"; then
1239 VLC_ADD_PLUGIN([gestures])
1240 VLC_ADD_PLUGIN([oldrc])
1241 VLC_ADD_PLUGIN([hotkeys])
1242 VLC_ADD_PLUGIN([showintf])
1243 VLC_ADD_PLUGIN([marq])
1244 VLC_ADD_PLUGIN([podcast])
1245 VLC_ADD_PLUGIN([shout])
1246 VLC_ADD_PLUGIN([sap])
1247 VLC_ADD_PLUGIN([mediadirs])
1248 VLC_ADD_PLUGIN([fake])
1249 VLC_ADD_PLUGIN([folder])
1250 VLC_ADD_PLUGIN([rss])
1251 VLC_ADD_PLUGIN([mosaic])
1252 VLC_ADD_PLUGIN([wall])
1253 VLC_ADD_PLUGIN([motiondetect])
1254 VLC_ADD_PLUGIN([clone])
1255 VLC_ADD_PLUGIN([crop])
1256 VLC_ADD_PLUGIN([erase])
1257 VLC_ADD_PLUGIN([bluescreen])
1258 VLC_ADD_PLUGIN([alphamask])
1259 VLC_ADD_PLUGIN([gaussianblur])
1260 VLC_ADD_PLUGIN([i420_yuy2])
1261 VLC_ADD_PLUGIN([i422_yuy2])
1262 VLC_ADD_PLUGIN([i420_ymga])
1263 VLC_ADD_PLUGIN([i422_i420])
1264 VLC_ADD_PLUGIN([yuy2_i422])
1265 VLC_ADD_PLUGIN([yuy2_i420])
1266 VLC_ADD_PLUGIN([chain])
1267 VLC_ADD_PLUGIN([aout_file])
1268 VLC_ADD_PLUGIN([linear_resampler])
1269 VLC_ADD_PLUGIN([bandlimited_resampler])
1270 VLC_ADD_PLUGIN([float32_mixer])
1271 VLC_ADD_PLUGIN([spdif_mixer])
1272 VLC_ADD_PLUGIN([simple_channel_mixer])
1273 VLC_ADD_PLUGIN([dolby_surround_decoder])
1274 VLC_ADD_PLUGIN([headphone_channel_mixer])
1275 VLC_ADD_PLUGIN([normvol])
1276 VLC_ADD_PLUGIN([audiobargraph_a])
1277 VLC_ADD_PLUGIN([equalizer])
1278 VLC_ADD_PLUGIN([param_eq])
1279 VLC_ADD_PLUGIN([scaletempo])
1280 VLC_ADD_PLUGIN([a52tospdif])
1281 VLC_ADD_PLUGIN([dtstospdif])
1282 ALIASES="${ALIASES} rvlc"
1285 if test "${SYS}" = "mingwce"; then
1286 VLC_ADD_PLUGIN([chain])
1287 VLC_ADD_PLUGIN([aout_file])
1288 VLC_ADD_PLUGIN([linear_resampler])
1289 VLC_ADD_PLUGIN([bandlimited_resampler])
1290 VLC_ADD_PLUGIN([float32_mixer])
1291 VLC_ADD_PLUGIN([spdif_mixer])
1292 VLC_ADD_PLUGIN([simple_channel_mixer])
1293 VLC_ADD_PLUGIN([headphone_channel_mixer])
1294 VLC_ADD_PLUGIN([normvol])
1295 VLC_ADD_PLUGIN([audiobargraph_a])
1296 VLC_ADD_PLUGIN([a52tospdif])
1297 VLC_ADD_PLUGIN([dtstospdif])
1298 VLC_ADD_PLUGIN([i420_yuy2])
1299 VLC_ADD_PLUGIN([i422_yuy2])
1300 VLC_ADD_PLUGIN([i420_ymga])
1301 VLC_ADD_PLUGIN([i422_i420])
1302 VLC_ADD_PLUGIN([yuy2_i422])
1303 VLC_ADD_PLUGIN([yuy2_i420])
1307 dnl Some plugins aren't useful on some platforms
1309 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1310 VLC_ADD_PLUGIN([motion])
1311 VLC_ADD_PLUGIN([dynamicoverlay])
1312 VLC_ADD_PLUGIN([signals])
1313 elif test "${SYS}" != "mingwce"; then
1314 VLC_ADD_PLUGIN([ntservice])
1315 VLC_ADD_PLUGIN([access_smb])
1316 VLC_ADD_PLUGIN([dmo])
1317 VLC_ADD_PLUGIN([msn])
1318 VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1319 VLC_ADD_PLUGIN([globalhotkeys])
1321 VLC_ADD_PLUGIN([win32text])
1323 if test "${SYS}" = "darwin"; then
1324 VLC_ADD_PLUGIN([quartztext])
1325 VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1329 dnl Accelerated modules
1332 AC_ARG_WITH(,[Optimization options:])
1334 dnl Check for fully working MMX intrinsics
1335 dnl We need support for -mmmx, we need <mmintrin.h>, and we also need a
1336 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1338 [ --disable-mmx disable MMX optimizations (default auto)],,[
1339 case "${host_cpu}" in
1348 AS_IF([test "${enable_mmx}" != "no"], [
1351 AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1352 [ac_cv_c_mmx_intrinsics],
1353 [CFLAGS="${CFLAGS_save} -O -mmmx"
1354 AC_TRY_COMPILE([#include <mmintrin.h>
1358 a = b = c = (__m64)frobzor;
1359 a = _mm_slli_pi16(a, 3);
1360 a = _mm_adds_pi16(a, b);
1361 c = _mm_srli_pi16(c, 8);
1362 c = _mm_slli_pi16(c, 3);
1363 b = _mm_adds_pi16(b, c);
1364 a = _mm_unpacklo_pi8(a, b);
1365 frobzor = (uint64_t)a;],
1366 [ac_cv_c_mmx_intrinsics=yes],
1367 [ac_cv_c_mmx_intrinsics=no])])
1368 AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1369 AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1370 [Define to 1 if MMX intrinsics are available.])
1371 VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1374 AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1376 [CFLAGS="${CFLAGS_save}"
1377 AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1378 ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1379 AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1380 AC_DEFINE(CAN_COMPILE_MMX, 1,
1381 [Define to 1 inline MMX assembly is available.])
1382 VLC_ADD_PLUGIN([memcpymmx])
1383 VLC_ADD_PLUGIN([i420_rgb_mmx])
1384 VLC_ADD_PLUGIN([i420_yuy2_mmx])
1385 VLC_ADD_PLUGIN([i422_yuy2_mmx])
1386 VLC_ADD_PLUGIN([i420_ymga_mmx])
1389 AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1390 [ac_cv_mmxext_inline],
1391 [CFLAGS="${CFLAGS_save}"
1392 AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1393 ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1394 AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1395 AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1396 [Define to 1 if MMX EXT inline assembly is available.])
1397 VLC_ADD_PLUGIN([memcpymmxext])
1401 dnl Check for fully workin SSE2 intrinsics
1402 dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
1403 dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1405 [ --disable-sse disable SSE (1, 2, 3 and 4) optimizations (default auto)]
1407 case "${host_cpu}" in
1416 AS_IF([test "${enable_sse}" != "no"], [
1417 ARCH="${ARCH} sse sse2"
1419 AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1420 [ac_cv_c_sse2_intrinsics],
1421 [CFLAGS="${CFLAGS_save} -O -msse2"
1422 AC_TRY_COMPILE([#include <emmintrin.h>
1426 a = b = c = _mm_set1_epi64((__m64)frobzor);
1427 a = _mm_slli_epi16(a, 3);
1428 a = _mm_adds_epi16(a, b);
1429 c = _mm_srli_epi16(c, 8);
1430 c = _mm_slli_epi16(c, 3);
1431 b = _mm_adds_epi16(b, c);
1432 a = _mm_unpacklo_epi8(a, b);
1433 frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1434 [ac_cv_c_sse2_intrinsics=yes],
1435 [ac_cv_c_sse2_intrinsics=no])])
1436 AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1437 AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1438 [Define to 1 if SSE2 intrinsics are available.])
1439 VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1442 AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1444 [CFLAGS="${CFLAGS_save}"
1445 AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1446 ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1447 AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1448 AC_DEFINE(CAN_COMPILE_SSE, 1,
1449 [Define to 1 if SSE inline assembly is available.])
1452 AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1453 [ac_cv_sse2_inline],
1454 [CFLAGS="${CFLAGS_save}"
1455 AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1456 ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1457 AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1458 AC_DEFINE(CAN_COMPILE_SSE2, 1,
1459 [Define to 1 if SSE2 inline assembly is available.])
1460 VLC_ADD_PLUGIN([i420_rgb_sse2])
1461 VLC_ADD_PLUGIN([i420_yuy2_sse2])
1462 VLC_ADD_PLUGIN([i422_yuy2_sse2])
1466 AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1467 [ac_cv_sse3_inline],
1468 [CFLAGS="${CFLAGS_save}"
1469 AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1470 ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
1471 AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1472 AC_DEFINE(CAN_COMPILE_SSE3, 1,
1473 [Define to 1 if SSE3 inline assembly is available.]) ])
1475 AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1476 [ac_cv_ssse3_inline],
1477 [CFLAGS="${CFLAGS_save}"
1478 AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1479 ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
1480 AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1481 AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1482 [Define to 1 if SSSE3 inline assembly is available.]) ])
1485 AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
1486 [ac_cv_sse4_1_inline],
1487 [CFLAGS="${CFLAGS_save}"
1488 AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1489 ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
1490 AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
1491 AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
1492 [Define to 1 if SSE4_1 inline assembly is available.]) ])
1495 AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
1496 [ac_cv_sse4_2_inline],
1497 [CFLAGS="${CFLAGS_save}"
1498 AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
1499 ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
1500 AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
1501 AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
1502 [Define to 1 if SSE4_2 inline assembly is available.]) ])
1505 AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
1506 [ac_cv_sse4a_inline],
1507 [CFLAGS="${CFLAGS_save}"
1508 AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
1509 ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
1510 AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
1511 AC_DEFINE(CAN_COMPILE_SSE4A, 1,
1512 [Define to 1 if SSE4A inline assembly is available.]) ])
1515 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1516 [ac_cv_3dnow_inline],
1517 [CFLAGS="${CFLAGS_save}"
1518 AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1519 ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1520 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1521 AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1522 [Define to 1 if 3D Now! inline assembly is available.])
1523 VLC_ADD_PLUGIN([memcpy3dn])
1528 [ --disable-neon disable NEON optimizations (default auto)],, [
1529 AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1531 AS_IF([test "${enable_neon}" != "no"], [
1532 AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1534 AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
1536 ac_cv_neon_inline="yes"
1538 ac_cv_neon_inline="no"
1542 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
1544 AC_ARG_ENABLE(altivec,
1545 [ --disable-altivec disable AltiVec optimizations (default auto)],, [
1546 AS_IF([test "${host_cpu}" = "powerpc"],
1547 [enable_altivec=yes], [enable_altivec=no])
1549 AS_IF([test "${enable_altivec}" = "yes"], [
1550 ARCH="${ARCH} altivec";
1551 AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1552 [ac_cv_altivec_inline],
1553 [CFLAGS="${CFLAGS_save}"
1554 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1555 ac_cv_altivec_inline="yes",
1556 [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1557 AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1558 [ac_cv_altivec_inline="-Wa,-m7400"],
1559 ac_cv_altivec_inline=no)
1561 AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1562 AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1563 [Define to 1 if AltiVec inline assembly is available.])
1564 AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1565 VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1566 VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1567 VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1568 VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1569 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1571 VLC_ADD_PLUGIN([memcpyaltivec])
1572 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1575 dnl The AltiVec C extensions
1577 dnl There are several possible cases:
1578 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1579 dnl need <altivec.h>
1580 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1581 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1582 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1583 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1584 dnl - Others: test should fail
1585 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1587 [# OS X/PPC test (gcc 4.x)
1588 CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1589 AC_TRY_COMPILE([vector unsigned char foo;],
1590 [vec_ld(0, (unsigned char *)0);],
1591 [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1592 [# OS X/PPC test (gcc 3.x)
1593 CFLAGS="${CFLAGS_save} -faltivec"
1594 AC_TRY_COMPILE([vector unsigned char foo;],
1595 [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1596 [ac_cv_c_altivec="-faltivec"],
1597 dnl Below this are the Linux tests
1598 [# Linux/PPC test (gcc 4.x)
1599 CFLAGS="${CFLAGS_save} -maltivec"
1600 AC_TRY_COMPILE([#include <altivec.h>],
1601 [vec_ld(0, (unsigned char *)0);],
1602 [ac_cv_c_altivec="-maltivec"],
1603 [# Linux/PPC test (gcc 3.3)
1604 CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1605 AC_TRY_COMPILE([#include <altivec.h>],
1606 [vec_ld(0, (unsigned char *)0);],
1608 ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1609 [# Linux/PPC test (gcc 3.3)
1610 CFLAGS="${CFLAGS_save} -fvec"
1611 AC_TRY_COMPILE([#include <altivec.h>],
1612 [vec_ld(0, (unsigned char *)0);],
1613 [ac_cv_c_altivec="-fvec"],
1614 [ac_cv_c_altivec=no])
1619 CFLAGS="${CFLAGS_save}"
1621 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1622 CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1625 AC_CHECK_HEADERS(altivec.h)
1626 CPPFLAGS="${CPPFLAGS_save}"
1628 AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1629 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1630 [Define to 1 if C AltiVec extensions are available.])
1631 VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1632 VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1633 VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1634 VLC_ADD_PLUGIN([memcpyaltivec])
1635 VLC_ADD_PLUGIN([i420_yuy2_altivec])
1638 AC_CACHE_CHECK([if linker needs -framework vecLib],
1640 [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1641 AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1642 LDFLAGS="${LDFLAGS_save}"
1644 AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1645 VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1650 dnl Special arch tuning
1653 [ --with-tuning=ARCH enable special tuning for an architecture
1654 (default Pentium 2 on IA-32 and G4 on PPC)])
1655 if test -n "${with_tuning}"; then
1656 if test "${with_tuning}" != "no"; then
1657 CFLAGS_TUNING="-mtune=${with_tuning}"
1660 if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1661 CFLAGS_TUNING="-march=prescott -mtune=generic"
1662 elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1663 CFLAGS_TUNING="-mtune=pentium2"
1664 elif test "${host_cpu}" = "x86_64"; then
1665 CFLAGS_TUNING="-mtune=athlon64"
1666 elif test "${host_cpu}" = "powerpc"; then
1667 CFLAGS_TUNING="-mtune=G4";
1671 dnl NOTE: this can't be cached cleanly
1672 AS_IF([test "${CFLAGS_TUNING}"],
1673 [CFLAGS_save="${CFLAGS}"
1674 CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1676 AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1677 AC_COMPILE_IFELSE([ ],
1679 [CFLAGS_TUNING=""; tuning="no"
1680 AS_IF([test "${with_tuning}"],
1681 [AC_MSG_ERROR([requested tuning not supported])])])
1683 AC_MSG_RESULT([$tuning])
1684 CFLAGS="${CFLAGS_save}"
1690 AC_ARG_ENABLE(optimize-memory,
1691 [ --enable-optimize-memory optimize memory usage over performance])
1692 if test "${enable_optimize_memory}" = "yes"; then
1693 AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1697 dnl Enable/disable optimizations
1699 AC_ARG_ENABLE(optimizations,
1700 [ --disable-optimizations disable compiler optimizations (default enabled)])
1701 if test "${enable_optimizations}" != "no"; then
1702 if test "${enable_optimize_memory}" = "yes"; then
1703 enable_optimizations="size"
1705 enable_optimizations="speed"
1712 AC_ARG_ENABLE(debug,
1713 [ --enable-debug debug mode (default disabled)])
1714 test "${enable_debug}" != "yes" && enable_debug="no"
1716 [Define to 1 if debug code should NOT be compiled])
1717 AS_IF([test "x${enable_debug}" = "xno"], [
1720 AC_CHECK_HEADERS([valgrind/valgrind.h])
1724 dnl Allow runing as root (usefull for people runing on embedded platforms)
1726 AC_ARG_ENABLE(run-as-root,
1727 [ --enable-run-as-root allow runing VLC as root (default disabled)])
1728 AS_IF([test "${enable_run_as_root}" = "yes"],[
1729 AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1730 [Define to 1 to allow runing VLC as root (uid 0).])
1736 AC_ARG_ENABLE(coverage,
1737 [ --enable-coverage build for test coverage (default disabled)],,
1738 [enable_coverage="no"])
1739 AS_IF([test "${enable_coverage}" != "no"], [
1740 CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1741 CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1742 LDFLAGS="-lgcov ${LDFLAGS}"
1744 CFLAGS_save="${CFLAGS}"
1745 CXXFLAGS_save="${CXXFLAGS}"
1746 LDFLAGS_save="${LDFLAGS}"
1750 dnl Enable release-specific flags
1752 AC_ARG_ENABLE(release,
1753 [ --enable-release activate extra optimizations (default disabled)])
1754 test "${enable_release}" != "yes" && enable_release="no"
1760 [ --enable-sout Stream output modules (default enabled)])
1761 AS_IF([test "${enable_sout}" != "no"], [
1762 AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1764 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1768 AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1769 plugins (default enabled)]))
1770 if test "${enable_lua}" != "no"
1772 PKG_CHECK_MODULES(LUA, lua5.1,
1775 AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1776 PKG_CHECK_MODULES(LUA, lua >= 5.1,
1780 AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1783 AC_CHECK_LIB( lua5.1 , luaL_newstate,
1784 [LUA_LIBS="-llua5.1"],
1785 AC_CHECK_LIB( lua51 , luaL_newstate,
1786 [LUA_LIBS="-llua51"],
1787 AC_CHECK_LIB( lua , luaL_newstate,
1790 AS_IF([test "x${enable_lua}" = "xyes"],
1791 [AC_MSG_ERROR([lua >= 5.1 not found!])],
1792 [AC_MSG_WARN([lua >= 5.1 not found!])])
1798 if test "x${have_lua}" = "xyes" ; then
1799 VLC_ADD_LIBS([lua],[$LUA_LIBS])
1800 VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1802 AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
1805 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1810 AC_ARG_ENABLE(httpd,
1811 [ --enable-httpd HTTP daemon (default enabled)])
1812 if test "${enable_httpd}" != "no"
1814 VLC_ADD_PLUGIN([oldhttp])
1815 AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1817 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1820 dnl libproxy support
1822 AC_ARG_ENABLE(libproxy,
1823 [ --enable-libproxy libproxy support (default auto)])
1824 AS_IF([test "${enable_libproxy}" != "no"], [
1825 PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1826 AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1827 VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1828 VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1830 AS_IF([test "x${enable_libproxy}" != "x"], [
1831 AC_MSG_ERROR([libproxy could not be found on your system])
1838 dnl VideoLAN manager
1841 [ --enable-vlm VideoLAN manager (default enabled)],,
1842 [enable_vlm="${enable_sout}"])
1843 AS_IF([test "${enable_vlm}" != "no"], [
1844 AS_IF([test "${enable_sout}" = "no"], [
1845 AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1847 AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1848 VLC_ADD_PLUGIN([oldtelnet])
1850 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1853 dnl Growl notification plugin
1855 AC_ARG_ENABLE(growl,
1856 [ --enable-growl growl notification plugin (default disabled)],,
1858 AS_IF([test "${enable_growl}" != "no"], [
1859 VLC_ADD_PLUGIN([growl_udp])
1860 AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1861 VLC_ADD_PLUGIN([growl])
1862 VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1863 VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
1869 dnl Libnotify notification plugin
1871 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
1874 dnl Audioscrobbler plugin
1877 AC_ARG_ENABLE(audioscrobbler,
1878 [ --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1879 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1880 VLC_ADD_PLUGIN([audioscrobbler])
1886 AC_ARG_ENABLE(taglib,
1887 [ --disable-taglib Taglib support (default enabled) ])
1888 AS_IF([test "${enable_taglib}" != "no"],[
1889 PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1890 [ VLC_ADD_PLUGIN([taglib])
1891 VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1892 VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1893 [AC_MSG_WARN(TagLib library not found)])
1900 AC_ARG_WITH(,[Input plugins:])
1904 if test "${enable_livedotcom}"
1906 AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1908 if test "${enable_livedotcom}" = "no"
1913 AC_ARG_ENABLE(live555,
1914 [ --enable-live555 live555 RTSP input plugin (default enabled)])
1915 if test "${enable_live555}" != "no"; then
1916 AC_ARG_WITH(live555-tree,
1917 [ --with-live555-tree=PATH live.com tree for static linking])
1920 dnl test for --with-live555-tree
1922 if test "${with_livedotcom_tree}"
1924 AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1925 with_live555_tree="${with_livedotcom_tree}"
1928 if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1930 CPPFLAGS_save="${CPPFLAGS}"
1931 CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1932 if test "${SYS}" = "solaris"; then
1933 CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1935 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1937 AC_CHECK_HEADERS(liveMedia_version.hh, [
1938 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1940 [#include <liveMedia_version.hh>
1941 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1942 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1946 [AC_MSG_RESULT([no])
1947 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1948 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1950 AC_MSG_RESULT([yes])
1953 other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1954 other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1955 if test "${SYS}" = "mingw32"; then
1956 # add ws2_32 for closesocket, select, recv
1957 other_libs="$other_libs -lws2_32"
1958 elif test "${SYS}" = "mingwce"; then
1959 # add ws2 for closesocket, select, recv
1960 other_libs="$other_libs -lws2"
1962 dnl We need to check for pic because live555 don't provide shared libs
1963 dnl and we want to build a plugins so we need -fPIC on some arch.
1964 AC_CHECK_HEADERS(liveMedia.hh, [
1965 VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1966 AC_CHECK_LIB(liveMedia_pic, main, [
1967 VLC_ADD_PLUGIN([live555])
1968 VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1970 AC_CHECK_LIB(liveMedia, main, [
1971 VLC_ADD_PLUGIN([live555])
1972 VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1973 ],[],[${other_libs}]) ],[${other_libs_pic}])
1975 AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1977 CPPFLAGS="${CPPFLAGS_save}"
1980 AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1981 real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1982 if test -z "${real_live555_tree}"; then
1983 dnl The given directory can't be found
1985 AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1987 if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1988 AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1990 AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1991 AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1993 [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1994 #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1995 #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1999 [AC_MSG_RESULT([no])
2000 AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
2001 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
2003 AC_MSG_RESULT([yes])
2007 VLC_ADD_PLUGIN([live555])
2009 if test "${SYS}" = "mingw32"; then
2010 # add ws2_32 for closesocket, select, recv
2011 VLC_ADD_LIBS([live555],[-lws2_32])
2014 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
2015 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
2016 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
2017 VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
2019 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
2020 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
2021 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
2022 VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
2023 if test "${SYS}" = "solaris"; then
2024 VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
2027 dnl The given live555 wasn't built
2029 if test "${enable_live555}" = "yes"; then
2030 AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2037 dnl - special access module for dc1394 input
2038 dnl - dv module: digital video module check for libraw1394
2040 PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
2041 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
2044 dnl dvdread module: check for libdvdread
2046 AC_ARG_ENABLE(dvdread,
2047 [ --enable-dvdread dvdread input module (default disabled)])
2048 if test "${enable_dvdread}" != "no"
2050 AC_ARG_WITH(dvdread,
2051 [ --with-dvdread=PATH libdvdread headers and libraries])
2052 AC_ARG_WITH(dvdread-tree,
2053 [ --with-dvdread-tree=PATH libdvdread tree for static linking])
2055 dnl Temporary hack (yeah, sure ;)
2056 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2057 VLC_ADD_LIBS([dvdread],[-ldvdcss])
2060 if test -z "${with_dvdread}"
2062 if test -z "${with_dvdread_tree}"
2064 AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2065 [ VLC_ADD_PLUGIN([dvdread])
2066 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2068 AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2069 [ VLC_ADD_PLUGIN([dvdread])
2070 VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2072 if test -n "${enable_dvdread}"
2074 AC_MSG_ERROR([cannot find libdvdread headers])
2079 AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2080 real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2081 if test -z "${real_dvdread_tree}"
2083 dnl The given directory can't be found
2085 AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2087 if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2089 dnl Use a custom libdvdread
2090 AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2091 VLC_ADD_PLUGIN([dvdread])
2092 VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2093 VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2095 dnl The given libdvdread wasn't built
2097 AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2101 AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2102 if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2104 dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h
2106 VLC_ADD_PLUGIN([dvdread])
2107 VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2108 VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2110 dnl No libdvdread could be found, sorry
2112 AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2118 dnl libdvdnav plugin
2120 AC_ARG_ENABLE(dvdnav,
2121 [ --enable-dvdnav dvdnav input module (default enabled)])
2122 if test "${enable_dvdnav}" != "no"
2124 dnl Same hack than dvdread
2125 if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2126 VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2129 DVDNAV_PATH="${PATH}"
2130 AC_ARG_WITH(dvdnav-config-path,
2131 [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2132 [ if test "${with_dvdnav_config_path}" != "no"
2134 DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2136 AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2137 if test "${DVDNAV_CONFIG}" != "no"
2139 VLC_ADD_PLUGIN([dvdnav])
2140 VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2141 VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2146 dnl Windows DirectShow access module
2148 AC_ARG_ENABLE(dshow,
2149 [ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
2150 if test "${enable_dshow}" != "no"
2152 if test "${SYS}" = "mingw32"
2155 AC_CHECK_HEADERS(dshow.h,
2156 [ VLC_ADD_PLUGIN([dshow])
2157 VLC_ADD_CXXFLAGS([dshow],[])
2158 VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2164 dnl Windows DirectShow BDA access module
2167 AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2168 enabled on Win32)]))
2169 if test "${enable_bda}" != "no"
2171 if test "${SYS}" = "mingw32"
2173 AC_CHECK_HEADERS(dshow.h,
2174 [ VLC_ADD_PLUGIN([bda])
2175 VLC_ADD_CXXFLAGS([bda],[])
2176 VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2182 dnl OpenCV wrapper and example filters
2184 AC_ARG_ENABLE(opencv,
2185 [ --enable-opencv OpenCV (computer vision) filter (default disabled)])
2186 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2188 AC_ARG_WITH(opencv-tree,
2189 [ --with-opencv-tree=PATH opencv tree for linking])
2190 if test "${SYS}" = "mingw32"
2192 test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2193 AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2194 if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2195 -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2198 VLC_ADD_PLUGIN([opencv_wrapper])
2199 VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2200 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])
2202 VLC_ADD_PLUGIN([opencv_example])
2203 VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2204 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])
2207 dnl No opencv could be found, sorry
2209 AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2212 PKG_CHECK_MODULES(OPENCV, opencv,
2214 VLC_ADD_PLUGIN([opencv_example])
2215 VLC_ADD_PLUGIN([opencv_wrapper])
2216 VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2217 VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2218 VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2220 [AC_MSG_ERROR([libopencv not found!])]
2227 dnl libsmbclient plugin
2230 [ --enable-smb smb input module (default enabled)])
2231 if test "${enable_smb}" != "no"; then
2232 AC_CHECK_HEADERS(libsmbclient.h,
2233 [ VLC_ADD_PLUGIN([access_smb])
2234 VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2235 [ if test -n "${enable_smb}"; then
2236 AC_MSG_ERROR([cannot find libsmbclient headers])
2242 dnl sftp access support
2245 [ --enable-sftp sftp input access module (default disable)])
2246 if test "${enable_sftp}" = "yes"; then
2247 AC_CHECK_HEADERS(libssh2.h, [
2248 VLC_ADD_PLUGIN([access_sftp])
2249 VLC_ADD_LIBS([access_sftp], [-lssh2])
2254 dnl libdvbpsi ts demux/mux
2256 AC_ARG_ENABLE(dvbpsi,
2257 [ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
2259 if test "${enable_dvbpsi}" != "no"
2262 [ --with-dvbpsi=PATH libdvbpsi headers and libraries])
2264 [ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2265 case "${with_dvbpsi}" in
2267 if test -z "${with_dvbpsi_tree}"
2269 AC_CHECK_HEADERS(dvbpsi/dr.h,
2270 [ VLC_ADD_PLUGIN([ts])
2271 if test "${enable_sout}" != "no"; then
2272 VLC_ADD_PLUGIN([mux_ts])
2274 VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2276 [ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2277 [#if defined( HAVE_STDINT_H )
2278 # include <stdint.h>
2279 #elif defined( HAVE_INTTYPES_H )
2280 # include <inttypes.h>
2282 #include <dvbpsi/dvbpsi.h>
2283 #include <dvbpsi/descriptor.h>
2284 #include <dvbpsi/pat.h>
2285 #include <dvbpsi/pmt.h>])
2287 AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2288 real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2289 if test -z "${real_dvbpsi_tree}"
2291 dnl The given directory can't be found
2293 AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2295 if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2297 dnl Use a custom libdvbpsi
2298 AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2299 VLC_ADD_PLUGIN([ts])
2300 if test "${enable_sout}" != "no"; then
2301 VLC_ADD_PLUGIN([mux_ts])
2303 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2304 VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2307 dnl The given libdvbpsi wasn't built
2309 AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2314 dnl Compile without dvbpsi
2317 AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2318 if test -z "${with_dvbpsi}"
2323 LDFLAGS_test="-L${with_dvbpsi}/lib"
2324 CPPFLAGS_test="-I${with_dvbpsi}/include"
2326 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2327 AC_CHECK_HEADERS([dvbpsi/dr.h],[
2328 VLC_ADD_PLUGIN([ts])
2329 if test "${enable_sout}" != "no"; then
2330 VLC_ADD_PLUGIN([mux_ts])
2332 VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2333 VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2336 if test -n "${enable_dvbpsi}"
2338 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])
2341 [#if defined( HAVE_STDINT_H )
2342 # include <stdint.h>
2343 #elif defined( HAVE_INTTYPES_H )
2344 # include <inttypes.h>
2346 #include <dvbpsi/dvbpsi.h>
2347 #include <dvbpsi/descriptor.h>
2348 #include <dvbpsi/pat.h>
2349 #include <dvbpsi/pmt.h>])
2350 CPPFLAGS="${CPPFLAGS_save}"
2353 AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2354 AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2355 ], [], [${LIBS_ts}])
2360 dnl Video4Linux plugin
2363 [ --enable-v4l Video4Linux input support (default disabled)])
2364 if test "${enable_v4l}" = "yes"
2367 [ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
2368 if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2370 VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2373 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2374 AC_CHECK_HEADERS(linux/videodev.h, [
2375 VLC_ADD_PLUGIN([v4l])
2377 CPPFLAGS="${CPPFLAGS_save}"
2381 dnl libv4l1 support for video4linux.
2383 AC_ARG_ENABLE( libv4l,
2384 [ --enable-libv4l Libv4l Video4Linux support (default enabled)])
2385 if test "${enable_libv4l}" != "no" -a "${enable_v4l}" != "no"
2387 PKG_CHECK_MODULES( LIBV4L, libv4l1, [
2388 VLC_ADD_LDFLAGS([v4l],[${LIBV4L_LIBS}])
2389 VLC_ADD_CFLAGS([v4l],[${LIBV4L_CFLAGS}])
2390 AC_DEFINE(HAVE_LIBV4L1, 1, Define if libv4l is available)],
2391 AC_MSG_WARN([LibV4L support disabled because libv4l development headers were not found])
2396 dnl Video4Linux2 plugin
2399 [ --enable-v4l2 Video4Linux2 input support (default enabled)])
2400 if test "${enable_v4l2}" != "no"
2403 [ --with-v4l2=PATH path to a v4l2-enabled kernel tree],[],[])
2404 if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2406 VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2409 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2410 AC_CHECK_HEADERS(linux/videodev2.h, [
2411 VLC_ADD_PLUGIN([v4l2])
2413 CPPFLAGS="${CPPFLAGS_save}"
2417 dnl libv4l2 support for video4linux.
2419 AC_ARG_ENABLE( libv4l2,
2420 [ --enable-libv4l2 Libv4l2 Video4Linux2 support (default enabled)])
2421 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2423 PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2424 VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2425 VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2426 AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
2427 AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2432 dnl special access module for Hauppauge PVR cards
2435 [ --enable-pvr PVR cards access module (default disabled)])
2436 if test "${enable_pvr}" = "yes"
2438 VLC_ADD_PLUGIN([pvr])
2439 AC_ARG_WITH(videodev2,
2440 [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2441 if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2443 AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2446 AC_CACHE_CHECK([for new linux/videodev2.h],
2447 [ac_cv_new_linux_videodev2_h],
2449 #include <sys/types.h>
2450 # ifdef VIDEODEV2_H_FILE
2451 # include VIDEODEV2_H_FILE
2453 # include <linux/videodev2.h>
2456 [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2457 ac_cv_new_linux_videodev2_h=yes,
2458 ac_cv_new_linux_videodev2_h=no)])
2459 if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2460 AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2465 dnl gnomeVFS access module
2467 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2470 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2471 AC_ARG_ENABLE(libcdio,
2472 [ --enable-libcdio CD input and control library support (default enabled)])
2474 AC_ARG_ENABLE(vcdinfo,
2475 [ --enable-vcdinfo VCD information library support (default enabled)])
2479 if test "${enable_libcdio}" != "no"
2481 PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2483 AC_DEFINE(HAVE_LIBCDIO, 1,
2484 [Define if you have libcdio 0.78.2 or greater installed]),
2485 [AC_MSG_WARN(CD Reading and information library not found)])
2487 if test "${enable_vcdinfo}" != "no"
2489 PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2490 [have_libvcdinfo=yes],
2491 [AC_MSG_WARN(VCD information library not found)])
2496 dnl VCDX and CDDAX modules
2498 AC_ARG_ENABLE(cddax,
2499 AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2500 via libcdio (default disabled)]))
2502 AC_ARG_ENABLE(libcddb,
2503 [ --enable-libcddb CDDB support for libcdio audio CD (default enabled)])
2505 if test "${enable_cddax}" = "yes"
2507 if test "$have_libcdio" = "yes"
2509 AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2510 VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2511 VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2512 VLC_ADD_PLUGIN([cddax])
2513 PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2514 VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2515 AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2517 AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2521 if test "$enable_libcddb" != "no"; then
2522 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2524 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2525 VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2526 VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2528 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2535 [ --enable-vcdx VCD with navigation via libvcdinfo (default disabled)])
2537 if test "${enable_vcdx}" = "yes"
2539 if test "${have_libvcdinfo}" = "yes"
2541 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2542 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2544 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2548 PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2549 [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2550 VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2551 [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2554 if test "$have_libvcdinfo" = "yes"
2556 AC_DEFINE(HAVE_VCDX, 1,
2557 [Define for the VCD plugin using libcdio/libvcdinfo])
2558 VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2559 VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2560 VLC_ADD_PLUGIN([vcdx])
2562 AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2568 dnl Built-in CD-DA and VCD module
2571 [ --enable-cdda audio CD via built-in VCD (default enabled)])
2574 [ --enable-vcd built-in VCD (default enabled)])
2576 if test "${enable_vcd}" != "no"
2578 AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2579 AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2581 VLC_ADD_PLUGIN([vcd])
2582 VLC_ADD_PLUGIN([cdda])
2587 AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2588 AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2590 VLC_ADD_PLUGIN([vcd])
2591 VLC_ADD_PLUGIN([cdda])
2592 AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2597 AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2598 AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2600 VLC_ADD_PLUGIN([vcd])
2601 VLC_ADD_PLUGIN([cdda])
2602 AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2607 if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2609 VLC_ADD_PLUGIN([vcd])
2610 VLC_ADD_PLUGIN([cdda])
2613 if test "${SYS}" = "darwin"
2615 VLC_ADD_PLUGIN([vcd])
2616 VLC_ADD_PLUGIN([cdda])
2617 VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2618 VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2621 if test "$enable_libcddb" != "no"; then
2622 PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2624 AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2625 VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2626 VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2628 [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2634 dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2637 [ --enable-dvb DVB-S/T/C card support (default enabled)])
2639 if test "${enable_dvb}" != "no"
2641 AS_IF([test "${have_dvbpsi}" = "yes" ],[
2643 [ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
2644 if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2646 VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2648 CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2649 AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2650 VLC_ADD_PLUGIN([dvb])
2651 ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2652 CPPFLAGS="${CPPFLAGS_save}"
2654 AC_MSG_WARN([the dvb access module requires libdvbpsi])
2659 dnl Screen capture module
2661 AC_ARG_ENABLE(screen,
2662 [ --enable-screen Screen capture support (default enabled)])
2663 if test "${enable_screen}" != "no"; then
2664 if test "${SYS}" = "darwin"; then
2665 AC_CHECK_HEADERS(OpenGL/gl.h, [
2666 AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2667 VLC_ADD_PLUGIN([screen])
2668 VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2671 elif test "${SYS}" = "mingw32"; then
2672 VLC_ADD_PLUGIN([screen])
2673 VLC_ADD_LIBS([screen],[-lgdi32])
2674 elif test "${SYS}" = "mingwce"; then
2675 CPPFLAGS="${CPPFLAGS_save}"
2676 elif test "${SYS}" = "beos"; then
2677 VLC_ADD_PLUGIN([screen])
2678 VLC_ADD_CXXFLAGS([screen],[])
2679 VLC_ADD_LIBS([screen],[-lbe])
2684 dnl ipv6 plugin - not for QNX yet
2687 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2688 AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2691 AS_IF([test "${have_ipv6}" = "yes"], [
2692 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2695 AC_CHECK_FUNCS(inet_ntop,[
2696 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2700 dnl ogg demux plugin
2702 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2703 if test "${enable_sout}" != "no"; then
2704 PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2707 if test "${enable_sout}" != "no"; then
2708 dnl Check for libshout
2709 PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2713 dnl matroska demux plugin
2716 [ --enable-mkv Matroska demux support (default enabled)])
2717 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2719 AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2720 AC_MSG_CHECKING(for libebml version >= 0.7.7)
2722 [#include <ebml/EbmlVersion.h>
2723 #ifdef LIBEBML_VERSION
2724 #if LIBEBML_VERSION >= 0x000706
2728 [AC_MSG_RESULT([yes])
2729 AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2730 AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2732 [#include <matroska/KaxVersion.h>
2733 #ifdef LIBMATROSKA_VERSION
2734 #if LIBMATROSKA_VERSION >= 0x000705
2738 [AC_MSG_RESULT([yes])
2739 AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2740 VLC_ADD_CXXFLAGS([mkv],[])
2741 if test "${SYS}" = "darwin"; then
2742 VLC_ADD_CXXFLAGS([mkv],[-O1])
2744 AC_CHECK_LIB(ebml_pic, main, [
2745 VLC_ADD_PLUGIN([mkv])
2746 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2748 AC_CHECK_LIB(ebml, main, [
2749 VLC_ADD_PLUGIN([mkv])
2750 VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2754 [AC_MSG_RESULT([no])
2755 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.])
2759 [AC_MSG_RESULT([no])
2760 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.])
2767 dnl modplug demux plugin
2770 [ --enable-mod Mod demux support (default enabled)])
2771 if test "${enable_mod}" != "no"
2773 AC_ARG_WITH(mod-tree,
2774 [ --with-mod-tree=PATH mod tree for static linking])
2775 if test -n "${with_mod_tree}"
2777 AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2778 real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2779 if test -z "${real_mod_tree}"
2781 dnl The given directory can't be found
2783 AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2785 if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2787 dnl Use a custom mod
2788 AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2789 VLC_ADD_PLUGIN([mod])
2790 VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2791 VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2793 dnl The given mod wasn't built
2795 AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2798 AC_CHECK_HEADERS(libmodplug/modplug.h, [
2799 VLC_ADD_PLUGIN([mod])
2800 VLC_ADD_CXXFLAGS([mod],[])
2801 VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2806 dnl mpc demux plugin
2809 [ --enable-mpc Mpc demux support (default enabled)])
2810 if test "${enable_mpc}" != "no"
2812 AC_CHECK_HEADERS([mpc/mpcdec.h], [
2813 VLC_ADD_PLUGIN([mpc])
2814 VLC_ADD_LIBS([mpc],[-lmpcdec])],
2815 [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2816 VLC_ADD_PLUGIN([mpc])
2817 VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2821 dnl game music emu demux plugin
2824 [ --enable-gme Game Music Emu demux support (default enabled)])
2825 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2828 AC_ARG_WITH(gme-tree,
2829 [ --with-gme-tree=PATH gme tree for static linking])
2830 if test -n "${with_gme_tree}"
2832 AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2833 real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2834 if test -z "${real_gme_tree}"
2836 dnl The given directory can't be found
2838 AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2840 if test -f "${real_gme_tree}/gme/libgme.a"
2842 dnl Use a custom gme
2843 AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2844 VLC_ADD_PLUGIN([gme])
2845 VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2846 VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2848 dnl The given gme wasn't built
2850 AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2853 AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2862 AC_ARG_WITH(,[Codec plugins:])
2867 AC_ARG_ENABLE(wma-fixed,
2868 [ --enable-wma-fixed libwma-fixed module (default disabled)])
2869 if test "${enable_wma_fixed}" = "yes"
2871 VLC_ADD_PLUGIN([wma_fixed])
2875 dnl shine fixed point mp3 encoder
2877 AC_ARG_ENABLE(shine,
2878 [ --enable-shine shine mp3 encoding module (default disabled)])
2879 if test "${enable_shine}" = "yes"
2881 VLC_ADD_PLUGIN([shine])
2888 [ --enable-mad libmad module (default enabled)])
2889 if test "${enable_mad}" != "no"
2892 [ --with-mad=PATH path to libmad],[],[])
2893 if test "${with_mad}" != "no" -a -n "${with_mad}"
2895 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2896 VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2899 AC_ARG_WITH(mad-tree,
2900 [ --with-mad-tree=PATH mad tree for static linking],[],[])
2901 if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2903 real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2904 if test -z "${real_mad_tree}"
2906 dnl The given directory can't be found
2908 AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2910 dnl Use a custom libmad
2911 AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2912 if test -f ${real_mad_tree}/mad.h
2915 VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2916 VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2917 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2918 AC_CHECK_LIB(mad, mad_bit_init, [
2919 VLC_ADD_PLUGIN([mpgatofixed32])
2920 VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2921 ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2923 LDFLAGS="${LDFLAGS_save}"
2926 AC_MSG_ERROR([the specified tree doesn't have mad.h])
2929 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2930 LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2931 AC_CHECK_HEADERS(mad.h, ,
2932 [ 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.]) ])
2933 AC_CHECK_LIB(mad, mad_bit_init, [
2934 VLC_ADD_PLUGIN([mpgatofixed32])
2935 VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2936 [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2937 CPPFLAGS="${CPPFLAGS_save}"
2938 LDFLAGS="${LDFLAGS_save}"
2943 dnl libid3tag support (FIXME!!! doesn't work with new input)
2945 AC_ARG_ENABLE( id3tag,
2946 [ --disable-id3tag id3tag metadata reader plugin (default disabled)])
2947 AS_IF([test "${enable_id3tag}" = "yes"], [
2948 AC_CHECK_HEADERS(id3tag.h, [
2949 AS_IF([test "${have_zlib}" = "yes"],[
2950 VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2951 VLC_ADD_PLUGIN([id3tag])
2956 AC_ARG_ENABLE(merge-ffmpeg,
2957 [ --enable-merge-ffmpeg merge FFmpeg-based plugins (default disabled)],, [
2958 enable_merge_ffmpeg="no"
2960 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2963 dnl avcodec decoder/encoder plugin
2966 if test "${with_ffmpeg_tree}"
2968 AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2971 AC_ARG_ENABLE(avcodec,
2972 [ --enable-avcodec libavcodec codec (default enabled)])
2973 if test "${enable_avcodec}" != "no"
2975 PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
2978 CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2979 CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2980 AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
2981 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2982 VLC_ADD_PLUGIN([avcodec])
2983 VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2984 VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2988 AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2993 dnl libva needs avcodec
2995 AC_ARG_ENABLE(libva,
2996 [ --enable-libva libva VAAPI support (default disabled)])
2997 AS_IF([test "${enable_libva}" = "yes"], [
2998 AS_IF([test "x${have_avcodec}" = "xyes"], [
2999 PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
3001 VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
3002 VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
3003 AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
3005 AC_MSG_ERROR([Could not find libva.])
3008 AC_MSG_ERROR([libva VAAPI support depends on libavcodec.])
3013 dnl stream_out switcher needs libavcodec
3015 AC_ARG_ENABLE(switcher,
3016 [ --enable-switcher Stream-out switcher plugin (default disabled)])
3017 AS_IF([test "${enable_switcher}" = "yes"], [
3018 AS_IF([test "x${have_avcodec}" = "xyes"], [
3019 VLC_ADD_PLUGIN([stream_out_switcher])
3020 VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
3021 VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
3022 ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
3028 dnl avformat demuxer/muxer plugin
3031 AC_ARG_ENABLE(avformat,
3032 [ --enable-avformat libavformat containers (default enabled)])
3033 if test "${enable_avformat}" != "no"
3035 PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
3038 CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
3039 CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
3040 AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
3041 AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
3042 AS_IF([test "$enable_merge_ffmpeg" = "no"], [
3043 VLC_ADD_PLUGIN([avformat])
3044 VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3045 VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3047 VLC_ADD_PLUGIN([access_avio])
3048 VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3049 VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3051 VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3052 VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3056 AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3061 dnl swscale image scaling and conversion plugin
3064 AC_ARG_ENABLE(swscale,
3065 AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3066 (default enabled)]))
3067 if test "${enable_swscale}" != "no"
3069 PKG_CHECK_MODULES(SWSCALE,[libswscale],
3072 CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3073 CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3074 AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3075 VLC_ADD_PLUGIN([swscale])
3076 VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3077 VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3080 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.])
3088 AC_ARG_ENABLE(postproc,
3089 [ --enable-postproc libpostproc image post-processing (default enabled)])
3090 if test "${enable_postproc}" != "no"
3092 PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3095 CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3096 CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3097 AC_CHECK_HEADERS(postproc/postprocess.h)
3098 VLC_ADD_PLUGIN([postproc])
3099 VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
3100 VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
3103 AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3108 dnl faad decoder plugin
3111 [ --enable-faad faad codec (default disabled)])
3112 if test "${enable_faad}" = "yes"
3114 AC_ARG_WITH(faad-tree,
3115 [ --with-faad-tree=PATH faad tree for static linking])
3116 if test -n "${with_faad_tree}"
3118 AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3119 real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3120 if test -z "${real_faad_tree}"
3122 dnl The given directory can't be found
3124 AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3126 if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3128 dnl Use a custom faad
3129 AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3130 VLC_ADD_PLUGIN([faad])
3131 VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3132 VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3134 dnl The given libfaad wasn't built
3136 AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3139 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3140 LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3141 AC_CHECK_HEADERS(faad.h, ,
3142 [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3143 AC_CHECK_LIB(faad, faacDecOpen, [
3144 VLC_ADD_PLUGIN([faad])
3145 VLC_ADD_LIBS([faad],[-lfaad]) ],
3146 AC_CHECK_LIB(faad, NeAACDecOpen, [
3147 VLC_ADD_PLUGIN([faad])
3148 VLC_ADD_LIBS([faad],[-lfaad]) ],
3149 [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3150 LDFLAGS="${LDFLAGS_save}"
3151 CPPFLAGS="${CPPFLAGS_save}"
3156 dnl twolame encoder plugin
3158 PKG_ENABLE_MODULES_VLC([TWOLAME], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
3161 dnl QuickTime plugin
3163 AC_ARG_ENABLE(quicktime,
3164 [ --enable-quicktime QuickTime module (deprecated)])
3165 if test "${enable_quicktime}" = "yes"; then
3166 if test "${SYS}" = "mingw32"; then
3167 VLC_ADD_PLUGIN([quicktime])
3169 AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3170 [ VLC_ADD_PLUGIN([quicktime])
3171 VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3172 ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3180 [ --enable-real Real media module (default disabled)])
3181 if test "${enable_real}" = "yes"; then
3182 VLC_ADD_PLUGIN([realaudio])
3183 VLC_ADD_PLUGIN([realvideo])
3187 dnl Real RTSP plugin
3189 AC_ARG_ENABLE(realrtsp,
3190 [ --enable-realrtsp Real RTSP module (default disabled)])
3191 if test "${enable_realrtsp}" = "yes"; then
3192 VLC_ADD_PLUGIN([access_realrtsp])
3195 AC_ARG_ENABLE(libsysfs,
3196 [ --enable-libsysfs Get user key from firewire connected iPod via libsysfs (default enabled)])
3198 AS_IF([test "${enable_libsysfs}" != "no"],[
3199 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3200 VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3207 AC_ARG_ENABLE(libtar,
3208 [ --enable-libtar libtar support for skins2 (default enabled)])
3210 AS_IF([test "${enable_libtar}" != "no"],[
3211 AC_CHECK_HEADERS(libtar.h, [
3212 VLC_ADD_LIBS([skins2],[-ltar])
3217 dnl A52/AC3 decoder plugin
3220 [ --enable-a52 A/52 support with liba52 (default enabled)])
3221 if test "${enable_a52}" != "no"
3224 [ --with-a52=PATH a52 headers and libraries])
3225 AC_ARG_WITH(a52-tree,
3226 [ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
3227 if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3229 real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3230 if test -z "${real_a52_tree}"
3232 dnl The given directory can't be found
3234 AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3236 dnl Use a custom a52dec
3237 AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3238 if test -f ${real_a52_tree}/include/a52.h
3241 VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3242 VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3243 LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3244 AC_CHECK_LIB(a52, a52_free, [
3245 VLC_ADD_PLUGIN([a52tofloat32])
3246 VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3247 VLC_ADD_LIBS([a52tofloat32],[-la52])
3249 if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3251 AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3253 AC_MSG_ERROR([the specified tree hasn't been compiled])
3256 LDFLAGS="${LDFLAGS_save}"
3259 AC_MSG_ERROR([the specified tree doesn't have a52.h])
3262 if test -z "${with_a52}"
3267 LDFLAGS_test="-L${with_a52}/lib"
3268 CPPFLAGS_test="-I${with_a52}/include"
3270 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3271 LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3272 AC_CHECK_HEADERS(a52dec/a52.h, [
3273 AC_CHECK_LIB(a52, a52_free, [
3274 VLC_ADD_PLUGIN([a52tofloat32])
3275 VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3276 VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3278 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.])
3281 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.])
3283 CPPFLAGS="${CPPFLAGS_save}"
3284 LDFLAGS="${LDFLAGS_save}"
3288 AC_ARG_WITH(a52-fixed,
3289 [ --with-a52-fixed specify if liba52 has been compiled with fixed point support],
3291 VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3294 dnl DTS Coherent Acoustics decoder plugin
3296 AS_IF([test "x${enable_dts}" != "x"], [
3297 AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3299 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3304 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3309 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3314 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3319 AC_ARG_ENABLE(tremor,
3320 [ --enable-tremor Tremor decoder support (default disabled)])
3321 if test "${enable_tremor}" = "yes"
3323 AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3324 VLC_ADD_PLUGIN([tremor])
3325 VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3332 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3335 dnl tarkin decoder plugin
3337 AC_ARG_ENABLE(tarkin,
3338 [ --enable-tarkin experimental tarkin codec (default disabled)])
3339 if test "${enable_tarkin}" = "yes"
3341 AC_ARG_WITH(tarkin-tree,
3342 [ --with-tarkin-tree=PATH tarkin tree for static linking])
3343 if test -n "${with_tarkin_tree}"
3345 AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3346 real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3347 if test -f "${real_tarkin_tree}/tarkin.o"
3349 VLC_ADD_PLUGIN([tarkin])
3350 VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3351 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])
3354 dnl The given tarkin tree wasn't built
3356 AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3357 make sure you compiled tarkin in ${with_tarkin_tree}])
3363 dnl theora decoder plugin
3365 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3368 dnl dirac encoder plugin
3370 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3373 dnl schroedinger decoder plugin (for dirac format video)
3375 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3378 dnl PNG decoder module
3381 [ --enable-png PNG support (default enabled)])
3382 if test "${enable_png}" != "no"; then
3383 AC_CHECK_HEADERS(png.h, [
3384 LDFLAGS="${LDFLAGS_save} -lz"
3385 AC_CHECK_LIB(png, png_set_rows, [
3386 VLC_ADD_LIBS([png],[-lpng -lz])
3387 VLC_ADD_PLUGIN([png])
3388 VLC_ADD_PLUGIN([osdmenu])
3389 VLC_ADD_PLUGIN([osd_parser])],
3391 LDFLAGS="${LDFLAGS_save}"
3394 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3397 dnl H264 encoder plugin (using libx264)
3400 [ --enable-x264 H264 encoding support with libx264 (default enabled)])
3401 if test "${enable_x264}" != "no"; then
3402 AC_ARG_WITH(x264-tree,
3403 [ --with-x264-tree=PATH x264 tree for static linking ],[],[])
3404 if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3406 real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3407 if test -z "${real_x264_tree}"
3409 dnl The given directory can't be found
3411 AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3413 dnl Use a custom libx264
3414 AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3415 if test -f ${real_x264_tree}/x264.h
3418 VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3419 VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3420 PKG_CHECK_MODULES(X264,x264, [
3421 VLC_ADD_PLUGIN([x264])
3422 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3423 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3424 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3425 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3428 AC_MSG_ERROR([the specified tree hasn't been compiled])
3430 LDFLAGS="${LDFLAGS_save}"
3433 AC_MSG_ERROR([the specified tree doesn't have x264.h])
3436 PKG_CHECK_MODULES(X264,x264 >= 0.76, [
3437 VLC_ADD_PLUGIN([x264])
3438 VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3440 AC_CACHE_CHECK([if linker supports -Bsymbolic],
3441 [ac_cv_ld_bsymbolic],
3442 [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3443 AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3444 LDFLAGS="${LDFLAGS_save}"
3446 AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3447 VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3450 VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3451 if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3452 VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3455 if test "${enable_x264}" = "yes"; then
3456 AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
3459 LDFLAGS="${LDFLAGS_save}"
3464 dnl libfluidsynth (MIDI synthetizer) plugin
3466 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3469 dnl Teletext Modules
3470 dnl vbi decoder plugin (using libzbvi)
3475 AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3476 libzvbi (default enabled)]))
3478 AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3479 zvbi) (default enabled if zvbi is absent)]))
3481 AS_IF( [test "${enable_zvbi}" != "no"],[
3482 PKG_CHECK_MODULES(ZVBI,
3485 VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3486 if test "${SYS}" = "mingw32"; then
3487 VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3489 VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3490 VLC_ADD_PLUGIN([zvbi])
3491 AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3492 AS_IF( [test "${enable_telx}" = "yes"],[
3493 AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3497 AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3500 AS_IF( [test "${enable_telx}" != "no" ],[
3501 VLC_ADD_PLUGIN([telx])
3505 dnl libass subtitle rendering module
3507 AC_ARG_ENABLE(libass,
3508 [ --enable-libass Subtitle support using libass (default enabled)])
3509 AS_IF( [test "${enable_libass}" != "no"], [
3510 PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6,
3512 VLC_ADD_LIBS([libass],[$LIBASS_LIBS])
3513 VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3514 VLC_ADD_PLUGIN([libass])
3516 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3517 [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3518 VLC_ADD_LIBS([libass],[-lfontconfig])
3521 AC_MSG_WARN([LIBASS library not found])
3528 AC_ARG_ENABLE(asademux,
3529 [ --enable-asademux asa subtitle demuxing (default disabled)])
3530 AS_IF( [test "${enable_asademux}" = "yes"], [
3531 PKG_CHECK_MODULES(PCRE,
3534 VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3535 VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3536 if test "${SYS}" = "mingw32"; then
3537 VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3539 VLC_ADD_PLUGIN([asademux])
3541 AC_MSG_WARN([PCRE library not found (required for asademux)])
3549 [ --enable-cmml CMML support (default enabled)])
3550 if test "${enable_cmml}" != "no"
3552 VLC_ADD_PLUGIN([cmml])
3556 dnl kate decoder plugin
3559 [ --enable-kate kate codec (default enabled)])
3560 AS_IF([test "${enable_kate}" != "no"], [
3561 PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3562 VLC_ADD_PLUGIN([kate])
3563 VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3564 VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3565 AC_CHECK_HEADERS(kate/kate.h, [
3566 AC_CHECK_LIB(kate, kate_decode_init, [
3567 VLC_ADD_PLUGIN([kate])
3568 kate_libs="-lkate -logg"
3569 VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3570 AS_IF([test "x${enable_kate}" != "x"], [
3571 AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3572 You also need to check that you have a libogg posterior to the 1.0 release.])
3576 AS_IF([test "x${enable_kate}" != "x"], [
3577 AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3578 You also need to check that you have a libogg posterior to the 1.0 release.])
3586 dnl tiger rendering for kate decoder plugin
3588 AC_ARG_ENABLE(tiger,
3589 [ --enable-tiger Tiger rendering library for Kate streams (default enabled)])
3590 AS_IF([test "${enable_tiger}" != "no"], [
3591 PKG_CHECK_MODULES(TIGER,[tiger >= 0.3.1], [
3592 AC_DEFINE(HAVE_TIGER, 1, [Define if libtiger is available.])
3593 VLC_ADD_CFLAGS([kate],[$TIGER_CFLAGS])
3594 VLC_ADD_LIBS([kate],[$TIGER_LIBS]) ],[
3595 AS_IF([test "x${enable_tiger}" != "x"], [
3596 AC_MSG_ERROR([libtiger does not appear to be installed on your system.])
3607 AC_ARG_WITH(,[Video plugins:])
3616 dnl X C Bindings modules
3619 [ --enable-xcb X11 support with XCB (default enabled)],, [
3620 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
3626 AC_ARG_ENABLE(xvideo,
3627 [ --enable-xvideo XVideo support (default enabled)],, [
3628 enable_xvideo="$enable_xcb"
3631 need_xid_provider="no"
3632 AS_IF([test "${enable_xcb}" != "no"], [
3634 PKG_CHECK_MODULES(XCB, [xcb])
3635 PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3636 VLC_ADD_PLUGIN([screensaver])
3637 VLC_ADD_PLUGIN([xcb_x11])
3638 VLC_ADD_PLUGIN([xcb_screen])
3639 VLC_ADD_PLUGIN([xcb_apps])
3640 VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
3642 AS_IF([test "${enable_xvideo}" != "no"], [
3643 PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3644 VLC_ADD_PLUGIN([xcb_xv])
3646 PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3647 VLC_ADD_PLUGIN([xcb_xv])
3648 VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3653 PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3654 VLC_ADD_PLUGIN([panoramix])
3655 VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3656 VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3660 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3661 have_xcb_keysyms="yes"
3663 PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
3664 have_xcb_keysyms="yes"
3665 VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])
3667 have_xcb_keysyms="no"
3668 need_xid_provider="yes"
3672 AS_IF([test "${have_xcb_keysyms}" = "yes"], [
3673 PKG_CHECK_MODULES(XPROTO, [xproto])
3674 VLC_ADD_PLUGIN([xcb_window])
3675 VLC_ADD_PLUGIN([globalhotkeys])
3676 VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3677 VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3679 VLC_ADD_PLUGIN([xdg_screensaver])
3683 [ --enable-glx X11 OpenGL (GLX) support (default enabled)],, [
3684 enable_glx="$enable_xcb"
3686 AS_IF([test "${enable_glx}" != "no"], [
3687 PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
3688 PKG_CHECK_MODULES(GL, [gl],, [
3689 AC_CHECK_HEADER([GL/gl.h], [
3693 AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
3696 VLC_ADD_PLUGIN([xcb_glx])
3698 AC_SUBST([GL_CFLAGS])
3704 dnl (enabled by default except on beos)
3706 AC_ARG_ENABLE(opengl,
3707 [ --enable-opengl OpenGL support (default enabled)])
3708 if test "${enable_opengl}" != "no" &&
3709 test "${SYS}" = "darwin"; then
3710 dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3711 VLC_ADD_PLUGIN([opengl])
3712 VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3719 [ --enable-sdl SDL support (default enabled)])
3720 AC_ARG_ENABLE(sdl-image,
3721 [ --enable-sdl-image SDL image support (default enabled)])
3722 if test "${enable_sdl}" != "no"
3725 AC_ARG_WITH(sdl-config-path,
3726 [ --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3727 [ if test "${with_sdl_config_path}" != "no"
3729 SDL_PATH="${with_sdl_config_path}:${PATH}"
3731 AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3732 SDL_HEADER="SDL/SDL.h"
3733 SDL_IMAGE="SDL/SDL_image.h"
3735 if test "${SDL_CONFIG}" != "no"; then
3736 PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3737 # SDL on Darwin is heavily patched and can only run SDL_image
3738 if test "${SYS}" != "darwin"; then
3739 VLC_ADD_PLUGIN([vout_sdl])
3740 VLC_ADD_PLUGIN([aout_sdl])
3742 VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3743 VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3746 AS_IF([ test "${enable_sdl_image}" != "no"],[
3747 AC_CHECK_HEADERS("SDL/SDL_image.h", [
3748 VLC_ADD_PLUGIN([sdl_image])
3749 AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3750 AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3751 AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3752 VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3753 [ AC_MSG_WARN([The development package for SDL_image is not installed.
3754 You should install it alongside your SDL package.])
3758 AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3759 Alternatively you can also configure with --disable-sdl.])
3761 else if test "${enable_sdl}" = "yes"; then
3762 AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3763 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3772 AC_ARG_ENABLE(freetype,
3773 [ --enable-freetype freetype support (default enabled)])
3774 AC_ARG_ENABLE(fribidi,
3775 [ --enable-fribidi fribidi support (default enabled)])
3776 AC_ARG_ENABLE(fontconfig,
3777 [ --enable-fontconfig, fontconfig support (default enabled)])
3778 if test "${enable_freetype}" != "no"
3780 PKG_CHECK_MODULES(FREETYPE, freetype2,[
3781 VLC_ADD_PLUGIN([freetype])
3783 VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3784 if test "${SYS}" = "mingw32"; then
3785 VLC_ADD_LIBS([freetype],[-liconv -lz])
3787 VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3788 if test "${enable_fontconfig}" != "no"
3790 AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3791 [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3792 VLC_ADD_LIBS([freetype],[-lfontconfig])])
3793 AC_CHECK_HEADERS(Carbon/Carbon.h,
3794 [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3798 if test "${enable_fribidi}" != "no"
3800 PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3801 VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3802 VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3808 AS_IF([ test "${enable_freetype}" = "yes"],[
3809 AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3810 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3820 PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3825 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3828 dnl Snapshot vout module (with cache)
3830 AC_ARG_ENABLE(snapshot,
3831 [ --enable-snapshot snapshot module (default disabled)])
3832 if test "${enable_snapshot}" = "yes"
3834 VLC_ADD_PLUGIN([snapshot])
3838 dnl Roku HD1000 Video output module
3840 AC_ARG_ENABLE(hd1000v,
3841 [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)])
3842 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3843 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3844 test "${enable_hd1000v}" = "yes"); then
3846 AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3848 can_build_roku="yes"
3852 AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3854 if test "$can_build_roku" = "yes"
3856 VLC_ADD_PLUGIN([hd1000v])
3857 VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3863 dnl Windows DirectX module
3866 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3868 VLC_ADD_PLUGIN([panoramix])
3871 AC_ARG_ENABLE(directx,
3872 [ --enable-directx Win32 DirectX support (default enabled on Win32)])
3873 if test "${enable_directx}" != "no"
3875 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3877 AC_CHECK_HEADERS(ddraw.h,
3878 [ VLC_ADD_PLUGIN([directx])
3879 VLC_ADD_PLUGIN([aout_directx])
3880 VLC_ADD_LIBS([directx],[-lgdi32])
3881 ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3883 AC_CHECK_HEADERS(GL/gl.h,
3884 [ VLC_ADD_PLUGIN([glwin32])
3885 VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3887 AC_CHECK_HEADERS(d3d9.h,
3888 [ VLC_ADD_PLUGIN([direct3d])
3889 VLC_ADD_LIBS([direct3d],[-lgdi32])
3891 VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3896 dnl win32 GDI plugin
3898 AC_ARG_ENABLE(wingdi,
3899 [ --enable-wingdi Win32 GDI module (default enabled on Win32)])
3900 if test "${enable_wingdi}" != "no"; then
3901 if test "${SYS}" = "mingw32"; then
3902 VLC_ADD_PLUGIN([wingdi])
3903 VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3905 if test "${SYS}" = "mingwce"; then
3906 VLC_ADD_PLUGIN([wingdi])
3907 VLC_ADD_PLUGIN([wingapi])
3908 VLC_ADD_LIBS([wingdi],[-laygshell])
3909 VLC_ADD_LIBS([wingapi],[-laygshell])
3915 dnl Linux framebuffer module
3918 [ --enable-fb Linux framebuffer support (default enabled on Linux)])
3919 if test "${enable_fb}" != "no"
3921 AC_CHECK_HEADERS(linux/fb.h, [
3922 VLC_ADD_PLUGIN([fb])
3927 dnl Linux MGA module
3930 [ --enable-mga Linux kernel Matrox support (default disabled)],
3931 [ if test "${enable_mga}" = "yes"
3933 VLC_ADD_PLUGIN([mga])
3937 dnl OMAP Framebuffer module
3939 AC_ARG_ENABLE(omapfb,
3940 [ --enable-omapfb OMAP framebuffer support (default disabled)])
3941 if test "${enable_omapfb}" = "yes"
3943 AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3944 VLC_ADD_PLUGIN([omapfb])
3945 AC_CHECK_HEADERS(X11/Xlib.h, [
3946 VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3948 VLC_ADD_PLUGIN([swscale_omap])
3954 AC_ARG_ENABLE(svgalib,
3955 [ --enable-svgalib SVGAlib support (default disabled)])
3956 if test "${enable_svgalib}" = "yes"
3958 VLC_ADD_PLUGIN([svgalib])
3959 VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3964 dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
3965 dnl TODO: support for static linking
3967 AC_ARG_ENABLE(directfb,
3968 [ --enable-directfb DirectFB support (default disabled)])
3969 AC_ARG_WITH(directfb,
3970 [ --with-directfb=PATH path to DirectFB headers and libraries])
3972 if test "${enable_directfb}" = "yes"; then
3973 have_directfb="false"
3974 CPPFLAGS_mydirectfb=
3976 if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
3977 dnl Trying the given location
3978 CPPFLAGS_save="${CPPFLAGS}"
3981 CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
3982 LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
3983 LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
3985 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
3986 LIBS="${LIBS} ${LIBS_new}"
3988 dnl FIXME: too obscure
3989 AC_CHECK_HEADER([directfb.h], [
3990 AC_CHECK_LIB([direct],[direct_initialize], [
3991 AC_CHECK_LIB([fusion], [fusion_enter], [
3992 AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
3993 ], have_directfb="false")
3994 ], have_directfb="false")
3995 ], have_directfb="false")
3998 CPPFLAGS="${CPPFLAGS_save}"
4001 if test "${have_directfb}" = "true"; then
4002 LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4003 CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4006 dnl Look for directfb-config
4007 AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4008 if test "${DIRECTFB_CONFIG}" != "no"; then
4009 CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4010 LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4011 have_directfb="true"
4013 dnl Trying with pkg-config
4014 PKG_CHECK_MODULES(DIRECTFB, directfb, [
4015 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4016 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4017 have_directfb="true"
4018 ], [have_directfb="false"])
4021 if test "${have_directfb}" = "true"; then
4022 VLC_ADD_PLUGIN([directfb])
4023 VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4024 VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4026 AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4036 [ --enable-ggi GGI support (default disabled)])
4037 if test "${enable_ggi}" = "yes"
4039 AC_CHECK_HEADER([ggi/ggi.h],[
4040 VLC_ADD_PLUGIN([ggi])
4041 VLC_ADD_LIBS([ggi],[-lggi])
4043 [ --with-ggi=PATH path to libggi],
4044 [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4046 VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4047 VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4050 AC_MSG_ERROR([LibGGI development files can't be found])
4058 [ --enable-aa aalib output (default disabled)])
4059 if test "${enable_aa}" = "yes"
4061 AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4062 if test "${have_aa}" = "true"
4064 VLC_ADD_PLUGIN([aa])
4065 VLC_ADD_LIBS([aa],[-laa])
4072 PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4078 AC_ARG_WITH(,[Audio plugins:])
4081 dnl OSS /dev/dsp module (enabled by default except on win32)
4084 [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)])
4086 if test "${enable_oss}" != "no" &&
4087 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4088 test "${enable_oss}" = "yes")
4090 AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4091 VLC_ADD_PLUGIN([oss])
4092 VLC_ADD_PLUGIN([access_oss])
4093 AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])
4094 VLC_ADD_LIBS([access_oss],[-lossaudio])])
4099 dnl Pulseaudio module
4101 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4104 dnl Portaudio module
4106 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4111 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4112 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4115 dnl win32 waveOut plugin
4117 AC_ARG_ENABLE(waveout,
4118 [ --enable-waveout Win32 waveOut module (default enabled on Win32)])
4119 if test "${enable_waveout}" != "no"; then
4120 if test "${SYS}" = "mingw32"; then
4121 VLC_ADD_PLUGIN([waveout])
4122 VLC_ADD_LIBS([waveout],[-lwinmm])
4124 if test "${SYS}" = "mingwce"; then
4125 VLC_ADD_PLUGIN([waveout])
4130 dnl CoreAudio plugin
4132 AC_ARG_ENABLE(macosx-audio,
4133 [ --enable-macosx-audio Mac OS X audio module (default enabled on MacOS X)])
4134 if test "x${enable_macosx_audio}" != "xno" &&
4135 (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
4137 AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4138 [ VLC_ADD_PLUGIN([auhal])
4139 VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4140 ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4144 dnl Roku HD1000 audio
4146 AC_ARG_ENABLE(hd1000a,
4147 [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)])
4148 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4149 (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4150 test "${enable_hd1000a}" = "yes")
4153 AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4154 VLC_ADD_PLUGIN([hd1000a])
4155 AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225])) ])
4162 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4163 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4167 dnl CyberLink for C++ UPnP stack
4169 AC_ARG_ENABLE(cyberlink,
4170 [ --enable-cyberlink CyberLink for C++ UPnP stack (default disabled)])
4171 AS_IF([test "${enable_cyberlink}" = "yes" ], [
4172 AC_ARG_WITH(cyberlink-tree,
4173 [ --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4176 dnl test for --with-cyberlink-tree
4178 AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4180 real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4181 AS_IF([test -z "${real_cyberlink_tree}"], [
4182 dnl The given directory can't be found
4184 AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4186 CPPFLAGS_save="${CPPFLAGS}"
4187 CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4188 CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4189 AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4190 [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4191 VLC_ADD_PLUGIN([upnp_cc])
4193 AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4195 AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4196 AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4197 AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4198 dnl The mere fact that we have to make such an ugly check sucks
4199 AC_MSG_CHECKING(for XML parser to link CyberLink with)
4202 for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4203 LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4204 AC_LINK_IFELSE([AC_LANG_PROGRAM([
4205 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4206 using namespace CyberLink;
4208 class testclass : public SearchResponseListener, public MediaPlayer
4210 virtual void deviceSearchResponseReceived( SSDPPacket *)
4217 addSearchResponseListener (this);
4221 ],[testclass l;])],[LIBS_cclink="$l"])
4224 dnl should not happen - otherwise this needs fixing - hence FAILURE
4225 AS_IF([test "${LIBS_cclink}" = "no"],
4226 [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4227 AC_MSG_RESULT([${LIBS_cclink}])
4228 VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4231 AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4233 CPPFLAGS="${CPPFLAGS_save}"
4239 dnl UPnP Plugin (Intel SDK)
4241 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4245 dnl Interface plugins
4248 AC_ARG_WITH(,[Interface plugins:])
4250 dnl special case for BeOS
4251 if test "${SYS}" = "beos"
4253 VLC_ADD_PLUGIN([beos])
4259 AC_ARG_ENABLE(skins2,
4260 [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4261 enabled except on MacOSX, BeOS and WinCE)])])
4262 if test "${enable_skins2}" = "yes" ||
4263 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4264 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4266 dnl test for the required libraries
4267 skins2_missing_lib="no"
4270 if test "${have_freetype}" != "yes"; then
4271 skins2_missing_lib="yes"
4272 if test "${enable_skins2}" = "yes"; then
4273 AC_MSG_ERROR([Could not find freetype (required for skins2)])
4277 if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4278 VLC_ADD_PLUGIN([skins2])
4279 ALIASES="${ALIASES} svlc"
4280 VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4281 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4282 VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4284 else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4285 VLC_ADD_PLUGIN([skins2])
4286 ALIASES="${ALIASES} svlc"
4287 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4288 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4289 VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4291 else if test "${skins2_missing_lib}" = "no"; then
4292 VLC_ADD_PLUGIN([skins2])
4293 ALIASES="${ALIASES} svlc"
4294 VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4295 VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4296 VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4297 need_xid_provider="no"
4300 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4301 (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4302 test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4307 AC_ARG_ENABLE(hildon,
4308 [ --enable-hildon Hildon touchscreen UI (default disabled)])
4309 AS_IF([test "${enable_hildon}" = "yes"], [
4310 PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4311 VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}])
4312 VLC_ADD_LIBS([hildon],[${HILDON_LIBS}])
4313 VLC_ADD_PLUGIN([hildon])
4314 ALIASES="${ALIASES} mvlc"
4315 need_xid_provider="no"
4317 AS_IF([test "${enable_hildon}" = "yes"],[
4318 AC_MSG_ERROR([Hildon libraries not found])
4323 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
4329 [ --enable-qt4 QT 4 support (default enabled) ],, [
4330 AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4332 AS_IF([test "${enable_qt4}" != "no"], [
4333 PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4334 VLC_ADD_PLUGIN([qt4])
4335 ALIASES="${ALIASES} qvlc"
4336 AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4337 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4338 need_xid_provider="no"
4340 VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4342 QT4LOCALEDIR="$(eval $PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4343 AC_SUBST(QT4LOCALEDIR)
4344 VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4345 AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4346 AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4347 AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4349 AS_IF([test "${enable_qt4}" = "yes"],[
4350 AC_MSG_ERROR([Qt 4 library not found])
4352 AC_MSG_WARN([Qt 4 library not found])
4357 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4360 dnl Simple test for skins2 dependency
4362 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4363 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.])
4367 dnl MacOS X video output/gui modules
4369 AC_ARG_ENABLE(macosx,
4370 [ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
4371 if test "x${enable_macosx}" = "xyes"
4373 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
4374 VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
4375 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon])
4376 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,CoreServices])
4377 VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL])
4378 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit])
4379 VLC_ADD_LDFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
4380 VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}/Sparkle])
4382 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,AddressBook])
4383 VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit])
4384 VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
4386 VLC_ADD_PLUGIN([macosx])
4387 VLC_ADD_PLUGIN([minimal_macosx])
4391 dnl MacOS X related modules
4394 AC_ARG_ENABLE(macosx-vout,
4395 [ --enable-macosx-vout Mac OS X video output module (default enabled on Mac OS X)])
4396 if test "x${enable_macosx_vout}" != "xno" &&
4397 (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
4399 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,Cocoa])
4400 VLC_ADD_LDFLAGS([vout_macosx],[-Wl,-framework,OpenGL])
4401 VLC_ADD_PLUGIN([vout_macosx])
4404 AC_ARG_ENABLE(macosx-dialog-provider,
4405 [ --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
4406 if test "x${enable_macosx_dialog_provider}" != "xno" &&
4407 (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
4409 VLC_ADD_LDFLAGS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
4410 VLC_ADD_PLUGIN([macosx_dialog_provider])
4413 AC_ARG_ENABLE(macosx-qtcapture,
4414 [ --enable-macosx-qtcapture Mac OS X qtcapture (iSight) module (default enabled on Mac OS X)])
4415 if test "x${enable_macosx_qtcapture}" != "xno" &&
4416 (test "${SYS}" = "darwin" || test "${enable_macosx_qtcapture}" = "yes")
4418 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,Cocoa])
4419 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QTKit])
4420 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreAudio])
4421 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,QuartzCore])
4422 VLC_ADD_LDFLAGS([qtcapture], [-Wl,-framework,CoreVideo])
4423 VLC_ADD_PLUGIN([qtcapture])
4426 AC_ARG_ENABLE(macosx-eyetv,
4427 [ --enable-macosx-eyetv Mac OS X EyeTV (TNT Tuner) module (default enabled on Mac OS X)])
4428 if test "x${enable_macosx_eyetv}" != "xno" &&
4429 (test "${SYS}" = "darwin" || test "${enable_macosx_eyetv}" = "yes")
4431 VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation])
4432 VLC_ADD_PLUGIN([access_eyetv])
4435 AC_ARG_ENABLE(macosx-vlc-app,
4436 [ --enable-macosx-vlc-app build the VLC media player (default enabled on Mac OS X)])
4437 AM_CONDITIONAL(BUILD_MACOSX_VLC_APP, [test "${enable_macosx_vlc_app}" != "no" &&
4438 (test "${SYS}" = "darwin" || test "${enable_macosx_vlc_app}" = "yes") ])
4445 [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)])
4446 if test "${enable_qnx}" != "no"
4448 AC_CHECK_HEADERS(Ph.h, [
4449 VLC_ADD_PLUGIN([qnx])
4450 VLC_ADD_LIBS([qnx],[-lasound -lph])
4457 AC_ARG_ENABLE(ncurses,
4458 [ --disable-ncurses ncurses interface support (default enabled)],
4459 [if test "${enable_ncurses}" != "no"; then
4460 AC_CHECK_HEADER(ncurses.h,
4461 [AC_CHECK_LIB(ncursesw, mvprintw,
4462 [VLC_ADD_PLUGIN([ncurses])
4463 VLC_ADD_LIBS([ncurses],[-lncursesw])
4464 ALIASES="${ALIASES} nvlc"
4465 AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4466 AC_CHECK_LIB(ncursesw, tgetent, [],
4467 AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4468 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4469 [AS_IF([test "x${enable_ncurses}" != "x"],
4470 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4476 [AC_CHECK_LIB( ncurses, mvprintw,
4477 [VLC_ADD_PLUGIN([ncurses])
4478 ALIASES="${ALIASES} nvlc"
4479 VLC_ADD_LIBS([ncurses],[-lncurses])
4480 AC_CHECK_LIB(ncurses, tgetent, [],
4481 [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4482 [AS_IF([test "x${enable_ncurses}" != "x"],
4483 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4486 [AS_IF([test "x${enable_ncurses}" != "x"], [
4487 AC_MSG_ERROR([libncurses not found])])]
4498 [ --enable-xosd xosd interface support (default disabled)])
4499 if test "${enable_xosd}" = "yes"
4501 AC_CHECK_HEADERS(xosd.h,
4502 AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4503 VLC_ADD_PLUGIN([xosd])
4504 VLC_ADD_LIBS([xosd],[-lxosd])
4510 dnl Framebuffer (overlay) plugin
4512 AC_ARG_ENABLE(fbosd,
4513 [ --enable-fbosd fbosd interface support (default disabled)])
4514 if test "${enable_fbosd}" = "yes"
4516 AC_CHECK_HEADERS(linux/fb.h, [
4517 VLC_ADD_PLUGIN([fbosd])
4522 dnl Post-interface configuration checks
4524 AS_IF([test "$need_xid_provider" = "yes"], [
4525 AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.])
4529 dnl Visualisation plugin
4531 AC_ARG_ENABLE(visual,
4532 [ --enable-visual visualisation plugin (default enabled)])
4533 if test "${enable_visual}" != "no"
4535 VLC_ADD_PLUGIN([visual])
4539 dnl goom visualization plugin
4541 PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
4544 dnl libprojectM visualization plugin
4546 PKG_ENABLE_MODULES_VLC([PROJECTM], [], [libprojectM], [projectM visualization plugin], [auto])
4549 dnl AtmoLight (homebrew AmbiLight)
4552 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4553 (broken, default disabled)]),, [enable_atmo="no"])
4554 AS_IF([test "${enable_atmo}" != no], [
4555 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4557 VLC_ADD_PLUGIN([atmo])
4563 dnl Bonjour services discovery
4564 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4567 dnl libudev services discovery
4568 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
4571 dnl MTP devices services discovery
4572 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4578 [ --enable-lirc lirc support (default disabled)])
4579 if test "${enable_lirc}" = "yes"
4581 AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4582 if test "${have_lirc}" = "true"
4584 VLC_ADD_PLUGIN([lirc])
4585 VLC_ADD_LIBS([lirc],[-llirc_client])
4590 AC_ARG_WITH(,[Misc options:])
4595 AC_ARG_ENABLE(libgcrypt,
4596 [ --disable-libgcrypt gcrypt support (default enabled)])
4597 AS_IF([test "${enable_libgcrypt}" != "no"], [
4598 AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4599 libgcrypt-config --version >/dev/null || \
4600 AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4601 AC_CHECK_LIB(gcrypt, gcry_control, [
4602 have_libgcrypt="yes"
4603 GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4604 GCRYPT_LIBS="`libgcrypt-config --libs`"
4606 AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4607 ], [`libgcrypt-config --libs`])
4609 AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4610 ], [#include <gcrypt.h>]
4614 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4615 AS_IF([test "${have_libgcrypt}" = "yes"],[
4616 VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4619 AC_SUBST(GCRYPT_CFLAGS)
4620 AC_SUBST(GCRYPT_LIBS)
4621 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4626 AC_ARG_ENABLE(gnutls,
4627 [ --enable-gnutls gnutls TLS/SSL support (default enabled)])
4629 AS_IF([test "${enable_gnutls}" != "no"], [
4630 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4631 VLC_ADD_PLUGIN([gnutls])
4632 VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4633 AS_IF([test "${SYS}" = "mingw32"], [
4634 dnl pkg-config --libs gnutls omits these
4635 VLC_ADD_LIBS([gnutls], [-lz])
4636 VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4638 dnl The GnuTLS plugin invokes gcry_control directly.
4639 AS_IF([test "${have_libgcrypt}" = "yes"],[
4640 VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4641 VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4643 VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4645 AS_IF([test "${enable_gnutls}" = "yes"], [
4646 AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4653 dnl RemoteOSD plugin (VNC client as video filter)
4655 AC_ARG_ENABLE(remoteosd,
4656 [ --disable-remoteosd RemoteOSD plugin (default enabled)])
4658 AS_IF([test "${enable_remoteosd}" != "no"], [
4659 AS_IF([test "${have_libgcrypt}" = "yes"],[
4660 VLC_ADD_PLUGIN([remoteosd])
4661 VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4662 VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4664 AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4672 AC_MSG_CHECKING([whether to enable RAOP plugin])
4673 AS_IF([test "${have_libgcrypt}" = "yes"], [
4675 VLC_ADD_PLUGIN([stream_out_raop])
4676 VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4677 VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4680 AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4685 dnl OSSO (Maemo screen blanking) plugin
4687 PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto])
4689 AS_IF([test -f "/etc/maemo_version"], [
4690 AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4695 dnl update checking system
4697 AC_ARG_ENABLE(update-check,
4698 [ --enable-update-check update checking system (default disabled)])
4699 if test "${enable_update_check}" = "yes"
4701 if test "${have_libgcrypt}" != "yes"
4703 AC_MSG_ERROR([libgcrypt is required for update checking system])
4705 VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4706 VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4707 AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4714 [ --with-sqlite=PATH sqlite path linking])
4715 if test "${SYS}" != "darwin"; then
4716 PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3], [sqlite3], [auto])
4718 if test "${enable_sqlite}" != "no"
4720 AC_CHECK_HEADERS(sqlite3.h, [
4721 VLC_ADD_PLUGIN([sqlite])
4722 if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
4723 AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
4724 real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
4725 if test -z "${real_sqlite}"
4727 dnl The given directory can't be found
4729 AC_MSG_ERROR([cannot cd to ${with_sqlite}])
4731 VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
4732 VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
4735 VLC_ADD_LIBS([sqlite], [-lsqlite3])
4737 AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
4738 AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
4741 AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
4745 dnl Endianness check
4748 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4749 DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4753 AC_SUBST(DEFS_BIGENDIAN)
4756 dnl DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4759 AC_ARG_ENABLE(loader,
4760 AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4761 (default disabled)]))
4762 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4763 AS_IF([test "${enable_loader}" = "yes"],
4764 [ VLC_ADD_PLUGIN([dmo])
4765 VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4766 VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4767 VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4768 VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4769 VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4770 VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4771 VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4772 VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4775 AC_ARG_WITH(,[Components:])
4781 [ --enable-vlc build the VLC media player (default enabled)])
4782 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4785 dnl Microsoft ActiveX support
4788 AC_ARG_ENABLE(activex,
4789 AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4790 (default enabled on Win32)]))
4791 AC_ARG_WITH(wine-sdk-path,
4792 [ --with-wine-sdk-path=PATH path to wine sdk])
4793 if test "${enable_activex}" != "no"
4795 if test "${SYS}" = "mingw32"
4797 AC_CHECK_PROGS(MIDL, [midl], no)
4798 if test "${with_wine_sdk_path}" != ""
4800 WINE_SDK_PATH=${with_wine_sdk_path}
4801 AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4806 AC_CHECK_HEADERS(ole2.h,
4807 [AC_CHECK_HEADERS(olectl.h,
4808 [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4809 VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4810 VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4811 AC_CHECK_HEADERS(objsafe.h,
4812 VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4820 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4822 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4824 [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4829 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4830 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4831 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4832 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4833 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4839 AC_ARG_ENABLE(mozilla,
4840 AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4841 (default disabled)]))
4842 AC_ARG_WITH(mozilla-sdk-path,
4843 [ --with-mozilla-sdk-path=PATH path to mozilla sdk])
4844 AC_ARG_WITH(mozilla-pkg,
4845 [ --with-mozilla-pkg=PKG look for PKG.pc to build the mozilla plugin.])
4847 if test "${enable_mozilla}" = "yes"
4849 AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4852 dnl As we want to do a loop due to the number of name possible for the .pc
4853 dnl we can't use the pkg-config macros.
4855 AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4856 AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4857 AC_MSG_NOTICE([Checking for Mozilla])
4859 if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4863 if test -n "$PKG_CONFIG"; then
4864 for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4865 echo "Trying to find $i.pc files" >&5
4866 if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4868 echo "Using $i.pc files." >&5
4869 echo "Using $i.pc files." >&6
4871 MOZILLA_CFLAGS=$(eval $PKG_CONFIG --cflags "$i" )
4872 MOZILLA_LIBS=$(eval $PKG_CONFIG --libs "$i" )
4878 AS_IF( [test $found = 1],[
4879 CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4880 MOZILLA_REQUIRED_HEADERS=1
4881 AC_CHECK_HEADERS([npfunctions.h])
4882 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4883 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4888 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4889 AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4891 MOZILLA_REQUIRED_HEADERS=
4893 AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4894 VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4895 AS_IF([ test "${SYS}" != "darwin"],[
4896 PKG_CHECK_MODULES(XPM, [xpm xt],[
4897 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4899 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4903 VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4904 VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4905 VLC_ADD_PLUGIN([mozilla])
4906 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4908 CPPFLAGS="${CPPFLAGS_save}"
4911 AC_PATH_PROGS(MOZILLA_CONFIG,
4912 [mozilla-config seamonkey-config xulrunner-config],
4914 test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4917 dnl pkg-config failed but we might have found a mozilla-config
4918 AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4919 if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4920 LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4921 AC_CHECK_LIB(Xt,XtStrings,
4923 VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4924 VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4927 [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4929 AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4930 LDFLAGS="${LDFLAGS_save}"
4934 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4935 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4936 VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4937 CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4938 MOZILLA_REQUIRED_HEADERS=1
4939 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4940 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4941 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4946 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4948 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4950 MOZILLA_REQUIRED_HEADERS=
4951 CPPFLAGS="${CPPFLAGS_save}"
4952 MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4954 dnl End of moz_sdk = ""
4956 dnl special case for mingw32
4957 if test "${SYS}" = "mingw32"
4959 AC_CHECK_TOOL(CYGPATH, cygpath, "")
4960 dnl latest gecko sdk does not have an xpcom directory
4961 if test -d "${with_mozilla_sdk_path}/xpcom"; then
4962 mozilla_sdk_xpcom="/xpcom"
4966 real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4967 CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4968 MOZILLA_REQUIRED_HEADERS=1
4969 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4970 AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4971 AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4976 if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4978 AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4980 MOZILLA_REQUIRED_HEADERS=
4982 PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4983 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])
4984 if ${need_xpcom_libs}; then
4985 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])
4986 if test "${SYS}" = "mingw32"; then
4987 dnl latest gecko sdk does not have embedstring
4988 if test -d "${real_mozilla_sdk}/embedstring/bin"
4990 VLC_ADD_LIBS([mozilla],[-lembedstring])
4994 MOZILLA_SDK_PATH="${real_mozilla_sdk}"
4996 if test -n "${CYGPATH}"; then
4997 real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4999 CPPFLAGS="${CPPFLAGS_save}"
5003 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5008 AC_ARG_ENABLE(testsuite,
5009 [ --enable-testsuite build test modules (default disabled)])
5010 if test "${enable_testsuite}" = "yes"
5012 TESTS="test1 test2 test3 test4"
5014 dnl we define those so that bootstrap sets the right linker
5015 VLC_ADD_CXXFLAGS([test2],[])
5016 VLC_ADD_OBJCFLAGS([test3],[])
5017 dnl this one is needed until automake knows what to do
5018 VLC_ADD_LIBS([test3],[-lobjc])
5020 VLC_ADD_PLUGIN([test1])
5021 VLC_ADD_PLUGIN([test2])
5022 VLC_ADD_PLUGIN([test3])
5023 VLC_ADD_PLUGIN([test4])
5027 dnl Plugin and builtin checks
5031 dnl Automagically disable plugins if there is no system support for
5032 dnl dynamically loadable files (.so, .dll, .dylib).
5033 dnl don't forget vlc-win32 still can load .dll as plugins
5034 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5035 AC_MSG_WARN([*** No plugin support! Building statically! ***])
5039 AS_IF([test "${plugin_support}" != "no"], [
5040 AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5044 dnl Pic and shared libvlc stuff
5046 AS_IF([test "${SYS}" = "mingw32"], [
5047 FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5048 FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5052 dnl Stuff used by the program
5054 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5055 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5056 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5057 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5058 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5059 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5060 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5061 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5062 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5063 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5064 AC_SUBST(COPYRIGHT_MESSAGE)
5065 AC_SUBST(VERSION_MESSAGE)
5066 AC_SUBST(VERSION_MAJOR)
5067 AC_SUBST(VERSION_MINOR)
5068 AC_SUBST(VERSION_REVISION)
5069 AC_SUBST(VERSION_EXTRA)
5070 AC_SUBST(COPYRIGHT_YEARS)
5071 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5072 if test "${build_os}" = "cygwin"
5074 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5076 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5078 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5079 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5080 dnl Win32 need s a numerical version_extra.
5081 case $( echo ${VERSION_EXTRA}|wc -m ) in
5082 "1") VERSION_EXTRA_RC="0";;
5083 "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5084 *) VERSION_EXTRA_RC="99"
5086 AC_SUBST(VERSION_EXTRA_RC)
5088 dnl Handle substvars that use $(top_srcdir)
5090 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5091 AC_SUBST(VLC_CONFIG)
5092 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5100 dnl Sort the modules list
5102 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5105 dnl Create the vlc-config script
5107 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5110 dnl Configuration is finished
5120 AC_SUBST(MOZILLA_SDK_PATH)
5121 AC_SUBST(WINE_SDK_PATH)
5123 AC_SUBST(AM_CPPFLAGS)
5124 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5125 AC_SUBST(FILE_LIBVLCCORE_DLL)
5126 AC_SUBST(FILE_LIBVLC_DLL)
5128 dnl Create vlc-config.in
5129 VLC_OUTPUT_VLC_CONFIG_IN
5132 extras/package/win32/spad.nsi
5133 extras/package/win32/vlc.win32.nsi
5134 extras/package/macosx/Info.plist
5135 extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5136 extras/package/macosx/plugin/Info.plist
5137 extras/package/macosx/plugin/InstallerInfo.plist
5139 projects/activex/Makefile
5140 projects/activex/axvlc.inf
5142 extras/package/ipkg/Makefile
5143 libs/loader/Makefile
5147 projects/mozilla/Makefile
5150 projects/activex/axvlc_rc.rc
5151 projects/mozilla/npvlc_rc.rc
5152 projects/mozilla/vlc.r
5153 projects/mozilla/install.js
5155 share/vlc_win32_rc.rc
5156 share/libvlc_win32_rc.rc
5162 modules/access/Makefile
5163 modules/access/bd/Makefile
5164 modules/access/bda/Makefile
5165 modules/access/dshow/Makefile
5166 modules/access/dvb/Makefile
5167 modules/access/mms/Makefile
5168 modules/access/cdda/Makefile
5169 modules/access/rtp/Makefile
5170 modules/access/rtsp/Makefile
5171 modules/access/vcd/Makefile
5172 modules/access/vcdx/Makefile
5173 modules/access/screen/Makefile
5174 modules/access/zip/Makefile
5175 modules/access_output/Makefile
5176 modules/audio_filter/Makefile
5177 modules/audio_filter/channel_mixer/Makefile
5178 modules/audio_filter/converter/Makefile
5179 modules/audio_filter/resampler/Makefile
5180 modules/audio_filter/spatializer/Makefile
5181 modules/audio_mixer/Makefile
5182 modules/audio_output/Makefile
5183 modules/codec/Makefile
5184 modules/codec/avcodec/Makefile
5185 modules/codec/cmml/Makefile
5186 modules/codec/dmo/Makefile
5187 modules/codec/shine/Makefile
5188 modules/codec/subtitles/Makefile
5189 modules/codec/spudec/Makefile
5190 modules/codec/wmafixed/Makefile
5191 modules/control/Makefile
5192 modules/control/http/Makefile
5193 modules/control/globalhotkeys/Makefile
5194 modules/demux/Makefile
5195 modules/demux/asf/Makefile
5196 modules/demux/avformat/Makefile
5197 modules/demux/avi/Makefile
5198 modules/demux/mkv/Makefile
5199 modules/demux/mp4/Makefile
5200 modules/demux/mpeg/Makefile
5201 modules/demux/playlist/Makefile
5202 modules/gui/Makefile
5203 modules/gui/beos/Makefile
5204 modules/gui/macosx/Makefile
5205 modules/gui/hildon/Makefile
5206 modules/gui/minimal_macosx/Makefile
5207 modules/gui/macosx_dialog_provider/Makefile
5208 modules/gui/qnx/Makefile
5209 modules/gui/qt4/Makefile
5210 modules/gui/skins2/Makefile
5211 modules/meta_engine/Makefile
5212 modules/misc/Makefile
5213 modules/misc/dummy/Makefile
5214 modules/misc/lua/Makefile
5215 modules/misc/memcpy/Makefile
5216 modules/misc/notify/Makefile
5217 modules/misc/testsuite/Makefile
5218 modules/misc/playlist/Makefile
5219 modules/misc/osd/Makefile
5220 modules/misc/stats/Makefile
5221 modules/misc/xml/Makefile
5222 modules/mux/Makefile
5223 modules/mux/mpeg/Makefile
5224 modules/packetizer/Makefile
5225 modules/services_discovery/Makefile
5226 modules/stream_filter/Makefile
5227 modules/stream_out/Makefile
5228 modules/stream_out/transcode/Makefile
5229 modules/video_chroma/Makefile
5230 modules/video_filter/Makefile
5231 modules/video_filter/dynamicoverlay/Makefile
5232 modules/video_output/Makefile
5233 modules/video_output/msw/Makefile
5234 modules/visualization/Makefile
5235 modules/visualization/visual/Makefile
5238 dnl Generate makefiles
5241 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5242 # not provided with the source
5243 ${SHELL} ./config.status --file=vlc-config
5244 chmod 0755 vlc-config
5246 /bin/echo -n "Enabled modules: "
5247 ./vlc-config --list plugin
5249 dnl Do we have to use make or gmake ?
5250 USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
5251 dnl Shortcut to nice compile message
5253 echo '#! /bin/sh' >compile
5254 echo rm -f .error\$\$ >>compile
5255 echo ERROR=0 >>compile
5256 echo export PATH=$PATH LANG=C >>compile
5257 echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5258 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5259 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5260 echo rm -f .error\$\$ >>compile
5261 echo exit \$ERROR >>compile
5265 libvlc configuration
5266 --------------------
5267 version : ${VERSION}
5269 architecture : ${ARCH}
5271 test "${enable_debug}" = "yes" && printf "debug "
5272 test "${enable_cprof}" = "yes" && printf "cprof "
5273 test "${enable_gprof}" = "yes" && printf "gprof "
5274 test "${enable_optimizations}" = "yes" && printf "optim "
5275 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5277 if test "${enable_vlc}" != "no"; then
5278 echo "vlc aliases :${ALIASES}"
5280 echo "build vlc executable : no"
5282 echo "plugins/bindings :${PLUGINS_BINDINGS}
5284 You can tune the compiler flags in vlc-config.
5285 To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'.
5287 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5289 echo "Warning: Due to a bug in ld, mmx/sse support has been"
5291 echo " FFmpeg will be REALLY slow."
5292 echo " VLC WILL NOT PERFORM AS EXPECTED."