]> git.sesse.net Git - vlc/blob - configure.ac
4f1aac61702616aa78f4cd939de015ab16574e74
[vlc] / configure.ac
1 dnl Autoconf settings for vlc
2
3 AC_COPYRIGHT([Copyright 2002-2009 the VideoLAN team])
4
5 AC_INIT(vlc, 1.1.0-git)
6 VERSION_MAJOR="1"
7 VERSION_MINOR="1"
8 VERSION_REVISION="0"
9 VERSION_EXTRA="-git"
10 PKGDIR="vlc"
11 AC_SUBST(PKGDIR)
12
13 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
14 CODENAME="Yellow Bastard"
15 COPYRIGHT_YEARS="1996-2009"
16
17 AC_PREREQ(2.59c)
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)
22 AC_CANONICAL_BUILD
23 AC_CANONICAL_HOST
24
25 AM_INIT_AUTOMAKE(tar-ustar)
26 AM_CONFIG_HEADER(config.h)
27
28 # Disable with "./configure --disable-silent-rules" or "make V=1"
29 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
30
31
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.
37
38 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39     [enable_maintainer_mode="yes"])
40 AM_MAINTAINER_MODE
41
42 dnl
43 dnl Directories
44 dnl
45 dnl vlcincludedir="\${includedir}/\${PKGDIR}"
46 dnl AC_SUBST(vlcincludedir)
47 vlcdatadir="\${datadir}/\${PKGDIR}"
48 AC_SUBST(vlcdatadir)
49 vlclibdir="\${libdir}/\${PKGDIR}"
50 AC_SUBST(vlclibdir)
51
52 dnl
53 dnl  Deprecated options
54 dnl  to notify packagers that stuff has changed
55 dnl
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])
61 ])
62
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])
68 ])
69
70 dnl
71 dnl  Save *FLAGS
72 dnl
73 VLC_SAVE_FLAGS
74
75 dnl
76 dnl Check for tools
77 dnl
78 AC_PROG_CC_C99
79 AC_USE_SYSTEM_EXTENSIONS
80 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
81
82 AM_PROG_CC_C_O
83 AC_PROG_CXX
84 AC_PROG_CPP
85 AC_PROG_OBJC
86 _AM_DEPENDENCIES([OBJC])
87 AC_PROG_EGREP
88 AC_PROG_MAKE_SET
89 AC_PROG_INSTALL
90 AM_PROG_AS
91
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, :)
98
99 dnl Check for compiler properties
100 AC_C_CONST
101 AC_C_INLINE
102 AC_C_RESTRICT
103
104 dnl Allow binary package maintainer to pass a custom string to avoid
105 dnl cache problem
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])
112       ])
113
114
115 dnl
116 dnl  Check for the contrib directory
117 dnl
118 AC_ARG_WITH(contrib,
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"
123     then
124       topdir="`dirname $0`"
125       if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
126          topdir="`pwd`/$topdir"
127       fi
128       CONTRIB_DIR=${topdir}/extras/contrib
129     fi
130     AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
131   AS_IF([test -d ${CONTRIB_DIR}/lib],[
132    AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
133       if test "${with_contrib}" = "yes"; then
134         AC_MSG_RESULT([no])
135         AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
136       else
137         AC_MSG_RESULT([no])
138         AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
139       fi
140      ],[
141     AC_MSG_RESULT([yes])
142     export PATH=${CONTRIB_DIR}/bin:$PATH
143     CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
144     CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
145     CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
146     CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
147     CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
148     CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
149     OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
150     OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
151     if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
152         export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
153     else
154         export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig
155     fi
156     LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
157     LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"
158
159     if test -z $with_mozilla_sdk_path; then
160        with_mozilla_sdk_path=${CONTRIB_DIR}/gecko-sdk
161     fi
162     if test -z $with_cyberlink_tree; then
163        with_cyberlink_tree=${CONTRIB_DIR}/src/clinkcc
164     fi
165
166     if test ".`uname -s`" = ".Darwin"; then
167       export LD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH
168       export DYLD_LIBRARY_PATH=${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH
169     elif test ".`uname -s`" = ".BeOS"; then
170       export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
171       export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
172     fi
173     ])
174   ],[
175     AC_MSG_RESULT([no])
176   ])
177 ])
178 dnl
179 dnl  Set default values
180 dnl
181 LDFLAGS_vlc="${LDFLAGS}"
182
183 dnl
184 dnl  Check the operating system
185 dnl
186 case "${host_os}" in
187   "")
188     SYS=unknown
189     ;;
190   linux*)
191     SYS=linux
192     ;;
193   bsdi*)
194     SYS=bsdi
195     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
196     VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
197     ;;
198   *bsd*)
199     SYS="${host_os}"
200     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
201     case "${host_os}" in
202       freebsd*)
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}"
207         ;;
208     esac
209     ;;
210   darwin*)
211     SYS=darwin
212     CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
213     CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
214     OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
215     LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}"
216     VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
217     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
218     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
219     VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
220     VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
221     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
222     VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
223     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
224     AC_ARG_ENABLE(macosx-defaults,
225       AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
226     if test "x${enable_macosx_defaults}" != "xno"
227     then
228         echo ""
229         echo "Building with Mac OS X defaults:"
230         with_macosx_version_min="10.5"
231         echo "  Assuming --with-macosx-version-min=10.5"
232         with_macosx_sdk="/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
233         echo "  Assuming --with-macosx-sdk=/Developer/SDKs/MacOSX${with_macosx_version_min}.sdk"
234         build_dir=`pwd`
235         echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
236         ac_default_prefix="${build_dir}/vlc_install_dir"
237         enable_macosx="yes"
238         echo "  Assuming --enable-macosx"
239         enable_faad="yes"
240         echo "  Assuming --enable-faad"
241         enable_flac="yes"
242         echo "  Assuming --enable-flac"
243         enable_theora="yes"
244         echo "  Assuming --enable-theora"
245         enable_shout="yes"
246         echo "  Assuming --enable-shout"
247         enable_cddax="yes"
248         echo "  Assuming --enable-cddax"
249         enable_vcdx="yes"
250         echo "  Assuming --enable-vcdx"
251         enable_caca="yes"
252         echo "  Assuming --enable-caca"
253         enable_ncurses="yes"
254         echo "  Assuming --enable-ncurses"
255         enable_twolame="yes"
256         echo "  Assuming --enable-twolame"
257         enable_realrtsp="yes"
258         echo "  Assuming --enable-realrtsp"
259         enable_libass="yes"
260         echo "  Assuming --enable-libass"
261         enable_asademux="yes"
262         echo "  Assuming --enable-asademux"
263
264         enable_skins2="no"
265         echo "  Assuming --disable-skins2"
266         enable_x11="no"
267         echo "  Assuming --disable-x11"
268         enable_xcb="no"
269         echo "  Assuming --disable-xcb"
270         enable_glx="no"
271         echo "  Assuming --disable-glx"
272         enable_xvideo="no"
273         echo "  Assuming --disable-xvideo"
274     fi
275     dnl
276     dnl  Check for Mac OS X SDK settings
277     dnl
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}"
286     fi
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
300     fi
301     ;;
302   darwin9*)
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
307         dnl text relocation)
308         save_cflags="$CFLAGS"
309         CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
310         AC_TRY_LINK(
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"
315
316         if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
317             enable_mmx="no"
318             echo "  Assuming --disable-mmx (due to a bug in ld)"
319             enable_sse="no"
320             echo "  Assuming --disable-sse (due to a bug in ld)"
321         fi
322     fi
323     ;;
324   *mingw32* | *cygwin* | *wince* | *mingwce*)
325     AC_CHECK_TOOL(WINDRES, windres, :)
326     AC_CHECK_TOOL(OBJCOPY, objcopy, :)
327
328     case "${host_os}" in
329       *wince* | *mingwce* | *mingw32ce*)
330         SYS=mingwce
331         dnl Sadly CeGCC still needs non-wince macros
332         AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
333         ;;
334       *mingw32*)
335         SYS=mingw32
336         AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
337         ;;
338       *cygwin*)
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.])
342         AC_EGREP_CPP(yes,
343             [#ifdef WIN32
344              yes
345              #endif],
346             SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
347         ;;
348     esac
349
350     if test "${SYS}" = "mingw32"; then
351         # add ws2_32 for closesocket, select, recv
352         VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
353         VLC_ADD_LDFLAGS([vlc],[-mwindows])
354         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
355         VLC_ADD_LIBS([cdda vcdx cddax sdl_image aout_sdl vout_sdl],[-lwinmm])
356         VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap slp http stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi],[-lws2_32])
357         VLC_ADD_LIBS([access_file], [-lshlwapi])
358         dnl
359         dnl DEP and ASLR options
360         dnl
361         AC_ARG_ENABLE(peflags,
362           [  --enable-peflags          peflags use (default enabled)])
363         if test "${enable_peflags}" != "no"
364         then
365           AC_CHECK_TOOL(PEFLAGS, peflags, :)
366         fi
367     fi
368     if test "${SYS}" = "mingwce"; then
369         # add ws2 for closesocket, select, recv
370         VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd ts telnet],[-lws2])
371         VLC_ADD_LIBS([libvlccore],[-lmmtimer])
372    fi
373     ;;
374   *nto*)
375     SYS=nto
376     ;;
377   solaris*)
378     SYS=solaris
379     ;;
380   hpux*)
381     SYS=hpux
382     ;;
383   beos)
384     SYS=beos
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}"
393     dnl Check for BONE
394     if test -f /boot/beos/system/lib/libbind.so; then
395         VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lbind -lsocket])
396     else
397         VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlccore growl_udp],[-lnet])
398     fi
399
400     dnl Ugly check for Zeta
401     if test -f /boot/beos/system/lib/libzeta.so; then
402         VLC_ADD_LIBS([beos],[-lzeta])
403     fi
404     ;;
405   *)
406     SYS="${host_os}"
407     ;;
408 esac
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"])
415
416 dnl
417 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
418 dnl for program foo on win32
419
420 case "${build_os}" in
421     cygwin|msys)
422         ac_executable_extensions=".exe"
423     ;;
424     *)
425     ;;
426 esac
427
428 dnl
429 dnl  Libtool
430 dnl  It's very bad, but our former custom system was worst
431 dnl  -- Courmisch
432 dnl
433
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])
439
440 AC_DISABLE_STATIC
441 dnl AC_DISABLE_FAST_INSTALL
442 AC_LIBTOOL_DLOPEN
443 AC_LIBTOOL_WIN32_DLL
444 m4_undefine([AC_PROG_F77])
445 m4_defun([AC_PROG_F77],[])
446 AC_PROG_LIBTOOL
447
448 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
449 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
450
451 lt_cv_deplibs_check_method=pass_all
452
453
454 dnl
455 dnl Gettext stuff
456 dnl
457 AM_GNU_GETTEXT_VERSION([0.17])
458 AM_GNU_GETTEXT([external])
459 VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
460
461 dnl
462 dnl Iconv stuff
463 dnl
464 AM_ICONV
465 VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
466 VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
467
468 dnl Check for broken versions of mingw-runtime compatability library
469 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
470     AC_MSG_CHECKING(for broken mingw-runtime)
471     AC_PREPROC_IFELSE([
472 #include <_mingw.h>
473 #if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
474 # error Attempting to use mingw-runtime with broken vsnprintf support
475 #endif
476 ], [
477         AC_MSG_RESULT([ok])
478 ], [
479         AC_MSG_RESULT([present])
480         AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
481 ])
482     dnl force use of mingw provided c99 *printf over msvcrt
483     CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
484     CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
485 ])
486
487 dnl Check for the need to include the mingwex lib for mingw32
488 if test "${SYS}" = "mingw32"
489 then
490     AC_CHECK_LIB(mingwex,opendir,
491         AC_CHECK_LIB(mingw32,opendir,,
492             [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
493     )
494 fi
495
496 dnl Check for fnative-struct or mms-bitfields support for mingw32
497 if test "${SYS}" = "mingw32"
498 then
499     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
500         [ac_cv_c_mms_bitfields],
501         [CFLAGS="${CFLAGS_save} -mms-bitfields"
502          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
503     if test "${ac_cv_c_mms_bitfields}" != "no"; then
504         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
505         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
506     else
507         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
508             [ac_cv_c_fnative_struct],
509             [CFLAGS="${CFLAGS_save} -fnative-struct"
510              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
511         if test "${ac_cv_c_fnative_struct}" != "no"; then
512             CFLAGS_save="${CFLAGS_save} -fnative-struct";
513             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
514         fi
515     fi
516
517     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
518 fi
519
520 dnl Check for fvtable-thunks support for mingw32
521 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
522 then
523 AC_LANG_PUSH(C++)
524     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
525         [ac_cv_cxx_fvtable_thunks],
526         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
527          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
528                         ac_cv_cxx_fvtable_thunks=no)])
529     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
530         CXXFLAGS_mingw32_special="-fvtable-thunks"
531     fi
532
533     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
534 AC_LANG_POP(C++)
535 fi
536
537 dnl
538 dnl Buggy glibc prevention. Purposedly not cached.
539 dnl See sourceware.org bugs 5058 and 5443.
540 dnl Ubuntu alone has 20 bug numbers for this...
541 dnl
542 AC_MSG_CHECKING(for buggy GNU/libc versions)
543 AC_PREPROC_IFELSE([
544 #include <limits.h>
545 #if defined (__GLIBC__) && (__GLIBC__ == 2) \
546   && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
547 # error GNU/libc with dcgettext killer bug!
548 #endif
549 ], [
550   AC_MSG_RESULT([not present])
551 ], [
552   AC_MSG_RESULT([found])
553   AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
554     AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
555 work-around for this. Check with your distribution vendor on how to update the
556 glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
557 be sure to not use LibVLC from other applications/wrappers.])
558   ], [
559     AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
560   ])
561 ])
562
563 dnl Plugin compilation stuff
564
565 VLC_LIBRARY_SUFFIX
566
567 dnl The -DSYS_FOO flag
568 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
569
570 dnl Check for system libs needed
571 need_libc=false
572
573 dnl Check for usual libc functions
574 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale])
575 AC_CHECK_FUNCS(fcntl)
576 AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtoll vasprintf swab])
577 AC_CHECK_FUNCS([stricmp strnicmp])
578 AC_CHECK_FUNCS(fdatasync,,
579   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
580 ])
581
582 dnl Check for non-standard system calls
583 AC_CHECK_FUNCS([vmsplice eventfd fstatfs])
584
585 AH_BOTTOM([#include <vlc_fixups.h>])
586
587 AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGIN([access_mmap])])
588
589 dnl Check for setlocal and langinfo
590 AC_CHECK_FUNCS(setlocale)
591 AC_CHECK_HEADERS(langinfo.h)
592 AC_CHECK_FUNCS(nl_langinfo)
593
594 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
595   [AC_TRY_LINK([#include <langinfo.h>],
596     [char* cs = nl_langinfo(CODESET);],
597     ac_cv_langinfo_codeset=yes,
598     ac_cv_langinfo_codeset=no)
599   ])
600 if test ${ac_cv_langinfo_codeset} = yes; then
601   AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
602     [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
603 fi
604
605 SOCKET_LIBS=""
606 AC_CHECK_FUNCS(connect,,[
607   AC_CHECK_LIB(socket,connect,[
608     VLC_ADD_LIBS([libvlccore cdda cddax],-lsocket)
609     SOCKET_LIBS="-lsocket"
610   ])
611 ])
612 AC_SUBST(SOCKET_LIBS)
613
614 AC_CHECK_FUNCS(send,,[
615   AC_CHECK_LIB(socket,send,[
616     VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd],[-lsocket])
617   ])
618 ])
619
620
621 dnl Check for socklen_t
622 AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
623 AC_CACHE_CHECK([for socklen_t in sys/socket.h],
624 ac_cv_type_socklen_t,
625 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
626 [#include <sys/types.h>
627 #ifdef WIN32
628 # include <winsock2.h>
629 # include <ws2tcpip.h>
630 #else
631 # include <sys/socket.h>
632 #endif]], [[socklen_t len; len = 0;]])],
633 ac_cv_type_socklen_t=yes,
634 ac_cv_type_socklen_t=no)])
635 AS_IF([test "$ac_cv_type_socklen_t" = no],
636  [AC_DEFINE(socklen_t, int)])
637
638 dnl Check for struct sockaddr_storage
639 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
640 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
641 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
642   [AC_TRY_COMPILE(
643     [#include <sys/types.h>
644      #if defined( UNDER_CE )
645      # include <winsock2.h>
646      #elif defined( WIN32 )
647      # include <winsock2.h>
648      #else
649      # include <sys/socket.h>
650      #endif], [struct sockaddr_storage addr;],
651      ac_cv_struct_sockaddr_storage=yes,
652      ac_cv_struct_sockaddr_storage=no)])
653 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
654   AC_DEFINE(sockaddr_storage, sockaddr)
655   AC_DEFINE(ss_family, sa_family)
656 ])
657
658 dnl getaddrinfo, getnameinfo and gai_strerror check
659 dnl  -lnsl and -lsocket are needed on Solaris;
660 dnl  we purposedly make the test fail on Windows
661 LIBS_save="${LIBS}"
662 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
663 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${SOCKET_LIBS}])
664
665 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
666 dnl are
667 LIBS="${LIBS_gai}"
668 AC_CHECK_FUNCS([getnameinfo gai_strerror])
669 LIBS="${LIBS_save}"
670
671 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
672 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
673 [#include <sys/types.h>
674 #if defined( WIN32 ) || defined( UNDER_CE )
675 # if defined(UNDER_CE) && defined(sockaddr_storage)
676 #  undef sockaddr_storage
677 # endif
678 # include <winsock2.h>
679 # include <ws2tcpip.h>
680 #else
681 # include <netdb.h>
682 #endif])
683
684 dnl Check for va_copy
685 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
686   AC_TRY_LINK(
687     [#include <stdarg.h>],
688     [va_list ap1, ap2; va_copy(ap1,ap2);],
689     [ac_cv_c_va_copy="yes"],
690     [ac_cv_c_va_copy="no"]))
691 if test "${ac_cv_c_va_copy}" = "yes"; then
692   AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
693 fi
694 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
695   AC_TRY_LINK(
696     [#include <stdarg.h>],
697     [va_list ap1, ap2; __va_copy(ap1,ap2);],
698     [ac_cv_c___va_copy="yes"],
699     [ac_cv_c___va_copy="no"]))
700 if test "${ac_cv_c___va_copy}" = "yes"; then
701   AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
702 fi
703
704 AC_CHECK_FUNCS(inet_aton,,[
705   AC_CHECK_LIB(resolv,inet_aton,[
706     VLC_ADD_LIBS([libvlccore],[-lresolv])
707   ])
708 ])
709
710 dnl Check for getopt (always use builtin one on win32)
711 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
712 need_getopt=:
713 else
714 need_getopt=false
715 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
716 [ # FreeBSD has a gnugetopt library for this:
717   AC_CHECK_LIB([gnugetopt],[getopt_long],
718     [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
719      VLC_ADD_LIBS([libvlccore],[-lgnugetopt])],
720     [need_getopt=:])])
721 fi
722 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
723
724 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
725 AC_TYPE_SIGNAL
726 AC_CHECK_LIB(m,cos,[
727   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
728 ])
729 AC_CHECK_LIB(m,pow,[
730   VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
731 ])
732 AC_CHECK_LIB(m,sqrt,[
733   VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
734 ])
735 AC_CHECK_LIB(m,ceil,[
736   VLC_ADD_LIBS([hotkeys mosaic swscale_omap],[-lm])
737 ])
738 AC_CHECK_LIB(m,exp,[
739   VLC_ADD_LIBS([gaussianblur],[-lm])
740 ])
741 AC_CHECK_LIB(m,round,[
742   VLC_ADD_LIBS([dbus],[-lm])
743 ])
744 AC_CHECK_LIB(m,sqrtf,[
745   VLC_ADD_LIBS([x264],[-lm])
746 ])
747 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
748
749 AC_CHECK_LIB(m,lrintf, [
750   AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
751   VLC_ADD_LIBS([skins2],[-lm])
752 ])
753
754 dnl Check for dynamic plugins
755 ac_cv_have_plugins=no
756
757 # HP-UX style
758 if test "${ac_cv_have_plugins}" = "no"; then
759   AC_CHECK_HEADERS(dl.h)
760   ac_cv_my_have_shl_load=no
761   AC_CHECK_FUNC(shl_load,
762    [ac_cv_my_have_shl_load=yes,
763     AC_CHECK_LIB(dld, shl_load,
764      [ac_cv_my_have_shl_load=yes
765       VLC_ADD_LIBS([libvlccore],[-ldld])])])
766   if test "${ac_cv_my_have_shl_load}" = "yes"; then
767     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
768     ac_cv_have_plugins=yes
769   fi
770 fi
771
772 # Win32 style
773 if test "${ac_cv_have_plugins}" = "no"; then
774   if test "${SYS}" = "mingw32" ; then
775     AC_CHECK_LIB(kernel32, main,
776      [VLC_ADD_LIBS([libvlccore],[-lkernel32])
777       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
778       ac_cv_have_plugins=yes])
779   fi
780 fi
781
782 # WinCE style
783 if test "${ac_cv_have_plugins}" = "no"; then
784   if test "${SYS}" = "mingwce"; then
785     AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
786     ac_cv_have_plugins=yes
787   fi
788 fi
789
790 # BeOS style
791 if test "${ac_cv_have_plugins}" = "no"; then
792   AC_CHECK_HEADERS(image.h)
793   AC_CHECK_FUNCS(load_add_on,
794    [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
795     ac_cv_have_plugins=yes])
796 fi
797
798 # Only test for dlopen() if the others didn't work
799 if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
800   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
801   ac_cv_my_have_dlopen=no
802   AC_CHECK_FUNC(dlopen,
803     ac_cv_my_have_dlopen=yes,
804     AC_CHECK_LIB(dl, dlopen,
805       ac_cv_my_have_dlopen=yes
806       VLC_ADD_LIBS([libvlccore realaudio realvideo lua],[-ldl]),
807       AC_CHECK_LIB(svld, dlopen,
808         ac_cv_my_have_dlopen=yes
809         VLC_ADD_LIBS([libvlccore],[-lsvld]))))
810   if test "${ac_cv_my_have_dlopen}" = "yes"; then
811     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
812     ac_cv_have_plugins=yes
813   fi
814 fi
815
816 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
817 dnl Check for pthreads - borrowed from XMMS
818 THREAD_LIB=error
819 if test "${THREAD_LIB}" = "error"; then
820   AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
821 fi
822 if test "${THREAD_LIB}" = "error"; then
823   AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
824 fi
825 if test "${THREAD_LIB}" = "error"; then
826   AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
827 fi
828 if test "${THREAD_LIB}" = "error"; then
829   AC_CHECK_FUNCS(pthread_mutex_lock)
830   THREAD_LIB=""
831 fi
832
833 VLC_ADD_LIBS([libvlccore libvlc plugin],[${THREAD_LIB}])
834
835 AC_CHECK_LIB(rt, clock_nanosleep, [
836   VLC_ADD_LIBS([libvlccore],[-lrt])
837   AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
838 ], [
839   dnl HP/UX port
840   AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
841 ])
842
843 have_nanosleep=false
844 AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
845   AC_CHECK_LIB(rt,nanosleep,
846     [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
847     [AC_CHECK_LIB(posix4,nanosleep,
848         [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
849   )
850 ])
851 if ${have_nanosleep}; then
852   AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
853 fi
854 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
855
856 dnl Check for misc headers
857 AC_MSG_CHECKING(for strncasecmp in strings.h)
858 AC_EGREP_HEADER(strncasecmp,strings.h,[
859   AC_MSG_RESULT(yes)
860   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
861             Define if <strings.h> defines strncasecmp.)],[
862   AC_MSG_RESULT(no)])
863
864 dnl Check for headers
865 AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
866 AC_CHECK_HEADERS(fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h)
867 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
868 AC_CHECK_HEADERS([net/if.h], [], [],
869   [
870     #include <sys/types.h>
871     #include <sys/socket.h>
872   ])
873 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
874 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
875 AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
876 AC_CHECK_HEADERS(syslog.h)
877 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
878
879 AC_HEADER_TIME
880
881 dnl LP64 adn LLP64 architectures had better define ssize_t by themselves...
882 AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
883 AC_CHECK_TYPE(ssize_t,, [
884   AC_DEFINE(ssize_t, int)
885 ])
886
887 dnl Check for poll
888 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
889 if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
890 then
891     AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
892 fi
893 ])
894
895 dnl Check for dirent
896 need_dirent=false
897 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
898 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
899
900 dnl Mac OS X and other OSes don't have declaration for nanosleep
901 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
902 AC_MSG_CHECKING(for nanosleep in time.h)
903 AC_EGREP_HEADER(nanosleep,time.h,[
904   AC_MSG_RESULT(yes)
905   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
906             Define if <time.h> defines nanosleep.)
907 ],[
908   AC_MSG_RESULT(no)
909 ])
910 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
911
912 dnl Make sure we have timespecs
913 AC_MSG_CHECKING(for timespec in sys/time.h)
914 AC_EGREP_HEADER(timespec,sys/time.h,[
915   AC_MSG_RESULT(yes)
916   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
917             Define if <sys/time.h> defines struct timespec.)
918 ],[
919   AC_MSG_RESULT(no)
920 ])
921
922 dnl Check for threads library
923 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
924 AC_CHECK_HEADERS(pthread.h)
925 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
926
927 dnl It seems that autoconf detects pkg-config only during the first
928 dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
929 dnl it is nested within a conditional block, so it was not working right.
930 dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
931 AC_ARG_VAR(PKG_CONFIG_PATH,
932            [Paths where to find .pc not at the default location])
933 PKG_PROG_PKG_CONFIG()
934
935 dnl
936 dnl Check for zlib.h and -lz along with system -lminizip if available
937 dnl 
938 AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
939 AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
940 if test "${have_zlib}" = "yes"
941 then
942   VLC_ADD_LIBS([access_http gme mp4 skins2 sap mkv unzip zip],[-lz])
943   PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
944     AC_CHECK_HEADERS([unzip.h], [ 
945       have_minizip=yes
946       MINIZIP_LIBS="-lminizip -lz"
947     ], [
948       have_minizip=no
949       MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
950       MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
951     ])
952   ])
953   VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
954   VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
955   VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
956   VLC_ADD_PLUGIN([unzip])
957   VLC_ADD_PLUGIN([zip])
958 fi
959 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
960
961
962 dnl Check for dbus
963 AC_ARG_ENABLE(dbus,
964   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
965 case "${SYS}" in
966     linux*|*bsd*)
967 if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
968 then
969   dnl api stable dbus
970   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
971     [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
972       VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
973       VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
974       dnl Check for dbus control interface
975         AC_ARG_ENABLE(dbus-control, [  --disable-dbus-control  D-BUS control interface (default enabled)])
976         if test "${enable_dbus_control}" != "no"
977         then
978           VLC_ADD_PLUGIN([dbus])
979           VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
980           VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
981         fi
982       dnl Check for Telepathy
983         AC_ARG_ENABLE(telepathy,
984           AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
985         if test "${enable_telepathy}" != "no"; then
986           VLC_ADD_PLUGIN([telepathy])
987           VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
988           VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
989         fi
990         dnl Power Management Inhibiter
991         VLC_ADD_PLUGIN([inhibit])
992         VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
993         VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
994     ],
995     [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
996   )
997 fi
998 ;;
999 esac
1000
1001 dnl build the qte plugin ?
1002 NEED_QTE_MAIN=no
1003
1004 dnl Check for ntohl, etc.
1005 AC_CACHE_CHECK([for ntohl in sys/param.h],
1006     [ac_cv_c_ntohl_sys_param_h],
1007     [CFLAGS="${CFLAGS_save} -Wall -Werror"
1008      AC_TRY_COMPILE([#include <sys/param.h>],
1009         [int meuh; ntohl(meuh);],
1010         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
1011 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
1012     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
1013 fi
1014 CFLAGS="${CFLAGS_save}"
1015
1016 RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
1017 RDC_PROG_CC_FLAGS([-pipe])
1018
1019 AC_ARG_ENABLE(warnings-as-error,
1020       AS_HELP_STRING([--enable-warnings-as-error],[Treat acceptable warnings as error (default in debug)]),, [enable_warnings_as_error="$enable_debug"])
1021 AS_IF([test "${enable_warnings_as_error}" = "yes"], [
1022     RDC_PROG_CC_WERRORFLAGS([unused-function unused-label unused-value unused-parameter unused-variable unused \
1023      missing-braces nonnull parentheses uninitialized address enum-compare undef comment switch \
1024      bad-function-cast implicit sequence-point strict-aliasing array-bounds missing-parameter-type \
1025      overflow int-to-pointer-cast pointer-to-int-cast div-by-zero overflow ignored])
1026 ])
1027 AC_SUBST(CFLAGS_WERROR)
1028
1029 dnl Check for various optimization flags
1030 AC_CACHE_CHECK([if \$CC accepts -Os],
1031     [ac_cv_c_os],
1032     [CFLAGS="${CFLAGS_save} -Os"
1033      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1034 if test "${ac_cv_c_os}" != "no"; then
1035     CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1036 else
1037     AC_CACHE_CHECK([if \$CC accepts -O],
1038         [ac_cv_c_o],
1039         [CFLAGS="${CFLAGS_save} -O"
1040          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1041     if test "${ac_cv_c_o}" != "no"; then
1042         if test "${ac_cv_c_o3}" = "no"; then
1043             CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1044         fi
1045     fi
1046 fi
1047
1048 AC_CACHE_CHECK([if \$CC accepts -O4],
1049     [ac_cv_c_o4],
1050     [CFLAGS="${CFLAGS_save} -O4"
1051      AC_TRY_COMPILE([],,ac_cv_c_o4=yes, ac_cv_c_o4=no)])
1052 if test "${ac_cv_c_o4}" != "no" -a "x${enable_debug}" = "xno"; then
1053     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O4"
1054 else
1055     AC_CACHE_CHECK([if \$CC accepts -O3],
1056         [ac_cv_c_o3],
1057         [CFLAGS="${CFLAGS_save} -O3"
1058          AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1059     if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1060         CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1061     else
1062         AC_CACHE_CHECK([if \$CC accepts -O2],
1063             [ac_cv_c_o2],
1064             [CFLAGS="${CFLAGS_save} -O2"
1065              AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1066         if test "${ac_cv_c_o2}" != "no"; then
1067             CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1068         else
1069             AC_CACHE_CHECK([if \$CC accepts -O],
1070                 [ac_cv_c_o],
1071                 [CFLAGS="${CFLAGS_save} -O"
1072                  AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1073             if test "${ac_cv_c_o}" != "no"; then
1074                 CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1075             fi
1076         fi
1077     fi
1078 fi
1079
1080 AC_CACHE_CHECK([if \$CC accepts -O0],
1081     [ac_cv_c_o0],
1082     [CFLAGS="${CFLAGS_save} -O0"
1083      AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1084 if test "${ac_cv_c_o0}" != "no"; then
1085     CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1086 fi
1087
1088 dnl Check for -ffast-math
1089 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1090     [ac_cv_c_fast_math],
1091     [CFLAGS="${CFLAGS_save} -ffast-math"
1092      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1093 if test "${ac_cv_c_fast_math}" != "no"; then
1094     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1095 fi
1096
1097 dnl Check for -funroll-loops
1098 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1099 if test "${SYS}" != "beos"
1100 then
1101   AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1102       [ac_cv_c_unroll_loops],
1103       [CFLAGS="${CFLAGS_save} -funroll-loops"
1104        AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1105   if test "${ac_cv_c_unroll_loops}" != "no"; then
1106       CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1107   fi
1108 fi
1109
1110 dnl Check for -fomit-frame-pointer
1111 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1112     [ac_cv_c_omit_frame_pointer],
1113     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1114      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1115 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1116  if test "${SYS}" != "darwin"; then
1117     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1118  else
1119     dnl On darwin we explicitely disable it.
1120     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
1121  fi
1122 fi
1123
1124 dnl Check for Darwin plugin linking flags
1125 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1126     [ac_cv_ld_darwin],
1127     [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1128      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1129 if test "${ac_cv_ld_darwin}" != "no"; then
1130     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1131 fi
1132
1133 dnl Checks for __attribute__(aligned()) directive
1134 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1135     [ac_cv_c_attribute_aligned],
1136     [ac_cv_c_attribute_aligned=0
1137         CFLAGS="${CFLAGS_save} -Werror"
1138     for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1139         AC_TRY_COMPILE([],
1140         [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1141         [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1142     done
1143         CFLAGS="${CFLAGS_save}"])
1144 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1145     AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1146         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1147 fi
1148
1149 dnl Check for __attribute__((packed))
1150 AC_CACHE_CHECK([for __attribute__((packed))],
1151   [ac_cv_c_attribute_packed],
1152   [ac_cv_c_attribute_packed=no
1153    AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b; (void)b;],
1154                     [ac_cv_c_attribute_packed=yes])])
1155 if test "${ac_cv_c_attribute_packed}" != "no"; then
1156   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1157 fi
1158
1159 dnl
1160 dnl  Check the CPU
1161 dnl
1162 case "${host_cpu}" in
1163   "")
1164     ARCH=unknown
1165     ;;
1166   *)
1167     ARCH="${host_cpu}"
1168     ;;
1169 esac
1170
1171 dnl Check for backtrace() support
1172 AC_CHECK_HEADERS(execinfo.h)
1173 AC_CHECK_FUNCS(backtrace)
1174
1175 dnl
1176 dnl  Enable profiling
1177 dnl
1178 AC_ARG_ENABLE(gprof,
1179 [  --enable-gprof          gprof profiling (default disabled)])
1180 AC_ARG_ENABLE(cprof,
1181 [  --enable-cprof          cprof profiling (default disabled)])
1182 test "${enable_gprof}" != "yes" && enable_gprof="no"
1183 test "${enable_cprof}" != "yes" && enable_cprof="no"
1184
1185 dnl
1186 dnl  default modules
1187 dnl
1188 dnl Video filters:
1189 VLC_ADD_PLUGIN([deinterlace])
1190 VLC_ADD_PLUGIN([yuvp])
1191 VLC_ADD_PLUGIN([invert])
1192 VLC_ADD_PLUGIN([mirror])
1193 VLC_ADD_PLUGIN([adjust])
1194 VLC_ADD_PLUGIN([transform])
1195 VLC_ADD_PLUGIN([wave])
1196 VLC_ADD_PLUGIN([ripple])
1197 VLC_ADD_PLUGIN([psychedelic])
1198 VLC_ADD_PLUGIN([gradient])
1199 VLC_ADD_PLUGIN([motionblur])
1200 VLC_ADD_PLUGIN([rv32])
1201 VLC_ADD_PLUGIN([rotate])
1202 VLC_ADD_PLUGIN([noise])
1203 VLC_ADD_PLUGIN([grain])
1204 VLC_ADD_PLUGIN([extract])
1205 VLC_ADD_PLUGIN([sharpen])
1206 VLC_ADD_PLUGIN([croppadd])
1207 VLC_ADD_PLUGIN([canvas])
1208 VLC_ADD_PLUGIN([blendbench])
1209 VLC_ADD_PLUGIN([blend])
1210 VLC_ADD_PLUGIN([scale])
1211 VLC_ADD_PLUGIN([vmem])
1212 VLC_ADD_PLUGIN([logo])
1213 VLC_ADD_PLUGIN([magnify])
1214 VLC_ADD_PLUGIN([puzzle])
1215 VLC_ADD_PLUGIN([colorthres])
1216 VLC_ADD_PLUGIN([scene])
1217 VLC_ADD_PLUGIN([yuv])
1218
1219 ALIASES="${ALIASES} cvlc"
1220
1221 dnl
1222 dnl default modules that need g++
1223 dnl
1224 AC_LANG_PUSH(C++)
1225 VLC_ADD_PLUGIN([spatializer])
1226 AC_LANG_POP(C++)
1227
1228 if test "${SYS}" != "mingwce"; then
1229   VLC_ADD_PLUGIN([gestures])
1230   VLC_ADD_PLUGIN([rc])
1231   VLC_ADD_PLUGIN([hotkeys])
1232   VLC_ADD_PLUGIN([showintf])
1233   VLC_ADD_PLUGIN([marq])
1234   VLC_ADD_PLUGIN([podcast])
1235   VLC_ADD_PLUGIN([shout])
1236   VLC_ADD_PLUGIN([sap])
1237   VLC_ADD_PLUGIN([mediadirs])
1238   VLC_ADD_PLUGIN([fake])
1239   VLC_ADD_PLUGIN([folder])
1240   VLC_ADD_PLUGIN([rss])
1241   VLC_ADD_PLUGIN([mosaic])
1242   VLC_ADD_PLUGIN([wall])
1243   VLC_ADD_PLUGIN([motiondetect])
1244   VLC_ADD_PLUGIN([clone])
1245   VLC_ADD_PLUGIN([crop])
1246   VLC_ADD_PLUGIN([erase])
1247   VLC_ADD_PLUGIN([bluescreen])
1248   VLC_ADD_PLUGIN([alphamask])
1249   VLC_ADD_PLUGIN([gaussianblur])
1250   VLC_ADD_PLUGIN([i420_yuy2])
1251   VLC_ADD_PLUGIN([i422_yuy2])
1252   VLC_ADD_PLUGIN([i420_ymga])
1253   VLC_ADD_PLUGIN([i422_i420])
1254   VLC_ADD_PLUGIN([yuy2_i422])
1255   VLC_ADD_PLUGIN([yuy2_i420])
1256   VLC_ADD_PLUGIN([chain])
1257   VLC_ADD_PLUGIN([aout_file])
1258   VLC_ADD_PLUGIN([linear_resampler])
1259   VLC_ADD_PLUGIN([bandlimited_resampler])
1260   VLC_ADD_PLUGIN([float32_mixer])
1261   VLC_ADD_PLUGIN([spdif_mixer])
1262   VLC_ADD_PLUGIN([simple_channel_mixer])
1263   VLC_ADD_PLUGIN([dolby_surround_decoder])
1264   VLC_ADD_PLUGIN([headphone_channel_mixer])
1265   VLC_ADD_PLUGIN([normvol])
1266   VLC_ADD_PLUGIN([equalizer])
1267   VLC_ADD_PLUGIN([param_eq])
1268   VLC_ADD_PLUGIN([scaletempo])
1269   VLC_ADD_PLUGIN([a52tospdif])
1270   VLC_ADD_PLUGIN([dtstospdif])
1271   ALIASES="${ALIASES} rvlc"
1272 fi
1273
1274 if test "${SYS}" = "mingwce"; then
1275   VLC_ADD_PLUGIN([chain])
1276   VLC_ADD_PLUGIN([aout_file])
1277   VLC_ADD_PLUGIN([linear_resampler])
1278   VLC_ADD_PLUGIN([bandlimited_resampler])
1279   VLC_ADD_PLUGIN([float32_mixer])
1280   VLC_ADD_PLUGIN([spdif_mixer])
1281   VLC_ADD_PLUGIN([simple_channel_mixer])
1282   VLC_ADD_PLUGIN([headphone_channel_mixer])
1283   VLC_ADD_PLUGIN([normvol])
1284   VLC_ADD_PLUGIN([a52tospdif])
1285   VLC_ADD_PLUGIN([dtstospdif])
1286   VLC_ADD_PLUGIN([i420_yuy2])
1287   VLC_ADD_PLUGIN([i422_yuy2])
1288   VLC_ADD_PLUGIN([i420_ymga])
1289   VLC_ADD_PLUGIN([i422_i420])
1290   VLC_ADD_PLUGIN([yuy2_i422])
1291   VLC_ADD_PLUGIN([yuy2_i420])
1292 fi
1293
1294 dnl
1295 dnl Some plugins aren't useful on some platforms
1296 dnl
1297 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1298     VLC_ADD_PLUGIN([screensaver])
1299     VLC_ADD_PLUGIN([motion])
1300     VLC_ADD_PLUGIN([dynamicoverlay])
1301     VLC_ADD_PLUGIN([signals])
1302 elif test "${SYS}" != "mingwce"; then
1303     VLC_ADD_PLUGIN([ntservice])
1304     VLC_ADD_PLUGIN([access_smb])
1305     VLC_ADD_PLUGIN([dmo])
1306     VLC_ADD_PLUGIN([msn])
1307     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1308     VLC_ADD_PLUGIN([globalhotkeys])
1309 else
1310     VLC_ADD_PLUGIN([win32text])
1311 fi
1312 if test "${SYS}" = "darwin"; then
1313     VLC_ADD_PLUGIN([quartztext])
1314     VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,ApplicationServices])
1315 fi
1316
1317 dnl
1318 dnl  Accelerated modules
1319 dnl
1320 AC_ARG_WITH(,[])
1321 AC_ARG_WITH(,[Optimization options:])
1322
1323 dnl  Check for fully working MMX intrinsics
1324 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
1325 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1326 AC_ARG_ENABLE(mmx,
1327 [  --disable-mmx           disable MMX optimizations (default auto)],,[
1328   case "${host_cpu}" in
1329     i?86|x86_64)
1330       enable_mmx="yes"
1331       ;;
1332     *)
1333       enable_mmx="no"
1334       ;;
1335   esac
1336 ])
1337 AS_IF([test "${enable_mmx}" != "no"], [
1338   ARCH="${ARCH} mmx"
1339
1340   AC_CACHE_CHECK([if $CC groks MMX intrinsics],
1341     [ac_cv_c_mmx_intrinsics],
1342     [CFLAGS="${CFLAGS_save} -O -mmmx"
1343      AC_TRY_COMPILE([#include <mmintrin.h>
1344                      #include <stdint.h>
1345                      uint64_t frobzor;],
1346                     [__m64 a, b, c;
1347                      a = b = c = (__m64)frobzor;
1348                      a = _mm_slli_pi16(a, 3);
1349                      a = _mm_adds_pi16(a, b);
1350                      c = _mm_srli_pi16(c, 8);
1351                      c = _mm_slli_pi16(c, 3);
1352                      b = _mm_adds_pi16(b, c);
1353                      a = _mm_unpacklo_pi8(a, b);
1354                      frobzor = (uint64_t)a;],
1355                     [ac_cv_c_mmx_intrinsics=yes],
1356                     [ac_cv_c_mmx_intrinsics=no])])
1357   AS_IF([test "${ac_cv_c_mmx_intrinsics}" != "no"], [
1358     AC_DEFINE(HAVE_MMX_INTRINSICS, 1,
1359               [Define to 1 if MMX intrinsics are available.])
1360     VLC_ADD_CFLAGS([memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx],[-mmmx])
1361   ])
1362
1363   AC_CACHE_CHECK([if $CC groks MMX inline assembly],
1364     [ac_cv_mmx_inline],
1365     [CFLAGS="${CFLAGS_save}"
1366      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1367                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1368   AS_IF([test "${ac_cv_mmx_inline}" != "no"], [
1369     AC_DEFINE(CAN_COMPILE_MMX, 1,
1370               [Define to 1 inline MMX assembly is available.])
1371     VLC_ADD_PLUGIN([memcpymmx])
1372     VLC_ADD_PLUGIN([i420_rgb_mmx])
1373     VLC_ADD_PLUGIN([i420_yuy2_mmx])
1374     VLC_ADD_PLUGIN([i422_yuy2_mmx])
1375     VLC_ADD_PLUGIN([i420_ymga_mmx])
1376   ])
1377
1378   AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
1379     [ac_cv_mmxext_inline],
1380     [CFLAGS="${CFLAGS_save}"
1381      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1382                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1383   AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
1384     AC_DEFINE(CAN_COMPILE_MMXEXT, 1,
1385               [Define to 1 if MMX EXT inline assembly is available.])
1386     VLC_ADD_PLUGIN([memcpymmxext])
1387   ])
1388 ])
1389
1390 dnl  Check for fully workin SSE2 intrinsics
1391 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
1392 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1393 AC_ARG_ENABLE(sse,
1394 [  --disable-sse           disable SSE (1, 2, 3 and 4) optimizations (default auto)]
1395 ,, [
1396   case "${host_cpu}" in
1397     i686|x86_64)
1398       enable_sse=yes
1399       ;;
1400     *)
1401       enable_sse=no
1402       ;;
1403   esac
1404 ])
1405 AS_IF([test "${enable_sse}" != "no"], [
1406   ARCH="${ARCH} sse sse2"
1407
1408   AC_CACHE_CHECK([if $CC groks SSE2 intrinsics],
1409     [ac_cv_c_sse2_intrinsics],
1410     [CFLAGS="${CFLAGS_save} -O -msse2"
1411      AC_TRY_COMPILE([#include <emmintrin.h>
1412                      #include <stdint.h>
1413                      uint64_t frobzor;],
1414                     [__m128i a, b, c;
1415                      a = b = c = _mm_set1_epi64((__m64)frobzor);
1416                      a = _mm_slli_epi16(a, 3);
1417                      a = _mm_adds_epi16(a, b);
1418                      c = _mm_srli_epi16(c, 8);
1419                      c = _mm_slli_epi16(c, 3);
1420                      b = _mm_adds_epi16(b, c);
1421                      a = _mm_unpacklo_epi8(a, b);
1422                      frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1423                     [ac_cv_c_sse2_intrinsics=yes],
1424                     [ac_cv_c_sse2_intrinsics=no])])
1425   AS_IF([test "${ac_cv_c_sse2_intrinsics}" != "no"], [
1426     AC_DEFINE(HAVE_SSE2_INTRINSICS, 1,
1427               [Define to 1 if SSE2 intrinsics are available.])
1428     VLC_ADD_CFLAGS([i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2],[-msse2])
1429   ])
1430
1431   AC_CACHE_CHECK([if $CC groks SSE inline assembly],
1432     [ac_cv_sse_inline],
1433     [CFLAGS="${CFLAGS_save}"
1434      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1435                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1436   AS_IF([test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"], [
1437     AC_DEFINE(CAN_COMPILE_SSE, 1,
1438               [Define to 1 if SSE inline assembly is available.])
1439   ])
1440
1441   AC_CACHE_CHECK([if $CC groks SSE2 inline assembly],
1442     [ac_cv_sse2_inline],
1443     [CFLAGS="${CFLAGS_save}"
1444      AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1445                     ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1446   AS_IF([test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"], [
1447     AC_DEFINE(CAN_COMPILE_SSE2, 1,
1448               [Define to 1 if SSE2 inline assembly is available.])
1449     VLC_ADD_PLUGIN([i420_rgb_sse2])
1450     VLC_ADD_PLUGIN([i420_yuy2_sse2])
1451     VLC_ADD_PLUGIN([i422_yuy2_sse2])
1452   ])
1453
1454   # SSE3
1455   AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
1456     [ac_cv_sse3_inline],
1457     [CFLAGS="${CFLAGS_save} -O -msse3"
1458      AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
1459                     ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)
1460      ARCH="${ARCH} sse3"
1461   ])
1462   AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
1463     AC_DEFINE(CAN_COMPILE_SSE3, 1,
1464               [Define to 1 if SSE3 inline assembly is available.]) ])
1465   # SSSE3
1466   AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
1467     [ac_cv_ssse3_inline],
1468     [CFLAGS="${CFLAGS_save} -O -mssse3"
1469      AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
1470                     ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)
1471      ARCH="${ARCH} ssse3"
1472   ])
1473
1474   AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
1475     AC_DEFINE(CAN_COMPILE_SSSE3, 1,
1476               [Define to 1 if SSSE3 inline assembly is available.]) ])
1477
1478   # SSE4
1479   AC_CACHE_CHECK([if $CC groks SSE4 inline assembly],
1480     [ac_cv_sse4_inline],
1481     [CFLAGS="${CFLAGS_save} -O -msse4"
1482      AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
1483                     ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no)
1484      ARCH="${ARCH} sse4"
1485   ])
1486   AS_IF([test "${ac_cv_sse4_inline}" != "no"], [
1487     AC_DEFINE(CAN_COMPILE_SSE4, 1,
1488               [Define to 1 if SSE4 inline assembly is available.]) ])
1489 ])
1490
1491 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
1492     [ac_cv_3dnow_inline],
1493     [CFLAGS="${CFLAGS_save}"
1494      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1495                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1496 AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
1497   AC_DEFINE(CAN_COMPILE_3DNOW, 1,
1498             [Define to 1 if 3D Now! inline assembly is available.])
1499   VLC_ADD_PLUGIN([memcpy3dn])
1500 ])
1501
1502
1503 AC_ARG_ENABLE(neon,
1504 [ --disable-neon           disable NEON optimizations (default auto)],, [
1505   AS_IF([test "${host_cpu}" = "arm"], [enable_neon="yes"] ,[enable_neon="no"])
1506 ])
1507 AS_IF([test "${enable_neon}" != "no"], [
1508   AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
1509     AC_COMPILE_IFELSE([
1510       AC_LANG_PROGRAM(,[[asm volatile("vqmovun.s64 d0, q1":::"d0");]])
1511     ], [
1512       ac_cv_neon_inline="yes"
1513     ], [
1514       ac_cv_neon_inline="no"
1515     ])
1516   ])
1517 ])
1518 AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" = "yes"])
1519
1520 AC_ARG_ENABLE(altivec,
1521 [  --disable-altivec       disable AltiVec optimizations (default auto)],, [
1522   AS_IF([test "${host_cpu}" = "powerpc"],
1523         [enable_altivec=yes], [enable_altivec=no])
1524 ])
1525 AS_IF([test "${enable_altivec}" = "yes"], [
1526   ARCH="${ARCH} altivec";
1527   AC_CACHE_CHECK([if $CC groks AltiVec inline assembly],
1528     [ac_cv_altivec_inline],
1529     [CFLAGS="${CFLAGS_save}"
1530      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1531          ac_cv_altivec_inline="yes",
1532          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1533           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1534             [ac_cv_altivec_inline="-Wa,-m7400"],
1535             ac_cv_altivec_inline=no)
1536          ])])
1537   AS_IF([test "${ac_cv_altivec_inline}" != "no"], [
1538     AC_DEFINE(CAN_COMPILE_ALTIVEC, 1,
1539               [Define to 1 if AltiVec inline assembly is available.])
1540     AS_IF([test "${ac_cv_altivec_inline}" != "yes"], [
1541       VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1542       VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1543       VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1544       VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1545       VLC_ADD_CFLAGS([libvlccore],[${ac_cv_altivec_inline}])
1546     ])
1547     VLC_ADD_PLUGIN([memcpyaltivec])
1548     VLC_ADD_PLUGIN([i420_yuy2_altivec])
1549   ])
1550
1551 dnl The AltiVec C extensions
1552 dnl
1553 dnl There are several possible cases:
1554 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1555 dnl                      need <altivec.h>
1556 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1557 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1558 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1559 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1560 dnl - Others: test should fail
1561   AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1562   [ac_cv_c_altivec],
1563   [# OS X/PPC test (gcc 4.x)
1564    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1565    AC_TRY_COMPILE([vector unsigned char foo;],
1566      [vec_ld(0, (unsigned char *)0);],
1567      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1568      [# OS X/PPC test (gcc 3.x)
1569       CFLAGS="${CFLAGS_save} -faltivec"
1570       AC_TRY_COMPILE([vector unsigned char foo;],
1571         [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1572         [ac_cv_c_altivec="-faltivec"],
1573         dnl Below this are the Linux tests
1574         [# Linux/PPC test (gcc 4.x)
1575          CFLAGS="${CFLAGS_save} -maltivec"
1576          AC_TRY_COMPILE([#include <altivec.h>],
1577            [vec_ld(0, (unsigned char *)0);],
1578            [ac_cv_c_altivec="-maltivec"],
1579            [# Linux/PPC test (gcc 3.3)
1580             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1581             AC_TRY_COMPILE([#include <altivec.h>],
1582               [vec_ld(0, (unsigned char *)0);],
1583               [ac_cv_c_altivec=""
1584                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1585               [# Linux/PPC test (gcc 3.3)
1586                CFLAGS="${CFLAGS_save} -fvec"
1587                AC_TRY_COMPILE([#include <altivec.h>],
1588                  [vec_ld(0, (unsigned char *)0);],
1589                  [ac_cv_c_altivec="-fvec"],
1590                  [ac_cv_c_altivec=no])
1591               ])
1592            ])
1593         ])
1594      ])
1595    CFLAGS="${CFLAGS_save}"
1596   ])
1597   AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1598     CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1599   ])
1600
1601   AC_CHECK_HEADERS(altivec.h)
1602   CPPFLAGS="${CPPFLAGS_save}"
1603
1604   AS_IF([test "${ac_cv_c_altivec}" != "no"], [
1605     AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1,
1606               [Define to 1 if C AltiVec extensions are available.])
1607     VLC_ADD_CFLAGS([libvlccore],[${ac_cv_c_altivec}])
1608     VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1609     VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1610     VLC_ADD_PLUGIN([memcpyaltivec])
1611     VLC_ADD_PLUGIN([i420_yuy2_altivec])
1612   ])
1613
1614   AC_CACHE_CHECK([if linker needs -framework vecLib],
1615     [ac_cv_ld_altivec],
1616     [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1617      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1618      LDFLAGS="${LDFLAGS_save}"
1619     ])
1620   AS_IF([test "${ac_cv_ld_altivec}" != "no"], [
1621     VLC_ADD_LDFLAGS([libvlccore idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1622   ])
1623 ])
1624
1625 dnl
1626 dnl  Special arch tuning
1627 dnl
1628 AC_ARG_WITH(tuning,
1629 [  --with-tuning=ARCH      enable special tuning for an architecture
1630                           (default Pentium 2 on IA-32 and G4 on PPC)])
1631 if test -n "${with_tuning}"; then
1632     if test "${with_tuning}" != "no"; then
1633         CFLAGS_TUNING="-mtune=${with_tuning}"
1634     fi
1635 else
1636     if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1637         CFLAGS_TUNING="-march=prescott -mtune=generic"
1638     elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1639         CFLAGS_TUNING="-mtune=pentium2"
1640     elif test "${host_cpu}" = "x86_64"; then
1641         CFLAGS_TUNING="-mtune=athlon64"
1642     elif test "${host_cpu}" = "powerpc"; then
1643         CFLAGS_TUNING="-mtune=G4";
1644     fi
1645 fi
1646
1647 dnl NOTE: this can't be cached cleanly
1648 AS_IF([test "${CFLAGS_TUNING}"],
1649    [CFLAGS_save="${CFLAGS}"
1650     CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1651
1652     AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1653     AC_COMPILE_IFELSE([ ],
1654                       [tuning="yes"],
1655                       [CFLAGS_TUNING=""; tuning="no"
1656                        AS_IF([test "${with_tuning}"],
1657                              [AC_MSG_ERROR([requested tuning not supported])])])
1658
1659     AC_MSG_RESULT([$tuning])
1660     CFLAGS="${CFLAGS_save}"
1661 ])
1662
1663 dnl
1664 dnl  Memory usage
1665 dnl
1666 AC_ARG_ENABLE(optimize-memory,
1667 [  --enable-optimize-memory optimize memory usage over performance])
1668 if test "${enable_optimize_memory}" = "yes"; then
1669   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1670 fi
1671
1672 dnl
1673 dnl  Enable/disable optimizations
1674 dnl
1675 AC_ARG_ENABLE(optimizations,
1676 [  --disable-optimizations disable compiler optimizations (default enabled)])
1677 if test "${enable_optimizations}" != "no"; then
1678    if test "${enable_optimize_memory}" = "yes"; then
1679       enable_optimizations="size"
1680    else
1681       enable_optimizations="speed"
1682    fi
1683 fi
1684
1685 dnl
1686 dnl  Debugging mode
1687 dnl
1688 AC_ARG_ENABLE(debug,
1689 [  --enable-debug          debug mode (default disabled)])
1690 test "${enable_debug}" != "yes" && enable_debug="no"
1691 AH_TEMPLATE(NDEBUG,
1692             [Define to 1 if debug code should NOT be compiled])
1693 AS_IF([test "x${enable_debug}" = "xno"], [
1694   AC_DEFINE(NDEBUG)
1695 ], [
1696   AC_CHECK_HEADERS([valgrind/valgrind.h])
1697 ])
1698
1699 dnl
1700 dnl Allow runing as root (usefull for people runing on embedded platforms)
1701 dnl
1702 AC_ARG_ENABLE(run-as-root,
1703 [  --enable-run-as-root    allow runing VLC as root (default disabled)])
1704 AS_IF([test "${enable_run_as_root}" = "yes"],[
1705     AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
1706               [Define to 1 to allow runing VLC as root (uid 0).])
1707 ])
1708
1709 dnl
1710 dnl  Test coverage
1711 dnl
1712 AC_ARG_ENABLE(coverage,
1713         [  --enable-coverage       build for test coverage (default disabled)],,
1714         [enable_coverage="no"])
1715 AS_IF([test "${enable_coverage}" != "no"], [
1716         CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1717         CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1718         LDFLAGS="-lgcov ${LDFLAGS}"
1719         dnl ugly...
1720         CFLAGS_save="${CFLAGS}"
1721         CXXFLAGS_save="${CXXFLAGS}"
1722         LDFLAGS_save="${LDFLAGS}"
1723 ])
1724
1725 dnl
1726 dnl  Enable release-specific flags
1727 dnl
1728 AC_ARG_ENABLE(release,
1729 [  --enable-release        activate extra optimizations (default disabled)])
1730 test "${enable_release}" != "yes" && enable_release="no"
1731
1732 dnl
1733 dnl Stream output
1734 dnl
1735 AC_ARG_ENABLE(sout,
1736   [  --enable-sout           Stream output modules (default enabled)])
1737 AS_IF([test "${enable_sout}" != "no"], [
1738   AC_DEFINE(ENABLE_SOUT, 1, [Define to 1 for stream output support.])
1739 ])
1740 AM_CONDITIONAL(ENABLE_SOUT, [test "${enable_sout}" != "no"])
1741
1742 dnl Lua modules
1743 AC_ARG_ENABLE(lua,
1744   AS_HELP_STRING([--enable-lua],[lua playlist, metafetcher and interface
1745                   plugins (default enabled)]))
1746 if test "${enable_lua}" != "no"
1747 then
1748   PKG_CHECK_MODULES(LUA, lua5.1,
1749     [ have_lua=yes ],
1750     [
1751     AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1752     PKG_CHECK_MODULES(LUA, lua >= 5.1,
1753       [ have_lua=yes ],
1754       [
1755         have_lua=yes
1756         AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
1757           [],
1758           [ have_lua=no ] )
1759         AC_CHECK_LIB(  lua5.1 , luaL_newstate,
1760           [LUA_LIBS="-llua5.1"],
1761           AC_CHECK_LIB( lua51 , luaL_newstate,
1762             [LUA_LIBS="-llua51"],
1763             AC_CHECK_LIB( lua , luaL_newstate,
1764               [LUA_LIBS="-llua"],
1765               [ have_lua=no
1766                 AS_IF([test "x${enable_lua}" = "xyes"],
1767                   [AC_MSG_ERROR([lua >= 5.1 not found!])],
1768                   [AC_MSG_WARN([lua >= 5.1 not found!])])
1769               ], [-lm])
1770           )
1771         )
1772       ])
1773     ])
1774   if test "x${have_lua}" = "xyes" ;  then
1775      VLC_ADD_LIBS([lua],[$LUA_LIBS])
1776      VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1777   fi
1778 fi
1779 AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
1780
1781 dnl
1782 dnl HTTP daemon
1783 dnl
1784 AC_ARG_ENABLE(httpd,
1785   [  --enable-httpd          HTTP daemon (default enabled)])
1786 if test "${enable_httpd}" != "no"
1787 then
1788   VLC_ADD_PLUGIN([http])
1789   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1790 fi
1791 AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
1792
1793 dnl
1794 dnl libproxy support
1795 dnl
1796 AC_ARG_ENABLE(libproxy,
1797   [  --enable-libproxy       libproxy support (default auto)])
1798 AS_IF([test "${enable_libproxy}" != "no"], [
1799   PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
1800     AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
1801     VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
1802     VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
1803   ], [
1804     AS_IF([test "x${enable_libproxy}" != "x"], [
1805       AC_MSG_ERROR([libproxy could not be found on your system])
1806     ])
1807   ])
1808 ])
1809
1810
1811 dnl
1812 dnl VideoLAN manager
1813 dnl
1814 AC_ARG_ENABLE(vlm,
1815   [  --enable-vlm            VideoLAN manager (default enabled)],,
1816   [enable_vlm="${enable_sout}"])
1817 AS_IF([test "${enable_vlm}" != "no"], [
1818   AS_IF([test "${enable_sout}" = "no"], [
1819     AC_MSG_ERROR([VLM requires the stream output. Do not use --disable-sout.])
1820   ])
1821   AC_DEFINE(ENABLE_VLM, 1, [Define if you want the VideoLAN manager support])
1822   VLC_ADD_PLUGIN([telnet])
1823 ])
1824 AM_CONDITIONAL([ENABLE_VLM], [test "${enable_vlm}" != "no"])
1825
1826 dnl
1827 dnl Growl notification plugin
1828 dnl
1829 AC_ARG_ENABLE(growl,
1830   [  --enable-growl          growl notification plugin (default disabled)],,
1831   [enable_growl=no])
1832 AS_IF([test "${enable_growl}" != "no"], [
1833     VLC_ADD_PLUGIN([growl_udp])
1834     AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
1835       VLC_ADD_PLUGIN([growl])
1836       VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
1837     ])
1838   ]
1839 )
1840
1841 dnl
1842 dnl Libnotify notification plugin
1843 dnl
1844 PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
1845
1846 dnl
1847 dnl Audioscrobbler plugin
1848 dnl
1849
1850 AC_ARG_ENABLE(audioscrobbler,
1851   [  --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1852 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1853         VLC_ADD_PLUGIN([audioscrobbler])
1854   ])
1855
1856 dnl
1857 dnl Taglibplugin
1858 dnl
1859 AC_ARG_ENABLE(taglib,
1860   [  --disable-taglib        Taglib support (default enabled) ])
1861   AS_IF([test "${enable_taglib}" != "no"],[
1862     PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5,
1863       [ VLC_ADD_PLUGIN([taglib])
1864         VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1865        VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1866       [AC_MSG_WARN(TagLib library not found)])
1867   ])
1868
1869 dnl
1870 dnl  Input plugins
1871 dnl
1872
1873 AC_ARG_WITH(,[Input plugins:])
1874
1875 dnl  live555 input
1876 dnl
1877 if test "${enable_livedotcom}"
1878 then
1879   AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1880 fi
1881 if test "${enable_livedotcom}" = "no"
1882 then
1883   enable_live555="no"
1884 fi
1885
1886 AC_ARG_ENABLE(live555,
1887 [  --enable-live555        live555 RTSP input plugin (default enabled)])
1888 if test "${enable_live555}" != "no"; then
1889   AC_ARG_WITH(live555-tree,
1890     [    --with-live555-tree=PATH live.com tree for static linking])
1891
1892   dnl
1893   dnl test for --with-live555-tree
1894   dnl
1895   if test "${with_livedotcom_tree}"
1896   then
1897     AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1898   with_live555_tree="${with_livedotcom_tree}"
1899   fi
1900
1901   if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1902     AC_LANG_PUSH(C++)
1903     CPPFLAGS_save="${CPPFLAGS}"
1904     CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1905     if test "${SYS}" = "solaris"; then
1906       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1907     fi
1908     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1909
1910     AC_CHECK_HEADERS(liveMedia_version.hh, [
1911       AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1912       AC_EGREP_CPP(yes,
1913         [#include <liveMedia_version.hh>
1914          #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1915          #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1916          yes
1917          #endif
1918          #endif],
1919         [AC_MSG_RESULT([no])
1920          AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1921 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1922       ],[
1923          AC_MSG_RESULT([yes])
1924          ])
1925     ])
1926      other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment"
1927      other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic"
1928       if test "${SYS}" = "mingw32"; then
1929         # add ws2_32 for closesocket, select, recv
1930         other_libs="$other_libs -lws2_32"
1931       fi
1932     dnl We need to check for pic because live555 don't provide shared libs
1933     dnl and we want to build a plugins so we need -fPIC on some arch.
1934     AC_CHECK_HEADERS(liveMedia.hh, [
1935       VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1936         AC_CHECK_LIB(liveMedia_pic, main, [
1937           VLC_ADD_PLUGIN([live555])
1938          VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}])
1939          ],[
1940         AC_CHECK_LIB(liveMedia, main, [
1941           VLC_ADD_PLUGIN([live555])
1942           VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
1943         ],[],[${other_libs}]) ],[${other_libs_pic}])
1944     ],[
1945        AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
1946     ])
1947     CPPFLAGS="${CPPFLAGS_save}"
1948     AC_LANG_POP(C++)
1949   else
1950     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1951     real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1952     if test -z "${real_live555_tree}"; then
1953       dnl  The given directory can't be found
1954       AC_MSG_RESULT(no)
1955       AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1956     fi
1957     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1958       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1959
1960       AC_CHECK_HEADERS(${real_live555_tree}/liveMedia/include/liveMedia_version.hh,[
1961         AC_MSG_CHECKING(for liveMedia version >= 1214895600 )
1962         AC_EGREP_CPP(yes,
1963           [#include "${real_live555_tree}/liveMedia/include/liveMedia_version.hh"
1964            #ifdef LIVEMEDIA_LIBRARY_VERSION_INT
1965            #if LIVEMEDIA_LIBRARY_VERSION_INT < 1214895600
1966            yes
1967            #endif
1968            #endif],
1969           [AC_MSG_RESULT([no])
1970            AC_MSG_ERROR([Your version of liveMedia is too old: you may get a more recent one from http://www.live555.com/liveMedia.
1971 lternatively you can use --disable-live555 to disable the liveMedia plugin.])
1972         ],[
1973            AC_MSG_RESULT([yes])
1974            ])
1975       ])
1976
1977       VLC_ADD_PLUGIN([live555])
1978
1979       if test "${SYS}" = "mingw32"; then
1980         # add ws2_32 for closesocket, select, recv
1981         VLC_ADD_LIBS([live555],[-lws2_32])
1982       fi
1983
1984       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1985       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1986       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1987       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1988
1989       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1990       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1991       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1992       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1993       if test "${SYS}" = "solaris"; then
1994         VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1995       fi
1996     else
1997       dnl  The given live555 wasn't built
1998         AC_MSG_RESULT(no)
1999       if test "${enable_live555}" = "yes"; then
2000         AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
2001       fi        
2002     fi
2003   fi
2004 fi
2005
2006 dnl
2007 dnl - special access module for dc1394 input
2008 dnl - dv module: digital video module check for libraw1394
2009 dnl
2010 PKG_ENABLE_MODULES_VLC([dc1394], [], [libraw1394 >= 2.0.1 libdc1394 >= 1.0.0], [dc1394 access module], [auto])
2011 PKG_ENABLE_MODULES_VLC([dv], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
2012
2013 dnl
2014 dnl dvdread module: check for libdvdread
2015 dnl
2016 AC_ARG_ENABLE(dvdread,
2017 [  --enable-dvdread        dvdread input module (default disabled)])
2018 if test "${enable_dvdread}" != "no"
2019 then
2020   AC_ARG_WITH(dvdread,
2021   [    --with-dvdread=PATH   libdvdread headers and libraries])
2022   AC_ARG_WITH(dvdread-tree,
2023   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
2024
2025   dnl Temporary hack (yeah, sure ;)
2026   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2027       VLC_ADD_LIBS([dvdread],[-ldvdcss])
2028   fi
2029
2030   if test -z "${with_dvdread}"
2031   then
2032     if test -z "${with_dvdread_tree}"
2033     then
2034       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2035         [ VLC_ADD_PLUGIN([dvdread])
2036           VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2037         ],[
2038           AC_CHECK_HEADERS(libdvdread/dvd_reader.h,
2039             [ VLC_ADD_PLUGIN([dvdread])
2040               VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2041             ],[
2042               if test -n "${enable_dvdread}"
2043               then
2044               AC_MSG_ERROR([cannot find libdvdread headers])
2045              fi
2046            ])
2047         ])
2048     else
2049       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2050       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2051       if test -z "${real_dvdread_tree}"
2052       then
2053         dnl  The given directory can't be found
2054         AC_MSG_RESULT(no)
2055         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2056       fi
2057       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2058       then
2059         dnl  Use a custom libdvdread
2060         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2061         VLC_ADD_PLUGIN([dvdread])
2062         VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2063         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2064       else
2065         dnl  The given libdvdread wasn't built
2066         AC_MSG_RESULT(no)
2067         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2068       fi
2069     fi
2070   else
2071     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2072     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2073     then
2074       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
2075       AC_MSG_RESULT(yes)
2076       VLC_ADD_PLUGIN([dvdread])
2077       VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2078       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2079     else
2080       dnl  No libdvdread could be found, sorry
2081       AC_MSG_RESULT(no)
2082       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2083     fi
2084   fi
2085 fi
2086
2087 dnl
2088 dnl  libdvdnav plugin
2089 dnl
2090 AC_ARG_ENABLE(dvdnav,
2091   [  --enable-dvdnav         dvdnav input module (default enabled)])
2092 if test "${enable_dvdnav}" != "no"
2093 then
2094   dnl Same hack than dvdread
2095   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2096       VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2097   fi
2098
2099   DVDNAV_PATH="${PATH}"
2100   AC_ARG_WITH(dvdnav-config-path,
2101     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2102     [ if test "${with_dvdnav_config_path}" != "no"
2103       then
2104         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2105       fi ])
2106   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2107   if test "${DVDNAV_CONFIG}" != "no"
2108   then
2109     VLC_ADD_PLUGIN([dvdnav])
2110     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2111     VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2112   fi
2113 fi
2114
2115 dnl
2116 dnl  Windows DirectShow access module
2117 dnl
2118 AC_ARG_ENABLE(dshow,
2119   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
2120 if test "${enable_dshow}" != "no"
2121 then
2122   if test "${SYS}" = "mingw32"
2123   then
2124     AC_LANG_PUSH(C++)
2125       AC_CHECK_HEADERS(dshow.h,
2126       [ VLC_ADD_PLUGIN([dshow])
2127         VLC_ADD_CXXFLAGS([dshow],[])
2128         VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2129     AC_LANG_POP(C++)
2130   fi
2131 fi
2132
2133 dnl
2134 dnl  Windows DirectShow BDA access module
2135 dnl
2136 AC_ARG_ENABLE(bda,
2137   AS_HELP_STRING([--enable-bda],[Win32 DirectShow BDA support (default
2138                   enabled on Win32)]))
2139 if test "${enable_bda}" != "no"
2140 then
2141   if test "${SYS}" = "mingw32"
2142   then
2143       AC_CHECK_HEADERS(dshow.h,
2144       [ VLC_ADD_PLUGIN([bda])
2145         VLC_ADD_CXXFLAGS([bda],[])
2146         VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2147   fi
2148 fi
2149
2150
2151 dnl
2152 dnl  OpenCV wrapper and example filters
2153 dnl
2154 AC_ARG_ENABLE(opencv,
2155   [  --enable-opencv         OpenCV (computer vision) filter (default disabled)])
2156 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2157 then
2158   AC_ARG_WITH(opencv-tree,
2159   [    --with-opencv-tree=PATH opencv tree for linking])
2160     if test "${SYS}" = "mingw32"
2161     then
2162       test -z "${with_opencv_tree}" && AC_MSG_ERROR([You have to specify --with-opencv-tree])
2163       AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2164       if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2165         -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2166       then
2167         AC_MSG_RESULT(yes)
2168         VLC_ADD_PLUGIN([opencv_wrapper])
2169         VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2170         VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
2171         AC_LANG_PUSH(C++)
2172         VLC_ADD_PLUGIN([opencv_example])
2173         VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2174         VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
2175         AC_LANG_POP(C++)
2176       else
2177         dnl  No opencv could be found, sorry
2178         AC_MSG_RESULT(no)
2179         AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2180       fi
2181     else
2182       PKG_CHECK_MODULES(OPENCV, opencv,
2183         [
2184           VLC_ADD_PLUGIN([opencv_example])
2185           VLC_ADD_PLUGIN([opencv_wrapper])
2186           VLC_ADD_LIBS([opencv_example opencv_wrapper],[${OPENCV_LIBS}])
2187           VLC_ADD_CFLAGS([opencv_wrapper],[${OPENCV_CFLAGS}])
2188           VLC_ADD_CXXFLAGS([opencv_example],[${OPENCV_CFLAGS}])
2189         ],
2190         [AC_MSG_ERROR([libopencv not found!])]
2191       )
2192     fi
2193 fi
2194
2195
2196 dnl
2197 dnl  libsmbclient plugin
2198 dnl
2199 AC_ARG_ENABLE(smb,
2200   [  --enable-smb            smb input module (default enabled)])
2201 if test "${enable_smb}" != "no"; then
2202   AC_CHECK_HEADERS(libsmbclient.h,
2203     [ VLC_ADD_PLUGIN([access_smb])
2204       VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2205     [ if test -n "${enable_smb}"; then
2206         AC_MSG_ERROR([cannot find libsmbclient headers])
2207      fi ])
2208 fi
2209
2210
2211 dnl
2212 dnl sftp access support
2213 dnl
2214 AC_ARG_ENABLE(sftp,
2215   [  --enable-sftp           sftp input access module (default disable)])
2216 if test "${enable_sftp}" = "yes"; then
2217   AC_CHECK_HEADERS(libssh2.h, [
2218     VLC_ADD_PLUGIN([access_sftp])
2219     VLC_ADD_LIBS([access_sftp], [-lssh2])
2220   ])
2221 fi
2222
2223 dnl
2224 dnl  libdvbpsi ts demux/mux
2225 dnl
2226 AC_ARG_ENABLE(dvbpsi,
2227   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
2228 have_dvbpsi=no
2229 if test "${enable_dvbpsi}" != "no"
2230 then
2231   AC_ARG_WITH(dvbpsi,
2232   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
2233   AC_ARG_WITH(dvbpsi,
2234   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2235   case "${with_dvbpsi}" in
2236   ""|yes)
2237     if test -z "${with_dvbpsi_tree}"
2238     then
2239       AC_CHECK_HEADERS(dvbpsi/dr.h,
2240         [ VLC_ADD_PLUGIN([ts])
2241           if test "${enable_sout}" != "no"; then
2242             VLC_ADD_PLUGIN([mux_ts])
2243           fi
2244           VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi])
2245           have_dvbpsi=yes],
2246         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2247         [#if defined( HAVE_STDINT_H )
2248 #   include <stdint.h>
2249 #elif defined( HAVE_INTTYPES_H )
2250 #   include <inttypes.h>
2251 #endif
2252 #include <dvbpsi/dvbpsi.h>
2253 #include <dvbpsi/descriptor.h>
2254 #include <dvbpsi/pat.h>
2255 #include <dvbpsi/pmt.h>])
2256     else
2257       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2258       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2259       if test -z "${real_dvbpsi_tree}"
2260       then
2261         dnl  The given directory can't be found
2262         AC_MSG_RESULT(no)
2263         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2264       fi
2265       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2266       then
2267         dnl  Use a custom libdvbpsi
2268         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2269         VLC_ADD_PLUGIN([ts])
2270         if test "${enable_sout}" != "no"; then
2271           VLC_ADD_PLUGIN([mux_ts])
2272         fi
2273         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2274         VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2275         have_dvbpsi=yes
2276       else
2277         dnl  The given libdvbpsi wasn't built
2278         AC_MSG_RESULT(no)
2279         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2280       fi
2281     fi
2282   ;;
2283   no)
2284     dnl  Compile without dvbpsi
2285   ;;
2286   *)
2287     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2288     if test -z "${with_dvbpsi}"
2289     then
2290       LDFLAGS_test=""
2291       CPPFLAGS_test=""
2292     else
2293       LDFLAGS_test="-L${with_dvbpsi}/lib"
2294       CPPFLAGS_test="-I${with_dvbpsi}/include"
2295     fi
2296     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2297     AC_CHECK_HEADERS([dvbpsi/dr.h],[
2298       VLC_ADD_PLUGIN([ts])
2299       if test "${enable_sout}" != "no"; then
2300         VLC_ADD_PLUGIN([mux_ts])
2301       fi
2302       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2303       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2304       have_dvbpsi=yes
2305     ],[
2306       if test -n "${enable_dvbpsi}"
2307       then
2308         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])
2309       fi
2310     ],
2311     [#if defined( HAVE_STDINT_H )
2312 #   include <stdint.h>
2313 #elif defined( HAVE_INTTYPES_H )
2314 #   include <inttypes.h>
2315 #endif
2316 #include <dvbpsi/dvbpsi.h>
2317 #include <dvbpsi/descriptor.h>
2318 #include <dvbpsi/pat.h>
2319 #include <dvbpsi/pmt.h>])
2320     CPPFLAGS="${CPPFLAGS_save}"
2321   ;;
2322   esac
2323   AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2324     AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2325   ], [], [${LIBS_ts}])
2326
2327 fi
2328
2329 dnl
2330 dnl  Video4Linux plugin
2331 dnl
2332 AC_ARG_ENABLE(v4l,
2333   [  --enable-v4l            Video4Linux input support (default disabled)])
2334 if test "${enable_v4l}" = "yes"
2335 then
2336   AC_ARG_WITH(v4l,
2337     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
2338   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2339   then
2340     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2341   fi
2342
2343   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2344   AC_CHECK_HEADERS(linux/videodev.h, [
2345     VLC_ADD_PLUGIN([v4l])
2346   ],[])
2347   CPPFLAGS="${CPPFLAGS_save}"
2348 fi
2349
2350 dnl
2351 dnl  Video4Linux2 plugin
2352 dnl
2353 AC_ARG_ENABLE(v4l2,
2354   [  --enable-v4l2           Video4Linux2 input support (default enabled)])
2355 if test "${enable_v4l2}" != "no"
2356 then
2357   AC_ARG_WITH(v4l2,
2358     [    --with-v4l2=PATH       path to a v4l2-enabled kernel tree],[],[])
2359   if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2360   then
2361     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2362   fi
2363
2364   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2365   AC_CHECK_HEADERS(linux/videodev2.h, [
2366     VLC_ADD_PLUGIN([v4l2])
2367   ],[])
2368   CPPFLAGS="${CPPFLAGS_save}"
2369 fi
2370
2371 dnl
2372 dnl libv4l2 support for video4linux.
2373 dnl
2374 AC_ARG_ENABLE( libv4l2,
2375   [  --enable-libv4l2        Libv4l2 Video4Linux2 support (default enabled)])
2376 if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
2377 then
2378     PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
2379       VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
2380       VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
2381       AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l is available)],
2382       AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
2383     )
2384 fi
2385
2386 dnl
2387 dnl  special access module for Hauppauge PVR cards
2388 dnl
2389 AC_ARG_ENABLE(pvr,
2390   [  --enable-pvr            PVR cards access module (default disabled)])
2391 if test "${enable_pvr}" = "yes"
2392 then
2393   VLC_ADD_PLUGIN([pvr])
2394   AC_ARG_WITH(videodev2,
2395     [  --with-videodev2=FILE   Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2396   if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2397   then
2398     AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2399   fi
2400
2401   AC_CACHE_CHECK([for new linux/videodev2.h],
2402       [ac_cv_new_linux_videodev2_h],
2403       [AC_TRY_COMPILE([
2404           #include <sys/types.h>
2405           #   ifdef VIDEODEV2_H_FILE
2406           #   include VIDEODEV2_H_FILE
2407           #   else
2408           #   include <linux/videodev2.h>
2409           #   endif
2410           ],
2411           [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2412           ac_cv_new_linux_videodev2_h=yes,
2413           ac_cv_new_linux_videodev2_h=no)])
2414   if test "${ac_cv_new_linux_videodev2_h}" != "no"; then
2415     AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2416   fi
2417 fi
2418
2419 dnl
2420 dnl  gnomeVFS access module
2421 dnl
2422 PKG_ENABLE_MODULES_VLC([GNOMEVFS], [access_gnomevfs], [gnome-vfs-2.0], [GnomeVFS access module], [auto])
2423
2424
2425 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2426 AC_ARG_ENABLE(libcdio,
2427   [  --enable-libcdio        CD input and control library support (default enabled)])
2428
2429 AC_ARG_ENABLE(vcdinfo,
2430   [  --enable-libvcdinfo     VCD information library support (default enabled)])
2431
2432 have_libcdio=no
2433 have_libvcdinfo=no
2434 if test "${enable_libcdio}" != "no"
2435 then
2436   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2437      have_libcdio=yes
2438      AC_DEFINE(HAVE_LIBCDIO, 1,
2439      [Define if you have libcdio 0.78.2 or greater installed]),
2440      [AC_MSG_WARN(CD Reading and information library not found)])
2441
2442   if test "${enable_vcdinfo}" != "no"
2443   then
2444     PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2445        [have_libvcdinfo=yes],
2446        [AC_MSG_WARN(VCD information library not found)])
2447   fi
2448 fi
2449
2450 dnl
2451 dnl  VCDX and CDDAX modules
2452 dnl
2453 AC_ARG_ENABLE(cddax,
2454   AS_HELP_STRING([--enable-cddax],[audio CD plugin with CD Text and CD paranoia
2455                   via libcdio (default disabled)]))
2456
2457 AC_ARG_ENABLE(libcddb,
2458   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
2459
2460 if test "${enable_cddax}" = "yes"
2461 then
2462   if test "$have_libcdio" = "yes"
2463   then
2464     AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio])
2465     VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2466     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2467     VLC_ADD_PLUGIN([cddax])
2468     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2469     VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2470     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2471   else
2472     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2473     HAVE_CDDAX=no
2474   fi
2475
2476   if test "$enable_libcddb" != "no"; then
2477     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2478       HAVE_LIBCDDB=yes
2479       AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2480       VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2481       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2482       ],
2483       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2484       HAVE_LIBCDDB=no])
2485   fi
2486
2487 fi
2488
2489 AC_ARG_ENABLE(vcdx,
2490   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
2491
2492 if test "${enable_vcdx}" = "yes"
2493 then
2494   if test "${have_libvcdinfo}" = "yes"
2495   then
2496     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2497     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2498   else
2499     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2500     HAVE_VCDX=no
2501   fi
2502
2503   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2504    [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2505     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2506     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2507     HAVE_VCDX=no])
2508
2509   if test "$have_libvcdinfo" = "yes"
2510   then
2511     AC_DEFINE(HAVE_VCDX, 1,
2512     [Define for the VCD plugin using libcdio/libvcdinfo])
2513     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2514     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2515     VLC_ADD_PLUGIN([vcdx])
2516   else
2517     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2518     HAVE_VCDX=no
2519   fi
2520 fi
2521
2522 dnl
2523 dnl  Built-in CD-DA and VCD module
2524 dnl
2525 AC_ARG_ENABLE(cdda,
2526   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
2527
2528 AC_ARG_ENABLE(vcd,
2529   [  --enable-vcd            built-in VCD (default enabled)])
2530
2531 if test "${enable_vcd}" != "no"
2532 then
2533   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2534   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2535     AC_MSG_RESULT(yes)
2536     VLC_ADD_PLUGIN([vcd])
2537     VLC_ADD_PLUGIN([cdda])
2538   ],[
2539     AC_MSG_RESULT(no)
2540   ])
2541
2542   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2543   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2544     AC_MSG_RESULT(yes)
2545     VLC_ADD_PLUGIN([vcd])
2546     VLC_ADD_PLUGIN([cdda])
2547     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2548   ],[
2549     AC_MSG_RESULT(no)
2550   ])
2551
2552   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2553   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2554     AC_MSG_RESULT(yes)
2555     VLC_ADD_PLUGIN([vcd])
2556     VLC_ADD_PLUGIN([cdda])
2557     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2558   ],[
2559     AC_MSG_RESULT(no)
2560   ])
2561
2562   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2563   then
2564     VLC_ADD_PLUGIN([vcd])
2565     VLC_ADD_PLUGIN([cdda])
2566   fi
2567
2568   if test "${SYS}" = "darwin"
2569   then
2570     VLC_ADD_PLUGIN([vcd])
2571     VLC_ADD_PLUGIN([cdda])
2572     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2573     VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2574   fi
2575
2576   if test "$enable_libcddb" != "no"; then
2577     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2578       HAVE_LIBCDDB=yes
2579       AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed])
2580       VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2581       VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2582       ],:
2583       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
2584       HAVE_LIBCDDB=no])
2585   fi
2586 fi
2587
2588 dnl
2589 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2590 dnl
2591 AC_ARG_ENABLE(dvb,
2592   [  --enable-dvb            DVB-S/T/C card support (default enabled)])
2593
2594 if test "${enable_dvb}" != "no"
2595 then
2596     AS_IF([test "${have_dvbpsi}" = "yes" ],[
2597     AC_ARG_WITH(dvb,
2598      [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
2599      if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2600      then
2601        VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2602      fi
2603      CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2604      AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2605      VLC_ADD_PLUGIN([dvb])
2606      ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2607      CPPFLAGS="${CPPFLAGS_save}"
2608    ],[
2609      AC_MSG_WARN([the dvb access module requires libdvbpsi])
2610     ])
2611 fi
2612
2613 dnl
2614 dnl  Screen capture module
2615 dnl
2616 AC_ARG_ENABLE(screen,
2617   [  --enable-screen         Screen capture support (default enabled)])
2618 if test "${enable_screen}" != "no"; then
2619   if test "${SYS}" = "darwin"; then
2620     AC_CHECK_HEADERS(OpenGL/gl.h, [
2621       AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2622         VLC_ADD_PLUGIN([screen])
2623         VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
2624       ])
2625     ])
2626   elif test "${SYS}" = "mingw32"; then
2627     VLC_ADD_PLUGIN([screen])
2628     VLC_ADD_LIBS([screen],[-lgdi32])
2629   elif test "${SYS}" = "mingwce"; then
2630     CPPFLAGS="${CPPFLAGS_save}"
2631   elif test "${SYS}" = "beos"; then
2632     VLC_ADD_PLUGIN([screen])
2633     VLC_ADD_CXXFLAGS([screen],[])
2634     VLC_ADD_LIBS([screen],[-lbe])
2635   fi
2636 fi
2637
2638 dnl
2639 dnl  ipv6 plugin - not for QNX yet
2640 dnl
2641 have_ipv6=no
2642 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2643   AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2644 ])
2645
2646 AS_IF([test "${have_ipv6}" = "yes"], [
2647   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2648
2649
2650 AC_CHECK_FUNCS(inet_ntop,[
2651   AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2652
2653
2654 dnl
2655 dnl  ogg demux plugin
2656 dnl
2657 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2658 if test "${enable_sout}" != "no"; then
2659     PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
2660 fi
2661
2662 if test "${enable_sout}" != "no"; then
2663 dnl Check for libshout
2664 PKG_ENABLE_MODULES_VLC([shout], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
2665 fi
2666
2667 dnl
2668 dnl  matroska demux plugin
2669 dnl
2670 AC_ARG_ENABLE(mkv,
2671   [  --enable-mkv            Matroska demux support (default enabled)])
2672 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2673   AC_LANG_PUSH(C++)
2674   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2675     AC_MSG_CHECKING(for libebml version >= 0.7.7)
2676     AC_EGREP_CPP(yes,
2677       [#include <ebml/EbmlVersion.h>
2678        #ifdef LIBEBML_VERSION
2679        #if LIBEBML_VERSION >= 0x000706
2680        yes
2681        #endif
2682        #endif],
2683       [AC_MSG_RESULT([yes])
2684         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2685           AC_MSG_CHECKING(for libmatroska version >= 0.8.0)
2686           AC_EGREP_CPP(yes,
2687             [#include <matroska/KaxVersion.h>
2688              #ifdef LIBMATROSKA_VERSION
2689              #if LIBMATROSKA_VERSION >= 0x000705
2690              yes
2691              #endif
2692              #endif],
2693             [AC_MSG_RESULT([yes])
2694               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2695               VLC_ADD_CXXFLAGS([mkv],[])
2696               if test "${SYS}" = "darwin"; then
2697                 VLC_ADD_CXXFLAGS([mkv],[-O1])
2698               fi
2699               AC_CHECK_LIB(ebml_pic, main, [
2700                 VLC_ADD_PLUGIN([mkv])
2701                 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2702               ],
2703                 AC_CHECK_LIB(ebml, main, [
2704                   VLC_ADD_PLUGIN([mkv])
2705                   VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2706                 ])
2707               )
2708             ],
2709             [AC_MSG_RESULT([no])
2710               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.])
2711           ])
2712         ])
2713       ],
2714       [AC_MSG_RESULT([no])
2715         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.])
2716     ])
2717   ])
2718   AC_LANG_POP(C++)
2719 fi
2720
2721 dnl
2722 dnl  modplug demux plugin
2723 dnl
2724 AC_ARG_ENABLE(mod,
2725   [  --enable-mod            Mod demux support (default enabled)])
2726 if test "${enable_mod}" != "no"
2727 then
2728   AC_ARG_WITH(mod-tree,
2729   [    --with-mod-tree=PATH mod tree for static linking])
2730   if test -n "${with_mod_tree}"
2731   then
2732     AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2733     real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2734     if test -z "${real_mod_tree}"
2735     then
2736       dnl  The given directory can't be found
2737       AC_MSG_RESULT(no)
2738       AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2739     fi
2740     if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2741     then
2742       dnl  Use a custom mod
2743       AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2744       VLC_ADD_PLUGIN([mod])
2745       VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2746       VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2747     else
2748       dnl  The given mod wasn't built
2749       AC_MSG_RESULT(no)
2750       AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2751     fi
2752   else
2753     AC_CHECK_HEADERS(libmodplug/modplug.h, [
2754       VLC_ADD_PLUGIN([mod])
2755       VLC_ADD_CXXFLAGS([mod],[])
2756       VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2757   fi
2758 fi
2759
2760 dnl
2761 dnl  mpc demux plugin
2762 dnl
2763 AC_ARG_ENABLE(mpc,
2764   [  --enable-mpc            Mpc demux support (default enabled)])
2765 if test "${enable_mpc}" != "no"
2766 then
2767   AC_CHECK_HEADERS([mpc/mpcdec.h], [
2768     VLC_ADD_PLUGIN([mpc])
2769     VLC_ADD_LIBS([mpc],[-lmpcdec])],
2770     [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [
2771     VLC_ADD_PLUGIN([mpc])
2772     VLC_ADD_LIBS([mpc],[-lmpcdec])])])
2773 fi
2774
2775 dnl
2776 dnl  game music emu demux plugin
2777 dnl
2778 AC_ARG_ENABLE(gme,
2779   [  --enable-gme            Game Music Emu demux support (default enabled)])
2780 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2781 then
2782   AC_LANG_PUSH(C++)
2783   AC_ARG_WITH(gme-tree,
2784   [    --with-gme-tree=PATH gme tree for static linking])
2785   if test -n "${with_gme_tree}"
2786   then
2787     AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2788     real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2789     if test -z "${real_gme_tree}"
2790     then
2791       dnl  The given directory can't be found
2792       AC_MSG_RESULT(no)
2793       AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2794     fi
2795     if test -f "${real_gme_tree}/gme/libgme.a"
2796     then
2797       dnl  Use a custom gme
2798       AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2799       VLC_ADD_PLUGIN([gme])
2800       VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2801       VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2802     else
2803       dnl  The given gme wasn't built
2804       AC_MSG_RESULT(no)
2805       AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2806     fi
2807   else
2808       AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2809   fi
2810   AC_LANG_POP(C++)
2811 fi
2812
2813 dnl
2814 dnl  Codec plugins
2815 dnl
2816
2817 AC_ARG_WITH(,[Codec plugins:])
2818
2819 dnl
2820 dnl wmafixed plugin
2821 dnl
2822 AC_ARG_ENABLE(wma-fixed,
2823   [  --enable-wma-fixed      libwma-fixed module (default disabled)])
2824 if test "${enable_wma_fixed}" = "yes"
2825 then
2826   VLC_ADD_PLUGIN([wma_fixed])
2827 fi
2828
2829 dnl
2830 dnl shine fixed point mp3 encoder
2831 dnl
2832 AC_ARG_ENABLE(shine,
2833   [  --enable-shine          shine mp3 encoding module (default disabled)])
2834 if test "${enable_shine}" = "yes"
2835 then
2836   VLC_ADD_PLUGIN([shine])
2837 fi
2838
2839 dnl
2840 dnl  mad plugin
2841 dnl
2842 AC_ARG_ENABLE(mad,
2843   [  --enable-mad            libmad module (default enabled)])
2844 if test "${enable_mad}" != "no"
2845 then
2846   AC_ARG_WITH(mad,
2847     [    --with-mad=PATH       path to libmad],[],[])
2848   if test "${with_mad}" != "no" -a -n "${with_mad}"
2849   then
2850     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2851     VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2852   fi
2853
2854   AC_ARG_WITH(mad-tree,
2855     [    --with-mad-tree=PATH   mad tree for static linking],[],[])
2856   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2857   then
2858     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2859     if test -z "${real_mad_tree}"
2860     then
2861       dnl  The given directory can't be found
2862       AC_MSG_RESULT(no)
2863       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2864     fi
2865     dnl  Use a custom libmad
2866     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2867     if test -f ${real_mad_tree}/mad.h
2868     then
2869       AC_MSG_RESULT(yes)
2870       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2871       VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2872       LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2873       AC_CHECK_LIB(mad, mad_bit_init, [
2874         VLC_ADD_PLUGIN([mpgatofixed32])
2875         VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2876         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2877       ],[])
2878       LDFLAGS="${LDFLAGS_save}"
2879     else
2880       AC_MSG_RESULT(no)
2881       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2882     fi
2883   else
2884     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2885     LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2886     AC_CHECK_HEADERS(mad.h, ,
2887       [ 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.]) ])
2888     AC_CHECK_LIB(mad, mad_bit_init, [
2889       VLC_ADD_PLUGIN([mpgatofixed32])
2890       VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2891       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2892     CPPFLAGS="${CPPFLAGS_save}"
2893     LDFLAGS="${LDFLAGS_save}"
2894   fi
2895 fi
2896
2897 dnl
2898 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2899 dnl
2900 AC_ARG_ENABLE( id3tag,
2901 [  --disable-id3tag        id3tag metadata reader plugin (default disabled)])
2902 AS_IF([test "${enable_id3tag}" = "yes"], [
2903   AC_CHECK_HEADERS(id3tag.h, [
2904       AS_IF([test "${have_zlib}" = "yes"],[
2905           VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2906           VLC_ADD_PLUGIN([id3tag])
2907        ])
2908     ])
2909 ])
2910
2911 AC_ARG_ENABLE(merge-ffmpeg,
2912 [  --enable-merged-ffmpeg  merge FFmpeg-based plugins (default disabled)],, [
2913   enable_merge_ffmpeg="no"
2914 ])
2915 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
2916
2917 dnl
2918 dnl  avcodec decoder/encoder plugin
2919 dnl
2920
2921 if test "${with_ffmpeg_tree}"
2922 then
2923   AC_MSG_WARN([--with-ffmpeg-tree is deprecated. Use PKG_CONFIG_PATH instead.])
2924 fi
2925
2926 AC_ARG_ENABLE(avcodec,
2927 [  --enable-avcodec        libavcodec codec (default enabled)])
2928 if test "${enable_avcodec}" != "no"
2929 then
2930   PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 51.48.0 libavutil],
2931     [
2932       VLC_SAVE_FLAGS
2933       CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
2934       CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
2935       AC_CHECK_HEADERS(libavcodec/avcodec.h ffmpeg/avcodec.h)
2936       AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2937       VLC_ADD_PLUGIN([avcodec])
2938       VLC_ADD_LIBS([avcodec],[$AVCODEC_LIBS])
2939       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
2940       VLC_RESTORE_FLAGS
2941       have_avcodec="yes"
2942     ],[
2943       AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
2944   ])
2945 fi
2946
2947 dnl
2948 dnl libva needs avcodec
2949 dnl
2950 AC_ARG_ENABLE(libva,
2951   [  --enable-libva         libva VAAPI support (default disabled)])
2952 AS_IF([test "${enable_libva}" = "yes"], [
2953   AS_IF([test "x${have_avcodec}" = "xyes"], [
2954     PKG_CHECK_MODULES(LIBVA, [libva libva-x11],
2955       [
2956         VLC_ADD_LIBS([avcodec],[$LIBVA_LIBS])
2957         VLC_ADD_CFLAGS([avcodec],[$LIBVA_CFLAGS])
2958         AC_DEFINE(HAVE_AVCODEC_VAAPI, 1, [Define if avcodec has to be built with VAAPI support.])
2959       ],[
2960         AC_MSG_ERROR([Could not find libva.])
2961     ])
2962   ],[
2963     AC_MSG_ERROR([libva VAAPI support depends on libavcodec.])
2964   ])
2965 ])
2966
2967 dnl
2968 dnl stream_out switcher needs libavcodec
2969 dnl
2970 AC_ARG_ENABLE(switcher,
2971   [  --enable-switcher       Stream-out switcher plugin (default disabled)])
2972 AS_IF([test "${enable_switcher}" = "yes"], [
2973   AS_IF([test "x${have_avcodec}" = "xyes"], [
2974     VLC_ADD_PLUGIN([stream_out_switcher])
2975     VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
2976     VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
2977   ],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
2978   ])
2979 ])
2980
2981
2982 dnl
2983 dnl  avformat demuxer/muxer plugin
2984 dnl
2985
2986 AC_ARG_ENABLE(avformat,
2987 [  --enable-avformat       libavformat containers (default enabled)])
2988 if test "${enable_avformat}" != "no"
2989 then
2990   PKG_CHECK_MODULES(AVFORMAT,[libavformat libavutil],
2991     [
2992       VLC_SAVE_FLAGS
2993       CPPFLAGS="${CPPFLAGS} ${AVFORMAT_CFLAGS}"
2994       CFLAGS="${CFLAGS} ${AVFORMAT_CFLAGS}"
2995       AC_CHECK_HEADERS(libavformat/avformat.h ffmpeg/avformat.h)
2996       AC_CHECK_HEADERS(libavutil/avutil.h ffmpeg/avutil.h)
2997       AS_IF([test "$enable_merge_ffmpeg" = "no"], [
2998         VLC_ADD_PLUGIN([avformat])
2999         VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3000         VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3001       ], [
3002         VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
3003         VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
3004       ])
3005       VLC_RESTORE_FLAGS
3006     ],[
3007       AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
3008   ])
3009 fi
3010
3011 dnl
3012 dnl  swscale image scaling and conversion plugin
3013 dnl
3014
3015 AC_ARG_ENABLE(swscale,
3016   AS_HELP_STRING([--enable-swscale],[libswscale image scaling and conversion
3017                   (default enabled)]))
3018 if test "${enable_swscale}" != "no"
3019 then
3020   PKG_CHECK_MODULES(SWSCALE,[libswscale],
3021     [
3022       VLC_SAVE_FLAGS
3023       CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
3024       CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
3025       AC_CHECK_HEADERS(libswscale/swscale.h ffmpeg/swscale.h)
3026       VLC_ADD_PLUGIN([swscale])
3027       VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
3028       VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
3029       VLC_RESTORE_FLAGS
3030     ],[
3031       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.])
3032   ])
3033 fi
3034
3035 dnl
3036 dnl  postproc plugin
3037 dnl
3038
3039 AC_ARG_ENABLE(postproc,
3040 [  --enable-postproc       libpostproc image post-processing (default enabled)])
3041 if test "${enable_postproc}" != "no"
3042 then
3043   PKG_CHECK_MODULES(POSTPROC,[libpostproc libavutil],
3044     [
3045       VLC_SAVE_FLAGS
3046       CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3047       CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3048       AC_CHECK_HEADERS(postproc/postprocess.h)
3049       VLC_ADD_PLUGIN([postproc])
3050       VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS])
3051       VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS])
3052       VLC_RESTORE_FLAGS
3053     ],[
3054       AC_MSG_ERROR([Could not find libpostproc. Use --disable-postproc to ignore this error.])
3055   ])
3056 fi
3057
3058 dnl
3059 dnl  faad decoder plugin
3060 dnl
3061 AC_ARG_ENABLE(faad,
3062 [  --enable-faad           faad codec (default disabled)])
3063 if test "${enable_faad}" = "yes"
3064 then
3065   AC_ARG_WITH(faad-tree,
3066   [    --with-faad-tree=PATH faad tree for static linking])
3067   if test -n "${with_faad_tree}"
3068   then
3069     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3070     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3071     if test -z "${real_faad_tree}"
3072     then
3073       dnl  The given directory can't be found
3074       AC_MSG_RESULT(no)
3075       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3076     fi
3077     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3078     then
3079       dnl  Use a custom faad
3080       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3081       VLC_ADD_PLUGIN([faad])
3082       VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3083       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3084     else
3085       dnl  The given libfaad wasn't built
3086       AC_MSG_RESULT(no)
3087       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3088     fi
3089   else
3090     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3091     LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3092     AC_CHECK_HEADERS(faad.h, ,
3093       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3094     AC_CHECK_LIB(faad, faacDecOpen, [
3095       VLC_ADD_PLUGIN([faad])
3096       VLC_ADD_LIBS([faad],[-lfaad]) ],
3097       AC_CHECK_LIB(faad, NeAACDecOpen, [
3098         VLC_ADD_PLUGIN([faad])
3099         VLC_ADD_LIBS([faad],[-lfaad]) ],
3100         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3101     LDFLAGS="${LDFLAGS_save}"
3102     CPPFLAGS="${CPPFLAGS_save}"
3103   fi
3104 fi
3105
3106 dnl
3107 dnl twolame encoder plugin
3108 dnl
3109 PKG_ENABLE_MODULES_VLC([twolame], [], [twolame], [MPEG Audio Layer 2 encoder], [auto], [], [], [ -DLIBTWOLAME_STATIC])
3110
3111 dnl
3112 dnl  QuickTime plugin
3113 dnl
3114 AC_ARG_ENABLE(quicktime,
3115   [  --enable-quicktime      QuickTime module (deprecated)])
3116 if test "${enable_quicktime}" = "yes"; then
3117   if test "${SYS}" = "mingw32"; then
3118     VLC_ADD_PLUGIN([quicktime])
3119   else
3120   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3121     [ VLC_ADD_PLUGIN([quicktime])
3122       VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3123     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3124   fi
3125 fi
3126
3127 dnl
3128 dnl  Real plugin
3129 dnl
3130 AC_ARG_ENABLE(real,
3131   [  --enable-real           Real media module (default disabled)])
3132 if test "${enable_real}" = "yes"; then
3133   VLC_ADD_PLUGIN([realaudio])
3134   VLC_ADD_PLUGIN([realvideo])
3135 fi
3136
3137 dnl
3138 dnl  Real RTSP plugin
3139 dnl
3140 AC_ARG_ENABLE(realrtsp,
3141   [  --enable-realrtsp       Real RTSP module (default disabled)])
3142 if test "${enable_realrtsp}" = "yes"; then
3143   VLC_ADD_PLUGIN([access_realrtsp])
3144 fi
3145
3146 AC_ARG_ENABLE(libsysfs,
3147   [  --enable-libsysfs       Get user key from firewire connected iPod via libsysfs (default enabled)])
3148
3149 AS_IF([test "${enable_libsysfs}" != "no"],[
3150   AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3151     VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3152   ] )
3153 ])
3154
3155 dnl
3156 dnl skins2 module
3157 dnl
3158 AC_ARG_ENABLE(libtar,
3159   [  --enable-libtar         libtar support for skins2 (default enabled)])
3160
3161 AS_IF([test "${enable_libtar}" != "no"],[
3162   AC_CHECK_HEADERS(libtar.h, [
3163     VLC_ADD_LIBS([skins2],[-ltar])
3164   ] )
3165 ])
3166
3167 dnl
3168 dnl A52/AC3 decoder plugin
3169 dnl
3170 AC_ARG_ENABLE(a52,
3171   [  --enable-a52            A/52 support with liba52 (default enabled)])
3172 if test "${enable_a52}" != "no"
3173 then
3174   AC_ARG_WITH(a52,
3175     [    --with-a52=PATH       a52 headers and libraries])
3176   AC_ARG_WITH(a52-tree,
3177     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
3178   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3179   then
3180     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3181     if test -z "${real_a52_tree}"
3182     then
3183       dnl  The given directory can't be found
3184       AC_MSG_RESULT(no)
3185       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3186     fi
3187     dnl  Use a custom a52dec
3188     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3189     if test -f ${real_a52_tree}/include/a52.h
3190     then
3191       AC_MSG_RESULT(yes)
3192       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3193       VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3194       LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3195       AC_CHECK_LIB(a52, a52_free, [
3196         VLC_ADD_PLUGIN([a52tofloat32])
3197         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3198         VLC_ADD_LIBS([a52tofloat32],[-la52])
3199         ],[
3200         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3201         then
3202           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3203         else
3204           AC_MSG_ERROR([the specified tree hasn't been compiled])
3205         fi
3206       ])
3207       LDFLAGS="${LDFLAGS_save}"
3208     else
3209       AC_MSG_RESULT(no)
3210       AC_MSG_ERROR([the specified tree doesn't have a52.h])
3211     fi
3212   else
3213     if test -z "${with_a52}"
3214     then
3215       LDFLAGS_test=""
3216       CPPFLAGS_test=""
3217     else
3218       LDFLAGS_test="-L${with_a52}/lib"
3219       CPPFLAGS_test="-I${with_a52}/include"
3220     fi
3221     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3222     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3223     AC_CHECK_HEADERS(a52dec/a52.h, [
3224       AC_CHECK_LIB(a52, a52_free, [
3225         VLC_ADD_PLUGIN([a52tofloat32])
3226         VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3227         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3228       ],[
3229         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.])
3230         ])
3231     ],[
3232       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.])
3233     ])
3234     CPPFLAGS="${CPPFLAGS_save}"
3235     LDFLAGS="${LDFLAGS_save}"
3236   fi
3237 fi
3238
3239 AC_ARG_WITH(a52-fixed,
3240       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
3241       [
3242         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3243
3244 dnl
3245 dnl DTS Coherent Acoustics decoder plugin
3246 dnl
3247 AS_IF([test "x${enable_dts}" != "x"], [
3248   AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3249 ])
3250 PKG_ENABLE_MODULES_VLC([DCA], [dtstofloat32], [libdca >= 0.0.5], [DTS Coherent Acoustics support with libdca], [auto])
3251
3252 dnl
3253 dnl  Flac plugin
3254 dnl
3255 PKG_ENABLE_MODULES_VLC([FLAC], [], [flac], [libflac decoder/encoder support], [auto])
3256
3257 dnl
3258 dnl  Libmpeg2 plugin
3259 dnl
3260 PKG_ENABLE_MODULES_VLC([LIBMPEG2], [], [libmpeg2 > 0.3.2], [libmpeg2 decoder support], [auto])
3261
3262 dnl
3263 dnl  Vorbis plugin
3264 dnl
3265 PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorbis decoder and encoder], [auto])
3266
3267 dnl
3268 dnl  Tremor plugin
3269 dnl
3270 AC_ARG_ENABLE(tremor,
3271   [  --enable-tremor         Tremor decoder support (default disabled)])
3272 if test "${enable_tremor}" = "yes"
3273 then
3274   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3275     VLC_ADD_PLUGIN([tremor])
3276     VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3277    ],[])
3278 fi
3279
3280 dnl
3281 dnl  Speex plugin
3282 dnl
3283 PKG_ENABLE_MODULES_VLC([SPEEX], [], [ogg speex >= 1.0.5], [Speex decoder support], [auto])
3284
3285 dnl
3286 dnl  tarkin decoder plugin
3287 dnl
3288 AC_ARG_ENABLE(tarkin,
3289 [  --enable-tarkin         experimental tarkin codec (default disabled)])
3290 if test "${enable_tarkin}" = "yes"
3291 then
3292   AC_ARG_WITH(tarkin-tree,
3293   [    --with-tarkin-tree=PATH tarkin tree for static linking])
3294   if test -n "${with_tarkin_tree}"
3295   then
3296     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3297     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3298     if test -f "${real_tarkin_tree}/tarkin.o"
3299     then
3300       VLC_ADD_PLUGIN([tarkin])
3301       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3302       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])
3303       AC_MSG_RESULT(yes)
3304     else
3305       dnl  The given tarkin tree wasn't built
3306       AC_MSG_RESULT(no)
3307       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3308                     make sure you compiled tarkin in ${with_tarkin_tree}])
3309     fi
3310   fi
3311 fi
3312
3313 dnl
3314 dnl  theora decoder plugin
3315 dnl
3316 PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto])
3317
3318 dnl
3319 dnl  dirac encoder plugin
3320 dnl
3321 PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
3322
3323 dnl
3324 dnl  schroedinger decoder plugin (for dirac format video)
3325 dnl
3326 PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
3327
3328 dnl
3329 dnl  PNG decoder module
3330 dnl
3331 AC_ARG_ENABLE(png,
3332   [  --enable-png            PNG support (default enabled)])
3333 if test "${enable_png}" != "no"; then
3334 AC_CHECK_HEADERS(png.h, [
3335   LDFLAGS="${LDFLAGS_save} -lz"
3336   AC_CHECK_LIB(png, png_set_rows, [
3337     VLC_ADD_LIBS([png],[-lpng -lz])
3338     VLC_ADD_PLUGIN([png])
3339     VLC_ADD_PLUGIN([osdmenu])
3340     VLC_ADD_PLUGIN([osd_parser])],
3341     [],[-lz])
3342     LDFLAGS="${LDFLAGS_save}"
3343   ])
3344 fi
3345 AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
3346
3347 dnl
3348 dnl H264 encoder plugin (using libx264)
3349 dnl
3350 AC_ARG_ENABLE(x264,
3351   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
3352 if test "${enable_x264}" != "no"; then
3353   AC_ARG_WITH(x264-tree,
3354     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
3355   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3356   then
3357     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3358     if test -z "${real_x264_tree}"
3359     then
3360       dnl  The given directory can't be found
3361       AC_MSG_RESULT(no)
3362       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3363     fi
3364     dnl  Use a custom libx264
3365     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3366     if test -f ${real_x264_tree}/x264.h
3367     then
3368       AC_MSG_RESULT(yes)
3369       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3370       VLC_ADD_LIBS([x264],[-L${real_x264_tree}])
3371       PKG_CHECK_MODULES(X264,x264, [
3372         VLC_ADD_PLUGIN([x264])
3373         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3374         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3375         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3376           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3377         fi
3378       ],[
3379         AC_MSG_ERROR([the specified tree hasn't been compiled])
3380       ])
3381       LDFLAGS="${LDFLAGS_save}"
3382     else
3383       AC_MSG_RESULT(no)
3384       AC_MSG_ERROR([the specified tree doesn't have x264.h])
3385     fi
3386   else
3387       PKG_CHECK_MODULES(X264,x264 >= 0.76, [
3388         VLC_ADD_PLUGIN([x264])
3389         VLC_ADD_LDFLAGS([x264],[${X264_LIBS}])
3390
3391         AC_CACHE_CHECK([if linker supports -Bsymbolic],
3392           [ac_cv_ld_bsymbolic],
3393           [LDFLAGS="${LDFLAGS_vlc} -Wl,-Bsymbolic"
3394             AC_TRY_LINK([],,ac_cv_ld_bsymbolic=yes,ac_cv_ld_bsymbolic=no)
3395             LDFLAGS="${LDFLAGS_save}"
3396           ])
3397         AS_IF([test "${ac_cv_ld_bsymbolic}" != "no"], [
3398           VLC_ADD_LDFLAGS([x264],[-Wl,-Bsymbolic])
3399         ])
3400
3401         VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}])
3402         if echo ${X264_LIBS} |grep -q 'pthreadGC2'; then
3403           VLC_ADD_CFLAGS([x264], [-DPTW32_STATIC_LIB])
3404         fi
3405       ],[
3406         if test "${enable_x264}" = "yes"; then
3407             AC_MSG_ERROR([Could not find libx264 >= 0.76 on your system: you may get it from http://www.videolan.org/x264.html])
3408           fi
3409       ])
3410     LDFLAGS="${LDFLAGS_save}"
3411   fi
3412 fi
3413
3414 dnl
3415 dnl libfluidsynth (MIDI synthetizer) plugin
3416 dnl
3417 PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto])
3418
3419 dnl
3420 dnl Teletext Modules
3421 dnl vbi decoder plugin (using libzbvi)
3422 dnl telx module
3423 dnl uncompatible
3424 dnl
3425 AC_ARG_ENABLE(zvbi,
3426   AS_HELP_STRING([--enable-zvbi],[VBI (inc. Teletext) decoding support with
3427                   libzvbi (default enabled)]))
3428 AC_ARG_ENABLE(telx,
3429   AS_HELP_STRING([--enable-telx],[Teletext decoding module (conflicting with
3430                   zvbi) (default enabled if zvbi is absent)]))
3431
3432 AS_IF( [test "${enable_zvbi}" != "no"],[
3433     PKG_CHECK_MODULES(ZVBI,
3434         zvbi-0.2 >= 0.2.25,
3435         [
3436           VLC_ADD_LIBS([zvbi],[$ZVBI_LIBS])
3437           if test "${SYS}" = "mingw32"; then
3438               VLC_ADD_LIBS([zvbi],[ -lpthreadGC2])
3439           fi
3440           VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS])
3441           VLC_ADD_PLUGIN([zvbi])
3442           AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built])
3443           AS_IF( [test "${enable_telx}" = "yes"],[
3444                   AC_MSG_WARN([The zvbi and telx modules are uncompatibles.
3445                                Using zvbi.])
3446                   ])
3447         ],[
3448           AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead)
3449         ])
3450     ])
3451 AS_IF( [test "${enable_telx}" != "no" ],[
3452   VLC_ADD_PLUGIN([telx])
3453   ])
3454
3455 dnl
3456 dnl libass subtitle rendering module
3457 dnl
3458 AC_ARG_ENABLE(libass,
3459   [  --enable-libass         Subtitle support using libass (default disabled)])
3460 AS_IF( [test "${enable_libass}" = "yes"], [
3461   PKG_CHECK_MODULES(LIBASS, libass >= 0.9.6,
3462       [
3463         VLC_ADD_LDFLAGS([libass],[$LIBASS_LIBS])
3464         VLC_ADD_CFLAGS([libass],[$LIBASS_CFLAGS])
3465         VLC_ADD_PLUGIN([libass])
3466
3467         AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3468           [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
3469         if test "${SYS}" = "mingw32"; then
3470            VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz])
3471         else
3472            VLC_ADD_LIBS([libass],[-lfontconfig])
3473         fi
3474        ])
3475       ],[
3476         AC_MSG_WARN([LIBASS library not found])
3477       ])
3478   ])
3479
3480 dnl
3481 dnl asa demuxer
3482 dnl
3483 AC_ARG_ENABLE(asademux,
3484   [  --enable-asademux       asa subtitle demuxing (default disabled)])
3485 AS_IF( [test "${enable_asademux}" = "yes"], [
3486   PKG_CHECK_MODULES(PCRE,
3487       libpcre >= 6.5,
3488       [
3489         VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS])
3490         VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS])
3491         if test "${SYS}" = "mingw32"; then
3492             VLC_ADD_CPPFLAGS([asademux],[-DPCRE_STATIC])
3493         fi
3494         VLC_ADD_PLUGIN([asademux])
3495       ],[
3496         AC_MSG_WARN([PCRE library not found (required for asademux)])
3497       ])
3498   ])
3499
3500 dnl
3501 dnl  CMML plugin
3502 dnl
3503 AC_ARG_ENABLE(cmml,
3504   [  --enable-cmml           CMML support (default enabled)])
3505 if test "${enable_cmml}" != "no"
3506 then
3507   VLC_ADD_PLUGIN([cmml])
3508 fi
3509
3510 dnl
3511 dnl  kate decoder plugin
3512 dnl
3513 AC_ARG_ENABLE(kate,
3514 [  --enable-kate           kate codec (default enabled)])
3515 AS_IF([test "${enable_kate}" != "no"], [
3516   PKG_CHECK_MODULES(KATE,[kate >= 0.1.5], [
3517       VLC_ADD_PLUGIN([kate])
3518       VLC_ADD_CFLAGS([kate],[$KATE_CFLAGS])
3519       VLC_ADD_LIBS([kate],[$KATE_LIBS]) ],[
3520         AC_CHECK_HEADERS(kate/kate.h, [
3521           AC_CHECK_LIB(kate, kate_decode_init, [
3522             VLC_ADD_PLUGIN([kate])
3523             kate_libs="-lkate -logg"
3524             VLC_ADD_LDFLAGS([kate],[${kate_libs}]) ],[
3525             AS_IF([test "x${enable_kate}" != "x"], [
3526               AC_MSG_ERROR([libkate doesn't appear to be installed on your system.
3527               You also need to check that you have a libogg posterior to the 1.0 release.])
3528             ])
3529           ], [-lkate -logg])
3530         ],[
3531           AS_IF([test "x${enable_kate}" != "x"], [
3532             AC_MSG_ERROR([libkate headers do not appear to be installed on your system.
3533             You also need to check that you have a libogg posterior to the 1.0 release.])
3534           ])
3535         ])
3536   ])
3537 ])
3538
3539
3540 dnl
3541 dnl  tiger decoder plugin
3542 dnl
3543 PKG_ENABLE_MODULES_VLC([TIGER], [], [tiger >= 0.3.1], [Tiger rendering library for Kate streams],[auto])
3544
3545
3546 dnl
3547 dnl  Video plugins
3548 dnl
3549
3550 AC_ARG_WITH(,[Video plugins:])
3551
3552 dnl
3553 dnl  Xlib
3554 dnl
3555
3556 AC_PATH_XTRA()
3557 AC_ARG_ENABLE(x11,
3558   [  --enable-x11            X11 support with Xlib (default enabled)],, [
3559   AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3560     enable_x11="yes"
3561   ], [
3562     enable_x11="no"
3563   ])
3564 ])
3565
3566 CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3567
3568 AS_IF([test "${enable_x11}" != "no"], [
3569   AC_CHECK_HEADERS(X11/Xlib.h)
3570
3571 dnl Check for DPMS
3572   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3573     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3574     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3575       AC_MSG_RESULT(yes)
3576       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3577                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3578     ],[
3579       AC_MSG_RESULT(no)
3580     ])
3581   ],,[
3582     #include <X11/Xlib.h>
3583   ])
3584 ])
3585
3586 dnl
3587 dnl  GLX module
3588 dnl  (enabled by default except on win32)
3589 dnl
3590 AC_ARG_ENABLE(glx,
3591   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
3592   enable_glx="$enable_x11"
3593 ])
3594 AS_IF([test "${enable_glx}" != "no"], [
3595   AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
3596   AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
3597     [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
3598     choke me
3599     #endif]]),
3600     [
3601       VLC_ADD_PLUGIN([glx])
3602       VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3603       VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3604     ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
3605 ])
3606
3607 dnl
3608 dnl  XVMC module
3609 dnl  (disabled by default except on win32)
3610 dnl
3611 AC_ARG_ENABLE(xvmc,
3612   [  --enable-xvmc           XvMC support (default disabled)],, [
3613   enable_xvmc="no"
3614 ])
3615 AS_IF([test "${enable_xvmc}" != "no"], [
3616   AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
3617     AS_IF([test "${enable_libmpeg2}" = "yes"], [
3618       VLC_ADD_PLUGIN([xvmc])
3619       VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
3620       VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
3621     ], [
3622       AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available])
3623     ])
3624   ], [
3625     AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
3626   ])
3627 ])
3628
3629 dnl End of Xlib tests
3630 CPPFLAGS="${CPPFLAGS_save}"
3631
3632
3633 dnl
3634 dnl  X C Bindings modules
3635 dnl
3636 AC_ARG_ENABLE(xcb,
3637   [  --enable-xcb            X11 support with XCB (default enabled)],, [
3638   AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
3639     enable_xcb="yes"
3640   ], [
3641     enable_xcb="no"
3642   ])
3643 ])
3644 AC_ARG_ENABLE(xvideo,
3645   [  --enable-xvideo         XVideo support (default enabled)],, [
3646     enable_xvideo="$enable_xcb"
3647 ])
3648
3649 need_xid_provider="no"
3650 AS_IF([test "${enable_xcb}" != "no"], [
3651   PKG_CHECK_MODULES(XPROTO, [xproto])
3652
3653   dnl libxcb
3654   PKG_CHECK_MODULES(XCB, [xcb])
3655   PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
3656   VLC_ADD_PLUGIN([xcb_x11])
3657   VLC_ADD_PLUGIN([xcb_screen])
3658   VLC_SET_CFLAGS_WERROR([xcb_screen], [-Wno-error=uninitialized]) # some gcc report a warning which doesn't reveal an error
3659
3660   AS_IF([test "${enable_xvideo}" != "no"], [
3661     PKG_CHECK_MODULES(XCB_XV, [xcb-xv >= 1.1.90.1], [
3662       VLC_ADD_PLUGIN([xcb_xv])
3663     ], [
3664       PKG_CHECK_MODULES(XCB_XV, [xcb-xv], [
3665         VLC_ADD_PLUGIN([xcb_xv])
3666         VLC_ADD_CFLAGS([xcb_xv], [-DXCB_XV_OLD])
3667       ])
3668     ])
3669   ])
3670
3671   PKG_CHECK_MODULES(XCB_RANDR, [xcb-randr >= 1.3], [
3672     VLC_ADD_PLUGIN([panoramix])
3673     VLC_ADD_LIBS([panoramix],[${XCB_RANDR_LIBS} ${XCB_LIBS}])
3674     VLC_ADD_CFLAGS([panoramix],[${XCB_RANDR_CFLAGS} ${XCB_CFLAGS}])
3675   ], [true])
3676
3677   dnl xcb-utils
3678   PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms >= 0.3.4], [
3679     have_xcb_keysyms="yes"
3680   ], [
3681     PKG_CHECK_MODULES(XCB_KEYSYMS, [xcb-keysyms], [
3682       have_xcb_keysyms="yes"
3683       VLC_ADD_CFLAGS([globalhotkeys], [-DXCB_KEYSYM_OLD_API])
3684     ], [
3685       have_xcb_keysyms="no"
3686       need_xid_provider="yes"
3687     ])
3688   ])
3689
3690   AS_IF([test "${have_xcb_keysyms}" = "yes"], [
3691     VLC_ADD_PLUGIN([xcb_window])
3692     VLC_ADD_PLUGIN([globalhotkeys])
3693     VLC_ADD_CFLAGS([globalhotkeys], [${XCB_KEYSYMS_CFLAGS} ${XCB_CFLAGS}])
3694     VLC_ADD_LIBS([globalhotkeys], [${XCB_KEYSYMS_LIBS} ${XCB_LIBS}])
3695   ])
3696   VLC_ADD_PLUGIN([xdg_screensaver])
3697 ])
3698
3699
3700 dnl
3701 dnl  OpenGL module
3702 dnl  (enabled by default except on beos)
3703 dnl
3704 AC_ARG_ENABLE(opengl,
3705   [  --enable-opengl         OpenGL support (default enabled)])
3706 if test "${enable_opengl}" != "no" &&
3707    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3708   if test "${SYS}" != "darwin"; then
3709     AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3710       VLC_ADD_PLUGIN([opengl])
3711       if test "${SYS}" != "mingw32"; then
3712         VLC_ADD_LIBS([opengl],[${X_LIBS} -lGL -lGLU])
3713       else
3714         VLC_ADD_LIBS([opengl],[-lopengl32 -lglu32])
3715       fi
3716     ])
3717   else
3718     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3719     VLC_ADD_PLUGIN([opengl])
3720     VLC_ADD_LIBS([opengl],[-Wl,-framework,OpenGL])
3721   fi
3722 fi
3723
3724 dnl
3725 dnl  SDL module
3726 dnl
3727 AC_ARG_ENABLE(sdl,
3728   [  --enable-sdl            SDL support (default enabled)])
3729 AC_ARG_ENABLE(sdl-image,
3730   [  --enable-sdl-image      SDL image support (default enabled)])
3731 if test "${enable_sdl}" != "no"
3732 then
3733   SDL_PATH="${PATH}"
3734   AC_ARG_WITH(sdl-config-path,
3735     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3736     [ if test "${with_sdl_config_path}" != "no"
3737       then
3738         SDL_PATH="${with_sdl_config_path}:${PATH}"
3739       fi ])
3740   AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3741   SDL_HEADER="SDL/SDL.h"
3742   SDL_IMAGE="SDL/SDL_image.h"
3743
3744   if test "${SDL_CONFIG}" != "no";  then
3745      PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
3746         # SDL on Darwin is heavily patched and can only run SDL_image
3747         if test "${SYS}" != "darwin"; then
3748           VLC_ADD_PLUGIN([vout_sdl])
3749           VLC_ADD_PLUGIN([aout_sdl])
3750         fi
3751         VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --cflags | sed 's,SDL,,'`])
3752         VLC_ADD_LIBS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`])
3753
3754         # SDL_image
3755         AS_IF([ test "${enable_sdl_image}" != "no"],[
3756           AC_CHECK_HEADERS("SDL/SDL_image.h", [
3757             VLC_ADD_PLUGIN([sdl_image])
3758             AC_CHECK_LIB(png, png_set_rows, [VLC_ADD_LIBS([sdl_image],[-lpng -lz])],[],[-lz])
3759             AC_CHECK_LIB(jpeg, jpeg_start_decompress, [VLC_ADD_LIBS([sdl_image],[-ljpeg])])
3760             AC_CHECK_LIB(tiff, TIFFClientOpen, [VLC_ADD_LIBS([sdl_image],[-ltiff])])
3761             VLC_ADD_LIBS([sdl_image], [-lSDL_image])],
3762             [ AC_MSG_WARN([The development package for SDL_image is not installed.
3763       You should install it alongside your SDL package.])
3764             ])
3765         ])
3766      ],[
3767        AC_MSG_ERROR([The development package for SDL is too old. You need 1.2.10.
3768                     Alternatively you can also configure with --disable-sdl.])
3769      ])
3770   else if test "${enable_sdl}" =  "yes"; then
3771     AC_MSG_ERROR([I could not find the SDL package. You can download libSDL
3772 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3773     ])
3774       fi
3775   fi
3776 fi
3777
3778 dnl
3779 dnl  freetype module
3780 dnl
3781 AC_ARG_ENABLE(freetype,
3782   [  --enable-freetype       freetype support (default enabled)])
3783 AC_ARG_ENABLE(fribidi,
3784   [  --enable-fribidi        fribidi support (default enabled)])
3785 AC_ARG_ENABLE(fontconfig,
3786   [  --enable-fontconfig,    fontconfig support (default enabled)])
3787 if test "${enable_freetype}" != "no"
3788 then
3789    PKG_CHECK_MODULES(FREETYPE, freetype2,[
3790       VLC_ADD_PLUGIN([freetype])
3791       have_freetype=yes
3792       VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
3793       if test "${SYS}" = "mingw32"; then
3794         VLC_ADD_LIBS([freetype],[-liconv -lz])
3795       fi
3796       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
3797       if test "${enable_fontconfig}" != "no"
3798       then
3799         AC_CHECK_HEADERS(fontconfig/fontconfig.h,
3800           [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
3801            VLC_ADD_LIBS([freetype],[-lfontconfig])])
3802         AC_CHECK_HEADERS(Carbon/Carbon.h,
3803           [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])])
3804       fi
3805
3806      dnl fribidi support
3807       if test "${enable_fribidi}" != "no"
3808       then
3809         PKG_CHECK_MODULES(FRIBIDI, fribidi, [
3810           VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
3811           VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
3812         ])
3813       fi
3814
3815   ],[
3816   have_freetype=no
3817   AS_IF([ test "${enable_freetype}" =  "yes"],[
3818     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3819 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3820       ])
3821     ])
3822   ])
3823
3824 fi
3825
3826 dnl
3827 dnl  libxml2 module
3828 dnl
3829 PKG_ENABLE_MODULES_VLC([libxml2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])
3830
3831 dnl
3832 dnl  SVG module
3833 dnl
3834 PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
3835
3836 dnl
3837 dnl Snapshot vout module (with cache)
3838 dnl
3839 AC_ARG_ENABLE(snapshot,
3840   [  --enable-snapshot       snapshot module (default disabled)])
3841 if test "${enable_snapshot}" = "yes"
3842 then
3843   VLC_ADD_PLUGIN([snapshot])
3844 fi
3845
3846 dnl
3847 dnl  Qt Embedded module
3848 dnl  (disabled by default)
3849 dnl
3850 AC_ARG_ENABLE(qte,
3851   [  --enable-qte            QT Embedded support (default disabled)])
3852 if test "${enable_qte}" = "yes"
3853 then
3854   AC_ARG_WITH(qte,
3855   [    --with-qte=PATH       Qt Embedded headers and libraries])
3856   if test "${with_qte}" != "no" -a -n "${with_qte}"
3857   then
3858     VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3859     VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3860   else
3861     VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3862     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3863   fi
3864   VLC_ADD_PLUGIN([qte])
3865   NEED_QTE_MAIN=yes
3866   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3867   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3868     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3869   ] )
3870   CPPFLAGS="${CPPFLAGS_save}"
3871 fi
3872
3873 dnl
3874 dnl Roku HD1000 Video output module
3875 dnl
3876 AC_ARG_ENABLE(hd1000v,
3877   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3878 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3879   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3880    test "${enable_hd1000v}" = "yes"); then
3881   AC_LANG_PUSH([C++])
3882   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3883   [
3884     can_build_roku="yes"
3885   ],
3886   [
3887     can_build_roku="no"
3888     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3889   ])
3890   if test "$can_build_roku" = "yes"
3891   then
3892     VLC_ADD_PLUGIN([hd1000v])
3893     VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad])
3894   fi
3895   AC_LANG_POP([C++])
3896 fi
3897
3898 dnl
3899 dnl  Windows DirectX module
3900 dnl
3901
3902 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3903 then
3904   VLC_ADD_PLUGIN([panoramix])
3905 fi
3906
3907 AC_ARG_ENABLE(directx,
3908   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3909 if test "${enable_directx}" != "no"
3910 then
3911   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
3912   then
3913       AC_CHECK_HEADERS(ddraw.h,
3914       [ VLC_ADD_PLUGIN([directx])
3915         VLC_ADD_PLUGIN([aout_directx])
3916         VLC_ADD_LIBS([directx],[-lgdi32])
3917       ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
3918       )
3919       AC_CHECK_HEADERS(GL/gl.h,
3920       [ VLC_ADD_PLUGIN([glwin32])
3921         VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
3922       ])
3923       AC_CHECK_HEADERS(d3d9.h,
3924       [ VLC_ADD_PLUGIN([direct3d])
3925         VLC_ADD_LIBS([direct3d],[-lgdi32])
3926       ])
3927       VLC_ADD_LIBS([direct3d directx glwin32],[-lole32])
3928   fi
3929 fi
3930
3931 dnl
3932 dnl  win32 GDI plugin
3933 dnl
3934 AC_ARG_ENABLE(wingdi,
3935   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3936 if test "${enable_wingdi}" != "no"; then
3937   if test "${SYS}" = "mingw32"; then
3938     VLC_ADD_PLUGIN([wingdi])
3939     VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32])
3940   fi
3941   if test "${SYS}" = "mingwce"; then
3942     VLC_ADD_PLUGIN([wingdi])
3943     VLC_ADD_PLUGIN([wingapi])
3944     VLC_ADD_LIBS([wingdi],[-laygshell])
3945     VLC_ADD_LIBS([wingapi],[-laygshell])
3946   fi
3947 fi
3948
3949
3950 dnl
3951 dnl  Linux framebuffer module
3952 dnl
3953 AC_ARG_ENABLE(fb,
3954   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3955     if test "${enable_fb}" != "no"
3956     then
3957       AC_CHECK_HEADERS(linux/fb.h, [
3958         VLC_ADD_PLUGIN([fb])
3959       ])
3960     fi
3961
3962 dnl
3963 dnl  Linux MGA module
3964 dnl
3965 AC_ARG_ENABLE(mga,
3966   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3967   [ if test "${enable_mga}" = "yes"
3968     then
3969       VLC_ADD_PLUGIN([mga])
3970     fi ])
3971
3972 dnl
3973 dnl  OMAP Framebuffer module
3974 dnl
3975 AC_ARG_ENABLE(omapfb,
3976   [  --enable-omapfb         OMAP framebuffer support (default disabled)])
3977     if test "${enable_omapfb}" = "yes"
3978     then
3979       AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
3980         VLC_ADD_PLUGIN([omapfb])
3981         AC_CHECK_HEADERS(X11/Xlib.h, [
3982           VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
3983       ])
3984       VLC_ADD_PLUGIN([swscale_omap])
3985     fi
3986
3987 dnl
3988 dnl  SVGAlib module
3989 dnl
3990 AC_ARG_ENABLE(svgalib,
3991   [  --enable-svgalib        SVGAlib support (default disabled)])
3992 if test "${enable_svgalib}" = "yes"
3993 then
3994   VLC_ADD_PLUGIN([svgalib])
3995   VLC_ADD_LIBS([svgalib],[-lvgagl -lvga])
3996 fi
3997
3998 dnl
3999 dnl  DirectFB module
4000 dnl  try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
4001 dnl  TODO: support for static linking
4002 dnl
4003 AC_ARG_ENABLE(directfb,
4004   [  --enable-directfb       DirectFB support (default disabled)])
4005 AC_ARG_WITH(directfb,
4006   [    --with-directfb=PATH  path to DirectFB headers and libraries])
4007
4008 if test "${enable_directfb}" = "yes"; then
4009     have_directfb="false"
4010     CPPFLAGS_mydirectfb=
4011     LIBS_mydirectfb=
4012     if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
4013         dnl Trying the given location
4014         CPPFLAGS_save="${CPPFLAGS}"
4015         LIBS_save="${LIBS}"
4016
4017         CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
4018         LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
4019         LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
4020
4021         CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
4022         LIBS="${LIBS} ${LIBS_new}"
4023
4024         dnl FIXME: too obscure
4025         AC_CHECK_HEADER([directfb.h], [
4026             AC_CHECK_LIB([direct],[direct_initialize], [
4027                 AC_CHECK_LIB([fusion], [fusion_enter], [
4028                     AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
4029                 ], have_directfb="false")
4030             ], have_directfb="false")
4031         ], have_directfb="false")
4032
4033         dnl Restore flags
4034         CPPFLAGS="${CPPFLAGS_save}"
4035         LIBS="${LIBS_save}"
4036
4037         if test "${have_directfb}" = "true"; then
4038             LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
4039             CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
4040         fi
4041     else
4042         dnl Look for directfb-config
4043         AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
4044         if test "${DIRECTFB_CONFIG}" != "no"; then
4045             CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
4046             LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
4047             have_directfb="true"
4048         else
4049             dnl Trying with pkg-config
4050             PKG_CHECK_MODULES(DIRECTFB, directfb, [
4051                 CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
4052                 LIBS_mydirectfb="${DIRECTFB_LIBS}"
4053                 have_directfb="true"
4054                 ], [have_directfb="false"])
4055         fi
4056     fi
4057     if test "${have_directfb}" = "true"; then
4058         VLC_ADD_PLUGIN([directfb])
4059         VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
4060         VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
4061     else
4062         AC_MSG_ERROR([cannot find directfb headers and/or libraries ])
4063     fi
4064 fi
4065
4066
4067
4068 dnl
4069 dnl  GGI module
4070 dnl
4071 AC_ARG_ENABLE(ggi,
4072   [  --enable-ggi            GGI support (default disabled)])
4073 if test "${enable_ggi}" = "yes"
4074 then
4075   AC_CHECK_HEADER([ggi/ggi.h],[
4076     VLC_ADD_PLUGIN([ggi])
4077     VLC_ADD_LIBS([ggi],[-lggi])
4078     AC_ARG_WITH(ggi,
4079       [    --with-ggi=PATH       path to libggi],
4080       [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4081         then
4082           VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4083           VLC_ADD_LIBS([ggi],[-L${with_ggi}/lib])
4084         fi ])
4085     ],[
4086        AC_MSG_ERROR([LibGGI development files can't be found])
4087     ])
4088 fi
4089
4090 dnl
4091 dnl  AA plugin
4092 dnl
4093 AC_ARG_ENABLE(aa,
4094   [  --enable-aa             aalib output (default disabled)])
4095 if test "${enable_aa}" = "yes"
4096 then
4097   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4098   if test "${have_aa}" = "true"
4099   then
4100     VLC_ADD_PLUGIN([aa])
4101     VLC_ADD_LIBS([aa],[-laa])
4102   fi
4103 fi
4104
4105 dnl
4106 dnl  libcaca plugin
4107 dnl
4108 PKG_ENABLE_MODULES_VLC([caca], [], [caca >= 0.99.beta1], [libcaca output],[auto])
4109
4110 dnl
4111 dnl  Audio plugins
4112 dnl
4113
4114 AC_ARG_WITH(,[Audio plugins:])
4115
4116 dnl
4117 dnl  OSS /dev/dsp module (enabled by default except on win32)
4118 dnl
4119 AC_ARG_ENABLE(oss,
4120   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
4121
4122 if test "${enable_oss}" != "no" &&
4123   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4124    test "${enable_oss}" = "yes")
4125 then
4126   AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
4127     VLC_ADD_PLUGIN([oss])
4128     VLC_ADD_PLUGIN([access_oss])
4129     AC_CHECK_LIB(ossaudio,main,[VLC_ADD_LIBS([oss],[-lossaudio])])
4130   ])
4131 fi
4132
4133 dnl
4134 dnl  Pulseaudio module
4135 dnl
4136 PKG_ENABLE_MODULES_VLC([PULSE], [], [libpulse >= 0.9.11], [Pulseaudio support], [auto])
4137
4138 dnl
4139 dnl  Portaudio module
4140 dnl
4141 PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto])
4142
4143 dnl
4144 dnl  ALSA module
4145 dnl
4146 PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
4147 PKG_ENABLE_MODULES_VLC([ACCESS_ALSA], [access_alsa], [alsa >= 1.0.0], [Alsa access for linux], [auto])
4148
4149 dnl
4150 dnl  win32 waveOut plugin
4151 dnl
4152 AC_ARG_ENABLE(waveout,
4153   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
4154 if test "${enable_waveout}" != "no"; then
4155   if test "${SYS}" = "mingw32"; then
4156     VLC_ADD_PLUGIN([waveout])
4157     VLC_ADD_LIBS([waveout],[-lwinmm])
4158   fi
4159   if test "${SYS}" = "mingwce"; then
4160     VLC_ADD_PLUGIN([waveout])
4161   fi
4162 fi
4163
4164 dnl
4165 dnl  CoreAudio plugin
4166 dnl
4167 AC_ARG_ENABLE(macosx-audio,
4168   [  --enable-macosx-audio   Mac OS X audio module (default enabled on MacOS X)])
4169 if test "${enable_macosx-audio}" != "no" &&
4170   (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4171 then
4172   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
4173     [ VLC_ADD_PLUGIN([auhal])
4174       VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
4175     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4176 fi
4177
4178 dnl
4179 dnl  Roku HD1000 audio
4180 dnl
4181 AC_ARG_ENABLE(hd1000a,
4182   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
4183 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4184   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4185    test "${enable_hd1000a}" = "yes")
4186 then
4187   AC_LANG_PUSH([C++])
4188   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4189     VLC_ADD_PLUGIN([hd1000a])
4190     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LIBS([hd1000a],[-lHDMachineX225]))  ])
4191   AC_LANG_POP([C++])
4192 fi
4193
4194 dnl
4195 dnl  JACK modules
4196 dnl
4197 PKG_ENABLE_MODULES_VLC([JACK], [jack], [jack], [JACK audio I/O modules],[auto])
4198 PKG_ENABLE_MODULES_VLC([JACK], [access_jack], [jack], [JACK audio I/O modules],[auto])
4199
4200
4201 dnl
4202 dnl  CyberLink for C++ UPnP stack
4203 dnl
4204 AC_ARG_ENABLE(cyberlink,
4205   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
4206   AS_IF([test "${enable_cyberlink}" = "yes" ], [
4207   AC_ARG_WITH(cyberlink-tree,
4208     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4209
4210   dnl
4211   dnl test for --with-cyberlink-tree
4212   dnl
4213   AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4214     AC_LANG_PUSH(C++)
4215     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4216     AS_IF([test -z "${real_cyberlink_tree}"], [
4217       dnl  The given directory can't be found
4218       AC_MSG_RESULT(no)
4219       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4220     ])
4221     CPPFLAGS_save="${CPPFLAGS}"
4222     CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4223     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4224     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4225       [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4226         VLC_ADD_PLUGIN([upnp_cc])
4227       ],[
4228         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4229       ])
4230     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4231     AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4232       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4233       dnl The mere fact that we have to make such an ugly check sucks
4234       AC_MSG_CHECKING(for XML parser to link CyberLink with)
4235       LIBS_save="$LIBS"
4236       LIBS_cclink="no"
4237       for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4238         LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4239         AC_LINK_IFELSE([AC_LANG_PROGRAM([
4240 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4241 using namespace CyberLink;
4242
4243 class testclass : public SearchResponseListener, public MediaPlayer
4244 {
4245     virtual void deviceSearchResponseReceived( SSDPPacket *)
4246     {
4247     }
4248
4249     public:
4250       testclass (void)
4251       {
4252         addSearchResponseListener (this);
4253         start ();
4254       }
4255 };
4256 ],[testclass l;])],[LIBS_cclink="$l"])
4257       done
4258       LIBS="${LIBS_save}"
4259       dnl should not happen - otherwise this needs fixing - hence FAILURE
4260       AS_IF([test "${LIBS_cclink}" = "no"],
4261         [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4262       AC_MSG_RESULT([${LIBS_cclink}])
4263       VLC_ADD_LIBS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4264     ], [
4265       AC_MSG_RESULT(no)
4266       AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4267     ])
4268     CPPFLAGS="${CPPFLAGS_save}"
4269     AC_LANG_POP([C++])
4270   ])
4271 ])
4272
4273 dnl
4274 dnl UPnP Plugin (Intel SDK)
4275 dnl
4276 PKG_ENABLE_MODULES_VLC([UPNP], [upnp_intel], [libupnp], [Intel UPnp SDK],[auto])
4277
4278
4279 dnl
4280 dnl  Interface plugins
4281 dnl
4282
4283 AC_ARG_WITH(,[Interface plugins:])
4284
4285 dnl special case for BeOS
4286 if test "${SYS}" = "beos"
4287 then
4288     VLC_ADD_PLUGIN([beos])
4289 fi
4290
4291 dnl
4292 dnl Skins2 module
4293 dnl
4294 AC_ARG_ENABLE(skins2,
4295   [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
4296    enabled except on MacOSX, BeOS and WinCE)])])
4297 if test "${enable_skins2}" = "yes" ||
4298   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4299    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4300
4301   dnl test for the required libraries
4302   skins2_missing_lib="no"
4303
4304   dnl freetype
4305   if test "${have_freetype}" != "yes"; then
4306     skins2_missing_lib="yes"
4307     if test "${enable_skins2}" = "yes"; then
4308       AC_MSG_ERROR([Could not find freetype (required for skins2)])
4309     fi
4310   fi
4311
4312   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32"); then
4313     VLC_ADD_PLUGIN([skins2])
4314     ALIASES="${ALIASES} svlc"
4315     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4316     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4317     VLC_ADD_LIBS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4318
4319   else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then
4320     VLC_ADD_PLUGIN([skins2])
4321     ALIASES="${ALIASES} svlc"
4322     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
4323     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4324     VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon])
4325
4326   else if test "${skins2_missing_lib}" = "no"; then
4327     VLC_ADD_PLUGIN([skins2])
4328     ALIASES="${ALIASES} svlc"
4329     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4330     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4331     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4332     need_xid_provider="no"
4333   fi fi fi
4334 fi
4335 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes" ||
4336          (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4337           test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no")])
4338
4339 dnl
4340 dnl Hildon UI
4341 dnl
4342 AC_ARG_ENABLE(hildon,
4343   [  --enable-hildon         Hildon touchscreen UI (default disabled)])
4344 AS_IF([test "${enable_hildon}" = "yes"], [
4345   PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
4346     VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS}])
4347     VLC_ADD_LIBS([hildon],[${HILDON_LIBS}])
4348     VLC_ADD_PLUGIN([hildon])
4349     ALIASES="${ALIASES} mvlc"
4350     need_xid_provider="no"
4351   ], [
4352     AS_IF([test "${enable_hildon}" = "yes"],[
4353       AC_MSG_ERROR([Hildon libraries not found])
4354     ])
4355     enable_hildon="no"
4356   ])
4357 ])
4358 AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
4359
4360 dnl
4361 dnl QT 4
4362 dnl
4363 AC_ARG_ENABLE(qt4,
4364   [  --enable-qt4            QT 4 support (default enabled) ],, [
4365   AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
4366 ])
4367 AS_IF([test "${enable_qt4}" != "no"], [
4368   PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.4.0], [
4369     VLC_ADD_PLUGIN([qt4])
4370     ALIASES="${ALIASES} qvlc"
4371     AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "darwin"], [
4372         VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11])
4373         need_xid_provider="no"
4374     ], [
4375         VLC_ADD_LIBS([qt4],[$QT4_LIBS -lole32])
4376     ])
4377     QT4LOCALEDIR="$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/"
4378     AC_SUBST(QT4LOCALEDIR)
4379     VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"${QT4LOCALEDIR}\\\\\\\"])
4380     AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4381     AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4382     AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
4383   ], [
4384     AS_IF([test "${enable_qt4}" = "yes"],[
4385       AC_MSG_ERROR([Qt 4 library not found])
4386     ],[
4387       AC_MSG_WARN([Qt 4 library not found])
4388     ])
4389     enable_qt4="no"
4390   ])
4391 ])
4392 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
4393
4394 dnl
4395 dnl  WinCE GUI module
4396 dnl
4397 AC_ARG_ENABLE(wince,
4398   [  --enable-wince          Windows CE interface (default enabled with MinGW)])
4399 if test "${enable_wince}" != "no"; then
4400   if test "${SYS}" = "mingwce"; then
4401     VLC_ADD_PLUGIN([wince])
4402     VLC_ADD_CXXFLAGS([wince],[])
4403     VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
4404     dnl Gross hack
4405     VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4406   elif test "${SYS}" = "mingw32"; then
4407     VLC_ADD_CXXFLAGS([wince],[])
4408     VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4409     dnl Gross hack
4410     VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4411   fi
4412 fi
4413
4414 dnl
4415 dnl Simple test for skins2 dependency
4416 dnl
4417 AS_IF([test "${enable_skins2}" != "no" && test "x$enable_qt4" = "xno"], [
4418   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.])
4419 ])
4420
4421 dnl
4422 dnl  Opie QT embedded module
4423 dnl
4424 AC_ARG_ENABLE(opie,
4425   [  --enable-opie           Qt embedded interface support (default disabled)],
4426   [if test "${enable_opie}" = "yes"; then
4427      AC_ARG_WITH(qte,
4428      [    --with-qte=PATH       Qt Embedded headers and libraries])
4429      if test "${with_qte}" != "no" -a -n "${with_qte}"
4430      then
4431        VLC_ADD_LIBS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4432        VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
4433      else
4434        VLC_ADD_LIBS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4435        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4436      fi
4437      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4438      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4439        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4440      ] )
4441      CPPFLAGS="${CPPFLAGS_save}"
4442
4443      VLC_ADD_PLUGIN([opie])
4444      NEED_QTE_MAIN=yes
4445      VLC_ADD_LIBS([opie],[-lqpe ${LDFLAGS_qte}])
4446      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4447      if test "${with_qte}" != "no" -a -n "${with_qte}"
4448      then
4449        MOC=${with_qte}/bin/moc
4450      else
4451        MOC=${QTDIR}/bin/moc
4452      fi
4453    fi])
4454
4455 dnl
4456 dnl  MacOS X video output/gui modules
4457 dnl
4458 AC_ARG_ENABLE(macosx,
4459   [  --enable-macosx         MacOS X support (default enabled on MacOS X)])
4460 if test "x${enable_macosx}" = "xyes"
4461 then
4462   VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
4463   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
4464   VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
4465   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
4466   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,CoreServices])
4467   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
4468   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
4469   VLC_ADD_LDFLAGS([macosx],                           [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
4470   VLC_ADD_OBJCFLAGS([macosx],                         [-F\\\${top_srcdir}/extras/contrib/Sparkle])
4471   dnl For bug report
4472   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
4473   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,QTKit])
4474   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreAudio])
4475   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
4476   VLC_ADD_LDFLAGS([opengllayer qtcapture],            [-Wl,-framework,QuartzCore])
4477   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
4478   VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
4479
4480   VLC_ADD_PLUGIN([access_eyetv])
4481   VLC_ADD_PLUGIN([qtcapture])
4482   VLC_ADD_PLUGIN([macosx])
4483   VLC_ADD_PLUGIN([minimal_macosx])
4484   VLC_ADD_PLUGIN([opengllayer])
4485 fi
4486
4487 dnl
4488 dnl  QNX RTOS module
4489 dnl
4490 AC_ARG_ENABLE(qnx,
4491   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
4492     if test "${enable_qnx}" != "no"
4493     then
4494       AC_CHECK_HEADERS(Ph.h, [
4495         VLC_ADD_PLUGIN([qnx])
4496         VLC_ADD_LIBS([qnx],[-lasound -lph])
4497       ])
4498     fi
4499
4500 dnl
4501 dnl  ncurses module
4502 dnl
4503 AC_ARG_ENABLE(ncurses,
4504   [  --disable-ncurses       ncurses interface support (default enabled)],
4505   [if test "${enable_ncurses}" != "no"; then
4506     AC_CHECK_HEADER(ncurses.h,
4507       [AC_CHECK_LIB(ncursesw, mvprintw,
4508         [VLC_ADD_PLUGIN([ncurses])
4509         VLC_ADD_LIBS([ncurses],[-lncursesw])
4510         ALIASES="${ALIASES} nvlc"
4511         AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
4512         AC_CHECK_LIB(ncursesw, tgetent, [],
4513           AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
4514             [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4515               [AS_IF([test "x${enable_ncurses}" != "x"],
4516                 [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
4517                )])])
4518             ]
4519           )
4520         )
4521         ],
4522         [AC_CHECK_LIB( ncurses, mvprintw,
4523           [VLC_ADD_PLUGIN([ncurses])
4524           ALIASES="${ALIASES} nvlc"
4525           VLC_ADD_LIBS([ncurses],[-lncurses])
4526           AC_CHECK_LIB(ncurses, tgetent, [],
4527             [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
4528               [AS_IF([test "x${enable_ncurses}" != "x"],
4529                 [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
4530             )]
4531           )],
4532           [AS_IF([test "x${enable_ncurses}" != "x"], [
4533             AC_MSG_ERROR([libncurses not found])])]
4534         )]
4535       )]
4536     )
4537   fi]
4538 )
4539
4540 dnl
4541 dnl  XOSD plugin
4542 dnl
4543 AC_ARG_ENABLE(xosd,
4544   [  --enable-xosd           xosd interface support (default disabled)])
4545 if test "${enable_xosd}" = "yes"
4546 then
4547   AC_CHECK_HEADERS(xosd.h,
4548     AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
4549       VLC_ADD_PLUGIN([xosd])
4550       VLC_ADD_LIBS([xosd],[-lxosd])
4551     ])
4552   )
4553 fi
4554
4555 dnl
4556 dnl Framebuffer (overlay) plugin
4557 dnl
4558 AC_ARG_ENABLE(fbosd,
4559   [  --enable-fbosd          fbosd interface support (default disabled)])
4560 if test "${enable_fbosd}" = "yes"
4561 then
4562   AC_CHECK_HEADERS(linux/fb.h, [
4563     VLC_ADD_PLUGIN([fbosd])
4564  ])
4565 fi
4566
4567 dnl
4568 dnl Post-interface configuration checks
4569 dnl
4570 AS_IF([test "$need_xid_provider" = "yes"], [
4571   AC_MSG_ERROR([X11 video outputs need a window provider (Qt4, Skins2, Hildon or xcb-utils), but none were found. Please install xcb-keysyms.])
4572 ])
4573
4574 dnl
4575 dnl Visualisation plugin
4576 dnl
4577 AC_ARG_ENABLE(visual,
4578   [  --enable-visual         visualisation plugin (default enabled)])
4579 if test "${enable_visual}" != "no"
4580 then
4581     VLC_ADD_PLUGIN([visual])
4582 fi
4583
4584 dnl
4585 dnl  goom visualization plugin
4586 dnl
4587 PKG_ENABLE_MODULES_VLC([goom], [], [libgoom2], [goom visualization plugin], [auto])
4588
4589 dnl
4590 dnl libprojectM visualization plugin
4591 dnl
4592 PKG_ENABLE_MODULES_VLC([projectm], [], [libprojectM], [projectM visualization plugin], [auto])
4593
4594 dnl
4595 dnl  AtmoLight (homebrew AmbiLight)
4596 dnl
4597 AC_ARG_ENABLE(atmo,
4598 AS_HELP_STRING([--disable-atmo],[AtmoLight (homebrew Philips ambilight)
4599                 (broken, default disabled)]),, [enable_atmo="no"])
4600 AS_IF([test "${enable_atmo}" != no], [
4601   AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
4602     AC_LANG_PUSH(C++)
4603     VLC_ADD_PLUGIN([atmo])
4604     AC_LANG_POP(C++)
4605   ])
4606 ])
4607
4608 dnl
4609 dnl  Bonjour services discovery
4610 PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
4611
4612 dnl
4613 dnl  libudev services discovery
4614 PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
4615
4616 dnl
4617 dnl MTP devices services discovery
4618 PKG_ENABLE_MODULES_VLC([MTP], [], [libmtp >= 0.3.0],[MTP devices support],[auto])
4619
4620 dnl
4621 dnl  Lirc plugin
4622 dnl
4623 AC_ARG_ENABLE(lirc,
4624   [  --enable-lirc           lirc support (default disabled)])
4625 if test "${enable_lirc}" = "yes"
4626 then
4627   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4628   if test "${have_lirc}" = "true"
4629   then
4630     VLC_ADD_PLUGIN([lirc])
4631     VLC_ADD_LIBS([lirc],[-llirc_client])
4632   fi
4633 fi
4634
4635
4636 AC_ARG_WITH(,[Misc options:])
4637
4638 dnl
4639 dnl libgcrypt
4640 dnl
4641 AC_ARG_ENABLE(libgcrypt,
4642   [  --disable-libgcrypt      gcrypt support (default enabled)])
4643 AS_IF([test "${enable_libgcrypt}" != "no"], [
4644   AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
4645     libgcrypt-config --version >/dev/null || \
4646         AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
4647     AC_CHECK_LIB(gcrypt, gcry_control, [
4648       have_libgcrypt="yes"
4649       GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
4650       GCRYPT_LIBS="`libgcrypt-config --libs`"
4651     ], [
4652       AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4653     ], [`libgcrypt-config --libs`])
4654   ], [
4655     AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
4656   ], [#include <gcrypt.h>]
4657   )
4658 ])
4659
4660 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
4661   AS_IF([test "${have_libgcrypt}" = "yes"],[
4662     VLC_ADD_LIBS([rtp stream_out_rtp], [${GCRYPT_LIBS}])
4663   ])
4664 fi
4665 AC_SUBST(GCRYPT_CFLAGS)
4666 AC_SUBST(GCRYPT_LIBS)
4667 AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
4668
4669 dnl
4670 dnl TLS/SSL
4671 dnl
4672 AC_ARG_ENABLE(gnutls,
4673   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
4674
4675 AS_IF([test "${enable_gnutls}" != "no"], [
4676   PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.7.4], [
4677     VLC_ADD_PLUGIN([gnutls])
4678     VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
4679     AS_IF([test "${SYS}" = "mingw32"], [
4680       dnl pkg-config --libs gnutls omits these
4681       VLC_ADD_LIBS([gnutls], [-lz])
4682       VLC_ADD_LIBS([gnutls], [${LTLIBINTL}])
4683     ])
4684     dnl The GnuTLS plugin invokes gcry_control directly.
4685     AS_IF([test "${have_libgcrypt}" = "yes"],[
4686       VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
4687       VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
4688     ])
4689     VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS])
4690   ], [
4691     AS_IF([test "${enable_gnutls}" = "yes"], [
4692       AC_MSG_ERROR([gnutls not present or too old (version 1.7.4 required)])
4693     ])
4694   ])
4695 ])
4696
4697
4698 dnl
4699 dnl RemoteOSD plugin (VNC client as video filter)
4700 dnl
4701 AC_ARG_ENABLE(remoteosd,
4702   [  --disable-remoteosd     RemoteOSD plugin (default enabled)])
4703
4704 AS_IF([test "${enable_remoteosd}" != "no"], [
4705   AS_IF([test "${have_libgcrypt}" = "yes"],[
4706     VLC_ADD_PLUGIN([remoteosd])
4707     VLC_ADD_LIBS([remoteosd], ${GCRYPT_LIBS})
4708     VLC_ADD_CFLAGS([remoteosd], ${GCRYPT_CFLAGS})
4709   ], [
4710     AC_MSG_ERROR([libgcrypt support required for RemoteOSD plugin])
4711   ])
4712 ])
4713
4714
4715 dnl
4716 dnl RAOP plugin
4717 dnl
4718 AC_MSG_CHECKING([whether to enable RAOP plugin])
4719 AS_IF([test "${have_libgcrypt}" = "yes"], [
4720   AC_MSG_RESULT(yes)
4721   VLC_ADD_PLUGIN([stream_out_raop])
4722   VLC_ADD_LIBS([stream_out_raop], [${GCRYPT_LIBS} -lgpg-error])
4723   VLC_ADD_CFLAGS([stream_out_raop], [${GCRYPT_CFLAGS}])
4724 ], [
4725   AC_MSG_RESULT(no)
4726   AC_MSG_WARN([libgcrypt support required for RAOP plugin])
4727 ])
4728
4729
4730 dnl
4731 dnl OSSO (Maemo screen blanking) plugin
4732 dnl
4733 PKG_ENABLE_MODULES_VLC([OSSO], [], [libosso], [Maemo support], [auto])
4734
4735 AS_IF([test -f "/etc/maemo_version"], [
4736   AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
4737 ])
4738
4739
4740 dnl
4741 dnl update checking system
4742 dnl
4743 AC_ARG_ENABLE(update-check,
4744   [  --enable-update-check   update checking system (default disabled)])
4745 if test "${enable_update_check}" = "yes"
4746 then
4747   if test "${have_libgcrypt}" != "yes"
4748   then
4749     AC_MSG_ERROR([libgcrypt is required for update checking system])
4750   fi
4751   VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
4752   VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
4753   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
4754 fi
4755
4756
4757 dnl
4758 dnl  Endianness check
4759 dnl
4760 AC_C_BIGENDIAN
4761 AS_IF([test "${ac_cv_c_bigendian}" = "yes"], [
4762   DEFS_BIGENDIAN="-DWORDS_BIGENDIAN=1"
4763 ], [
4764   DEFS_BIGENDIAN=""
4765 ])
4766 AC_SUBST(DEFS_BIGENDIAN)
4767
4768 dnl
4769 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4770 dnl
4771 loader=false
4772 AC_ARG_ENABLE(loader,
4773   AS_HELP_STRING([--enable-loader],[build DLL loader for ELF i386 platforms
4774                   (default disabled)]))
4775 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4776 AS_IF([test "${enable_loader}" = "yes"],
4777   [ VLC_ADD_PLUGIN([dmo])
4778     VLC_ADD_CPPFLAGS([dmo],[-I\\\${top_srcdir}/libs/loader])
4779     VLC_ADD_LIBS([dmo],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4780     VLC_ADD_CPPFLAGS([quicktime],[-I\\\${top_srcdir}/libs/loader])
4781     VLC_ADD_LIBS([quicktime],[\\\${top_builddir}/libs/loader/libloader.la -lpthread])
4782     VLC_ADD_CPPFLAGS([realaudio],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4783     VLC_ADD_LIBS([realaudio],[\\\${top_builddir}/libs/loader/libloader.la])
4784     VLC_ADD_CPPFLAGS([realvideo],[-I\\\${top_srcdir}/libs/loader -DLOADER])
4785     VLC_ADD_LIBS([realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
4786   ])
4787
4788 AC_ARG_WITH(,[Components:])
4789
4790 dnl
4791 dnl  the VLC binary
4792 dnl
4793 AC_ARG_ENABLE(vlc,
4794   [  --enable-vlc            build the VLC media player (default enabled)])
4795 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
4796
4797 dnl
4798 dnl  Microsoft ActiveX support
4799 dnl
4800 activex=false
4801 AC_ARG_ENABLE(activex,
4802   AS_HELP_STRING([--enable-activex],[build a vlc-based ActiveX control
4803                   (default enabled on Win32)]))
4804 AC_ARG_WITH(wine-sdk-path,
4805   [    --with-wine-sdk-path=PATH path to wine sdk])
4806 if test "${enable_activex}" != "no"
4807 then
4808   if test "${SYS}" = "mingw32"
4809   then
4810     AC_CHECK_PROGS(MIDL, [midl], no)
4811     if test "${with_wine_sdk_path}" != ""
4812     then
4813        WINE_SDK_PATH=${with_wine_sdk_path}
4814        AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
4815     else
4816        WIDL=no
4817     fi
4818     AC_LANG_PUSH(C++)
4819     AC_CHECK_HEADERS(ole2.h,
4820       [AC_CHECK_HEADERS(olectl.h,
4821         [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_])
4822           VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4823           VLC_ADD_LIBS([activex],[-lole32 -loleaut32 -luuid -lshlwapi])
4824           AC_CHECK_HEADERS(objsafe.h,
4825             VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
4826             [
4827              #if HAVE_OLE2_H
4828              #   include <ole2.h>
4829              #endif
4830             ]
4831           )
4832           activex=:
4833           PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex"
4834         ],
4835         [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4836       )],
4837       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4838     )
4839     AC_LANG_POP(C++)
4840   fi
4841 fi
4842 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4843 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4844 AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
4845 AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
4846 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4847
4848 dnl
4849 dnl  Mozilla plugin
4850 dnl
4851 mozilla=false
4852 AC_ARG_ENABLE(mozilla,
4853   AS_HELP_STRING([--enable-mozilla],[build a vlc-based Firefox/Mozilla plugin
4854                   (default disabled)]))
4855 AC_ARG_WITH(mozilla-sdk-path,
4856   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
4857 AC_ARG_WITH(mozilla-pkg,
4858   [    --with-mozilla-pkg=PKG  look for PKG.pc to build the mozilla plugin.])
4859 AC_LANG_PUSH(C++)
4860 if test "${enable_mozilla}" = "yes"
4861 then
4862   AS_IF([test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"],
4863     [
4864     dnl pkg-config
4865     dnl As we want to do a loop due to the number of name possible for the .pc
4866     dnl we can't use the pkg-config macros.
4867
4868     AC_ARG_VAR([MOZILLA_CFLAGS], [C compiler flags for Mozilla, overriding pkg-config])
4869     AC_ARG_VAR([MOZILLA_LIBS], [linker flags for Mozilla, overriding pkg-config])
4870     AC_MSG_NOTICE([Checking for Mozilla])
4871     found=0
4872     if test -n "$MOZILLA_CFLAGS" -a -n "$MOZILLA_LIBS"
4873     then
4874       found=1
4875     else
4876       if test -n "$PKG_CONFIG"; then
4877         for i in "${with_mozilla_pkg}" libxul {seamonkey,iceape,xulrunner,firefox,iceweasel,mozilla}-plugin; do
4878           echo "Trying to find $i.pc files" >&5
4879           if $PKG_CONFIG --exists --print-errors "$i" 2>&5
4880           then
4881             echo "Using $i.pc files." >&5
4882             echo "Using $i.pc files." >&6
4883             found=1
4884             MOZILLA_CFLAGS=$( $PKG_CONFIG --cflags "$i" )
4885             MOZILLA_LIBS=$( $PKG_CONFIG --libs "$i" )
4886             break
4887           fi
4888         done
4889       fi
4890     fi
4891     AS_IF( [test $found = 1],[
4892         CPPFLAGS="${CPPFLAGS_save} ${MOZILLA_CFLAGS}"
4893         MOZILLA_REQUIRED_HEADERS=1
4894         AC_CHECK_HEADERS([npfunctions.h])
4895         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4896         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4897           [#if HAVE_NPAPI_H
4898            # include <npapi.h>
4899            #endif
4900           ])
4901         if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
4902             AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
4903         fi
4904         MOZILLA_REQUIRED_HEADERS=
4905         mozilla=:
4906         AS_IF([ test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"],[
4907            VLC_ADD_CPPFLAGS([mozilla],[-DXP_UNIX -DOJI])
4908            AS_IF([ test "${SYS}" != "darwin"],[
4909              PKG_CHECK_MODULES(XPM, [xpm xt],[
4910                 VLC_ADD_CPPFLAGS([mozilla],[-DMOZ_X11])
4911              ],[
4912                 AC_MSG_ERROR([Please install the libXpm and libXt development files.])
4913              ])
4914           ])
4915         ])
4916         VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS} ${XPM_CFLAGS}])
4917         VLC_ADD_LIBS([mozilla],[${MOZILLA_LIBS} ${XPM_LIBS}])
4918         VLC_ADD_PLUGIN([mozilla])
4919         PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4920         MOZILLA_CONFIG=
4921         CPPFLAGS="${CPPFLAGS_save}"
4922           ],
4923           [
4924             AC_PATH_PROGS(MOZILLA_CONFIG,
4925             [mozilla-config seamonkey-config xulrunner-config],
4926         [no])
4927             test "${MOZILLA_CONFIG}" = "no" && AC_MSG_ERROR([Please install the Mozilla development tools. mozilla-config was not found.])
4928           ]
4929         )
4930     dnl pkg-config failed but we might have found a mozilla-config
4931     AS_IF( [test ! -z "${MOZILLA_CONFIG}"],[
4932       if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
4933         LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
4934         AC_CHECK_LIB(Xt,XtStrings,
4935          [
4936            VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
4937            VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm])
4938          ],
4939          [],
4940          [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm]
4941         ])
4942         AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h]))
4943         LDFLAGS="${LDFLAGS_save}"
4944       fi
4945
4946       mozilla=:
4947       PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4948       VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin java`]])
4949       VLC_ADD_LIBS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
4950       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4951       MOZILLA_REQUIRED_HEADERS=1
4952       AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4953       AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4954       AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4955         [#if HAVE_NPAPI_H
4956          # include <npapi.h>
4957          #endif
4958         ])
4959       if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4960       then
4961         AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4962       fi
4963       MOZILLA_REQUIRED_HEADERS=
4964       CPPFLAGS="${CPPFLAGS_save}"
4965       MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
4966     ])
4967     dnl End of moz_sdk = ""
4968   ],[
4969     dnl special case for mingw32
4970     if test "${SYS}" = "mingw32"
4971     then
4972       AC_CHECK_TOOL(CYGPATH, cygpath, "")
4973       dnl latest gecko sdk does not have an xpcom directory
4974       if test -d "${with_mozilla_sdk_path}/xpcom"; then
4975           mozilla_sdk_xpcom="/xpcom"
4976       fi
4977     fi
4978
4979     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4980     CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4981     MOZILLA_REQUIRED_HEADERS=1
4982     AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
4983     AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
4984     AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
4985         [#if HAVE_NPAPI_H
4986           #include <npapi.h>
4987           #endif
4988         ])
4989     if test "${MOZILLA_REQUIRED_HEADERS}" = "0"
4990     then
4991         AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.])
4992     fi
4993     MOZILLA_REQUIRED_HEADERS=
4994     mozilla=:
4995     PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla"
4996     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])
4997     if ${need_xpcom_libs}; then
4998        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])
4999       if test "${SYS}" = "mingw32"; then
5000         dnl latest gecko sdk does not have embedstring
5001         if test -d "${real_mozilla_sdk}/embedstring/bin"
5002         then
5003           VLC_ADD_LIBS([mozilla],[-lembedstring])
5004         fi
5005       fi
5006     fi
5007     MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5008
5009     if test -n "${CYGPATH}"; then
5010       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5011     fi
5012     CPPFLAGS="${CPPFLAGS_save}"
5013  ])
5014 fi
5015 AC_LANG_POP(C++)
5016 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5017
5018 dnl Tests for Xsp
5019 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
5020   VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP])
5021   VLC_ADD_LIBS([xvmc glx],[-lXsp])
5022 ])
5023
5024 dnl
5025 dnl  test plugins
5026 dnl
5027 AC_ARG_ENABLE(testsuite,
5028   [  --enable-testsuite      build test modules (default disabled)])
5029 if test "${enable_testsuite}" = "yes"
5030 then
5031   TESTS="test1 test2 test3 test4"
5032
5033   dnl  we define those so that bootstrap sets the right linker
5034   VLC_ADD_CXXFLAGS([test2],[])
5035   VLC_ADD_OBJCFLAGS([test3],[])
5036   dnl  this one is needed until automake knows what to do
5037   VLC_ADD_LIBS([test3],[-lobjc])
5038
5039   VLC_ADD_PLUGIN([test1])
5040   VLC_ADD_PLUGIN([test2])
5041   VLC_ADD_PLUGIN([test3])
5042   VLC_ADD_PLUGIN([test4])
5043 fi
5044
5045 dnl
5046 dnl  qte_main plugin
5047 dnl
5048 if test "${NEED_QTE_MAIN}" != "no"
5049 then
5050     VLC_ADD_PLUGIN([qte_main])
5051     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5052     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5053     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5054 fi
5055
5056 dnl
5057 dnl  Plugin and builtin checks
5058 dnl
5059 plugin_support=yes
5060
5061 dnl Automagically disable plugins if there is no system support for
5062 dnl dynamically loadable files (.so, .dll, .dylib).
5063 dnl don't forget vlc-win32 still can load .dll as plugins
5064 AS_IF([test "${ac_cv_have_plugins}" = "no"], [
5065   AC_MSG_WARN([*** No plugin support! Building statically! ***])
5066   plugin_support=no
5067 ])
5068
5069 AS_IF([test "${plugin_support}" != "no"], [
5070   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
5071 ])
5072
5073 dnl
5074 dnl Pic and shared libvlc stuff
5075 dnl
5076 AS_IF([test "${SYS}" = "mingw32"], [
5077   FILE_LIBVLCCORE_DLL="!define LIBVLCCORE_DLL libvlccore.dll"
5078   FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
5079 ])
5080
5081 dnl
5082 dnl  Stuff used by the program
5083 dnl
5084 VERSION_MESSAGE="${VERSION} ${CODENAME}"
5085 COPYRIGHT_MESSAGE="VLC media player - version ${VERSION_MESSAGE} - (c) ${COPYRIGHT_YEARS} the VideoLAN team"
5086 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION_MESSAGE}", [Simple version string])
5087 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
5088 AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
5089 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5090 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5091 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5092 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5093 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5094 AC_SUBST(COPYRIGHT_MESSAGE)
5095 AC_SUBST(VERSION_MESSAGE)
5096 AC_SUBST(VERSION_MAJOR)
5097 AC_SUBST(VERSION_MINOR)
5098 AC_SUBST(VERSION_REVISION)
5099 AC_SUBST(VERSION_EXTRA)
5100 AC_SUBST(COPYRIGHT_YEARS)
5101 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
5102 if test "${build_os}" = "cygwin"
5103 then
5104     AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
5105 else
5106     AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure])
5107 fi
5108 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure])
5109 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
5110 dnl Win32 need s a numerical version_extra.
5111 case $( echo ${VERSION_EXTRA}|wc -m ) in
5112        "1") VERSION_EXTRA_RC="0";;
5113        "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
5114        *) VERSION_EXTRA_RC="99"
5115 esac
5116 AC_SUBST(VERSION_EXTRA_RC)
5117 dnl
5118 dnl  Handle substvars that use $(top_srcdir)
5119 dnl
5120 VLC_CONFIG="top_srcdir=\"\$(top_srcdir)\" top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5121 AC_SUBST(VLC_CONFIG)
5122 CPPFLAGS_save="-I\$(top_srcdir)/include -I\$(top_builddir)/include ${CPPFLAGS_save}"
5123
5124 dnl
5125 dnl  Restore *FLAGS
5126 dnl
5127 VLC_RESTORE_FLAGS
5128
5129 dnl
5130 dnl Sort the modules list
5131 dnl
5132 PLUGINS=$( (for i in `echo $PLUGINS`; do echo $i; done)|sort|xargs )
5133
5134 dnl
5135 dnl  Create the vlc-config script
5136 dnl
5137 LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}"
5138
5139 dnl
5140 dnl  Configuration is finished
5141 dnl
5142 AC_SUBST(SYS)
5143 AC_SUBST(ARCH)
5144 AC_SUBST(ALIASES)
5145 AC_SUBST(ASM)
5146 AC_SUBST(MOC)
5147 AC_SUBST(RCC)
5148 AC_SUBST(UIC)
5149 AC_SUBST(WINDRES)
5150 AC_SUBST(MOZILLA_SDK_PATH)
5151 AC_SUBST(WINE_SDK_PATH)
5152 AC_SUBST(LIBEXT)
5153 AC_SUBST(AM_CPPFLAGS)
5154 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5155 AC_SUBST(FILE_LIBVLCCORE_DLL)
5156 AC_SUBST(FILE_LIBVLC_DLL)
5157
5158 dnl Create vlc-config.in
5159 VLC_OUTPUT_VLC_CONFIG_IN
5160
5161 AC_CONFIG_FILES([
5162   extras/package/win32/vlc.win32.nsi
5163   extras/package/macosx/Info.plist
5164   extras/package/macosx/Resources/English.lproj/InfoPlist.strings
5165   extras/package/macosx/plugin/Info.plist
5166   extras/package/macosx/plugin/InstallerInfo.plist
5167   Makefile
5168   projects/activex/Makefile
5169   projects/activex/axvlc.inf
5170   doc/Makefile
5171   extras/package/ipkg/Makefile
5172   libs/loader/Makefile
5173   libs/srtp/Makefile
5174   libs/unzip/Makefile
5175   modules/Makefile
5176   projects/mozilla/Makefile
5177   m4/Makefile
5178   po/Makefile.in
5179   projects/activex/axvlc_rc.rc
5180   projects/mozilla/npvlc_rc.rc
5181   projects/mozilla/vlc.r
5182   projects/mozilla/install.js
5183   share/Makefile
5184   share/vlc_win32_rc.rc
5185   share/libvlc_win32_rc.rc
5186   compat/Makefile
5187   src/Makefile
5188   src/test/Makefile
5189   bin/Makefile
5190   test/Makefile
5191   modules/access/Makefile
5192   modules/access/bd/Makefile
5193   modules/access/bda/Makefile
5194   modules/access/dshow/Makefile
5195   modules/access/dvb/Makefile
5196   modules/access/mms/Makefile
5197   modules/access/cdda/Makefile
5198   modules/access/rtp/Makefile
5199   modules/access/rtsp/Makefile
5200   modules/access/vcd/Makefile
5201   modules/access/vcdx/Makefile
5202   modules/access/screen/Makefile
5203   modules/access/zip/Makefile
5204   modules/access_output/Makefile
5205   modules/audio_filter/Makefile
5206   modules/audio_filter/channel_mixer/Makefile
5207   modules/audio_filter/converter/Makefile
5208   modules/audio_filter/resampler/Makefile
5209   modules/audio_filter/spatializer/Makefile
5210   modules/audio_mixer/Makefile
5211   modules/audio_output/Makefile
5212   modules/codec/Makefile
5213   modules/codec/avcodec/Makefile
5214   modules/codec/cmml/Makefile
5215   modules/codec/dmo/Makefile
5216   modules/codec/shine/Makefile
5217   modules/codec/subtitles/Makefile
5218   modules/codec/spudec/Makefile
5219   modules/codec/wmafixed/Makefile
5220   modules/codec/xvmc/Makefile
5221   modules/control/Makefile
5222   modules/control/http/Makefile
5223   modules/control/globalhotkeys/Makefile
5224   modules/demux/Makefile
5225   modules/demux/asf/Makefile
5226   modules/demux/avformat/Makefile
5227   modules/demux/avi/Makefile
5228   modules/demux/mkv/Makefile
5229   modules/demux/mp4/Makefile
5230   modules/demux/mpeg/Makefile
5231   modules/demux/playlist/Makefile
5232   modules/gui/Makefile
5233   modules/gui/beos/Makefile
5234   modules/gui/macosx/Makefile
5235   modules/gui/hildon/Makefile
5236   modules/gui/minimal_macosx/Makefile
5237   modules/gui/qnx/Makefile
5238   modules/gui/qt4/Makefile
5239   modules/gui/skins2/Makefile
5240   modules/gui/wince/Makefile
5241   modules/meta_engine/Makefile
5242   modules/misc/Makefile
5243   modules/misc/dummy/Makefile
5244   modules/misc/lua/Makefile
5245   modules/misc/memcpy/Makefile
5246   modules/misc/notify/Makefile
5247   modules/misc/testsuite/Makefile
5248   modules/misc/playlist/Makefile
5249   modules/misc/osd/Makefile
5250   modules/misc/stats/Makefile
5251   modules/misc/xml/Makefile
5252   modules/mux/Makefile
5253   modules/mux/mpeg/Makefile
5254   modules/packetizer/Makefile
5255   modules/services_discovery/Makefile
5256   modules/stream_filter/Makefile
5257   modules/stream_out/Makefile
5258   modules/video_chroma/Makefile
5259   modules/video_filter/Makefile
5260   modules/video_filter/dynamicoverlay/Makefile
5261   modules/video_output/Makefile
5262   modules/video_output/msw/Makefile
5263   modules/video_output/qte/Makefile
5264   modules/video_output/x11/Makefile
5265   modules/visualization/Makefile
5266   modules/visualization/visual/Makefile
5267 ])
5268
5269 dnl Generate makefiles
5270 AC_OUTPUT
5271
5272 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5273 # not provided with the source
5274 ${SHELL} ./config.status --file=vlc-config
5275 chmod 0755 vlc-config
5276
5277 /bin/echo -n "Enabled modules: "
5278 ./vlc-config --list plugin
5279
5280 dnl Shortcut to nice compile message
5281 rm -f compile
5282 echo '#! /bin/sh' >compile
5283 echo rm -f .error\$\$ >>compile
5284 echo ERROR=0 >>compile
5285 echo export PATH=$PATH LANG=C >>compile
5286 echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
5287 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
5288 echo test -f .error\$\$ \&\& ERROR=1 >>compile
5289 echo rm -f .error\$\$ >>compile
5290 echo exit \$ERROR >>compile
5291 chmod a+x compile
5292
5293 printf "
5294 libvlc configuration
5295 --------------------
5296 version               : ${VERSION}
5297 system                : ${SYS}
5298 architecture          : ${ARCH}
5299 build flavour         : "
5300 test "${enable_debug}" = "yes" && printf "debug "
5301 test "${enable_cprof}" = "yes" && printf "cprof "
5302 test "${enable_gprof}" = "yes" && printf "gprof "
5303 test "${enable_optimizations}" = "yes" && printf "optim "
5304 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5305 echo ""
5306 if test "${enable_vlc}" != "no"; then
5307 echo "vlc aliases           :${ALIASES}"
5308 else
5309 echo "build vlc executable  : no"
5310 fi
5311 echo "plugins/bindings      :${PLUGINS_BINDINGS}
5312
5313 You can tune the compiler flags in vlc-config.
5314 To build vlc and its plugins, type \`./compile' or \`make'.
5315 "
5316 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
5317    echo ""
5318    echo "Warning: Due to a bug in ld, mmx/sse support has been"
5319    echo "         turned off."
5320    echo "         FFmpeg will be REALLY slow."
5321    echo "         VLC WILL NOT PERFORM AS EXPECTED."
5322    echo ""
5323 fi