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