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