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