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