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