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