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