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