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