No longer use ffmpeg-config which is a Debian invention. But now even etch has the .pc
[vlc.git] / configure.ac
1 dnl Autoconf settings for vlc
2
3 AC_INIT(vlc,0.9.0-svn)
4 VERSION_MAJOR="0"
5 VERSION_MINOR="9"
6 VERSION_REVISION="0"
7 VERSION_EXTRA="svn"
8
9 CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
10 CODENAME="Grishenko"
11
12 AC_PREREQ(2.59) dnl this really should be 2.59c
13 AC_CONFIG_SRCDIR(src/libvlc.c)
14 AC_CONFIG_AUX_DIR(autotools)
15 AC_CANONICAL_BUILD
16 AC_CANONICAL_HOST
17
18 AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall])
19 AM_CONFIG_HEADER(config.h)
20
21 dnl Too many people are not aware of maintainer mode:
22 dnl If you want to use it, you definitely know what you are doing, so
23 dnl you can specify "--disable-maintainer-mode". But if you want the default
24 dnl automake behavior, you've likely never heard of maintainer mode, so we
25 dnl can't expect you to enable it manually.
26
27 AS_IF([test "x${enable_maintainer_mode}" != "xno"],
28         [enable_maintainer_mode="yes"])
29 AM_MAINTAINER_MODE
30
31 dnl
32 dnl  Save *FLAGS
33 dnl
34 VLC_SAVE_FLAGS
35
36 dnl
37 dnl Check for tools
38 dnl
39 AC_PROG_CC_C99
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.])
42 AM_PROG_CC_C_O
43 AC_PROG_CXX
44 AC_PROG_CPP
45 AC_PROG_OBJC
46 _AM_DEPENDENCIES([OBJC])
47 AC_PROG_EGREP
48 AC_PROG_MAKE_SET
49 AC_PROG_INSTALL
50 AM_PROG_AS
51
52 dnl Find the right ranlib, even when cross-compiling
53 AC_CHECK_TOOL(RANLIB, ranlib, :)
54 AC_CHECK_TOOL(STRIP, strip, :)
55 AC_CHECK_TOOL(AR, ar, :)
56 AC_CHECK_TOOL(LD, ld, :)
57 AC_CHECK_TOOL(DLLTOOL, dlltool, :)
58
59 dnl Check for compiler properties
60 AC_C_CONST
61 AC_C_INLINE
62 AC_C_RESTRICT
63
64 dnl
65 dnl  Check for the contrib directory
66 dnl
67 AC_ARG_WITH(contrib,
68     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
69   if test "${with_contrib}" != "no"; then 
70     AC_MSG_CHECKING([for libs in extras/contrib])
71     topdir="`dirname $0`"
72     if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
73        topdir="`pwd`/$topdir"
74     fi
75    if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then
76       if test "${with_contrib}" = "yes"; then
77         AC_MSG_RESULT([no])
78         AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
79       else
80         AC_MSG_RESULT([no])
81         AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
82       fi
83      else
84   if test -d ${topdir}/extras/contrib/lib; then
85     AC_MSG_RESULT([yes])
86     export PATH=${topdir}/extras/contrib/bin:$PATH
87     CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88     CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89     CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90     CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91     CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92     CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93     OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94     OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95     if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
96         export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
97     else
98         export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
99     fi
100     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
101     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
102
103     if test -z $with_live555_tree; then
104        with_live555_tree=${topdir}/extras/contrib/src/live
105     fi
106     if test -z $with_goom_tree; then
107        with_goom_tree=${topdir}/extras/contrib/src/goom
108     fi
109     if test -z $with_mozilla_sdk_path; then
110        with_mozilla_sdk_path=${topdir}/extras/contrib/gecko-sdk
111     fi
112     if test -z $with_cyberlink_tree; then
113        with_cyberlink_tree=${topdir}/extras/contrib/src/clinkcc
114     fi
115     if test -z $with_libmpeg2_tree; then
116        with_libmpeg2_tree=${topdir}/extras/contrib/src/mpeg2dec
117     fi
118     if test -z $with_a52_tree; then
119        with_a52_tree=${topdir}/extras/contrib/src/a52dec
120     fi
121
122     if test ".`uname -s`" = ".Darwin"; then
123       export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
124       export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
125     elif test ".`uname -s`" = ".BeOS"; then
126       export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
127       export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
128     fi
129   else
130      AC_MSG_RESULT([no])
131   fi
132   fi
133 fi
134 dnl
135 dnl  Set default values
136 dnl
137 LDFLAGS_vlc="${LDFLAGS}"
138
139 dnl
140 dnl  Check the operating system
141 dnl
142 case "${host_os}" in
143   "")
144     SYS=unknown
145     ;;
146   linux*)
147     SYS=linux
148     ;;
149   bsdi*)
150     SYS=bsdi
151     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
152     VLC_ADD_LIBS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
153     ;;
154   *bsd*)
155     SYS="${host_os}"
156     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
157     case "${host_os}" in
158       freebsd*)
159         CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
160         CPPFLAGS="${CPPFLAGS_save}"
161         LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
162         LDFLAGS="${LDFLAGS_save}"
163         ;;
164     esac
165     ;;
166   darwin*)
167     SYS=darwin
168     CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
169     CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
170     OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}"
171     VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
172     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
173     VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c])
174     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
175     VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
176     VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
177     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
178     VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
179     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
180     AC_ARG_ENABLE(macosx-defaults,
181         [  --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)])
182     if test "x${enable_macosx_defaults}" != "xno"
183     then
184         echo ""
185         echo "Building with Mac OS X defaults:"
186         enable_faad="yes"
187         echo "  Assuming --enable-faad"
188         enable_flac="yes"
189         echo "  Assuming --enable-flac"
190         enable_theora="yes"
191         echo "  Assuming --enable-theora"
192         enable_shout="yes"
193         echo "  Assuming --enable-shout"
194         enable_cddax="yes"
195         echo "  Assuming --enable-cddax"
196         enable_vcdx="yes"
197         echo "  Assuming --enable-vcdx"
198         enable_caca="yes"
199         echo "  Assuming --enable-caca"
200         enable_goom="yes"
201         echo "  Assuming --enable-goom"
202         enable_ncurses="yes"
203         echo "  Assuming --enable-ncurses"
204         enable_twolame="yes"
205         echo "  Assuming --enable-twolame"
206         enable_realrtsp="yes"
207         echo "  Assuming --enable-realrtsp"
208
209         enable_skins2="no"
210         echo "  Assuming --disable-skins2"
211         enable_x11="no"
212         echo "  Assuming --disable-x11"
213         enable_glx="no"
214         echo "  Assuming --disable-glx"
215         enable_xvideo="no"
216         echo "  Assuming --disable-xvideo"
217     fi
218     if test ".`uname -p`" = ".i386"; then
219         dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
220         dnl without hacking it a lot, we disable mmx and sse.
221         dnl (that bug is about ld being unable to handle
222         dnl text relocation)
223         save_cflags="$CFLAGS"
224         CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
225         AC_TRY_LINK(
226             [int a;], [asm("movq _a,%mm0\n");],
227             ac_ld_does_not_support_text_reloc=no,
228             ac_ld_does_not_support_text_reloc=yes)
229         CFLAGS="$save_cflags"
230
231         if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
232             enable_mmx="no"
233             echo "  Assuming --disable-mmx (due to a bug in ld)"
234             enable_sse="no"
235             echo "  Assuming --disable-sse (due to a bug in ld)"
236             enable_ffmpeg="no"
237             echo "  Assuming --disable-ffmpeg (due to a bug in ld)"
238         fi
239     fi
240     ;;
241   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
242     AC_CHECK_TOOL(WINDRES, windres, :)
243
244     case "${host_os}" in
245       *mingw32*)
246         SYS=mingw32
247         ;;
248       *cygwin*)
249         dnl Check if we are using the mno-cygwin mode in which case we are
250         dnl actually dealing with a mingw32 compiler.
251         AC_EGREP_CPP(yes,
252             [#ifdef WIN32
253              yes
254              #endif],
255             SYS=mingw32, SYS=cygwin)
256         ;;
257       *wince* | *mingwce* | *pe*)
258         SYS=mingwce
259         ;;
260     esac
261
262     if test "${SYS}" = "mingw32"; then
263         # add ws2_32 for closesocket, select, recv
264         VLC_ADD_LIBS([libvlc],[-lws2_32 -lnetapi32 -lwinmm])
265         VLC_ADD_LDFLAGS([vlc],[-mwindows])
266         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
267         VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
268         VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler lua],[-lws2_32])
269     fi
270     if test "${SYS}" = "mingwce"; then
271         # add ws2 for closesocket, select, recv
272         VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
273         VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
274         VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
275    fi
276     ;;
277   *nto*)
278     SYS=nto
279     VLC_ADD_LIBS([x11 xvideo],[-lsocket])
280     ;;
281   solaris*)
282     SYS=solaris
283     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
284     # Perhaps it is useful other places as well? 
285     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
286     ;;
287   hpux*)
288     SYS=hpux
289     ;;
290   beos)
291     SYS=beos
292     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
293     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
294     VLC_ADD_CXXFLAGS([beos],[])
295     VLC_ADD_LIBS([vlc libvlc logger],[-lbe])
296     VLC_ADD_LIBS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame])
297     VLC_ADD_LIBS([dvdnav dvdread],[-ldl])
298     VLC_ADD_LIBS([access_file],[-lpoll])
299     LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}"
300     dnl Check for BONE
301     if test -f /boot/beos/system/lib/libbind.so; then
302         VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket])
303     else
304         VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet])
305     fi
306
307     dnl Ugly check for Zeta
308     if test -f /boot/beos/system/lib/libzeta.so; then
309         VLC_ADD_LIBS([beos],[-lzeta])
310     fi
311     ;;
312   *)
313     SYS="${host_os}"
314     ;;
315 esac
316 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
317 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
318 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
319 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
320
321 dnl
322 dnl Sadly autoconf doesn't think about testing foo.exe when ask to test 
323 dnl for program foo on win32
324
325 case "${build_os}" in
326     cygwin|msys)
327         ac_executable_extensions=".exe"
328         ;;
329     *)
330         ;;
331 esac
332
333 dnl 
334 dnl  Libtool
335 dnl  It's very bad, but our former custom system was worst
336 dnl  -- Courmisch
337 dnl
338
339 dnl override platform specific check for dependent libraries
340 dnl otherwise libtool linking of shared libraries will
341 dnl fail on anything other than pass_all.
342 AC_CACHE_VAL(lt_cv_deplibs_check_method,
343     [lt_cv_deplibs_check_method=pass_all])
344
345 AC_DISABLE_STATIC
346 AC_DISABLE_FAST_INSTALL
347 AC_LIBTOOL_DLOPEN
348 AC_LIBTOOL_WIN32_DLL
349 m4_undefine([AC_PROG_F77])
350 m4_defun([AC_PROG_F77],[])
351 AC_PROG_LIBTOOL
352
353 m4_undefine([AC_DEPLIBS_CHECK_METHOD])
354 m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
355
356 lt_cv_deplibs_check_method=pass_all
357
358
359 dnl
360 dnl  Check for Mac OS X SDK settings
361 dnl
362 AC_ARG_WITH(macosx-sdk,
363    [  --with-macosx-sdk       compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no)
364 if test "${with_macosx_sdk}" != "no" ; then
365     CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
366     CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
367     OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
368     LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
369     CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
370     CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
371     OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
372     MACOSX_DEPLOYMENT_TARGET="10.4"
373     export MACOSX_DEPLOYMENT_TARGET
374 fi
375
376 dnl
377 dnl Gettext stuff
378 dnl
379 AM_GNU_GETTEXT_VERSION(0.16.1)
380 AM_GNU_GETTEXT
381 AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
382   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
383   AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
384 ], [
385   VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
386 ])
387
388 dnl
389 dnl Iconv stuff
390 dnl
391 AS_IF([test "$am_cv_func_iconv" != "yes"],
392         [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
393 VLC_ADD_CFLAGS([libvlc],[${INCICONV}])
394 VLC_ADD_LIBS([libvlc],[${LTLIBICONV}])
395
396 dnl Check for the need to include the mingwex lib for mingw32
397 if test "${SYS}" = "mingw32"
398 then
399     AC_CHECK_LIB(mingwex,opendir,
400         AC_CHECK_LIB(mingw32,opendir,,
401             [VLC_ADD_LIBS([libvlc gtk],[-lmingwex])])
402     )
403 fi
404
405 dnl Check for fnative-struct or mms-bitfields support for mingw32
406 if test "${SYS}" = "mingw32"
407 then
408     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
409         [ac_cv_c_mms_bitfields],
410         [CFLAGS="${CFLAGS_save} -mms-bitfields"
411          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
412     if test "${ac_cv_c_mms_bitfields}" != "no"; then
413         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
414         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
415     else
416         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
417             [ac_cv_c_fnative_struct],
418             [CFLAGS="${CFLAGS_save} -fnative-struct"
419              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
420         if test "${ac_cv_c_fnative_struct}" != "no"; then
421             CFLAGS_save="${CFLAGS_save} -fnative-struct";
422             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
423         fi
424     fi
425
426     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
427 fi
428
429 dnl Check for fvtable-thunks support for mingw32
430 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
431 then
432 AC_LANG_PUSH(C++)
433     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
434         [ac_cv_cxx_fvtable_thunks],
435         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
436          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
437                         ac_cv_cxx_fvtable_thunks=no)])
438     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
439         CXXFLAGS_mingw32_special="-fvtable-thunks"
440     fi
441
442     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
443 AC_LANG_POP(C++)
444 fi
445
446 dnl Plugin compilation stuff
447
448 VLC_LIBRARY_SUFFIX
449
450 VLC_SYMBOL_PREFIX
451 AC_SUBST(SYMPREF)
452
453 dnl The -DSYS_FOO flag
454 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
455
456 dnl Check for system libs needed
457 need_libc=false
458
459 AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy)
460
461 dnl Check for usual libc functions
462 AC_CHECK_FUNCS(strdup strndup strnlen atof)
463 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
464 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
465 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
466
467 AS_IF([test "${SYS}" = "linux"], [
468   AC_CHECK_FUNCS(tee)
469 ])
470
471 dnl Check for setlocal and langinfo
472 AC_CHECK_FUNCS(setlocale)
473 AC_CHECK_HEADERS(langinfo.h)
474 AC_CHECK_FUNCS(nl_langinfo)
475
476 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
477   [AC_TRY_LINK([#include <langinfo.h>],
478     [char* cs = nl_langinfo(CODESET);],
479     ac_cv_langinfo_codeset=yes,
480     ac_cv_langinfo_codeset=no)
481   ])
482 if test ${ac_cv_langinfo_codeset} = yes; then
483   AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
484     [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
485 fi
486
487 AC_CHECK_FUNCS(connect,,[
488   AC_CHECK_LIB(socket,connect,[
489     VLC_ADD_LIBS([libvlc cdda cddax],-lsocket)
490     LIBS_socket="-lsocket"
491   ])
492 ])
493
494 AC_CHECK_FUNCS(send,,[
495   AC_CHECK_LIB(socket,send,[
496     VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket])
497   ])
498 ])
499
500 AC_CHECK_FUNCS(gethostbyname,,[
501   AC_CHECK_LIB(nsl,gethostbyname,[
502     VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
503   ],[
504     AC_CHECK_LIB(bind,gethostbyname,[
505       VLC_ADD_LIBS([access_mms],[-lbind])
506     ])
507   ])
508 ])
509
510 dnl Check for socklen_t
511 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
512   [AC_TRY_COMPILE(
513      [#include <sys/types.h>
514       #include <sys/socket.h>],
515      [socklen_t len = 42; return len;],
516      ac_cv_type_socklen_t=yes,
517      ac_cv_type_socklen_t=no)])
518 if test "${ac_cv_type_socklen_t}" != "no"; then
519   AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
520 fi
521
522 dnl Check for struct sockaddr_storage
523 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
524 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
525 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
526   [AC_TRY_COMPILE(
527     [#include <sys/types.h>
528      #if defined( UNDER_CE )
529      # include <winsock.h>
530      #elif defined( WIN32 )
531      # include <winsock2.h>
532      #else
533      # include <sys/socket.h>
534      #endif], [struct sockaddr_storage addr;],
535      ac_cv_struct_sockaddr_storage=yes,
536      ac_cv_struct_sockaddr_storage=no)])
537 AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
538   AC_DEFINE(sockaddr_storage, sockaddr)
539   AC_DEFINE(ss_family, sa_family)
540 ])
541
542 dnl getaddrinfo, getnameinfo and gai_strerror check
543 dnl  -lnsl and -lsocket are needed on Solaris;
544 dnl  we purposedly make the test fail on Windows
545 LIBS_save="${LIBS}"
546 AH_TEMPLATE(HAVE_GETADDRINFO, [Define to 1 if you have the `getaddrinfo' function.])
547 AC_SEARCH_LIBS([getaddrinfo], [nsl], [AC_DEFINE(HAVE_GETADDRINFO)],, [${LIBS_socket}])
548
549 dnl NOTE: we assume getaddrinfo will be present if getnameinfo or gai_strerro
550 dnl are
551 LIBS="${LIBS_gai}"
552 AC_CHECK_FUNCS([getnameinfo gai_strerror])
553 LIBS="${LIBS_save}"
554
555 AH_TEMPLATE(HAVE_ADDRINFO, [Define to 1 if <netdb.h> defines `struct addrinfo'.])
556 AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],,
557 [#include <sys/types.h>
558 #if defined( WIN32 ) || defined( UNDER_CE )
559 # if defined(UNDER_CE) && defined(sockaddr_storage)
560 #  undef sockaddr_storage
561 # endif
562 # include <winsock2.h>
563 # include <ws2tcpip.h>
564 #else
565 # include <netdb.h>
566 #endif])
567
568 dnl Check for va_copy
569 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
570   AC_TRY_LINK(
571     [#include <stdarg.h>],
572     [va_list ap1, ap2; va_copy(ap1,ap2);],
573     [ac_cv_c_va_copy="yes"],
574     [ac_cv_c_va_copy="no"]))
575 if test "${ac_cv_c_va_copy}" = "yes"; then
576   AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
577 fi
578 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
579   AC_TRY_LINK(
580     [#include <stdarg.h>],
581     [va_list ap1, ap2; __va_copy(ap1,ap2);],
582     [ac_cv_c___va_copy="yes"],
583     [ac_cv_c___va_copy="no"]))
584 if test "${ac_cv_c___va_copy}" = "yes"; then
585   AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
586 fi
587
588 AC_CHECK_FUNCS(inet_aton,,[
589   AC_CHECK_LIB(resolv,inet_aton,[
590     VLC_ADD_LIBS([libvlc],[-lresolv])
591   ])
592 ])
593
594 dnl Check for getopt (always use builtin one on win32)
595 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
596 need_getopt=:
597 else
598 need_getopt=false
599 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
600 [ # FreeBSD has a gnugetopt library for this:
601   AC_CHECK_LIB([gnugetopt],[getopt_long],
602     [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
603      VLC_ADD_LIBS([libvlc],[-lgnugetopt])],
604     [need_getopt=:])])
605 fi
606 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
607
608 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
609 AC_TYPE_SIGNAL
610 AC_CHECK_LIB(m,cos,[
611   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm])
612 ])
613 AC_CHECK_LIB(m,pow,[
614   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])
615 ])
616 AC_CHECK_LIB(m,sqrt,[
617   VLC_ADD_LIBS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm])
618 ])
619 AC_CHECK_LIB(m,ceil,[
620   VLC_ADD_LIBS([mosaic],[-lm])
621 ])
622 AC_CHECK_LIB(m,exp,[
623   VLC_ADD_LIBS([gaussianblur],[-lm])
624 ])
625 AC_CHECK_LIB(mx,sqrtf,[
626   VLC_ADD_LIBS([x264],[-lmx])
627 ])
628 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
629
630 dnl Check for dynamic plugins
631 ac_cv_have_plugins=no
632
633 # OS X style
634 AC_CHECK_HEADERS(mach-o/dyld.h,
635   [AC_CHECK_FUNCS(NSLinkModule,
636     [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
637      ac_cv_have_plugins=yes])])
638
639 # HP-UX style
640 if test "${ac_cv_have_plugins}" = "no"; then
641   AC_CHECK_HEADERS(dl.h)
642   ac_cv_my_have_shl_load=no
643   AC_CHECK_FUNC(shl_load,
644    [ac_cv_my_have_shl_load=yes,
645     AC_CHECK_LIB(dld, shl_load,
646      [ac_cv_my_have_shl_load=yes
647       VLC_ADD_LIBS([libvlc],[-ldld])])])
648   if test "${ac_cv_my_have_shl_load}" = "yes"; then
649     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
650     ac_cv_have_plugins=yes
651   fi
652 fi
653
654 # Whatever style
655 if test "${ac_cv_have_plugins}" = "no"; then
656   AC_CHECK_LIB(dld, dld_link,
657    [VLC_ADD_LIBS([libvlc],[-ldld])
658     AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
659     ac_cv_have_plugins=yes])
660 fi
661
662 # Win32 style
663 if test "${ac_cv_have_plugins}" = "no"; then
664   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
665     AC_CHECK_LIB(kernel32, main,
666      [VLC_ADD_LIBS([libvlc],[-lkernel32])
667       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
668       ac_cv_have_plugins=yes])
669   fi
670 fi
671
672 # WinCE style
673 if test "${ac_cv_have_plugins}" = "no"; then
674   if test "${SYS}" = "mingwce"; then
675     AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
676     ac_cv_have_plugins=yes
677   fi
678 fi
679
680 # BeOS style
681 if test "${ac_cv_have_plugins}" = "no"; then
682   AC_CHECK_HEADERS(image.h)
683   AC_CHECK_FUNCS(load_add_on,
684    [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
685     ac_cv_have_plugins=yes])
686 fi
687
688 # Only test for dlopen() if the others didn't work
689 if test "${ac_cv_have_plugins}" = "no"; then
690   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
691   ac_cv_my_have_dlopen=no
692   AC_CHECK_FUNC(dlopen,
693     ac_cv_my_have_dlopen=yes,
694     AC_CHECK_LIB(dl, dlopen,
695       ac_cv_my_have_dlopen=yes
696       VLC_ADD_LIBS([libvlc],[-ldl]),
697       AC_CHECK_LIB(svld, dlopen,
698         ac_cv_my_have_dlopen=yes
699         VLC_ADD_LIBS([libvlc],[-lsvld]))))
700   if test "${ac_cv_my_have_dlopen}" = "yes"; then
701     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
702     ac_cv_have_plugins=yes
703   fi
704 fi
705
706 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
707 dnl Check for pthreads - borrowed from XMMS
708 THREAD_LIB=error
709 if test "${THREAD_LIB}" = "error"; then
710   AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
711 fi
712 if test "${THREAD_LIB}" = "error"; then
713   AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
714 fi
715 if test "${THREAD_LIB}" = "error"; then
716   AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
717 fi
718 if test "${THREAD_LIB}" = "error"; then
719   AC_CHECK_FUNCS(pthread_mutex_lock)
720   THREAD_LIB=""
721 fi
722
723 dnl Check for cthreads under GNU/Hurd for instance
724 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
725
726 dnl
727 dnl  GNU portable threads
728 dnl
729 AC_ARG_ENABLE(pth,
730   [  --enable-pth            GNU Pth support (default disabled)],
731   [ if test "${enable_pth}" = "yes"; then
732     AC_CHECK_LIB(pth,pth_init)
733     AC_MSG_CHECKING(for pth_init in pth.h)
734     AC_EGREP_HEADER(pth_init,pth.h,[
735       AC_MSG_RESULT(yes)
736       AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
737                 Define if <pth.h> defines pth_init)
738       THREAD_LIB="-lpth"
739     ],[
740       AC_MSG_RESULT(no)
741     ])
742     fi
743 ])
744
745 dnl
746 dnl  State Threads
747 dnl
748 AC_ARG_ENABLE(st,
749   [  --enable-st             State Threads (default disabled)],
750   [ if test "${enable_st}" = "yes"; then
751     AC_CHECK_LIB(st,st_init)
752     AC_MSG_CHECKING(for st_init in st.h)
753     AC_EGREP_HEADER(st_init,st.h,[
754       AC_MSG_RESULT(yes)
755       AC_DEFINE(ST_INIT_IN_ST_H, 1,
756                 Define if <st.h> defines st_init)
757       THREAD_LIB="-lst"
758     ],[
759       AC_MSG_RESULT(yes)
760     ])
761     fi
762 ])
763
764 VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}])
765
766 dnl Don't link with rt when using GNU-pth
767 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
768   AC_CHECK_LIB(rt, clock_nanosleep, [
769     VLC_ADD_LIBS([libvlc],[-lrt])
770     AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
771   ], [
772     dnl HP/UX port
773     AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])])
774   ])
775
776   have_nanosleep=false
777   AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
778     AC_CHECK_LIB(rt,nanosleep,
779       [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:],
780       [AC_CHECK_LIB(posix4,nanosleep,
781           [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])]
782     )
783   ])
784   if ${have_nanosleep}; then
785     AC_DEFINE(HAVE_NANOSLEEP, 1,
786               Define if nanosleep is available.)
787   fi
788 fi
789
790 dnl Check for misc headers
791 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
792 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
793   AC_MSG_RESULT(yes)
794   AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
795             Define if <pthread.h> defines pthread_cond_t.)],[
796   AC_MSG_RESULT(no)])
797
798 AC_MSG_CHECKING(for pthread_once in pthread.h)
799 AC_EGREP_HEADER(pthread_once,pthread.h,[
800   AC_MSG_RESULT(yes)
801   AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
802             Define if <pthread.h> defines pthread_once.)],[
803   AC_MSG_RESULT(no)])
804 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
805
806 AC_MSG_CHECKING(for strncasecmp in strings.h)
807 AC_EGREP_HEADER(strncasecmp,strings.h,[
808   AC_MSG_RESULT(yes)
809   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
810             Define if <strings.h> defines strncasecmp.)],[
811   AC_MSG_RESULT(no)])
812
813 dnl Check for headers
814 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)
815 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
816 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h netinet/udplite.h])
817 AC_CHECK_HEADERS([net/if.h], [], [],
818   [
819     #if HAVE_SYS_SOCKET_H
820     # include <sys/socket.h>
821     #endif
822   ])
823 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
824 AC_CHECK_HEADERS(machine/param.h sys/shm.h)
825 AC_CHECK_HEADERS([linux/version.h linux/dccp.h])
826 AC_CHECK_HEADERS(syslog.h)
827 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
828
829 AC_HEADER_TIME
830
831 AC_CHECK_TYPE(ssize_t, int)
832 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
833
834 dnl Check for dirent
835 need_dirent=false
836 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
837 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
838
839 dnl Mac OS X and other OSes don't have declaration for nanosleep
840 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
841 AC_MSG_CHECKING(for nanosleep in time.h)
842 AC_EGREP_HEADER(nanosleep,time.h,[
843   AC_MSG_RESULT(yes)
844   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
845             Define if <time.h> defines nanosleep.)
846 ],[
847   AC_MSG_RESULT(no)
848 ])
849 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
850
851 dnl Make sure we have timespecs
852 AC_MSG_CHECKING(for timespec in sys/time.h)
853 AC_EGREP_HEADER(timespec,sys/time.h,[
854   AC_MSG_RESULT(yes)
855   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
856             Define if <sys/time.h> defines struct timespec.)
857 ],[
858   AC_MSG_RESULT(no)
859 ])
860
861 dnl Check for threads library
862 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
863 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
864 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
865
866 dnl Find where are the X headers and libraries
867 AC_PATH_XTRA()
868
869 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.
870
871 PKG_PROG_PKG_CONFIG()
872
873 dnl Check for hal
874 AC_ARG_ENABLE(hal,
875   [  --enable-hal            Linux HAL services discovery (default enabled)])
876  
877 if test "${enable_hal}" != "no"
878 then
879   PKG_CHECK_MODULES(HAL, hal >= 0.5.0,
880     [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API])
881       AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] )
882       VLC_ADD_PLUGINS([hal probe_hal]) 
883       VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS])
884       VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])],   
885     dnl No hal 0.5 Test for 0.2
886     [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, 
887        [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
888         VLC_ADD_PLUGINS([hal])
889         VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS])
890         VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])],
891        [AC_MSG_WARN(HAL library not found)])
892     ]
893   )
894 fi
895
896 dnl Check for dbus
897 AC_ARG_ENABLE(dbus,
898   [  --enable-dbus           Linux D-BUS message bus system (default enabled)])
899 case "${SYS}" in
900     linux*|*bsd*)
901 if test "${enable_dbus}" != "no"
902 then
903   dnl api stable dbus
904   PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
905     [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] )
906       AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
907       AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
908       AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
909       VLC_ADD_LIBS([screensaver libvlc],[$DBUS_LIBS])
910       VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS])
911       dnl Check for dbus control interface
912         AC_ARG_ENABLE(dbus-control, [  --disable-dbus-control  D-BUS control interface (default enabled)])
913         if test "${enable_dbus_control}" != "no"
914         then
915           VLC_ADD_PLUGINS([dbus])
916           VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
917           VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
918         fi
919       dnl Check for Telepathy
920         AC_ARG_ENABLE(telepathy, [  --enable-telepathy      Telepathy Presence plugin through DBus(default enabled)])
921         if test "${enable_telepathy}" != "no"; then
922           VLC_ADD_PLUGINS([telepathy])
923           VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
924           VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
925         fi
926         dnl Power Management Inhibiter
927         VLC_ADD_PLUGINS([inhibit])
928         VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
929         VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
930         ],
931     if ${PKG_CONFIG} --exists dbus-1
932     then
933       [AC_ARG_ENABLE(old-dbus,
934         [  --enable-old-dbus       Deprecated D-Bus support (default disabled)])]
935
936       if test "${enable_old_dbus}" != "yes"
937       then
938         echo ""
939         echo "****** WARNING **** WARNING ***** WARNING *************"
940         echo "*** Your D-Bus version is < 1.0.0"
941         echo "*** You are using old and buggy software and so"
942         echo "*** D-Bus support has been disabled."
943         echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org"
944         echo "*** Alternatively you can force the use of your old and"
945         echo "*** buggy D-Bus version by specifying --enable-old-dbus"
946         echo "*******************************************************"
947         echo ""
948       else
949         dnl not too old dbus
950         [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92,
951           [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] )
952             AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] )
953             AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
954             VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
955             VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
956           dnl older dbus
957           [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30,
958             [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] )
959               AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
960               VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
961               VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
962             dnl much older dbus
963             [ PKG_CHECK_MODULES( DBUS, dbus-1, 
964                [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library])
965                 VLC_ADD_LIBS([screensaver],[$DBUS_LIBS])
966                 VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])],
967                [AC_MSG_WARN(DBUS library not found)])
968             ]
969           )]
970         )]
971       fi
972     fi
973   )
974 fi
975 ;;
976 esac
977
978 dnl Build the gtk_main plugins?
979 NEED_GTK_MAIN=no
980 NEED_GNOME_MAIN=no
981 NEED_GTK2_MAIN=no
982 NEED_GNOME2_MAIN=no
983
984 dnl build the qte plugin ?
985 NEED_QTE_MAIN=no
986
987 dnl Check for ntohl, etc.
988 AC_CACHE_CHECK([for ntohl in sys/param.h],
989     [ac_cv_c_ntohl_sys_param_h],
990     [CFLAGS="${CFLAGS_save} -Wall -Werror"
991      AC_TRY_COMPILE([#include <sys/param.h>],
992         [int meuh; ntohl(meuh);],
993         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
994 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
995     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
996 fi
997 CFLAGS="${CFLAGS_save}"
998
999 RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
1000 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
1001
1002 dnl This helps detect broken plugins with undefined symbols
1003 dnl Better fail loudly at build-time than silenty at run-time.
1004 dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc)
1005 dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [
1006 dnl   VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs])
1007 dnl ])
1008
1009 dnl Check for various optimization flags
1010 AC_CACHE_CHECK([if \$CC accepts -Os],
1011     [ac_cv_c_os],
1012     [CFLAGS="${CFLAGS_save} -Os"
1013      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
1014 if test "${ac_cv_c_os}" != "no"; then
1015     CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os"
1016 else 
1017     AC_CACHE_CHECK([if \$CC accepts -O],
1018         [ac_cv_c_o],
1019         [CFLAGS="${CFLAGS_save} -O"
1020          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1021     if test "${ac_cv_c_o}" != "no"; then
1022         if test "${ac_cv_c_o3}" = "no"; then
1023             CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O"
1024         fi
1025     fi
1026 fi
1027
1028 AC_CACHE_CHECK([if \$CC accepts -O3],
1029     [ac_cv_c_o3],
1030     [CFLAGS="${CFLAGS_save} -O3"
1031      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
1032 if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then
1033     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3"
1034 else
1035     AC_CACHE_CHECK([if \$CC accepts -O2],
1036         [ac_cv_c_o2],
1037         [CFLAGS="${CFLAGS_save} -O2"
1038          AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
1039     if test "${ac_cv_c_o2}" != "no"; then
1040         CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2"
1041     else
1042         AC_CACHE_CHECK([if \$CC accepts -O],
1043             [ac_cv_c_o],
1044             [CFLAGS="${CFLAGS_save} -O"
1045              AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
1046         if test "${ac_cv_c_o}" != "no"; then
1047             CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O"
1048         fi
1049     fi
1050 fi
1051
1052 AC_CACHE_CHECK([if \$CC accepts -O0],
1053     [ac_cv_c_o0],
1054     [CFLAGS="${CFLAGS_save} -O0"
1055      AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)])
1056 if test "${ac_cv_c_o0}" != "no"; then
1057     CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0"
1058 fi
1059
1060 dnl Check for -ffast-math
1061 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
1062     [ac_cv_c_fast_math],
1063     [CFLAGS="${CFLAGS_save} -ffast-math"
1064      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
1065 if test "${ac_cv_c_fast_math}" != "no"; then
1066     CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math"
1067 fi
1068
1069 dnl Check for -funroll-loops
1070 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
1071 if test "${SYS}" != "beos"
1072 then
1073   AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
1074       [ac_cv_c_unroll_loops],
1075       [CFLAGS="${CFLAGS_save} -funroll-loops"
1076        AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
1077   if test "${ac_cv_c_unroll_loops}" != "no"; then
1078       CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops"
1079   fi
1080 fi
1081
1082 dnl Check for -fomit-frame-pointer
1083 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
1084     [ac_cv_c_omit_frame_pointer],
1085     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
1086      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
1087 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
1088     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
1089 fi
1090
1091 dnl Check for -fvisibility=hidden
1092 AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden],
1093     [ac_cv_c_visibility_hidden],
1094     [CFLAGS="${CFLAGS_save} -fvisibility=hidden"
1095      AC_TRY_COMPILE([],,ac_cv_c_visibility_hidden=yes, ac_cv_c_visibility_hidden=no)])
1096 if test "${ac_cv_c_visibility_hidden}" != "no"; then
1097     VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden])
1098 fi
1099
1100 AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"])
1101
1102 dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers)
1103 dnl AC_LANG_PUSH(C++)
1104 dnl     AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden],
1105 dnl         [ac_cv_c_visibility_inlines_hidden],
1106 dnl         [CXXFLAGS="${CXXFLAGS_save} -fvisibility-inlines-hidden"
1107 dnl          AC_TRY_COMPILE([],,ac_cv_c_visibility_inlines_hidden=yes, ac_cv_c_visibility_inlines_hidden=no)])
1108 dnl     if test "${ac_cv_c_visibility_inlines_hidden}" != "no"; then
1109 dnl         VLC_ADD_CXXFLAGS([libvlc plugin],[-fvisibility-inlines-hidden])
1110 dnl     fi
1111 dnl     CXXFLAGS="${CXXFLAGS_save}"
1112 dnl AC_LANG_POP(C++)
1113
1114 dnl Check for -mdynamic-no-pic
1115 dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
1116 dnl     [ac_cv_c_dynamic_no_pic],
1117 dnl     [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
1118 dnl      AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
1119 dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [
1120 dnl     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
1121 dnl     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
1122 dnl ])
1123
1124 dnl Check for Darwin plugin linking flags
1125 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
1126     [ac_cv_ld_darwin],
1127     [CFLAGS="${CFLAGS_save} -bundle -undefined error"
1128      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
1129 if test "${ac_cv_ld_darwin}" != "no"; then
1130     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error])
1131 fi
1132
1133 dnl Check for standard plugin linking flags
1134 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
1135 dnl AS_IF([test "${SYS}" = "beos"], [
1136 dnl   VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
1137 dnl ], [
1138 dnl   AC_CACHE_CHECK([if \$CC accepts -shared],
1139 dnl         [ac_cv_ld_plugins],
1140 dnl         [CFLAGS="${CFLAGS_save} -shared"
1141 dnl        AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
1142 dnl   AS_IF([test "${ac_cv_ld_plugins}" != "no"], [
1143 dnl     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
1144 dnl   ])
1145 dnl ])
1146
1147 dnl Check for variadic macros
1148 AC_CACHE_CHECK([for variadic cpp macros],
1149     [ac_cv_cpp_variadic_macros],
1150     [CFLAGS="${CFLAGS_save}"
1151      AC_TRY_COMPILE(
1152          [#include <stdio.h>
1153           #define a(b,c...) printf(b,##c)],
1154          [a("foo");a("%s","bar");a("%s%s","baz","quux");],
1155          ac_cv_cpp_variadic_macros=yes,
1156          ac_cv_cpp_variadic_macros=no)])
1157 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
1158     AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
1159 fi
1160
1161 dnl Checks for __attribute__(aligned()) directive
1162 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
1163     [ac_cv_c_attribute_aligned],
1164     [ac_cv_c_attribute_aligned=0
1165         CFLAGS="${CFLAGS_save} -Werror"
1166     for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
1167         AC_TRY_COMPILE([],
1168         [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
1169         [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
1170     done
1171         CFLAGS="${CFLAGS_save}"])
1172 if test "${ac_cv_c_attribute_aligned}" != "0"; then
1173     AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
1174         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
1175 fi
1176
1177 dnl Checks for __attribute__(format()) directive
1178 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
1179     [ac_cv_c_attribute_format],
1180     [ac_cv_c_attribute_format=no
1181         CFLAGS="${CFLAGS_save} -Werror"
1182         AC_TRY_COMPILE([],
1183         [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
1184         [ac_cv_c_attribute_format=yes])
1185         CFLAGS="${CFLAGS_save}"])
1186 if test "${ac_cv_c_attribute_format}" != "no"; then
1187     AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
1188 fi
1189
1190 dnl Check for __attribute__((packed))
1191 AC_CACHE_CHECK([for __attribute__((packed))],
1192   [ac_cv_c_attribute_packed],
1193   [ac_cv_c_attribute_packed=no
1194    AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
1195                     [ac_cv_c_attribute_packed=yes])])
1196 if test "${ac_cv_c_attribute_packed}" != "no"; then
1197   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
1198 fi
1199
1200 dnl Check for __attribute__((visibility()))
1201 AC_CACHE_CHECK([for __attribute__((visibility()))],
1202   [ac_cv_c_attribute_visibility],
1203   [ac_cv_c_attribute_visibility=no
1204    AC_TRY_COMPILE(, [extern __attribute__((visibility("default"))) int foo(int);],
1205                     [ac_cv_c_attribute_visibility=yes])])
1206 if test "${ac_cv_c_attribute_visibility}" != "no"; then
1207   AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, Support for __attribute__((visibility())) for exporting symbols)
1208 fi
1209
1210 dnl
1211 dnl  Check the CPU
1212 dnl
1213 case "${host_cpu}" in
1214   "")
1215     ARCH=unknown
1216     ;;
1217   *)
1218     ARCH="${host_cpu}"
1219     ;;
1220 esac
1221
1222 dnl
1223 dnl  Enable profiling
1224 dnl
1225 AC_ARG_ENABLE(gprof,
1226 [  --enable-gprof          gprof profiling (default disabled)])
1227 AC_ARG_ENABLE(cprof,
1228 [  --enable-cprof          cprof profiling (default disabled)])
1229 test "${enable_gprof}" != "yes" && enable_gprof="no"
1230 test "${enable_cprof}" != "yes" && enable_cprof="no"
1231
1232 dnl
1233 dnl  default modules
1234 dnl
1235 VLC_ADD_PLUGINS([dummy logger memcpy])
1236 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
1237 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
1238 VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving])
1239 VLC_ADD_PLUGINS([converter_fixed mono])
1240 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
1241 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
1242 VLC_ADD_PLUGINS([playlist export nsc xtag])
1243 VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
1244 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
1245 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
1246 VLC_ADD_PLUGINS([access_http access_mms access_ftp])
1247 VLC_ADD_PLUGINS([access_filter_bandwidth])
1248 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1249 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1250 VLC_ADD_PLUGINS([packetizer_vc1])
1251
1252 dnl
1253 dnl default modules that need g++
1254 dnl
1255 AC_LANG_PUSH(C++)
1256 VLC_ADD_PLUGINS([spatializer])
1257 AC_LANG_POP(C++)
1258
1259 if test "${SYS}" != "mingwce"; then
1260   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
1261   VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
1262   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
1263   VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
1264   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
1265   VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
1266   VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
1267   VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
1268 fi
1269
1270 dnl
1271 dnl Some plugins aren't useful on some platforms
1272 dnl
1273 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1274     VLC_ADD_PLUGINS([screensaver motion])
1275 elif test "${SYS}" != "mingwce"; then
1276     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
1277     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
1278 else
1279     VLC_ADD_PLUGINS([win32text])
1280 fi
1281 if test "${SYS}" = "darwin"; then
1282     VLC_ADD_PLUGINS([quartztext])
1283     VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices])
1284 fi
1285
1286 dnl
1287 dnl  Accelerated modules
1288 dnl
1289 MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
1290 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1291 MMXEXT_MODULES="memcpymmxext"
1292 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1293 THREEDNOW_MODULES="memcpy3dn"
1294 SSE_MODULES=""
1295 SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2"
1296 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1297 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1298
1299 dnl  Check for fully workin MMX intrinsics
1300 dnl  We need support for -mmmx, we need <mmintrin.h>, and we also need a
1301 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1302 AC_CACHE_CHECK([if \$CC groks MMX intrinsics],
1303     [ac_cv_c_mmx_intrinsics],
1304     [CFLAGS="${CFLAGS_save} -O -mmmx"
1305      AC_TRY_COMPILE([#include <mmintrin.h>
1306                      #include <stdint.h>
1307                      uint64_t frobzor;],
1308                     [__m64 a, b, c;
1309                      a = b = c = (__m64)frobzor;
1310                      a = _mm_slli_pi16(a, 3);
1311                      a = _mm_adds_pi16(a, b);
1312                      c = _mm_srli_pi16(c, 8);
1313                      c = _mm_slli_pi16(c, 3);
1314                      b = _mm_adds_pi16(b, c);
1315                      a = _mm_unpacklo_pi8(a, b);
1316                      frobzor = (uint64_t)a;],
1317                     [ac_cv_c_mmx_intrinsics=yes],
1318                     [ac_cv_c_mmx_intrinsics=no])])
1319 if test "${ac_cv_c_mmx_intrinsics}" != "no"; then
1320   AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.)
1321   VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx])
1322 fi
1323
1324 dnl  Check for fully workin SSE2 intrinsics
1325 dnl  We need support for -mmmx, we need <emmintrin.h>, and we also need a
1326 dnl  working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963)
1327 AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics],
1328     [ac_cv_c_sse2_intrinsics],
1329     [CFLAGS="${CFLAGS_save} -O -msse2"
1330      AC_TRY_COMPILE([#include <emmintrin.h>
1331                      #include <stdint.h>
1332                      uint64_t frobzor;],
1333                     [__m128i a, b, c;
1334                      a = b = c = _mm_set1_epi64((__m64)frobzor);
1335                      a = _mm_slli_epi16(a, 3);
1336                      a = _mm_adds_epi16(a, b);
1337                      c = _mm_srli_epi16(c, 8);
1338                      c = _mm_slli_epi16(c, 3);
1339                      b = _mm_adds_epi16(b, c);
1340                      a = _mm_unpacklo_epi8(a, b);
1341                      frobzor = (uint64_t)_mm_movepi64_pi64(a);],
1342                     [ac_cv_c_sse2_intrinsics=yes],
1343                     [ac_cv_c_sse2_intrinsics=no])])
1344 if test "${ac_cv_c_sse2_intrinsics}" != "no"; then
1345   AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.)
1346   VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2])
1347 fi
1348
1349 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1350     [ac_cv_mmx_inline],
1351     [CFLAGS="${CFLAGS_save}"
1352      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1353                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1354 if test "${ac_cv_mmx_inline}" != "no"; then
1355   AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1356   ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1357 fi
1358
1359 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1360     [ac_cv_mmxext_inline],
1361     [CFLAGS="${CFLAGS_save}"
1362      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1363                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1364 if test "${ac_cv_mmxext_inline}" != "no"; then
1365   AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1366   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1367 fi
1368
1369 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1370     [ac_cv_3dnow_inline],
1371     [CFLAGS="${CFLAGS_save}"
1372      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1373                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1374 if test "${ac_cv_3dnow_inline}" != "no"; then
1375   AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1376   ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1377 fi
1378
1379 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1380     [ac_cv_sse_inline],
1381     [CFLAGS="${CFLAGS_save}"
1382      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1383                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1384 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then
1385   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1386   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1387 fi
1388
1389 AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly],
1390     [ac_cv_sse2_inline],
1391     [CFLAGS="${CFLAGS_save}"
1392      AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));],
1393                     ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)])
1394 if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then
1395   AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.)
1396   ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}"
1397 fi
1398
1399 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1400 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1401     [ac_cv_altivec_inline],
1402     [CFLAGS="${CFLAGS_save}"
1403      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1404          ac_cv_altivec_inline=yes,
1405          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1406           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1407             [ac_cv_altivec_inline="-Wa,-m7400"],
1408             ac_cv_altivec_inline=no)
1409          ])])
1410 if test "${ac_cv_altivec_inline}" != "no"; then
1411   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1412   if test "${ac_cv_altivec_inline}" != "yes"; then
1413     VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1414     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1415     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1416     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1417     VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}])
1418   fi
1419   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1420 fi
1421
1422 dnl The AltiVec C extensions
1423 dnl
1424 dnl There are several possible cases:
1425 dnl - OS X PPC, gcc 4.x: use -mpim-altivec -force_cpusubtype_ALL, don't
1426 dnl                      need <altivec.h>
1427 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1428 dnl - Linux PPC, gcc 3.4, 4.x: need <altivec.h> which requires -maltivec
1429 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1430 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1431 dnl - Others: test should fail
1432 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1433   [ac_cv_c_altivec],
1434   [# OS X/PPC test (gcc 4.x)
1435    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
1436    AC_TRY_COMPILE([vector unsigned char foo;],
1437      [vec_ld(0, (unsigned char *)0);],
1438      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
1439      [# OS X/PPC test (gcc 3.x)
1440       CFLAGS="${CFLAGS_save} -faltivec"
1441       AC_TRY_COMPILE([vector unsigned char foo;],
1442         [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
1443         [ac_cv_c_altivec="-faltivec"],
1444         dnl Below this are the Linux tests
1445         [# Linux/PPC test (gcc 4.x)
1446          CFLAGS="${CFLAGS_save} -maltivec"
1447          AC_TRY_COMPILE([#include <altivec.h>],
1448            [vec_ld(0, (unsigned char *)0);],
1449            [ac_cv_c_altivec="-maltivec"],
1450            [# Linux/PPC test (gcc 3.3)
1451             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1452             AC_TRY_COMPILE([#include <altivec.h>],
1453               [vec_ld(0, (unsigned char *)0);],
1454               [ac_cv_c_altivec=""
1455                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1456               [# Linux/PPC test (gcc 3.3)
1457                CFLAGS="${CFLAGS_save} -fvec"
1458                AC_TRY_COMPILE([#include <altivec.h>],
1459                  [vec_ld(0, (unsigned char *)0);],
1460                  [ac_cv_c_altivec="-fvec"],
1461                  [ac_cv_c_altivec=no])
1462               ])
1463            ])
1464         ])
1465      ])
1466    CFLAGS="${CFLAGS_save}"
1467   ])
1468
1469 if test "${ac_cv_c_altivec}" != "no"; then
1470   CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
1471 fi
1472
1473 AS_IF( test "${enable_altivec}" != "no",
1474 [
1475   AC_CHECK_HEADERS(altivec.h)
1476   CPPFLAGS="${CPPFLAGS_save}"
1477   
1478   if test "${ac_cv_c_altivec}" != "no"; then
1479     AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1480     VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}])
1481     VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1482     VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1483     if test "${ac_cv_altivec_inline}" = "no"; then
1484       ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1485     fi
1486   fi
1487 ],[
1488   CPPFLAGS="${CPPFLAGS_save}"
1489 ])
1490
1491 AC_CACHE_CHECK([if linker needs -framework vecLib],
1492     [ac_cv_ld_altivec],
1493     [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib"
1494      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1495      LDFLAGS="${LDFLAGS_save}"
1496     ])
1497 if test "${ac_cv_ld_altivec}" != "no"; then
1498   VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib])
1499 fi
1500 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1501
1502 AC_ARG_WITH(,[])
1503 AC_ARG_WITH(,[Optimization options:])
1504
1505 dnl
1506 dnl  Special arch tuning
1507 dnl
1508 AC_ARG_WITH(tuning,
1509 [  --with-tuning=ARCH      enable special tuning for an architecture
1510                           (default Pentium 2 on IA-32 and G4 on PPC)])
1511 if test -n "${with_tuning}"; then
1512     if test "${with_tuning}" != "no"; then
1513         CFLAGS_TUNING="-mtune=${with_tuning}"
1514     fi
1515 else
1516     if test "${SYS}" = "darwin" -a "${host_cpu}" != "powerpc"; then
1517         CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
1518     elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
1519         CFLAGS_TUNING="-mtune=pentium2"
1520     elif test "${host_cpu}" = "x86_64"; then
1521         CFLAGS_TUNING="-mtune=athlon64"
1522     elif test "${host_cpu}" = "powerpc"; then
1523         CFLAGS_TUNING="-mtune=G4";
1524     fi
1525 fi
1526
1527 dnl NOTE: this can't be cached cleanly
1528 AS_IF([test "${CFLAGS_TUNING}"],
1529    [CFLAGS_save="${CFLAGS}"
1530     CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1531
1532     AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1533     AC_COMPILE_IFELSE([ ],
1534                       [tuning="yes"],
1535                       [CFLAGS_TUNING=""; tuning="no"
1536                        AS_IF([test "${with_tuning}"],
1537                              [AC_MSG_ERROR([requested tuning not supported])])])
1538
1539     AC_MSG_RESULT([$tuning])
1540     CFLAGS="${CFLAGS_save}"
1541 ])
1542
1543 dnl
1544 dnl  x86 accelerations
1545 dnl
1546 AC_ARG_ENABLE(mmx,
1547 [  --disable-mmx       disable MMX optimizations (default enabled on x86)],
1548 [ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
1549     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1550 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"; then
1551     ARCH="${ARCH} mmx"
1552     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1553
1554 AC_ARG_ENABLE(sse,
1555 [  --disable-sse       disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
1556 [ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
1557     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1558 [ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
1559     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1560
1561 dnl
1562 dnl  Memory usage
1563 dnl
1564 AC_ARG_ENABLE(optimize-memory,
1565 [  --enable-optimize-memory optimize memory usage over performance])
1566 if test "${enable_optimize_memory}" = "yes"; then
1567   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1568 fi
1569
1570 dnl
1571 dnl  Enable/disable optimizations
1572 dnl
1573 AC_ARG_ENABLE(optimizations,
1574 [  --disable-optimizations disable compiler optimizations (default enabled)])
1575 if test "${enable_optimizations}" != "no"; then
1576    if test "${enable_optimize_memory}" = "yes"; then
1577       enable_optimizations="size"
1578    else
1579       enable_optimizations="speed"
1580    fi
1581 fi
1582
1583 dnl
1584 dnl  AltiVec acceleration
1585 dnl
1586 AC_ARG_ENABLE(altivec,
1587 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
1588 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1589     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
1590 [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1591     VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
1592
1593 dnl
1594 dnl  Debugging mode
1595 dnl
1596 AC_ARG_ENABLE(debug,
1597 [  --enable-debug          debug mode (default disabled)])
1598 test "${enable_debug}" != "yes" && enable_debug="no"
1599 AH_TEMPLATE(NDEBUG,
1600             [Define to 1 if debug code should NOT be compiled])
1601 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
1602
1603 dnl
1604 dnl  Test coverage
1605 dnl
1606 AC_ARG_ENABLE(coverage,
1607         [  --enable-coverage       build for test coverage (default disabled)],,
1608         [enable_coverage="no"])
1609 AS_IF([test "${enable_coverage}" != "no"], [
1610         CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
1611         CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
1612         LDFLAGS="-lgcov ${LDFLAGS}"
1613         dnl ugly...
1614         CFLAGS_save="${CFLAGS}"
1615         CXXFLAGS_save="${CXXFLAGS}"
1616         LDFLAGS_save="${LDFLAGS}"
1617 ])
1618
1619 dnl
1620 dnl  Enable release-specific flags
1621 dnl
1622 AC_ARG_ENABLE(release,
1623 [  --enable-release        activate extra optimizations (default disabled)])
1624 test "${enable_release}" != "yes" && enable_release="no"
1625
1626 dnl
1627 dnl Stream output
1628 dnl
1629 AC_ARG_ENABLE(sout,
1630   [  --enable-sout           Stream output modules (default enabled)])
1631 if test "${enable_sout}" != "no"
1632 then
1633   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1634   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1635   VLC_ADD_PLUGINS([packetizer_copy])
1636
1637   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1638   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel])
1639   VLC_ADD_PLUGINS([stream_out_gather])
1640 #  VLC_ADD_PLUGINS([stream_out_transrate])
1641 #  VLC_ADD_PLUGINS([rtcp])
1642   VLC_ADD_PLUGINS([profile_parser])
1643
1644   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1645 fi
1646
1647 AC_ARG_ENABLE(switcher,
1648   [  --enable-switcher       Stream-out switcher plugin (default disabled)])
1649
1650 dnl Check for libshout
1651 AC_ARG_ENABLE(shout,
1652   [  --enable-shout          libshout output plugin (default disabled)])
1653 if test "${enable_shout}" = "yes"; then
1654   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1655     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1656      VLC_ADD_PLUGINS([access_output_shout])
1657      VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS])
1658      VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1659     [AC_MSG_WARN(libshout library not found)])
1660 fi
1661
1662 dnl Lua modules
1663 AC_ARG_ENABLE(lua,
1664   [  --enable-lua            lua playlist and metafetcher plugins (default enabled)])
1665 if test "${enable_lua}" != "no"
1666 then
1667   PKG_CHECK_MODULES(LUA, lua5.1,
1668     [ have_lua=yes ],
1669     [
1670     AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
1671     PKG_CHECK_MODULES(LUA, lua >= 5.1,
1672       [ have_lua=yes ],
1673       [ 
1674         have_lua=yes
1675         AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], 
1676           [],  
1677           [ have_lua=no ] )
1678         AC_CHECK_LIB(  lua5.1 , luaL_newstate, 
1679           [LUA_LIBS="-llua5.1"],
1680           AC_CHECK_LIB( lua51 , luaL_newstate, 
1681             [LUA_LIBS="-llua51"],
1682                   AC_CHECK_LIB( lua , luaL_newstate, 
1683                     [LUA_LIBS="-llua"],
1684               [ have_lua=no
1685                 AC_MSG_WARN([lua >= 5.1 not found!])
1686               ])
1687             )
1688           )
1689       ])
1690     ])
1691   if test "x${have_lua}" = "xyes" ;  then
1692      AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library])
1693      VLC_ADD_PLUGINS([lua])
1694      VLC_ADD_LIBS([lua],[$LUA_LIBS])
1695      VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
1696   fi
1697 fi
1698
1699 dnl
1700 dnl HTTP daemon
1701 dnl
1702 AC_ARG_ENABLE(httpd,
1703   [  --enable-httpd          HTTP daemon (default enabled)])
1704 if test "${enable_httpd}" != "no"
1705 then
1706   VLC_ADD_PLUGINS([http])
1707   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1708 fi
1709
1710 dnl
1711 dnl VideoLAN manager
1712 dnl
1713 AC_ARG_ENABLE(vlm,
1714   [  --enable-vlm            VideoLAN manager (default enabled)])
1715 if test "${enable_vlm}" != "no"
1716 then
1717   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1718 fi
1719
1720 dnl
1721 dnl Growl notification plugin
1722 dnl
1723 AC_ARG_ENABLE(growl,
1724   [  --enable-growl          growl notification plugin (default enabled)])
1725 AS_IF([test "${enable_growl}" != "no"], [
1726     VLC_ADD_PLUGINS([growl])
1727   ]
1728 )
1729
1730 dnl
1731 dnl Libnotify notification plugin
1732 dnl
1733
1734 AC_ARG_ENABLE(notify,
1735   [  --enable-notify         libnotify notification plugin (default enabled)])
1736 AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [
1737     PKG_CHECK_MODULES(NOTIFY, libnotify,
1738       [
1739         VLC_ADD_PLUGINS([notify])
1740         VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1741         VLC_ADD_LIBS(notify, [$NOTIFY_LIBS])
1742       ],[
1743         AS_IF([test "${enable_notify}" = "yes"],[
1744                AC_MSG_WARN( libnotify not found) ])
1745       ])
1746   ])
1747
1748 dnl
1749 dnl Audioscrobbler plugin
1750 dnl
1751
1752 AC_ARG_ENABLE(audioscrobbler,
1753   [  --disable-audioscrobbler Last.fm submission plugin (default enabled)])
1754 AS_IF([test "${enable_audioscrobbler}" != "no"], [
1755         VLC_ADD_PLUGINS([audioscrobbler])
1756   ])
1757
1758 dnl
1759 dnl Musicbrainz plugin
1760 dnl
1761 AC_ARG_ENABLE(musicbrainz,
1762   [  --enable-musicbrainz    MusicBrainz support (default disabled) ])
1763   AS_IF([test "${enable_musicbrainz}" = "yes"],[
1764       PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz,
1765         [ VLC_ADD_PLUGINS([musicbrainz])
1766           VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) 
1767           VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS])  ],
1768        [AC_MSG_WARN(MusicBrainz library not found)])
1769    ])
1770
1771
1772 dnl
1773 dnl Taglibplugin
1774 dnl
1775 AC_ARG_ENABLE(taglib,
1776   [  --disable-taglib Taglib support (default enabled) ])
1777   AS_IF([test "${enable_taglib}" != "no"],[
1778     PKG_CHECK_MODULES(TAGLIB, taglib,
1779       [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] )
1780         VLC_ADD_PLUGINS([taglib])
1781         VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
1782        VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ],
1783       [AC_MSG_WARN(TagLib library not found)])
1784   ])
1785
1786
1787 dnl
1788 dnl  Input plugins
1789 dnl
1790
1791 AC_ARG_WITH(,[Input plugins:])
1792
1793 dnl  live555 input
1794 dnl
1795 if test "${enable_livedotcom}" 
1796 then
1797   AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1798 fi
1799
1800 if test "${enable_livedotcom}" = "no"
1801 then
1802   enable_live555="no"
1803 fi
1804 AC_ARG_ENABLE(live555,
1805 [  --enable-live555        live555 RTSP input plugin (default enabled)])
1806 if test "${enable_live555}" != "no"; then
1807   AC_ARG_WITH(live555-tree,
1808     [    --with-live555-tree=PATH live.com tree for static linking])
1809
1810   dnl
1811   dnl test for --with-live555-tree
1812   dnl
1813   if test "${with_livedotcom_tree}" 
1814   then
1815     AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1816   with_live555_tree="${with_livedotcom_tree}"
1817   fi
1818
1819   if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1820     AC_LANG_PUSH(C++)
1821     CPPFLAGS_save="${CPPFLAGS}"
1822     CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1823     if test "${SYS}" = "solaris"; then
1824       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1825     fi
1826     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1827     AC_CHECK_HEADERS(liveMedia.hh, [
1828       VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1829       AC_CHECK_LIB(liveMedia_pic, main, [
1830         # We have -lliveMedia_pic, build plugins
1831         VLC_ADD_PLUGINS([live555])
1832         VLC_ADD_LIBS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1833       ], [
1834         AC_CHECK_LIB(liveMedia, main, [
1835           # We only have -lliveMedia, do builtins
1836           VLC_ADD_BUILTINS([live555])
1837           VLC_ADD_LIBS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1838         ])
1839       ])
1840       if test "${SYS}" = "mingw32"; then
1841         # add ws2_32 for closesocket, select, recv
1842         VLC_ADD_LIBS([live555],[-lws2_32])
1843       fi
1844     ])
1845     CPPFLAGS="${CPPFLAGS_save}"
1846     AC_LANG_POP(C++)
1847   else
1848     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1849     real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1850     if test -z "${real_live555_tree}"; then
1851       dnl  The given directory can't be found
1852       AC_MSG_RESULT(no)
1853       AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1854     fi
1855     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1856       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1857
1858       VLC_ADD_BUILTINS([live555])
1859
1860       if test "${SYS}" = "mingw32"; then
1861         # add ws2_32 for closesocket, select, recv
1862         VLC_ADD_LIBS([live555],[-lws2_32])
1863       fi
1864
1865       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1866       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1867       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1868       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1869
1870       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1871       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1872       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1873       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1874       if test "${SYS}" = "solaris"; then
1875         VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1876       fi
1877     else
1878       dnl  The given live555 wasn't built
1879         AC_MSG_RESULT(no)
1880       if test "${enable_live555}" = "yes"; then
1881         AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1882       fi        
1883     fi
1884   fi
1885 fi
1886
1887 dnl
1888 dnl  special access module for dc1394 input
1889 dnl
1890 AC_ARG_ENABLE(dc1394,
1891   [  --enable-dc1394         dc1394 access module (default disabled)])
1892 if test "${enable_dc1394}" = "yes"
1893 then
1894   AC_CHECK_HEADERS(libraw1394/raw1394.h, [
1895     AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [
1896         AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [
1897 dnl         AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [
1898               VLC_ADD_PLUGINS([dc1394])
1899               VLC_ADD_LIBS([dc1394],[-ldc1394_control -lraw1394])
1900 dnl         ],
1901 dnl         [
1902 dnl           AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1903 dnl         ])
1904       ],
1905       [
1906         AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1907       ])
1908     ],
1909     [
1910       AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1911     ])
1912   ],
1913   [
1914     AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library])
1915   ])
1916 fi
1917
1918 dnl
1919 dnl dv module: digital video module check for libraw1394
1920 dnl
1921 AC_ARG_ENABLE(dv,
1922 [  --enable-dv             dv input module (default disabled)])
1923 if test "${enable_dv}" = "yes"
1924 then
1925   AC_ARG_WITH(dv-raw1394,
1926   [    --with-dv-raw1394=PATH   libraw1394 headers and libraries])
1927   AC_ARG_WITH(dv-raw1394-tree,
1928   [    --with-dv-raw1394=PATH   libraw1394 tree for static linking])
1929
1930   if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1931   then
1932     AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1933     if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1934     then
1935       dnl  Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1936       AC_MSG_RESULT(yes)
1937       VLC_ADD_PLUGINS([access_dv])
1938       VLC_ADD_LIBS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1939       VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1940     else
1941       dnl  No libraw1394 could be found, sorry
1942       AC_MSG_RESULT(no)
1943       AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1944     fi
1945   else
1946     AC_CHECK_HEADERS(libraw1394/raw1394.h,
1947     [ VLC_ADD_PLUGINS([access_dv])
1948         VLC_ADD_LIBS([access_dv],[-lraw1394 -lavc1394])
1949     ],[
1950         if test -n "${enable_dv}"
1951         then
1952           AC_MSG_ERROR([cannot find libraw1394 headers])
1953         fi
1954     ])
1955   fi
1956
1957   dnl Check for static linking of libraw1394
1958   if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1959   then
1960     AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1961     real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1962     if test -z "${real_dv_raw1394_tree}"
1963     then
1964       dnl  The given directory can't be found
1965       AC_MSG_RESULT(no)
1966       AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1967     fi
1968     if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1969     then
1970       dnl  Use a custom libraw1394
1971       AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1972       VLC_ADD_BUILTINS([access_dv])
1973       VLC_ADD_LIBS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1974       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1975     else
1976       dnl  The given libraw1394 wasn't built
1977       AC_MSG_RESULT(no)
1978       AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1979     fi
1980   fi
1981
1982   dnl
1983   dnl Check for libavc1394
1984   dnl
1985
1986   AC_ARG_WITH(dv-avc1394,
1987   [    --with-dv-avc1394=PATH   libavc1394 headers and libraries])
1988   AC_ARG_WITH(dv-avc1394-tree,
1989   [    --with-dv-avc1394=PATH   libavc1394 tree for static linking])
1990
1991   if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1992   then
1993     AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1994     if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1995     then
1996       dnl  Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1997       AC_MSG_RESULT(yes)
1998       VLC_ADD_LIBS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1999       VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
2000     else
2001       dnl  No libavc1394 could be found, sorry
2002       AC_MSG_RESULT(no)
2003       AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
2004     fi
2005   else
2006     AC_CHECK_HEADERS(libavc1394/avc1394.h,
2007     [ VLC_ADD_LIBS([access_dv],[-lavc1394 -lrom1394 -lpthread])
2008     ],[
2009         if test -n "${enable_dv}"
2010         then
2011           AC_MSG_ERROR([cannot find libavc1394 headers])
2012         fi
2013     ])
2014   fi
2015
2016   dnl Check for static linking of libavc1394
2017   if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
2018   then
2019     AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
2020     real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
2021     if test -z "${real_dv_avc1394_tree}"
2022     then
2023       dnl  The given directory can't be found
2024       AC_MSG_RESULT(no)
2025       AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
2026     fi
2027     if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
2028     then
2029       dnl  Use a custom libavc1394
2030       AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
2031       VLC_ADD_LIBS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
2032       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
2033     else
2034       dnl  The given libavc1394 wasn't built
2035       AC_MSG_RESULT(no)
2036       AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
2037     fi
2038   fi
2039 fi
2040
2041 dnl
2042 dnl dvdread module: check for libdvdread
2043 dnl
2044 AC_ARG_ENABLE(dvdread,
2045 [  --enable-dvdread        dvdread input module (default disabled)])
2046 if test "${enable_dvdread}" != "no"
2047 then
2048   AC_ARG_WITH(dvdread,
2049   [    --with-dvdread=PATH   libdvdread headers and libraries])
2050   AC_ARG_WITH(dvdread-tree,
2051   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
2052
2053   dnl Temporary hack (yeah, sure ;)
2054   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2055       VLC_ADD_LIBS([dvdread],[-ldvdcss])
2056   fi
2057
2058   if test -z "${with_dvdread}"
2059   then
2060     if test -z "${with_dvdread_tree}"
2061     then
2062       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
2063         [ VLC_ADD_PLUGINS([dvdread])
2064           VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}])
2065         ],[
2066           if test -n "${enable_dvdread}"
2067           then
2068             AC_MSG_ERROR([cannot find libdvdread headers])
2069           fi
2070         ])
2071     else
2072       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
2073       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
2074       if test -z "${real_dvdread_tree}"
2075       then
2076         dnl  The given directory can't be found
2077         AC_MSG_RESULT(no)
2078         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
2079       fi
2080       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
2081       then
2082         dnl  Use a custom libdvdread
2083         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
2084         VLC_ADD_BUILTINS([dvdread])
2085         VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}])
2086         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
2087       else
2088         dnl  The given libdvdread wasn't built
2089         AC_MSG_RESULT(no)
2090         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
2091       fi
2092     fi
2093   else
2094     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
2095     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
2096     then
2097       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
2098       AC_MSG_RESULT(yes)
2099       VLC_ADD_PLUGINS([dvdread])
2100       VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}])
2101       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
2102     else
2103       dnl  No libdvdread could be found, sorry
2104       AC_MSG_RESULT(no)
2105       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
2106     fi
2107   fi
2108 fi
2109
2110 dnl
2111 dnl  libdvdnav plugin
2112 dnl
2113 AC_ARG_ENABLE(dvdnav,
2114   [  --enable-dvdnav         dvdnav input module (default enabled)])
2115 if test "${enable_dvdnav}" != "no"
2116 then
2117   dnl Same hack than dvdread
2118   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
2119       VLC_ADD_LIBS([dvdnav],[-ldvdcss])
2120   fi
2121
2122   DVDNAV_PATH="${PATH}"
2123   AC_ARG_WITH(dvdnav-config-path,
2124     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
2125     [ if test "${with_dvdnav_config_path}" != "no"
2126       then
2127         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
2128       fi ])
2129   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
2130   if test "${DVDNAV_CONFIG}" != "no"
2131   then
2132     VLC_ADD_PLUGINS([dvdnav])
2133     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
2134     VLC_ADD_LIBS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
2135   fi
2136 fi
2137
2138 dnl
2139 dnl  Windows DirectShow access module
2140 dnl
2141 AC_ARG_ENABLE(dshow,
2142   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
2143 if test "${enable_dshow}" != "no"
2144 then
2145   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2146   then
2147     AC_LANG_PUSH(C++)
2148       AC_CHECK_HEADERS(dshow.h,
2149       [ VLC_ADD_PLUGINS([dshow])
2150         VLC_ADD_CXXFLAGS([dshow],[])
2151         VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ])
2152     AC_LANG_POP(C++)
2153   fi
2154 fi
2155
2156 dnl
2157 dnl  Windows DirectShow BDA access module
2158 dnl
2159 AC_ARG_ENABLE(bda,
2160   [  --enable-bda            Win32 DirectShow BDA support (default enabled on Win32)])
2161 if test "${enable_bda}" != "no"
2162 then
2163   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2164   then
2165       AC_CHECK_HEADERS(dshow.h,
2166       [ VLC_ADD_PLUGINS([bda])
2167         VLC_ADD_CXXFLAGS([bda],[])
2168         VLC_ADD_LIBS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ])
2169   fi
2170 fi
2171
2172
2173 dnl
2174 dnl  OpenCV wrapper and example filters
2175 dnl
2176 AC_ARG_ENABLE(opencv,
2177   [  --enable-opencv         OpenCV (computer vision) filter (default disabled)])
2178 if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
2179 then
2180   AC_ARG_WITH(opencv-tree,
2181   [    --with-opencv-tree=PATH opencv tree for linking])
2182   if test -n "${with_opencv_tree}"
2183   then
2184     if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
2185     then
2186           AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
2187           if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
2188             -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
2189       then
2190         AC_MSG_RESULT(yes)
2191         VLC_ADD_PLUGINS([opencv_wrapper])
2192         VLC_ADD_LIBS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2193         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])
2194         AC_LANG_PUSH(C++)
2195         VLC_ADD_PLUGINS([opencv_example])
2196         VLC_ADD_LIBS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
2197         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])
2198         AC_LANG_POP(C++)        
2199           else
2200         dnl  No opencv could be found, sorry
2201         AC_MSG_RESULT(no)
2202         AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
2203           fi
2204     else
2205           AC_MSG_WARN([--enable-opencv currently only works on windows])
2206     fi
2207   fi  
2208 fi
2209
2210
2211 dnl
2212 dnl  libsmbclient plugin
2213 dnl
2214 AC_ARG_ENABLE(smb,
2215   [  --enable-smb            smb input module (default enabled)])
2216 if test "${enable_smb}" != "no"; then
2217   AC_CHECK_HEADERS(libsmbclient.h,
2218     [ VLC_ADD_PLUGINS([access_smb])
2219       VLC_ADD_LIBS([access_smb],[-lsmbclient]) ],
2220     [ if test -n "${enable_smb}"; then
2221         AC_MSG_ERROR([cannot find libsmbclient headers])
2222      fi ])
2223   AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
2224     AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
2225     [#include <libsmbclient.h>])
2226 fi
2227
2228 dnl
2229 dnl  libdvbpsi ts demux/mux
2230 dnl
2231 AC_ARG_ENABLE(dvbpsi,
2232   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
2233 if test "${enable_dvbpsi}" != "no"
2234 then
2235   AC_ARG_WITH(dvbpsi,
2236   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
2237   AC_ARG_WITH(dvbpsi,
2238   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
2239   case "${with_dvbpsi}" in
2240   ""|yes)
2241     if test -z "${with_dvbpsi_tree}"
2242     then
2243       AC_CHECK_HEADERS(dvbpsi/dr.h,
2244         [ VLC_ADD_PLUGINS([ts])
2245           if test "${enable_sout}" != "no"; then
2246             VLC_ADD_PLUGINS([mux_ts])
2247           fi
2248           VLC_ADD_LIBS([mux_ts ts dvb],[-ldvbpsi]) ],
2249         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
2250         [#if defined( HAVE_STDINT_H )
2251 #   include <stdint.h>
2252 #elif defined( HAVE_INTTYPES_H )
2253 #   include <inttypes.h>
2254 #endif
2255 #include <dvbpsi/dvbpsi.h>
2256 #include <dvbpsi/descriptor.h>
2257 #include <dvbpsi/pat.h>
2258 #include <dvbpsi/pmt.h>])
2259     else
2260       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
2261       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
2262       if test -z "${real_dvbpsi_tree}"
2263       then
2264         dnl  The given directory can't be found
2265         AC_MSG_RESULT(no)
2266         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
2267       fi
2268       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
2269       then
2270         dnl  Use a custom libdvbpsi
2271         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
2272         VLC_ADD_BUILTINS([ts])
2273         if test "${enable_sout}" != "no"; then
2274           VLC_ADD_BUILTINS([mux_ts])
2275         fi
2276         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
2277         VLC_ADD_LIBS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
2278       else
2279         dnl  The given libdvbpsi wasn't built
2280         AC_MSG_RESULT(no)
2281         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
2282       fi
2283     fi
2284   ;;
2285   no)
2286     dnl  Compile without dvbpsi
2287   ;;
2288   *)
2289     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
2290     if test -z "${with_dvbpsi}"
2291     then
2292       LDFLAGS_test=""
2293       CPPFLAGS_test=""
2294     else
2295       LDFLAGS_test="-L${with_dvbpsi}/lib"
2296       CPPFLAGS_test="-I${with_dvbpsi}/include"
2297     fi
2298     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
2299     AC_CHECK_HEADERS([dvbpsi/dr.h],[
2300       VLC_ADD_PLUGINS([ts])
2301       if test "${enable_sout}" != "no"; then
2302         VLC_ADD_PLUGINS([mux_ts])
2303       fi
2304       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
2305       VLC_ADD_LIBS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
2306
2307     ],[
2308       if test -n "${enable_dvbpsi}"
2309       then
2310         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])
2311       fi
2312     ])
2313     CPPFLAGS="${CPPFLAGS_save}"
2314   ;;
2315   esac
2316   AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
2317     AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
2318   ], [], [${LIBS_ts}])
2319
2320 fi
2321
2322 dnl
2323 dnl  Video4Linux plugin
2324 dnl
2325 AC_ARG_ENABLE(v4l,
2326   [  --enable-v4l            Video4Linux input support (default disabled)])
2327 if test "${enable_v4l}" = "yes"
2328 then
2329   AC_ARG_WITH(v4l,
2330     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
2331   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
2332   then
2333     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
2334   fi
2335
2336   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
2337   AC_CHECK_HEADERS(linux/videodev.h, [
2338     VLC_ADD_PLUGINS([v4l])
2339   ],[])
2340   CPPFLAGS="${CPPFLAGS_save}"
2341 fi
2342
2343 dnl
2344 dnl  Video4Linux plugin
2345 dnl
2346 AC_ARG_ENABLE(v4l2,
2347   [  --enable-v4l2           Video4Linux2 input support (default disabled)])
2348 if test "${enable_v4l2}" = "yes"
2349 then
2350   AC_ARG_WITH(v4l2,
2351     [    --with-v4l2=PATH       path to a v4l2-enabled kernel tree],[],[])
2352   if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2353   then
2354     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2355   fi
2356
2357   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2358   AC_CHECK_HEADERS(linux/videodev2.h, [
2359     VLC_ADD_PLUGINS([v4l2])
2360   ],[])
2361   CPPFLAGS="${CPPFLAGS_save}"
2362 fi
2363
2364
2365 dnl
2366 dnl  special access module for Hauppauge PVR cards
2367 dnl
2368 AC_ARG_ENABLE(pvr,
2369   [  --enable-pvr            PVR cards access module (default disabled)])
2370 if test "${enable_pvr}" = "yes"
2371 then
2372   VLC_ADD_PLUGINS([pvr])
2373   AC_ARG_WITH(videodev2,
2374     [  --with-videodev2=FILE   Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[])
2375   if test "${with_videodev2}" != "no" -a -n "${with_videodev2}"
2376   then
2377     AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h])
2378   fi
2379     
2380
2381   AC_CACHE_CHECK([for new linux/videodev2.h],
2382       [new_linux_videodev2_h],
2383       [AC_TRY_COMPILE([
2384           #include <sys/types.h>
2385           #   ifdef VIDEODEV2_H_FILE
2386           #   include VIDEODEV2_H_FILE
2387           #   else
2388           #   include <linux/videodev2.h>
2389           #   endif
2390           ],
2391           [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ],
2392           new_linux_videodev2_h=yes,
2393           new_linux_videodev2_h=no)])
2394   if test "${new_linux_videodev2_h}" != "no"; then
2395     AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present])
2396   fi
2397 fi
2398
2399 dnl
2400 dnl  gnomeVFS access module
2401 dnl
2402 AC_ARG_ENABLE(gnomevfs,
2403   [  --enable-gnomevfs       GnomeVFS access module (default disabled)])
2404 if test "${enable_gnomevfs}" = "yes" 
2405 then
2406   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2407     VLC_ADD_LIBS([access_gnomevfs],[$GNOMEVFS_LIBS])
2408     VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2409     VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2410     VLC_ADD_PLUGINS([access_gnomevfs]),
2411     AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2412 fi
2413
2414 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2415 AC_ARG_ENABLE(libcdio,
2416   [  --enable-libcdio        CD input and control library support (default enabled)])
2417
2418
2419 have_libcdio=no
2420 have_libvcdinfo=no
2421 if test "${enable_libcdio}" != "no"
2422 then
2423   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2,
2424      have_libcdio=yes
2425      AC_DEFINE(HAVE_LIBCDIO, [], 
2426      [Define if you have libcdio 0.78.2 or greater installed]),
2427      [AC_MSG_WARN(CD Reading and information library not found)])
2428
2429   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
2430      [have_libvcdinfo=yes
2431      AC_DEFINE(HAVE_VCDINFO, [], 
2432      [Define if you have libvcdinfo 0.7.22 or greater installed])],
2433      [AC_MSG_WARN(VCD information library not found)])
2434 fi
2435
2436 dnl
2437 dnl  VCDX and CDDAX modules
2438 dnl
2439 AC_ARG_ENABLE(cddax,
2440   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2441  
2442 AC_ARG_ENABLE(libcddb,
2443   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
2444  
2445 if test "${enable_cddax}" = "yes"
2446 then
2447   if test "$have_libcdio" = "yes"
2448   then
2449     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2450     VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS])
2451     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2452     VLC_ADD_PLUGINS([cddax])
2453     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2454     VLC_ADD_LIBS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2455     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2456   else 
2457     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2458     HAVE_CDDAX=no
2459   fi
2460
2461   if test "$enable_libcddb" != "no"; then
2462     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2463       HAVE_LIBCDDB=yes 
2464       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2465       VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS])
2466       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2467       ],
2468       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
2469       HAVE_LIBCDDB=no])
2470   fi
2471  
2472 fi
2473
2474 AC_ARG_ENABLE(vcdx,
2475   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
2476  
2477 if test "${enable_vcdx}" = "yes"
2478 then
2479   if test "${have_libvcdinfo}" = "yes"
2480   then
2481     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2482     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2483   else 
2484     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2485     HAVE_VCDX=no
2486   fi
2487
2488   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2489    [VLC_ADD_LIBS([vcdx],[$LIBISO9660_LIBS])
2490     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2491     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2492     HAVE_VCDX=no])
2493
2494   if test "$have_libvcdinfo" = "yes"
2495   then
2496     AC_DEFINE(HAVE_VCDX, [], 
2497     [Define for the VCD plugin using libcdio/libvcdinfo])
2498     VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS])
2499     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2500     VLC_ADD_PLUGINS([vcdx])
2501   else 
2502     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2503     HAVE_VCDX=no
2504   fi
2505 fi
2506
2507 dnl
2508 dnl  Built-in CD-DA and VCD module
2509 dnl
2510 AC_ARG_ENABLE(cdda,           
2511   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
2512  
2513 AC_ARG_ENABLE(vcd,
2514   [  --enable-vcd            built-in VCD (default enabled)])
2515
2516 if test "${enable_vcd}" != "no"
2517 then
2518   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2519   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2520     AC_MSG_RESULT(yes)
2521     VLC_ADD_PLUGINS([vcd cdda])
2522   ],[
2523     AC_MSG_RESULT(no)
2524   ])
2525
2526   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2527   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2528     AC_MSG_RESULT(yes)
2529     VLC_ADD_PLUGINS([vcd cdda])
2530     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2531   ],[
2532     AC_MSG_RESULT(no)
2533   ])
2534
2535   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2536   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2537     AC_MSG_RESULT(yes)
2538     VLC_ADD_PLUGINS([vcd cdda])
2539     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2540   ],[
2541     AC_MSG_RESULT(no)
2542   ])
2543
2544   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2545   then
2546     VLC_ADD_PLUGINS([vcd cdda])
2547   fi
2548
2549   if test "${SYS}" = "darwin"
2550   then
2551     VLC_ADD_PLUGINS([vcd cdda])
2552     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation])
2553     VLC_ADD_LIBS([vcdx cddax cdda],[-liconv])
2554   fi
2555
2556   if test "$enable_libcddb" != "no"; then
2557     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2558       HAVE_LIBCDDB=yes 
2559       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2560       VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS])
2561       VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2562       ],:
2563       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
2564       HAVE_LIBCDDB=no])
2565   fi
2566 fi
2567
2568 dnl
2569 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2570 dnl
2571 AC_ARG_ENABLE(dvb,
2572   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
2573
2574 if test "${enable_dvb}" = "yes"
2575 then
2576   AC_ARG_WITH(dvb,
2577   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
2578   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2579   then
2580     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2581   fi
2582   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2583   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2584     if test -z "${with_dvbpsi_tree}"
2585     then
2586       VLC_ADD_PLUGINS([dvb])
2587     else
2588       VLC_ADD_BUILTINS([dvb])
2589     fi
2590   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2591   CPPFLAGS="${CPPFLAGS_save}"
2592 fi
2593
2594 dnl
2595 dnl  Screen capture module
2596 dnl
2597 AC_ARG_ENABLE(screen,
2598   [  --enable-screen         Screen capture support (default enabled)])
2599 if test "${enable_screen}" != "no"; then
2600   if test "${SYS}" = "darwin"; then
2601     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2602       VLC_ADD_PLUGINS([screen])
2603       VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
2604     ])
2605   elif test "${SYS}" = "mingw32"; then
2606     VLC_ADD_PLUGINS([screen])
2607     VLC_ADD_LIBS([screen],[-lgdi32])
2608   elif test "${SYS}" = "mingwce"; then
2609     CPPFLAGS="${CPPFLAGS_save}"
2610   elif test "${SYS}" = "beos"; then
2611     VLC_ADD_PLUGINS([screen])
2612     VLC_ADD_CXXFLAGS([screen],[])
2613     VLC_ADD_LIBS([screen],[-lbe])
2614   else
2615     CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2616     AC_CHECK_HEADERS(X11/Xlib.h, [
2617       VLC_ADD_PLUGINS([screen])
2618       VLC_ADD_LIBS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11])
2619       VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2620     ])
2621     CPPFLAGS="${CPPFLAGS_save}"
2622   fi
2623 fi
2624
2625 dnl
2626 dnl  ipv6 plugin - not for QNX yet
2627 dnl
2628 have_ipv6=no
2629 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2630   AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2631 ])
2632
2633 AS_IF([test "${have_ipv6}" = "yes"], [
2634   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2635
2636
2637 AC_CHECK_FUNCS(inet_ntop,[
2638   AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have inet_ntop().])])
2639
2640
2641 dnl
2642 dnl  ogg demux plugin
2643 dnl
2644 AC_ARG_ENABLE(ogg,
2645   [  --enable-ogg            Ogg demux support (default enabled)])
2646 if test "${enable_ogg}" != "no"
2647 then
2648   AC_ARG_WITH(ogg-tree,
2649   [    --with-ogg-tree=PATH  ogg tree for static linking])
2650   if test -n "${with_ogg_tree}"
2651   then
2652     AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2653     real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2654     if test -z "${real_ogg_tree}"
2655     then
2656       dnl  The given directory can't be found
2657       AC_MSG_RESULT(no)
2658       AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2659     fi
2660     if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2661     then
2662       dnl  Use a custom ogg
2663       AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2664       VLC_ADD_PLUGINS([ogg])
2665       if test "${enable_sout}" != "no"; then
2666         VLC_ADD_PLUGINS([mux_ogg])
2667       fi
2668       VLC_ADD_LIBS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2669       VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2670     else
2671       dnl  The given ogg wasn't built
2672       AC_MSG_RESULT(no)
2673       AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2674     fi
2675   else
2676     AC_CHECK_HEADERS(ogg/ogg.h, [
2677       AC_CHECK_LIB( ogg, oggpack_read, [
2678         VLC_ADD_PLUGINS([ogg])
2679         if test "${enable_sout}" != "no"; then
2680           VLC_ADD_PLUGINS([mux_ogg])
2681         fi
2682         VLC_ADD_LIBS([ogg mux_ogg],[-logg])])
2683      ],[])
2684   fi
2685 fi
2686
2687 dnl
2688 dnl  matroska demux plugin
2689 dnl
2690 AC_ARG_ENABLE(mkv,
2691   [  --enable-mkv            Matroska demux support (default enabled)])
2692 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2693   AC_LANG_PUSH(C++)
2694   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2695     AC_MSG_CHECKING(for libebml version >= 0.7.6)
2696     AC_EGREP_CPP(yes,
2697       [#include <ebml/EbmlVersion.h>
2698        #ifdef LIBEBML_VERSION
2699        #if LIBEBML_VERSION >= 0x000706
2700        yes
2701        #endif
2702        #endif],
2703       [AC_MSG_RESULT([yes])
2704         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2705           AC_MSG_CHECKING(for libmatroska version >= 0.7.7)
2706           AC_EGREP_CPP(yes,
2707             [#include <matroska/KaxVersion.h>
2708              #ifdef LIBMATROSKA_VERSION
2709              #if LIBMATROSKA_VERSION >= 0x000705
2710              yes
2711              #endif
2712              #endif],
2713             [AC_MSG_RESULT([yes])
2714               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2715               VLC_ADD_CXXFLAGS([mkv],[])
2716               if test "${SYS}" = "darwin"; then
2717                 VLC_ADD_CXXFLAGS([mkv],[-O1])
2718               fi
2719               AC_CHECK_LIB(ebml_pic, main, [
2720                 VLC_ADD_PLUGINS([mkv])
2721                 VLC_ADD_LIBS([mkv],[-lmatroska -lebml_pic])
2722               ],
2723                 AC_CHECK_LIB(ebml, main, [
2724                   VLC_ADD_PLUGINS([mkv])
2725                   VLC_ADD_LIBS([mkv],[-lmatroska -lebml])
2726                 ]) 
2727               )
2728             ],
2729             [AC_MSG_RESULT([no])
2730               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.])
2731           ])
2732         ])
2733       ],
2734       [AC_MSG_RESULT([no])
2735         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.])
2736     ])
2737   ])
2738   AC_LANG_POP(C++)
2739 fi
2740
2741 dnl
2742 dnl  modplug demux plugin
2743 dnl
2744 AC_ARG_ENABLE(mod,
2745   [  --enable-mod            Mod demux support (default enabled)])
2746 if test "${enable_mod}" != "no"
2747 then
2748   AC_ARG_WITH(mod-tree,
2749   [    --with-mod-tree=PATH mod tree for static linking])
2750   if test -n "${with_mod_tree}"
2751   then
2752     AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2753     real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2754     if test -z "${real_mod_tree}"
2755     then
2756       dnl  The given directory can't be found
2757       AC_MSG_RESULT(no)
2758       AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2759     fi
2760     if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2761     then
2762       dnl  Use a custom mod
2763       AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2764       VLC_ADD_PLUGINS([mod])
2765       VLC_ADD_LIBS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++])
2766       VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include])
2767     else
2768       dnl  The given mod wasn't built
2769       AC_MSG_RESULT(no)
2770       AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2771     fi
2772   else
2773     AC_CHECK_HEADERS(libmodplug/modplug.h, [
2774       VLC_ADD_PLUGINS([mod])
2775       VLC_ADD_CXXFLAGS([mod],[])
2776       VLC_ADD_LIBS([mod],[-lmodplug -lstdc++])])
2777   fi
2778 fi
2779
2780 dnl
2781 dnl  mpc demux plugin
2782 dnl
2783 AC_ARG_ENABLE(mpc,
2784   [  --enable-mpc            Mpc demux support (default enabled)])
2785 if test "${enable_mpc}" != "no"
2786 then
2787   AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2788     VLC_ADD_PLUGINS([mpc])
2789     VLC_ADD_LIBS([mpc],[-lmpcdec])])
2790 fi
2791
2792 dnl
2793 dnl  game music emu demux plugin
2794 dnl
2795 AC_ARG_ENABLE(gme,
2796   [  --enable-gme            Game Music Emu demux support (default enabled)])
2797 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2798 then
2799   AC_LANG_PUSH(C++)
2800   AC_ARG_WITH(gme-tree,
2801   [    --with-gme-tree=PATH gme tree for static linking])
2802   if test -n "${with_gme_tree}"
2803   then
2804     AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2805     real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2806     if test -z "${real_gme_tree}"
2807     then
2808       dnl  The given directory can't be found
2809       AC_MSG_RESULT(no)
2810       AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2811     fi
2812     if test -f "${real_gme_tree}/gme/libgme.a"
2813     then
2814       dnl  Use a custom gme
2815       AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2816       VLC_ADD_PLUGINS([gme])
2817       VLC_ADD_LIBS([gme],[${real_gme_tree}/gme/libgme.a])
2818       VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2819     else
2820       dnl  The given gme wasn't built
2821       AC_MSG_RESULT(no)
2822       AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2823     fi
2824   else
2825       AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2826   fi
2827   AC_LANG_POP(C++)
2828 fi
2829
2830 dnl
2831 dnl  Codec plugins
2832 dnl
2833
2834 AC_ARG_WITH(,[Codec plugins:])
2835
2836 dnl
2837 dnl  mad plugin
2838 dnl
2839 AC_ARG_ENABLE(mad,
2840   [  --enable-mad            libmad module (default enabled)])
2841 if test "${enable_mad}" != "no"
2842 then
2843   AC_ARG_WITH(mad,
2844     [    --with-mad=PATH       path to libmad],[],[])
2845   if test "${with_mad}" != "no" -a -n "${with_mad}"
2846   then
2847     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2848     VLC_ADD_LIBS([mpgatofixed32],[-L${with_mad}/lib])
2849   fi
2850
2851   AC_ARG_WITH(mad-tree,
2852     [    --with-mad-tree=PATH   mad tree for static linking],[],[])
2853   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2854   then
2855     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2856     if test -z "${real_mad_tree}"
2857     then
2858       dnl  The given directory can't be found
2859       AC_MSG_RESULT(no)
2860       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2861     fi
2862     dnl  Use a custom libmad
2863     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2864     if test -f ${real_mad_tree}/mad.h
2865     then
2866       AC_MSG_RESULT(yes)
2867       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2868       VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2869       LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2870       AC_CHECK_LIB(mad, mad_bit_init, [
2871         VLC_ADD_BUILTINS([mpgatofixed32])
2872         VLC_ADD_LIBS([mpgatofixed32],[-lmad])
2873         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2874       ],[])
2875       LDFLAGS="${LDFLAGS_save}"
2876     else
2877       AC_MSG_RESULT(no)
2878       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2879     fi
2880   else
2881     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2882     LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}"
2883     AC_CHECK_HEADERS(mad.h, ,
2884       [ 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.]) ])
2885     AC_CHECK_LIB(mad, mad_bit_init, [
2886       VLC_ADD_PLUGINS([mpgatofixed32])
2887       VLC_ADD_LIBS([mpgatofixed32],[-lmad])],
2888       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2889     CPPFLAGS="${CPPFLAGS_save}"
2890     LDFLAGS="${LDFLAGS_save}"
2891   fi
2892 fi
2893
2894 dnl
2895 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2896 dnl
2897 AC_ARG_ENABLE( id3tag,
2898   [  --disable-id3tag id3tag metadata reader plugin (default enabled)])
2899 AS_IF([test "${enable_id3tag}" != "no"], [
2900   AC_CHECK_HEADERS(id3tag.h, [
2901     AC_CHECK_HEADERS(zlib.h, [
2902       VLC_ADD_LIBS([id3tag],[-lid3tag -lz])
2903       VLC_ADD_PLUGINS([id3tag])
2904     ])
2905   ])
2906 ])
2907
2908 dnl
2909 dnl  ffmpeg decoder/demuxer plugin
2910 dnl
2911 dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
2912 dnl                               3- default place,
2913
2914 AC_ARG_ENABLE(ffmpeg,
2915 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2916 if test "${enable_ffmpeg}" != "no"
2917 then
2918
2919 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2920
2921  AC_ARG_WITH(ffmpeg-mp3lame,
2922    [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2923    [
2924      if test "$with_ffmpeg_mp3lame" = "yes";    then
2925         VLC_ADD_LIBS([ffmpeg],[-lmp3lame])
2926      fi])
2927
2928  AC_ARG_WITH(ffmpeg-faac,
2929    [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2930    [
2931      if test "$with_ffmpeg_faac" = "yes"; then
2932         VLC_ADD_LIBS([ffmpeg],[-lfaac])
2933      fi])
2934
2935  AC_ARG_WITH(ffmpeg-dts,
2936    [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2937    [
2938      if test "$with_ffmpeg_dts" = "yes"; then
2939              LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
2940              AC_CHECK_LIB(dts_pic, dts_free, 
2941                [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ],
2942                [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ])
2943              LDFLAGS="${LDFLAGS_save}"
2944      fi])
2945
2946  AC_ARG_WITH(ffmpeg-vorbis,
2947    [    --with-ffmpeg-vorbis    specify if ffmpeg has been compiled with vorbis support],
2948    [
2949      if test "$with_ffmpeg_vorbis" = "yes"; then
2950         VLC_ADD_LIBS([ffmpeg],[-lvorbisenc -lvorbis])
2951      fi])
2952
2953  AC_ARG_WITH(ffmpeg-theora,
2954    [    --with-ffmpeg-theora    specify if ffmpeg has been compiled with theora support],
2955    [
2956      if test "$with_ffmpeg_theora" = "yes"; then
2957         VLC_ADD_LIBS([ffmpeg],[-ltheora])
2958      fi])
2959
2960  AC_ARG_WITH(ffmpeg-ogg,
2961    [    --with-ffmpeg-ogg    specify if ffmpeg has been compiled with ogg support],
2962    [
2963      if test "$with_ffmpeg_ogg" = "yes"; then
2964         VLC_ADD_LIBS([ffmpeg],[-logg])
2965      fi])
2966
2967  AC_ARG_WITH(ffmpeg-zlib,
2968    [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2969    [
2970      if test "$with_ffmpeg_zlib" = "yes"; then
2971         VLC_ADD_LIBS([ffmpeg],[-lz])
2972      fi])
2973
2974  AC_ARG_WITH(ffmpeg-amrnb,
2975    [    --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support],
2976    [
2977      if test "$with_ffmpeg_amrnb" = "yes";      then
2978         VLC_ADD_LIBS([ffmpeg],[-lamrnb])
2979      fi])
2980
2981  AC_ARG_WITH(ffmpeg-amrwb,
2982    [    --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support],
2983    [
2984      if test "$with_ffmpeg_amrwb" = "yes";      then
2985         VLC_ADD_LIBS([ffmpeg],[-lamrwb])
2986      fi])
2987
2988  AC_ARG_WITH(ffmpeg-x264,
2989    [    --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
2990    [
2991      if test "$with_ffmpeg_x264" = "yes";       then
2992         VLC_ADD_LIBS([ffmpeg],[-lx264])
2993      fi])
2994
2995  AC_ARG_WITH(ffmpeg-a52,
2996    [    --with-ffmpeg-a52 specify if ffmpeg has been compiled with liba52 support],
2997    [
2998      if test "$with_ffmpeg_a52" = "yes";        then
2999         VLC_ADD_LIBS([ffmpeg],[-la52])
3000      fi])
3001
3002  dnl
3003  dnl test for --with-ffmpeg-tree
3004  dnl
3005  AC_ARG_WITH(ffmpeg-tree,
3006    [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
3007
3008  if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3009    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
3010    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3011    if test -z "${real_ffmpeg_tree}"; then
3012      dnl  The given directory can't be found
3013      AC_MSG_RESULT(no)
3014      AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3015    fi
3016    if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3017      dnl  The given libavcodec wasn't built
3018      AC_MSG_RESULT(no)
3019      AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
3020    fi
3021    if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
3022      if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
3023        VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])   
3024      elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then 
3025         VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
3026         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
3027      else
3028        dnl  The given libavcodec wasn't built with --enable-pp
3029        AC_MSG_RESULT(no)
3030        AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
3031      fi
3032    fi
3033    dnl  Use a custom libffmpeg
3034    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
3035
3036    dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc
3037    PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH"
3038    PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR"
3039    export PKG_CONFIG_PATH=""
3040    export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}"
3041
3042    PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [
3043         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS})
3044         VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})]
3045       ,[])
3046    AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[
3047          export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}"
3048    ],[
3049         unset PKG_CONFIG_PATH
3050    ])
3051    AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
3052         export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
3053    ],[
3054         unset PKG_CONFIG_LIBDIR
3055    ])
3056
3057    VLC_ADD_BUILTINS([ffmpeg])
3058    if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then
3059      VLC_ADD_BUILTINS([stream_out_switcher])
3060    fi
3061
3062    if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then
3063      AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.])
3064      VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
3065      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
3066    fi
3067 else
3068
3069
3070 dnl Trying with pkg-config
3071    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
3072     [
3073      VLC_SAVE_FLAGS
3074      CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
3075      CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
3076      AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3077      AC_CHECK_HEADERS(ffmpeg/avformat.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avformat.h.])] )
3078      AC_CHECK_HEADERS(ffmpeg/avutil.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avutil.h.])] )
3079      dnl newer ffmpeg have a separate libpostproc
3080      PKG_CHECK_MODULES(POSTPROC, libpostproc,[
3081        VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) 
3082        VLC_ADD_LIBS([ffmpeg],[${POSTPROC_LIBS}]) 
3083        ],[ true ])
3084      CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}"
3085      CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}"
3086      AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3087      if test "${SYS}" = "darwin"; then
3088         VLC_ADD_BUILTINS([ffmpeg])
3089      else
3090         VLC_ADD_PLUGINS([ffmpeg])
3091      fi
3092      if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3093         if test "${SYS}" = "darwin"; then
3094             VLC_ADD_BUILTINS([stream_out_switcher])
3095         else
3096             VLC_ADD_PLUGINS([stream_out_switcher])
3097         fi
3098      fi
3099      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
3100      VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
3101
3102      dnl even newer ffmpeg has a libswscale
3103      PKG_CHECK_MODULES(SWSCALE,[libswscale],[
3104        VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}])
3105        VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}])
3106 dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])])
3107        AC_CHECK_LIB(swscale, sws_getContext,
3108          [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[],[-lavutil -lm])
3109        ],[ true ])
3110      VLC_RESTORE_FLAGS
3111     ],[
3112
3113     dnl
3114     dnl last chance: at the default place
3115     dnl
3116       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
3117       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}"
3118       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
3119       AC_CHECK_HEADERS(ffmpeg/avformat.h)
3120       AC_CHECK_HEADERS(ffmpeg/avutil.h)
3121       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
3122
3123       AC_CHECK_LIB(avutil, av_crc_init, [
3124         VLC_ADD_LIBS([ffmpeg],[-lavutil])
3125         LDAVUTIL="-lavutil"])
3126
3127       AC_CHECK_LIB(avcodec, avcodec_init, [
3128         VLC_ADD_BUILTINS([ffmpeg])
3129         VLC_ADD_LIBS([ffmpeg],[-lavcodec])
3130         if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
3131             VLC_ADD_BUILTINS([stream_out_switcher])
3132         fi],
3133          [ 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])
3134
3135       AC_CHECK_LIB(postproc, pp_postprocess, [
3136         VLC_ADD_LIBS([ffmpeg],[-lpostproc])],
3137       AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]),
3138         [$LDAVUTIL])
3139
3140       AC_CHECK_LIB(avformat, av_open_input_stream, [
3141         VLC_ADD_LIBS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
3142       LDFLAGS="${LDFLAGS_save}"
3143       CPPFLAGS="${CPPFLAGS_save}"
3144
3145       AC_CHECK_LIB(swscale, sws_getContext, [
3146         AC_CHECK_HEADERS(ffmpeg/swscale.h)
3147         VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL])
3148       LDFLAGS="${LDFLAGS_save}"
3149       CPPFLAGS="${CPPFLAGS_save}"
3150     ])
3151   fi
3152 fi
3153
3154 dnl
3155 dnl  ffmpegaltivec plugin
3156 dnl
3157 AC_ARG_ENABLE(ffmpegaltivec,
3158 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
3159 if test "${enable_ffmpegaltivec}" = "yes"
3160 then
3161   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
3162     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
3163     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
3164     if test -z "${real_ffmpeg_tree}"; then
3165       dnl  The given directory can't be found
3166       AC_MSG_RESULT(no)
3167       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
3168     fi
3169     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3170       dnl  The given libavcodecaltivec wasn't built
3171       AC_MSG_RESULT(no)
3172       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
3173     fi
3174     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
3175       dnl  The given libavcodecaltivec wasn't built with --enable-pp
3176       AC_MSG_RESULT(no)
3177       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
3178     fi
3179     dnl  Use a custom libffmpeg
3180     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
3181     VLC_ADD_BUILTINS([ffmpegaltivec])
3182     VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
3183     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
3184     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3185
3186     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
3187       AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
3188       VLC_ADD_LIBS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
3189       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
3190     fi
3191     VLC_ADD_LIBS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
3192     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
3193   fi
3194 fi
3195
3196 dnl
3197 dnl  faad decoder plugin
3198 dnl
3199 AC_ARG_ENABLE(faad,
3200 [  --enable-faad           faad codec (default disabled)])
3201 if test "${enable_faad}" = "yes"
3202 then
3203   AC_ARG_WITH(faad-tree,
3204   [    --with-faad-tree=PATH faad tree for static linking])
3205   if test -n "${with_faad_tree}"
3206   then
3207     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
3208     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
3209     if test -z "${real_faad_tree}"
3210     then
3211       dnl  The given directory can't be found
3212       AC_MSG_RESULT(no)
3213       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
3214     fi
3215     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
3216     then
3217       dnl  Use a custom faad
3218       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
3219       VLC_ADD_BUILTINS([faad])
3220       VLC_ADD_LIBS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
3221       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
3222     else
3223       dnl  The given libfaad wasn't built
3224       AC_MSG_RESULT(no)
3225       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
3226     fi
3227   else
3228     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
3229     LDFLAGS="${LDFLAGS_save} ${LIBS_faad}"
3230     AC_CHECK_HEADERS(faad.h, ,
3231       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
3232     AC_CHECK_LIB(faad, faacDecOpen, [
3233       VLC_ADD_PLUGINS([faad])
3234       VLC_ADD_LIBS([faad],[-lfaad]) ],
3235       AC_CHECK_LIB(faad, NeAACDecOpen, [
3236         VLC_ADD_PLUGINS([faad])
3237         VLC_ADD_LIBS([faad],[-lfaad]) ],
3238         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
3239     LDFLAGS="${LDFLAGS_save}"
3240     CPPFLAGS="${CPPFLAGS_save}"
3241   fi
3242 fi
3243
3244 dnl
3245 dnl twolame encoder plugin
3246 dnl
3247 AC_ARG_ENABLE(twolame,
3248 [  --enable-twolame        twolame codec (default disabled)])
3249 if test "${enable_twolame}" = "yes"
3250 then
3251   AC_ARG_WITH(twolame-tree,
3252   [    --with-twolame-tree=PATH twolame tree for static linking])
3253   if test -n "${with_twolame_tree}"
3254   then
3255     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
3256     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
3257     if test -z "${real_twolame_tree}"
3258     then
3259       dnl  The given directory can't be found
3260       AC_MSG_RESULT(no)
3261       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
3262     fi
3263     if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a"
3264     then
3265       dnl  Use a custom twolame
3266       AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a)
3267       VLC_ADD_BUILTINS([twolame])
3268       VLC_ADD_LIBS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a])
3269       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC])
3270     else
3271       dnl  The given libtwolame wasn't built
3272       AC_MSG_RESULT(no)
3273       AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
3274     fi
3275   else
3276     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC"
3277     LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}"
3278     AC_CHECK_HEADERS(twolame.h, ,
3279       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
3280     AC_CHECK_LIB(twolame, twolame_init, [
3281       VLC_ADD_PLUGINS([twolame])
3282       VLC_ADD_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC])
3283       VLC_ADD_LIBS([twolame],[-ltwolame]) ],
3284         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
3285     LDFLAGS="${LDFLAGS_save}"  
3286     CPPFLAGS="${CPPFLAGS_save}"
3287   fi
3288 fi
3289
3290 dnl
3291 dnl  QuickTime plugin
3292 dnl
3293 AC_ARG_ENABLE(quicktime,
3294   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
3295 if test "${enable_quicktime}" != "no" &&
3296   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
3297 then
3298   if test "${SYS}" = "mingw32"; then
3299     VLC_ADD_BUILTINS([quicktime])
3300   else
3301   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
3302     [ VLC_ADD_BUILTINS([quicktime])
3303       VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon])
3304     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
3305   fi
3306 fi
3307
3308 dnl
3309 dnl  Real plugin
3310 dnl
3311 AC_ARG_ENABLE(real,
3312   [  --enable-real           Real audio module (default disabled)])
3313 if test "${enable_real}" = "yes"; then
3314   VLC_ADD_PLUGINS([realaudio])
3315 fi
3316
3317 dnl
3318 dnl  Real RTSP plugin
3319 dnl
3320 AC_ARG_ENABLE(realrtsp,
3321   [  --enable-realrtsp       Real RTSP module (default disabled)])
3322 if test "${enable_realrtsp}" = "yes"; then
3323   VLC_ADD_PLUGINS([access_realrtsp])
3324 fi
3325
3326 dnl
3327 dnl MP4 module
3328 dnl
3329 AC_CHECK_HEADERS(zlib.h, [
3330   VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
3331 ] )
3332
3333 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
3334   VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
3335 ] )
3336
3337 dnl
3338 dnl skins2 module
3339 dnl
3340 AC_ARG_ENABLE(libtar,
3341   [  --enable-libtar support for skins2 (default enabled)])
3342
3343 AS_IF([test "${enable_libtar}" != "no"],[
3344   AC_CHECK_HEADERS(libtar.h, [
3345     VLC_ADD_LIBS([skins2],[-ltar])
3346   ] )
3347 ])
3348
3349 dnl
3350 dnl A52/AC3 decoder plugin
3351 dnl
3352 AC_ARG_ENABLE(a52,
3353   [  --enable-a52            A/52 support with liba52 (default enabled)])
3354 if test "${enable_a52}" != "no"
3355 then
3356   AC_ARG_WITH(a52,
3357     [    --with-a52=PATH       a52 headers and libraries])
3358   AC_ARG_WITH(a52-tree,
3359     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
3360   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
3361   then
3362     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
3363     if test -z "${real_a52_tree}"
3364     then
3365       dnl  The given directory can't be found
3366       AC_MSG_RESULT(no)
3367       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
3368     fi
3369     dnl  Use a custom a52dec
3370     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
3371     if test -f ${real_a52_tree}/include/a52.h
3372     then
3373       AC_MSG_RESULT(yes)
3374       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
3375       VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
3376       LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}"
3377       AC_CHECK_LIB(a52, a52_free, [
3378         VLC_ADD_BUILTINS([a52tofloat32])
3379         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3380         VLC_ADD_LIBS([a52tofloat32],[-la52])
3381         ],[
3382         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3383         then
3384           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3 ($real_a52_tree)])
3385         else
3386           AC_MSG_ERROR([the specified tree hasn't been compiled])
3387         fi
3388       ])
3389       LDFLAGS="${LDFLAGS_save}"
3390     else
3391       AC_MSG_RESULT(no)
3392       AC_MSG_ERROR([the specified tree doesn't have a52.h])
3393     fi
3394   else
3395     if test -z "${with_a52}"
3396     then
3397       LDFLAGS_test=""
3398       CPPFLAGS_test=""
3399     else
3400       LDFLAGS_test="-L${with_a52}/lib"
3401       CPPFLAGS_test="-I${with_a52}/include"
3402     fi
3403     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3404     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}"
3405     AC_CHECK_HEADERS(a52dec/a52.h, [
3406       AC_CHECK_LIB(a52, a52_free, [
3407         VLC_ADD_PLUGINS([a52tofloat32])
3408         VLC_ADD_LIBS([a52tofloat32],[${LDFLAGS_test} -la52])
3409         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3410       ],[
3411         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.])
3412         ])
3413     ],[
3414       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.])
3415     ])
3416     CPPFLAGS="${CPPFLAGS_save}"
3417     LDFLAGS="${LDFLAGS_save}"
3418   fi
3419 fi
3420
3421 AC_ARG_WITH(a52-fixed,
3422       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
3423       [
3424         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3425
3426 dnl
3427 dnl DTS Coherent Acoustics decoder plugin
3428 dnl
3429 AS_IF([test "x${enable_dts}" != "x"], [
3430   AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.])
3431 ])
3432 AS_IF([test "x${with_dts_tree}" != "x"], [
3433   AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
3434 ])
3435
3436 AC_ARG_ENABLE(dca,
3437   [  --enable-dca            DTS Coherent Acoustics support with libdca (default enabled)])
3438 AS_IF([test "${enable_dca}" != "no"], [
3439   AC_ARG_WITH(dca-tree,
3440     [    --with-dca-tree=PATH  libdca tree for static linking],,
3441     [with_dca_tree="no"])
3442   AS_IF([test "${with_dca_tree}" != "no"], [
3443     real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
3444     AS_IF([test -z "${real_dca_tree}"], [
3445       dnl  The given directory can't be found
3446       AC_MSG_RESULT(no)
3447       AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
3448     ])
3449     dnl  Use a custom libdca
3450     AC_MSG_CHECKING(for libdca in ${real_dca_tree})
3451     AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
3452       AC_MSG_RESULT(yes)
3453       VLC_ADD_LIBS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
3454       AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
3455         VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
3456       ], [
3457         VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
3458       ])
3459     ], [
3460       AC_MSG_RESULT(no)
3461       AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
3462     ])
3463   ], [
3464     PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
3465       VLC_ADD_PLUGINS([dtstofloat32])
3466       VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
3467       VLC_ADD_LIBS([dtstofloat32], [${DCA_LIBS}])
3468     ], [
3469       AS_IF([test "x${enable_dca}" != "x"], [
3470         AC_MSG_ERROR([${DCA_PKG_ERRORS}])
3471       ])
3472     ])
3473   ])
3474 ])
3475
3476 dnl
3477 dnl  Flac plugin
3478 dnl
3479 AC_ARG_ENABLE(flac,
3480   [  --enable-flac           libflac decoder/encoder support (default disabled)])
3481 if test "${enable_flac}" = "yes"
3482 then
3483   AC_ARG_WITH(flac-tree,
3484   [    --with-flac-tree=PATH flac tree for static linking])
3485   if test -n "${with_flac_tree}"
3486   then
3487     AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3488     real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3489     if test -z "${real_flac_tree}"
3490     then
3491       dnl  The given directory can't be found
3492       AC_MSG_RESULT(no)
3493       AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3494     fi
3495     if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3496     then
3497       dnl  Use a custom flac
3498       AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3499       VLC_ADD_LIBS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3500       VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include])
3501       AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3502     else
3503       dnl  The given flac wasn't built
3504       AC_MSG_RESULT(no)
3505       AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3506     fi
3507   else
3508     AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3509       VLC_ADD_LIBS([flac],[-lFLAC -logg])
3510      ],[])
3511   fi
3512 fi
3513
3514 dnl
3515 dnl  Libmpeg2 plugin
3516 dnl
3517 AC_ARG_ENABLE(libmpeg2,
3518   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
3519 if test "${enable_libmpeg2}" != "no"
3520 then
3521   AC_ARG_WITH(libmpeg2-tree,
3522   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3523   if test -n "${with_libmpeg2_tree}"
3524   then
3525     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3526     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3527     if test -z "${real_libmpeg2_tree}"
3528     then
3529       dnl  The given directory can't be found
3530       AC_MSG_RESULT(no)
3531       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3532     fi
3533     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3534     then
3535       dnl  Use a custom libmpeg2
3536       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3537       VLC_ADD_BUILTINS([libmpeg2])
3538       VLC_ADD_LIBS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3539       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3540       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3541     else
3542       dnl  The given libmpeg2 wasn't built
3543       AC_MSG_RESULT(no)
3544       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3545     fi
3546   else
3547     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3548       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3549       AC_EGREP_CPP(yes,
3550         [#include <mpeg2dec/mpeg2.h>
3551          #ifdef MPEG2_RELEASE
3552          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3553          yes
3554          #endif
3555          #endif],
3556         [AC_MSG_RESULT([yes])
3557           VLC_ADD_PLUGINS([libmpeg2])
3558           VLC_ADD_LIBS([libmpeg2],[-lmpeg2])],
3559         [AC_MSG_RESULT([no])
3560           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.])])],
3561
3562       [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.])]
3563     )
3564   fi
3565 fi
3566
3567 dnl
3568 dnl  Vorbis plugin
3569 dnl
3570 AC_ARG_ENABLE(vorbis,
3571   [  --enable-vorbis         Vorbis decoder support (default enabled)])
3572 if test "${enable_vorbis}" != "no"
3573 then
3574   AC_ARG_WITH(vorbis-tree,
3575   [    --with-vorbis-tree=PATH vorbis tree for static linking])
3576   if test -n "${with_vorbis_tree}"
3577   then
3578     AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3579     real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3580     if test -z "${real_vorbis_tree}"
3581     then
3582       dnl  The given directory can't be found
3583       AC_MSG_RESULT(no)
3584       AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3585     fi
3586     if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3587     then
3588       dnl  Use a custom vorbis 
3589       AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3590       VLC_ADD_PLUGINS([vorbis])
3591       VLC_ADD_LIBS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3592       VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3593     else
3594       dnl  The given vorbis wasn't built
3595       AC_MSG_RESULT(no)
3596       AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3597     fi
3598   else
3599     AC_CHECK_HEADERS(vorbis/codec.h, [
3600       VLC_ADD_PLUGINS([vorbis])
3601       VLC_ADD_LIBS([vorbis],[-lvorbis -logg -lm]) ],[])
3602
3603     AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3604       VLC_ADD_LIBS([vorbis],[-lvorbisenc -lm]) ],[])
3605   fi
3606 fi
3607
3608 dnl
3609 dnl  Tremor plugin
3610 dnl
3611 AC_ARG_ENABLE(tremor,
3612   [  --enable-tremor         Tremor decoder support (default disabled)])
3613 if test "${enable_tremor}" = "yes"
3614 then
3615   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3616     VLC_ADD_PLUGINS([tremor])
3617     VLC_ADD_LIBS([tremor],[-lvorbisidec -logg])
3618    ],[])
3619 fi
3620
3621 dnl
3622 dnl  Speex plugin
3623 dnl
3624 AC_ARG_ENABLE(speex,
3625   [  --enable-speex          Speex decoder support (default enabled)])
3626 if test "${enable_speex}" != "no"
3627 then
3628   AC_ARG_WITH(speex-tree,
3629   [    --with-speex-tree=PATH speex tree for static linking])
3630   if test -n "${with_speex_tree}"
3631   then
3632     AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3633     real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3634     if test -z "${real_speex_tree}"
3635     then
3636       dnl  The given directory can't be found
3637       AC_MSG_RESULT(no)
3638       AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3639     fi
3640     if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3641     then
3642       dnl  Use a custom speex
3643       AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3644       VLC_ADD_PLUGINS([speex])
3645       VLC_ADD_LIBS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3646       VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3647     else
3648       dnl  The given speex wasn't built
3649       AC_MSG_RESULT(no)
3650       AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3651     fi
3652   else
3653     AC_CHECK_HEADERS(speex/speex.h, [
3654       LDFLAGS="${LDFLAGS_save} ${LIBS_speex}"
3655       AC_CHECK_LIB(speex, speex_decode_int, [
3656         VLC_ADD_PLUGINS([speex])
3657         VLC_ADD_LIBS([speex],[-lspeex]) ],
3658         [ AC_MSG_RESULT([no])
3659           AC_MSG_WARN([Your libspeex is too old, please get the development
3660                        version.]) ],[])
3661       LDFLAGS="${LDFLAGS_save}"
3662       ],[])
3663   fi
3664 fi
3665
3666 dnl
3667 dnl  tarkin decoder plugin
3668 dnl
3669 AC_ARG_ENABLE(tarkin,
3670 [  --enable-tarkin         experimental tarkin codec (default disabled)])
3671 if test "${enable_tarkin}" = "yes"
3672 then
3673   AC_ARG_WITH(tarkin-tree,
3674   [    --with-tarkin-tree=PATH tarkin tree for static linking])
3675   if test -n "${with_tarkin_tree}"
3676   then
3677     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3678     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3679     if test -f "${real_tarkin_tree}/tarkin.o"
3680     then
3681       VLC_ADD_BUILTINS([tarkin])
3682       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3683       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])
3684       AC_MSG_RESULT(yes)
3685     else
3686       dnl  The given tarkin tree wasn't built
3687       AC_MSG_RESULT(no)
3688       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3689                     make sure you compiled tarkin in ${with_tarkin_tree}])
3690     fi
3691   fi
3692 fi
3693
3694 dnl
3695 dnl  theora decoder plugin
3696 dnl
3697 AC_ARG_ENABLE(theora,
3698 [  --enable-theora         experimental theora codec (default disabled)])
3699 if test "${enable_theora}" = "yes"
3700 then
3701   AC_CHECK_HEADERS(theora/theora.h, [
3702     AC_CHECK_LIB(theora, theora_granule_time, [
3703       VLC_ADD_PLUGINS([theora])
3704       theora_libs="-ltheora -logg"
3705       VLC_ADD_LIBS([theora],[${theora_libs}]) ],[
3706       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3707 You also need to check that you have a libogg posterior to the 1.0 release.])],
3708       [-logg])
3709   ])
3710 fi
3711
3712 dnl
3713 dnl  dirac decoder plugin
3714 dnl
3715 AC_ARG_ENABLE(dirac,
3716 [  --enable-dirac          experimental dirac codec (default disabled)])
3717 if test "${enable_dirac}" = "yes"; then
3718   PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
3719       VLC_ADD_PLUGINS([dirac])
3720       VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3721       VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[